Skip to content
This repository was archived by the owner on Oct 31, 2024. It is now read-only.

Commit e7d1f52

Browse files
author
Mahgoub
committed
Edit help messages + Documentation
1 parent 427d958 commit e7d1f52

File tree

7 files changed

+382
-270
lines changed

7 files changed

+382
-270
lines changed
32 KB
Binary file not shown.
381 KB
Binary file not shown.
550 KB
Binary file not shown.

README.md

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -128,20 +128,22 @@ Timestamp,containerID,PID,process,cgroupID,core,cycles,insts,cpi,l1i_mpi,l1d_hit
128128

129129
### NN\_detect
130130
```
131-
usage: NN_detect.py [-h] [-p PID] [-c CID] -r REF_SIGNATURE [-d DISTANCE_RATIO]
131+
usage: NN_detect.py [-h] [-p PID] [-c CID] [--outfile OUTFILE] [-s SYSTEM_WIDE_SIGNATURES_PATH | -r REF_SIGNATURE] [-d DISTANCE_RATIO]
132132
133133
Detect Noisy Neighbors for a given PID (process-level) or container ID (container-level).
134134
135135
options:
136136
-h, --help show this help message and exit
137137
-p PID, --pid PID PID (process-level)
138138
-c CID, --cid CID Container ID (container-level)
139+
--outfile OUTFILE Output file to save live-updated performance data
140+
-s SYSTEM_WIDE_SIGNATURES_PATH, --system_wide_signatures_path SYSTEM_WIDE_SIGNATURES_PATH
141+
path to signatures_*.csv CSV file with referernce signatures per container ID, as generated by dockermon.
139142
-r REF_SIGNATURE, --ref_signature REF_SIGNATURE
140-
The tool will use this signature as a baseline. All live updated signatures will be compared to the reference. Use a standalone signature (when the proccess is the
141-
only process executing in the system), or any signature collected over a performance-acceptable duration.
143+
The tool will use this signature as a baseline. Use the output of either procmon or dockermon to collect the signature. The first element in the signature is `cycles`. All live updated signatures will be compared
144+
to this reference signature. Use a standalone signature (when the process is the only process executing in the system), or any signature collected over a performance-acceptable duration.
142145
-d DISTANCE_RATIO, --distance_ratio DISTANCE_RATIO
143-
Acceptable ratio of change in signature from reference, default is 0.1. If the distance is higher than this value, the monitored workload will flagged as a noisy
144-
neigbor victim.
146+
Acceptable ratio of change in signature from reference, default is 0.1. If the distance is higher than this value, the monitored workload will flagged as a noisy neighbor victim.
145147
```
146148
### Example output
147149
```
@@ -158,6 +160,26 @@ Detected Signature on core 9 : [3092000000.0, 1403000000.0, 2.2, 0.0, 0.0, 1.0
158160
Distance from reference: 7.51% ==> Performance is OK
159161
```
160162
=======
163+
## Units:
164+
| Metric | Unit |
165+
| -----------------| -------------|
166+
| cycles | RAW |
167+
| insts | RAW |
168+
| cpi | RAW |
169+
| l1i_mpi | Percentage |
170+
| l1d_hit_ratio | Percentage |
171+
| l1d_miss_ratio | Percentage |
172+
| l2_miss_ratio | Percentage |
173+
| l3_miss_ratio | Percentage |
174+
| local_bw | MB/sec |
175+
| remote_bw | MB/sec |
176+
| disk_reads | MB/sec |
177+
| disk_writes | MB/sec |
178+
| network_tx | MB/sec |
179+
| network_rx | MB/sec |
180+
| scheduled_count | RAW |
181+
| avg_q_len | RAW |
182+
| avg_q_latency | milliseconds |
161183

162184
## Notes:
163185
** Interference Detector was developed using the following as references:
@@ -167,5 +189,5 @@ Distance from reference: 7.51% ==> Performance is OK
167189
4. github.com/iovisor/bcc/blob/master/tools/runqlen.py (Apache 2.0)
168190
5. github.com/iovisor/bcc/blob/master/tools/runqlat.py (Apache 2.0)
169191

170-
** Interference Detector currently supports "Skylake", "Cascade Lake", "Ice Lake", and "Sapphire Rapids" platforms only. It also supports AWS metal instances where PMUs are availabel (e.g., r5.metal, m5.metal, m6i.metal, etc.).
192+
** Interference Detector currently supports "Skylake", "Cascade Lake", "Ice Lake", and "Sapphire Rapids" platforms only. It also supports AWS metal instances where PMUs are available (e.g., r5.metal, m5.metal, m6i.metal, etc.). For AWS Single socket instances (r.g., c5.12xlarge, c6i.16xlarge), offcore counters are not available. Hence offcore metrics (e.g., local_bw, remote_bw) will be zeroed out.
171193

0 commit comments

Comments
 (0)