2004 · 124 citations · 38 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureMemoryParallel ComputingCachingCaching StrategiesMemory HierarchyMemory Hierarchy DesignMemory Hierarchy OptimizationAdaptive CompressionCache ArchitectureCache CompressionCache Data CompressionCache DesignCache Line CompressionCache LocalityCompression
Modern processors use two or more levels of cache memories to bridge the rising disparity between processor and memory speeds. Compression can improve cache performance by increasing effective cache capacity and eliminating misses. However, decompressing cache lines also increases cache access latency, potentially degrading performance. In this paper, we develop an adaptive policy that dynamically adapts to the costs and benefits of cache compression. We propose a two-level cache hierarchy where the L1 cache holds uncompressed data and the L2 cache dynamically selects between compressed and uncompressed storage. The L2 cache is 8-way set-associative with LRU replacement, where each set can store up to eight compressed lines but has space for only four uncompressed lines. On each L2 reference, the LRU stack depth and compressed size determine whether compression (could have) eliminated a miss or incurs an unnecessary decompression overhead. Based on this outcome, the adaptive policy updates a single global saturating counter, which predicts whether to allocate lines in compressed or uncompressed form. We evaluate adaptive cache compression using full-system simulation and a range of benchmarks. We show that compression can improve performance for memory-intensive commercial workloads by up to 17%. However, always using compression hurts performance for low-miss-rate benchmarks - due to unnecessary decompression overhead - degrading performance by up to 18%. By dynamically monitoring workload behavior, the adaptive policy achieves comparable benefits from compression, while never degrading performance by more than 0.4%.
38
Cramming More Components Onto Integrated Circuits
Gordon E. Moore · Proceedings of the IEEE · 1998 · 5.8K citations
Simics: A full system simulation platform
Peter Magnusson, Magnus Christensson, J. Eskilson et al. · Computer · 2002 · 2.1K citations
Automatically characterizing large scale program behavior
Timothy Sherwood, Erez Perelman, Greg Hamerly et al. · 2002 · 1.7K citations
Evaluation techniques for storage hierarchies
R. L. Mattson, J. Gecsei, Donald R. Slutz et al. · IBM Systems Journal · 1970 · 1.3K citations
The Alpha 21264 microprocessor
R. E. Kessler · IEEE Micro · 1999 · 863 citations