123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- #!/bin/bash
- if [[ $BASH_SOURCE = */* ]]; then
- cd -- "${BASH_SOURCE%/*}/" || exit
- fi
- if [ "$FLORAM_NUMA_P0" == "" -a "$DUORAM_NUMA_P0" != "" ]; then
- export FLORAM_NUMA_P0="$DUORAM_NUMA_P0"
- fi
- if [ "$FLORAM_NUMA_P1" == "" -a "$DUORAM_NUMA_P1" != "" ]; then
- export FLORAM_NUMA_P1="$DUORAM_NUMA_P1"
- fi
- if [ "$1" = "" ]; then
- whichexps="test"
- else
- whichexps="$1"
- fi
- if [ "$whichexps" = "single" -o "$2" = "" ]; then
-
-
-
-
- numops=128
- else
- numops="$2"
- fi
- run() {
- now=`date`
- echo "$now: Running $1 $2 $3 $4 $5 ..."
- logfile="${1}_${3}_${4}_${5}.out${LOGSUFFIX}"
- ./set-networking $3 $4
- echo "Network setup: $3 $4" >> $logfile
- ./run-experiment $1 $2 $5 >> $logfile
- }
- parse() {
- if [ "$FLORAM_PARSE_HOST" = "1" ]; then
- ./parse_logs $*
- else
- cat $* | docker exec -w /root -i floram_p0 ./parse_logs
- fi
- }
- if [ "$whichexps" = "test" ]; then
- echo "Running test experiment..."
- run read 16 1us 100gbit 2
- echo
- echo "# Test output"
- echo
- parse read_1us_100gbit_2.out${LOGSUFFIX}
- echo
- echo "# End test output"
- echo
- exit
- fi
- if [ "$whichexps" = "single" ]; then
- echo "Running single experiment..."
- shift
- run $*
- exit
- fi
- now=`date`
- echo "$now: Starting experiments"
- if [ "$whichexps" = "small" -o "$whichexps" = "all" ]; then
- echo "Running small experiments..."
-
- run readwrite 16 30ms 100mbit ${numops}
- run readwrite 18 30ms 100mbit ${numops}
- run readwrite 20 30ms 100mbit ${numops}
- run readwrite 22 30ms 100mbit ${numops}
- run readwrite 24 30ms 100mbit ${numops}
- run readwrite 26 30ms 100mbit ${numops}
-
- run readwrite 20 30ms 10mbit ${numops}
- run readwrite 20 30ms 30mbit ${numops}
- run readwrite 20 30ms 50mbit ${numops}
- run readwrite 20 30ms 70mbit ${numops}
- run readwrite 20 30ms 90mbit ${numops}
- run readwrite 20 30ms 110mbit ${numops}
-
- run readwrite 20 10ms 100mbit ${numops}
- run readwrite 20 50ms 100mbit ${numops}
- run readwrite 20 70ms 100mbit ${numops}
-
-
-
-
-
- run read 16 1us 100gbit ${numops}
- run read 18 1us 100gbit ${numops}
- run read 20 1us 100gbit ${numops}
- run read 22 1us 100gbit ${numops}
- run read 24 1us 100gbit ${numops}
- run read 26 1us 100gbit ${numops}
-
- run write 16 1us 100gbit ${numops}
- run write 18 1us 100gbit ${numops}
- run write 20 1us 100gbit ${numops}
- run write 22 1us 100gbit ${numops}
- run write 24 1us 100gbit ${numops}
- run write 26 1us 100gbit ${numops}
-
- run read 18 30ms 100mbit ${numops}
- run read 22 30ms 100mbit ${numops}
- run read 24 30ms 100mbit ${numops}
- fi
- if [ "$whichexps" = "small" -o "$whichexps" = "scaling" -o "$whichexps" = "all" ]; then
-
- run read 16 30ms 100mbit ${numops}
- run read 20 30ms 100mbit ${numops}
- run read 26 30ms 100mbit ${numops}
- fi
- if [ "$whichexps" = "large" -o "$whichexps" = "all" ]; then
- echo "Running large experiments..."
-
- run read 28 30ms 100mbit ${numops}
- run read 30 30ms 100mbit ${numops}
- run read 32 30ms 100mbit ${numops}
-
- run read 28 1us 100gbit ${numops}
- run read 30 1us 100gbit ${numops}
- run read 32 1us 100gbit ${numops}
- fi
- if [ "$whichexps" = "extended" ]; then
-
-
-
- run read 20 30ms 10mbit ${numops}
- run read 20 30ms 30mbit ${numops}
- run read 20 30ms 50mbit ${numops}
- run read 20 30ms 70mbit ${numops}
- run read 20 30ms 90mbit ${numops}
- run read 20 30ms 110mbit ${numops}
-
- run read 20 10ms 100mbit ${numops}
- run read 20 50ms 100mbit ${numops}
- run read 20 70ms 100mbit ${numops}
-
- run write 16 30ms 100mbit ${numops}
- run write 18 30ms 100mbit ${numops}
- run write 20 30ms 100mbit ${numops}
- run write 22 30ms 100mbit ${numops}
- run write 24 30ms 100mbit ${numops}
- run write 26 30ms 100mbit ${numops}
-
- run write 20 30ms 10mbit ${numops}
- run write 20 30ms 30mbit ${numops}
- run write 20 30ms 50mbit ${numops}
- run write 20 30ms 70mbit ${numops}
- run write 20 30ms 90mbit ${numops}
- run write 20 30ms 110mbit ${numops}
-
- run write 20 10ms 100mbit ${numops}
- run write 20 50ms 100mbit ${numops}
- run write 20 70ms 100mbit ${numops}
- fi
- now=`date`
- echo "$now: Experiments complete"
- if [ "$LOGSUFFIX" = "" ]; then
- parse *_${numops}.out > floram_${numops}.dat
- echo
- echo "# Figure 7(a)"
- egrep 'Floram readwrite .* 30ms 100mbit .* s$' floram_${numops}.dat | sort -k3 -n
- echo
- echo "# Figure 7(b)"
- egrep 'Floram readwrite 20 30ms .* s$' floram_${numops}.dat | sort -k5 -n
- echo
- echo "# Figure 7(c)"
- egrep 'Floram readwrite 20 .* 100mbit .* s$' floram_${numops}.dat | sort -k4 -n
- echo
- echo "# Figure 8(a)"
- egrep 'Floram read .* 1us 100gbit .* KiB$' floram_${numops}.dat | sort -k3 -n
- echo
- echo "# Figure 8(b)"
- egrep 'Floram write .* 1us 100gbit .* KiB$' floram_${numops}.dat | sort -k3 -n
- echo
- echo "# Figure 8(c)"
- egrep 'Floram readwrite .* 30ms 100mbit .* KiB$' floram_${numops}.dat | sort -k3 -n
- echo
- echo "# Figure 9(a)"
- egrep 'Floram read .* 30ms 100mbit .* s$' floram_${numops}.dat | sort -k3 -n
- echo
- echo "# Figure 9(b)"
- egrep 'Floram read .* 1us 100gbit .* s$' floram_${numops}.dat | sort -k3 -n
- echo
- echo "# Figure 9(c)"
- egrep 'Floram read .* 1us 100gbit .* KiB$' floram_${numops}.dat | sort -k3 -n
- echo
- if [ "$DUORAM_EXTENDED_PLOTS" = "1" ]; then
-
- echo "# Figure 11(a)"
- egrep 'Floram read .* 30ms 100mbit .* s$' floram_${numops}.dat | sort -k3 -n
- echo
- echo "# Figure 11(b)"
- egrep 'Floram read 20 30ms .* s$' floram_${numops}.dat | sort -k5 -n
- echo
- echo "# Figure 11(c)"
- egrep 'Floram read 20 .* 100mbit .* s$' floram_${numops}.dat | sort -k4 -n
- echo
- echo "# Figure 12(a)"
- egrep 'Floram write .* 30ms 100mbit .* s$' floram_${numops}.dat | sort -k3 -n
- echo
- echo "# Figure 12(b)"
- egrep 'Floram write 20 30ms .* s$' floram_${numops}.dat | sort -k5 -n
- echo
- echo "# Figure 12(c)"
- egrep 'Floram write 20 .* 100mbit .* s$' floram_${numops}.dat | sort -k4 -n
- echo
- fi
- echo "# End figures"
- echo
- fi
|