diff options
Diffstat (limited to 'run_all_sd-vbs.sh')
| -rwxr-xr-x | run_all_sd-vbs.sh | 67 |
1 files changed, 67 insertions, 0 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 | |||
| 6 | maxJobs=$1 | ||
| 7 | runID=$2 | ||
| 8 | |||
| 9 | if [ $# -lt 2 ]; then | ||
| 10 | echo "Usage $0 <number of iterations> <run ID>" | ||
| 11 | exit | ||
| 12 | fi | ||
| 13 | if [[ "$EUID" != 0 ]]; then | ||
| 14 | echo "You need to be root to enable spatial isolation!" | ||
| 15 | exit | ||
| 16 | fi | ||
| 17 | date | ||
| 18 | |||
| 19 | # Run the pairs baseline and some comparisons to examine the effect of less cache | ||
| 20 | echo "Building benchmarks in unpaired configuration..." | ||
| 21 | cd SD-VBS/benchmarks | ||
| 22 | make compile -j30 > /dev/null # Suppress noisy output | ||
| 23 | cd .. | ||
| 24 | echo "Done. Running experiments..." | ||
| 25 | # Full L3, full L2 - xi is the baseline for the pairs | ||
| 26 | baseXI=SD-VBS/$(date +"%b%d-%H")-c-xi-$runID.txt | ||
| 27 | echo "" | ../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 | ||
| 29 | baseI3=SD-VBS/$(date +"%b%d-%H")-c-i3-$runID.txt | ||
| 30 | echo "" | ../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 | ||
| 32 | baseI=SD-VBS/$(date +"%b%d-%H")-c-i-$runID.txt | ||
| 33 | echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b sd-vbsNames.txt -B -I i $runID | ||
| 34 | date | ||
| 35 | |||
| 36 | # Run the Level-C pairs | ||
| 37 | pairC=SD-VBS/$(date +"%b%d-%H")-c-xi-async-$runID.txt | ||
| 38 | echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I xi -A $runID | ||
| 39 | date | ||
| 40 | |||
| 41 | # Run the Level-A/-B pairs | ||
| 42 | echo "Building benchmarks in paired configuration..." | ||
| 43 | cd benchmarks | ||
| 44 | make CFLAGS=-DPAIRED compile -j30 > /dev/null # Suppress noisy output | ||
| 45 | cd .. | ||
| 46 | echo "Done. Continuing experiments..." | ||
| 47 | # No cache isolation | ||
| 48 | pairXI=SD-VBS/$(date +"%b%d-%H")-c-xi-$runID"-A.txt and -B.txt" | ||
| 49 | echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I xi $runID | ||
| 50 | # Shared L2, split L3 | ||
| 51 | pairI3=SD-VBS/$(date +"%b%d-%H")-c-i3-$runID"-A.txt and -B.txt" | ||
| 52 | echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I i3 $runID | ||
| 53 | # Split L2, split L3 | ||
| 54 | pairI=SD-VBS/$(date +"%b%d-%H")-c-i-$runID"-A.txt and -B.txt" | ||
| 55 | echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I i $runID | ||
| 56 | date | ||
| 57 | |||
| 58 | echo "==== DONE ====" | ||
| 59 | echo "Results are in:" | ||
| 60 | echo "- $baseXI" | ||
| 61 | echo "- $baseI3" | ||
| 62 | echo "- $baseI" | ||
| 63 | echo "- $pairXI" | ||
| 64 | echo "- $pairI3" | ||
| 65 | echo "- $pairI" | ||
| 66 | echo "- $pairC" | ||
| 67 | |||
