changes in benchmarks for the PPoPP paper
authoradash <adash>
Mon, 20 Jul 2009 22:00:24 +0000 (22:00 +0000)
committeradash <adash>
Mon, 20 Jul 2009 22:00:24 +0000 (22:00 +0000)
12 files changed:
Robust/src/Benchmarks/Distributed/RainForest/dsm/makefile
Robust/src/Benchmarks/Distributed/RainForest/java/RainForestClient.java
Robust/src/Benchmarks/Prefetch/2DConv/dsm/Makefile
Robust/src/Benchmarks/Prefetch/2DFFT/dsm/Makefile
Robust/src/Benchmarks/Prefetch/MatrixMultiply/dsm/makefile
Robust/src/Benchmarks/Prefetch/Moldyn/dsm/JGFMolDynBenchSizeB.java
Robust/src/Benchmarks/Prefetch/Moldyn/dsm/makefile
Robust/src/Benchmarks/Prefetch/Moldyn/javasingle/JGFMolDynBenchSizeB.java
Robust/src/Benchmarks/Prefetch/Moldyn/javasingle/makefile
Robust/src/Runtime/DSTM/interface/dstm.h
Robust/src/Runtime/DSTM/interface/signal.c
Robust/src/Runtime/DSTM/interface/trans.c

index 9f1171121e0d5a1775e43b70283b2399838e0084..c79f9e0ad8fb78ebdffd377a9479df3404d7d8be 100644 (file)
@@ -19,7 +19,7 @@ default:
        ./extractLines
        ../../../../buildscript ${FLAGS1} -o ${MAINCLASS}NPNC ${SRC}
        ../../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPC ${SRC}
-#      ../../../../buildscript ${FLAGS3} -o ${MAINCLASS}N ${SRC}
+       ../../../../buildscript ${FLAGS3} -o ${MAINCLASS}N ${SRC}
 
 clean:
        rm tmp1RainForest.java
index 0d72dc5d373e3dba640b25c7c83d83bdb9e93686..9005176c539149283973555bd75cedbadad0c10f 100644 (file)
@@ -1,6 +1,6 @@
 #define ROW                 100  /* columns in the map */
 #define COLUMN              100  /* rows of in the map */
-#define ROUNDS              200   /* Number of moves by each player */
+#define ROUNDS              256   /* 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 */
index 2d5dfe40d09cefd27b00c1924e0a43e319f778dd..2fbab3e066427ab10bdfcc365e3c9261d8bd3ca3 100644 (file)
@@ -13,7 +13,7 @@ default:
 #      ../../../../buildscript ${FLAGS} ${SRC1} -o ${MAINCLASS}N
        ../../../../buildscript ${FLAGS1} ${SRC2} -o ${MAINCLASS}NPNC
        ../../../../buildscript ${FLAGS2} ${SRC2} -o ${MAINCLASS}NPC
-#      ../../../../buildscript ${FLAGS} ${SRC2} -o ${MAINCLASS}N
+       ../../../../buildscript ${FLAGS} ${SRC2} -o ${MAINCLASS}N
 
 clean:
        rm -rf tmpbuilddirectory
index c4fdf13f2a0726f53bb5068894c94a47bef2de53..38963d9ff6ad785ebb4facbbde643397e5c55f9d 100644 (file)
@@ -10,7 +10,7 @@ FLAGS2=-dsm -optimize -dsmcaching -mainclass ${MAINCLASS}
 default:
        ../../../../buildscript ${FLAGS1} ${SRC} -o ${MAINCLASS}NPNC
        ../../../../buildscript ${FLAGS2} ${SRC} -o ${MAINCLASS}NPC
-#      ../../../../buildscript ${FLAGS} ${SRC} -o ${MAINCLASS}N
+       ../../../../buildscript ${FLAGS} ${SRC} -o ${MAINCLASS}N
 
 clean:
        rm -rf tmpbuilddirectory
index d70a6d491a0ad2715e704fda05853f3c6c768168..064683cb82a0baa1d13e122e24f65d3e52e8eb5b 100644 (file)
@@ -7,7 +7,7 @@ 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 ${FLAGS} -o ${MAINCLASS}N ${SRC1}
 #      ../../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC200 ${SRC2}
 #      ../../../../buildscript ${FLAGS} -o ${MAINCLASS}N200 ${SRC2}
 
index 716f31b5b193fcaaa7ba5f8d797f4e94cfaca565..3de1200a9ef179d81ab32e446a4a068abae9e941 100644 (file)
@@ -30,7 +30,7 @@ public class JGFMolDynBenchSizeB {
     }
 
     JGFInstrumentor instr = new JGFInstrumentor();
-    JGFInstrumentor.printHeader(3,0,nthreads);
+    JGFInstrumentor.printHeader(3,1,nthreads);
 
     JGFMolDynBench mold;
     atomic {
index ee86c5595f8bdd0489761cdc926ae911070abfc8..108bee9e3ccd888854e1bdf2a59b42edc3b90fab 100644 (file)
@@ -1,4 +1,4 @@
-MAINCLASS=JGFMolDynBenchSizeC
+MAINCLASS=JGFMolDynBenchSizeB
 SRC=${MAINCLASS}.java \
        JGFInstrumentor.java \
        JGFTimer.java \
@@ -7,14 +7,15 @@ SRC=${MAINCLASS}.java \
        IntWrapper.java \
        MDWrap.java \
        ../../../../ClassLibrary/JavaDSM/Barrier.java
-FLAGS=-dsm -dsmcaching -prefetch -optimize -excprefetch particle.force -excprefetch particle.domove -excprefetch particle.mkekin -excprefetch TournamentBarrier.DoBarrier -excprefetch JGFMolDynBench.JGFvalidate -excprefetch JGFMolDynBench.JGFapplication -excprefetch JGFMolDynBench.JGFinitialise -excprefetch mdRunner.init -mainclass ${MAINCLASS} -trueprob 0.75
+FLAGS=-dsm -dsmcaching -prefetch -optimize -excprefetch particle.force -excprefetch particle.domove -excprefetch particle.mkekin -excprefetch TournamentBarrier.DoBarrier -excprefetch JGFMolDynBench.JGFvalidate -excprefetch JGFMolDynBench.JGFapplication -excprefetch JGFMolDynBench.JGFinitialise -excprefetch mdRunner.init -excprefetch mdRunner.doinit -excprefetch mdRunner.doinit2 -mainclass ${MAINCLASS} -trueprob 0.75
+#FLAGS=-dsm -dsmcaching -prefetch -optimize -excprefetch particle.force -excprefetch particle.domove -excprefetch particle.mkekin -excprefetch TournamentBarrier.DoBarrier -excprefetch JGFMolDynBench.JGFvalidate -excprefetch JGFMolDynBench.JGFapplication -excprefetch JGFMolDynBench.JGFinitialise -excprefetch mdRunner.init -mainclass ${MAINCLASS} -trueprob 0.75
 FLAGS2=-dsm -optimize -mainclass ${MAINCLASS}
 FLAGS1=-dsm -dsmcaching -optimize -mainclass ${MAINCLASS} -trueprob 0.75
 
 default:
        ../../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC ${SRC}
        ../../../../buildscript ${FLAGS1} -o ${MAINCLASS}NPC ${SRC}
-#      ../../../../buildscript ${FLAGS} -o ${MAINCLASS}N  ${SRC}
+       ../../../../buildscript ${FLAGS} -o ${MAINCLASS}N  ${SRC}
 
 clean:
        rm -rf tmpbuilddirectory/
index 6dc3aa5e873e4795dd975dd9cec55275f070e3bc..69a9a3d472038a4cd4cc805b09ec087ac42bede5 100644 (file)
@@ -30,7 +30,7 @@ public class JGFMolDynBenchSizeB {
     }
 
     JGFInstrumentor instr = new JGFInstrumentor();
-    JGFInstrumentor.printHeader(3,0,nthreads);
+    JGFInstrumentor.printHeader(3,1,nthreads);
 
     JGFMolDynBench mold;
     mold = new JGFMolDynBench(nthreads); 
index 521f09eaf0e6f2a6d18b197aea4ed5bb23a12afd..85d65c076874ed3ede091fa758c4586987e3b85b 100644 (file)
@@ -1,4 +1,4 @@
-MAINCLASS=JGFMolDynBenchSizeC
+MAINCLASS=JGFMolDynBenchSizeB
 SRC=${MAINCLASS}.java \
 JGFInstrumentor.java \
 JGFTimer.java \
index bd271231e423133165eaf60cdd14ecb64d7de360..9a993d88c25ada7b162ab0289df0c753057b1266 100644 (file)
@@ -57,7 +57,7 @@
 //#define RETRYINTERVAL  20 //N (For Em3d, SOR, Moldyn benchmarks)
 //#define SHUTDOWNINTERVAL  3  //M
 #define RETRYINTERVAL  100 //N  (For MatrixMultiply, 2DFFT benchmarks)
-#define SHUTDOWNINTERVAL  1  //M
+#define SHUTDOWNINTERVAL 1  //M
 
 #include <stdlib.h>
 #include <stdio.h>
 /*******Global statistics *********/
 extern int numprefetchsites;
 
+/***********************************
+ * Global Variables for statistics
+ **********************************/
+#ifdef TRANSSTATS
+extern int numTransCommit;
+extern int numTransAbort;
+extern int nSoftAbort;
+extern int nSoftAbortAbort;
+extern int nSoftAbortCommit;
+#endif
+
 double idForTimeDelay;           /* TODO Remove, necessary to get time delay for starting transRequest for this id */
 int transCount;                  /* TODO Remove, necessary to the transaction id */
 
index 094e9c9df3e77443a51aa62be06bd0195831c71f..d95d096e38754117c898c94dd71243a27276a694 100644 (file)
@@ -14,10 +14,13 @@ extern int bytesSent;
 extern int bytesRecv;
 extern int totalObjSize;
 extern unsigned int myIpAddr;
+extern int getResponse;
+extern int sendRemoteReq;
 
 void handle();
 extern pfcstats_t *evalPrefetch;
 
+/*
 void transStatsHandler(int sig, siginfo_t* info, void *context) {
 #ifdef TRANSSTATS
   FILE *fp;
@@ -42,6 +45,28 @@ void transStatsHandler(int sig, siginfo_t* info, void *context) {
   exit(0);
 #endif
 }
+*/
+
+void transStatsHandler(int sig, siginfo_t* info, void *context) {
+#ifdef TRANSSTATS
+  printf("******  Transaction Stats   ******\n");
+  printf("myIpAddr = %x\n", myIpAddr);
+  printf("numTransAbort = %d\n", numTransAbort);
+  printf("numTransCommit = %d\n", numTransCommit);
+  printf("nchashSearch = %d\n", nchashSearch);
+  printf("nmhashSearch = %d\n", nmhashSearch);
+  printf("nprehashSearch = %d\n", nprehashSearch);
+  printf("nRemoteReadSend = %d\n", nRemoteSend);
+  printf("nSoftAbort = %d\n", nSoftAbort);
+  printf("bytesSent = %d\n", bytesSent);
+  printf("bytesRecv = %d\n", bytesRecv);
+  printf("totalObjSize= %d\n", totalObjSize);
+  printf("sendRemoteReq= %d\n", sendRemoteReq);
+  printf("getResponse= %d\n", getResponse);
+  printf("**********************************\n");
+  exit(0);
+#endif
+}
 
 void handle() {
 #ifdef TRANSSTATS
index b6ac84bfef6dcf148f6d7c761a359e8d9d333402..8e2ba01c518f9ef13931ac1d3b96b8318e9ebd8f 100644 (file)
@@ -72,6 +72,8 @@ int nSoftAbort = 0;
 int bytesSent = 0;
 int bytesRecv = 0;
 int totalObjSize = 0;
+int sendRemoteReq = 0;
+int getResponse = 0;
 
 void printhex(unsigned char *, int);
 plistnode_t *createPiles();
@@ -1469,6 +1471,9 @@ void sendPrefetchReq(prefetchpile_t *mcpilenode, int sd) {
     *((int*)buf) = tmp->numoffset;
     buf+=sizeof(int);
     *((unsigned int *)buf) = tmp->oid;
+#ifdef TRANSSTATS
+    sendRemoteReq++;
+#endif
     buf+=sizeof(unsigned int);
     *((unsigned int *)buf) = myIpAddr;
     buf += sizeof(unsigned int);
@@ -1493,7 +1498,9 @@ int getPrefetchResponse(int sd) {
   recv_data((int)sd, &length, sizeof(int));
   size = length - sizeof(int);
   char recvbuffer[size];
-
+#ifdef TRANSSTATS
+    getResponse++;
+#endif
   recv_data((int)sd, recvbuffer, size);
   control = *((char *) recvbuffer);
   if(control == OBJECT_FOUND) {