Classifying Memory Access Patterns for Prefetching
Grant Ayers, Heiner Litz, Christos Kozyrakis, Parthasarathy Ranganathan
Abstract
Prefetching is a well-studied technique for addressing the memory access stall time of contemporary microprocessors. However, despite a large body of related work, the memory access behavior of applications is not well understood, and it remains difficult to predict whether a particular application will benefit from a given prefetcher technique. In this work we propose a novel methodology to classify the memory access patterns of applications, enabling well-informed reasoning about the applicability of a certain prefetcher. Our approach leverages instruction dataflow information to uncover a wide range of access patterns, including arbitrary combinations of offsets and indirection. These combinations or prefetch kernels represent reuse, strides, reference locality, and complex address generation. By determining the complexity and frequency of these access patterns, we enable reasoning about prefetcher timeliness and criticality, exposing the limitations of existing prefetchers today. Moreover, using these kernels, we are able to compute the next address for the majority of top-missing instructions, and we propose a software prefetch injection methodology that is able to outperform state-of-the-art hardware prefetchers.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 76edb555-17ca-4ad1-9c60-89a6a3277659Cited by top-tier papers29
- Overcoming the Memory Wall with CXL-Enabled SSDsShao-Peng Yang, Minjae Kim, Sanghyun Nam, Juhyung Park et al.USENIX ATC 2023 · 75 citations
- I-SPY: Context-Driven Conditional Instruction Prefetching with CoalescingTanvir Ahmed Khan, Akshitha Sriraman, Joseph Devietti, Gilles Pokam et al.MICRO 2020 · 37 citations
- Twig: Profile-Guided BTB Prefetching for Data Center ApplicationsTanvir Ahmed Khan, Nathan Brown, Akshitha Sriraman, Niranjan K. Soundararajan et al.MICRO 2021 · 33 citations
- CRISP: critical slice prefetchingHeiner Litz, Grant Ayers, Parthasarathy RanganathanASPLOS 2022 · 33 citations
- DMon: Efficient Detection and Correction of Data Locality Problems Using Selective ProfilingTanvir Ahmed Khan, Ian Neal, Gilles Pokam, Barzan Mozafari et al.OSDI 2021 · 31 citations
Related papers
- RnR: A Software-Assisted Record-and-Replay Hardware PrefetcherChao Zhang, Yuan Zeng, John Shalf, Xiaochen GuoMICRO 2020 · 10 citations
- Differential-Matching Prefetcher for Indirect Memory AccessGelin Fu, Tian Xia, Zhongpei Luo, Ruiyang Chen et al.HPCA 2024 · 15 citations
- Reducing Load Latency with Cache Level PredictionMajid Jalili, Mattan ErezHPCA 2022 · 17 citations
- RPG2: Robust Profile-Guided Runtime Prefetch GenerationYuxuan Zhang, Nathan Sobotka, Soyoon Park, Saba Jamilan et al.ASPLOS 2024 · 11 citations
- Hierarchical Prefetching: A Software-Hardware Instruction Prefetcher for Server ApplicationsTingji Zhang, Boris Grot, Wenjian He, Yashuai Lv et al.ASPLOS 2025 · 4 citations
