
Go to the source code of this file.
Data Structures | |
| class | Ticket |
| Structure for a ticket assigned to a particular message. More... | |
| struct | LocalMessageLog |
| Log entry for local messages, can also be sent as a message. More... | |
| class | SNToTicket |
| Class that maps SN (sequence numbers) to TN (ticket numbers) for a particular object. More... | |
| class | ChareMlogData |
| This file includes the definition of the class for storing the meta data associdated with the message logging protocol. More... | |
| class | MlogEntry |
| Entry in a message log. More... | |
| class | LocationID |
| Class that represents the location of an array element. More... | |
| class | StoredCheckpoint |
| class | RestoredLocalMap |
| Class for storing metadata of local messages. More... | |
| struct | TicketRequest |
| struct | TicketReply |
| struct | BufferedLocalLogHeader |
| struct | LocalMessageLogAck |
| struct | CheckPointDataMsg |
| struct | TProcessedLog |
| struct | RestartRequest |
| Struct to request a particular action during restart. More... | |
| struct | RestartProcessorData |
| struct | ResendRequest |
| struct | ReceivedTNData |
| struct | ResendData |
| struct | MigrationRecord |
| struct | MigrationNotice |
| struct | MigrationNoticeAck |
| struct | RetainedMigratedObject |
| struct | VerifyAckMsg |
| struct | CheckpointBarrierMsg |
| struct | CurrentLocationMsg |
| struct | LBStepMsg |
| struct | DummyMigrationMsg |
Typedefs | |
| typedef BufferedLocalLogHeader | BufferedTicketRequestHeader |
| typedef CheckPointDataMsg | CheckPointAck |
| typedef RestartRequest | CkPingMsg |
| typedef RestartRequest | CheckpointRequest |
| typedef ResendRequest | RemoveLogRequest |
| typedef void(* | MlogFn )(void *, ChareMlogData *) |
Functions | |
| CpvExtern (Chare *, _currentObj) | |
| PUPbytes (Ticket) class MlogEntry | |
| PUPbytes (LocalMessageLog) class MlogEntry | |
| CpvExtern (CkQ< TicketRequest * > *, _delayedTicketRequests) | |
| CpvExtern (CkQ< MlogEntry * > *, _delayedLocalTicketRequests) | |
| CpvExtern (CkQ< LocalMessageLog > *, _localMessageLog) | |
| CpvExtern (CkQ< LocalMessageLog > *, _bufferedLocalMessageLogs) | |
| CpvExtern (char **, _bufferedTicketRequests) | |
| void | _messageLoggingInit () |
| Initialize message logging data structures and register handlers. | |
| void | sendTicketGroupRequest (envelope *env, int destPE, int _infoIdx) |
| void | sendTicketArrayRequest (envelope *env, int destPE, int _infoIdx) |
| void | sendTicketNodeGroupRequest (envelope *env, int destNode, 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 | 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) |
| void | sendBufferedTicketRequests (int destPE) |
| Send the ticket requests buffered for processor PE. | |
| void | checkBufferedTicketRequests (void *_destPE, double curWallTime) |
| void | _ticketRequestHandler (TicketRequest *) |
| If there are any delayed requests, process them first before processing this request. | |
| void | _ticketHandler (TicketReply *) |
| This function handles the ticket received after a request. | |
| void | _localMessageCopyHandler (LocalMessageLog *) |
| Stores the metadata of a local message from its buddy. | |
| void | _localMessageAckHandler (LocalMessageLogAck *) |
| void | _pingHandler (CkPingMsg *msg) |
| void | _bufferedLocalMessageCopyHandler (BufferedLocalLogHeader *recvdHeader, int freeHeader=1) |
| void | _bufferedLocalMessageAckHandler (BufferedLocalLogHeader *recvdHeader) |
| void | _bufferedTicketRequestHandler (BufferedTicketRequestHeader *recvdHeader) |
| Handler used for dealing with a bunch of ticket requests from one processor. | |
| void | _bufferedTicketHandler (BufferedTicketRequestHeader *recvdHeader) |
| Message to handle the bunch of tickets that we get from one processor. | |
| void | _skipCldEnqueue (int pe, envelope *env, int infoFn) |
| void | _noCldNodeEnqueue (int node, envelope *env) |
| void | generalCldEnqueue (int destPE, envelope *env, int _infoIdx) |
| void | retryTicketRequest (void *_ticketRequest, double curWallTime) |
| int | preProcessReceivedMessage (envelope *env, Chare **objPointer, MlogEntry **localLogEntry) |
| void | postProcessReceivedMessage (Chare *obj, CkObjID &sender, MCount SN, MlogEntry *entry) |
| Updates a few variables once a message has been processed. | |
| CpvExtern (StoredCheckpoint *, _storedCheckpointData) | |
| void | checkpointAlarm (void *_dummy, double curWallTime) |
| void | startMlogCheckpoint (void *_dummy, double curWallTime) |
| Starts the checkpoint phase after migration. | |
| void | pupArrayElementsSkip (PUP::er &p, CmiBool create, MigrationRecord *listToSkip, int listSize=0) |
| Pups all the array elements in this processor. | |
| void | _checkpointRequestHandler (CheckpointRequest *request) |
| void | _storeCheckpointHandler (char *msg) |
| void | _checkpointAckHandler (CheckPointAck *ackMsg) |
| 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 | CkMlogRestartDouble (void *, double) |
| void | processReceivedTN (Chare *obj, int vecsize, MCount *listTNs) |
| Processes the received list of tickets from a particular PE. | |
| void | initializeRestart (void *data, ChareMlogData *mlogData) |
| Initializes variables and flags for restarting procedure. | |
| void | distributeRestartedObjects () |
| Distributes objects to accelerate recovery after a failure. | |
| void | sortRestoredLocalMsgLog (void *_dummy, ChareMlogData *mlogData) |
| 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 | CkMlogRestartLocal () |
| void | _getCheckpointHandler (RestartRequest *restartMsg) |
| Gets the stored checkpoint for its buddy processor. | |
| 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 | _resendMessagesHandler (char *msg) |
| Resends messages since last checkpoint to the list of objects included in the request. | |
| 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 | _distributedLocationHandler (char *receivedMsg) |
| Handler to update information about an object just received. | |
| void | _updateHomeRequestHandler (RestartRequest *updateRequest) |
| Updates the homePe for all chares in this processor. | |
| void | _updateHomeAckHandler (RestartRequest *updateHomeAck) |
| Receives the updateHome ACKs from all other processors. | |
| void | _verifyAckRequestHandler (VerifyAckMsg *verifyRequest) |
| void | _verifyAckHandler (VerifyAckMsg *verifyReply) |
| void | _dummyMigrationHandler (DummyMigrationMsg *msg) |
| this handler is used to process a dummy migration msg. | |
| 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 | startLoadBalancingMlog (void(*fnPtr)(void *), void *_centralLb) |
| Load Balancing. | |
| void | finishedCheckpointLoadBalancing () |
| void | sendMlogLocation (int targetPE, envelope *env) |
| void | resumeFromSyncRestart (void *data, ChareMlogData *mlogData) |
| void | _receiveMlogLocationHandler (void *buf) |
| void | _receiveMigrationNoticeHandler (MigrationNotice *msg) |
| void | _receiveMigrationNoticeAckHandler (MigrationNoticeAck *msg) |
| void | _getGlobalStepHandler (LBStepMsg *msg) |
| void | _recvGlobalStepHandler (LBStepMsg *msg) |
| Receives the global step handler from PE 0. | |
| void | _checkpointBarrierHandler (CheckpointBarrierMsg *msg) |
| Processor 0 receives a contribution from every other processor after checkpoint. | |
| void | _checkpointBarrierAckHandler (CheckpointBarrierMsg *msg) |
| int | getCheckPointPE () |
| Getting the pe number of the current processor's buddy. | |
| void | forAllCharesDo (MlogFn fnPointer, void *data) |
| Map function pointed by fnPointer over all the chares living in this processor. | |
| envelope * | copyEnvelope (envelope *env) |
| void | _initDone (void) |
| This function (not a handler) is called once and only once per processor. | |
| void | _resetNodeBocInitVec (void) |
| void | informLocationHome (CkGroupID mgrID, 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 | CmiDeliverRemoteMsgHandlerRange (int lowerHandler, int higherHandler) |
| void | processRemoteMlogMessages () |
Variables | |
| char | objString [100] |
| int | _maxBufferedMessages |
| int | _maxBufferedTicketRequests |
| int | _ticketRequestHandlerIdx |
| int | _ticketHandlerIdx |
| int | _localMessageCopyHandlerIdx |
| int | _localMessageAckHandlerIdx |
| int | _bufferedLocalMessageCopyHandlerIdx |
| int | _bufferedLocalMessageAckHandlerIdx |
| int | _bufferedTicketRequestHandlerIdx |
| int | _bufferedTicketHandlerIdx |
| int | _checkpointRequestHandlerIdx |
| int | _storeCheckpointHandlerIdx |
| int | _checkpointAckHandlerIdx |
| int | _removeProcessedLogHandlerIdx |
| int | _getCheckpointHandlerIdx |
| int | _recvCheckpointHandlerIdx |
| int | _resendMessagesHandlerIdx |
| int | _resendReplyHandlerIdx |
| int | _receivedTNDataHandlerIdx |
| int | _distributedLocationHandlerIdx |
| int | _updateHomeRequestHandlerIdx |
| int | _updateHomeAckHandlerIdx |
| int | _verifyAckRequestHandlerIdx |
| int | _verifyAckHandlerIdx |
| int | _dummyMigrationHandlerIdx |
| int | onGoingLoadBalancing |
| 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 | _getGlobalStepHandlerIdx |
| int | _recvGlobalStepHandlerIdx |
| int | _checkpointBarrierHandlerIdx |
| int | _checkpointBarrierAckHandlerIdx |
| CkVec< MigrationRecord > | migratedNoticeList |
| CkVec< RetainedMigratedObject * > | retainedObjectList |
| int | _receiveLocationHandlerIdx |
Definition at line 334 of file ckmessagelogging.h.
| typedef CheckPointDataMsg CheckPointAck |
Definition at line 353 of file ckmessagelogging.h.
| typedef RestartRequest CkPingMsg |
Definition at line 368 of file ckmessagelogging.h.
| typedef RestartRequest CheckpointRequest |
Definition at line 369 of file ckmessagelogging.h.
| typedef ResendRequest RemoveLogRequest |
Definition at line 389 of file ckmessagelogging.h.
| typedef void(* MlogFn)(void *, ChareMlogData *) |
Definition at line 479 of file ckmessagelogging.h.
| CpvExtern | ( | Chare * | , | |
| _currentObj | ||||
| ) |
| PUPbytes | ( | Ticket | ) |
| PUPbytes | ( | LocalMessageLog | ) |
| CpvExtern | ( | CkQ< TicketRequest * > * | , | |
| _delayedTicketRequests | ||||
| ) |
| CpvExtern | ( | CkQ< LocalMessageLog > * | , | |
| _localMessageLog | ||||
| ) |
| CpvExtern | ( | CkQ< LocalMessageLog > * | , | |
| _bufferedLocalMessageLogs | ||||
| ) |
| CpvExtern | ( | char ** | , | |
| _bufferedTicketRequests | ||||
| ) |
| void _messageLoggingInit | ( | ) |
Initialize message logging data structures and register handlers.
Definition at line 237 of file ckcausalmlog.C.
References _bufferedLocalMessageAckHandler(), _bufferedLocalMessageCopyHandler(), _bufferedTicketHandler(), _bufferedTicketRequestHandler(), _checkpointAckHandler(), _checkpointBarrierAckHandler(), _checkpointBarrierHandler(), _checkpointRequestHandler(), _distributedLocationHandler(), _dummyMigrationHandler(), _getCheckpointHandler(), _getGlobalStepHandler(), _getRestartCheckpointHandler(), _localMessageAckHandler(), _localMessageCopyHandler(), _pingHandler(), _receivedDetDataHandler(), _receivedTNDataHandler(), _receiveLocationHandler(), _receiveMigrationNoticeAckHandler(), _receiveMigrationNoticeHandler(), _receiveMlogLocationHandler(), _recvCheckpointHandler(), _recvGlobalStepHandler(), _recvRestartCheckpointHandler(), _removeDeterminantsHandler(), _removeProcessedLogHandler(), _resendMessagesHandler(), _resendReplyHandler(), _restartHandler(), _sendDetsHandler(), _sendDetsReplyHandler(), _storeCheckpointHandler(), _storeDeterminantsHandler(), _ticketHandler(), _ticketRequestHandler(), _updateHomeAckHandler(), _updateHomeRequestHandler(), _verifyAckHandler(), _verifyAckRequestHandler(), CcdCallFnAfter(), checkBufferedLocalMessageCopy(), Converse::CkMyPe(), Converse::CkNumPes(), CmiAlloc(), CmiMyPe(), CmiWallTimer(), CqsCreate(), printf(), retryTicketRequest(), totalMsgsSize, and traceRegisterUserEvent().
Referenced by _initCharm().
Definition at line 355 of file ckmessagelogging.C.
References CkCopyMsg(), Converse::CkMyPe(), CmiMyPe(), CkObjID::data, EnvToUsr(), generateCommonTicketRequest(), envelope::getGroupNum(), _ObjectID::group, _ObjectID::id, _ObjectID::onPE, printf(), envelope::sender, sendTicketGroupRequest(), envelope::SN, envelope::TN, CkObjID::type, TypeGroup, TypeInvalid, and UsrToEnv().
Referenced by _sendMsgBranch(), and sendTicketGroupRequest().
Definition at line 407 of file ckmessagelogging.C.
References _ObjectID::array, Converse::CkMyPe(), CkObjID::data, generateCommonTicketRequest(), envelope::getsetArrayIndex(), envelope::getsetArrayMgr(), _ObjectID::s_array::id, _ObjectID::s_array::idx, printf(), CkObjID::toString(), CkObjID::type, and TypeArray.
Referenced by CkArrayManagerDeliver().
Definition at line 383 of file ckmessagelogging.C.
References CkCopyMsg(), Converse::CkMyPe(), CkObjID::data, EnvToUsr(), generateCommonTicketRequest(), envelope::getGroupNum(), _ObjectID::group, _ObjectID::id, _ObjectID::onPE, printf(), envelope::sender, sendTicketNodeGroupRequest(), envelope::SN, envelope::TN, CkObjID::type, TypeInvalid, TypeNodeGroup, and UsrToEnv().
Referenced by _sendMsgNodeBranch(), and sendTicketNodeGroupRequest().
A method to generate the actual ticket requests for groups, nodegroups or arrays.
Definition at line 425 of file ckmessagelogging.C.
References _startTime, Converse::CkMyPe(), copyEnvelope(), generalCldEnqueue(), SNToTicket::get(), CkHashtableT< KEY, OBJ >::get(), CkObjID::getObject(), isLocal(), isTeamLocal(), Chare::mlogData, ChareMlogData::nextSN(), printf(), envelope::recver, envelope::sender, sendTicketRequest(), envelope::SN, ChareMlogData::teamTable, ticketLogLocalMessage(), Ticket::TN, CkObjID::toString(), CkObjID::type, and TypeInvalid.
Referenced by sendTicketArrayRequest(), sendTicketGroupRequest(), and sendTicketNodeGroupRequest().
| 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.
Definition at line 528 of file ckmessagelogging.C.
References ChareMlogData::addLogEntry(), CcdCallFnAfter(), checkBufferedTicketRequests(), Converse::CkMyPe(), CmiAlloc(), CmiMemoryCheck(), CmiMyPe(), CmiPrintf(), Converse::CmiSyncSend(), MlogEntry::destPE, MlogEntry::env, envelope::freeMsg, CkObjID::getObject(), envelope::getTotalsize(), isTeamLocal(), TicketRequest::logEntry, Chare::mlogData, MLOGFT_totalLogSize, MLOGFT_totalMessages, printf(), TicketRequest::recver, envelope::recver, sendBufferedTicketRequests(), TicketRequest::sender, envelope::sender, TicketRequest::senderPE, TicketRequest::SN, envelope::SN, TicketRequest::TN, and CkObjID::toString().
Referenced by generateCommonTicketRequest(), and resendMessageForChare().
| void ticketLogLocalMessage | ( | MlogEntry * | entry | ) |
Gets a ticket for a local message and then sends a copy to the buddy.
This method is always in the main thread(not interrupt).. so it should never find itself locked out of a newTicket.
Definition at line 632 of file ckmessagelogging.C.
References _startTime, Converse::CkMyPe(), CmiMemoryCheck(), CmiMyPe(), MlogEntry::destPE, MlogEntry::env, CkObjID::getObject(), ChareMlogData::mapTable, Chare::mlogData, ChareMlogData::next_ticket(), CkHashtable::numObjects(), printf(), envelope::recver, ChareMlogData::searchRestoredLocalQ(), envelope::sender, sendLocalMessageCopy(), envelope::SN, envelope::TN, Ticket::TN, CkObjID::toString(), and MlogEntry::unackedLocal.
Referenced by generateCommonTicketRequest(), and retryTicketRequest().
| void sendLocalMessageCopy | ( | MlogEntry * | entry | ) |
Sends the metadata of a local message to its buddy.
Definition at line 689 of file ckmessagelogging.C.
References CcdCallFnAfter(), checkBufferedLocalMessageCopy(), Converse::CkMyPe(), CmiMemoryCheck(), Converse::CmiSyncSend(), LocalMessageLog::entry, MlogEntry::env, getCheckPointPE(), length, printf(), envelope::recver, LocalMessageLog::recver, sendBufferedLocalMessageCopy(), envelope::sender, LocalMessageLog::sender, LocalMessageLog::senderPE, envelope::SN, LocalMessageLog::SN, envelope::TN, LocalMessageLog::TN, and CkObjID::toString().
Referenced by _ticketHandler(), resendMessageForChare(), and ticketLogLocalMessage().
| void sendBufferedLocalMessageCopy | ( | ) |
Definition at line 723 of file ckmessagelogging.C.
References Converse::CkMyPe(), CmiAlloc(), CmiMemoryCheck(), Converse::CmiSyncSendAndFree(), countBuffered, getCheckPointPE(), BufferedLocalLogHeader::numberLogs, printf(), and ptr.
Referenced by checkBufferedLocalMessageCopy(), and sendLocalMessageCopy().
| void checkBufferedLocalMessageCopy | ( | void * | _dummy, | |
| double | curWallTime | |||
| ) |
Definition at line 752 of file ckmessagelogging.C.
References Converse::CkMyPe(), CmiAbort(), CmiMemoryCheck(), length, printf(), and sendBufferedLocalMessageCopy().
Referenced by _messageLoggingInit(), and sendLocalMessageCopy().
| 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 _ticketRequestHandler | ( | TicketRequest * | ) | [inline] |
If there are any delayed requests, process them first before processing this request.
Definition at line 928 of file ckcausalmlog.C.
References _processTicketRequest(), _startTime, Converse::CkMyPe(), CmiFree(), length, printf(), and retryTicketRequest().
Referenced by _messageLoggingInit().
| void _ticketHandler | ( | TicketReply * | ) | [inline] |
This function handles the ticket received after a request.
Definition at line 965 of file ckmessagelogging.C.
References MlogEntry::_infoIdx, _startTime, Converse::CkMyPe(), CmiAbort(), CmiFree(), CmiMemoryCheck(), Converse::CmiSyncSend(), Converse::CmiSyncSendAndFree(), CmiWallTimer(), MlogEntry::env, generalCldEnqueue(), CkHashtableT< KEY, OBJ >::get(), ChareMlogData::getMlog(), CkObjID::getObject(), envelope::getTotalsize(), CkObjID::guessPE(), isTeamLocal(), CkQ< T >::length(), TicketRequest::logEntry, Chare::mlogData, printf(), SNToTicket::put(), CkHashtableTslow< KEY, OBJ >::put(), envelope::recver, TicketRequest::recver, TicketReply::recverPE, TicketReply::request, envelope::sender, TicketRequest::sender, sendLocalMessageCopy(), envelope::setSrcPe(), envelope::SN, TicketRequest::SN, Ticket::state, ChareMlogData::teamTable, TicketReply::ticket, envelope::TN, Ticket::TN, CkObjID::toString(), and CkObjID::updatePosition().
| void _localMessageCopyHandler | ( | LocalMessageLog * | ) |
Stores the metadata of a local message from its buddy.
Definition at line 1091 of file ckmessagelogging.C.
References _startTime, Converse::CkMyPe(), Converse::CmiSyncSend(), CmiWallTimer(), LocalMessageLog::entry, LocalMessageLogAck::entry, printf(), LocalMessageLog::recver, LocalMessageLog::sender, LocalMessageLog::senderPE, LocalMessageLog::TN, and CkObjID::toString().
Referenced by _messageLoggingInit().
| void _localMessageAckHandler | ( | LocalMessageLogAck * | ) |
Definition at line 1182 of file ckmessagelogging.C.
References MlogEntry::_infoIdx, _skipCldEnqueue(), _startTime, CkExit(), Converse::CkMyPe(), CmiFree(), CmiMemoryCheck(), CmiMyPe(), MlogEntry::destPE, LocalMessageLogAck::entry, MlogEntry::env, envelope::localMlogEntry, printf(), envelope::recver, envelope::sender, envelope::SN, envelope::TN, CkObjID::toString(), and MlogEntry::unackedLocal.
Referenced by _bufferedLocalMessageAckHandler(), and _messageLoggingInit().
| void _pingHandler | ( | CkPingMsg * | msg | ) |
Definition at line 1164 of file ckcausalmlog.C.
References Converse::CkMyPe(), CmiFree(), RestartRequest::PE, and printf().
Referenced by _messageLoggingInit().
| void _bufferedLocalMessageCopyHandler | ( | BufferedLocalLogHeader * | recvdHeader, | |
| int | freeHeader = 1 | |||
| ) |
Definition at line 1110 of file ckmessagelogging.C.
References _startTime, CmiAlloc(), CmiFree(), CmiMemoryCheck(), CmiMyPe(), Converse::CmiSyncSendAndFree(), LocalMessageLog::entry, LocalMessageLogAck::entry, getCheckPointPE(), msg, BufferedLocalLogHeader::numberLogs, printf(), ptr, and LocalMessageLog::senderPE.
| void _bufferedLocalMessageAckHandler | ( | BufferedLocalLogHeader * | recvdHeader | ) |
Definition at line 1237 of file ckmessagelogging.C.
References _bufferedLocalMessageCopyHandler(), _localMessageAckHandler(), _startTime, CmiFree(), CmiMemoryCheck(), CmiMyPe(), msg, BufferedLocalLogHeader::numberLogs, and printf().
| 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().
| 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.
Definition at line 1361 of file ck.C.
References _enqObjQueue(), CkFindObjectPtr(), Chare::CkGetObjQueue(), Converse::CkMyPe(), CkPackMessage(), CmiFree(), CmiNodeOf(), CmiPersistentOneSend(), Converse::CmiSyncBroadcast(), Converse::CmiSyncBroadcastAll(), Converse::CmiSyncBroadcastAllAndFree(), Converse::CmiSyncBroadcastAndFree(), Converse::CmiSyncSend(), Converse::CmiSyncSendAndFree(), ConverseDeliver(), CqsEnqueueGeneral(), envelope::getPriobits(), envelope::getPrioPtr(), envelope::getQueueing(), envelope::getTotalsize(), printf(), and CkObjectMsgQ::queue().
Referenced by _localMessageAckHandler(), _sendMsgBranch(), CkArrayManagerDeliver(), generalCldEnqueue(), and sendLocalMsg().
Definition at line 1467 of file ck.C.
References CkPackMessage(), CmiFree(), ConverseDeliver(), and envelope::getTotalsize().
Referenced by _sendMsgNodeBranch(), CkSendMsgNodeBranchImmediate(), and generalCldEnqueue().
Definition at line 1143 of file ckcausalmlog.C.
References _noCldNodeEnqueue(), _skipCldEnqueue(), envelope::recver, CkObjID::type, and TypeNodeGroup.
Referenced by _ticketHandler(), generateCommonTicketRequest(), sendCommonMsg(), and sendMsg().
| void retryTicketRequest | ( | void * | _ticketRequest, | |
| double | curWallTime | |||
| ) |
Definition at line 1396 of file ckmessagelogging.C.
References _processTicketRequest(), CcdCallFnAfter(), Converse::CkMyPe(), CmiFree(), CmiMemoryCheck(), CmiWallTimer(), CqsLength(), length, printf(), TicketRequest::recver, retryTicketRequestTimer(), TicketRequest::sender, TicketRequest::SN, ticketLogLocalMessage(), and CkObjID::toString().
Definition at line 1012 of file ckcausalmlog.C.
References _getTicket(), _startTime, addBufferedDeterminant(), Converse::CkMyPe(), CmiFree(), CmiMemoryCheck(), Converse::CmiSyncSend(), CqsDequeue(), CqsEmpty(), CqsEnqueue(), CqsEnqueueGeneral(), fault_aware(), CkObjID::getObject(), envelope::getPriobits(), envelope::getPrioPtr(), envelope::getSrcPe(), envelope::getTotalsize(), CkObjID::guessPE(), envelope::incarnation, envelope::localMlogEntry, Chare::mlogData, printf(), envelope::recver, envelope::sender, envelope::SN, envelope::TN, CkObjID::toString(), and ChareMlogData::tProcessed.
Referenced by _processHandler().
Updates a few variables once a message has been processed.
Definition at line 1123 of file ckcausalmlog.C.
References Converse::CkMyPe(), CmiMemoryCheck(), MlogEntry::env, CkObjID::guessPE(), Chare::mlogData, and ChareMlogData::tProcessed.
Referenced by _processHandler().
| CpvExtern | ( | StoredCheckpoint * | , | |
| _storedCheckpointData | ||||
| ) |
| void checkpointAlarm | ( | void * | _dummy, | |
| double | curWallTime | |||
| ) |
Definition at line 1179 of file ckcausalmlog.C.
References CcdCallFnAfter(), checkpointAlarm(), Converse::CkMyPe(), Converse::CmiSyncBroadcastAll(), diff, RestartRequest::PE, and printf().
Referenced by checkpointAlarm(), and startMlogCheckpoint().
| void startMlogCheckpoint | ( | void * | _dummy, | |
| double | curWallTime | |||
| ) |
Starts the checkpoint phase after migration.
Definition at line 1203 of file ckcausalmlog.C.
References _startTime, buildProcessedTicketLog(), CcdCallFnAfter(), checkpointAlarm(), Converse::CkMyPe(), CkPupGroupData(), CkPupNodeGroupData(), CkPupROData(), CmiAlloc(), CmiMemoryCheck(), CmiMyPe(), Converse::CmiSyncSendAndFree(), CmiTimer(), CmiTrue, CmiWallTimer(), CheckPointDataMsg::dataSize, dataSize, forAllCharesDo(), getCheckPointPE(), msg, CheckPointDataMsg::PE, printf(), pupArrayElementsSkip(), CkVec< T >::removeAll(), PUP::sizer::size(), and traceUserBracketEvent().
Referenced by _checkpointRequestHandler(), _receiveMigrationNoticeAckHandler(), _updateHomeRequestHandler(), and startLoadBalancingMlog().
| void pupArrayElementsSkip | ( | PUP::er & | p, | |
| CmiBool | create, | |||
| MigrationRecord * | listToSkip, | |||
| int | listSize = 0 | |||
| ) |
Pups all the array elements in this processor.
Definition at line 1313 of file ckcausalmlog.C.
References CkCountArrayElements(), Converse::CkMyPe(), CmiMyPe(), CkLocMgr::homePe(), _ckGroupID::idx, idx, MigrationRecord::idx, idx2str(), informLocationHome(), PUP::er::isUnpacking(), CkLocMgr::numLocalElements(), CkArrayIndex::print(), printf(), and CkLocMgr::resume().
Referenced by _recvCheckpointHandler(), _recvRestartCheckpointHandler(), and startMlogCheckpoint().
| void _checkpointRequestHandler | ( | CheckpointRequest * | request | ) |
Definition at line 1196 of file ckcausalmlog.C.
References CmiWallTimer(), and startMlogCheckpoint().
Referenced by _messageLoggingInit().
| void _storeCheckpointHandler | ( | char * | msg | ) |
Definition at line 1386 of file ckcausalmlog.C.
References _startTime, Converse::CkMyPe(), CmiFree(), CmiMyPe(), Converse::CmiSyncSend(), CheckPointDataMsg::dataSize, CheckPointDataMsg::PE, printf(), CkVec< T >::remove(), CkVec< T >::size(), traceUserBracketEvent(), and writeCheckpointToDisk().
Referenced by _messageLoggingInit().
| void _checkpointAckHandler | ( | CheckPointAck * | ackMsg | ) |
Definition at line 1476 of file ckcausalmlog.C.
References Converse::CkMyPe(), CmiFree(), CmiMemoryCheck(), CheckPointDataMsg::dataSize, finishedCheckpointLoadBalancing(), CheckPointDataMsg::PE, printf(), and sendRemoveLogRequests().
Referenced by _messageLoggingInit().
| void _removeProcessedLogHandler | ( | char * | requestMsg | ) |
Removes messages in the log according to the received ticket numbers.
Definition at line 1588 of file ckcausalmlog.C.
References Converse::CkMyPe(), clearUpMigratedRetainedLists(), CmiAbort(), CmiFree(), CmiMemoryCheck(), CkQ< T >::enq(), fault_aware(), forAllCharesDo(), getCheckPointPE(), CkQ< T >::length(), list, ResendRequest::numberObjects, ResendRequest::PE, populateDeterminantTable(), printf(), TProcessedLog::recver, LocalMessageLog::recver, removeProcessedLogs(), LocalMessageLog::TN, TProcessedLog::tProcessed, and traceUserBracketEvent().
Referenced by _messageLoggingInit().
| 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 1652 of file ckcausalmlog.C.
References Converse::CkMyPe(), Converse::CkNumPes(), Converse::CmiSyncSend(), CmiWallTimer(), getCheckPointPE(), msg, and RestartRequest::PE.
Referenced by _initCharm(), _parseCommandLineOpts(), CkMlogRestartDouble(), and CkMlogRestartLocal().
| void CkMlogRestartDouble | ( | void * | , | |
| double | ||||
| ) |
Processes the received list of tickets from a particular PE.
Definition at line 2696 of file ckcausalmlog.C.
References Converse::CkMyPe(), Converse::CkNumPes(), CmiMyPe(), CmiWallTimer(), ChareMlogData::currentHoles, maxVec(), Chare::mlogData, ChareMlogData::numberHoles, ChareMlogData::objID, objString, printf(), CkVec< T >::push_back(), ChareMlogData::receivedTNs, ChareMlogData::resendReplyRecvd, ChareMlogData::restartFlag, searchVec(), CkVec< T >::size(), sortVec(), ChareMlogData::tCount, ChareMlogData::ticketHoles, CkObjID::toString(), and ChareMlogData::tProcessed.
Referenced by _receivedTNDataHandler(), _resendReplyHandler(), and _sendDetsReplyHandler().
| void initializeRestart | ( | void * | data, | |
| ChareMlogData * | mlogData | |||
| ) |
Initializes variables and flags for restarting procedure.
Definition at line 2168 of file ckcausalmlog.C.
References CkHashtable::empty(), ChareMlogData::mapTable, ChareMlogData::receivedTNs, CkVec< T >::removeAll(), ChareMlogData::resendReplyRecvd, ChareMlogData::restartFlag, and ChareMlogData::restoredLocalMsgLog.
Referenced by _recvCheckpointHandler(), and _recvRestartCheckpointHandler().
| void distributeRestartedObjects | ( | ) |
Distributes objects to accelerate recovery after a failure.
Definition at line 2934 of file ckcausalmlog.C.
References Converse::CkMyPe().
Referenced by _sendDetsReplyHandler(), and _updateHomeAckHandler().
| void sortRestoredLocalMsgLog | ( | void * | _dummy, | |
| ChareMlogData * | mlogData | |||
| ) |
Definition at line 3786 of file ckmessagelogging.C.
References ChareMlogData::sortRestoredLocalMsgLog().
Referenced by _recvCheckpointHandler(), and _recvRestartCheckpointHandler().
| 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 2980 of file ckcausalmlog.C.
References Converse::CmiSyncSend(), DummyMigrationMsg::flag, DummyMigrationMsg::idx, DummyMigrationMsg::lbID, DummyMigrationMsg::locationPE, and DummyMigrationMsg::mgrID.
Referenced by _resendMessagesHandler().
| void CkMlogRestartLocal | ( | ) |
| void _getCheckpointHandler | ( | RestartRequest * | restartMsg | ) |
Gets the stored checkpoint for its buddy processor.
Definition at line 1878 of file ckcausalmlog.C.
References CmiMyPe(), CmiPrintf(), Converse::CmiSyncSend(), VerifyAckMsg::fromPE, idx, idx2str(), VerifyAckMsg::index, VerifyAckMsg::migRecord, msg, StoredCheckpoint::PE, RestartRequest::PE, sendCheckpointData(), and CkVec< T >::size().
Referenced by _messageLoggingInit().
| 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.
Definition at line 2036 of file ckcausalmlog.C.
References _initDone(), ChareMlogData::addToRestoredLocalQ(), RestartProcessorData::checkPointSize, Converse::CkMyPe(), Converse::CkNumPes(), CkPupGroupData(), CkPupNodeGroupData(), CkPupROData(), CmiAlloc(), CmiFree(), CmiMyPe(), Converse::CmiSyncSend(), CmiTrue, CmiWallTimer(), createObjIDList(), forAllCharesDo(), getGlobalStep(), CkObjID::getObject(), initializeRestart(), RestartProcessorData::lbGroupID, Chare::mlogData, ResendRequest::numberObjects, RestartProcessorData::numLocalMessages, RestartProcessorData::numMigratedAwayElements, RestartRequest::PE, ResendRequest::PE, RestartProcessorData::PE, printf(), pupArrayElementsSkip(), CkVec< T >::push_back(), ChareMlogData::receivedTNs, LocalMessageLog::recver, RestartProcessorData::restartWallTime, LocalMessageLog::sender, PUP::mem::size(), LocalMessageLog::SN, sortRestoredLocalMsgLog(), LocalMessageLog::TN, and CkObjID::toString().
Referenced by _messageLoggingInit().
| void _resendMessagesHandler | ( | char * | msg | ) |
Resends messages since last checkpoint to the list of objects included in the request.
It also sends stored remote determinants to the particular failed PE.
Definition at line 2472 of file ckcausalmlog.C.
References _receiveMlogLocationHandler(), _ObjectID::array, CkArrayID::ckLocalBranch(), Converse::CkMyPe(), CmiAlloc(), CmiFree(), CmiMemoryCheck(), CmiMyPe(), CmiPrintf(), Converse::CmiSyncSendAndFree(), CmiWallTimer(), CkObjID::data, CkLocMgr::elementRec(), fillTicketForChare(), forAllCharesDo(), CkLocMgr::getGroupID(), CkArray::getLocMgr(), CkVec< T >::getVec(), CkLocMgr::homePe(), _ObjectID::s_array::id, _ObjectID::s_array::idx, idx2str(), informLocationHome(), isTeamLocal(), ResendData::listObjects, CkLocRec::local, ResendData::maxTickets, CkLocMgr::migratableList(), ResendRequest::numberObjects, ResendData::numberObjects, ResendRequest::PE, ResendData::PE, printf(), TProcessedLog::recver, resendMessageForChare(), sendDummyMigration(), CkVec< T >::size(), ResendData::ticketVecs, ChareMlogData::toResumeOrNot, CkLocRec::type(), CkObjID::type, and TypeArray.
Referenced by _messageLoggingInit(), _recvRestartCheckpointHandler(), _sendDetsReplyHandler(), and _updateHomeAckHandler().
| 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 2661 of file ckcausalmlog.C.
References CmiFree(), CmiMyPe(), Converse::CmiSyncSendAndFree(), CkObjID::getObject(), CkObjID::guessPE(), Chare::mlogData, ReceivedTNData::numTNs, ChareMlogData::objID, printf(), processReceivedTN(), ReceivedTNData::recver, and CkObjID::toString().
Referenced by _messageLoggingInit().
| void _distributedLocationHandler | ( | char * | receivedMsg | ) |
Handler to update information about an object just received.
Definition at line 2944 of file ckcausalmlog.C.
References Converse::CkMyPe(), CmiTrue, CkLocMgr::elementRec(), CkLocMgr::homePe(), idx, informLocationHome(), CkLocRec::local, CkLocMgr::migratableList(), CkArrayIndex::print(), printf(), CkLocMgr::resume(), CkVec< T >::size(), ChareMlogData::toResumeOrNot, and CkLocRec::type().
Referenced by _messageLoggingInit().
| void _updateHomeRequestHandler | ( | RestartRequest * | updateRequest | ) |
Updates the homePe for all chares in this processor.
Definition at line 2201 of file ckcausalmlog.C.
References CmiMyPe(), CmiPrintf(), Converse::CmiSyncSend(), Converse::CmiSyncSendAndFree(), forAllCharesDo(), getCheckPointPE(), MigrationNotice::migRecord, RestartRequest::PE, MigrationNotice::record, CkVec< T >::size(), startMlogCheckpoint(), and updateHomePE().
Referenced by _messageLoggingInit().
| void _updateHomeAckHandler | ( | RestartRequest * | updateHomeAck | ) |
Receives the updateHome ACKs from all other processors.
Once everybody has replied, it sends a request to resend the logged messages.
Definition at line 2114 of file ckcausalmlog.C.
References _resendMessagesHandler(), Converse::CkMyPe(), Converse::CkNumPes(), CmiAlloc(), CmiFree(), Converse::CmiSyncSend(), CmiWallTimer(), createObjIDList(), distributeRestartedObjects(), fastRecovery, forAllCharesDo(), ResendRequest::numberObjects, parallelRestart, ResendRequest::PE, printf(), CentralLB::ReceiveDummyMigration(), and sleep().
Referenced by _messageLoggingInit(), and _recvGlobalStepHandler().
| void _verifyAckRequestHandler | ( | VerifyAckMsg * | verifyRequest | ) |
Definition at line 1915 of file ckcausalmlog.C.
References CmiMyPe(), CmiPrintf(), Converse::CmiSyncSendAndFree(), CkLocMgr::elementNrec(), VerifyAckMsg::fromPE, CkLocRec_local::getLBDB(), CkLocRec_local::getLdHandle(), CkLocRec_local::getLocalIndex(), MigrationRecord::gID, _ckGroupID::idx, MigrationRecord::idx, idx2str(), CkLocRec::local, VerifyAckMsg::migRecord, CkLocMgr::reclaim(), CkLocMgr::setDuringMigration(), CkLocRec::type(), and LBDatabase::UnregisterObj().
Referenced by _messageLoggingInit().
| void _verifyAckHandler | ( | VerifyAckMsg * | verifyReply | ) |
Definition at line 1943 of file ckcausalmlog.C.
References CmiMyPe(), CmiPrintf(), idx, idx2str(), VerifyAckMsg::index, VerifyAckMsg::migRecord, and sendCheckpointData().
Referenced by _messageLoggingInit().
| 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 3013 of file ckcausalmlog.C.
References CmiFree(), CmiMyPe(), CmiPrintf(), DummyMigrationMsg::count, DummyMigrationMsg::flag, DummyMigrationMsg::idx, _ckGroupID::idx, idx2str(), DummyMigrationMsg::lbID, DummyMigrationMsg::locationPE, DummyMigrationMsg::mgrID, and CentralLB::Migrated().
Referenced by _messageLoggingInit().
| 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 1683 of file ckcausalmlog.C.
References Converse::CkMyPe(), Converse::CmiSyncSend(), CmiWallTimer(), getCheckPointPE(), msg, and RestartRequest::PE.
Referenced by _messageLoggingInit().
| void _getRestartCheckpointHandler | ( | RestartRequest * | restartMsg | ) |
Gets the stored checkpoint but calls another function in the sender.
Definition at line 1715 of file ckcausalmlog.C.
References CmiMyPe(), CmiPrintf(), Converse::CmiSyncSend(), VerifyAckMsg::fromPE, idx, idx2str(), VerifyAckMsg::index, VerifyAckMsg::migRecord, msg, StoredCheckpoint::PE, RestartRequest::PE, sendCheckpointData(), and CkVec< T >::size().
Referenced by _messageLoggingInit().
| void _recvRestartCheckpointHandler | ( | char * | _restartData | ) |
Receives the checkpoint coming from its buddy.
This is the case of restart for one team member that did not crash.
Definition at line 1754 of file ckcausalmlog.C.
References _resendMessagesHandler(), ChareMlogData::addToRestoredLocalQ(), RestartProcessorData::checkPointSize, Converse::CkMyPe(), Converse::CkNumPes(), CkPupGroupData(), CkPupNodeGroupData(), CkPupROData(), CmiAlloc(), CmiFalse, CmiFree(), CmiMyPe(), Converse::CmiSyncSend(), CmiWallTimer(), createObjIDList(), forAllCharesDo(), CkObjID::getObject(), initializeRestart(), RestartProcessorData::lbGroupID, Chare::mlogData, ResendRequest::numberObjects, RestartProcessorData::numLocalMessages, RestartProcessorData::numMigratedAwayElements, ResendRequest::PE, RestartProcessorData::PE, printf(), pupArrayElementsSkip(), CkVec< T >::push_back(), ChareMlogData::receivedTNs, CentralLB::ReceiveDummyMigration(), LocalMessageLog::recver, RestartProcessorData::restartWallTime, LocalMessageLog::sender, setTeamRecovery(), PUP::mem::size(), sleep(), LocalMessageLog::SN, sortRestoredLocalMsgLog(), LocalMessageLog::TN, CkObjID::toString(), and unsetTeamRecovery().
Referenced by _messageLoggingInit().
| void startLoadBalancingMlog | ( | void(*)(void *) | fnPtr, | |
| void * | _centralLb | |||
| ) |
Load Balancing.
Definition at line 3105 of file ckcausalmlog.C.
References centralLb, CmiMyPe(), CmiWallTimer(), printf(), resumeLbFnPtr, and startMlogCheckpoint().
Referenced by CentralLB::MigrationDone().
| void finishedCheckpointLoadBalancing | ( | ) |
Definition at line 3118 of file ckcausalmlog.C.
References CmiMyPe(), Converse::CmiSyncSend(), and printf().
Referenced by _checkpointAckHandler().
Definition at line 3130 of file ckcausalmlog.C.
References RetainedMigratedObject::acked, Converse::CkMyPe(), CkPackMessage(), CmiMyPe(), CmiPrintf(), Converse::CmiSyncSend(), EnvToUsr(), MigrationRecord::fromPE, getCheckPointPE(), envelope::getTotalsize(), CkArrayElementMigrateMessage::gid, MigrationRecord::gID, _ckGroupID::idx, CkArrayElementMigrateMessage::idx, MigrationRecord::idx, idx2str(), RetainedMigratedObject::migRecord, MigrationNotice::migRecord, RetainedMigratedObject::msg, printf(), CkVec< T >::push_back(), MigrationNotice::record, RetainedMigratedObject::size, size, CkVec< T >::size(), and MigrationRecord::toPE.
Referenced by CkLocMgr::emigrate().
| void resumeFromSyncRestart | ( | void * | data, | |
| ChareMlogData * | mlogData | |||
| ) |
Definition at line 3225 of file ckcausalmlog.C.
| void _receiveMlogLocationHandler | ( | void * | buf | ) |
Definition at line 3211 of file ckcausalmlog.C.
References Converse::CkMyPe(), CkUnpackMessage(), EnvToUsr(), envelope::getTotalsize(), CkArrayElementMigrateMessage::gid, _ckGroupID::idx, CkLocMgr::immigrate(), and printf().
Referenced by _messageLoggingInit(), and _resendMessagesHandler().
| void _receiveMigrationNoticeHandler | ( | MigrationNotice * | msg | ) |
Definition at line 3181 of file ckcausalmlog.C.
References MigrationRecord::ackFrom, MigrationRecord::ackTo, Converse::CmiSyncSend(), getCheckPointPE(), MigrationNotice::migRecord, CkVec< T >::push_back(), MigrationNotice::record, and MigrationNoticeAck::record.
Referenced by _messageLoggingInit().
| void _receiveMigrationNoticeAckHandler | ( | MigrationNoticeAck * | msg | ) |
Definition at line 3191 of file ckcausalmlog.C.
References RetainedMigratedObject::acked, CmiMyPe(), Converse::CmiSyncSend(), CmiWallTimer(), MigrationRecord::gID, CkLocMgr::homePe(), MigrationRecord::idx, informLocationHome(), RetainedMigratedObject::migRecord, RetainedMigratedObject::msg, printf(), MigrationNoticeAck::record, RetainedMigratedObject::size, startMlogCheckpoint(), and MigrationRecord::toPE.
Referenced by _messageLoggingInit().
| void _getGlobalStepHandler | ( | LBStepMsg * | msg | ) |
Definition at line 3394 of file ckcausalmlog.C.
References CmiMyPe(), CmiPrintf(), Converse::CmiSyncSend(), LBStepMsg::fromPE, _ckGroupID::idx, LBStepMsg::lbID, BaseLB::step(), and LBStepMsg::step.
Referenced by _messageLoggingInit().
| void _recvGlobalStepHandler | ( | LBStepMsg * | msg | ) |
Receives the global step handler from PE 0.
Definition at line 3406 of file ckcausalmlog.C.
References _sendDetsReplyHandler(), _updateHomeAckHandler(), Converse::CkMyPe(), CmiAlloc(), CmiFree(), CmiMyPe(), CmiPrintf(), ResendRequest::numberObjects, ResendRequest::PE, and LBStepMsg::step.
Referenced by _messageLoggingInit().
| void _checkpointBarrierHandler | ( | CheckpointBarrierMsg * | msg | ) |
Processor 0 receives a contribution from every other processor after checkpoint.
Definition at line 3251 of file ckcausalmlog.C.
References checkAndSendCheckpointBarrierAcks(), CheckpointBarrierMsg::checkpointCount, CmiAbort(), CmiFree(), CmiMyPe(), CmiPrintf(), CheckpointBarrierMsg::fromPE, and printf().
Referenced by _messageLoggingInit().
| void _checkpointBarrierAckHandler | ( | CheckpointBarrierMsg * | msg | ) |
Definition at line 3270 of file ckcausalmlog.C.
References centralLb, Converse::CkMyPe(), CmiFree(), CmiMyPe(), CmiPrintf(), and sendRemoveLogRequests().
Referenced by _messageLoggingInit().
| 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 3953 of file ckcausalmlog.C.
References CmiMyPe().
Referenced by _bufferedLocalMessageCopyHandler(), _receiveMigrationNoticeHandler(), _removeProcessedLogHandler(), _restartHandler(), _updateHomeRequestHandler(), CkMlogRestart(), sendBufferedLocalMessageCopy(), sendLocalMessageCopy(), sendMlogLocation(), and startMlogCheckpoint().
| void forAllCharesDo | ( | MlogFn | fnPointer, | |
| void * | data | |||
| ) |
Map function pointed by fnPointer over all the chares living in this processor.
Definition at line 3064 of file ckcausalmlog.C.
References caller, and Chare::mlogData.
Referenced by _recvCheckpointHandler(), _recvRestartCheckpointHandler(), _removeProcessedLogHandler(), _resendMessagesHandler(), _sendDetsReplyHandler(), _updateHomeAckHandler(), _updateHomeRequestHandler(), garbageCollectMlog(), and startMlogCheckpoint().
Definition at line 3958 of file ckcausalmlog.C.
References CmiAlloc(), and envelope::getTotalsize().
Referenced by generateCommonTicketRequest(), resendMessageForChare(), and sendCommonMsg().
| void _resetNodeBocInitVec | ( | void | ) |
| void informLocationHome | ( | CkGroupID | mgrID, | |
| 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 3338 of file ckcausalmlog.C.
References _startTime, Converse::CkMyPe(), CmiMyPe(), CmiPrintf(), Converse::CmiSyncSend(), CmiWallTimer(), CurrentLocationMsg::fromPE, _ckGroupID::idx, CurrentLocationMsg::idx, idx2str(), CurrentLocationMsg::locationPE, CurrentLocationMsg::mgrID, and traceUserBracketEvent().
Referenced by _distributedLocationHandler(), _receiveMigrationNoticeAckHandler(), _resendMessagesHandler(), CkLocMgr::informHome(), pupArrayElementsSkip(), and updateHomePE().
| void _receiveLocationHandler | ( | CurrentLocationMsg * | data | ) |
Definition at line 3353 of file ckcausalmlog.C.
References _startTime, Converse::CkMyPe(), CmiAbort(), CmiFree(), CmiMyPe(), CmiPrintf(), Converse::CmiSyncSend(), CmiWallTimer(), CkLocMgr::elementNrec(), CurrentLocationMsg::fromPE, CurrentLocationMsg::idx, idx2str(), CkLocMgr::inform(), CkLocMgr::lastKnown(), CkLocRec::local, CurrentLocationMsg::locationPE, CurrentLocationMsg::mgrID, printf(), traceUserBracketEvent(), and CkLocRec::type().
Referenced by _messageLoggingInit().
| void processRemoteMlogMessages | ( | ) | [inline] |
| char objString[100] |
Definition at line 159 of file ckcausalmlog.C.
Referenced by buildProcessedTicketLog(), createObjIDList(), and processReceivedTN().
Definition at line 94 of file ckmessagelogging.C.
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 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.
Definition at line 160 of file ckcausalmlog.C.
Definition at line 161 of file ckcausalmlog.C.
Definition at line 162 of file ckcausalmlog.C.
Definition at line 165 of file ckcausalmlog.C.
Definition at line 163 of file ckcausalmlog.C.
Definition at line 164 of file ckcausalmlog.C.
Definition at line 177 of file ckcausalmlog.C.
Definition at line 128 of file ckmessagelogging.C.
Definition at line 180 of file ckcausalmlog.C.
Definition at line 182 of file ckcausalmlog.C.
Definition at line 175 of file ckcausalmlog.C.
Definition at line 176 of file ckcausalmlog.C.
Definition at line 167 of file ckcausalmlog.C.
Definition at line 168 of file ckcausalmlog.C.
Definition at line 169 of file ckcausalmlog.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 208 of file ckcausalmlog.C.
| void* centralLb |
Definition at line 209 of file ckcausalmlog.C.
Referenced by _checkpointBarrierAckHandler(), and startLoadBalancingMlog().
| void(* resumeLbFnPtr)(void *) |
Referenced by startLoadBalancingMlog().
Definition at line 211 of file ckcausalmlog.C.
Definition at line 212 of file ckcausalmlog.C.
Definition at line 213 of file ckcausalmlog.C.
Definition at line 172 of file ckcausalmlog.C.
Definition at line 173 of file ckcausalmlog.C.
Definition at line 214 of file ckcausalmlog.C.
Definition at line 215 of file ckcausalmlog.C.
Definition at line 217 of file ckcausalmlog.C.
Definition at line 218 of file ckcausalmlog.C.
Definition at line 232 of file ckcausalmlog.C.
1.5.5