4 DSTM_CONFDIR=${HOME}/research/Robust/src
10 # killClients <fileName> <# of machines>
11 function killclients {
15 while [ $i -le $k ]; do
16 echo "killing dc-$i ${fileName}"
17 ssh dc-${i} pkill -u jihoonl -f ${fileName}
22 # killonemachine <Benchmark file name> <machine_num>
23 function killonemachine {
26 echo "killing dc-$machine";
27 ssh dc-${machine} pkill -u jihoonl -f ${fileName}
30 function runMachines {
31 echo "Running on ${NUM_MACHINE} machines ... "
34 echo "Running machines"
37 echo ${BASEDIR}/${BM_DIR} > ~/.tmpdir
38 DIR=`echo ${BASEDIR}\/${BM_DIR}`;
42 while [ $k -gt 1 ]; do
43 echo "SSH into dc-${k}"
44 ssh dc-${k} 'cd '$DIR'; ./'$BM_NAME'.bin' &
48 echo "Running master machine ... "
49 ssh dc-1 'cd '$DIR'; ./'$BM_NAME'.bin master '$NUM_MACHINE $BM_ARGS &
52 function runMultiMachineTest {
54 echo "Runnning ${BM_NAME}"
60 while [ $j -le $ITERATIONS ]; do
63 sleep 10 # wait until all machine run
64 fileName="$BM_NAME.bin";
68 killonemachine $fileName $k
72 sleep 1000; # wait the end of execution
73 killclients # kill alive machines
80 echo "---------- Starting Benchmarks ----------"
84 BM_NAME=`echo $line | cut -f1 -d":"`
85 BM_ARGS=`echo $line | cut -f2 -d":"`
87 # Setup for remote machine
89 echo "BM_NAME='$BM_NAME'" > ~/.bmargs
90 echo "BM_ARGS='$BM_ARGS'" > ~/.bmargs
92 fileName=${BM_NAME}.bin
93 echo "fileName='$fileName'"
95 # terminate if it doesn't have parameter
96 let "NUM_MACHINE= $1 + 0";
98 if [ $NUM_MACHINE -eq 0 ];
102 killclients $fileName $Num
106 echo "BM_NAME= $BM_NAME"
107 echo "BM_ARGS= $BM_ARGS"
108 echo "NUM_M = $NUM_MACHINE"
109 runMultiMachineTest $NUM_MACHINES
113 killclients $fileName
120 echo "----------- done ------------"