8 # killClients <fileName> <# of machines>
12 while [ $i -le $2 ]; do
13 echo "killing dc-$i ${fileName}"
14 ssh dc-${i} pkill -u jihoonl -f ${fileName}
19 # killonemachine <Benchmark file name> <machine_num>
20 function killonemachine {
23 echo "killing dc-$machine ${fileName}";
24 ssh dc-${machine} pkill -u jihoonl -f ${fileName}
27 # runmachines <log filename>
28 function runMachines {
29 echo "Running on ${NUM_MACHINE} machines ... "
32 echo "Running machines"
35 echo ${BASEDIR}/${BM_DIR} > ~/.tmpdir
36 DIR=`echo ${BASEDIR}\/${BM_DIR}\/${RECOVERYDIR}`;
40 while [ $k -gt 1 ]; do
41 echo "SSH into dc-${k}"
42 ssh dc-${k} 'cd '$DIR'; ./'$BM_NAME'.bin '>> $1'-'$k &
46 echo "Running master machine ... "
47 echo "ssh dc-1 cd $DIR'; ./$BM_NAME.bin master $NUM_MACHINE $BM_ARGS";
48 ssh dc-1 'cd '$DIR'; ./'$BM_NAME'.bin master '$NUM_MACHINE $BM_ARGS >> $1'-1' &
51 ########### Normal execution
52 function runNormalTest {
56 fileName="$BM_NAME.bin";
61 while [ $tt -le $NUM_MACHINE ]; do
62 echo "------------------------------- Normal Test $1 ----------------------------" >> log-$tt
71 killclients $fileName 8
76 ########### Failure case
77 function runFailureTest {
81 fileName="$BM_NAME.bin";
85 while [ $tt -le $NUM_MACHINE ]; do
86 echo "------------------------------- Failure Test $1 ----------------------------" >> log-$tt
92 sleep 10 # wait until all machine run
96 echo "------------------------ dc-$k is killed ------------------------" >> log-$k
97 killonemachine $fileName $k
101 sleep $WAITTIME # wait the end of execution
102 killclients $fileName 8 # kill alive machines
108 echo "---------- Starting Benchmarks ----------"
112 BM_NAME=`echo $line | cut -f1 -d":"`
113 BM_ARGS=`echo $line | cut -f2 -d":"`
115 # Setup for remote machine
117 echo "BM_NAME='$BM_NAME'" > ~/.bmargs
118 echo "BM_ARGS='$BM_ARGS'" > ~/.bmargs
120 fileName=${BM_NAME}.bin
121 echo "fileName='$fileName'"
123 # terminate if it doesn't have parameter
124 let "NUM_MACHINE= $1 + 0";
126 if [ $NUM_MACHINE -eq 0 ];
133 echo "BM_NAME= $BM_NAME"
134 echo "BM_ARGS= $BM_ARGS"
135 echo "NUM_M = $NUM_MACHINE"
138 echo "=================================== 1 ================================="
139 runNormalTest $NUM_MACHINES 1
140 echo "======================================================================="
143 while [ $t -le $ITERATIONS ]; do
144 echo "==================================== $t ============================="
145 # runFailureTest $NUM_MACHINES 1
147 echo "====================================================================="
151 killclients $fileName 8
155 echo "----------- done ------------"