Adaptive Caches: Effective Shaping of Cache Behavior to Workloads
- 1 December 2006
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE) in 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007)
- p. 385-396
- https://doi.org/10.1109/micro.2006.7
Abstract
We present and evaluate the idea of adaptive processor cache management. Specifically, we describe a novel and general scheme by which we can combine any two cache management algorithms (e.g., LRU, LFU, FIFO, Random) and adaptively switch between them, closely tracking the locality characteristics of a given program. The scheme is inspired by recent work in virtual memory management at the operating system level, which has shown that it is possible to adapt over two replacement policies to provide an aggregate policy that always performs within a constant factor of the better component policy. A hardware implementation of adaptivity requires very simple logic but duplicate tag structures. To reduce the overhead, we use partial tags, which achieve good performance with a small hardware cost. In particular, adapting between LRU and LFU replacement policies on an 8-way 512KB L2 cache yields a 12.7% improvement in average CPI on applications that exhibit a non-negligible L2 miss ratio. Our approach increases total cache storage by 4.0%, but it still provides slightly better performance than a conventional 10-way set-associative 640KB cache which requires 25% more storageKeywords
This publication has 21 references indexed in Scilit:
- MiBench: A free, commercially representative embedded benchmark suitePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- The V-Way CacheACM SIGARCH Computer Architecture News, 2005
- General adaptive replacement policiesPublished by Association for Computing Machinery (ACM) ,2004
- Focusing processor policies via critical-path predictionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- SimpleScalar: an infrastructure for computer system modelingComputer, 2002
- A fully associative software-managed cache designPublished by Association for Computing Machinery (ACM) ,2000
- Capturing dynamic memory reference behavior with adaptive cache topologyPublished by Association for Computing Machinery (ACM) ,1998
- Using hybrid branch predictors to improve branch prediction accuracy in the presence of context switchesPublished by Association for Computing Machinery (ACM) ,1996
- Skewed associativity enhances performance predictabilityPublished by Association for Computing Machinery (ACM) ,1995
- Efficient detection of all pointer and array access errorsPublished by Association for Computing Machinery (ACM) ,1994