Skip to content
This repository has been archived by the owner on Sep 5, 2023. It is now read-only.

Commit

Permalink
Merge pull request #1226 from osalyk/cpuload_part
Browse files Browse the repository at this point in the history
tools: add part_cpuload templates
  • Loading branch information
Jan Michalski committed Aug 27, 2021
2 parents e35f70c + 3356441 commit 051ee00
Show file tree
Hide file tree
Showing 3 changed files with 202 additions and 12 deletions.
24 changes: 12 additions & 12 deletions tools/perf/figures/cpuload.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"title": "Latency ({y}): APM to PMEM vs GPSPM(-RT) to PMEM with the target CPU under load",
"x": "cpuload",
"y": ["lat_avg", "lat_pctl_99.9", "lat_pctl_99.99"],
"file": "lat_apm_vs_gpspm_cpu",
"key": "00_99_{y_key}",
"file": "apm_vs_gpspm_cpu_00_99",
"key": "{y_key}",
"fstrings": ["title", "key"]
},
"series_common": {
Expand Down Expand Up @@ -47,8 +47,8 @@
"title": "Latency ({y}): APM to PMEM vs GPSPM(-RT) to PMEM with the target CPU under load",
"x": "cpuload",
"y": ["lat_avg", "lat_pctl_99.9", "lat_pctl_99.99"],
"file": "lat_apm_vs_gpspm_cpu",
"key": "75_99_{y_key}",
"file": "apm_vs_gpspm_cpu_75_99",
"key": "{y_key}",
"fstrings": ["title", "key"]
},
"series_common": {
Expand Down Expand Up @@ -90,8 +90,8 @@
"title": "Bandwidth: APM to PMEM vs GPSPM(-RT) to PMEM with the target CPU under load",
"x": "cpuload",
"y": "bw_avg",
"file": "bw_apm_vs_gpspm_cpu",
"key": "00_99"
"file": "apm_vs_gpspm_cpu_00_99",
"key": "bw"
},
"series_common": {
"mode": "bw-cpu",
Expand Down Expand Up @@ -132,8 +132,8 @@
"title": "Bandwidth: APM to PMEM vs GPSPM(-RT) to PMEM with the target CPU under load",
"x": "cpuload",
"y": "bw_avg",
"file": "bw_apm_vs_gpspm_cpu",
"key": "75_99"
"file": "apm_vs_gpspm_cpu_75_99",
"key": "bw"
},
"series_common": {
"mode": "bw-cpu",
Expand Down Expand Up @@ -174,8 +174,8 @@
"title": "Bandwidth: APM to PMEM vs GPSPM(-RT) to PMEM with the target CPU under load",
"x": "cpuload",
"y": "bw_avg",
"file": "bw_apm_vs_gpspm_cpu_mt",
"key": "00_99"
"file": "apm_vs_gpspm_cpu_00_99",
"key": "bw_mt"
},
"series_common": {
"mode": "bw-cpu-mt",
Expand Down Expand Up @@ -216,8 +216,8 @@
"title": "Bandwidth: APM to PMEM vs GPSPM(-RT) to PMEM with the target CPU under load",
"x": "cpuload",
"y": "bw_avg",
"file": "bw_apm_vs_gpspm_cpu_mt",
"key": "75_99"
"file": "apm_vs_gpspm_cpu_75_99",
"key": "bw_mt"
},
"series_common": {
"mode": "bw-cpu-mt",
Expand Down
143 changes: 143 additions & 0 deletions tools/perf/templates/part_cpuload.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
{
"common": {
"server_global": [
"create_serialize=0",
"kb_base=1000",
"serverip=$serverip",
"port=7204",
"thread"
],
"server_cpu": [
"[cpuio]",
"ioengine=cpuio",
"cpuload={0, 25, 50, 75, 80, 85, 90, 95, 99, 100}",
"numjobs=$cores_per_socket"
],
"client_global": [
"create_serialize=0",
"serverip=$serverip",
"port=7204",
"thread",
"disable_clat=1",
"lat_percentiles=1",
"percentile_list=99.0:99.9:99.99:99.999"
],
"client_common": [
"readwrite={write, randwrite}",
"blocksize=$blocksize",
"ramp_time=15",
"time_based",
"runtime=60"
]
},
"config": {
"lat": {
"type": "kvtable",
"APM Server - FIO engine configuration": [
"[global]",
"ioengine=librpma_apm_server",
"{server_global}",
"",
"[server]",
"direct_write_to_pmem=1",
"numjobs=1",
"size=100MiB",
"filename=/dev/dax/path",
"",
"{server_cpu}"
],
"APM Client - FIO engine configuration": [
"[global]",
"ioengine=librpma_apm_client",
"{client_global}",
"",
"[client]",
"sync=1",
"{client_common}"
],
"GPSPM(-RT) Server - FIO engine configuration": [
"[global]",
"ioengine=librpma_gpspm_server",
"{server_global}",
"",
"[server]",
"direct_write_to_pmem=0",
"numjobs=1",
"iodepth=1",
"size=100MiB",
"filename=/dev/dax/path",
"busy_wait_polling={{0, 1}} # 1 for GPSPM-RT",
"",
"time_based",
"runtime=365d",
"",
"{server_cpu}"
],
"GPSPM(-RT) Client - FIO engine configuration": [
"[global]",
"ioengine=librpma_gpspm_client",
"{client_global}",
"",
"[client]",
"sync=1",
"{client_common}"
]
},
"bw": {
"type": "kvtable",
"APM Server - FIO engine configuration": [
"[global]",
"ioengine=librpma_apm_server",
"{server_global}",
"",
"[server]",
"direct_write_to_pmem=1",
"numjobs=$numjobs",
"size=100MiB",
"filename=/dev/dax/path",
"",
"{server_cpu}"
],
"APM Client - FIO engine configuration": [
"[global]",
"ioengine=librpma_apm_client",
"{client_global}",
"",
"[client]",
"numjobs=$numjobs",
"group_reporting=1",
"iodepth=2",
"{client_common}"
],
"GPSPM(-RT) Server - FIO engine configuration": [
"[global]",
"ioengine=librpma_gpspm_server",
"{server_global}",
"",
"[server]",
"direct_write_to_pmem=0",
"numjobs=$numjobs",
"iodepth=2",
"size=100MiB",
"filename=/dev/dax/path",
"busy_wait_polling={{0, 1}} # 1 for GPSPM-RT",
"",
"time_based",
"runtime=365d",
"",
"{server_cpu}"
],
"GPSPM(-RT) Client - FIO engine configuration": [
"[global]",
"ioengine=librpma_gpspm_client",
"{client_global}",
"",
"[client]",
"numjobs=$numjobs",
"group_reporting=1",
"iodepth=2",
"{client_common}"
]
}
}
}
47 changes: 47 additions & 0 deletions tools/perf/templates/part_cpuload.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{% if menu is true %}
<a class="pure-menu-heading" href="#cpuload">CPU load impact</a>
<ul class="pure-menu-list">
<li class="pure-menu-item"><a href="#cpuload-lat" class="pure-menu-link">Latency</a></li>
<li class="pure-menu-item"><a href="#cpuload-bw" class="pure-menu-link">Bandwidth</a></li>
</ul>
{% else %}

<h2 id="cpuload">CPU load impact</h2>

Benchmarking an impact of the CPU load running on **the RPMA Target** on writing data persistently using both ways of achieving remote persistency: **APM** and **GPSPM(-RT)**.

As a starting point are chosen well-performing workload configurations in respect of either latency or bandwidth. The CPU load on **the RPMA Target** is expected to affect all persistency methods requiring active participation of the process running on **the RPMA Target** namely **GPSPM-RT** and **GPSPM**. Whereas **APM** since it does not make use of the CPU of **the RPMA Target** should not be significantly affected.

<h3 id="cpuload-lat">CPU load impact: Latency</h3>

Comparing the latency of **APM** to PMem on **the RPMA Target** vs the latency of **GPSPM(-RT)** to PMem on **the RPMA Target** (with *Direct Write to PMem* disabled) affected by various CPU loads running on **the RPMA Target**.

{{config.lat}}

{{figure.apm_vs_gpspm_cpu_00_99.lat_avg}}

{{figure.apm_vs_gpspm_cpu_00_99.lat_pctl_999}}

{{figure.apm_vs_gpspm_cpu_00_99.lat_pctl_9999}}

{{figure.apm_vs_gpspm_cpu_75_99.lat_avg}}

{{figure.apm_vs_gpspm_cpu_75_99.lat_pctl_999}}

{{figure.apm_vs_gpspm_cpu_75_99.lat_pctl_9999}}

<h3 id="cpuload-bw">CPU load impact: Bandwidth</h3>

Comparing the bandwidth of **APM** to PMem on **the RPMA Target** vs the bandwidth of **GPSPM(-RT)** to PMem on **the RPMA Target** affected by various CPU loads running on **the RPMA Target**.

{{config.bw}}

{{figure.apm_vs_gpspm_cpu_00_99.bw}}

{{figure.apm_vs_gpspm_cpu_00_99.bw_mt}}

{{figure.apm_vs_gpspm_cpu_75_99.bw}}

{{figure.apm_vs_gpspm_cpu_75_99.bw_mt}}

{% endif %}

0 comments on commit 051ee00

Please sign in to comment.