Sciweavers

CGO
2004
IEEE

Exploring Code Cache Eviction Granularities in Dynamic Optimization Systems

13 years 8 months ago
Exploring Code Cache Eviction Granularities in Dynamic Optimization Systems
Dynamic optimization systems store optimized or translated code in a software-managed code cache in order to maximize reuse of transformed code. Code caches store superblocks that are not fixed in size, may contain links to other superblocks, and carry a high replacement overhead. These additional constraints reduce the effectiveness of conventional hardware-based cache management policies. In this paper, we explore code cache management policies that evict large blocks of code from the code cache, thus avoiding the bookkeeping overhead of managing single cache blocks. Through a combined simulation and analytical study of cache management overheads, we show that employing a medium-grained FIFO eviction policy results in an effective balance of cache management complexity and cache miss rates. Under high cache pressure the choice of medium granularity translates into a significant reduction in overall execution time versus both coarse and fine granularities.
Kim M. Hazelwood, James E. Smith
Added 20 Aug 2010
Updated 20 Aug 2010
Type Conference
Year 2004
Where CGO
Authors Kim M. Hazelwood, James E. Smith
Comments (0)