1 // double checkpointing in memory
3 module CkMemCheckpoint {
5 readonly CkGroupID ckCheckPTGroupID;
7 message CkArrayCheckPTMessage {
10 message CkProcCheckPTMessage {
13 message CkArrayCheckPTReqMessage;
15 group [migratable] CkMemCheckPT {
16 entry CkMemCheckPT(int w);
17 entry void createEntry(CkArrayID, CkGroupID, CkArrayIndex, int);
19 entry [expedited] void doItNow(int spe, CkCallback &); //checkpointing
20 entry void recvData(CkArrayCheckPTMessage *);
21 entry void recvArrayCheckpoint(CkArrayCheckPTMessage *);
23 entry void recvProcData(CkProcCheckPTMessage *);
24 entry void syncFiles(CkReductionMsg *);
25 entry [reductiontarget] void cpFinish();
28 entry [expedited] void restart(int);
29 entry [reductiontarget] void resetReductionMgr();
30 entry [reductiontarget] void removeArrayElements();
31 entry [reductiontarget] void recoverBuddies();
32 entry void recoverEntry(CkArrayCheckPTMessage *msg);
33 entry [reductiontarget] void recoverArrayElements();
34 entry [reductiontarget] void finishUp();
35 entry void gotReply();
36 entry void quiescence(CkCallback&);
37 entry void inmem_restore(CkArrayCheckPTMessage *m);
38 entry void updateLocations(int n, CkGroupID g[n], CkArrayIndex idx[n],int nowOnPe);
41 initproc void CkRegisterRestartHandler();
43 mainchare CkMemCheckPTInit {
44 entry CkMemCheckPTInit(CkArgMsg *m);