RDIP: Return-address-stack directed instruction prefetching

Aasheesh Kolli, Ali Saidi, Thomas F. Wenisch

Research output: Chapter in Book/Report/Conference proceedingConference contribution

50 Scopus citations

Abstract

L1 instruction fetch misses remain a critical performance bottleneck, accounting for up to 40% slowdowns in server applications. Whereas instruction footprints typically fit within last-level caches, they overwhelm L1 caches, whose capacity is limited by latency constraints. Past work has shown that server application instruction miss sequences are highly repetitive. By recording, indexing, and prefetching according to these sequences, nearly all L1 instruction misses can be eliminated. However, existing schemes require impractical storage and considerable complexity to correct for minor control-flow variations that disrupt sequences. In this work, we simplify and reduce the energy requirements of accurate instruction prefetching via two observations: (1) program context as captured in the call stack correlates strongly with L1 instruction misses, and (2) the return address stack (RAS), already present in all high performance processors, succinctly summarizes program context. We propose RAS-Directed Instruction Prefetching (RDIP), which associates prefetch operations with signatures formed from the contents of the RAS. RDIP achieves 70% of the potential speedup of an ideal L1 cache, outperforms a prefetcherless baseline by 11.5% and reduces energy and complexity relative to sequence-based prefetching. RDIP's performance is within 2% of the state-of-the-art Proactive Instruction Fetch, with nearly 3X reduction in storage and 1.9X reduction in energy overheads.

Original languageEnglish (US)
Title of host publicationMICRO 2013 - Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture
Pages260-271
Number of pages12
DOIs
StatePublished - 2013
Event46th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2013 - Davis, CA, United States
Duration: Dec 7 2013Dec 11 2013

Publication series

NameMICRO 2013 - Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture

Conference

Conference46th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2013
Country/TerritoryUnited States
CityDavis, CA
Period12/7/1312/11/13

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Electrical and Electronic Engineering

Fingerprint

Dive into the research topics of 'RDIP: Return-address-stack directed instruction prefetching'. Together they form a unique fingerprint.

Cite this