run-experiment 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/bash
  2. # Get the IP addresses
  3. p0addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' floram_p0)
  4. p1addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' floram_p1)
  5. # The Floram mode and size
  6. # mode is read, write, readwrite, or init
  7. mode=read
  8. size=26
  9. iters=128
  10. if [ "$1" != "" ]; then
  11. mode="$1"
  12. fi
  13. if [ "$2" != "" ]; then
  14. size="$2"
  15. fi
  16. if [ "$3" != "" ]; then
  17. iters="$3"
  18. fi
  19. items=$((1<<size))
  20. echo ===== Running floram $mode $size $iters
  21. date "+===== Start %s %F %T"
  22. # Run, saving the output
  23. savefilep0=$$.p0.out
  24. savefilep1=$$.p1.out
  25. docker exec -w /root/floram-floram-release/build/tests floram_p0 bash -c "$FLORAM_NUMA_P0 stdbuf -o 0 ./bench_oram_$mode -p 3000 -s 8 -o fssl_cprg -e $items -i $iters > $savefilep0 2>&1" &
  26. sleep 2
  27. docker exec -w /root/floram-floram-release/build/tests floram_p1 bash -c "$FLORAM_NUMA_P1 stdbuf -o 0 ./bench_oram_$mode -c $p0addr -p 3000 -s 8 -o fssl_cprg -e $items -i $iters > $savefilep1 2>&1" &
  28. wait
  29. echo ===== P0 output
  30. docker exec -w /root/floram-floram-release/build/tests floram_p0 cat $savefilep0
  31. docker exec -w /root/floram-floram-release/build/tests floram_p0 rm -f $savefilep0
  32. echo ===== P1 output
  33. docker exec -w /root/floram-floram-release/build/tests floram_p1 cat $savefilep1
  34. docker exec -w /root/floram-floram-release/build/tests floram_p1 rm -f $savefilep1
  35. date "+===== End %s %F %T"