ComputingComputer EngineeringComputer ScienceAlgorithmsComputer ArchitectureData StructuresCache Behavior AnalysisCachingMemory Hierarchy OptimizationCache Access PatternsCache AnalysisCache Eviction AlgorithmsCache Eviction PoliciesCache Replacement PoliciesCache Replacement Policy OptimizationLast-level Cache Behavior
Cache blocks often exhibit a small number of uses during their life time in the last-level cache. Past research has exploited this property in two different ways. First, replacement policies have been designed to evict dead blocks early and retain the potentially live blocks. Second, dynamic insertion policies attempt to victimize single-use blocks (dead on fill) as early as possible, thereby leaving most of the working set undisturbed in the cache. However, we observe that as the last-level cache grows in capacity and associativity, the traditional dead block prediction-based replacement policy loses effectiveness because often the LRU block itself is dead leading to an LRU replacement decision. The benefit of dynamic insertion policies is also small in a large class of applications that exhibit a significant number of cache blocks with small, yet more than one, uses.
16
Automatically characterizing large scale program behavior
Timothy Sherwood, Erez Perelman, Greg Hamerly et al. · 2002 · 1.7K citations
James Laudon, Daniel Lenoski · 1997 · 779 citations · Full text
Adaptive insertion policies for high performance caching
Moinuddin K. Qureshi, Aamer Jaleel, Yale N. Patt et al. · 2007 · 633 citations