|
@@ -0,0 +1,33 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+# Get the IP addresses
|
|
|
+p0addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' prac_p0)
|
|
|
+p1addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' prac_p1)
|
|
|
+
|
|
|
+# Gather options and arguments
|
|
|
+opts=""
|
|
|
+while getopts paot:ex arg; do
|
|
|
+ opts+=" -${arg} ${OPTARG}"
|
|
|
+done
|
|
|
+shift $((OPTIND-1))
|
|
|
+
|
|
|
+echo ===== Running prac $opts -- $*
|
|
|
+date "+===== %s %F %T"
|
|
|
+
|
|
|
+# Run, saving the output
|
|
|
+savefile0=$$.p0.out
|
|
|
+savefile1=$$.p1.out
|
|
|
+savefile2=$$.p2.out
|
|
|
+docker exec -w /root/prac prac_p0 bash -c "$PRAC_NUMA_P0 ./prac $opts 0 $* > $savefile0" &
|
|
|
+docker exec -w /root/prac prac_p1 bash -c "$PRAC_NUMA_P1 ./prac $opts 1 $p0addr $* > $savefile1" &
|
|
|
+docker exec -w /root/prac prac_p2 bash -c "$PRAC_NUMA_P2 ./prac $opts 2 $p0addr $p1addr $* > $savefile2" &
|
|
|
+wait
|
|
|
+echo ===== P0 output
|
|
|
+docker exec -w /root/prac prac_p0 cat $savefile0
|
|
|
+docker exec -w /root/prac prac_p0 rm -f $savefile0
|
|
|
+echo ===== P1 output
|
|
|
+docker exec -w /root/prac prac_p1 cat $savefile1
|
|
|
+docker exec -w /root/prac prac_p1 rm -f $savefile1
|
|
|
+echo ===== P2 output
|
|
|
+docker exec -w /root/prac prac_p2 cat $savefile2
|
|
|
+docker exec -w /root/prac prac_p2 rm -f $savefile2
|