summaryrefslogtreecommitdiffstats
path: root/run_tacle_all.sh
diff options
context:
space:
mode:
authorJoshua Bakita <jbakita@cs.unc.edu>2020-10-22 00:08:12 -0400
committerJoshua Bakita <jbakita@cs.unc.edu>2020-10-22 00:08:12 -0400
commit3b0aa125061b362b23ecf66afe8319e3a268c874 (patch)
tree9323b85d5a3a0d14e33a28caa9ffc3b8ce7225be /run_tacle_all.sh
parentedb491490ccd0cae4bd28ca9c9a7e095a47c749b (diff)
Add pair benchmarking and isolation specification into run_bench.sh
This allows `run_bench.sh` to replace all previous general paired benchmarking scripts. See `run_everything.sh` for an example of how to use the new script. This also fixes two critical bugs present in the old scripts: 1. The cpus_list was incorrectly set for resctrl when running synchronous pair timing with L2+L3 isolation (i). Each write to that file replaces the previous contents, and it was previously written once for each core. This prevented the entire 1st core from using any L3 cache. 2. The competing task list was indexed improperly in the asynchronous pair timing script. This caused the competing task to always be identical to the task being profiled. These issues combine to imply that in the rejected RTSS'20 paper: - All Level-C SMT timing data is suspect - Level-A and -B SMT timing data with L2+L3 isolation (i) is wildly optimistic
Diffstat (limited to 'run_tacle_all.sh')
-rwxr-xr-xrun_tacle_all.sh49
1 files changed, 0 insertions, 49 deletions
diff --git a/run_tacle_all.sh b/run_tacle_all.sh
deleted file mode 100755
index dd5a443..0000000
--- a/run_tacle_all.sh
+++ /dev/null
@@ -1,49 +0,0 @@
1#!/bin/bash
2# Copyright 2020 Joshua Bakita
3# This script runs the baselines and Level-A/B and Level-C all_pairs
4# for TACLe w/out MC^2
5
6if uname -a | grep -q mc2; then
7 echo "You need to run this without MC^2!"
8 exit
9fi
10
11if [ "$EUID" -ne 0 ]; then
12 echo "You need to be root to enable interrupt isolation and real-time execution!"
13 exit
14fi
15
16echo "This will run the contended and uncontended TACLe baseline, all-pairs, and Level-C micro-benchamarks in non-interactive mode."
17echo "Please press enter to confirm (Ctrl-C to abort)..."
18read
19
20echo "performance" > /sys/devices/system/cpu/cpu15/cpufreq/scaling_governor
21echo "performance" > /sys/devices/system/cpu/cpu31/cpufreq/scaling_governor
22
23cd baseline
24baseNo=baseline/$(date +"%b%d-%H")-xc-xi-1k.txt
25echo "" | ../run_bench.sh -m base -p 15 -l 1001 -b ../all_pairs/tacleNames.txt 1k
26baseYes=baseline/$(date +"%b%d-%H")-c-xi-1k.txt
27echo "" | ../run_bench.sh -B -m make -p 15 -l 1001 -b ../all_pairs/tacleNames.txt 1k
28
29cd ../all_pairs
30pairsNo=all_pairs/$(date +"%b%d-%H")-xc-xi-1k
31echo "" | ./run_all_pairs.sh 15 31 1001 1k ./tacleNames.txt
32pairsYes=all_pairs/$(date +"%b%d-%H")-c-xi-1k
33echo "" | ./run_all_pairs.sh 15 31 1001 1k ./tacleNames.txt --contend
34
35cd ../baseline
36echo "" | ../smt_analysis_rtss20/run_all_pairs_Level-C_TACLe.sh 15 31 1001 1k ./tacleNames.txt
37cNo=all_pairs/$(date +"%b%d-%H")-xc-xi-1k-LC-TACLe.txt
38echo "" | ../smt_analysis_rtss20/run_all_pairs_Level-C_TACLe.sh 15 31 1001 1k ./tacleNames.txt --contend
39cYes=all_pairs/$(date +"%b%d-%H")-c-xi-1k-LC-TACLe.txt
40
41echo "==== DONE ==="
42echo "Results are in:"
43echo "- "$baseNo
44echo "- "$baseYes
45echo "- "$pairsNo" (A/B)"
46echo "- "$pairsYes" (A/B)"
47echo "- "$cNo
48echo "- "$cYes
49