From: adash <adash>
Date: Sat, 26 Sep 2009 18:38:24 +0000 (+0000)
Subject: changes to the benchmarks
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=bf134fff74f639d9b58745cfa203290402d917c2;p=IRC.git

changes to the benchmarks
---

diff --git a/Robust/src/Benchmarks/Distributed/RainForest/dsm/RainForest.java b/Robust/src/Benchmarks/Distributed/RainForest/dsm/RainForest.java
index ecdcf42b..fc119484 100644
--- a/Robust/src/Benchmarks/Distributed/RainForest/dsm/RainForest.java
+++ b/Robust/src/Benchmarks/Distributed/RainForest/dsm/RainForest.java
@@ -1,6 +1,6 @@
-#define ROW                 100   /* columns in the map */
+#define ROW                 400   /* columns in the map */
 #define COLUMN              100   /* rows of in the map */
-#define ROUNDS              256  /* Number of moves by each player */
+#define ROUNDS              512  /* Number of moves by each player */
 #define PLAYERS             20    /* Number of Players when num Players != num of client machines */
 #define RATI0               0.5   /* Number of lumberjacks to number of planters */
 #define BLOCK               3     /* Area around the gamer to consider */
diff --git a/Robust/src/Benchmarks/Distributed/RainForest/dsm/makefile b/Robust/src/Benchmarks/Distributed/RainForest/dsm/makefile
index c79f9e0a..df0290dc 100644
--- a/Robust/src/Benchmarks/Distributed/RainForest/dsm/makefile
+++ b/Robust/src/Benchmarks/Distributed/RainForest/dsm/makefile
@@ -11,8 +11,8 @@ SRC=tmp${MAINCLASS}.java \
 	AStarPathFinder.java 
 
 FLAGS1=-dsm -optimize -mainclass ${MAINCLASS}
-FLAGS2=-dsm -dsmcaching -abortreaders -optimize -mainclass ${MAINCLASS}
-FLAGS3=-dsm -dsmcaching -prefetch -optimize -mainclass ${MAINCLASS} -excprefetch BarrierServer.updateAge -excprefetch RainForest.main -excprefetch GameMap.hasRock -excprefetch GameMap.hasTree -trueprob 0.90
+FLAGS2=-dsm -dsmcaching -transstats -abortreaders -optimize -mainclass ${MAINCLASS}
+FLAGS3=-dsm -dsmcaching -transstats -abortreaders -prefetch -optimize -mainclass ${MAINCLASS} -excprefetch BarrierServer.updateAge -excprefetch RainForest.main -excprefetch GameMap.hasRock -excprefetch GameMap.hasTree -trueprob 0.90
 
 default:
 	cpp ${MAINCLASS}.java > tmp1${MAINCLASS}.java
diff --git a/Robust/src/Benchmarks/Prefetch/2DConv/dsm/ConvolutionSizeC.java b/Robust/src/Benchmarks/Prefetch/2DConv/dsm/ConvolutionSizeC.java
index 38a6c39b..0879227d 100644
--- a/Robust/src/Benchmarks/Prefetch/2DConv/dsm/ConvolutionSizeC.java
+++ b/Robust/src/Benchmarks/Prefetch/2DConv/dsm/ConvolutionSizeC.java
@@ -18,32 +18,34 @@ public class Convolution extends Thread {
     initKernel15(kernel);
 
     atomic {
+	int myx0=x0;
+	int myy0=y0;
+	int myx1=x1;
+	int myy1=y1;
+
       double tempinput[][] = img.inputImage;
       double tempout[][] = img.outputImage;
 
-      double tinput1[] = tempinput[x0];
-      double tinput2[] = tempinput[x0+1];
-      double tinput3[] = tempinput[x0+2];
-      double tinput4[] = tempinput[x0+3];
-      double tinput5[] = tempinput[x0+4];
-      double tinput6[] = tempinput[x0+5];
-      double tinput7[] = tempinput[x0+6];
-      double tinput8[] = tempinput[x0+7];
-      double tinput9[] = tempinput[x0+8];
-      double tinput10[] = tempinput[x0+9];
-      double tinput11[] = tempinput[x0+10];
-      double tinput12[] = tempinput[x0+11];
-      double tinput13[] = tempinput[x0+12];
-      double tinput14[] = tempinput[x0+13];
+      double tinput1[] = tempinput[myx0+0];
+      double tinput2[] = tempinput[myx0+1];
+      double tinput3[] = tempinput[myx0+2];
+      double tinput4[] = tempinput[myx0+3];
+      double tinput5[] = tempinput[myx0+4];
+      double tinput6[] = tempinput[myx0+5];
+      double tinput7[] = tempinput[myx0+6];
+      double tinput8[] = tempinput[myx0+7];
+      double tinput9[] = tempinput[myx0+8];
+      double tinput10[] = tempinput[myx0+9];
+      double tinput11[] = tempinput[myx0+10];
+      double tinput12[] = tempinput[myx0+11];
+      double tinput13[] = tempinput[myx0+12];
+      double tinput14[] = tempinput[myx0+13];
       double tinput0[] = tinput1;
 
-      int l=x0+14;
-      for(int i=x0;i<x1;i++,l++){
+      int l=myx0+14;
+      for(int i=myx0;i<myx1;i++,l++){
         double tout[] = tempout[i];
-        tinput0 = tinput1; tinput1=tinput2; tinput2=tinput3; tinput3=tinput4; tinput4=tinput5;
-        tinput5 = tinput6; tinput6=tinput7; tinput7=tinput8; tinput8=tinput9; tinput9=tinput10; 
-        tinput10 = tinput11; tinput11=tinput12; tinput12=tinput13; tinput13=tinput14; tinput14=tempinput[l];
-        for(int j=y0;j<y1;++j){
+        for(int j=myy0;j<myy1;++j){
           double s=0;
           for(int b=0;b<kernelHeight;++b) {
             s+=(tinput0[j+b] * kernel[0][b] + tinput1[j+b] * kernel[1][b] + tinput2[j+b]*kernel[2][b] +
@@ -54,10 +56,16 @@ public class Convolution extends Thread {
           }
           tout[j]=s;
         }
+        tinput0 = tinput1; tinput1=tinput2; tinput2=tinput3; tinput3=tinput4; tinput4=tinput5;
+        tinput5 = tinput6; tinput6=tinput7; tinput7=tinput8; tinput8=tinput9; tinput9=tinput10; 
+        tinput10 = tinput11; tinput11=tinput12; tinput12=tinput13; tinput13=tinput14; tinput14=tempinput[l];
       }
     }
   }
 
+    
+
+
   public static void main(String[] args) {
     int SIZE = 256;
     int NUM_THREADS = 1;
diff --git a/Robust/src/Benchmarks/Prefetch/2DConv/dsm/Makefile b/Robust/src/Benchmarks/Prefetch/2DConv/dsm/Makefile
index 2fbab3e0..c7c2b407 100644
--- a/Robust/src/Benchmarks/Prefetch/2DConv/dsm/Makefile
+++ b/Robust/src/Benchmarks/Prefetch/2DConv/dsm/Makefile
@@ -2,7 +2,7 @@ MAINCLASS=Convolution
 SRC=${MAINCLASS}.java
 SRC1=${MAINCLASS}SizeB.java
 SRC2=${MAINCLASS}SizeC.java
-FLAGS =-dsm -dsmcaching -prefetch -optimize -excprefetch Image.initKernel -excprefetch Image.setValues -excprefetch Convolution.main -trueprob 0.95 -mainclass ${MAINCLASS}
+FLAGS =-dsm -transstats -dsmcaching -prefetch -optimize -excprefetch Image.initKernel -excprefetch Image.setValues -excprefetch Convolution.main -trueprob 0.98 -mainclass ${MAINCLASS}
 FLAGS1=-dsm -optimize -mainclass ${MAINCLASS}
 FLAGS2=-dsm -optimize -dsmcaching -mainclass ${MAINCLASS}
 
@@ -12,7 +12,7 @@ default:
 #	../../../../buildscript ${FLAGS1} ${SRC1} -o ${MAINCLASS}NPNC
 #	../../../../buildscript ${FLAGS} ${SRC1} -o ${MAINCLASS}N
 	../../../../buildscript ${FLAGS1} ${SRC2} -o ${MAINCLASS}NPNC
-	../../../../buildscript ${FLAGS2} ${SRC2} -o ${MAINCLASS}NPC
+#	../../../../buildscript ${FLAGS2} ${SRC2} -o ${MAINCLASS}NPC
 	../../../../buildscript ${FLAGS} ${SRC2} -o ${MAINCLASS}N
 
 clean:
diff --git a/Robust/src/Benchmarks/Prefetch/Array/ArrayEx.java b/Robust/src/Benchmarks/Prefetch/Array/ArrayEx.java
index fc3811f6..1f324fc8 100644
--- a/Robust/src/Benchmarks/Prefetch/Array/ArrayEx.java
+++ b/Robust/src/Benchmarks/Prefetch/Array/ArrayEx.java
@@ -17,18 +17,31 @@ public class Array2D extends Thread {
     }
 
     public void exec() {
-	    int xlength=array[0].length;
-	    int ylength=array[0][0].length;
-	    long sum;
-	for(int ii=0;ii<10;ii++) {
-	    int zz[][]=array[ii];
-	    for(int i=0;i<xlength;i++) {
-		int a[]=zz[i];
-		for(int j=0;j<ylength;j++) {
-		    sum+=a[j];
-		}
-	    }
-	}
+      int xlength=array[0].length;
+      int ylength=array[0][0].length;
+      //long sum;
+      for(int ii=0;ii<10;ii++) {
+        int zz[][]=array[ii];
+        /*
+        for(int i=0;i<xlength;i++) { 
+          int a[]=zz[i];
+          for(int j=0;j<ylength;j++) {
+            sum+=a[j];
+          }
+        }
+        */
+        secondLoop(zz, xlength, ylength);
+      }
+    }
+
+    public void secondLoop(int[][] zz, int xlength, int ylength) {
+      long sum;
+      for(int i=0;i<xlength;i++) {
+        int a[]=zz[i];
+        for(int j=0;j<ylength;j++) {
+          sum+=a[j];
+        }
+      }
     }
     
     public void run() {
diff --git a/Robust/src/Benchmarks/Prefetch/Array/makefile b/Robust/src/Benchmarks/Prefetch/Array/makefile
index 3670375b..37b4cc5f 100644
--- a/Robust/src/Benchmarks/Prefetch/Array/makefile
+++ b/Robust/src/Benchmarks/Prefetch/Array/makefile
@@ -1,12 +1,13 @@
 MAINCLASS=Array2D
 SRC1=${MAINCLASS}.java
-FLAGS=-dsm -prefetch -transstats -dsmcaching -optimize -excprefetch Array.Array -mainclass ${MAINCLASS} -trueprob 0.98
+SRC2=ArrayEx.java
+FLAGS=-dsm -prefetch -dsmcaching -optimize -excprefetch Array2D.run -excprefetch Array2D.main -mainclass ${MAINCLASS} -trueprob 0.98
 FLAGS1=-dsm -dsmcaching -optimize -mainclass ${MAINCLASS} -trueprob 0.98
 FLAGS2=-dsm -optimize -mainclass ${MAINCLASS}
 default:
-	../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC ${SRC1}
-	../../../buildscript ${FLAGS1} -o ${MAINCLASS}NPC ${SRC1}
-	../../../buildscript ${FLAGS} -o ${MAINCLASS}N ${SRC1}
+	../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC ${SRC2}
+#	../../../buildscript ${FLAGS1} -o ${MAINCLASS}NPC ${SRC2}
+	../../../buildscript ${FLAGS} -o ${MAINCLASS}N ${SRC2}
 
 clean:
 	rm -rf tmpbuilddirectory
diff --git a/Robust/src/Benchmarks/Prefetch/SOR/dsm/JGFSORBenchSizeD.java b/Robust/src/Benchmarks/Prefetch/SOR/dsm/JGFSORBenchSizeD.java
index 09616fc6..aa908125 100644
--- a/Robust/src/Benchmarks/Prefetch/SOR/dsm/JGFSORBenchSizeD.java
+++ b/Robust/src/Benchmarks/Prefetch/SOR/dsm/JGFSORBenchSizeD.java
@@ -32,7 +32,7 @@ public class JGFSORBenchSizeD{
     }
 
     JGFInstrumentor instr = new JGFInstrumentor();
-    JGFInstrumentor.printHeader(2,0,nthreads);
+    //JGFInstrumentor.printHeader(2,0,nthreads);
 
     JGFSORBench sor;
     atomic {
diff --git a/Robust/src/Benchmarks/Prefetch/SOR/dsm/makefile b/Robust/src/Benchmarks/Prefetch/SOR/dsm/makefile
index dcdf36fd..73d17786 100644
--- a/Robust/src/Benchmarks/Prefetch/SOR/dsm/makefile
+++ b/Robust/src/Benchmarks/Prefetch/SOR/dsm/makefile
@@ -1,19 +1,31 @@
 #MAINCLASS=JGFSORBenchSizeA
 #MAINCLASS=JGFSORBenchSizeC
-MAINCLASS=JGFSORBenchSizeC
+MAINCLASS1=JGFSORBenchSizeC
+MAINCLASS=JGFSORBenchSizeD
 SRC=${MAINCLASS}.java \
 	JGFSORBench.java \
 	JGFInstrumentor.java \
 	JGFTimer.java \
 	SORRunner.java \
-	SORWrap.java
-FLAGS=-dsm -prefetch -dsmcaching -nooptimize -debug -excprefetch JGFSORBench.JGFSORBench -excprefetch JGFSORBenchSizeA.main -excprefetch JGFSORBench.RandomMatrix -excprefetch JGFSORBench.init_sync -excprefetch JGFSORBench.JGFkernel -mainclass ${MAINCLASS} -trueprob 0.72
-FLAGS1=-dsm -dsmcaching -nooptimize -debug -mainclass ${MAINCLASS} 
-FLAGS2=-dsm -optimize -mainclass ${MAINCLASS}
+	SORWrap.java \
+    ../../../../ClassLibrary/JavaDSM/Barrier.java
+SRC1=${MAINCLASS1}.java \
+	JGFSORBench.java \
+	JGFInstrumentor.java \
+	JGFTimer.java \
+	SORRunner.java \
+	SORWrap.java \
+    ../../../../ClassLibrary/JavaDSM/Barrier.java
+
+FLAGS=-dsm -prefetch -transstats -dsmcaching -optimize -excprefetch JGFSORBench.JGFSORBench -excprefetch JGFSORBenchSizeA.main -excprefetch JGFSORBench.RandomMatrix -excprefetch JGFSORBench.init_sync -excprefetch JGFSORBench.JGFkernel -trueprob 0.72
+FLAGS1=-dsm -dsmcaching -optimize -debug -mainclass ${MAINCLASS} 
+FLAGS2=-dsm -optimize
 
 default:
-	../../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC ${SRC}
-	../../../../buildscript ${FLAGS} -o ${MAINCLASS}N  ${SRC}
+	../../../../buildscript ${FLAGS2} -mainclass ${MAINCLASS} -o ${MAINCLASS}NPNC ${SRC}
+	../../../../buildscript ${FLAGS} -mainclass ${MAINCLASS} -o ${MAINCLASS}N  ${SRC}
+	../../../../buildscript ${FLAGS2} -mainclass ${MAINCLASS1} -o ${MAINCLASS1}NPNC ${SRC1}
+	../../../../buildscript ${FLAGS} -mainclass ${MAINCLASS1} -o ${MAINCLASS1}N  ${SRC1}
 
 clean:
 	rm -rf tmpbuilddirectory
diff --git a/Robust/src/Benchmarks/Prefetch/SOR/javasingle/JGFSORBench.java b/Robust/src/Benchmarks/Prefetch/SOR/javasingle/JGFSORBench.java
index 3155ab01..3b22060d 100644
--- a/Robust/src/Benchmarks/Prefetch/SOR/javasingle/JGFSORBench.java
+++ b/Robust/src/Benchmarks/Prefetch/SOR/javasingle/JGFSORBench.java
@@ -37,10 +37,11 @@ public class JGFSORBench {
   public JGFSORBench(int nthreads, JGFInstrumentor instr){
     this.nthreads = nthreads;
     this.instr = instr;
-    datasizes = new int[3];
+    datasizes = new int[4];
     datasizes[0] = 1000;
     datasizes[1] = 1500;
     datasizes[2] = 2000;
+    datasizes[3] = 8000;
     JACOBI_NUM_ITER = 100;
     RANDOM_SEED = 10101010;
     R = new Random(RANDOM_SEED);
diff --git a/Robust/src/Benchmarks/Prefetch/SOR/javasingle/JGFSORBenchSizeC.java b/Robust/src/Benchmarks/Prefetch/SOR/javasingle/JGFSORBenchSizeC.java
index 71b30f19..ec8cf945 100644
--- a/Robust/src/Benchmarks/Prefetch/SOR/javasingle/JGFSORBenchSizeC.java
+++ b/Robust/src/Benchmarks/Prefetch/SOR/javasingle/JGFSORBenchSizeC.java
@@ -40,7 +40,7 @@ public class JGFSORBenchSizeC{
     JGFInstrumentor.addTimer("Section2:SOR:Kernel", "Iterations",size, instr.timers);
 
     sor.JGFsetsize(size); 
-    sor.JGFkernel(); 
+    JGFSORBench.JGFkernel(sor,instr); 
     sor.JGFvalidate(); 
 
     JGFInstrumentor.addOpsToTimer("Section2:SOR:Kernel", (double) (sor.JACOBI_NUM_ITER), instr.timers);
diff --git a/Robust/src/Benchmarks/Prefetch/SOR/javasingle/makefile b/Robust/src/Benchmarks/Prefetch/SOR/javasingle/makefile
index 3e1a37c8..733713a2 100644
--- a/Robust/src/Benchmarks/Prefetch/SOR/javasingle/makefile
+++ b/Robust/src/Benchmarks/Prefetch/SOR/javasingle/makefile
@@ -1,14 +1,23 @@
-MAINCLASS=JGFSORBenchSizeA
-SRC=${MAINCLASS}.java \
+MAINCLASS=JGFSORBenchSizeC
+MAINCLASS2=JGFSORBenchSizeD
+SRC1=${MAINCLASS}.java \
 JGFInstrumentor.java \
 JGFTimer.java \
 JGFSORBench.java \
 SORRunner.java
+SRC2=${MAINCLASS2}.java \
+JGFInstrumentor.java \
+JGFTimer.java \
+JGFSORBench.java \
+SORRunner.java
+
 
-FLAGS2= -thread -optimize -mainclass ${MAINCLASS} -o ${MAINCLASS}NP
+FLAGS2=-thread -optimize -mainclass ${MAINCLASS2} -o ${MAINCLASS2}
+FLAGS=-thread -optimize -mainclass ${MAINCLASS} -o ${MAINCLASS}
 
 default:
-	../../../../buildscript ${FLAGS2} ${SRC}
+	../../../../buildscript ${FLAGS} ${SRC1}
+	../../../../buildscript ${FLAGS2} ${SRC2}
 
 clean:
 	rm -rf tmpbuilddirectory/
diff --git a/Robust/src/Benchmarks/Prefetch/killallclients.sh b/Robust/src/Benchmarks/Prefetch/killallclients.sh
index 65235a8d..dc4869d5 100755
--- a/Robust/src/Benchmarks/Prefetch/killallclients.sh
+++ b/Robust/src/Benchmarks/Prefetch/killallclients.sh
@@ -1,4 +1,7 @@
 #!/bin/sh
 source ~/.tmpvars 
+name=`cat ~/.tmpvars | cut -f2 -d"="`
+args=`cat ~/.tmpparams`
+echo $name $args >> /tmp/client_stats.txt
 binpid=`ps aux | grep $bin | grep -v grep | grep -v time | awk '{print $2}'`
 kill -USR1 $binpid
diff --git a/Robust/src/Runtime/DSTM/interface/dstm.h b/Robust/src/Runtime/DSTM/interface/dstm.h
index c5288f88..7762784b 100644
--- a/Robust/src/Runtime/DSTM/interface/dstm.h
+++ b/Robust/src/Runtime/DSTM/interface/dstm.h
@@ -57,7 +57,7 @@
 //Prefetch tuning paramters
 //#define RETRYINTERVAL  20 //N (For Em3d, SOR, Moldyn benchmarks)
 //#define SHUTDOWNINTERVAL  3  //M
-#define RETRYINTERVAL  75 //N  (For MatrixMultiply, 2DFFT benchmarks)
+#define RETRYINTERVAL  20 //N  (For MatrixMultiply, 2DFFT benchmarks)
 #define SHUTDOWNINTERVAL 1  //M
 
 #include <stdlib.h>