Add scheduler benchmarks to benchmark CI

This commit is contained in:
Zejun Zhao 2024-12-13 20:47:42 +08:00 committed by Tate, Hongliang Tian
parent 7cf8df4c3c
commit 781cb179ff
18 changed files with 214 additions and 1 deletions

View File

@ -59,7 +59,7 @@ jobs:
- fio/ext2_seq_read_bw
- fio/ext2_seq_write_bw_no_iommu
- fio/ext2_seq_read_bw_no_iommu
# Network-related benchmark
# Network-related benchmarks
- lmbench/tcp_loopback_bw_4k
- lmbench/tcp_loopback_bw_64k
- lmbench/tcp_loopback_lat
@ -70,6 +70,13 @@ jobs:
- lmbench/tcp_virtio_lat
- lmbench/udp_loopback_lat
- iperf3/tcp_virtio_bw
# Scheduler-related benchmarks
- hackbench/group8_smp1
# FIXME: hackbench panics on multi-core settings now.
# - hackbench/group8_smp8
# - hackbench/group8_smp16
- schbench/smp1
- schbench/smp8
# Nginx benchmarks
- nginx/http_req10k_conc1_bw
- nginx/http_req10k_conc20_bw

View File

@ -122,6 +122,8 @@ $(INITRAMFS)/benchmark/bin:
@cp /usr/local/leveldb/benchmark/db_bench $@
@mv $@/db_bench $@/db_bench_leveldb
@cp /usr/local/leveldb/benchmark/db_bench_sqlite3 $@
@cp /usr/local/benchmark/hackbench $@
@cp /usr/local/benchmark/schbench $@
# Make necessary directories.
$(INITRAMFS_EMPTY_DIRS):

View File

@ -0,0 +1,16 @@
{
"alert": {
"threshold": "130%",
"bigger_is_better": false
},
"result_extraction": {
"search_pattern": "Time:",
"result_index": 2
},
"chart": {
"title": "[Scheduler] Turnaround time of 8 groups using 1 CPU",
"description": "hackbench -g 8 -l 1000 -p -T",
"unit": "sec",
"legend": "Turnaround time of hackbench on {system}"
}
}

View File

@ -0,0 +1,5 @@
#!/bin/sh
# SPDX-License-Identifier: MPL-2.0
/benchmark/bin/hackbench -g 8 -l 1000 -p -T

View File

@ -0,0 +1,19 @@
{
"alert": {
"threshold": "130%",
"bigger_is_better": false
},
"result_extraction": {
"search_pattern": "Time:",
"result_index": 2
},
"chart": {
"title": "[Scheduler] Turnaround time of 8 groups using 16 CPU",
"description": "hackbench -g 8 -l 1000 -p -T",
"unit": "sec",
"legend": "Turnaround time of hackbench on {system}"
},
"runtime_config": {
"smp": 16
}
}

View File

@ -0,0 +1,5 @@
#!/bin/sh
# SPDX-License-Identifier: MPL-2.0
/benchmark/bin/hackbench -g 8 -l 1000 -p -T

View File

@ -0,0 +1,19 @@
{
"alert": {
"threshold": "130%",
"bigger_is_better": false
},
"result_extraction": {
"search_pattern": "Time:",
"result_index": 2
},
"chart": {
"title": "[Scheduler] Turnaround time of 8 groups using 8 CPU",
"description": "hackbench -g 8 -l 1000 -p -T",
"unit": "sec",
"legend": "Turnaround time of hackbench on {system}"
},
"runtime_config": {
"smp": 8
}
}

View File

@ -0,0 +1,5 @@
#!/bin/sh
# SPDX-License-Identifier: MPL-2.0
/benchmark/bin/hackbench -g 8 -l 1000 -p -T

View File

@ -0,0 +1,4 @@
{
"benchmarks": [
]
}

View File

@ -0,0 +1,17 @@
{
"alert": {
"threshold": "130%",
"bigger_is_better": true
},
"result_extraction": {
"search_pattern": "\\*",
"nth_occurrence": 3,
"result_index": 3
},
"chart": {
"title": "[Scheduler] P50 RPS while max-loading the only CPU",
"description": "schbench -F 256 -n 5 -r 90",
"unit": "requests per second",
"legend": "P50 RPS of schbench on {system}"
}
}

View File

@ -0,0 +1,17 @@
{
"alert": {
"threshold": "130%",
"bigger_is_better": false
},
"result_extraction": {
"search_pattern": "\\*",
"nth_occurrence": 2,
"result_index": 3
},
"chart": {
"title": "[Scheduler] P99 request latency while max-loading the only CPU",
"description": "schbench -F 256 -n 5 -r 90",
"unit": "\u00b5s",
"legend": "P99 request latency of schbench on {system}"
}
}

View File

@ -0,0 +1,17 @@
{
"alert": {
"threshold": "130%",
"bigger_is_better": false
},
"result_extraction": {
"search_pattern": "\\*",
"nth_occurrence": 1,
"result_index": 3
},
"chart": {
"title": "[Scheduler] P99 wakeup latency while max-loading the only CPU",
"description": "schbench -F 256 -n 5 -r 90",
"unit": "\u00b5s",
"legend": "P99 wakeup latency of schbench on {system}"
}
}

View File

@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: MPL-2.0
RUNTIME=90
REPORT_INTERVAL=$((RUNTIME+10))
/benchmark/bin/schbench -F 256 -n 5 -r $RUNTIME -i $REPORT_INTERVAL

View File

@ -0,0 +1,20 @@
{
"alert": {
"threshold": "130%",
"bigger_is_better": true
},
"result_extraction": {
"search_pattern": "\\*",
"nth_occurrence": 3,
"result_index": 3
},
"chart": {
"title": "[Scheduler] P50 RPS while max-loading the only CPU",
"description": "schbench -F 256 -n 5 -r 90",
"unit": "requests per second",
"legend": "P50 RPS of schbench on {system}"
},
"runtime_config": {
"smp": 8
}
}

View File

@ -0,0 +1,20 @@
{
"alert": {
"threshold": "130%",
"bigger_is_better": false
},
"result_extraction": {
"search_pattern": "\\*",
"nth_occurrence": 2,
"result_index": 3
},
"chart": {
"title": "[Scheduler] P99 request latency while max-loading the only CPU",
"description": "schbench -F 256 -n 5 -r 90",
"unit": "\u00b5s",
"legend": "P99 request latency of schbench on {system}"
},
"runtime_config": {
"smp": 8
}
}

View File

@ -0,0 +1,20 @@
{
"alert": {
"threshold": "130%",
"bigger_is_better": false
},
"result_extraction": {
"search_pattern": "\\*",
"nth_occurrence": 1,
"result_index": 3
},
"chart": {
"title": "[Scheduler] P99 wakeup latency while max-loading the only CPU",
"description": "schbench -F 256 -n 5 -r 90",
"unit": "\u00b5s",
"legend": "P99 wakeup latency of schbench on {system}"
},
"runtime_config": {
"smp": 8
}
}

View File

@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: MPL-2.0
RUNTIME=90
REPORT_INTERVAL=$((RUNTIME+10))
/benchmark/bin/schbench -F 256 -n 5 -r $RUNTIME -i $REPORT_INTERVAL

View File

@ -0,0 +1,4 @@
{
"benchmarks": [
]
}