Skip to content

Commit

Permalink
Adding metric for UPI receive bandwidth.
Browse files Browse the repository at this point in the history
  • Loading branch information
1perrytaylor committed Nov 9, 2023
1 parent 3fd99dc commit 59e3011
Show file tree
Hide file tree
Showing 10 changed files with 135 additions and 5 deletions.
21 changes: 20 additions & 1 deletion CLX/metrics/cascadelakex_metrics.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"Header": {
"Copyright": "Copyright (c) 2001 - 2023 Intel Corporation. All rights reserved.",
"Info": "Performance Monitoring Metrics for 2nd Generation Intel(R) Xeon(R) Processor Scalable Family based on Cascade Lake product - V",
"DatePublished": "05/12/2023",
"DatePublished": "11/09/2023",
"Version": "",
"Legend": ""
},
Expand Down Expand Up @@ -984,6 +984,25 @@
"ResolutionLevels": "CHA, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "upi_data_receive_bw",
"LegacyName": "metric_UPI Data receive BW (MB/sec) (only data)",
"Level": 1,
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"UnitOfMeasure": "MB/sec",
"Events": [
{
"Name": "UNC_UPI_RxL_FLITS.ALL_DATA",
"Alias": "a"
}
],
"Constants": [],
"Formula": "(a * (64 / 9.0) / 1000000) / DURATIONTIMEINSECONDS",
"Category": "",
"Threshold": "",
"ResolutionLevels": "UPI, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "Frontend_Bound",
"LegacyName": "metric_TMA_Frontend_Bound(%)",
Expand Down
7 changes: 7 additions & 0 deletions CLX/metrics/perf/cascadelakex_metrics_perf.json
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,13 @@
"MetricName": "llc_miss_remote_memory_bandwidth_read",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"MetricExpr": "( UNC_UPI_RxL_FLITS.ALL_DATA * (64 / 9.0) / 1000000) / duration_time",
"MetricGroup": "",
"MetricName": "upi_data_receive_bw",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. Frontend denotes the first part of the processor core responsible to fetch operations that are executed later on by the Backend part. Within the Frontend; a branch predictor predicts the next address to fetch; cache-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into micro-operations (uops). Ideally the Frontend can issue Pipeline_Width uops every cycle to the Backend. Frontend Bound denotes unutilized issue-slots when there is no Backend stall; i.e. bubbles where Frontend delivered no uops while Backend could have accepted them. For example; stalls due to instruction-cache misses would be categorized under Frontend Bound.",
"MetricExpr": "( IDQ_UOPS_NOT_DELIVERED.CORE / ( ( 4 ) * ( ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else ( CPU_CLK_UNHALTED.THREAD ) ) ) )",
Expand Down
21 changes: 20 additions & 1 deletion EMR/metrics/emeraldrapids_metrics.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"Header": {
"Copyright": "Copyright (c) 2001 - 2023 Intel Corporation. All rights reserved.",
"Info": "Performance Monitoring Metrics for 5th Generation Intel(R) Xeon(R) Processor Scalable Family",
"DatePublished": "10/25/2023",
"DatePublished": "11/09/2023",
"Version": "",
"Legend": ""
},
Expand Down Expand Up @@ -1067,6 +1067,25 @@
"ResolutionLevels": "CHA, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "upi_data_receive_bw",
"LegacyName": "metric_UPI Data receive BW (MB/sec) (only data)",
"Level": 1,
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"UnitOfMeasure": "MB/sec",
"Events": [
{
"Name": "UNC_UPI_RxL_FLITS.ALL_DATA",
"Alias": "a"
}
],
"Constants": [],
"Formula": "(a * (64 / 9.0) / 1000000) / DURATIONTIMEINSECONDS",
"Category": "",
"Threshold": "",
"ResolutionLevels": "UPI, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "llc_miss_remote_memory_bandwidth_write",
"LegacyName": "metric_llc_miss_remote_memory_bandwidth_write_MB/s",
Expand Down
7 changes: 7 additions & 0 deletions EMR/metrics/perf/emeraldrapids_metrics_perf.json
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,13 @@
"MetricName": "llc_miss_remote_memory_bandwidth_read",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"MetricExpr": "( UNC_UPI_RxL_FLITS.ALL_DATA * (64 / 9.0) / 1000000) / duration_time",
"MetricGroup": "",
"MetricName": "upi_data_receive_bw",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "Bandwidth (MB/sec) of write requests that miss the last level cache (LLC) and go to remote memory.",
"MetricExpr": "( UNC_CHA_REQUESTS.WRITES_REMOTE * 64 / 1000000) / duration_time",
Expand Down
21 changes: 20 additions & 1 deletion ICX/metrics/icelakex_metrics.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"Header": {
"Copyright": "Copyright (c) 2001 - 2023 Intel Corporation. All rights reserved.",
"Info": "Performance Monitoring Metrics for 3rd Generation Intel(R) Xeon(R) Processor Scalable Family based on Ice Lake microarchitecture - V",
"DatePublished": "05/12/2023",
"DatePublished": "11/09/2023",
"Version": "",
"Legend": ""
},
Expand Down Expand Up @@ -1122,6 +1122,25 @@
"ResolutionLevels": "CHA, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "upi_data_receive_bw",
"LegacyName": "metric_UPI Data receive BW (MB/sec) (only data)",
"Level": 1,
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"UnitOfMeasure": "MB/sec",
"Events": [
{
"Name": "UNC_UPI_RxL_FLITS.ALL_DATA",
"Alias": "a"
}
],
"Constants": [],
"Formula": "(a * (64 / 9.0) / 1000000) / DURATIONTIMEINSECONDS",
"Category": "",
"Threshold": "",
"ResolutionLevels": "UPI, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "Frontend_Bound",
"LegacyName": "metric_TMA_Frontend_Bound(%)",
Expand Down
7 changes: 7 additions & 0 deletions ICX/metrics/perf/icelakex_metrics_perf.json
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,13 @@
"MetricName": "llc_miss_remote_memory_bandwidth_write",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"MetricExpr": "( UNC_UPI_RxL_FLITS.ALL_DATA * (64 / 9.0) / 1000000) / duration_time",
"MetricGroup": "",
"MetricName": "upi_data_receive_bw",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. Frontend denotes the first part of the processor core responsible to fetch operations that are executed later on by the Backend part. Within the Frontend; a branch predictor predicts the next address to fetch; cache-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into micro-operations (uops). Ideally the Frontend can issue Pipeline_Width uops every cycle to the Backend. Frontend Bound denotes unutilized issue-slots when there is no Backend stall; i.e. bubbles where Frontend delivered no uops while Backend could have accepted them. For example; stalls due to instruction-cache misses would be categorized under Frontend Bound.",
"MetricExpr": "( topdown\\-fe\\-bound / ( topdown\\-fe\\-bound + topdown\\-bad\\-spec + topdown\\-retiring + topdown\\-be\\-bound ) - INT_MISC.UOP_DROPPING / ( slots ) )",
Expand Down
7 changes: 7 additions & 0 deletions SKX/metrics/perf/skylakex_metrics_perf.json
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,13 @@
"MetricName": "llc_miss_remote_memory_bandwidth_read",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"MetricExpr": "( UNC_UPI_RxL_FLITS.ALL_DATA * (64 / 9.0) / 1000000) / duration_time",
"MetricGroup": "",
"MetricName": "upi_data_receive_bw",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. Frontend denotes the first part of the processor core responsible to fetch operations that are executed later on by the Backend part. Within the Frontend; a branch predictor predicts the next address to fetch; cache-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into micro-operations (uops). Ideally the Frontend can issue Pipeline_Width uops every cycle to the Backend. Frontend Bound denotes unutilized issue-slots when there is no Backend stall; i.e. bubbles where Frontend delivered no uops while Backend could have accepted them. For example; stalls due to instruction-cache misses would be categorized under Frontend Bound.",
"MetricExpr": "( IDQ_UOPS_NOT_DELIVERED.CORE / ( ( 4 ) * ( ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else ( CPU_CLK_UNHALTED.THREAD ) ) ) )",
Expand Down
21 changes: 20 additions & 1 deletion SKX/metrics/skylakex_metrics.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"Header": {
"Copyright": "Copyright (c) 2001 - 2023 Intel Corporation. All rights reserved.",
"Info": "Performance Monitoring Metrics for Intel(R) Xeon(R) Processor Scalable Family based on Skylake microarchitecture - V",
"DatePublished": "05/12/2023",
"DatePublished": "11/09/2023",
"Version": "",
"Legend": ""
},
Expand Down Expand Up @@ -899,6 +899,25 @@
"ResolutionLevels": "CHA, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "upi_data_receive_bw",
"LegacyName": "metric_UPI Data receive BW (MB/sec) (only data)",
"Level": 1,
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"UnitOfMeasure": "MB/sec",
"Events": [
{
"Name": "UNC_UPI_RxL_FLITS.ALL_DATA",
"Alias": "a"
}
],
"Constants": [],
"Formula": "(a * (64 / 9.0) / 1000000) / DURATIONTIMEINSECONDS",
"Category": "",
"Threshold": "",
"ResolutionLevels": "UPI, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "Frontend_Bound",
"LegacyName": "metric_TMA_Frontend_Bound(%)",
Expand Down
7 changes: 7 additions & 0 deletions SPR/metrics/perf/sapphirerapids_metrics_perf.json
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,13 @@
"MetricName": "llc_miss_remote_memory_bandwidth_write",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"MetricExpr": "( UNC_UPI_RxL_FLITS.ALL_DATA * (64 / 9.0) / 1000000) / duration_time",
"MetricGroup": "",
"MetricName": "upi_data_receive_bw",
"ScaleUnit": "1MB/s"
},
{
"BriefDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. Frontend denotes the first part of the processor core responsible to fetch operations that are executed later on by the Backend part. Within the Frontend; a branch predictor predicts the next address to fetch; cache-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into micro-operations (uops). Ideally the Frontend can issue Machine_Width uops every cycle to the Backend. Frontend Bound denotes unutilized issue-slots when there is no Backend stall; i.e. bubbles where Frontend delivered no uops while Backend could have accepted them. For example; stalls due to instruction-cache misses would be categorized under Frontend Bound.",
"MetricExpr": "( topdown\\-fe\\-bound / ( topdown\\-fe\\-bound + topdown\\-bad\\-spec + topdown\\-retiring + topdown\\-be\\-bound ) - INT_MISC.UOP_DROPPING / ( slots ) )",
Expand Down
21 changes: 20 additions & 1 deletion SPR/metrics/sapphirerapids_metrics.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"Header": {
"Copyright": "Copyright (c) 2001 - 2023 Intel Corporation. All rights reserved.",
"Info": "Performance Monitoring Metrics for 4th Generation Intel(R) Xeon(R) Processor Scalable Family based on Sapphire Rapids microarchitecture - V",
"DatePublished": "05/12/2023",
"DatePublished": "11/09/2023",
"Version": "",
"Legend": ""
},
Expand Down Expand Up @@ -1106,6 +1106,25 @@
"ResolutionLevels": "CHA, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "upi_data_receive_bw",
"LegacyName": "metric_UPI Data receive BW (MB/sec) (only data)",
"Level": 1,
"BriefDescription": "Intel(R) Ultra Path Interconnect (UPI) data receive bandwidth (MB/sec)",
"UnitOfMeasure": "MB/sec",
"Events": [
{
"Name": "UNC_UPI_RxL_FLITS.ALL_DATA",
"Alias": "a"
}
],
"Constants": [],
"Formula": "(a * (64 / 9.0) / 1000000) / DURATIONTIMEINSECONDS",
"Category": "",
"Threshold": "",
"ResolutionLevels": "UPI, SOCKET, SYSTEM",
"MetricGroup": ""
},
{
"MetricName": "Frontend_Bound",
"LegacyName": "metric_TMA_Frontend_Bound(%)",
Expand Down

0 comments on commit 59e3011

Please sign in to comment.