TL;DR
Pythia introduces a reinforcement learning-based hardware prefetcher that adaptively learns from multiple program and system context signals, significantly improving prefetch accuracy and system efficiency across diverse workloads.
Contribution
This paper presents Pythia, the first prefetcher to use online reinforcement learning with multiple context signals for system-aware prefetching.
Findings
Outperforms state-of-the-art prefetchers across various workloads.
Incur only 1.03% area overhead on desktop processors.
No software modifications needed for deployment.
Abstract
Past research has proposed numerous hardware prefetching techniques, most of which rely on exploiting one specific type of program context information (e.g., program counter, cacheline address) to predict future memory accesses. These techniques either completely neglect a prefetcher's undesirable effects (e.g., memory bandwidth usage) on the overall system, or incorporate system-level feedback as an afterthought to a system-unaware prefetch algorithm. We show that prior prefetchers often lose their performance benefit over a wide range of workloads and system configurations due to their inherent inability to take multiple different types of program context and system-level feedback information into account while prefetching. In this paper, we make a case for designing a holistic prefetch algorithm that learns to prefetch using multiple different types of program context and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
