summaryrefslogtreecommitdiff
path: root/Microbenchmarks
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2023-09-21 15:32:31 +0200
committerBirte Kristina Friesel <birte.friesel@uos.de>2023-09-21 15:32:31 +0200
commit7b9abcd1ce738dc161881ce099e3fae4a1a923dc (patch)
tree9b2b78b28ec6f31ede990dddaab2c159a2540d25 /Microbenchmarks
parent2a65365aed0e5083f6a604b94decfb53aac3b103 (diff)
CPU-DPU: add microbenchmarks with background load
Diffstat (limited to 'Microbenchmarks')
-rwxr-xr-xMicrobenchmarks/CPU-DPU/run-alloc.sh39
-rwxr-xr-xMicrobenchmarks/CPU-DPU/run-load.sh65
2 files changed, 104 insertions, 0 deletions
diff --git a/Microbenchmarks/CPU-DPU/run-alloc.sh b/Microbenchmarks/CPU-DPU/run-alloc.sh
new file mode 100755
index 0000000..d3e509e
--- /dev/null
+++ b/Microbenchmarks/CPU-DPU/run-alloc.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+trap 'pkill -f "stress -c 32"' INT
+
+set -e
+
+: > tinos-idle.txt
+: > tinos-stress-c32.txt
+: > tinos-nice-stress-c32.txt
+
+for i in 1 2 4 8 16 32 48 64 80 96 112 $(seq 128 32 2543) 2543; do
+ for j in $(seq 0 32); do
+ echo $i/2543 $j/32
+ ./make-size.sh $j
+ n_nops=$((j * 128))
+ if make -B NR_DPUS=$i NR_TASKLETS=1 BL=10 DPU_BINARY=\'\"bin/dpu_size\"\'; then
+ uptime
+ for l in $(seq 1 40); do
+ bin/host_code -w 1 -e 0 -x 1 -i 65536 -N $n_nops >> tinos-idle.txt || true
+ done
+ stress -c 32 &
+ sleep 2
+ uptime
+ for l in $(seq 1 40); do
+ bin/host_code -w 1 -e 0 -x 1 -i 65536 -N $n_nops >> tinos-stress-c32.txt || true
+ done
+ pkill -f 'stress -c 32'
+ sleep 30
+ nice stress -c 32 &
+ sleep 2
+ uptime
+ for l in $(seq 1 40); do
+ bin/host_code -w 1 -e 0 -x 1 -i 65536 -N $n_nops >> tinos-nice-stress-c32.txt || true
+ done
+ pkill -f 'stress -c 32'
+ sleep 30
+ fi
+ done
+done
diff --git a/Microbenchmarks/CPU-DPU/run-load.sh b/Microbenchmarks/CPU-DPU/run-load.sh
new file mode 100755
index 0000000..e4a3460
--- /dev/null
+++ b/Microbenchmarks/CPU-DPU/run-load.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+trap 'pkill -f "stress -c 32"' INT
+
+set -e
+
+: > tinos-transfer-idle.txt
+: > tinos-transfer-stress-c32.txt
+: > tinos-transfer-nice-stress-c32.txt
+
+./make-size.sh 0
+
+for i in 1 2 4 8 16 32 48 64 80 96 112 $(seq 128 32 512); do
+ for j in 1; do
+ for k in SERIAL PUSH BROADCAST; do
+ # 8 B ... 64 MB
+ for l in 1 4 16 64 256 1024 4096 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 6291456 838868; do
+ echo $i $j $k $l
+ make -B NR_DPUS=$i NR_TASKLETS=$j BL=10 TRANSFER=$k
+ bin/host_code -w 0 -e 50 -x 1 -i $l >> tinos-transfer-idle.txt || true
+
+ stress -c 32 &
+ sleep 2
+ uptime
+ bin/host_code -w 0 -e 50 -x 1 -i $l >> tinos-transfer-stress-c32.txt || true
+ pkill -f 'stress -c 32'
+ sleep 30
+
+ nice stress -c 32 &
+ sleep 2
+ uptime
+ bin/host_code -w 0 -e 50 -x 1 -i $l >> tinos-transfer-nice-stress-c32.txt || true
+ pkill -f 'stress -c 32'
+ sleep 30
+ done
+ done
+ done
+done
+
+for i in $(seq 512 32 2543) 2543; do
+ for j in 1; do
+ for k in SERIAL PUSH BROADCAST; do
+ # 1 MB ... 1024 MB
+ for l in 1048576 2097152 4194304 6291456 838868 1677736 3355472 6710944 13421888; do
+ echo $i $j $k $l
+ make -B NR_DPUS=$i NR_TASKLETS=$j BL=10 TRANSFER=$k
+ bin/host_code -w 0 -e 50 -x 1 -i $l >> tinos-transfer-idle.txt || true
+
+ stress -c 32 &
+ sleep 2
+ uptime
+ bin/host_code -w 0 -e 50 -x 1 -i $l >> tinos-transfer-stress-c32.txt || true
+ pkill -f 'stress -c 32'
+ sleep 30
+
+ nice stress -c 32 &
+ sleep 2
+ uptime
+ bin/host_code -w 0 -e 50 -x 1 -i $l >> tinos-transfer-nice-stress-c32.txt || true
+ pkill -f 'stress -c 32'
+ sleep 30
+ done
+ done
+ done
+done