Browse Source

Be able to run a single experiment from the repro script

Ian Goldberg 1 year ago
parent
commit
6a0743a7e6
1 changed files with 26 additions and 12 deletions
  1. 26 12
      repro

+ 26 - 12
repro

@@ -24,7 +24,9 @@ fi
 # if you just want to re-parse the output of existing logs.  "scaling"
 # is the subset of "small" that generates the data points for Figure 10;
 # see the README for that one, since you need a machine with at least 64
-# cores to generate it.)
+# cores to generate it.)  You can also say "single" followed by all the
+# arguments to "run" (below) to run a single experiment; for example:
+# ./repro single readwrite 20 1us 100gbit 128
 if [ "$1" == "" ]; then
     whichexps="test"
 else
@@ -32,7 +34,11 @@ else
 fi
 
 # The number of operations per run; the graphs in the paper use 128
-if [ "$2" == "" ]; then
+if [ "$whichexps" == "single" -o "$2" == "" ]; then
+    # If there's an explicit run on the command line, don't read the
+    # next argument as the number of operations.  $numops will be
+    # ignores, anyway, since it will be specified as part of the
+    # command.
     numops=128
 else
     numops="$2"
@@ -70,6 +76,14 @@ if [ "$whichexps" == "test" ]; then
     exit
 fi
 
+# Be able to run a single experiment specified on the command line
+if [ "$whichexps" == "single" ]; then
+    echo "Running single experiment..."
+    shift
+    run $*
+    exit
+fi
+
 now=`date`
 echo "$now: Starting experiments"
 
@@ -141,34 +155,34 @@ echo "$now: Experiments complete"
 # outputs differently.
 if [ "$LOGSUFFIX" == "" ]; then
 
-parse *.out > floram.dat
+parse *_${numops}.out > floram_${numops}.dat
 
 echo
 echo "# Figure 7(a)"
-egrep 'Floram readwrite .* 30ms 100mbit .* s$' floram.dat | sort -k3 -n
+egrep 'Floram readwrite .* 30ms 100mbit .* s$' floram_${numops}.dat | sort -k3 -n
 echo
 echo "# Figure 7(b)"
-egrep 'Floram readwrite 20 30ms .* s$' floram.dat | sort -k5 -n
+egrep 'Floram readwrite 20 30ms .* s$' floram_${numops}.dat | sort -k5 -n
 echo
 echo "# Figure 7(c)"
-egrep 'Floram readwrite 20 .* 100mbit .* s$' floram.dat | sort -k4 -n
+egrep 'Floram readwrite 20 .* 100mbit .* s$' floram_${numops}.dat | sort -k4 -n
 echo
 echo "# Figure 8(a)"
-egrep 'Floram read .* 1us 100gbit .* KiB$' floram.dat | sort -k3 -n
+egrep 'Floram read .* 1us 100gbit .* KiB$' floram_${numops}.dat | sort -k3 -n
 echo
 echo "# Figure 8(b)"
-egrep 'Floram write .* 1us 100gbit .* KiB$' floram.dat | sort -k3 -n
+egrep 'Floram write .* 1us 100gbit .* KiB$' floram_${numops}.dat | sort -k3 -n
 echo
 echo "# Figure 8(c)"
-egrep 'Floram readwrite .* 1us 100gbit .* KiB$' floram.dat | sort -k3 -n
+egrep 'Floram readwrite .* 1us 100gbit .* KiB$' floram_${numops}.dat | sort -k3 -n
 echo
 echo "# Figure 9(a)"
-egrep 'Floram read .* 30ms 100mbit .* s$' floram.dat | sort -k3 -n
+egrep 'Floram read .* 30ms 100mbit .* s$' floram_${numops}.dat | sort -k3 -n
 echo
 echo "# Figure 9(b)"
-egrep 'Floram read .* 1us 100gbit .* s$' floram.dat | sort -k3 -n
+egrep 'Floram read .* 1us 100gbit .* s$' floram_${numops}.dat | sort -k3 -n
 echo
 echo "# Figure 9(c)"
-egrep 'Floram read .* 1us 100gbit .* KiB$' floram.dat | sort -k3 -n
+egrep 'Floram read .* 1us 100gbit .* KiB$' floram_${numops}.dat | sort -k3 -n
 
 fi