PPL Logo

CkMemCheckPT Class Reference

#include <ckmemcheckpoint.h>

Inheritance diagram for CkMemCheckPT:

Inheritance graph
[legend]
Collaboration diagram for CkMemCheckPT:

Collaboration graph
[legend]

Public Member Functions

 CkMemCheckPT (int w)
 CkMemCheckPT (CkMigrateMessage *m)
virtual ~CkMemCheckPT ()
void pup (PUP::er &p)
int BuddyPE (int pe)
void doItNow (int sp, CkCallback &&)
void restart (int diePe)
void removeArrayElements ()
void createEntry (CkArrayID aid, CkGroupID loc, CkArrayIndex index, int buddy)
void recvData (CkArrayCheckPTMessage *)
void gotData ()
void recvProcData (CkProcCheckPTMessage *)
void cpFinish ()
void syncFiles (void)
void report ()
void recoverBuddies ()
void recoverEntry (CkArrayCheckPTMessage *msg)
void recoverArrayElements ()
void quiescence (CkCallback &&)
void resetReductionMgr ()
void finishUp ()
void gotReply ()
void inmem_restore (CkArrayCheckPTMessage *m)
void updateLocations (int n, CkGroupID *g, CkArrayIndex *idx, CmiUInt8 *id, int nowOnPe)
void resetLB (int diepe)
bool isFailed (int pe)
void pupAllElements (PUP::er &p)
void startArrayCheckpoint ()
void recvArrayCheckpoint (CkArrayCheckPTMessage *m)
void recoverAll (CkArrayCheckPTMessage *msg, std::vector< CkGroupID > *gmap=NULL, std::vector< CkArrayIndex > *imap=NULL)

Static Public Attributes

static CkCallback cpCallback
static bool inRestarting = false
static bool inCheckpointing = false
static bool inLoadbalancing = false
static double startTime
static char * stage

Private Member Functions

void initEntry ()
bool isMaster (int pe)
void failed (int pe)
int totalFailed ()
void sendProcData ()

Private Attributes

std::vector< CkCheckPTInfo * > ckTable
CkCheckPTEntry chkpTable [2]
int recvCount
int peCount
int expectCount
int ackCount
int recvChkpCount
int cpStarter
 the processor who initiate the checkpointing
std::vector< intfailedPes
int thisFailedPe
int where
 to use memory or disk checkpointing

Detailed Description

Definition at line 138 of file ckmemcheckpoint.h.


Constructor & Destructor Documentation

CkMemCheckPT::CkMemCheckPT ( int  w  ) 

CkMemCheckPT::CkMemCheckPT ( CkMigrateMessage m  )  [inline]

Definition at line 141 of file ckmemcheckpoint.h.

CkMemCheckPT::~CkMemCheckPT (  )  [virtual]

Definition at line 373 of file ckmemcheckpoint.C.

References ckTable.


Member Function Documentation

void CkMemCheckPT::pup ( PUP::er p  ) 

int CkMemCheckPT::BuddyPE ( int  pe  )  [inline]

Definition at line 138 of file ckmemcheckpoint.C.

References Converse::CkNumPes(), CmiAbort(), CmiGetPesOnPhysicalNode(), CmiNumPhysicalNodes(), CmiPhysicalNodeID(), CmiPhysicalRank(), CmiPrintf(), and isFailed().

Referenced by isMaster().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkMemCheckPT::doItNow ( int  sp,
CkCallback &&  cb 
)

void CkMemCheckPT::restart ( int  diePe  ) 

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::removeArrayElements (  ) 

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::createEntry ( CkArrayID  aid,
CkGroupID  loc,
CkArrayIndex  index,
int  buddy 
)

Definition at line 467 of file ckmemcheckpoint.C.

References CkCheckPTInfo::aid, Converse::CkMyPe(), ckTable, CmiAbort(), idx, CkCheckPTInfo::index, len, CkCheckPTInfo::locMgr, and where.

Referenced by recoverEntry().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkMemCheckPT::recvData ( CkArrayCheckPTMessage msg  ) 

Definition at line 709 of file ckmemcheckpoint.C.

References ckTable, CmiAbort(), CkArrayCheckPTMessage::cp_flag, cpFinish(), cpStarter, idx, CkCheckPTInfo::index, CkArrayCheckPTMessage::index, len, CkCheckPTInfo::locMgr, CkArrayCheckPTMessage::locMgr, recvCount, syncFiles(), and where.

Referenced by recoverEntry().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkMemCheckPT::gotData (  ) 

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::recvProcData ( CkProcCheckPTMessage msg  ) 

Definition at line 691 of file ckmemcheckpoint.C.

References Converse::CkMyPe(), cpFinish(), recvChkpCount, and CkProcCheckPTMessage::reportPe.

Here is the call graph for this function:

void CkMemCheckPT::cpFinish (  ) 

Definition at line 752 of file ckmemcheckpoint.C.

References Converse::CkMyPe(), CmiPrintf(), CmiWallTimer(), cpCallback, cpStarter, peCount, CkCallback::send(), and startTime.

Referenced by doItNow(), recvArrayCheckpoint(), recvData(), recvProcData(), and syncFiles().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkMemCheckPT::syncFiles ( void   ) 

Definition at line 740 of file ckmemcheckpoint.C.

References CmiAbort(), cpFinish(), and cpStarter.

Referenced by recvArrayCheckpoint(), and recvData().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkMemCheckPT::report (  ) 

Definition at line 767 of file ckmemcheckpoint.C.

References Converse::CkMyPe(), ckTable, CkCheckPTInfo::getSize(), inCheckpointing, and len.

Here is the call graph for this function:

void CkMemCheckPT::recoverBuddies (  ) 

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::recoverEntry ( CkArrayCheckPTMessage msg  ) 

void CkMemCheckPT::recoverArrayElements (  ) 

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::quiescence ( CkCallback &&   ) 

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::resetReductionMgr (  ) 

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::finishUp (  ) 

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::gotReply (  ) 

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::inmem_restore ( CkArrayCheckPTMessage m  ) 

void CkMemCheckPT::updateLocations ( int  n,
CkGroupID g,
CkArrayIndex *  idx,
CmiUInt8 id,
int  nowOnPe 
)

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::resetLB ( int  diepe  ) 

Referenced by isMaster().

Here is the caller graph for this function:

bool CkMemCheckPT::isFailed ( int  pe  ) 

Definition at line 447 of file ckmemcheckpoint.C.

References failedPes.

Referenced by BuddyPE(), failed(), and isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::pupAllElements ( PUP::er p  ) 

Definition at line 565 of file ckmemcheckpoint.C.

References CkCountArrayElements(), and PUP::er::isUnpacking().

Referenced by startArrayCheckpoint().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkMemCheckPT::startArrayCheckpoint (  ) 

void CkMemCheckPT::recvArrayCheckpoint ( CkArrayCheckPTMessage m  ) 

Definition at line 605 of file ckmemcheckpoint.C.

References CkArrayCheckPTMessage::bud1, chkpTable, Converse::CkMyPe(), CmiAbort(), CkArrayCheckPTMessage::cp_flag, cpFinish(), cpStarter, idx, recvChkpCount, recvCount, syncFiles(), CkCheckPTEntry::updateBuffer(), and where.

Referenced by recoverEntry().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkMemCheckPT::recoverAll ( CkArrayCheckPTMessage msg,
std::vector< CkGroupID > *  gmap = NULL,
std::vector< CkArrayIndex > *  imap = NULL 
)

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::initEntry (  )  [private]

Definition at line 365 of file ckmemcheckpoint.C.

References chkpTable, CkCheckPTEntry::init(), and where.

Referenced by CkMemCheckPT(), and recoverEntry().

Here is the call graph for this function:

Here is the caller graph for this function:

bool CkMemCheckPT::isMaster ( int  pe  )  [inline, private]

Todo:
: the following definitions should be moved to a separate file containing

* : function for killing a process

: reads the file with the kill information

Definition at line 791 of file ckmemcheckpoint.C.

References _discard_charm_message(), _handleProcData(), _initDone(), _memChkptOn, _resume_charm_message(), ackCount, argv, barrier, CkArrayCheckPTMessage::bud1, CkArrayCheckPTMessage::bud2, buddyDieHandlerIdx, BuddyPE(), cb, CcdCallFnAfter(), CcdCallOnCondition(), changePhaseHandlerIdx, checkpointed, chkpTable, ChkptOnPe(), CkDieNow(), CkFreeMsg(), CkHasCheckpoints(), CkInLdb(), CkInRestarting(), IrrGroup::ckJustMigrated(), CkMemRestart(), BGConverse::CkMyNode(), BGConverse::CkMyNodeSize(), Converse::CkMyPe(), BGConverse::CkMyRank(), Converse::CkNumPes(), CkPackMessage(), CkResetInLdb(), CkSetInLdb(), CkStartMemCheckpoint(), CkStartQD(), ckTable, CkUnpackMessage(), CmiAbort(), CmiAlloc(), CmiFree(), CmiGetArgFlagDesc(), CmiMyPe(), CmiMyRank(), CmiNodeFirst(), CmiNumPesOnPhysicalNode(), CmiNumPhysicalNodes(), CmiPhysicalNodeID(), CmiPrintf(), CmiReduce(), CmiResetGlobalReduceSeqID(), Converse::CmiSyncBroadcastAllAndFree(), Converse::CmiSyncSendAndFree(), CmiWallTimer(), count, CkArrayCheckPTMessage::cp_flag, cpCallback, CkProcCheckPTMessage::cur_restart_phase, data, doNothingMsg(), EnvToUsr(), expectCount, failed(), failedPes, find_spare_mpirank(), finishUp(), flag, IrrGroup::flushStates(), get_avail_vector(), CkCheckPTEntry::getCopy(), CkCheckPTInfo::getCopy(), CkLocation::getIndex(), envelope::getTotalsize(), gotData(), gotReply(), CkLocMgr::homePe(), _ckGroupID::idx, idx, inCheckpointing, CkArrayCheckPTMessage::index, init_memcheckpt(), inLoadbalancing, inmem_restore(), inRestarting, isFailed(), CkCallback::isInvalid(), PUP::er::isUnpacking(), killFile, killLocal(), killTime, lastPingTime, len, CkArrayCheckPTMessage::locMgr, PUP::m, mpi_restart_crashed(), msg, n, notify_crash_fn, p, CkProcCheckPTMessage::packData, CkArrayCheckPTMessage::packData, peCount, pingBuddy(), pingCheckHandler(), pingCheckHandlerIdx, pingHandlerIdx, CkCheckPTInfo::pNo, CkProcCheckPTMessage::pointer, quiescence(), quietModeRequested, rank, readKillFile(), recoverAll(), recoverArrayElements(), recoverBuddies(), recvChkpCount, recvCount, removeArrayElements(), replicaDieBcastHandlerIdx, replicaDieHandlerIdx, resetLB(), resetReductionMgr(), restart(), CkLocMgr::resume(), CkCallback::send(), set_avail_vector(), size, stage, startTime, thisFailedPe, totalFailed(), CkCheckPTInfo::updateBuddy(), CkLocMgr::updateLocation(), updateLocations(), and UsrToEnv().

Referenced by doItNow().

Here is the caller graph for this function:

void CkMemCheckPT::failed ( int  pe  )  [private]

Definition at line 455 of file ckmemcheckpoint.C.

References failedPes, and isFailed().

Referenced by isMaster().

Here is the call graph for this function:

Here is the caller graph for this function:

int CkMemCheckPT::totalFailed (  )  [private]

Definition at line 461 of file ckmemcheckpoint.C.

References failedPes.

Referenced by isMaster().

Here is the caller graph for this function:

void CkMemCheckPT::sendProcData (  )  [private]

Definition at line 669 of file ckmemcheckpoint.C.

References _handleProcData(), ChkptOnPe(), Converse::CkMyPe(), cpStarter, CkProcCheckPTMessage::len, msg, p, CkProcCheckPTMessage::packData, CkProcCheckPTMessage::pe, CkProcCheckPTMessage::reportPe, PUP::sizer::size(), and size.

Referenced by doItNow().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

Definition at line 171 of file ckmemcheckpoint.h.

Referenced by cpFinish(), doItNow(), isMaster(), and pup().

bool CkMemCheckPT::inRestarting = false [static]

Definition at line 173 of file ckmemcheckpoint.h.

Referenced by CkMemCheckPT(), CkRestartMain(), CkResumeRestartMain(), and isMaster().

Definition at line 174 of file ckmemcheckpoint.h.

Referenced by doItNow(), isMaster(), pup(), and report().

Definition at line 175 of file ckmemcheckpoint.h.

Referenced by isMaster().

double CkMemCheckPT::startTime [static]

Definition at line 176 of file ckmemcheckpoint.h.

Referenced by cpFinish(), doItNow(), and isMaster().

char * CkMemCheckPT::stage [static]

Definition at line 177 of file ckmemcheckpoint.h.

Referenced by isMaster().

std::vector<CkCheckPTInfo *> CkMemCheckPT::ckTable [private]

Definition at line 180 of file ckmemcheckpoint.h.

Referenced by createEntry(), doItNow(), isMaster(), recvData(), report(), and ~CkMemCheckPT().

Definition at line 181 of file ckmemcheckpoint.h.

Referenced by initEntry(), isMaster(), recvArrayCheckpoint(), and startArrayCheckpoint().

Definition at line 183 of file ckmemcheckpoint.h.

Referenced by CkMemCheckPT(), cpFinish(), isMaster(), and pup().

Definition at line 184 of file ckmemcheckpoint.h.

Referenced by CkMemCheckPT(), isMaster(), and pup().

Definition at line 184 of file ckmemcheckpoint.h.

Referenced by CkMemCheckPT(), isMaster(), and pup().

Definition at line 185 of file ckmemcheckpoint.h.

Referenced by CkMemCheckPT(), isMaster(), pup(), recvArrayCheckpoint(), and recvProcData().

the processor who initiate the checkpointing

Definition at line 187 of file ckmemcheckpoint.h.

Referenced by cpFinish(), doItNow(), pup(), recvArrayCheckpoint(), recvData(), sendProcData(), and syncFiles().

std::vector<int> CkMemCheckPT::failedPes [private]

Definition at line 188 of file ckmemcheckpoint.h.

Referenced by failed(), isFailed(), isMaster(), pup(), and totalFailed().

Definition at line 189 of file ckmemcheckpoint.h.

Referenced by isMaster(), and pup().

to use memory or disk checkpointing

Definition at line 192 of file ckmemcheckpoint.h.

Referenced by CkMemCheckPT(), createEntry(), initEntry(), pup(), recvArrayCheckpoint(), and recvData().


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:20:39 2020 for Charm++ by  doxygen 1.5.5