Mitigating Prefetcher-Caused Pollution Using Informed Caching Policies for Prefetched Blocks
- 9 January 2015
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Architecture and Code Optimization
- Vol. 11 (4), 1-22
- https://doi.org/10.1145/2677956
Abstract
Many modern high-performance processors prefetch blocks into the on-chip cache. Prefetched blocks can potentially pollute the cache by evicting more useful blocks. In this work, we observe that both accurate and inaccurate prefetches lead to cache pollution, and propose a comprehensive mechanism to mitigate prefetcher-caused cache pollution. First, we observe that over 95% of useful prefetches in a wide variety of applications are not reused after the first demand hit (in secondary caches). Based on this observation, our first mechanism simply demotes a prefetched block to the lowest priority on a demand hit. Second, to address pollution caused by inaccurate prefetches, we propose a self-tuning prefetch accuracy predictor to predict if a prefetch is accurate or inaccurate. Only predicted-accurate prefetches are inserted into the cache with a high priority. Evaluations show that our final mechanism, which combines these two ideas, significantly improves performance compared to both the baseline LRU policy and two state-of-the-art approaches to mitigating prefetcher-caused cache pollution (up to 49%, and 6% on average for 157 two-core multiprogrammed workloads). The performance improvement is consistent across a wide variety of system configurations.Keywords
This publication has 41 references indexed in Scilit:
- Base-delta-immediate compressionPublished by Association for Computing Machinery (ACM) ,2012
- A Case for MLP-Aware Cache ReplacementACM SIGARCH Computer Architecture News, 2006
- Automatically characterizing large scale program behaviorPublished by Association for Computing Machinery (ACM) ,2002
- Automatically characterizing large scale program behaviorPublished by Association for Computing Machinery (ACM) ,2002
- Dead-block prediction & dead-block correlating prefetchersPublished by Association for Computing Machinery (ACM) ,2001
- A fully associative software-managed cache designPublished by Association for Computing Machinery (ACM) ,2000
- Sequential hardware prefetching in shared-memory multiprocessorsIEEE Transactions on Parallel and Distributed Systems, 1995
- Effective hardware-based data prefetching for high-performance processorsInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1995
- A study of integrated prefetching and caching strategiesPublished by Association for Computing Machinery (ACM) ,1995
- Informed prefetching and cachingPublished by Association for Computing Machinery (ACM) ,1995