|
@@ -13,28 +13,55 @@ if [ "$SHRINK_TO_MEM" != "" ]; then
|
|
|
DOCKER_ENV="$DOCKER_ENV SHRINK_TO_MEM=$SHRINK_TO_MEM"
|
|
|
fi
|
|
|
|
|
|
-./start-docker
|
|
|
-docker exec -it ${TEEMS_DOCKER_PREFIX}teems $DOCKER_ENV ./run_all_experiments.py
|
|
|
-docker exec -it ${TEEMS_DOCKER_PREFIX}teems ./logs_to_csv.py Experiments/ID Experiments/id-channel.csv
|
|
|
-docker exec -it ${TEEMS_DOCKER_PREFIX}teems ./logs_to_csv.py Experiments/Token Experiments/token-channel.csv
|
|
|
-docker cp ${TEEMS_DOCKER_PREFIX}teems:/root/teems/Experiments/id-channel.csv id-channel.csv
|
|
|
-docker cp ${TEEMS_DOCKER_PREFIX}teems:/root/teems/Experiments/token-channel.csv token-channel.csv
|
|
|
+if [ "$1" == "-n" ]; then
|
|
|
+ skip_experiments=1
|
|
|
+else
|
|
|
+ skip_experiments=0
|
|
|
+fi
|
|
|
+
|
|
|
+if [ $skip_experiments == 0 ]; then
|
|
|
+ ./start-docker
|
|
|
+ docker exec -it ${TEEMS_DOCKER_PREFIX}teems $DOCKER_ENV ./run_all_experiments.py
|
|
|
+ docker exec -it ${TEEMS_DOCKER_PREFIX}teems ./logs_to_csv.py Experiments/ID Experiments/id-channel.csv
|
|
|
+ docker exec -it ${TEEMS_DOCKER_PREFIX}teems ./logs_to_csv.py Experiments/Token Experiments/token-channel.csv
|
|
|
+ docker cp ${TEEMS_DOCKER_PREFIX}teems:/root/teems/Experiments/id-channel.csv id-channel.csv
|
|
|
+ docker cp ${TEEMS_DOCKER_PREFIX}teems:/root/teems/Experiments/token-channel.csv token-channel.csv
|
|
|
+
|
|
|
+ # Uncomment the following to preserve all of the raw logs
|
|
|
+ docker cp ${TEEMS_DOCKER_PREFIX}teems:/root/teems/Experiments Experiments
|
|
|
+fi
|
|
|
+
|
|
|
+BW_Gbps=13
|
|
|
+
|
|
|
+echo
|
|
|
+echo "*** Adding latency corresponding to $BW_Gbps Gbps bandwidth between servers ***"
|
|
|
echo
|
|
|
+
|
|
|
+# bash doesn't do floating-point math; perl is installed automatically
|
|
|
+# on any Ubuntu installation, while python is not
|
|
|
+add_bw() {
|
|
|
+ perl -lne '@F = split(/,/);
|
|
|
+ if ($F[0] =~ /\d+/) {
|
|
|
+ $F[5] = sprintf("%.3f", $F[5] + $F[13] * 8 / ('$BW_Gbps'*1e9));
|
|
|
+ }
|
|
|
+ print join(",",@F[0,1,2,3,5,6])'
|
|
|
+}
|
|
|
+
|
|
|
echo "=== Figure 7 ID channel ==="
|
|
|
echo
|
|
|
-( head -1 id-channel.csv ; grep ,4,4,256 id-channel.csv | sort -t, -n -k1,1 ) | cut -d, -f1-7
|
|
|
+( head -1 id-channel.csv ; grep ,4,4,256 id-channel.csv | sort -t, -n -k1,1 ) | add_bw
|
|
|
echo
|
|
|
echo "=== Figure 7 Token channel ==="
|
|
|
echo
|
|
|
-( head -1 token-channel.csv ; grep ,4,4,256 token-channel.csv | sort -t, -n -k1,1 ) | cut -d, -f1-7
|
|
|
+( head -1 token-channel.csv ; grep ,4,4,256 token-channel.csv | sort -t, -n -k1,1 ) | add_bw
|
|
|
echo
|
|
|
echo "=== Figure 8 ID channel ==="
|
|
|
echo
|
|
|
-( head -1 id-channel.csv ; grep ,1,256 id-channel.csv | sort -t, -n -k2,2 ) | cut -d, -f1-7
|
|
|
+( head -1 id-channel.csv ; grep ,1,256 id-channel.csv | sort -t, -n -k2,2 ) | add_bw
|
|
|
echo
|
|
|
echo "=== Figure 8 Token channel ==="
|
|
|
echo
|
|
|
-( head -1 token-channel.csv ; grep ,1,256 token-channel.csv | sort -t, -n -k2,2 ) | cut -d, -f1-7
|
|
|
+( head -1 token-channel.csv ; grep ,1,256 token-channel.csv | sort -t, -n -k2,2 ) | add_bw
|
|
|
echo
|
|
|
if [ "$OVERLOAD_CORES" == "1" ]; then
|
|
|
echo "*** Reminder: OVERLOAD_CORES is set to 1; performance may be lowered"
|
|
@@ -47,4 +74,6 @@ if [ "$SHRINK_TO_MEM" != "" ]; then
|
|
|
echo
|
|
|
fi
|
|
|
|
|
|
-./stop-docker >/dev/null
|
|
|
+if [ $skip_experiments == 0 ]; then
|
|
|
+ ./stop-docker >/dev/null
|
|
|
+fi
|