From e03d81c688e1070c16025c2a215ccb1a24ce2098 Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Thu, 22 Oct 2020 03:42:36 -0400 Subject: 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 --- run_all_sd-vbs.sh | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ run_all_tacle.sh | 10 ++++++--- run_bench.sh | 8 +++---- 3 files changed, 78 insertions(+), 7 deletions(-) create mode 100755 run_all_sd-vbs.sh 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 @@ +#!/bin/bash +# Copyright 2020 Joshua Bakita +# Runs SD-VBS in every configuration needed +# for the paper and schedulability studies + +maxJobs=$1 +runID=$2 + +if [ $# -lt 2 ]; then + echo "Usage $0 " + exit +fi +if [[ "$EUID" != 0 ]]; then + echo "You need to be root to enable spatial isolation!" + exit +fi +date + +# Run the pairs baseline and some comparisons to examine the effect of less cache +echo "Building benchmarks in unpaired configuration..." +cd SD-VBS/benchmarks +make compile -j30 > /dev/null # Suppress noisy output +cd .. +echo "Done. Running experiments..." +# Full L3, full L2 - xi is the baseline for the pairs +baseXI=SD-VBS/$(date +"%b%d-%H")-c-xi-$runID.txt +echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b sd-vbsNames.txt -B -I xi $runID +# Half L3, full L2 - i3 sees effect of half L3 +baseI3=SD-VBS/$(date +"%b%d-%H")-c-i3-$runID.txt +echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b sd-vbsNames.txt -B -I i3 $runID +# Half L3, half L2 - additional effect of half L2 +baseI=SD-VBS/$(date +"%b%d-%H")-c-i-$runID.txt +echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b sd-vbsNames.txt -B -I i $runID +date + +# Run the Level-C pairs +pairC=SD-VBS/$(date +"%b%d-%H")-c-xi-async-$runID.txt +echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I xi -A $runID +date + +# Run the Level-A/-B pairs +echo "Building benchmarks in paired configuration..." +cd benchmarks +make CFLAGS=-DPAIRED compile -j30 > /dev/null # Suppress noisy output +cd .. +echo "Done. Continuing experiments..." +# No cache isolation +pairXI=SD-VBS/$(date +"%b%d-%H")-c-xi-$runID"-A.txt and -B.txt" +echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I xi $runID +# Shared L2, split L3 +pairI3=SD-VBS/$(date +"%b%d-%H")-c-i3-$runID"-A.txt and -B.txt" +echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I i3 $runID +# Split L2, split L3 +pairI=SD-VBS/$(date +"%b%d-%H")-c-i-$runID"-A.txt and -B.txt" +echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b sd-vbsNames.txt -B -I i $runID +date + +echo "==== DONE ====" +echo "Results are in:" +echo "- $baseXI" +echo "- $baseI3" +echo "- $baseI" +echo "- $pairXI" +echo "- $pairI3" +echo "- $pairI" +echo "- $pairC" + 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 echo "Usage $0 " exit fi +if [[ "$EUID" != 0 ]]; then + echo "You need to be root to enable spatial isolation!" + exit +fi date # Run the pairs baseline and some comparisons to examine the effect of less cache @@ -30,13 +34,13 @@ date cd ../all_pairs make all -j32 # No cache isolation -pairXI=all_pairs/$(date +"%b%d-%H")-c-xi-$runID.txt +pairXI=all_pairs/$(date +"%b%d-%H")-c-xi-$runID"-A.txt and -B.txt" echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I xi $runID # Shared L2, split L3 -pairI3=all_pairs/$(date +"%b%d-%H")-c-i3-$runID.txt +pairI3=all_pairs/$(date +"%b%d-%H")-c-i3-$runID"-A.txt and -B.txt" echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I i3 $runID # Split L2, split L3 -pairI=all_pairs/$(date +"%b%d-%H")-c-i-$runID.txt +pairI=all_pairs/$(date +"%b%d-%H")-c-i-$runID"-A.txt and -B.txt" echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I i $runID date 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 else # No synchronization between pairs - original soft real-time SMT approach if [[ -v $LITMUS ]]; then - echo "${input[$i]}" | numactl $numa_arg0 taskset -c $core $prefix/${bench[$j]} ${bench[$j]} -1 $core NULL 0 & PID1=$!; - echo "${input[$j]}" | numactl $numa_arg1 taskset -c $core_two $prefix/${bench[$i]} ${bench[$i]}"+"${bench[$j]} $maxJobs $core_two $runID-$userRunID 1 & PID2=$!; + echo "${input[$j]}" | numactl $numa_arg0 taskset -c $core $prefix/${bench[$j]} ${bench[$j]} -1 $core NULL 0 & PID1=$!; + echo "${input[$i]}" | numactl $numa_arg1 taskset -c $core_two $prefix/${bench[$i]} ${bench[$i]}"+"${bench[$j]} $maxJobs $core_two $runID-$userRunID 1 & PID2=$!; else - echo "${input[$i]}" | chrt -r 97 numactl $numa_arg0 taskset -c $core $prefix/${bench[$j]} ${bench[$j]} -1 $core NULL 0 & PID1=$!; - 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=$!; + echo "${input[$j]}" | chrt -r 97 numactl $numa_arg0 taskset -c $core $prefix/${bench[$j]} ${bench[$j]} -1 $core NULL 0 & PID1=$!; + 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=$!; fi wait $PID2 kill $PID1 -- cgit v1.2.2