Skip to content
Florian Forster edited this page Nov 26, 2023 · 1 revision

Name:

Intel RDT plugin

Type:

read

Callbacks:

config, init, read, shutdown

Status:

supported

FirstVersion:

5.7

Copyright:

2016–2018 Intel Corporation, Serhiy Pshyk , Mateusz Starzyk , Wojciech Andralojc , Michał Aleksiński

License:

Manpage:

collectd.conf(5)

See also:

List of Plugins

The intel_rdt plugin collects information provided by monitoring features of Intel Resource Director Technology (Intel(R) RDT) like Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM), Cache Allocation Technology (CAT) and Code and Data Prioritization (CDP) Technology provide the hardware framework to monitor and control the utilization of shared resources, like last level cache, memory bandwidth. These Technologies comprise Intel’s Resource Director Technology (RDT). As multithreaded and multicore platform architectures emerge, running workloads in single-threaded, multithreaded, or complex virtual machine environment, the last level cache and memory bandwidth are key resources to manage. Intel introduces CMT, MBM, CAT and CDP to manage these various workloads across shared resources. 


Name


Type


Type Instance


Description


Comment


LLC


bytes


llc


last level cache occupancy (CMT)


Existing type


MBL


memory_bandwidth


local


the bandwidth of accessing memory associated with the local socket (MBM)


Existing type


MBR


memory_bandwidth


remote


the bandwidth of accessing the remote socket (MBM)


Existing type


IPC


ipc



instructions per clock


New type introduced in types.db

For a full description of available options please refer to the collectd.conf(5) manual page.

Synopsis

 <Plugin "intel_rdt">
   Cores "0-2" "3,4,6" "8-10,15"
 </Plugin>

Parameters


Name


Description


Comment


Interval


The interval within which to retrieve statistics on monitored events in seconds


Interval option is supported by collectd and is defined in block. No additional functionality should be developed in intel_rdt plugin to support this option.


Cores


Core groups definition. Monitored metrics are reported as aggregated statistics per group.


The field is represented as list of strings with core group values. Each string represents a list of cores in a group. Allowed formats are: “0,1,2,3” “0-10,20-18” “1,3,5-8,10,0x10-12”.

If an empty string is provided as value for this field default cores configuration should be applied - a separate group for each core.

Metrics


Metric/Feature/Input


Name


Date Type


Format Example


Description


Dependencies


Limitations


Comments


Metric


Memory Bandwidth on Local NUMA Node


Bytes/Second


3934325


Memory bandwidth utilization by the relevant CPU core on the local NUMA memory channel


PQOS ToolSet


Does not provide the value per process basis due to lack of resctrl fs support


Dependent on PQOS toolset to read the metric value


Metric


Memory Bandwidth on Remote NUMA Node


Bytes/Second


3934325


Memory bandwidth utilization by the relevant CPU core on the remote NUMA memory channel


PQOS ToolSet


Does not provide the value per process basis due to lack of resctrl fs support


Dependent on PQOS toolset to read the metric value


Metric


Total Memory Bandwidth


Bytes/Second


3934325


Total memory bandwidth utilized by a CPU core on local and remote NUMA memory channels


PQOS ToolSet


Does not provide the value per process basis due to lack of resctrl fs support


Not part of the Collectd plugin


Metric


L3 Cache Occupancy


Bytes


45345434


Total Last Level Cache occupancy by a CPU core


PQOS ToolSet


Does not provide the value per process basis due to lack of resctrl fs support


Dependent on PQOS toolset to read the metric value


Metric


Instructions Per Cycle


Integer


23734


Total instructions per cycle executed by a CPU core


PQOS ToolSet


None


Dependent on PQOS toolset to read the metric value


Input


Cores


Integer Array


[0-12] or [1,2,3]


The list of CPU core(s) to be provided as input by the user for which the corresponding metrics are required


None


None


Configuration input in the plugin .conf file


Input


Configuration Interval


Integer


1 or 10


The interval in seconds at which the metrics need to be collectd


None


None


Configuration input in the plugin .conf file


Metric


Memory Bandwidth of the process on Local NUMA Node


Bytes


3934325


Memory bandwidth utilization by the relevant process on the local NUMA memory channel


resctrl fs & kernel 4.14


TBD


Still to create Collectd PR


Metric


Memory Bandwidth of the process on Remote NUMA Node


Bytes


3934325


Memory bandwidth utilization by the relevant process on the remote NUMA memory channel


resctrl fs & kernel 4.14


TBD


Still to create Collectd PR


Metric


Total Memory Bandwidth of the process


Bytes


3934325


Total memory bandwidth utilized by a process on local and remote NUMA memory channels


resctrl fs & kernel 4.14


TBD


Still to create Collectd PR


Metric


L3 Cache Occupancy of the process


Bytes


45345434


Total Last Level Cache occupancy by a process


resctrl fs & kernel 4.14


TBD


Still to create Collectd PR


Metric


Instructions Per Cycle of the process


Integer


23734


Total instructions per cycle executed by a process


resctrl fs & kernel 4.14


TBD


Still to create Collectd PR


Input


Process List


Array


[qemu, pmd]


List of processes for which metrics are to be collected


resctrl fs & kernel 4.14


TBD


Still to create Collectd PR

Example graph

rdt-llc.png

Dependencies

See also

Clone this wiki locally