PPL Logo

ck-core/ckmessagelogging.C File Reference

Go to the source code of this file.

Data Structures

class  ElementPacker
class  ElementDistributor
class  ElementCaller

Functions

const char * idx2str (const CkArrayIndex &ind)
const char * idx2str (const ArrayElement *el)
void getGlobalStep (CkGroupID gID)
bool fault_aware (CkObjID &recver)
void sendCheckpointData (int mode)
 Sends the checkpoint to its buddy.
void createObjIDList (void *data, ChareMlogData *mlogData)
bool isLocal (int destPE)
 Determines if the message is local or not.
bool isTeamLocal (int destPE)
 Determines if the message is group local or not.
void readKillFile ()
 CpvDeclare (Chare *, _currentObj)
 CpvDeclare (CkQ< LocalMessageLog > *, _localMessageLog)
 CpvDeclare (CkQ< TicketRequest * > *, _delayedTicketRequests)
 CpvDeclare (StoredCheckpoint *, _storedCheckpointData)
 CpvDeclare (CkQ< MlogEntry * > *, _delayedLocalTicketRequests)
 CpvDeclare (Queue, _outOfOrderMessageQueue)
 CpvDeclare (CkQ< LocalMessageLog > *, _bufferedLocalMessageLogs)
 CpvDeclare (char **, _bufferedTicketRequests)
 CpvDeclare (int *, _numBufferedTicketRequests)
 CpvDeclare (char *, _bufferTicketReply)
void setTeamRecovery (void *data, ChareMlogData *mlogData)
 Turns on the flag for team recovery that selectively restores particular metadata information.
void unsetTeamRecovery (void *data, ChareMlogData *mlogData)
 Turns off the flag for team recovery.
void _messageLoggingInit ()
 Initialize message logging data structures and register handlers.
void killLocal (void *_dummy, double curWallTime)
void sendTicketGroupRequest (envelope *env, int destPE, int _infoIdx)
void sendTicketNodeGroupRequest (envelope *env, int destNode, int _infoIdx)
void sendTicketArrayRequest (envelope *env, int destPE, int _infoIdx)
void generateCommonTicketRequest (CkObjID &recver, envelope *_env, int destPE, int _infoIdx)
 A method to generate the actual ticket requests for groups, nodegroups or arrays.
void sendTicketRequest (CkObjID &sender, CkObjID &recver, int destPE, MlogEntry *entry, MCount SN, MCount TN, int resend)
 Method that does the actual send by creating a ticket request filling it up and sending it.
void sendBufferedTicketRequests (int destPE)
 Send the ticket requests buffered for processor PE.
void checkBufferedTicketRequests (void *_destPE, double curWallTime)
void ticketLogLocalMessage (MlogEntry *entry)
 Gets a ticket for a local message and then sends a copy to the buddy.
void sendLocalMessageCopy (MlogEntry *entry)
 Sends the metadata of a local message to its buddy.
void sendBufferedLocalMessageCopy ()
void checkBufferedLocalMessageCopy (void *_dummy, double curWallTime)
bool _processTicketRequest (TicketRequest *ticketRequest, TicketReply *reply)
 Process the ticket request.
void _ticketRequestHandler (TicketRequest *ticketRequest)
 If there are any delayed requests, process them first before processing this request.
void _bufferedTicketRequestHandler (BufferedTicketRequestHeader *recvdHeader)
 Handler used for dealing with a bunch of ticket requests from one processor.
void _ticketHandler (TicketReply *ticketReply)
 This function handles the ticket received after a request.
void _bufferedTicketHandler (BufferedTicketRequestHeader *recvdHeader)
 Message to handle the bunch of tickets that we get from one processor.
void _localMessageCopyHandler (LocalMessageLog *msgLog)
 Stores the metadata of a local message from its buddy.
void _bufferedLocalMessageCopyHandler (BufferedLocalLogHeader *recvdHeader, int freeHeader)
void _localMessageAckHandler (LocalMessageLogAck *ack)
void _bufferedLocalMessageAckHandler (BufferedLocalLogHeader *recvdHeader)
int preProcessReceivedMessage (envelope *env, Chare **objPointer, MlogEntry **logEntryPointer)
void postProcessReceivedMessage (Chare *obj, CkObjID &sender, MCount SN, MlogEntry *entry)
 Updates a few variables once a message has been processed.
void generalCldEnqueue (int destPE, envelope *env, int _infoIdx)
void retryTicketRequestTimer (void *_dummy, double _time)
void retryTicketRequest (void *_dummy, double curWallTime)
void _pingHandler (CkPingMsg *msg)
void buildProcessedTicketLog (void *data, ChareMlogData *mlogData)
void clearUpMigratedRetainedLists (int PE)
void checkpointAlarm (void *_dummy, double curWallTime)
void _checkpointRequestHandler (CheckpointRequest *request)
void startMlogCheckpoint (void *_dummy, double curWallTime)
 Starts the checkpoint phase after migration.
void pupArrayElementsSkip (PUP::er &p, CmiBool create, MigrationRecord *listToSkip, int listsize)
 Pups all the array elements in this processor.
void writeCheckpointToDisk (int size, char *chkpt)
void _storeCheckpointHandler (char *msg)
void sendRemoveLogRequests ()
void _checkpointAckHandler (CheckPointAck *ackMsg)
void removeProcessedLogs (void *_data, ChareMlogData *mlogData)
void _removeProcessedLogHandler (char *requestMsg)
 Removes messages in the log according to the received ticket numbers.
void CkMlogRestart (const char *dummy, CkArgMsg *dummyMsg)
 Function for restarting the crashed processor.
void _restartHandler (RestartRequest *restartMsg)
 Function to restart this processor.
void _getRestartCheckpointHandler (RestartRequest *restartMsg)
 Gets the stored checkpoint but calls another function in the sender.
void _recvRestartCheckpointHandler (char *_restartData)
 Receives the checkpoint coming from its buddy.
void CkMlogRestartDouble (void *, double)
void CkMlogRestartLocal ()
void readCheckpointFromDisk (int size, char *buf)
void _getCheckpointHandler (RestartRequest *restartMsg)
 Gets the stored checkpoint for its buddy processor.
void _verifyAckRequestHandler (VerifyAckMsg *verifyRequest)
void _verifyAckHandler (VerifyAckMsg *verifyReply)
void _recvCheckpointHandler (char *_restartData)
 Receives the checkpoint data from its buddy, restores the state of all the objects and asks everyone else to update its home.
void _updateHomeAckHandler (RestartRequest *updateHomeAck)
 Receives the updateHome ACKs from all other processors.
void initializeRestart (void *data, ChareMlogData *mlogData)
 Initializes variables and flags for restarting procedure.
void updateHomePE (void *data, ChareMlogData *mlogData)
 Updates the homePe of chare array elements.
void _updateHomeRequestHandler (RestartRequest *updateRequest)
 Updates the homePe for all chares in this processor.
void fillTicketForChare (void *data, ChareMlogData *mlogData)
 Fills up the ticket vector for each chare.
void resendMessageForChare (void *data, ChareMlogData *mlogData)
void _resendMessagesHandler (char *msg)
 Resends the messages since the last checkpoint to the list of objects included in the request.
void sortVec (CkVec< MCount > *TNvec)
int searchVec (CkVec< MCount > *TNVec, MCount searchTN)
void _resendReplyHandler (char *msg)
 Receives the tickets assigned to message to other objects.
void _receivedTNDataHandler (ReceivedTNData *msg)
 Receives a list of TNs coming from the home PE of a migrated object (parallel restart).
void processReceivedTN (Chare *obj, int listSize, MCount *listTNs)
 Processes the received list of tickets from a particular PE.
void distributeRestartedObjects ()
 Distributes objects to accelerate recovery after a failure.
void _distributedLocationHandler (char *receivedMsg)
 Handler to update information about an object just received.
void sendDummyMigration (int restartPE, CkGroupID lbID, CkGroupID locMgrID, CkArrayIndex &idx, int locationPE)
 this method is used to send messages to a restarted processor to tell it that a particular expected object is not going to get to it
void sendDummyMigrationCounts (int *dummyCounts)
 this method is used by a restarted processor to tell other processors that they are not going to receive these many objects.
void _dummyMigrationHandler (DummyMigrationMsg *msg)
 this handler is used to process a dummy migration msg.
void forAllCharesDo (MlogFn fnPointer, void *data)
 Map function pointed by fnPointer over all the chares living in this processor.
void initMlogLBStep (CkGroupID gid)
 This is the first time Converse is called after AtSync method has been called by every local object.
void startLoadBalancingMlog (void(*_fnPtr)(void *), void *_centralLb)
 Load Balancing.
void finishedCheckpointLoadBalancing ()
void sendMlogLocation (int targetPE, envelope *env)
void _receiveMigrationNoticeHandler (MigrationNotice *msg)
void _receiveMigrationNoticeAckHandler (MigrationNoticeAck *msg)
void _receiveMlogLocationHandler (void *buf)
void resumeFromSyncRestart (void *data, ChareMlogData *mlogData)
void checkAndSendCheckpointBarrierAcks (CheckpointBarrierMsg *msg)
void _checkpointBarrierHandler (CheckpointBarrierMsg *msg)
 Processor 0 receives a contribution from every other processor after checkpoint.
void _checkpointBarrierAckHandler (CheckpointBarrierMsg *msg)
void informLocationHome (CkGroupID locMgrID, CkArrayIndex idx, int homePE, int currentPE)
 method that informs an array elements home processor of its current location It is a converse method to bypass the charm++ message logging framework
void _receiveLocationHandler (CurrentLocationMsg *data)
void _getGlobalStepHandler (LBStepMsg *msg)
void _recvGlobalStepHandler (LBStepMsg *msg)
 Receives the global step handler from PE 0.
void _messageLoggingExit ()
 Function to wrap up performance information.
void sortRestoredLocalMsgLog (void *_dummy, ChareMlogData *mlogData)
int getCheckPointPE ()
 Getting the pe number of the current processor's buddy.
envelopecopyEnvelope (envelope *env)

Variables

int _restartFlag = 0
float MLOGFT_totalLogSize = 0.0
float MLOGFT_totalMessages = 0.0
float MLOGFT_totalObjects = 0.0
int countHashRefs = 0
int countHashCollisions = 0
char * checkpointDirectory = "."
int unAckedCheckpoint = 0
int countLocal = 0
int countBuffered = 0
int countPiggy = 0
int countClearBufferedLocalCalls = 0
int countUpdateHomeAcks = 0
int teamSize
int chkptPeriod
bool parallelRestart
char * killFile
int killFlag = 0
int restartingMlogFlag = 0
double killTime = 0.0
int checkpointCount = 0
static double adjustChkptPeriod = 0.0
static double nextCheckpointTime = 0.0
double lastBufferedLocalMessageCopyTime
int _maxBufferedMessages
int _maxBufferedTicketRequests
int BUFFER_TIME = 2
int _ticketRequestHandlerIdx
int _ticketHandlerIdx
int _localMessageCopyHandlerIdx
int _localMessageAckHandlerIdx
int _pingHandlerIdx
int _bufferedLocalMessageCopyHandlerIdx
int _bufferedLocalMessageAckHandlerIdx
int _bufferedTicketRequestHandlerIdx
int _bufferedTicketHandlerIdx
char objString [100]
int _checkpointRequestHandlerIdx
int _storeCheckpointHandlerIdx
int _checkpointAckHandlerIdx
int _getCheckpointHandlerIdx
int _recvCheckpointHandlerIdx
int _removeProcessedLogHandlerIdx
int _verifyAckRequestHandlerIdx
int _verifyAckHandlerIdx
int _dummyMigrationHandlerIdx
int _getGlobalStepHandlerIdx
int _recvGlobalStepHandlerIdx
int _updateHomeRequestHandlerIdx
int _updateHomeAckHandlerIdx
int _resendMessagesHandlerIdx
int _resendReplyHandlerIdx
int _receivedTNDataHandlerIdx
int _distributedLocationHandlerIdx
int _restartHandlerIdx
int _getRestartCheckpointHandlerIdx
int _recvRestartCheckpointHandlerIdx
int verifyAckTotal
int verifyAckCount
int verifyAckedRequests = 0
RestartRequeststoredRequest
int _falseRestart = 0
int _lockNewTicket = 0
 For testing on clusters we might carry out restarts on a porcessor without actually starting it 1 -> false restart 0 -> restart after an actual crash.
int onGoingLoadBalancing = 0
 For testing on clusters we might carry out restarts on a porcessor without actually starting it 1 -> false restart 0 -> restart after an actual crash.
void * centralLb
void(* resumeLbFnPtr )(void *)
int _receiveMlogLocationHandlerIdx
int _receiveMigrationNoticeHandlerIdx
int _receiveMigrationNoticeAckHandlerIdx
int _checkpointBarrierHandlerIdx
int _checkpointBarrierAckHandlerIdx
CkVec< MigrationRecordmigratedNoticeList
CkVec< RetainedMigratedObject * > retainedObjectList
int donotCountMigration = 0
int countLBMigratedAway = 0
int countLBToMigrate = 0
int migrationDoneCalled = 0
int checkpointBarrierCount = 0
int globalResumeCount = 0
CkGroupID globalLBID
int restartDecisionNumber = -1
double lastCompletedAlarm = 0
double lastRestart = 0
int _receiveLocationHandlerIdx
int calledRetryTicketRequest = 0
 This method is used to retry the ticket requests that had been queued up earlier.
CkVec< TProcessedLogprocessedTicketLog
double totalSearchRestoredTime = 0
double totalSearchRestoredCount = 0


Function Documentation

const char* idx2str ( const CkArrayIndex ind  ) 

const char* idx2str ( const ArrayElement el  ) 

void getGlobalStep ( CkGroupID  gID  ) 

bool fault_aware ( CkObjID recver  ) 

void sendCheckpointData ( int  mode  ) 

Sends the checkpoint to its buddy.

The mode distinguishes between the two cases: MLOG_RESTARTED: sending the checkpoint to a team member that did not crash but is restarting. MLOG_CRASHED: sending the checkpoint to the processor that crashed.

void createObjIDList ( void *  data,
ChareMlogData mlogData 
)

bool isLocal ( int  destPE  )  [inline]

Determines if the message is local or not.

A message is local if: 1) Both the destination and origin are the same PE.

bool isTeamLocal ( int  destPE  )  [inline]

Determines if the message is group local or not.

A message is group local if: 1) They belong to the same group in the group-based message logging.

void readKillFile (  ) 

CpvDeclare ( Chare ,
_currentObj   
)

CpvDeclare ( CkQ< LocalMessageLog > *  ,
_localMessageLog   
)

CpvDeclare ( CkQ< TicketRequest * > *  ,
_delayedTicketRequests   
)

CpvDeclare ( StoredCheckpoint ,
_storedCheckpointData   
)

CpvDeclare ( CkQ< MlogEntry * > *  ,
_delayedLocalTicketRequests   
)

CpvDeclare ( Queue  ,
_outOfOrderMessageQueue   
)

CpvDeclare ( CkQ< LocalMessageLog > *  ,
_bufferedLocalMessageLogs   
)

CpvDeclare ( char **  ,
_bufferedTicketRequests   
)

CpvDeclare ( int ,
_numBufferedTicketRequests   
)

CpvDeclare ( char *  ,
_bufferTicketReply   
)

void setTeamRecovery ( void *  data,
ChareMlogData mlogData 
)

Turns on the flag for team recovery that selectively restores particular metadata information.

void unsetTeamRecovery ( void *  data,
ChareMlogData mlogData 
)

Turns off the flag for team recovery.

void _messageLoggingInit (  ) 

void killLocal ( void *  _dummy,
double  curWallTime 
)

void sendTicketGroupRequest ( envelope env,
int  destPE,
int  _infoIdx 
)

void sendTicketNodeGroupRequest ( envelope env,
int  destNode,
int  _infoIdx 
)

void sendTicketArrayRequest ( envelope env,
int  destPE,
int  _infoIdx 
)

void generateCommonTicketRequest ( CkObjID recver,
envelope _env,
int  destPE,
int  _infoIdx 
)

void sendTicketRequest ( CkObjID sender,
CkObjID recver,
int  destPE,
MlogEntry entry,
MCount  SN,
MCount  TN,
int  resend 
)

void sendBufferedTicketRequests ( int  destPE  ) 

Send the ticket requests buffered for processor PE.

Definition at line 598 of file ckmessagelogging.C.

References Converse::CkMyPe(), CmiMemoryCheck(), Converse::CmiSyncSend(), BufferedLocalLogHeader::numberLogs, and printf().

Referenced by checkBufferedTicketRequests(), and sendTicketRequest().

void checkBufferedTicketRequests ( void *  _destPE,
double  curWallTime 
)

Definition at line 617 of file ckmessagelogging.C.

References CmiMemoryCheck(), and sendBufferedTicketRequests().

Referenced by sendTicketRequest().

void ticketLogLocalMessage ( MlogEntry entry  ) 

void sendLocalMessageCopy ( MlogEntry entry  ) 

void sendBufferedLocalMessageCopy (  ) 

void checkBufferedLocalMessageCopy ( void *  _dummy,
double  curWallTime 
)

bool _processTicketRequest ( TicketRequest ticketRequest,
TicketReply reply 
) [inline]

void _ticketRequestHandler ( TicketRequest ticketRequest  )  [inline]

If there are any delayed requests, process them first before processing this request.

Definition at line 778 of file ckmessagelogging.C.

References _processTicketRequest(), _startTime, Converse::CkMyPe(), CmiFree(), length, printf(), and retryTicketRequest().

void _bufferedTicketRequestHandler ( BufferedTicketRequestHeader recvdHeader  ) 

Handler used for dealing with a bunch of ticket requests from one processor.

The replies are also bunched together Does not use _ticketRequestHandler

Definition at line 792 of file ckmessagelogging.C.

References _processTicketRequest(), _startTime, Converse::CkMyPe(), CmiFree(), CmiMemoryCheck(), Converse::CmiSyncSend(), length, msg, BufferedLocalLogHeader::numberLogs, printf(), ptr, and retryTicketRequest().

Referenced by _messageLoggingInit().

void _ticketHandler ( TicketReply ticketReply  )  [inline]

void _bufferedTicketHandler ( BufferedTicketRequestHeader recvdHeader  ) 

Message to handle the bunch of tickets that we get from one processor.

We send the tickets to be handled one at a time

Definition at line 1066 of file ckmessagelogging.C.

References _startTime, _ticketHandler(), CmiFree(), CmiMemoryCheck(), CmiWallTimer(), msg, and BufferedLocalLogHeader::numberLogs.

Referenced by _messageLoggingInit().

void _localMessageCopyHandler ( LocalMessageLog msgLog  ) 

void _bufferedLocalMessageCopyHandler ( BufferedLocalLogHeader recvdHeader,
int  freeHeader 
)

void _localMessageAckHandler ( LocalMessageLogAck ack  ) 

void _bufferedLocalMessageAckHandler ( BufferedLocalLogHeader recvdHeader  ) 

int preProcessReceivedMessage ( envelope env,
Chare **  objPointer,
MlogEntry **  logEntryPointer 
)

void postProcessReceivedMessage ( Chare obj,
CkObjID sender,
MCount  SN,
MlogEntry entry 
)

Updates a few variables once a message has been processed.

Definition at line 1350 of file ckmessagelogging.C.

References Converse::CkMyPe(), CmiMemoryCheck(), MlogEntry::env, CkObjID::guessPE(), Chare::mlogData, and ChareMlogData::tProcessed.

void generalCldEnqueue ( int  destPE,
envelope env,
int  _infoIdx 
)

void retryTicketRequestTimer ( void *  _dummy,
double  _time 
)

Definition at line 1391 of file ckmessagelogging.C.

References retryTicketRequest().

Referenced by retryTicketRequest().

void retryTicketRequest ( void *  _dummy,
double  curWallTime 
)

void _pingHandler ( CkPingMsg msg  ) 

Definition at line 1438 of file ckmessagelogging.C.

References Converse::CkMyPe(), CmiFree(), RestartRequest::PE, and printf().

void buildProcessedTicketLog ( void *  data,
ChareMlogData mlogData 
)

void clearUpMigratedRetainedLists ( int  PE  ) 

void checkpointAlarm ( void *  _dummy,
double  curWallTime 
)

void _checkpointRequestHandler ( CheckpointRequest request  ) 

Definition at line 1470 of file ckmessagelogging.C.

References CmiWallTimer(), and startMlogCheckpoint().

void startMlogCheckpoint ( void *  _dummy,
double  curWallTime 
)

void pupArrayElementsSkip ( PUP::er p,
CmiBool  create,
MigrationRecord listToSkip,
int  listsize 
)

void writeCheckpointToDisk ( int  size,
char *  chkpt 
)

Definition at line 1619 of file ckmessagelogging.C.

References checkpointDirectory, Converse::CkMyPe(), and write().

void _storeCheckpointHandler ( char *  msg  ) 

void sendRemoveLogRequests (  ) 

void _checkpointAckHandler ( CheckPointAck ackMsg  ) 

void removeProcessedLogs ( void *  _data,
ChareMlogData mlogData 
)

void _removeProcessedLogHandler ( char *  requestMsg  ) 

void CkMlogRestart ( const char *  dummy,
CkArgMsg dummyMsg 
)

Function for restarting the crashed processor.

It sets the restart flag and contacts the buddy processor to get the latest checkpoint.

Definition at line 1862 of file ckmessagelogging.C.

References Converse::CkMyPe(), Converse::CkNumPes(), Converse::CmiSyncSend(), CmiWallTimer(), getCheckPointPE(), msg, and RestartRequest::PE.

void _restartHandler ( RestartRequest restartMsg  ) 

Function to restart this processor.

The handler is invoked by a member of its same team in message logging.

Definition at line 1892 of file ckmessagelogging.C.

References Converse::CkMyPe(), Converse::CmiSyncSend(), CmiWallTimer(), getCheckPointPE(), msg, and RestartRequest::PE.

void _getRestartCheckpointHandler ( RestartRequest restartMsg  ) 

void _recvRestartCheckpointHandler ( char *  _restartData  ) 

void CkMlogRestartDouble ( void *  ,
double   
)

Definition at line 2086 of file ckmessagelogging.C.

References CkMlogRestart().

void CkMlogRestartLocal (  ) 

Definition at line 2091 of file ckmessagelogging.C.

References CkMlogRestart().

void readCheckpointFromDisk ( int  size,
char *  buf 
)

Definition at line 2096 of file ckmessagelogging.C.

References checkpointDirectory, and Converse::CkMyPe().

void _getCheckpointHandler ( RestartRequest restartMsg  ) 

void _verifyAckRequestHandler ( VerifyAckMsg verifyRequest  ) 

void _verifyAckHandler ( VerifyAckMsg verifyReply  ) 

void _recvCheckpointHandler ( char *  _restartData  ) 

void _updateHomeAckHandler ( RestartRequest updateHomeAck  ) 

void initializeRestart ( void *  data,
ChareMlogData mlogData 
)

void updateHomePE ( void *  data,
ChareMlogData mlogData 
)

void _updateHomeRequestHandler ( RestartRequest updateRequest  ) 

void fillTicketForChare ( void *  data,
ChareMlogData mlogData 
)

void resendMessageForChare ( void *  data,
ChareMlogData mlogData 
)

void _resendMessagesHandler ( char *  msg  ) 

void sortVec ( CkVec< MCount > *  TNvec  ) 

int searchVec ( CkVec< MCount > *  TNVec,
MCount  searchTN 
)

void _resendReplyHandler ( char *  msg  ) 

Receives the tickets assigned to message to other objects.

need to rewrite this method to deal with parallel restart

Definition at line 2763 of file ckmessagelogging.C.

References CmiAlloc(), CmiMyPe(), Converse::CmiSyncSendAndFree(), ResendRequest::numberObjects, ReceivedTNData::numTNs, ResendRequest::PE, printf(), processReceivedTN(), and ReceivedTNData::recver.

Referenced by _messageLoggingInit().

void _receivedTNDataHandler ( ReceivedTNData msg  ) 

Receives a list of TNs coming from the home PE of a migrated object (parallel restart).

Definition at line 2802 of file ckmessagelogging.C.

References CmiFree(), CmiMyPe(), Converse::CmiSyncSendAndFree(), CkObjID::getObject(), CkObjID::guessPE(), Chare::mlogData, ReceivedTNData::numTNs, ChareMlogData::objID, printf(), processReceivedTN(), ReceivedTNData::recver, and CkObjID::toString().

void processReceivedTN ( Chare obj,
int  listSize,
MCount *  listTNs 
)

void distributeRestartedObjects (  ) 

Distributes objects to accelerate recovery after a failure.

Definition at line 3022 of file ckmessagelogging.C.

References Converse::CkMyPe().

void _distributedLocationHandler ( char *  receivedMsg  ) 

void sendDummyMigration ( int  restartPE,
CkGroupID  lbID,
CkGroupID  locMgrID,
CkArrayIndex idx,
int  locationPE 
)

this method is used to send messages to a restarted processor to tell it that a particular expected object is not going to get to it

Definition at line 3063 of file ckmessagelogging.C.

References Converse::CmiSyncSend(), DummyMigrationMsg::flag, DummyMigrationMsg::idx, DummyMigrationMsg::lbID, DummyMigrationMsg::locationPE, and DummyMigrationMsg::mgrID.

void _dummyMigrationHandler ( DummyMigrationMsg msg  ) 

this handler is used to process a dummy migration msg.

it looks up the load balancer and calls migrated for it

Definition at line 3096 of file ckmessagelogging.C.

References CmiFree(), CmiMyPe(), CmiPrintf(), DummyMigrationMsg::count, DummyMigrationMsg::flag, DummyMigrationMsg::idx, _ckGroupID::idx, idx2str(), DummyMigrationMsg::lbID, DummyMigrationMsg::locationPE, DummyMigrationMsg::mgrID, and CentralLB::Migrated().

void forAllCharesDo ( MlogFn  fnPointer,
void *  data 
)

Map function pointed by fnPointer over all the chares living in this processor.

Definition at line 3147 of file ckmessagelogging.C.

References caller, and Chare::mlogData.

void startLoadBalancingMlog ( void(*)(void *)  _fnPtr,
void *  _centralLb 
)

Load Balancing.

Definition at line 3180 of file ckmessagelogging.C.

References centralLb, CmiMyPe(), CmiWallTimer(), printf(), resumeLbFnPtr, and startMlogCheckpoint().

void finishedCheckpointLoadBalancing (  ) 

Definition at line 3193 of file ckmessagelogging.C.

References CmiMyPe(), Converse::CmiSyncSend(), and printf().

void sendMlogLocation ( int  targetPE,
envelope env 
)

void _receiveMigrationNoticeHandler ( MigrationNotice msg  ) 

void _receiveMigrationNoticeAckHandler ( MigrationNoticeAck msg  ) 

void _receiveMlogLocationHandler ( void *  buf  ) 

void resumeFromSyncRestart ( void *  data,
ChareMlogData mlogData 
)

Definition at line 3301 of file ckmessagelogging.C.

void checkAndSendCheckpointBarrierAcks ( CheckpointBarrierMsg msg  )  [inline]

Definition at line 3312 of file ckmessagelogging.C.

References Converse::CmiSyncSend().

void _checkpointBarrierHandler ( CheckpointBarrierMsg msg  ) 

Processor 0 receives a contribution from every other processor after checkpoint.

Definition at line 3321 of file ckmessagelogging.C.

References checkAndSendCheckpointBarrierAcks(), CheckpointBarrierMsg::checkpointCount, CmiAbort(), CmiFree(), CmiMyPe(), CmiPrintf(), CheckpointBarrierMsg::fromPE, and printf().

void _checkpointBarrierAckHandler ( CheckpointBarrierMsg msg  ) 

void informLocationHome ( CkGroupID  locMgrID,
CkArrayIndex  idx,
int  homePE,
int  currentPE 
)

method that informs an array elements home processor of its current location It is a converse method to bypass the charm++ message logging framework

Definition at line 3351 of file ckmessagelogging.C.

References _startTime, Converse::CkMyPe(), CmiMyPe(), CmiPrintf(), Converse::CmiSyncSend(), CmiWallTimer(), CurrentLocationMsg::fromPE, _ckGroupID::idx, CurrentLocationMsg::idx, idx2str(), CurrentLocationMsg::locationPE, CurrentLocationMsg::mgrID, and traceUserBracketEvent().

void _receiveLocationHandler ( CurrentLocationMsg data  ) 

void _getGlobalStepHandler ( LBStepMsg msg  ) 

void _recvGlobalStepHandler ( LBStepMsg msg  ) 

void sortRestoredLocalMsgLog ( void *  _dummy,
ChareMlogData mlogData 
)

int getCheckPointPE (  ) 

Getting the pe number of the current processor's buddy.

In the team-based approach each processor might checkpoint in the next team, but currently teams are only meant to reduce memory overhead.

Definition at line 4024 of file ckmessagelogging.C.

References CmiMyPe().

envelope* copyEnvelope ( envelope env  ) 

Definition at line 4033 of file ckmessagelogging.C.

References CmiAlloc(), and envelope::getTotalsize().


Variable Documentation

float MLOGFT_totalLogSize = 0.0

Definition at line 44 of file ckmessagelogging.C.

float MLOGFT_totalMessages = 0.0

Definition at line 45 of file ckmessagelogging.C.

float MLOGFT_totalObjects = 0.0

Definition at line 46 of file ckmessagelogging.C.

Definition at line 49 of file ckmessagelogging.C.

Definition at line 50 of file ckmessagelogging.C.

char* checkpointDirectory = "."

Definition at line 53 of file ckmessagelogging.C.

Definition at line 54 of file ckmessagelogging.C.

Definition at line 56 of file ckmessagelogging.C.

Definition at line 56 of file ckmessagelogging.C.

Definition at line 57 of file ckmessagelogging.C.

Definition at line 58 of file ckmessagelogging.C.

Definition at line 60 of file ckmessagelogging.C.

Referenced by _updateHomeAckHandler().

Definition at line 68 of file ckmessagelogging.C.

Definition at line 70 of file ckmessagelogging.C.

Definition at line 71 of file ckmessagelogging.C.

double adjustChkptPeriod = 0.0 [static]

Definition at line 88 of file ckmessagelogging.C.

double nextCheckpointTime = 0.0 [static]

Definition at line 89 of file ckmessagelogging.C.

Definition at line 91 of file ckmessagelogging.C.

Definition at line 93 of file ckmessagelogging.C.

Referenced by _parseCommandLineOpts().

Definition at line 94 of file ckmessagelogging.C.

Referenced by _parseCommandLineOpts().

Definition at line 98 of file ckmessagelogging.C.

Definition at line 99 of file ckmessagelogging.C.

Definition at line 100 of file ckmessagelogging.C.

Definition at line 101 of file ckmessagelogging.C.

Definition at line 102 of file ckmessagelogging.C.

Definition at line 103 of file ckmessagelogging.C.

Definition at line 104 of file ckmessagelogging.C.

Definition at line 105 of file ckmessagelogging.C.

Definition at line 106 of file ckmessagelogging.C.

char objString[100]

Definition at line 109 of file ckmessagelogging.C.

Definition at line 110 of file ckmessagelogging.C.

Definition at line 111 of file ckmessagelogging.C.

Definition at line 112 of file ckmessagelogging.C.

Definition at line 113 of file ckmessagelogging.C.

Definition at line 114 of file ckmessagelogging.C.

Definition at line 115 of file ckmessagelogging.C.

Definition at line 117 of file ckmessagelogging.C.

Definition at line 118 of file ckmessagelogging.C.

Definition at line 119 of file ckmessagelogging.C.

Definition at line 122 of file ckmessagelogging.C.

Definition at line 123 of file ckmessagelogging.C.

Definition at line 125 of file ckmessagelogging.C.

Definition at line 126 of file ckmessagelogging.C.

Definition at line 127 of file ckmessagelogging.C.

Definition at line 128 of file ckmessagelogging.C.

Definition at line 129 of file ckmessagelogging.C.

Definition at line 130 of file ckmessagelogging.C.

Definition at line 133 of file ckmessagelogging.C.

Definition at line 134 of file ckmessagelogging.C.

Definition at line 135 of file ckmessagelogging.C.

Definition at line 139 of file ckmessagelogging.C.

Definition at line 140 of file ckmessagelogging.C.

Definition at line 142 of file ckmessagelogging.C.

Definition at line 144 of file ckmessagelogging.C.

Definition at line 148 of file ckmessagelogging.C.

For testing on clusters we might carry out restarts on a porcessor without actually starting it 1 -> false restart 0 -> restart after an actual crash.

Definition at line 156 of file ckmessagelogging.C.

For testing on clusters we might carry out restarts on a porcessor without actually starting it 1 -> false restart 0 -> restart after an actual crash.

Definition at line 160 of file ckmessagelogging.C.

void* centralLb

Definition at line 161 of file ckmessagelogging.C.

void(* resumeLbFnPtr)(void *)

Definition at line 163 of file ckmessagelogging.C.

Definition at line 164 of file ckmessagelogging.C.

Definition at line 165 of file ckmessagelogging.C.

Definition at line 166 of file ckmessagelogging.C.

Definition at line 167 of file ckmessagelogging.C.

Definition at line 169 of file ckmessagelogging.C.

Definition at line 170 of file ckmessagelogging.C.

Definition at line 172 of file ckmessagelogging.C.

Definition at line 173 of file ckmessagelogging.C.

Definition at line 174 of file ckmessagelogging.C.

Definition at line 175 of file ckmessagelogging.C.

Definition at line 177 of file ckmessagelogging.C.

Definition at line 178 of file ckmessagelogging.C.

Definition at line 181 of file ckmessagelogging.C.

Definition at line 182 of file ckmessagelogging.C.

Definition at line 186 of file ckmessagelogging.C.

This method is used to retry the ticket requests that had been queued up earlier.

Definition at line 1389 of file ckmessagelogging.C.

Definition at line 1449 of file ckmessagelogging.C.

Definition at line 3753 of file ckmessagelogging.C.

Definition at line 3754 of file ckmessagelogging.C.


Generated on Thu May 24 07:56:00 2012 for Charm++ by  doxygen 1.5.5