Dynamic Cache Partitioning for Simultaneous Multithreading Systems
G. Edward Suh, Larry Rudolph, Srinivas Devadas, Edward B. Suh · 2004
ABSTRACTThis paper proposes a dynamic cache partitioning method for simultaneous multithreading systems. We present ageneral partitioning scheme that can be applied to setassociative caches at any partition granularity. Further-more, in our scheme threads can have overlapping partitions, which provides more degrees of freedom when par-titioning caches with low associativity. Since memory reference characteristics of threads canchange very quickly, our method collects the miss-rate characteristics of simultaneously executing threads at run-time, and partitions the cache among the executing threads. Partition sizes are varied dynamically to improve hit rates.Trace-driven simulation results show a relative improvement in the L2 hit-rate of up to 40.5 % over those gener-ated by the standard least recently used replacement policy, and IPC improvements of up to 17%. Our results show thatsmart cache management and scheduling is important for SMT systems to achieve high performance. KEY WORDSMemory System, Simultaneous Multithreading, Cache Partitioning