1
1
# Intel RDT Input Plugin
2
- The intel_rdt plugin collects information provided by monitoring features of
3
- Intel Resource Director Technology (Intel(R) RDT) like Cache Monitoring Technology (CMT),
4
- Memory Bandwidth Monitoring (MBM), Cache Allocation Technology (CAT) and Code
5
- and Data Prioritization (CDP) Technology provide the hardware framework to monitor
6
- and control the utilization of shared resources, like last level cache, memory bandwidth.
7
- These Technologies comprise Intel’s Resource Director Technology (RDT).
8
- As multithreaded and multicore platform architectures emerge,
9
- running workloads in single-threaded, multithreaded, or complex virtual machine environment,
10
- the last level cache and memory bandwidth are key resources to manage. Intel introduces CMT,
11
- MBM, CAT and CDP to manage these various workloads across shared resources.
12
-
13
- To gather Intel RDT metrics plugin uses _ pqos_ cli tool which is a part of [ Intel(R) RDT Software Package] ( https://github.com/intel/intel-cmt-cat ) .
2
+ The ` intel_rdt ` plugin collects information provided by monitoring features of
3
+ the Intel Resource Director Technology (Intel(R) RDT). Intel RDT provides the hardware framework to monitor
4
+ and control the utilization of shared resources (ex: last level cache, memory bandwidth).
5
+
6
+ ### About Intel RDT
7
+ Intel’s Resource Director Technology (RDT) framework consists of:
8
+ - Cache Monitoring Technology (CMT)
9
+ - Memory Bandwidth Monitoring (MBM)
10
+ - Cache Allocation Technology (CAT)
11
+ - Code and Data Prioritization (CDP)
12
+
13
+ As multithreaded and multicore platform architectures emerge, the last level cache and
14
+ memory bandwidth are key resources to manage for running workloads in single-threaded,
15
+ multithreaded, or complex virtual machine environments. Intel introduces CMT, MBM, CAT
16
+ and CDP to manage these workloads across shared resources.
17
+
18
+ ### Prerequsities - PQoS Tool
19
+ To gather Intel RDT metrics, the ` intel_rdt ` plugin uses _ pqos_ cli tool which is a
20
+ part of [ Intel(R) RDT Software Package] ( https://github.com/intel/intel-cmt-cat ) .
14
21
Before using this plugin please be sure _ pqos_ is properly installed and configured regarding that the plugin
15
22
run _ pqos_ to work with ` OS Interface ` mode. This plugin supports _ pqos_ version 4.0.0 and above.
16
- Be aware pqos tool needs root privileges to work properly.
23
+ Note: pqos tool needs root privileges to work properly.
17
24
18
25
Metrics will be constantly reported from the following ` pqos ` commands within the given interval:
19
26
@@ -46,29 +53,29 @@ More about Intel RDT: https://www.intel.com/content/www/us/en/architecture-and-t
46
53
### Configuration
47
54
``` toml
48
55
# Read Intel RDT metrics
49
- [[inputs .IntelRDT ]]
50
- # # Optionally set sampling interval to Nx100ms.
51
- # # This value is propagated to pqos tool. Interval format is defined by pqos itself.
52
- # # If not provided or provided 0, will be set to 10 = 10x100ms = 1s.
53
- # sampling_interval = "10"
56
+ [[inputs .intel_rdt ]]
57
+ # # Optionally set sampling interval to Nx100ms.
58
+ # # This value is propagated to pqos tool. Interval format is defined by pqos itself.
59
+ # # If not provided or provided 0, will be set to 10 = 10x100ms = 1s.
60
+ # sampling_interval = "10"
54
61
55
- # # Optionally specify the path to pqos executable.
56
- # # If not provided, auto discovery will be performed.
57
- # pqos_path = "/usr/local/bin/pqos"
62
+ # # Optionally specify the path to pqos executable.
63
+ # # If not provided, auto discovery will be performed.
64
+ # pqos_path = "/usr/local/bin/pqos"
58
65
59
- # # Optionally specify if IPC and LLC_Misses metrics shouldn't be propagated.
60
- # # If not provided, default value is false.
61
- # shortened_metrics = false
62
-
63
- # # Specify the list of groups of CPU core(s) to be provided as pqos input.
64
- # # Mandatory if processes aren't set and forbidden if processes are specified.
65
- # # e.g. ["0-3", "4,5,6"] or ["1-3,4"]
66
- # cores = ["0-3"]
67
-
68
- # # Specify the list of processes for which Metrics will be collected.
69
- # # Mandatory if cores aren't set and forbidden if cores are specified.
70
- # # e.g. ["qemu", "pmd"]
71
- # processes = ["process"]
66
+ # # Optionally specify if IPC and LLC_Misses metrics shouldn't be propagated.
67
+ # # If not provided, default value is false.
68
+ # shortened_metrics = false
69
+
70
+ # # Specify the list of groups of CPU core(s) to be provided as pqos input.
71
+ # # Mandatory if processes aren't set and forbidden if processes are specified.
72
+ # # e.g. ["0-3", "4,5,6"] or ["1-3,4"]
73
+ # cores = ["0-3"]
74
+
75
+ # # Specify the list of processes for which Metrics will be collected.
76
+ # # Mandatory if cores aren't set and forbidden if cores are specified.
77
+ # # e.g. ["qemu", "pmd"]
78
+ # processes = ["process"]
72
79
```
73
80
74
81
### Exposed metrics
@@ -78,20 +85,20 @@ More about Intel RDT: https://www.intel.com/content/www/us/en/architecture-and-t
78
85
| MBR | Memory Bandwidth on Remote NUMA Node | Memory bandwidth utilization by the relevant CPU core/process on the remote NUMA memory channel |
79
86
| MBT | Total Memory Bandwidth | Total memory bandwidth utilized by a CPU core/process on local and remote NUMA memory channels |
80
87
| LLC | L3 Cache Occupancy | Total Last Level Cache occupancy by a CPU core/process |
81
- | * LLC_Misses | L3 Cache Misses | Total Last Level Cache misses by a CPU core/process |
82
- | * IPC | Instructions Per Cycle | Total instructions per cycle executed by a CPU core/process |
88
+ | LLC_Misses* | L3 Cache Misses | Total Last Level Cache misses by a CPU core/process |
89
+ | IPC* | Instructions Per Cycle | Total instructions per cycle executed by a CPU core/process |
83
90
84
91
* optional
85
92
86
93
### Troubleshooting
87
- Pointing to non-existing core will lead to throwing an error by _ pqos_ and plugin will not work properly.
88
- Be sure to check if provided core number exists within desired system.
94
+ Pointing to non-existing cores will lead to throwing an error by _ pqos_ and the plugin will not work properly.
95
+ Be sure to check provided core number exists within desired system.
89
96
90
- Be aware reading Intel RDT metrics by _ pqos_ cannot be done simultaneously on the same resource.
91
- So be sure to not use any other _ pqos_ instance which is monitoring the same cores or PIDs within working system.
92
- Also there is no possibility to monitor same cores or PIDs on different groups.
97
+ Be aware, reading Intel RDT metrics by _ pqos_ cannot be done simultaneously on the same resource.
98
+ Do not use any other _ pqos_ instance that is monitoring the same cores or PIDs within the working system.
99
+ It is not possible to monitor same cores or PIDs on different groups.
93
100
94
- Pids association for the given process could be manually checked by ` pidof ` command. E.g:
101
+ PIDs associated for the given process could be manually checked by ` pidof ` command. E.g:
95
102
```
96
103
pidof PROCESS
97
104
```
@@ -105,4 +112,4 @@ where `PROCESS` is process name.
105
112
> rdt_metric,cores=12\,19,host=r2-compute-20,name=MBL,process=top value=0 1598962030000000000
106
113
> rdt_metric,cores=12\,19,host=r2-compute-20,name=MBR,process=top value=0 1598962030000000000
107
114
> rdt_metric,cores=12\,19,host=r2-compute-20,name=MBT,process=top value=0 1598962030000000000
108
- ```
115
+ ```
0 commit comments