minor
authorXiang Ni <xiangni2@illinois.edu>
Sun, 6 Jan 2013 17:49:24 +0000 (11:49 -0600)
committerXiang Ni <xiangni2@illinois.edu>
Sun, 6 Jan 2013 17:49:24 +0000 (11:49 -0600)
src/ck-core/ckmemcheckpoint.C

index 2cf2c9f10f1ec65d4f984f72fde2e0c345be9727..9ff229155e9b7b5d374e63a4d81c20e330c878b0 100644 (file)
@@ -68,7 +68,7 @@ void noopck(const char*, ...)
 
 #define CMK_CHKP_ALL           1
 #define CMK_USE_BARRIER                0
 
 #define CMK_CHKP_ALL           1
 #define CMK_USE_BARRIER                0
-#define CMK_USE_CHECKSUM               1
+#define CMK_USE_CHECKSUM               0
 
 //stream remote records happned only if CK_NO_PROC_POOL =1 which means the chares to pe map will change
 #define STREAMING_INFORMHOME                    1
 
 //stream remote records happned only if CK_NO_PROC_POOL =1 which means the chares to pe map will change
 #define STREAMING_INFORMHOME                    1
@@ -722,7 +722,7 @@ void CkMemCheckPT::startCheckpoint(){
 #if CMK_USE_CHECKSUM
     CkCheckPTMessage * tmpMsg = (CkCheckPTMessage *)CkCopyMsg((void **)&msg);
     CpvAccess(localChecksum) = getChecksum((char *)(tmpMsg->packData));
 #if CMK_USE_CHECKSUM
     CkCheckPTMessage * tmpMsg = (CkCheckPTMessage *)CkCopyMsg((void **)&msg);
     CpvAccess(localChecksum) = getChecksum((char *)(tmpMsg->packData));
-    CmiPrintf("[%d][%d] checksum %d\n",CmiMyPartition(),CkMyPe(),CpvAccess(localChecksum));
+//    CmiPrintf("[%d][%d] checksum %d\n",CmiMyPartition(),CkMyPe(),CpvAccess(localChecksum));
     delete tmpMsg;
     //send checksum
     char *chkpMsg = (char*)CmiAlloc(CmiMsgHeaderSizeBytes+sizeof(int));
     delete tmpMsg;
     //send checksum
     char *chkpMsg = (char*)CmiAlloc(CmiMsgHeaderSizeBytes+sizeof(int));
@@ -750,7 +750,7 @@ void CkMemCheckPT::startCheckpoint(){
     }
 #endif
     else{
     }
 #endif
     else{
-      CkPrintf("[%d][%d] failed the test pointer %d \n",CmiMyPartition(),CkMyPe(),pointer);
+      //CkPrintf("[%d][%d] failed the test pointer %d \n",CmiMyPartition(),CkMyPe(),pointer);
       thisProxy[CkMyPe()].doneComparison(false);
     }
     if(CkMyPe()==0)
       thisProxy[CkMyPe()].doneComparison(false);
     }
     if(CkMyPe()==0)
@@ -789,7 +789,7 @@ void CkMemCheckPT::startCheckpoint(){
 void CkMemCheckPT::doneComparison(bool ret){
   int _ret = 1;
   if(!ret){
 void CkMemCheckPT::doneComparison(bool ret){
   int _ret = 1;
   if(!ret){
-    CkPrintf("[%d][%d] fail in doneComparison \n", CmiMyPartition(),CkMyPe());
+    //CkPrintf("[%d][%d] fail in doneComparison \n", CmiMyPartition(),CkMyPe());
     _ret = 0;
   }else{
     _ret = 1;
     _ret = 0;
   }else{
     _ret = 1;
@@ -814,7 +814,8 @@ void CkMemCheckPT::doneRComparison(int ret){
     }
   }
   else{
     }
   }
   else{
-    CkPrintf("[%d][%d] going to RollBack %d \n", CmiMyPartition(),CkMyPe(),ret);
+    CkPrintf("[%d][%d] going to RollBack %d at %lf checkpoint in %lf\n", CmiMyPartition(),CkMyPe(),ret,CmiWallTimer(), CmiWallTimer()-startTime);
+    startTime = CmiWallTimer();
     thisProxy.RollBack();
   }
 }
     thisProxy.RollBack();
   }
 }
@@ -824,11 +825,12 @@ void CkMemCheckPT::doneBothComparison(){
   CpvAccess(recvdLocal) = 0;
   CpvAccess(localChkpDone) = 0;
   CpvAccess(remoteChkpDone) = 0;
   CpvAccess(recvdLocal) = 0;
   CpvAccess(localChkpDone) = 0;
   CpvAccess(remoteChkpDone) = 0;
+  int size = CpvAccess(chkpBuf)[CpvAccess(curPointer)]->len;
   CpvAccess(curPointer)^=1;
   inCheckpointing = 0;
   notifyReplica = 0;
   if(CkMyPe() == 0){
   CpvAccess(curPointer)^=1;
   inCheckpointing = 0;
   notifyReplica = 0;
   if(CkMyPe() == 0){
-    CmiPrintf("[%d][%d] Checkpoint finished in %f seconds, sending callback ... \n", CmiMyPartition(),CkMyPe(), CmiWallTimer()-startTime);
+    CmiPrintf("[%d][%d] Checkpoint finished in %f seconds, checkpoint size %d, sending callback ... \n", CmiMyPartition(),CkMyPe(), CmiWallTimer()-startTime,size);
   }
   CKLOCMGR_LOOP(mgr->resumeFromChkp(););//TODO wait until the replica finish the checkpoint
 }
   }
   CKLOCMGR_LOOP(mgr->resumeFromChkp(););//TODO wait until the replica finish the checkpoint
 }
@@ -857,7 +859,6 @@ void CkMemCheckPT::RollBack(){
 
   if(p.isUnpacking()){
     for(int i=0;i<numElements;i++){
 
   if(p.isUnpacking()){
     for(int i=0;i<numElements;i++){
-      //for(int i=0;i<1;i++){
       CkGroupID gID;
       CkArrayIndex idx;
       p|gID;
       CkGroupID gID;
       CkArrayIndex idx;
       p|gID;
@@ -872,7 +873,6 @@ void CkMemCheckPT::RollBack(){
   }
 
   void CkMemCheckPT::notifyReplicaDie(int pe){
   }
 
   void CkMemCheckPT::notifyReplicaDie(int pe){
-    //CkPrintf("[%d] receive replica die\n",CkMyPe());
     replicaAlive = 0;
     CpvAccess(_remoteCrashedNode) = pe;
   }
     replicaAlive = 0;
     CpvAccess(_remoteCrashedNode) = pe;
   }
@@ -1296,10 +1296,6 @@ void CkMemCheckPT::RollBack(){
     // restore array elements
     void CkMemCheckPT::recoverArrayElements()
     {
     // restore array elements
     void CkMemCheckPT::recoverArrayElements()
     {
-      if(CmiMyPartition()==1&&CkMyPe()==0){
-        CmiPrintf("[%d][%d] memory %lf\n",CmiMyPartition(),CkMyPe(),CmiMemoryUsage()/1048576.0);
-        fflush(stdout);
-      }
       double curTime = CmiWallTimer();
       int len = ckTable.length();
       //CkPrintf("[%d] CkMemCheckPT ----- %s len: %d in %f seconds \n",CkMyPe(), stage, len, curTime-startTime);
       double curTime = CmiWallTimer();
       int len = ckTable.length();
       //CkPrintf("[%d] CkMemCheckPT ----- %s len: %d in %f seconds \n",CkMyPe(), stage, len, curTime-startTime);
@@ -1364,7 +1360,6 @@ void CkMemCheckPT::RollBack(){
       recoverAll(packData);
 #endif
 #endif
       recoverAll(packData);
 #endif
 #endif
-      curTime = CmiWallTimer();
 #if STREAMING_INFORMHOME && CK_NO_PROC_POOL
       for (int i=0; i<CkNumPes(); i++) {
         if (gmap[i].size() && i!=CkMyPe()&& i==thisFailedPe) {
 #if STREAMING_INFORMHOME && CK_NO_PROC_POOL
       for (int i=0; i<CkNumPes(); i++) {
         if (gmap[i].size() && i!=CkMyPe()&& i==thisFailedPe) {
@@ -1390,10 +1385,6 @@ void CkMemCheckPT::RollBack(){
         contribute(CkCallback(CkReductionTarget(CkMemCheckPT, finishUp), thisProxy));
       }
 #endif
         contribute(CkCallback(CkReductionTarget(CkMemCheckPT, finishUp), thisProxy));
       }
 #endif
-      if(CmiMyPartition()==1&&CkMyPe()==0){
-        CmiPrintf("[%d][%d] memory %lf\n",CmiMyPartition(),CkMyPe(),CmiMemoryUsage()/1048576.0);
-        fflush(stdout);
-      }
     }
 
     void CkMemCheckPT::gotReply(){
     }
 
     void CkMemCheckPT::gotReply(){
@@ -1401,10 +1392,6 @@ void CkMemCheckPT::RollBack(){
     }
 
     void CkMemCheckPT::recoverAll(char * packData,CkVec<CkGroupID> * gmap, CkVec<CkArrayIndex> * imap){
     }
 
     void CkMemCheckPT::recoverAll(char * packData,CkVec<CkGroupID> * gmap, CkVec<CkArrayIndex> * imap){
-      if(CmiMyPartition()==1&&CkMyPe()==0){
-        CmiPrintf("[%d][%d]before recover memory %lf\n",CmiMyPartition(),CkMyPe(),CmiMemoryUsage()/1048576.0);
-        fflush(stdout);
-      }
 #if CMK_CHKP_ALL
       PUP::fromMem p(packData);
       int numElements;
 #if CMK_CHKP_ALL
       PUP::fromMem p(packData);
       int numElements;
@@ -1441,10 +1428,6 @@ void CkMemCheckPT::RollBack(){
         }
       }
 #endif
         }
       }
 #endif
-      if(CmiMyPartition()==1&&CkMyPe()==0){
-        CmiPrintf("[%d][%d]after recover memory %lf\n",CmiMyPartition(),CkMyPe(),CmiMemoryUsage()/1048576.0);
-        fflush(stdout);
-      }
     }
 
 
     }
 
 
@@ -1502,7 +1485,7 @@ void CkMemCheckPT::RollBack(){
       inCheckpointing = 0;
       notifyReplica = 0;
       if(CkMyPe() == 0){
       inCheckpointing = 0;
       notifyReplica = 0;
       if(CkMyPe() == 0){
-        CmiPrintf("[%d][%d] Recover From soft failures, sending callback ... \n", CmiMyPartition(),CkMyPe());
+        CmiPrintf("[%d][%d] Recover From soft failures in %lf, sending callback ... \n", CmiMyPartition(),CkMyPe(),CmiWallTimer()-startTime);
       }
       CKLOCMGR_LOOP(mgr->resumeFromChkp(););
     }
       }
       CKLOCMGR_LOOP(mgr->resumeFromChkp(););
     }
@@ -1702,7 +1685,6 @@ void CkMemCheckPT::RollBack(){
           CProxy_CkMemCheckPT(ckCheckPTGroupID).ckLocalBranch()->doneComparison(true);
         }else
         {
           CProxy_CkMemCheckPT(ckCheckPTGroupID).ckLocalBranch()->doneComparison(true);
         }else
         {
-         // CkPrintf("[%d][%d] failed the test my size %d buddy size %d pointer %d\n",CmiMyPartition(),CkMyPe(),size,chkpMsg->len,pointer);
           CProxy_CkMemCheckPT(ckCheckPTGroupID).ckLocalBranch()->doneComparison(false);
         }
         delete chkpMsg;
           CProxy_CkMemCheckPT(ckCheckPTGroupID).ckLocalBranch()->doneComparison(false);
         }
         delete chkpMsg;
@@ -1760,10 +1742,6 @@ void CkMemCheckPT::RollBack(){
     }
 
     static void recoverRemoteProcDataHandler(char *msg){
     }
 
     static void recoverRemoteProcDataHandler(char *msg){
-      if(CmiMyPartition()==1&&CkMyPe()==0){
-        CmiPrintf("[%d][%d] memory %lf\n",CmiMyPartition(),CkMyPe(),CmiMemoryUsage()/1048576.0);
-        fflush(stdout);
-      }
       envelope *env = (envelope *)msg;
       CkUnpackMessage(&env);
       CkCheckPTMessage* procMsg = (CkCheckPTMessage *)(EnvToUsr(env));
       envelope *env = (envelope *)msg;
       CkUnpackMessage(&env);
       CkCheckPTMessage* procMsg = (CkCheckPTMessage *)(EnvToUsr(env));
@@ -1795,20 +1773,12 @@ void CkMemCheckPT::RollBack(){
         CmiSetHandler(restartmsg, restartBeginHandlerIdx);
         CmiSyncSendAndFree(_diePE, CmiMsgHeaderSizeBytes, (char *)restartmsg);
       }
         CmiSetHandler(restartmsg, restartBeginHandlerIdx);
         CmiSyncSendAndFree(_diePE, CmiMsgHeaderSizeBytes, (char *)restartmsg);
       }
-      if(CmiMyPartition()==1&&CkMyPe()==0){
-        CmiPrintf("[%d][%d] memory %lf\n",CmiMyPartition(),CkMyPe(),CmiMemoryUsage()/1048576.0);
-        fflush(stdout);
-      }
     }
 
     static void recoverRemoteArrayDataHandler(char *msg){
       envelope *env = (envelope *)msg;
       CkUnpackMessage(&env);
       CkCheckPTMessage* chkpMsg = (CkCheckPTMessage *)(EnvToUsr(env));
     }
 
     static void recoverRemoteArrayDataHandler(char *msg){
       envelope *env = (envelope *)msg;
       CkUnpackMessage(&env);
       CkCheckPTMessage* chkpMsg = (CkCheckPTMessage *)(EnvToUsr(env));
-      if(CmiMyPartition()==1&&CkMyPe()==0){
-        CmiPrintf("[%d][%d] memory %lf\n",CmiMyPartition(),CkMyPe(),CmiMemoryUsage()/1048576.0);
-        fflush(stdout);
-      }
 
       //store the checkpoint
       int pointer = chkpMsg->pointer;
 
       //store the checkpoint
       int pointer = chkpMsg->pointer;
@@ -1825,10 +1795,6 @@ void CkMemCheckPT::RollBack(){
         CmiSetHandler(restartmsg, restartBeginHandlerIdx);
         CmiSyncSendAndFree(_diePE, CmiMsgHeaderSizeBytes, (char *)restartmsg);
       }
         CmiSetHandler(restartmsg, restartBeginHandlerIdx);
         CmiSyncSendAndFree(_diePE, CmiMsgHeaderSizeBytes, (char *)restartmsg);
       }
-      if(CmiMyPartition()==1&&CkMyPe()==0){
-        CmiPrintf("[%d][%d] memory %lf\n",CmiMyPartition(),CkMyPe(),CmiMemoryUsage()/1048576.0);
-        fflush(stdout);
-      }
     }
 
     static void recvPhaseHandler(char * msg)
     }
 
     static void recvPhaseHandler(char * msg)
@@ -1944,8 +1910,8 @@ void CkMemCheckPT::RollBack(){
         CkStartQD(cb);
         CkPrintf("crash_node:%d\n",CpvAccess( _crashedNode));
         }*/
         CkStartQD(cb);
         CkPrintf("crash_node:%d\n",CpvAccess( _crashedNode));
         }*/
+      CkMemCheckPT::startTime = restartT = CmiWallTimer();
       if(CmiNumPartition()==1){
       if(CmiNumPartition()==1){
-        CkMemCheckPT::startTime = restartT = CmiWallTimer();
         CmiPrintf("[%d] I am restarting  cur_restart_phase:%d at time: %f\n",CmiMyPe(), CpvAccess(_curRestartPhase), CkMemCheckPT::startTime);
         restartT = CmiWallTimer();
         CmiPrintf("[%d] I am restarting  cur_restart_phase:%d discard charm message at time: %f\n",CmiMyPe(), CpvAccess(_curRestartPhase), restartT);
         CmiPrintf("[%d] I am restarting  cur_restart_phase:%d at time: %f\n",CmiMyPe(), CpvAccess(_curRestartPhase), CkMemCheckPT::startTime);
         restartT = CmiWallTimer();
         CmiPrintf("[%d] I am restarting  cur_restart_phase:%d discard charm message at time: %f\n",CmiMyPe(), CpvAccess(_curRestartPhase), restartT);