changes
[IRC.git] / Robust / src / Benchmarks / Recovery / runjava.sh
1 # !/bin/sh
2 BASEDIR=`pwd`
3 LOGDIR=${BASEDIR}
4 DSTM_CONFDIR=${HOME}/research/Robust/src
5 JAVA_DIR=java
6 JVM_DIR=jvm
7 DSM_DIR=dsm
8 ITERATIONS=1
9
10 function killclients {
11   i=1;
12   let "k= $NUM_MACHINE";
13   while [ $i -le $k ]; do
14     echo "killing dc-$i"
15     ssh dc-${i} pkill -u jihoonl -f MatrixMultiply.bin
16     i=`expr $i + 1`
17   done
18 }
19
20 function runjava {
21 # Run java version
22   echo "Runnning ${BM_NAME}"
23   j=1;
24   BM_DIR=${BM_NAME}
25
26   cd ${BM_DIR}    
27
28   while [ $j -le $ITERATIONS ]; do
29     echo "Running on ${NUM_MACHINE} machines ... "
30
31     # Start machines
32     echo "Running machines"
33     let "k= $NUM_MACHINE"
34
35     echo ${BASEDIR}/${BM_DIR} > ~/.tmpdir
36     DIR=`echo ${BASEDIR}\/${BM_DIR}`;
37     echo "DIR = $DIR";
38
39     while [ $k -gt 1 ]; do
40       echo "SSH into dc-${k}"
41       ssh dc-${k} 'cd '$DIR'; ./'$BM_NAME'.bin' &
42       k=`expr $k - 1`
43     done
44     echo "Running master machine ... "
45     ssh dc-1 'cd '$DIR'; ./'$BM_NAME'.bin master '$NUM_MACHINE $BM_ARGS
46
47     sleep 1 ;
48     j=`expr $j + 1`
49   done
50   cd -
51 }
52
53 echo "---------- Starting Benchmarks ----------"
54 exec < bm_args.txt
55 while read line
56 do
57   BM_NAME=`echo $line | cut -f1 -d":"`
58   BM_ARGS=`echo $line | cut -f2 -d":"`
59
60   # Setup for remote machine
61   echo "" > ~/.bmargs
62   echo "BM_NAME='$BM_NAME'" > ~/.bmargs
63   echo "BM_ARGS='$BM_ARGS'" > ~/.bmargs
64
65   let "NUM_MACHINE= $1 + 0";
66
67   if [ $NUM_MACHINE -eq 0 ];
68   then
69     echo "Wrong input.. ./runjava.sh <num_machine>"
70     exit 0
71   fi
72
73   echo "BM_NAME= $BM_NAME"
74   echo "BM_ARGS= $BM_ARGS"
75   echo "NUM_M = $NUM_MACHINE"
76   runjava $NUM_MACHINES
77   
78   echo "done run"
79
80   killclients
81
82   # Clean up
83   rm ~/.bmargs
84   rm ~/.tmpdir
85 done
86
87 echo "----------- done ------------"
88