inject failure according to exponential distribution
[charm.git] / src / ck-core / ckmemcheckpoint.ci
1 // double checkpointing in memory
2
3 module CkMemCheckpoint {
4
5   readonly CkGroupID ckCheckPTGroupID;
6   message CkArrayCheckPTMessage {
7         double packData[];
8   };    
9   message CkCheckPTMessage {
10         char packData[];
11   };    
12   message CkProcCheckPTMessage {
13         char packData[];
14   };    
15   message CkArrayCheckPTReqMessage;
16
17   group [migratable] CkMemCheckPT {
18         entry CkMemCheckPT(int w);
19         entry void createEntry(CkArrayID, CkGroupID, CkArrayIndex, int);
20         // checkpointing
21        // entry [expedited] void doItNow(int spe, CkCallback &);  //checkpointing
22         entry [expedited] void doItNow(int spe);  //checkpointing
23         entry [expedited] void chkpLocalStart();  //tell everyone begin to checkpoint
24         entry void recvData(CkArrayCheckPTMessage *);
25         entry void recvArrayCheckpoint(CkArrayCheckPTMessage *);
26         entry void gotData();
27         entry void recvProcData(CkProcCheckPTMessage *);
28         entry void syncFiles(CkReductionMsg *);
29         entry [reductiontarget] void cpFinish();
30         entry void report();
31         // restart
32         entry [expedited] void restart(int);
33         entry [reductiontarget] void resetReductionMgr();
34         entry [reductiontarget] void removeArrayElements();
35         entry [reductiontarget] void recoverBuddies();
36         entry void recoverEntry(CkArrayCheckPTMessage *msg);
37         entry [reductiontarget] void recoverArrayElements();
38         entry [reductiontarget] void finishUp();
39         entry [reductiontarget] void doneRComparison(int);
40         entry [reductiontarget] void recoverFromSoftFailure();
41         entry void doneBothComparison();
42         entry [reductiontarget] void recvMaxIter(int iter);
43         entry [reductiontarget] void startChkp();
44         entry void recvIter(int iter);
45
46         entry void getIter();
47         entry void reachChkpIter();
48         
49         entry void notifyReplicaDie(int pe);
50         entry void doneComparison(bool);
51         entry void RollBack();
52         entry void gotReply();
53         entry void quiescence(CkCallback&);
54         entry void inmem_restore(CkArrayCheckPTMessage *m);
55         entry void updateLocations(int n, CkGroupID g[n], CkArrayIndex idx[n],int nowOnPe);
56         entry void generateFailure();
57   };
58
59   initproc void CkRegisterRestartHandler();
60
61   mainchare CkMemCheckPTInit {
62         entry CkMemCheckPTInit(CkArgMsg *m);
63   };
64 };