|
Packit Service |
5befb9 |
========================================================================
|
|
Packit Service |
5befb9 |
README for Intel(R) RDT Software Package
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
8a4b7a |
Nov 2019
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
========================================================================
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Contents
|
|
Packit Service |
5befb9 |
========
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
- Overview
|
|
Packit Service |
5befb9 |
- Package Content
|
|
Packit Service |
5befb9 |
- Hardware Support
|
|
Packit Service |
5befb9 |
- OS Support
|
|
Packit Service |
5befb9 |
- Software Compatibility
|
|
Packit Service |
5befb9 |
- Legal Disclaimer
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Overview
|
|
Packit Service |
5befb9 |
========
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
This software package provides basic support for
|
|
Packit Service |
5befb9 |
Intel(R) Resource Director Technology (Intel(R) RDT) including:
|
|
Packit Service |
5befb9 |
Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM),
|
|
Packit Service |
5befb9 |
Cache Allocation Technology (CAT), Code and Data Prioritization (CDP)
|
|
Packit Service |
5befb9 |
and Memory Bandwidth Allocation (MBA).
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
In principle, the software programs the technologies via
|
|
Packit Service |
5befb9 |
Model Specific Registers (MSR) on a hardware thread basis.
|
|
Packit Service |
5befb9 |
MSR access is arranged via a standard operating system driver:
|
|
Packit Service |
5befb9 |
msr on Linux and cpuctl on FreeBSD. In the most common architectural
|
|
Packit Service |
5befb9 |
implementations, presence of the technologies is detected via the
|
|
Packit Service |
5befb9 |
CPUID instruction.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
In a limited number of special cases where CAT is not architecturally
|
|
Packit Service |
5befb9 |
supported on a particular SKU (but instead a non-architectural
|
|
Packit Service |
5befb9 |
(model-specific) implementation exists) it can be detected via brand
|
|
Packit Service |
5befb9 |
string. This brand string is read from CPUID and compared to a table
|
|
Packit Service |
5befb9 |
of known-supported SKUs. If needed, a final check is to probe the
|
|
Packit Service |
5befb9 |
specific MSR’s to discover hardware capabilities, however it is
|
|
Packit Service |
5befb9 |
recommended that CPUID enumeration should be used wherever possible.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
From software version v1.0.0 the library adds option to use Intel(R) RDT via
|
|
Packit Service |
5befb9 |
available OS interfaces (perf and resctrl on Linux). The library detects
|
|
Packit Service |
5befb9 |
presence of these interfaces and allows to select the preferred one through
|
|
Packit Service |
5befb9 |
a configuration option.
|
|
Packit Service |
5befb9 |
As the result, existing tools like 'pqos' or 'rdtset' can also be used
|
|
Packit Service |
5befb9 |
to manage Intel(R) RDT in an OS compatible way. MSR interface remains
|
|
Packit Service |
5befb9 |
the default option for now. 'pqos' tool wrappers have been added to help with
|
|
Packit Service |
5befb9 |
the interface selection. 'pqos-os' and 'pqos-msr' for OS and MSR interface
|
|
Packit Service |
5befb9 |
operations respectively.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
PID API compile time option has been removed and the APIs are always available.
|
|
Packit Service |
5befb9 |
Note that proper operation of these APIs depends on availability and
|
|
Packit Service |
5befb9 |
selection of OS interface.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
This software package is maintained, updated and developed on
|
|
Packit Service |
5befb9 |
https://github.com/01org/intel-cmt-cat
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
https://github.com/01org/intel-cmt-cat/wiki provides FAQ, usage examples and
|
|
Packit Service |
5befb9 |
useful links.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Please refer to INSTALL file for package installation instructions.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Package Content
|
|
Packit Service |
5befb9 |
===============
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
"lib" directory:
|
|
Packit Service |
5befb9 |
Includes software library files providing API's for
|
|
Packit Service |
5befb9 |
technology detection, monitoring and allocation.
|
|
Packit Service |
5befb9 |
Please refer to the library README for more details (lib/README).
|
|
Packit Service |
5befb9 |
“lib/perl” directory:
|
|
Packit Service |
5befb9 |
Includes PQoS library Perl wrapper.
|
|
Packit Service |
5befb9 |
Please refer to the interface README for more details (lib/perl/README).
|
|
Packit Service |
5befb9 |
"pqos" directory:
|
|
Packit Service |
5befb9 |
Includes utility files providing command line access to
|
|
Packit Service |
5befb9 |
Intel(R) RDT. The utility links against the library and programs
|
|
Packit Service |
5befb9 |
the technologies via its API's.
|
|
Packit Service |
5befb9 |
Please refer to the utility README for more details "pqos/README".
|
|
Packit Service |
5befb9 |
Manual page of "pqos" utility also provides information about tool usage:
|
|
Packit Service |
5befb9 |
$ man pqos
|
|
Packit Service |
5befb9 |
"rdtset" directory:
|
|
Packit Service |
5befb9 |
Includes files of utility that provides "taskset"-like functionality and
|
|
Packit Service |
5befb9 |
CAT configuration.
|
|
Packit Service |
5befb9 |
The utility links against the library and programs the technologies
|
|
Packit Service |
5befb9 |
via its API's.
|
|
Packit Service |
5befb9 |
Please refer to the utility README for more details "rdtset/README".
|
|
Packit Service |
5befb9 |
Manual page of "rdtset" utility also provides information about tool usage:
|
|
Packit Service |
5befb9 |
$ man rdtset
|
|
Packit Service |
5befb9 |
"examples" directory:
|
|
Packit Service |
5befb9 |
Includes C and Perl examples of Intel(R) RDT usage via the library API's.
|
|
Packit Service |
5befb9 |
Please refer to README file for more details "examples/README".
|
|
Packit Service |
5befb9 |
"snmp" directory:
|
|
Packit Service |
5befb9 |
Includes Net-SNMP AgentX subagent written in Perl to demonstrate the use of
|
|
Packit Service |
5befb9 |
the PQoS library Perl wrapper API.
|
|
Packit Service |
5befb9 |
Please refer to README file for more details "snmp/README".
|
|
Packit Service |
8a4b7a |
"tools" directory:
|
|
Packit Service |
8a4b7a |
Includes membw tool for stressing memory bandwidth with different operations
|
|
Packit Service |
5befb9 |
"srpm" directory:
|
|
Packit Service |
5befb9 |
Includes *.src.rpm and *.spec files for the software package.
|
|
Packit Service |
5befb9 |
"ChangeLog" file:
|
|
Packit Service |
5befb9 |
Brief description of changes between releases.
|
|
Packit Service |
5befb9 |
"INSTALL" file:
|
|
Packit Service |
5befb9 |
Installation instructions.
|
|
Packit Service |
5befb9 |
"LICENSE" file:
|
|
Packit Service |
5befb9 |
License of the package.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Hardware Support
|
|
Packit Service |
5befb9 |
================
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Table 1. Intel(R) RDT hardware support
|
|
Packit Service |
8a4b7a |
+--------------------------------------------------------------------------------------------------------+
|
|
Packit Service |
8a4b7a |
| | CMT | MBM | L3 CAT | L3 CDP | L2 CAT | MBA |
|
|
Packit Service |
8a4b7a |
|--------------------------------------------------------+-----+-----+--------+--------+--------+--------|
|
|
Packit Service |
8a4b7a |
|Intel(R) Xeon(R) processor E5 v3 | Yes | No | Yes (1)| No | No | No |
|
|
Packit Service |
8a4b7a |
|--------------------------------------------------------+-----+-----+--------+--------+--------+--------|
|
|
Packit Service |
8a4b7a |
|Intel(R) Xeon(R) processor D | Yes | Yes | Yes (2)| No | No | No |
|
|
Packit Service |
8a4b7a |
|--------------------------------------------------------+-----+-----+--------+--------+--------+--------|
|
|
Packit Service |
8a4b7a |
|Intel(R) Xeon(R) processor E3 v4 | No | No | Yes (3)| No | No | No |
|
|
Packit Service |
8a4b7a |
|--------------------------------------------------------+-----+-----+--------+--------+--------+--------|
|
|
Packit Service |
8a4b7a |
|Intel(R) Xeon(R) processor E5 v4 | Yes | Yes | Yes (2)| Yes | No | No |
|
|
Packit Service |
8a4b7a |
|--------------------------------------------------------+-----+-----+--------+--------+--------+--------|
|
|
Packit Service |
8a4b7a |
|Intel(R) Xeon(R) Scalable Processors (6) | Yes | Yes | Yes (2)| Yes | No | Yes (5)|
|
|
Packit Service |
8a4b7a |
|--------------------------------------------------------+-----+-----+--------+--------+--------+--------|
|
|
Packit Service |
8a4b7a |
|Intel(R) Xeon(R) 2nd Generation Scalable Processors (7) | Yes | Yes | Yes (2)| Yes | No | Yes (5)|
|
|
Packit Service |
8a4b7a |
|--------------------------------------------------------+-----+-----+--------+--------+--------+--------|
|
|
Packit Service |
8a4b7a |
|Intel(R) Atom(R) processor for Server C3000 | No | No | No | No | Yes (4)| No |
|
|
Packit Service |
8a4b7a |
+--------------------------------------------------------------------------------------------------------+
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
References:
|
|
Packit Service |
5befb9 |
(1) Selected SKU's only:
|
|
Packit Service |
5befb9 |
Intel(R) Xeon(R) processor E5-2658 v3
|
|
Packit Service |
5befb9 |
Intel(R) Xeon(R) processor E5-2648L v3
|
|
Packit Service |
5befb9 |
Intel(R) Xeon(R) processor E5-2628L v3
|
|
Packit Service |
5befb9 |
Intel(R) Xeon(R) processor E5-2618L v3
|
|
Packit Service |
5befb9 |
Intel(R) Xeon(R) processor E5-2608L v3
|
|
Packit Service |
5befb9 |
Intel(R) Xeon(R) processor E5-2658A v3
|
|
Packit Service |
5befb9 |
Four L3 CAT classes of service (CLOS) and a set of pre-defined classes that
|
|
Packit Service |
5befb9 |
should not be changed at run time.
|
|
Packit Service |
5befb9 |
L3 CAT CLOS to hardware thread association can be changed at run time.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
(2) Sixteen L3 CAT classes of service (CLOS). There are no pre-defined
|
|
Packit Service |
5befb9 |
classes of service and they can be changed at run time.
|
|
Packit Service |
5befb9 |
L3 CAT CLOS to hardware thread association can be changed at run time.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
(3) Selected SKU's only:
|
|
Packit Service |
5befb9 |
Intel(R) Xeon(R) processor E3-1258L v4
|
|
Packit Service |
5befb9 |
Intel(R) Xeon(R) processor E3-1278L v4
|
|
Packit Service |
5befb9 |
Four L3 CAT classes of service (CLOS) and a set of pre-defined classes that
|
|
Packit Service |
5befb9 |
should not be changed at run time.
|
|
Packit Service |
5befb9 |
L3 CAT CLOS to hardware thread association can be changed at run time.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
(4) Four L2 CAT classes of service (CLOS) per L2 cluster.
|
|
Packit Service |
5befb9 |
L2 CAT CLOS to hardware thread association can be changed at run time.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
(5) Eight MBA classes of service (CLOS). There are no pre-defined
|
|
Packit Service |
5befb9 |
classes of service and they can be changed at run time.
|
|
Packit Service |
5befb9 |
MBA CLOS to hardware thread association can be changed at run time.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
(6) Please find errata for Intel(R) Xeon(R) Processor Scalable Family at:
|
|
Packit Service |
5befb9 |
https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/xeon-scalable-spec-update.pdf?asset=14615
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
8a4b7a |
(7) Please find errata for Second Generation Intel(R) Xeon(R) Scalable Processors at:
|
|
Packit Service |
8a4b7a |
https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/2nd-gen-xeon-scalable-spec-update.pdf
|
|
Packit Service |
8a4b7a |
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
For additional Intel(R) RDT details please refer to the Intel(R)
|
|
Packit Service |
5befb9 |
Architecture Software Development Manuals available at:
|
|
Packit Service |
5befb9 |
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
|
|
Packit Service |
5befb9 |
Specific information can be found in volume 3, Chapters 17.18 and 17.19 (revision 064).
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
OS Support
|
|
Packit Service |
5befb9 |
==========
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
1. Overview
|
|
Packit Service |
5befb9 |
Linux is the primary supported operating system at the moment. There is a
|
|
Packit Service |
5befb9 |
FreeBSD port of the software but due to limited validation scope it is rather
|
|
Packit Service |
5befb9 |
experimental at this stage. Although most modern Linux kernels include support
|
|
Packit Service |
5befb9 |
for Intel(R) RDT, the intel-cmt-cat software package predates these extensions
|
|
Packit Service |
5befb9 |
and can operate with and without kernel support. The intel-cmt-cat software can
|
|
Packit Service |
5befb9 |
detect and leverage these kernel extensions when available to add functionality,
|
|
Packit Service |
5befb9 |
but is also compatible with legacy kernels.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
2. OS Frameworks
|
|
Packit Service |
5befb9 |
Linux kernel support for Intel(R) RDT was originally introduced with Linux perf
|
|
Packit Service |
5befb9 |
system call extensions for CMT and MBM. More recently, the Resctrl interface
|
|
Packit Service |
5befb9 |
added support for CAT, CDP and MBA. On modern Linux kernels, it is advised to
|
|
Packit Service |
5befb9 |
use the kernel/OS interface when available. Details about these interfaces can
|
|
Packit Service |
5befb9 |
be found in intel_rdt_ui.txt. This software package, intel-cmt-cat, remains to
|
|
Packit Service |
5befb9 |
work seamlessly in all Linux kernel versions.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
3. Interfaces
|
|
Packit Service |
5befb9 |
The intel-cmt-cat software library and utilities offer two interfaces to program
|
|
Packit Service |
5befb9 |
Intel(R) RDT technologies, these are the MSR & OS interfaces.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
The MSR interface is used to configure the platform by programming the hardware
|
|
Packit Service |
5befb9 |
(MSR's) directly. This is the legacy interface and requires no kernel support
|
|
Packit Service |
5befb9 |
for Intel(R) RDT but is limited to monitoring and managing resources on a per
|
|
Packit Service |
5befb9 |
core basis.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
The OS interface was later added to the package and when selected, the library
|
|
Packit Service |
5befb9 |
will leverage Linux kernel extensions to program these technologies. This allows
|
|
Packit Service |
5befb9 |
monitoring and managing resources on a per core/process basis and should be used
|
|
Packit Service |
5befb9 |
when available.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Please see the tables below for more information on when Intel(R) RDT feature
|
|
Packit Service |
5befb9 |
(MSR & OS) support was added to the package.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Table 2. MSR interface feature support
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+
|
|
Packit Service |
5befb9 |
| intel-cmt-cat | RDT feature | Kernel version |
|
|
Packit Service |
5befb9 |
| version | enabled | required |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+
|
|
Packit Service |
5befb9 |
| 0.1.3 | L3 CAT, CMT, MBM | Any |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+
|
|
Packit Service |
5befb9 |
| 0.1.4 | L3 CDP | Any |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+
|
|
Packit Service |
5befb9 |
| 0.1.5 | L2 CAT | Any |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+
|
|
Packit Service |
5befb9 |
| 1.2.0 | MBA | Any |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+
|
|
Packit Service |
5befb9 |
| 2.0.0 | L2 CDP | Any |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Table 3. OS interface feature support
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+----------------------------------------------------+
|
|
Packit Service |
5befb9 |
| intel-cmt-cat | RDT feature | Kernel version | Recommended interface |
|
|
Packit Service |
5befb9 |
| version | enabled | required | |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+----------------------------------------------------+
|
|
Packit Service |
5befb9 |
| 0.1.4 | CMT (Perf) | 4.1 | MSR (1) |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+----------------------------------------------------+
|
|
Packit Service |
5befb9 |
| 1.0.0 | MBM (Perf) | 4.7 | MSR (1) |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+----------------------------------------------------+
|
|
Packit Service |
5befb9 |
| 1.1.0 | L3 CAT, L3 CDP, | 4.10 | OS for allocation only (with the exception of MBA) |
|
|
Packit Service |
5befb9 |
| | L2 CAT (Resctrl) | | MSR for allocation + monitoring (2) |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+----------------------------------------------------+
|
|
Packit Service |
5befb9 |
| 1.2.0 | MBA (Resctrl) | 4.12 | OS for allocation only |
|
|
Packit Service |
5befb9 |
| | | | MSR for allocation + monitoring (2) |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+----------------------------------------------------+
|
|
Packit Service |
5befb9 |
| 2.0.0 | CMT, MBM (Resctrl)| 4.14 | OS |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+----------------------------------------------------+
|
|
Packit Service |
5befb9 |
| 2.0.0 | L2 CDP | 4.16 | OS |
|
|
Packit Service |
5befb9 |
+---------------+-------------------+----------------+----------------------------------------------------+
|
|
Packit Service |
8a4b7a |
| 3.0.0 | MBA CTRL (Resctrl)| 4.18 | OS |
|
|
Packit Service |
8a4b7a |
+---------------+-------------------+----------------+----------------------------------------------------+
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
References:
|
|
Packit Service |
5befb9 |
(1) Monitoring with Perf on a per core basis is not supported and returns invalid results.
|
|
Packit Service |
5befb9 |
(2) The MSR and OS interfaces are not compatible. MSR interface is recommended if monitoring and allocation is to be used.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
4. Software dependencies
|
|
Packit Service |
5befb9 |
The only dependencies of intel-cmt-cat is access to C and pthreads libraries and:
|
|
Packit Service |
5befb9 |
- without kernel extensions - 'msr' kernel module
|
|
Packit Service |
5befb9 |
- with kernel extensions - Intel(R) RDT extended Perf system call and Resctrl filesystem
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Enable Intel(R) RDT support in:
|
|
Packit Service |
5befb9 |
- kernel v4.10 - v4.13 with kernel configuration option CONFIG_INTEL_RDT_A
|
|
Packit Service |
5befb9 |
- kernel v4.14+ with kernel configuration option CONFIG_INTEL_RDT
|
|
Packit Service |
8a4b7a |
- kernel v5.0+ with kernel configuration option CONFIG_X86_RESCTRL
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Note: No kernel configuration options required before v4.10.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Software Compatibility
|
|
Packit Service |
5befb9 |
======================
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
In short, using intel-cmt-cat or Intel(R) PCM software together with
|
|
Packit Service |
5befb9 |
Linux perf and cgroup frameworks is not allowed at the moment.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
As disappointing as it is, use of Linux perf for CMT & MBM and
|
|
Packit Service |
5befb9 |
intel-cmt-cat for CAT & CDP is not allowed. This is because
|
|
Packit Service |
5befb9 |
Linux perf overrides existing CAT configuration during its operations.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
There are a number of options to choose from in order to make use of CAT:
|
|
Packit Service |
5befb9 |
- intel-cmt-cat software for CMT/MBM/CAT and CDP (core granularity only)
|
|
Packit Service |
5befb9 |
- use Linux resctrl for CAT and Linux perf for monitoring (kernel 4.10+)
|
|
Packit Service |
5befb9 |
- patch kernel with an out of tree cgroup patch (CAT) and
|
|
Packit Service |
5befb9 |
only use perf for monitoring (CMT kernels 4.1+, MBM kernels 4.6+)
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Table 4. Software interoperability matrix
|
|
Packit Service |
5befb9 |
+-----------------------------------------------------------------------------------------------+
|
|
Packit Service |
5befb9 |
| | intel-cmt-cat | Intel(R) PCM | Linux perf | Linux cgroup | Linux resctrl |
|
|
Packit Service |
5befb9 |
|------------------+---------------+--------------+--------------+--------------|---------------|
|
|
Packit Service |
5befb9 |
|intel-cmt-cat | Yes(1) | Yes(2) | Yes(5) | No | Yes(5) |
|
|
Packit Service |
5befb9 |
|------------------+---------------+--------------+--------------+--------------|---------------|
|
|
Packit Service |
5befb9 |
|Intel(R) PCM | Yes(2) | Yes | No | No | No |
|
|
Packit Service |
5befb9 |
|------------------+---------------+--------------+--------------+--------------|---------------|
|
|
Packit Service |
5befb9 |
|Linux perf | Yes(5) | No | Yes | Yes(3) | Yes |
|
|
Packit Service |
5befb9 |
|------------------+---------------+--------------+--------------+--------------|---------------|
|
|
Packit Service |
5befb9 |
|Linux cgroup | No | No | Yes | Yes(3) | No |
|
|
Packit Service |
5befb9 |
|------------------+---------------+--------------+--------------+--------------|---------------|
|
|
Packit Service |
5befb9 |
|Linux resctrl (4) | Yes(5) | No | Yes | No | Yes |
|
|
Packit Service |
5befb9 |
+-----------------------------------------------------------------------------------------------+
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
References:
|
|
Packit Service |
5befb9 |
(1) pqos monitoring from intel-cmt-cat can detect other
|
|
Packit Service |
5befb9 |
pqos monitoring processes in the system.
|
|
Packit Service |
5befb9 |
rdtset from intel-cmt-cat detects other processes started with rdtset and
|
|
Packit Service |
5befb9 |
it will not use their CAT/CDP resources.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
(2) pqos from intel-cmt-cat can detect that Intel(R) PCM monitors cores and
|
|
Packit Service |
5befb9 |
it will not attempt to hijack the cores unless forced.
|
|
Packit Service |
5befb9 |
However, if pqos monitoring is started first and then
|
|
Packit Service |
5befb9 |
Intel(R) PCM is started then the latter one will hijack monitoring
|
|
Packit Service |
5befb9 |
infrastructure from pqos for its use.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
(3) Linux cgroup is an out of tree patch
|
|
Packit Service |
5befb9 |
https://github.com/vshiva1/linux/tree/catv15
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
(4) Linux kernel version 4.10 and newer.
|
|
Packit Service |
5befb9 |
A wiki for Intel resctrl is available at:
|
|
Packit Service |
5befb9 |
https://github.com/01org/intel-cmt-cat/wiki/resctrl
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
(5) Only with Linux kernel version 4.10 (and newer),
|
|
Packit Service |
5befb9 |
intel-cmt-cat version 1.0.0 (and newer) with selected OS interface
|
|
Packit Service |
5befb9 |
See '-I' option in 'man pqos' or 'pqos-os'.
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Intel(R) PCM is available at
|
|
Packit Service |
5befb9 |
https://software.intel.com/en-us/articles/intel-performance-counter-monitor
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Table 5. Intel(R) RDT software enabling status.
|
|
Packit Service |
5befb9 |
+---------------------------------------------------------------------------------------+
|
|
Packit Service |
5befb9 |
| | Core | Task | CMT | MBM | L3 CAT | L3 CDP | L2 CAT | MBA |
|
|
Packit Service |
5befb9 |
|------------------+-------+-------+-------+-------+--------+---------+--------+--------|
|
|
Packit Service |
5befb9 |
|intel-cmt-cat | Yes | Yes(7)| Yes | Yes | Yes | Yes | Yes | Yes |
|
|
Packit Service |
5befb9 |
|------------------+-------+-------+-------+-------+--------+---------+--------+--------|
|
|
Packit Service |
5befb9 |
|Intel(R) PCM | Yes | No | Yes | Yes | No | No | No | No |
|
|
Packit Service |
5befb9 |
|------------------+-------+-------+-------+-------+--------+---------+--------+--------|
|
|
Packit Service |
5befb9 |
|Linux perf | Yes(6)| Yes | Yes(1)| Yes(2)| No(3) | No(3) | No(3) | No |
|
|
Packit Service |
5befb9 |
|------------------+-------+-------+-------+-------+--------+---------+--------+--------|
|
|
Packit Service |
5befb9 |
|Linux cgroup | No | Yes | No | No | Yes(4) | No | No | No |
|
|
Packit Service |
5befb9 |
|------------------+-------+-------+-------+-------+--------+---------+--------+--------|
|
|
Packit Service |
8a4b7a |
|Linux resctrl (5) | Yes | Yes | Yes(8)| Yes(8)| Yes | Yes | Yes | Yes(9) |
|
|
Packit Service |
5befb9 |
+---------------------------------------------------------------------------------------+
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Legend:
|
|
Packit Service |
5befb9 |
Core - use of technology with core granularity
|
|
Packit Service |
5befb9 |
Task - use of technology per task or group of tasks
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
References:
|
|
Packit Service |
5befb9 |
(1) Linux kernel version 4.1 and newer
|
|
Packit Service |
5befb9 |
(2) Linux kernel version 4.6 and newer
|
|
Packit Service |
5befb9 |
(3) Linux perf corrupts CAT and CDP configuration even though
|
|
Packit Service |
5befb9 |
it doesn't enable it
|
|
Packit Service |
5befb9 |
(4) This is out of tree patch and relies on Linux perf enabling
|
|
Packit Service |
5befb9 |
(5) Linux kernel version 4.10 and newer
|
|
Packit Service |
5befb9 |
(6) perf API allows for CMT/MBM core monitoring but returned values are incorrect
|
|
Packit Service |
5befb9 |
(7) intel-cmt-cat version 1.0.0 monitoring only and depends on kernel support
|
|
Packit Service |
8a4b7a |
(8) Linux kernel version 4.14 and newer
|
|
Packit Service |
8a4b7a |
(9) Linux kernel version 4.12 and newer
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
Legal Disclaimer
|
|
Packit Service |
5befb9 |
================
|
|
Packit Service |
5befb9 |
|
|
Packit Service |
5befb9 |
THIS SOFTWARE IS PROVIDED BY INTEL"AS IS". NO LICENSE, EXPRESS OR
|
|
Packit Service |
5befb9 |
IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS
|
|
Packit Service |
5befb9 |
ARE GRANTED THROUGH USE. EXCEPT AS PROVIDED IN INTEL'S TERMS AND
|
|
Packit Service |
5befb9 |
CONDITIONS OF SALE, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL
|
|
Packit Service |
5befb9 |
DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR
|
|
Packit Service |
5befb9 |
USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO
|
|
Packit Service |
5befb9 |
FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT
|
|
Packit Service |
5befb9 |
OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
|