"Enabling software management for multicore caches with a lightweight  
hardware support"

Jiang Lin, Qingda Lu, Xiaoning Ding, Zhao Zhang, Xiaodong Zhang, and 
P. Sadayappan 

Proceedings of 22nd ACM/IEEE Annual Conference on Supercomputing (SC09),   
Portland, Oregon, November 14-20, 2009.  

The management of shared caches in multicore processors is a
critical and challenging task. Many hardware and OS-based methods
have been proposed. However, they may be hardly adopted
in practice due to their non-trivial overheads, high complexities,
and/or limited abilities to handle increasingly complicated scenarios
of cache contention caused by many-cores.

In order to turn cache partitioning methods into reality in the
management of multicore processors, we propose to provide an
affordable and lightweight hardware support to coordinate with
OS-based cache management policies. The proposed methods are
scalable to many-cores, and perform comparably with other proposed
hardware solutions, but have much lower overheads, therefore
can be easily adopted in commodity processors. Having conducted
extensive experiments with 37 multi-programming workloads,
we show the effectiveness and scalability of the proposed
methods. For example on 8-core systems, one of our proposed
policies improves performance over LRU-based hardware cache
management by 14.5% on average and up to 47.5%.