intel/intel-cmt-cat logo

intel/intel-cmt-cat

Free

User space software for Intel(R) Resource Director Technology

FreeFree tier
Type
Open Source
Company
Intel Corporation

About intel/intel-cmt-cat

Intel(R) CMT-CAT is a user-space software package that provides basic support for Intel(R) Resource Director Technology (RDT) and I/O RDT. It includes Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM), Cache Allocation Technology (CAT), Code and Data Prioritization (CDP), and Memory Bandwidth Allocation (MBA). The software programs these technologies via Model Specific Registers (MSR) on a hardware thread basis, using standard OS drivers (msr on Linux, cpuctl on FreeBSD). Starting from version 1.0.0, the package also supports OS interfaces such as perf and resctrl on Linux, with OS interface becoming the default from version 4.3.0. The package includes a command-line utility 'pqos' and wrappers 'pqos-os' and 'pqos-msr' for interface selection. PID APIs are always available for programmatic control.

Key Features

Cache Monitoring Technology (CMT)
Memory Bandwidth Monitoring (MBM)
Cache Allocation Technology (CAT)
Code and Data Prioritization (CDP)
Memory Bandwidth Allocation (MBA)
MSR-based programming via Linux msr or FreeBSD cpuctl drivers
OS interface support (perf, resctrl on Linux) from v1.0.0
Command-line utility 'pqos' with wrappers 'pqos-os' and 'pqos-msr'
PID API for programmatic access
Detection via CPUID or brand string for unsupported SKUs

Pros & Cons

Pros
  • Open-source and maintained by Intel on GitHub
  • Supports multiple Intel RDT technologies in a single package
  • Provides both low-level MSR and high-level OS interface (perf/resctrl)
  • Includes a versatile command-line utility and a library with PID API
  • Active development with regular releases (latest v4.3.0 as of content)
Cons
  • Limited to Intel processors that support RDT technologies
  • Requires kernel support and proper configuration of MSR or resctrl interfaces
  • Complex setup for non-Linux systems (FreeBSD only via cpuctl)

Best For

Monitoring cache usage and memory bandwidth consumption per core or threadAllocating cache and memory bandwidth to specific workloads for performance isolationPrioritizing code and data in cache (CDP) for latency-sensitive applicationsManaging resource allocation in virtualized or containerized environments

FAQ

What is Intel CMT-CAT?
Intel CMT-CAT is a user-space software package for Intel Resource Director Technology (RDT) and I/O RDT, providing monitoring and allocation of cache and memory bandwidth.
Which Intel technologies does it support?
It supports Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM), Cache Allocation Technology (CAT), Code and Data Prioritization (CDP), and Memory Bandwidth Allocation (MBA).
How does it interface with the hardware?
It programs the technologies via Model Specific Registers (MSR) using the 'msr' driver on Linux or 'cpuctl' on FreeBSD. From v1.0.0, it also supports OS interfaces like 'perf' and 'resctrl' on Linux.
What is the default interface as of version 4.3.0?
As of version 4.3.0, the OS interface (perf/resctrl on Linux) is the default. The package provides wrappers 'pqos-os' and 'pqos-msr' to select between OS and MSR modes.