6 # killClients <fileName> <# of machines>
10 while [ $i -le $2 ]; do
11 echo "killing dc-$i ${fileName}"
12 ssh dc-${i} pkill -u jihoonl -f ${fileName}
17 # killonemachine <Benchmark file name> <machine_num>
18 function killonemachine {
21 echo "killing dc-$machine ${fileName}";
22 ssh dc-${machine} pkill -u jihoonl -f ${fileName}
25 # runmachines <log filename>
26 function runMachines {
27 echo "Running on ${NUM_MACHINE} machines ... "
30 echo "Running machines"
33 echo ${BASEDIR}/${BM_DIR} > ~/.tmpdir
34 DIR=`echo ${BASEDIR}\/${BM_DIR}`;
38 while [ $k -gt 1 ]; do
39 echo "SSH into dc-${k}"
40 ssh dc-${k} 'cd '$DIR'; ./'$BM_NAME'.bin '>> $1'-'$k &
44 echo "Running master machine ... "
45 echo "ssh dc-1 cd $DIR'; ./$BM_NAME.bin master $NUM_MACHINE $BM_ARGS";
46 ssh dc-1 'cd '$DIR'; ./'$BM_NAME'.bin master '$NUM_MACHINE $BM_ARGS >> $1'-1' &
49 ########### Normal execution
50 function runNormalTest {
54 fileName="$BM_NAME.bin";
59 while [ $tt -le $NUM_MACHINE ]; do
60 echo "------------------------------- Normal Test $1 ----------------------------" >> log-$tt
69 killclients $fileName 8
74 ########### Failure case
75 function runFailureTest {
79 fileName="$BM_NAME.bin";
83 while [ $tt -le $NUM_MACHINE ]; do
84 echo "------------------------------- Failure Test $1 ----------------------------" >> log-$tt
90 sleep 10 # wait until all machine run
94 echo "------------------------ dc-$k is killed ------------------------" >> log-$k
95 killonemachine $fileName $k
99 sleep $WAITTIME # wait the end of execution
100 killclients $fileName 8 # kill alive machines
106 echo "---------- Starting Benchmarks ----------"
110 BM_NAME=`echo $line | cut -f1 -d":"`
111 BM_ARGS=`echo $line | cut -f2 -d":"`
113 # Setup for remote machine
115 echo "BM_NAME='$BM_NAME'" > ~/.bmargs
116 echo "BM_ARGS='$BM_ARGS'" > ~/.bmargs
118 fileName=${BM_NAME}.bin
119 echo "fileName='$fileName'"
121 # terminate if it doesn't have parameter
122 let "NUM_MACHINE= $1 + 0";
124 if [ $NUM_MACHINE -eq 0 ];
131 echo "BM_NAME= $BM_NAME"
132 echo "BM_ARGS= $BM_ARGS"
133 echo "NUM_M = $NUM_MACHINE"
136 echo "=================================== 1 ================================="
137 runNormalTest $NUM_MACHINES 1
138 echo "======================================================================="
141 while [ $t -le $ITERATIONS ]; do
142 echo "==================================== $t ============================="
143 # runFailureTest $NUM_MACHINES 1
145 echo "====================================================================="
149 killclients $fileName 8
153 echo "----------- done ------------"