This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
When Caches Aren't Enough: Data Prefetching Techniques
July 1997 (vol. 30 no. 7)
pp. 23-30

For the past few years, CPU performance has outpaced that of dynamic RAM, the primary component of main memory. Developers have had to use increasingly aggressive techniques to reduce or hide delays in accessing main memory.

Even so, it is still not uncommon for scientific programs to spend more than half their runtimes stalled on memory requests. This poor performance is partially a result of the policies used to fetch data from main memory: Processors typically request data only when it is needed and then only if it is not first found in the cache.

In contrast, data prefetching calls data into the cache before the processor needs it. Ideally, prefetching completes just in time for the processor to access the needed data.

Prefetching can nearly double the performance of some scientific applications running on commercial systems. But to achieve this performance, it is critical that the most suitable prefetching technique is used. This article reviews three popular prefetching techniques and examines in which situations they are best used.

Citation:
Steven P. VanderWiel, David J. Lilja, "When Caches Aren't Enough: Data Prefetching Techniques," Computer, vol. 30, no. 7, pp. 23-30, July 1997, doi:10.1109/2.596622
Usage of this product signifies your acceptance of the Terms of Use.