Paper Details
Reference:
David Tam, Reza Azimi, Livio Soares, and Michael Stumm,
"Managing shared L2 caches on multicore systems in software",
In Proceedings Workshop on the Interaction between Operating Systems and Computer Architecture (WIOSCA'07), San Diego, CA, USA, ACM, New York, NY, USA, June, 2007, pp. 26–33.
Download:
Abstract:
Most of today's multi-core processors feature shared L2 caches. A major problem faced by such architectures is cache contention, where multiple cores compete for usage of the single shared L2 cache. Uncontrolled sharing leads to scenarios where one core evicts useful L2 cache content belonging to another core. To address this problem, we have implemented a software mechanism in the operating system that allows for partitioning of the shared L2 cache by guiding the allocation of physical pages. This mechanism, which can also be applied to virtual machine monitors, provides isolation capabilities that lead to reduced contention. We show that this mechanism is effective in reducing cache contention in multiprogrammed SPECcpu2000 and SPECjbb2000 workloads. Performance improvements of up to 17% were achieved without adversely affecting co-scheduledapplications.
In order to effectively size L2 cache partitions, a quantifiable metric is needed to properly predict performance as a function of L2 cache size. For page management, Miss Rate Curves (MRCs) have proven to be useful for this purpose. However, for L2 cache sizing, we have found L2 MRCs to be inadequate and have found instruction retirement Stall Rate Curves (SRCs) to be more effective, where the stalls are caused by memory latencies.
BibTeX:
@inproceedings(Tam-WIOSCA07, author = {David Tam and Reza Azimi and Livio Soares and Michael Stumm}, title = {Managing shared {L2} caches on multicore systems in software}, booktitle = {Proceedings Workshop on the Interaction between Operating Systems and Computer Architecture (\textbf{WIOSCA'07})}, location = {San Diego, CA, USA}, organization = {ACM}, address = {New York, NY, USA}, month = {June}, year = {2007}, pages = {26-33}, )