Menu Close

PBBCache: An open-source parallel simulator for rapid prototyping and evaluation of cache-partitioning and cache-clustering policies

Authors

Adrian Garcia Garcia, Juan Carlos Saez, José Luis Risco Martin, Manuel Prieto Matias

Journal Paper

https://doi.org/10.1016/j.jocs.2020.101102

Publisher URL

https://www.sciencedirect.com/

Publication date

April 2020

Chip multicore processors (CMPs) constitute the architecture of choice for a wide spectrum of computing systems, ranging from power-efficient mobile devices to high-performance server platforms. Despite their benefits, the contention that appears when multiple applications compete for the use of shared resources among cores, such as the last-level cache (LLC), may lead to substantial performance degradation. This may have a negative impact on key system metrics such as throughput and fairness. Partitioning of the LLC (i.e., assigning a separate cache partition with a certain size to each application) has been proven effective to mitigate contention-related effects.

In this article we propose a parallel simulator that makes it possible to quickly compare the effectiveness of different cache-partitioning policies with the optimal solution for different optimization objectives. The simulator can obtain the optimal solution for any point during the execution of a multi-program workload where each application goes through a certain program phase. Our proposal leverages a slowdown-prediction model that accounts for degradation due to cache sharing and memory-bandwidth contention, which constitute the major factors of shared-resource contention on current CMPs. To determine the optimal solution for two optimization objectives (throughput and fairness optimization), we leverage a novel distributed-memory parallel branch-and-bound strategy specifically designed to efficiently distribute the computation across multiple processing cores.