summaryrefslogtreecommitdiff
path: root/Microbenchmarks/CPU-DPU/run-load.sh
blob: e4a346063c298205073d81e0689bc9c182a905a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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