From 3b0aa125061b362b23ecf66afe8319e3a268c874 Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Thu, 22 Oct 2020 00:08:12 -0400 Subject: 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 --- run_tacle_all.sh | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) delete mode 100755 run_tacle_all.sh (limited to 'run_tacle_all.sh') 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 @@ -#!/bin/bash -# Copyright 2020 Joshua Bakita -# This script runs the baselines and Level-A/B and Level-C all_pairs -# for TACLe w/out MC^2 - -if uname -a | grep -q mc2; then - echo "You need to run this without MC^2!" - exit -fi - -if [ "$EUID" -ne 0 ]; then - echo "You need to be root to enable interrupt isolation and real-time execution!" - exit -fi - -echo "This will run the contended and uncontended TACLe baseline, all-pairs, and Level-C micro-benchamarks in non-interactive mode." -echo "Please press enter to confirm (Ctrl-C to abort)..." -read - -echo "performance" > /sys/devices/system/cpu/cpu15/cpufreq/scaling_governor -echo "performance" > /sys/devices/system/cpu/cpu31/cpufreq/scaling_governor - -cd baseline -baseNo=baseline/$(date +"%b%d-%H")-xc-xi-1k.txt -echo "" | ../run_bench.sh -m base -p 15 -l 1001 -b ../all_pairs/tacleNames.txt 1k -baseYes=baseline/$(date +"%b%d-%H")-c-xi-1k.txt -echo "" | ../run_bench.sh -B -m make -p 15 -l 1001 -b ../all_pairs/tacleNames.txt 1k - -cd ../all_pairs -pairsNo=all_pairs/$(date +"%b%d-%H")-xc-xi-1k -echo "" | ./run_all_pairs.sh 15 31 1001 1k ./tacleNames.txt -pairsYes=all_pairs/$(date +"%b%d-%H")-c-xi-1k -echo "" | ./run_all_pairs.sh 15 31 1001 1k ./tacleNames.txt --contend - -cd ../baseline -echo "" | ../smt_analysis_rtss20/run_all_pairs_Level-C_TACLe.sh 15 31 1001 1k ./tacleNames.txt -cNo=all_pairs/$(date +"%b%d-%H")-xc-xi-1k-LC-TACLe.txt -echo "" | ../smt_analysis_rtss20/run_all_pairs_Level-C_TACLe.sh 15 31 1001 1k ./tacleNames.txt --contend -cYes=all_pairs/$(date +"%b%d-%H")-c-xi-1k-LC-TACLe.txt - -echo "==== DONE ===" -echo "Results are in:" -echo "- "$baseNo -echo "- "$baseYes -echo "- "$pairsNo" (A/B)" -echo "- "$pairsYes" (A/B)" -echo "- "$cNo -echo "- "$cYes - -- cgit v1.2.2