2001 · 32 citations · 8 references
ComputingComputer EngineeringComputer ScienceAlgorithmsCompilersEmbedded SystemsCache Behavior AnalysisCachingCache AnalysisCache OptimizationCache Replacement PoliciesCache Replacement Policy OptimizationCache StateCache ThrashingCompiler DesignCompiler Support
We address the problem of improving cache predictability and performance in embedded systems through the use of software-assisted replacement mechanisms. These mechanisms require additional software controlled state information that affects the cache replacement decision. Software instructions allow a pro-gram to kill a particular cache element, i.e., effectively make the element the least recently used element, or keep that cache ele-ment, i.e., the element will never be evicted. We prove basic theorems that provide conditions under which kill and keep instructions can be inserted into program code, such that the resulting performance is guaranteed to be as good as or better than the original program run using the standard LRU pol-icy. We developed a compiler algorithm based on the theoretical results that, given an arbitrary program, determines when to per-form software-assisted replacement, i.e., when to insert either a kill or keep instruction. Empirical evidence is provided that shows that performance and predictability (worst-case performance) can be improved for many programs. 1
8
The SimpleScalar tool set, version 2.0
Doug Burger, Todd Austin · ACM SIGARCH Computer Architecture News · 1997 · 3.1K citations · Full text
Modified LRU policies for improving second-level cache behavior
Wayne A. Wong, J.-L. Baer · 2002 · 135 citations