Victim Cache and Quota Victim Cache Performance Impact on Simultaneous Multithreaded Systems
Simultaneous multithreading, or SMT, uses a superscalar CPU running multiple threads to efficiently use a CPU. A key aspect of SMT is the sharing of resources, such as cache, between the threads to provide an efficiency gain over adding additional cores with private resources. Shared cache optimization allows for higher CPU performance by reducing the time wasted from cache misses. A victim cache and a modified victim cache utilizing a quota system were tested to see the instruction per cycle performance impact on a SMT system. The victim cache was added between the L1 and L2 caches and was tested in a single, double, and quadruple threaded case with mixes from the SPEC2006 benchmarks. The quota system victim cache was created specifically for SMT systems and was created to prevent greedier threads from using all of the victim cache, depriving the other threads of its benefits. The victim cache always generated higher IPC performance, but the magnitude decreased as the L1 cache grew, and increased with additional threads. With the quota modification, more performance than that of the victim cache was added, but the magnitude decreased with additional threads. Overall, the victim cache could be used to economically add performance to a system with a small L1 cache. The quota system did not generate enough additional performance to justify its additional expense, and could potentially be replaced with a partitioned victim cache.