发明名称 Method and apparatus for prefetching recursive data structures
摘要 Computer systems are typically designed with multiple levels of memory hierarchy. Prefetching has been employed to overcome the latency of fetching data or instructions from or to memory. Prefetching works well for data structures with regular memory access patterns, but less so for data structures such as trees, hash tables, and other structures in which the datum that will be used is not known a priori. The present invention significantlyA system and method is provided that increases the cache hit rates of many important data structure traversals, and thereby the potential throughput of the computer system and application in which it is employed. The inventionThis is applicable to those data structure accesses in which the traversal path is dynamically determined. The invention does thisThis is done by aggregating traversal requests and then pipelining the traversal of aggregated requests on the data structure. Once enough traversal requests have been accumulated so that most of the memory latency can be hidden by prefetching the accumulated requests, the data structure is traversed by performing software pipelining on some or all of the accumulated requests. As requests are completed and retired from the set of requests that are being traversed, additional accumulated requests are added to that set. This process is repeated until either an upper threshold of processed requests or a lower threshold of residual accumulated requests has been reached. At that point, the traversal results may be processed.
申请公布号 USRE45086(E1) 申请公布日期 2014.08.19
申请号 US200711657111 申请日期 2007.01.24
申请人 Paonessa Research, Limited Liability Company 发明人 Coldewey Dirk
分类号 G06F12/00;G06F13/00;G06F13/28 主分类号 G06F12/00
代理机构 Dorsey & Whitney LLP 代理人 Dorsey & Whitney LLP
主权项 id="REI-00024" date="20140819" 1. A method of scheduling units of work for execution on a computer system including a data cache or data cache hierarchy, the method comprising the steps of: buffering a plurality of transactions on a data structure; scheduling a plurality of said transactions on said data structures in a loop; issuing prefetch instructions within the body of said loop for the data required to process said transactions.
地址 Wilmington DE US
您可能感兴趣的专利