summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Bakita <jbakita@cs.unc.edu>2020-10-22 03:42:36 -0400
committerJoshua Bakita <jbakita@cs.unc.edu>2020-10-22 03:49:48 -0400
commite03d81c688e1070c16025c2a215ccb1a24ce2098 (patch)
tree36253f0249be4f52799cabbdd3e36ae39bcd1894
parent163c440444c74a4e0bbe0a8db3d1ca725413994b (diff)
Get all the SD-VBS tests running and add a helper script + typo fix
- Add a run_all_sd-vbs.sh script - Fix a typo in run_all_tacle.sh - Fix an issue with reversed arguments for asynchronous task pairs in run_bench.sh
-rwxr-xr-xrun_all_sd-vbs.sh67
-rwxr-xr-xrun_all_tacle.sh10
-rwxr-xr-xrun_bench.sh8
3 files changed, 78 insertions, 7 deletions
diff --git a/run_all_sd-vbs.sh b/run_all_sd-vbs.sh
new file mode 100755
index 0000000..1f5948d
--- /dev/null
+++ b/run_all_sd-vbs.sh
@@ -0,0 +1,67 @@
1#!/bin/bash
2# Copyright 2020 Joshua Bakita
3# Runs SD-VBS in every configuration needed
4# for the paper and schedulability studies
5
6maxJobs=$1
7runID=$2
8
9if [ $# -lt 2 ]; then
10 echo "Usage $0 <number of iterations> <run ID>"
11 exit
12fi
13if [[ "$EUID" != 0 ]]; then
14 echo "You need to be root to enable spatial isolation!"
15 exit
16fi
17date
18
19# Run the pairs baseline and some comparisons to examine the effect of less cache
20echo "Building benchmarks in unpaired configuration..."
21cd SD-VBS/benchmarks
22make compile -j30 > /dev/null # Suppress noisy output
23cd ..
24echo "Done. Running experiments..."
25# Full L3, full L2 - xi is the baseline for the pairs
26baseXI=SD-VBS/$(date +"%b%d-%H")-c-xi-$runID.txt
27echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b sd-vbsNames.txt -B -I xi $runID
28# Half L3, full L2 - i3 sees effect of half L3
29baseI3=SD-VBS/$(date +"%b%d-%H")-c-i3-$runID.txt
30echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b sd-vbsNames.txt -B -I i3 $runID
31# Half L3, half L2 - additional effect of half L2
32baseI=SD-VBS/$(date +"%b%d-%H")-c-i-$runID.txt
33echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b sd-vbsNames.txt -B -I i $runID
34date
35
36# Run the Level-C pairs
37pairC=SD-VBS/$(date +"%b%d-%H")-c-xi-async-$runID.txt
38echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I xi -A $runID
39date
40
41# Run the Level-A/-B pairs
42echo "Building benchmarks in paired configuration..."
43cd benchmarks
44make CFLAGS=-DPAIRED compile -j30 > /dev/null # Suppress noisy output
45cd ..
46echo "Done. Continuing experiments..."
47# No cache isolation
48pairXI=SD-VBS/$(date +"%b%d-%H")-c-xi-$runID"-A.txt and -B.txt"
49echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I xi $runID
50# Shared L2, split L3
51pairI3=SD-VBS/$(date +"%b%d-%H")-c-i3-$runID"-A.txt and -B.txt"
52echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I i3 $runID
53# Split L2, split L3
54pairI=SD-VBS/$(date +"%b%d-%H")-c-i-$runID"-A.txt and -B.txt"
55echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I i $runID
56date
57
58echo "==== DONE ===="
59echo "Results are in:"
60echo "- $baseXI"
61echo "- $baseI3"
62echo "- $baseI"
63echo "- $pairXI"
64echo "- $pairI3"
65echo "- $pairI"
66echo "- $pairC"
67
diff --git a/run_all_tacle.sh b/run_all_tacle.sh
index c0f07cc..51a9c24 100755
--- a/run_all_tacle.sh
+++ b/run_all_tacle.sh
@@ -10,6 +10,10 @@ if [ $# -lt 2 ]; then
10 echo "Usage $0 <number of iterations> <run ID>" 10 echo "Usage $0 <number of iterations> <run ID>"
11 exit 11 exit
12fi 12fi
13if [[ "$EUID" != 0 ]]; then
14 echo "You need to be root to enable spatial isolation!"
15 exit
16fi
13date 17date
14 18
15# Run the pairs baseline and some comparisons to examine the effect of less cache 19# Run the pairs baseline and some comparisons to examine the effect of less cache
@@ -30,13 +34,13 @@ date
30cd ../all_pairs 34cd ../all_pairs
31make all -j32 35make all -j32
32# No cache isolation 36# No cache isolation
33pairXI=all_pairs/$(date +"%b%d-%H")-c-xi-$runID.txt 37pairXI=all_pairs/$(date +"%b%d-%H")-c-xi-$runID"-A.txt and -B.txt"
34echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I xi $runID 38echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I xi $runID
35# Shared L2, split L3 39# Shared L2, split L3
36pairI3=all_pairs/$(date +"%b%d-%H")-c-i3-$runID.txt 40pairI3=all_pairs/$(date +"%b%d-%H")-c-i3-$runID"-A.txt and -B.txt"
37echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I i3 $runID 41echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I i3 $runID
38# Split L2, split L3 42# Split L2, split L3
39pairI=all_pairs/$(date +"%b%d-%H")-c-i-$runID.txt 43pairI=all_pairs/$(date +"%b%d-%H")-c-i-$runID"-A.txt and -B.txt"
40echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I i $runID 44echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I i $runID
41date 45date
42 46
diff --git a/run_bench.sh b/run_bench.sh
index 250d843..ddc6bcc 100755
--- a/run_bench.sh
+++ b/run_bench.sh
@@ -373,11 +373,11 @@ for (( i = 0; i < ${#bench[@]} ; i++ )); do
373 else 373 else
374 # No synchronization between pairs - original soft real-time SMT approach 374 # No synchronization between pairs - original soft real-time SMT approach
375 if [[ -v $LITMUS ]]; then 375 if [[ -v $LITMUS ]]; then
376 echo "${input[$i]}" | numactl $numa_arg0 taskset -c $core $prefix/${bench[$j]} ${bench[$j]} -1 $core NULL 0 & PID1=$!; 376 echo "${input[$j]}" | numactl $numa_arg0 taskset -c $core $prefix/${bench[$j]} ${bench[$j]} -1 $core NULL 0 & PID1=$!;
377 echo "${input[$j]}" | numactl $numa_arg1 taskset -c $core_two $prefix/${bench[$i]} ${bench[$i]}"+"${bench[$j]} $maxJobs $core_two $runID-$userRunID 1 & PID2=$!; 377 echo "${input[$i]}" | numactl $numa_arg1 taskset -c $core_two $prefix/${bench[$i]} ${bench[$i]}"+"${bench[$j]} $maxJobs $core_two $runID-$userRunID 1 & PID2=$!;
378 else 378 else
379 echo "${input[$i]}" | chrt -r 97 numactl $numa_arg0 taskset -c $core $prefix/${bench[$j]} ${bench[$j]} -1 $core NULL 0 & PID1=$!; 379 echo "${input[$j]}" | chrt -r 97 numactl $numa_arg0 taskset -c $core $prefix/${bench[$j]} ${bench[$j]} -1 $core NULL 0 & PID1=$!;
380 echo "${input[$j]}" | chrt -r 97 numactl $numa_arg1 taskset -c $core_two $prefix/${bench[$i]} ${bench[$i]}"+"${bench[$j]} $maxJobs $core_two $runID-$userRunID 1 & PID2=$!; 380 echo "${input[$i]}" | chrt -r 97 numactl $numa_arg1 taskset -c $core_two $prefix/${bench[$i]} ${bench[$i]}"+"${bench[$j]} $maxJobs $core_two $runID-$userRunID 1 & PID2=$!;
381 fi 381 fi
382 wait $PID2 382 wait $PID2
383 kill $PID1 383 kill $PID1