added a command line option +lb_gvt_pose to set the gvt intervals between load balancing.
[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 resumeAfterLB(eventMsg *);
23     entry void callAtSync();
24     entry [expedited] void setGVT(GVTMsg *);
25     entry [expedited] void reportReduce(UpdateMsg *);
26   };
27
28   /// GVT chare group for estimating GVT
29   group [migratable] GVT {
30     entry GVT(void);
31     entry [expedited] void runGVT(UpdateMsg *);
32     entry [expedited] void computeGVT(UpdateMsg *);
33   };
34 };