mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-08 12:56:48 +00:00
Add scheduler benchmarks to benchmark CI
This commit is contained in:
parent
7cf8df4c3c
commit
781cb179ff
9
.github/workflows/benchmark_asterinas.yml
vendored
9
.github/workflows/benchmark_asterinas.yml
vendored
@ -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
|
||||
|
@ -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):
|
||||
|
16
test/benchmark/hackbench/group8_smp1/bench_result.json
Normal file
16
test/benchmark/hackbench/group8_smp1/bench_result.json
Normal 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}"
|
||||
}
|
||||
}
|
5
test/benchmark/hackbench/group8_smp1/run.sh
Normal file
5
test/benchmark/hackbench/group8_smp1/run.sh
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
/benchmark/bin/hackbench -g 8 -l 1000 -p -T
|
19
test/benchmark/hackbench/group8_smp16/bench_result.json
Normal file
19
test/benchmark/hackbench/group8_smp16/bench_result.json
Normal 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
|
||||
}
|
||||
}
|
5
test/benchmark/hackbench/group8_smp16/run.sh
Normal file
5
test/benchmark/hackbench/group8_smp16/run.sh
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
/benchmark/bin/hackbench -g 8 -l 1000 -p -T
|
19
test/benchmark/hackbench/group8_smp8/bench_result.json
Normal file
19
test/benchmark/hackbench/group8_smp8/bench_result.json
Normal 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
|
||||
}
|
||||
}
|
5
test/benchmark/hackbench/group8_smp8/run.sh
Normal file
5
test/benchmark/hackbench/group8_smp8/run.sh
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
/benchmark/bin/hackbench -g 8 -l 1000 -p -T
|
4
test/benchmark/hackbench/summary.json
Normal file
4
test/benchmark/hackbench/summary.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"benchmarks": [
|
||||
]
|
||||
}
|
17
test/benchmark/schbench/smp1/bench_results/p50_rps_smp1.json
Normal file
17
test/benchmark/schbench/smp1/bench_results/p50_rps_smp1.json
Normal 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}"
|
||||
}
|
||||
}
|
@ -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}"
|
||||
}
|
||||
}
|
@ -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}"
|
||||
}
|
||||
}
|
8
test/benchmark/schbench/smp1/run.sh
Normal file
8
test/benchmark/schbench/smp1/run.sh
Normal 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
|
20
test/benchmark/schbench/smp8/bench_results/p50_rps_smp1.json
Normal file
20
test/benchmark/schbench/smp8/bench_results/p50_rps_smp1.json
Normal 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
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
8
test/benchmark/schbench/smp8/run.sh
Normal file
8
test/benchmark/schbench/smp8/run.sh
Normal 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
|
4
test/benchmark/schbench/summary.json
Normal file
4
test/benchmark/schbench/summary.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"benchmarks": [
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user