A New Metric to Measure Cache Utilization for HPC Workloads
Aditya M. Deshpande, Jeffrey T. Draper · 2016
High performance computing (HPC) systems continue to add cores and memory to keep pace with increases in data processing needs, resulting in increased data movement across the memory hierarchy. With these systems becoming more and more energy constrained, data movement costs in terms of energy and performance cannot be neglected. Conventional techniques for modeling and analyzing data movement across the memory hierarchy have proven to be inadequate in helping computer architects and system designers to optimize data movement. In this work, we present modeling approaches to help capture and better understand cache utilization in the various levels of the memory hierarchy. We define a new metric, average cache references per evictions (ACRE), as a measure of cache utilization. We observed that the ACRE values for L1 cache varies from 18 to 210 for Mantevo miniapps and from 11 to 55 for GraphBIG benchmarks. ACRE values for L2/L3 caches were observed to be around 1 for all benchmarks. Such cache utilization metrics provide more meaningful insights about the data movement occurring across the memory hierarchy, enabling computer architects and system designers to better manage and minimize data movement and in turn reduce energy and even improve performance.