changes for modifying the microbenchmarks
[IRC.git] / Robust / src / Benchmarks / SingleTM / MicroBenchmarks / run.sh
1 #!/bin/sh
2
3 function run {
4   echo ------------Running $1 --------------------
5   for file in `ls STATS*`
6     do
7       num=`echo $file | tr -d ".bin" | tr -d "STATSSingleObjectMod"`
8       echo $num
9       /usr/bin/time -f "%e" -o /tmp/time ./$file $1 -o > /tmp/out
10       t=`cat /tmp/time`
11       nTcommit=`grep TransCommit /tmp/out | awk '{print $3}'`
12       nTabort=`grep TransAbort /tmp/out | awk '{print $3}'`
13       nSftabort=`grep 'nSoftAbort ' /tmp/out | awk '{print $3}'`
14       p=`echo "$nTabort $nSftabort $nTcommit" | awk '{print (($1+$2)/($3))*100}'`
15       echo "$num $t $p $file" >> runlog/$2
16     done
17 }
18
19 echo "--------- Clean old files ----------"
20 #rm runlog/*.txt
21 #make base
22 #make stmlock
23 ARGS1="-t 8 -size 4 -l 100000 -l1 20000 -l2 40000"
24 ARGS2="-t 8 -size 4 -l 100000 -l1 10000 -l2 20000"
25 ARGS3="-t 8 -size 4 -l 100000 -l1 5000 -l2 10000"
26 ARGS4="-t 8 -size 4 -l 100000 -l1 2500 -l2 5000"
27 ARGS5="-t 8 -size 4 -l 100000 -l1 40000 -l2 20000"
28 ARGS6="-t 8 -size 4 -l 100000 -l1 10000 -l2 5000"
29 ARGS7="-t 8 -size 4 -l 100000 -l1 20000 -l2 10000"
30 ARGS8="-t 1 -size 1 -l 100000 -l1 10000 -l2 10000"
31 ARGS38="-t 2 -size 1 -l 100000 -l1 10000 -l2 10000"
32 ARGS48="-t 4 -size 1 -l 100000 -l1 10000 -l2 10000"
33 ARGS58="-t 8 -size 1 -l 100000 -l1 10000 -l2 10000"
34 ARGS68="-t 10 -size 1 -l 100000 -l1 10000 -l2 10000"
35 ARGS78="-t 12 -size 1 -l 100000 -l1 10000 -l2 10000"
36 ARGS88="-t 16 -size 1 -l 100000 -l1 10000 -l2 10000"
37 ARGS9="-t 8 -size 4 -l 100000 -l1 0 -l2 0"
38 ARGS10="-t 8 -size 1 -l 100000 -l1 40000 -l2 40000 -p 90"
39 ARGS11="-t 8 -size 1 -l 100000 -l1 10000 -l2 10000 -p 90"
40 ARGS12="-t 8 -size 1 -l 100000 -l1 40000 -l2 10000 -p 90"
41 ARGS13="-t 8 -size 4 -l 100000 -l1 10000 -l2 40000"
42 ARGS14="-t 8 -size 4 -l 100000 -l1 10000 -l2 60000"
43 ARGS15="-t 8 -size 4 -l 100000 -l1 80000 -l2 10000"
44 ARGS16="-t 8 -size 4 -l 100000 -l1 70000 -l2 10000"
45 ARGS17="-t 8 -size 4 -l 100000 -l1 70000 -l2 70000"
46 ARGS18="-t 1 -size 1 -l 100000 -l1 1 -l2 1"
47 ARGS19="-t 2 -size 1 -l 100000 -l1 1 -l2 1"
48 ARGS20="-t 4 -size 1 -l 100000 -l1 1 -l2 1"
49 ARGS21="-t 8 -size 1 -l 100000 -l1 1 -l2 1"
50 ARGS22="-t 12 -size 1 -l 100000 -l1 1 -l2 1"
51 ARGS23="-t 16 -size 1 -l 100000 -l1 1 -l2 1"
52 ARGS24="-t 1 -size 1 -l 1 -l1 1 -l2 1"
53 ARGS25="-t 1 -size 1 -l 1 -l1 0 -l2 0"
54 ARGS26="-t 1 -size 1 -l 100000 -l1 0 -l2 0"
55 ARGS27="-t 2 -size 1 -l 100000 -l1 0 -l2 0"
56 ARGS28="-t 4 -size 1 -l 100000 -l1 0 -l2 0"
57 ARGS29="-t 8 -size 1 -l 100000 -l1 0 -l2 0"
58
59 #run "$ARGS1" l1_20000_l2_40000.txt
60 #run "$ARGS2" l1_10000_l2_20000.txt
61 #run "$ARGS3" l1_5000_l2_10000.txt
62 #run "$ARGS4" l1_2500_l2_5000.txt
63 #run "$ARGS5" l1_40000_l2_20000.txt
64 #run "$ARGS6" l1_10000_l2_5000.txt
65 #run "$ARGS7" l1_20000_l2_10000.txt
66 #run "$ARGS8" lockunlock_l_100000_l1_10000_l2_10000.txt
67 #run "$ARGS38" lockunlock_l_100000_l1_10000_l2_10000.txt
68 #run "$ARGS48" lockunlock_l_100000_l1_10000_l2_10000.txt
69 #run "$ARGS58" lockunlock_l_100000_l1_10000_l2_10000.txt
70 #run "$ARGS68" lockunlock_l_100000_l1_10000_l2_10000.txt
71 #run "$ARGS78" lockunlock_l_100000_l1_10000_l2_10000.txt
72 #run "$ARGS88" lockunlock_l_100000_l1_10000_l2_10000.txt
73 #run "$ARGS9" l1_0_l2_0.txt
74 run "$ARGS10" l1_40000_l2_40000.txt
75 run "$ARGS11" l1_10000_l2_10000.txt
76 run "$ARGS12" l1_40000_l2_10000.txt
77 #run "$ARGS13" l1_10000_l2_40000.txt
78 #run "$ARGS14" l1_10000_l2_60000.txt
79 #run "$ARGS15" l1_10000_l2_80000.txt
80 #run "$ARGS16" l1_10000_l2_70000.txt
81 #run "$ARGS17" l1_70000_l2_70000.txt
82 #run "$ARGS18" t_1_l1_1_l2_1.txt
83 #run "$ARGS19" t_2_l1_1_l2_1.txt
84 #run "$ARGS20" t_4_l1_1_l2_1.txt
85 #run "$ARGS21" t_8_l1_1_l2_1.txt
86 #run "$ARGS22" t_12_l1_1_l2_1.txt
87 #run "$ARGS23" t_16_l1_1_l2_1.txt
88 #run "$ARGS24" t_1_l1_1_l2_1.txt
89 #run "$ARGS25" t_1_l1_0_l2_0.txt
90 #run "$ARGS26" l_100000_l1_0_l2_0.txt
91 #run "$ARGS27" l_100000_l1_0_l2_0.txt
92 #run "$ARGS28" l_100000_l1_0_l2_0.txt
93 #run "$ARGS29" l_100000_l1_0_l2_0.txt
94
95
96 ## --------- Cut the first line from the .txt files generated above and plot them ---------
97 #for file in `ls runlog/*.plt`
98 #do
99 #basetime=`cat $file | grep "NLkBas" | cut -f2 -d" "`
100 #  gnuplot $file
101 #done
102
103 #high contention 4 threads
104 #ARGS4="-t 4 -size 5 -l 10000 -l1 100 -l2 50000"
105 #ARGS4="-t 4 -size 4 -l 10000 -l1 10000 -l2 10000" #44.1% abort
106 #high contention 8 threads
107 #ARGS8="-t 8 -size 4 -l 100000 -l1 0 -l2 0"
108 #ARGS8="-t 8 -size 4 -l 100000 -l1 20000 -l2 40000"
109 #-t 8 -size 4 -l 100000 -l1 10000 -l2 20000"
110 #-t 8 -size 4 -l 100000 -l1 5000 -l2 10000"
111 #-t 8 -size 4 -l 100000 -l1 2500 -l2 5000"
112 #-t 8 -size 4 -l 100000 -l1 40000 -l2 20000"
113 #-t 8 -size 4 -l 100000 -l1 10000 -l2 5000"
114 #-t 8 -size 4 -l 100000 -l1 20000 -l2 10000"
115 #-t 8 -size 4 -l 100000 -l1 10000 -l2 10000"
116 #ARGS8="-t 8 -size 4 -l 10000 -l1 0 -l2 0"
117 #ARGS8="-t 8 -size 6 -l 10000 -l1 5000 -l2 5000" #55.79% abort
118 #for file in `ls STATS*`
119 #do
120 #  num=`echo $file | tr -d ".bin" | tr -d "STATSSingleObjectMod"`
121 #  echo $num
122 ##  /usr/bin/time -f "%e" -o /tmp/time ./$file $ARGS4 -o > /tmp/out
123 #  /usr/bin/time -f "%e" -o /tmp/time ./$file $1 -o > /tmp/out
124 #  t=`cat /tmp/time`
125 #  nTcommit=`grep TransCommit /tmp/out | awk '{print $3}'`
126 #  nTabort=`grep TransAbort /tmp/out | awk '{print $3}'`
127 #  nSftabort=`grep 'nSoftAbort ' /tmp/out | awk '{print $3}'`
128 #  p=`echo "$nTabort $nSftabort $nTcommit" | awk '{print (($1+$2)/($1+$2+$3))*100}'`
129 #  echo "$num $t $p $file" >> data.file
130 #done