#!/bin/bash # Copyright 2020 Joshua Bakita # Runs TACLeBench 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 cd baseline make all -j32 # Full L3, full L2 - xi is the baseline for the pairs baseXI=baseline/$(date +"%b%d-%H")-c-xi-$runID.txt echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b tacleNames.txt -B -I xi $runID # Half L3, full L2 - i3 sees effect of half L3 baseI3=baseline/$(date +"%b%d-%H")-c-i3-$runID.txt echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b tacleNames.txt -B -I i3 $runID # Half L3, half L2 - additional effect of half L2 baseI=baseline/$(date +"%b%d-%H")-c-i-$runID.txt echo "" | ../run_bench.sh -m base -p 15 -l $maxJobs -b tacleNames.txt -B -I i $runID date # Run the Level-A/-B pairs cd ../all_pairs make all -j32 # No cache isolation 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"-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"-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 # Run the Level-C pairs cd ../baseline pairC=baseline/$(date +"%b%d-%H")-c-xi-async-$runID.txt echo "" | ../run_bench.sh -m pair -p 15 -P 31 -l $maxJobs -b tacleNames.txt -B -I xi -A $runID date echo "==== DONE ====" echo "Results are in:" echo "- $baseXI" echo "- $baseI3" echo "- $baseI" echo "- $pairXI" echo "- $pairI3" echo "- $pairI" echo "- $pairC"