check in Java code
[IRC.git] / Robust / src / Benchmarks / Distributed / 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 runjava {
11   # Run java version
12   echo "Running java version"
13   j=1;
14   BM_DIR=${BM_NAME}/${JAVA_DIR}
15   while [ $j -le $ITERATIONS ]; do
16    echo "Running on $1 machines ... "
17    # Start the server
18    cd ${BM_DIR}
19    suffix=$SERVER_ARGS | tr -d ' '
20    echo "Running Server ... "
21    /usr/bin/time -f "%e" ./Server.bin -N $1 $SERVER_ARGS 2>> ${LOGDIR}/server_${1}_${BM_NAME}_java.out &
22    # Start the clients
23    k=1;
24    echo ${BASEDIR}/${BM_DIR} > ~/.tmpdir
25    while [ $k -le $1 ]; do
26      echo "SSH into dc-${k}"
27      SEED=`expr $k \* 100`
28      echo "SEED='$SEED'" > ~/.seed
29      if [ $k -eq $1 ];
30      then
31        ssh dc-${k}.calit2.uci.edu 'cd `cat ~/.tmpdir`; source ~/.bmargs; ./Client.bin $CLIENT_ARGS -seed `hostname | cut -f2 -d"-" | cut -f1 -d"."`'
32      else
33        ssh dc-${k}.calit2.uci.edu 'cd `cat ~/.tmpdir`; source ~/.bmargs; ./Client.bin $CLIENT_ARGS -seed  `hostname | cut -f2 -d"-" | cut -f1 -d"."`' &
34      fi
35      k=`expr $k + 1`
36    done
37    sleep 20;
38    j=`expr $j + 1`
39    cd -
40   done
41 }
42
43 function runjvm {
44   # Run java version
45   echo "Running jvm version"
46   j=1;
47   BM_DIR=${BM_NAME}/${JVM_DIR}
48   while [ $j -le $ITERATIONS ]; do
49    echo "Running on $1 machines ... "
50    # Start the server
51    cd ${BM_DIR}
52    suffix=$SERVER_ARGS | tr -d ' '
53    echo "Running Server ... "
54    /usr/bin/time -f "%e" java $JVM_SERVER_CLASS -N $1 $SERVER_ARGS 2>> ${LOGDIR}/server_${1}_${BM_NAME}_jvm.out &
55    # Start the clients
56    k=1;
57    echo ${BASEDIR}/${BM_DIR} > ~/.tmpdir
58    while [ $k -le $1 ]; do
59      echo "SSH into dc-${k}"
60      seed=`expr $k * 100`
61      if [ $k -eq $1 ];
62      then
63        ssh dc-${k}.calit2.uci.edu 'cd `cat ~/.tmpdir`; source ~/.bmargs; java $JVM_CLIENT_CLASS $CLIENT_ARGS -seed $seed'
64      else
65        ssh dc-${k}.calit2.uci.edu 'cd `cat ~/.tmpdir`; source ~/.bmargs; java $JVM_CLIENT_CLASS $CLIENT_ARGS -seed $seed' &
66      fi
67      k=`expr $k + 1`
68    done
69    sleep 20;
70    j=`expr $j + 1`
71    cd -
72   done
73 }
74
75 exec < bm_args.txt
76 while read line
77 do
78   BM_NAME=`echo $line | cut -f1 -d":"`
79   SERVER_ARGS=`echo $line | cut -f2 -d":"`
80   CLIENT_ARGS=`echo $line | cut -f3 -d":"`
81   JVM_SERVER_CLASS=`echo $line | cut -f4 -d":"`
82   JVM_CLIENT_CLASS=`echo $line | cut -f5 -d":"`
83
84   # Setup for remote machine
85   echo "" > ~/.bmargs
86   echo "BM_NAME='$BM_NAME'"  > ~/.bmargs
87   echo "SERVER_ARGS='$SERVER_ARGS'" >> ~/.bmargs
88   echo "CLIENT_ARGS='$CLIENT_ARGS'" >> ~/.bmargs
89   echo "JVM_SERVER_CLASS='$JVM_SERVER_CLASS'" >> ~/.bmargs
90   echo "JVM_CLIENT_CLASS='$JVM_CLIENT_CLASS'" >> ~/.bmargs
91   NUM_MACHINES=$1
92   runjava $NUM_MACHINES
93   #runjvm $NUM_MACHINES
94   # Cleanup
95   rm ~/.bmargs
96   rm ~/.tmpdir
97 done