Sciweavers

MICRO
2003
IEEE

Generational Cache Management of Code Traces in Dynamic Optimization Systems

14 years 4 months ago
Generational Cache Management of Code Traces in Dynamic Optimization Systems
A dynamic optimizer is a runtime software system that groups a program’s instruction sequences into traces, optimizes those traces, stores the optimized traces in a softwarebased code cache, and then executes the optimized code in the code cache. To maximize performance, the vast majority of the program’s execution should occur in the code cache and not in the different aspects of the dynamic optimization system. In the past, designers of dynamic optimizers have used the SPEC2000 benchmark suite to justify their use of simple code cache management schemes. In this paper, we show that the problem and importance of code cache management changes dramatically as we move from SPEC2000, with its relatively small number of dynamically generated code traces, to large interactive Windows applications. We also propose and evaluate a new cache management algorithm based on generational code caches that results in an average miss rate reduction of 18% over a unified cache, which translates i...
Kim M. Hazelwood, Michael D. Smith
Added 05 Jul 2010
Updated 05 Jul 2010
Type Conference
Year 2003
Where MICRO
Authors Kim M. Hazelwood, Michael D. Smith
Comments (0)