Sequential hardware prefetching in shared-memory multiprocessors
- 1 July 1995
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 6 (7) , 733-746
- https://doi.org/10.1109/71.395402
Abstract
To offset the effect of read miss penalties on processor utilization in shared-memory multiprocessors, several software- and hardware-based data prefetching schemes have been proposed. A major advantage of hardware techniques is that they need no support from the programmer or compiler. Sequential prefetching is a simple hardware-controlled prefetching technique which relies on the automatic prefetch of consecutive blocks following the block that misses in the cache, thus exploiting spatial locality. In its simplest form, the number of prefetched blocks on each miss is fixed throughout the execution. However, since the prefetching efficiency varies during the execution of a program, we propose to adapt the number of pre-fetched blocks according to a dynamic measure of prefetching effectiveness. Simulations of this adaptive scheme show reductions of the number of read misses, the read penalty, and of the execution time by up to 78%, 58%, and 25% respectively.Keywords
This publication has 26 references indexed in Scilit:
- An Adaptive Cache Coherence Protocol Optimized For Migratory SharingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Weak ordering-a new definitionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Effectiveness of hardware-based stride and sequential prefetching in shared-memory multiprocessorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Design and evaluation of a compiler algorithm for prefetchingPublished by Association for Computing Machinery (ACM) ,1992
- SPLASHACM SIGARCH Computer Architecture News, 1992
- The Stanford Dash multiprocessorComputer, 1992
- Tolerating latency through software-controlled prefetching in shared-memory multiprocessorsJournal of Parallel and Distributed Computing, 1991
- A survey of cache coherence schemes for multiprocessorsComputer, 1990
- Cache MemoriesACM Computing Surveys, 1982
- Sequential Program Prefetching in Memory HierarchiesComputer, 1978