CacheScouts: Fine-Grain Monitoring of Shared Caches in CMP Platforms

  • Authors:
  • Li Zhao;Ravi Iyer;Ramesh Illikkal;Jaideep Moses;Srihari Makineni;Don Newell

  • Affiliations:
  • Intel Corporation, USA;Intel Corporation, USA;Intel Corporation, USA;Intel Corporation, USA;Intel Corporation, USA;Intel Corporation, USA

  • Venue:
  • PACT '07 Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

As multi-core architectures flourish in the marketplace, multi-application workload scenarios (such as server consolidation) are growing rapidly. When running multiple applications simultaneously on a platform, it has been shown that contention for shared platform resources such as last-level cache can severely degrade performance and quality of service (QoS). But today's platforms do not have the capability to monitor shared cache usage accurately and disambiguate its effects on the performance behavior of each individual application. In this paper, we investigate low-overhead mechanisms for fine-grain monitoring of the use of shared cache resources along three vectors: (a) occupancy -- how much space is being used and by whom, (b) interference -- how much contention is present and who is being affected and (c) sharing -- how are threads cooperating. We propose the CacheScouts monitoring architecture consisting of novel tagging (software-guided monitoring IDs), and sampling mechanisms (set sampling) to achieve shared cache monitoring on per application basis at low overhead (\le 0.1%) and with very little loss of accuracy (\le 5%). We also present case studies to show how CacheScouts can be used by operating systems (OS) and virtual machine monitors (VMMs) for (a) characterizing execution profiles, (b) optimizing scheduling for performance management, (c) providing QoS and (d) metering for chargeback.