Check out the new USENIX Web site. next up previous
Next: When is Prefetching Useful Up: Introduction Previous: Introduction

Where is Prefetching Applied

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