From d316f6eb651046aab5af47ac264297ac77c669ce Mon Sep 17 00:00:00 2001 From: Peter Cai <peter.cai@uwaterloo.ca> Date: Wed, 1 Mar 2023 16:24:36 -0500 Subject: [PATCH] Add support for running auxilliary experiments for error bars and avg --- experiments/memcached.shared.sh | 2 +- experiments/perf.shared.sh | 2 +- run.sh | 21 +++++++++++++++++++-- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/experiments/memcached.shared.sh b/experiments/memcached.shared.sh index 0ade27c..fcd1fa7 100644 --- a/experiments/memcached.shared.sh +++ b/experiments/memcached.shared.sh @@ -51,7 +51,7 @@ run_mutilate() { fi echo "Running mutilate with $CONNS connections per agent (core) and QPS = $QPS" perf_stat_start "$1" - sudo -u $SSH_USER $MUTILATE --noload -c$CONNS $MUTCLIENTS -t30 -u 0 -q $QPS | tee $DATA_OUT/$1.txt + sudo -u $SSH_USER $MUTILATE --noload -c$CONNS $MUTCLIENTS -t30 -u 0 -q $QPS | tee $DATA_OUT/$1$EXP_AUX_SUFFIX.txt perf_stat_stop NO_RUNS=$((NO_RUNS + 1)) } diff --git a/experiments/perf.shared.sh b/experiments/perf.shared.sh index db84939..6012f24 100644 --- a/experiments/perf.shared.sh +++ b/experiments/perf.shared.sh @@ -1,5 +1,5 @@ perf_stat_start() { - $PERF stat -C 0-$((THREADS - 1)) -e LLC-load-misses:u,LLC-load-misses:k,mem_load_uops_retired.llc_miss,mem_uops_retired.all_loads,cycles,cycles:u,cycles:k,instructions,instructions:u,instructions:k,stalled-cycles-frontend,stalled-cycles-backend -o "$DATA_OUT/stat_$1.txt" & + $PERF stat -C 0-$((THREADS - 1)) -e LLC-load-misses:u,LLC-load-misses:k,mem_load_uops_retired.llc_miss,mem_uops_retired.all_loads,cycles,cycles:u,cycles:k,instructions,instructions:u,instructions:k,stalled-cycles-frontend,stalled-cycles-backend -o "$DATA_OUT/stat_$1$EXP_AUX_SUFFIX.txt" & PERF_STAT_PID=$! } diff --git a/run.sh b/run.sh index 47c2fac..02eb196 100755 --- a/run.sh +++ b/run.sh @@ -46,6 +46,15 @@ while [[ $# -gt 0 ]]; do USERSTACK=true shift ;; + -f|--force) + FORCE_REMOVE=true + shift + ;; + --aux) + EXP_AUX_SUFFIX="_aux$2" + shift + shift + ;; *) echo "Unknown option $1" exit 1 @@ -122,8 +131,16 @@ fi DATA_OUT="$EXP_ROOT/data/$EXPERIMENT_NAME" -rm -rf "$DATA_OUT" -mkdir -p "$DATA_OUT" +if [ -d "$DATA_OUT" ] && [ -z "$EXP_AUX_SUFFIX" ]; then + if [ "$FORCE_REMOVE" == "true" ]; then + rm -rf "$DATA_OUT" + else + echo "Experiment directory $DATA_OUT already exists. Remove it manually or use --force. To run auxillary experiments for multiple sets of data, use --aux <num>" + exit 1 + fi +else + mkdir -p "$DATA_OUT" +fi run_exp -- GitLab