|
|
@@ -0,0 +1,48 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+# Get the IP addresses
|
|
|
+p0addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' duoram_p0)
|
|
|
+p1addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' duoram_p1)
|
|
|
+p2addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' duoram_p2)
|
|
|
+
|
|
|
+# The Duoram mode and size
|
|
|
+# mode is read, write, readwrite, or init
|
|
|
+phase=online
|
|
|
+mode=read
|
|
|
+size=20
|
|
|
+iters=128
|
|
|
+if [ "$1" != "" ]; then
|
|
|
+ mode="$1"
|
|
|
+fi
|
|
|
+if [ "$2" != "" ]; then
|
|
|
+ size="$2"
|
|
|
+fi
|
|
|
+if [ "$3" != "" ]; then
|
|
|
+ iters="$3"
|
|
|
+fi
|
|
|
+if [ "$4" != "" ]; then
|
|
|
+ port="$4"
|
|
|
+fi
|
|
|
+
|
|
|
+items=$((1<<size))
|
|
|
+
|
|
|
+echo ===== Running floram $mode $size $iters
|
|
|
+date "+===== Start %s %F %T"
|
|
|
+
|
|
|
+# Run, saving the output
|
|
|
+savefilep0=$$.p0.out
|
|
|
+savefilep1=$$.p1.out
|
|
|
+savefilep2=$$.p2.out
|
|
|
+docker exec -w /root/duoram/duoram-online duoram_p2 bash -c "$DUORAM_NUMA_P2 stdbuf -o 0 ./p2 $p0addr $p1addr $size $iters $iters $iters 1 > $savefilep2 2>&1" &
|
|
|
+sleep 2
|
|
|
+docker exec -w /root/duoram/duoram-online duoram_p1 bash -c "$DUORAM_NUMA_P1 stdbuf -o 0 ./duoram1 $p0addr $p2addr $size $iters $iters $iters 1 > $savefilep1 2>&1" &
|
|
|
+sleep 2
|
|
|
+docker exec -w /root/duoram/duoram-online duoram_p0 bash -c "$DUORAM_NUMA_P0 stdbuf -o 0 ./duoram0 $p0addr $p2addr $size $iters $iters $iters 1 > $savefilep0 2>&1" &
|
|
|
+wait
|
|
|
+echo ===== P0 output
|
|
|
+docker exec -w /root/duoram/duoram-online duoram_p0 cat $savefilep0
|
|
|
+docker exec -w /root/duoram/duoram-online duoram_p0 rm -f $savefilep0
|
|
|
+echo ===== P1 output
|
|
|
+docker exec -w /root/duoram/duoram-online duoram_p1 cat $savefilep1
|
|
|
+docker exec -w /root/duoram/duoram-online duoram_p1 rm -f $savefilep1
|
|
|
+date "+===== End %s %F %T"
|