Next: When is Prefetching Useful
Up: Introduction
Previous: Introduction
The technique of prefetching dates as far back as the mid-sixties when multiple
words were prefetched in processors in the form of a cache line.
It was soon realized that increasing the size of the cache line can decrease
performance due to false sharing. So, numerous
hardware-initiated prefetching techniques were introduced in
both uniprocessor and multiprocessor architectures
[1,2,3].
Subsequently, software-initiated methods for prefetching were introduced
where applications disclosed access patterns to the hardware or
controlled prefetching directly [4,5].
For other applications, compiler techniques were used to predict access
patterns and insert fetch requests in the compiled executables
[6,7]. Compiler-assisted prefetching
was also extended for pointer-based accesses
[8,9,10].
Today prefetching is ubiquitously applied in web servers and clients
[11], databases [12],
file servers [13,14],
on-disk caches [15], and multimedia servers [16].
root
2006-12-19