PPL Logo

DistBaseLB Class Reference

#include <DistBaseLB.h>

Inheritance diagram for DistBaseLB:

Inheritance graph
[legend]
Collaboration diagram for DistBaseLB:

Collaboration graph
[legend]

Public Member Functions

 DistBaseLB (const CkLBOptions &)
 DistBaseLB (CkMigrateMessage *m)
 ~DistBaseLB ()
void AtSync (void)
void barrierDone ()
void ProcessAtSync ()
void LoadBalance ()
void ResumeClients ()
void ResumeClients (int balancing)
void Migrated (LDObjHandle h, int waitBarrier)

Static Public Member Functions

static void staticAtSync (void *)
static void staticStartLB (void *)
static void staticMigrated (void *me, LDObjHandle h, int waitBarrier)

Protected Member Functions

virtual void Strategy (const LDStats *const myStats)
void ProcessMigrationDecision (LBMigrateMsg *migrateMsg)

Protected Attributes

LDStats myStats
int migrates_expected

Private Member Functions

void AssembleStats ()
void MigrationDone (int balancing)

Private Attributes

bool lb_started
double start_lb_time
double strat_start_time
double strat_end_time
int migrates_completed
LBMigrateMsg ** mig_msgs

Data Structures

struct  LDStats

Detailed Description

Definition at line 19 of file DistBaseLB.h.


Constructor & Destructor Documentation

DistBaseLB::DistBaseLB ( const CkLBOptions opt  ) 

DistBaseLB::DistBaseLB ( CkMigrateMessage m  )  [inline]

Definition at line 22 of file DistBaseLB.h.

DistBaseLB::~DistBaseLB (  ) 

Definition at line 68 of file DistBaseLB.C.

References _lbdb, mig_msgs, and staticStartLB().

Here is the call graph for this function:


Member Function Documentation

void DistBaseLB::staticAtSync ( void *  data  )  [static]

Definition at line 18 of file DistBaseLB.C.

References ProcessAtSync().

Referenced by DistBaseLB().

Here is the call graph for this function:

Here is the caller graph for this function:

void DistBaseLB::AtSync ( void   ) 

Definition at line 82 of file DistBaseLB.C.

References _lb_args, AssembleStats(), Converse::CkMyPe(), Converse::CkNumPes(), CkLBArgs::debug(), lb_started, MigrationDone(), and start_lb_time.

Here is the call graph for this function:

void DistBaseLB::barrierDone (  ) 

Definition at line 28 of file DistBaseLB.C.

Referenced by ProcessAtSync(), and staticStartLB().

Here is the caller graph for this function:

void DistBaseLB::staticStartLB ( void *  data  )  [static]

Definition at line 23 of file DistBaseLB.C.

References barrierDone().

Referenced by DistBaseLB(), and ~DistBaseLB().

Here is the call graph for this function:

Here is the caller graph for this function:

void DistBaseLB::ProcessAtSync ( void   ) 

Definition at line 32 of file DistBaseLB.C.

References barrierDone(), and cb.

Referenced by staticAtSync().

Here is the call graph for this function:

Here is the caller graph for this function:

void DistBaseLB::LoadBalance ( void   ) 

Definition at line 147 of file DistBaseLB.C.

References _lb_args, Converse::CkMyPe(), CmiMemoryUsage(), CkLBArgs::debug(), migrates_completed, migrates_expected, myStats, strat_start_time, and Strategy().

Here is the call graph for this function:

void DistBaseLB::ResumeClients ( void   ) 

Definition at line 222 of file DistBaseLB.C.

Referenced by MigrationDone().

Here is the caller graph for this function:

void DistBaseLB::ResumeClients ( int  balancing  ) 

Definition at line 226 of file DistBaseLB.C.

References _lb_args, Converse::CkMyPe(), CmiMemoryUsage(), CkLBArgs::debug(), and strat_start_time.

Here is the call graph for this function:

void DistBaseLB::staticMigrated ( void *  me,
LDObjHandle  h,
int  waitBarrier 
) [static]

Definition at line 13 of file DistBaseLB.C.

References Migrated().

Referenced by DistBaseLB().

Here is the call graph for this function:

Here is the caller graph for this function:

void DistBaseLB::Migrated ( LDObjHandle  h,
int  waitBarrier 
)

Definition at line 162 of file DistBaseLB.C.

References lb_started, migrates_completed, migrates_expected, and MigrationDone().

Referenced by staticMigrated().

Here is the call graph for this function:

Here is the caller graph for this function:

void DistBaseLB::Strategy ( const LDStats *const   myStats  )  [protected, virtual]

Definition at line 242 of file DistBaseLB.C.

References Converse::CkNumPes(), msg, LBMigrateMsg::n_moves, and sizes.

Referenced by LoadBalance().

Here is the call graph for this function:

Here is the caller graph for this function:

void DistBaseLB::ProcessMigrationDecision ( LBMigrateMsg migrateMsg  )  [protected]

void DistBaseLB::AssembleStats (  )  [private]

void DistBaseLB::MigrationDone ( int  balancing  )  [private]

Definition at line 204 of file DistBaseLB.C.

References _lb_args, Converse::CkMyPe(), lb_started, ResumeClients(), and CkLBArgs::syncResume().

Referenced by AtSync(), Migrated(), and ProcessMigrationDecision().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

Definition at line 70 of file DistBaseLB.h.

Referenced by AssembleStats(), DistBaseLB(), and LoadBalance().

Definition at line 71 of file DistBaseLB.h.

Referenced by DistBaseLB(), LoadBalance(), Migrated(), and ProcessMigrationDecision().

Definition at line 74 of file DistBaseLB.h.

Referenced by AtSync(), DistBaseLB(), Migrated(), MigrationDone(), and ProcessMigrationDecision().

double DistBaseLB::start_lb_time [private]

Definition at line 75 of file DistBaseLB.h.

Referenced by AtSync().

double DistBaseLB::strat_start_time [private]

Definition at line 76 of file DistBaseLB.h.

Referenced by LoadBalance(), ProcessMigrationDecision(), and ResumeClients().

double DistBaseLB::strat_end_time [private]

Definition at line 77 of file DistBaseLB.h.

Referenced by ProcessMigrationDecision().

Definition at line 79 of file DistBaseLB.h.

Referenced by DistBaseLB(), LoadBalance(), Migrated(), and ProcessMigrationDecision().

Definition at line 80 of file DistBaseLB.h.

Referenced by DistBaseLB(), and ~DistBaseLB().


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

Generated on Mon Sep 21 08:22:35 2020 for Charm++ by  doxygen 1.5.5