c35fb4751bebdfd60a0c1488c051f6c0ecb2468f
[charm.git] / src / libs / ck-libs / pose / gvt.ci
1 /// Global Virtual Time estimation for POSE
2 module gvt {
3   /// Global handles ThePVT and TheGVT are declared in gvt.C, used everywhere
4   readonly CkGroupID ThePVT;
5   readonly CkGroupID TheGVT;
6   /// Message to send info to GVT 
7   message UpdateMsg {
8     SRentry SRs[];
9   };
10   /// Message to send GVT estimate back to PVT
11   message GVTMsg;
12   message prioBcMsg;
13
14   /// PVT chare group for computing local processor virtual time 
15   group [migratable] PVT {
16     entry PVT(void);
17     entry void startPhase(prioBcMsg *);
18     entry void startPhaseExp(prioBcMsg *);      // not SMP safe to make this expedited
19     entry void beginCheckpoint(eventMsg *);
20     entry void resumeAfterCheckpoint(eventMsg *);
21     entry void beginLoadbalancing(eventMsg *);
22     entry void callAtSync();
23     entry [expedited] void setGVT(GVTMsg *);
24     entry [expedited] void reportReduce(UpdateMsg *);
25   };
26
27   /// GVT chare group for estimating GVT
28   group [migratable] GVT {
29     entry GVT(void);
30     entry [expedited] void runGVT(UpdateMsg *);
31     entry [expedited] void computeGVT(UpdateMsg *);
32   };
33 };