PPL Logo

GVT Class Reference

GVT chare group for estimating GVT. More...

#include <gvt.h>

Inheritance diagram for GVT:

Inheritance graph
[legend]
Collaboration diagram for GVT:

Collaboration graph
[legend]

Public Member Functions

 GVT (void)
 Basic Constructor.
 GVT (CkMigrateMessage *msg)
 Migration Constructor.
void pup (PUP::er &p)
 PUP routine.
int getGVTIterationCount ()
 ENTRY: return the number of GVT iterations so far.
void sumGVTIterationCounts ()
 ENTRY: Contribute the current GVT iteration count to a summation reduction at the end of the simulation.
void runGVT (UpdateMsg *)
 ENTRY: Run the GVT.
void computeGVT (UpdateMsg *)
 ENTRY: Gathers PVT reports; calculates and broadcasts GVT to PVTs.
void addSR (SRentry **SRs, SRentry *e, POSE_TimeType og, int ne)
 Adds incoming send/recv information to a list.

Data Fields

int gvtIterationCount
 Counts the number of GVT interations.

Private Attributes

localStatlocalStats
POSE_TimeType estGVT
 Latest GVT estimate.
int inactive
 Inactivity status: number of iterations since GVT has changed.
POSE_TimeType inactiveTime
 Time at which GVT last went inactive.
int nextLBstart
 Number of GVT iterations since last LB run.
POSE_TimeType lastEarliest
 Earliest send/recv timestamp in previous GVT invocation.
int lastSends
 Number of sends at lastEarliest.
int lastRecvs
 Number of receives at lastEarliest.
int reportsExpected
 Number of PVT reports expected (1 or 2).
POSE_TimeType optGVT
 optimistic and coservative GVTs
POSE_TimeType conGVT
int done
SRentrySRs
 used to calculate GVT from PVT reports
int startOffset

Detailed Description

GVT chare group for estimating GVT.

Responsibility for GVT estimation shifts between branches after each GVT invocation.

Definition at line 222 of file gvt.h.


Constructor & Destructor Documentation

GVT::GVT ( void   ) 

GVT::GVT ( CkMigrateMessage msg  )  [inline]

Migration Constructor.

Definition at line 260 of file gvt.h.


Member Function Documentation

void GVT::pup ( PUP::er p  )  [virtual]

PUP routine.

Reimplemented from Group.

Definition at line 628 of file gvt.C.

References CkLocalBranch(), conGVT, done, estGVT, gvtIterationCount, inactive, inactiveTime, PUP::er::isUnpacking(), lastEarliest, lastRecvs, lastSends, localStats, nextLBstart, optGVT, SRentry::pup(), reportsExpected, SRs, startOffset, and theLocalStats.

Here is the call graph for this function:

int GVT::getGVTIterationCount (  )  [inline]

ENTRY: return the number of GVT iterations so far.

Definition at line 264 of file gvt.h.

References gvtIterationCount.

Referenced by pvtObjects::StratCalcs().

Here is the caller graph for this function:

void GVT::sumGVTIterationCounts (  )  [inline]

ENTRY: Contribute the current GVT iteration count to a summation reduction at the end of the simulation.

Definition at line 268 of file gvt.h.

References CkReductionMgr::contribute(), gvtIterationCount, POSE_sumGVTIterations(), and CkReduction::sum_int.

Here is the call graph for this function:

void GVT::runGVT ( UpdateMsg m  ) 

ENTRY: Run the GVT.

Updates data fields with info from previous GVT estimation. Fires off PVT calculations on all PVT branches.

Definition at line 669 of file gvt.C.

References Converse::CkMyPe(), estGVT, UpdateMsg::inactive, inactive, UpdateMsg::inactiveTime, inactiveTime, localStats, UpdateMsg::nextLB, nextLBstart, UpdateMsg::optPVT, pose_config, UpdateMsg::runGVTflag, POSE_Config::stats, localStat::TimerStart(), and localStat::TimerStop().

Here is the call graph for this function:

void GVT::computeGVT ( UpdateMsg m  ) 

void GVT::addSR ( SRentry **  SRs,
SRentry e,
POSE_TimeType  og,
int  ne 
)

Adds incoming send/recv information to a list.

Definition at line 869 of file gvt.C.

References SRentry::next, POSE_UnsetTS, SRentry::recvs, SRentry::sends, and SRentry::timestamp.

Referenced by computeGVT().

Here is the caller graph for this function:


Field Documentation

Definition at line 225 of file gvt.h.

Referenced by computeGVT(), GVT(), pup(), and runGVT().

Latest GVT estimate.

Definition at line 228 of file gvt.h.

Referenced by computeGVT(), GVT(), pup(), and runGVT().

int GVT::inactive [private]

Inactivity status: number of iterations since GVT has changed.

Definition at line 230 of file gvt.h.

Referenced by computeGVT(), GVT(), pup(), and runGVT().

Time at which GVT last went inactive.

Definition at line 232 of file gvt.h.

Referenced by computeGVT(), GVT(), pup(), and runGVT().

int GVT::nextLBstart [private]

Number of GVT iterations since last LB run.

Definition at line 234 of file gvt.h.

Referenced by computeGVT(), GVT(), pup(), and runGVT().

Earliest send/recv timestamp in previous GVT invocation.

Definition at line 236 of file gvt.h.

Referenced by GVT(), and pup().

int GVT::lastSends [private]

Number of sends at lastEarliest.

Definition at line 238 of file gvt.h.

Referenced by GVT(), and pup().

int GVT::lastRecvs [private]

Number of receives at lastEarliest.

Definition at line 240 of file gvt.h.

Referenced by GVT(), and pup().

Number of PVT reports expected (1 or 2).

Definition at line 242 of file gvt.h.

Referenced by computeGVT(), GVT(), and pup().

optimistic and coservative GVTs

Definition at line 245 of file gvt.h.

Referenced by computeGVT(), GVT(), and pup().

Definition at line 245 of file gvt.h.

Referenced by computeGVT(), GVT(), and pup().

int GVT::done [private]

Definition at line 246 of file gvt.h.

Referenced by computeGVT(), GVT(), and pup().

SRentry* GVT::SRs [private]

used to calculate GVT from PVT reports

Definition at line 248 of file gvt.h.

Referenced by computeGVT(), GVT(), and pup().

int GVT::startOffset [private]

Definition at line 249 of file gvt.h.

Referenced by computeGVT(), GVT(), and pup().

Counts the number of GVT interations.

Definition at line 255 of file gvt.h.

Referenced by computeGVT(), getGVTIterationCount(), GVT(), pup(), and sumGVTIterationCounts().


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:25:32 2020 for Charm++ by  doxygen 1.5.5