MAPCP: Memory Access Pattern Classifying Prefetcher
Open Access
- 27 September 2021
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 1-12
Abstract
Prefetching is a technique used to improve system performance by bringing data or instructions in the cache before it is demanded by the core. Several prefetching techniques have been proposed, in both hardware and software, to predict the data to be prefetched with high accuracy and coverage. The memory patterns accessed by applications can be classified as either regular memory access patterns or irregular memory access patterns. Most prefetchers exclusively target either of these patterns by learning from either temporal or spatial correlation among the past data accesses observed. Our proposal focuses on covering all kinds of access patterns which can be predicted by a temporal as well as a spatial prefetcher. Running both kinds of prefetchers in parallel is not a wise design as it leads to unnecessary hardware (storage) overhead for metadata storage of temporal prefetcher. We propose broadly classifying the memory access patterns of applications on the go as regular or irregular, and then using an appropriate prefetcher to issue prefetches for the respective classes. This reduces the metadata requirement in case of temporal prefetcher by 75%. Evaluation of our proposed solution on SPEC CPU 2006 benchmarks achieve a speedup of 23.7% over the no-prefetching baseline, which is a 4% improvement over the state of the art spacial prefetcher BIP, and 13.2% improvement over the temporal prefetcher, Triage.Keywords
Funding Information
- SERB Govt of India (EEQ/2019/000695)
This publication has 14 references indexed in Scilit:
- On-Chip Networks, Second EditionSynthesis Lectures on Computer Architecture, 2017
- SPAC:A Synergistic Prefetcher Aggressiveness Controller for Multi-core SystemsIEEE Transactions on Computers, 2016
- Expert Prefetch Prediction: An Expert Predicting the Usefulness of Hardware PrefetchersIEEE Computer Architecture Letters, 2015
- Increasing multicore system efficiency through intelligent bandwidth shifting2015
- A Primer on Hardware PrefetchingSynthesis Lectures on Computer Architecture, 2014
- Sandbox Prefetching: Safe run-time evaluation of aggressive prefetchers2014
- Making data prefetch smarter2012
- Multi-Core Cache HierarchiesSynthesis Lectures on Computer Architecture, 2011
- Mitigating Memory Wall Effects in High-Clock-Rate and Multicore CMOS 3-D Processor Memory StacksProceedings of the IEEE, 2009
- Long Short-Term MemoryNeural Computation, 1997