optimization-zone

AWS and GCP PMU Availability Matrices

Full explanation and context for this data can be read in our blog post Get The Most Out of Your Intel Cloud Infrastructure with Virtual Performance Monitoring Units. This directory contains detailed availability matrices for AWS and GCP PMUs (for baremetal instance types) and vPMUs (for virtualized instance types). The .csv files provide specific event and metric availability for the listed instance types.

Cloud service providers such as Amazon Web Services (AWS) and Google Cloud Platform (GCP) expose Virtual Performance Monitoring Units (vPMUs) on select Intel® Xeon® Processor instances that allow one to measure critical performance parameters like instruction cycles, cache misses, and branch mispredictions. While Intel publishes the complete list of supported performance monitoring (perfmon) events and metrics (refer to https://perfmon-events.intel.com/ and https://github.com/intel/perfmon), virtualized cloud instances typically support only a subset of these capabilities. The files in this directory provide a comprehensive list of available metrics for the instance-types provided.

Methodology

perf stat was used to collect vPMU data for various instance types on AWS and GCP and separated each event and metric into succeeded and failed per instance type. These two categories are further split into additional categories based on the value perf stat returned when collecting each metric. The commands used to measure each event and metric are shown below:

perf stat --timeout 3000 -a -e EVENT stress-ng -m num_cores
perf stat --timeout 3000 -a -M METRIC stress-ng -m num_cores

Each event and metric collection was run for 3000 milliseconds, targeting stress-ng matrix multiplication as a load generator to stimulate the system into returning more interesting values from the vPMUs.

Document Layout

Succeeded Events and Metrics

Based on the value returned by perf stat, these are considered supported by that instance-type.

Failed Events and Metrics

Based on the value returned by perf stat, these are considered not supported by that instance-type.