BaseLB Class Reference
[Charm++ Load Balancing Framework]

BaseLB is the base class for all LB strategy class. More...

#include <BaseLB.h>

Inheritance diagram for BaseLB:

Inheritance graph
[legend]
Collaboration diagram for BaseLB:

Collaboration graph
[legend]

Public Member Functions

 BaseLB (const CkLBOptions &opt)
 BaseLB (CkMigrateMessage *m)
virtual ~BaseLB ()
void unregister ()
const char * lbName ()
int step ()
virtual void turnOff ()
virtual void turnOn ()
virtual int useMem ()
virtual void pup (PUP::er &p)
virtual void flushStates ()

Protected Attributes

int seqno
const char * lbname
LBDatabasetheLbdb
LDBarrierReceiver receiver
int notifier
int startLbFnHdl

Private Member Functions

void initLB (const CkLBOptions &)

Data Structures

struct  LDStats
struct  ProcStats

Detailed Description

BaseLB is the base class for all LB strategy class.

it does some tracking about how many lb strategies are created. it also defines some common functions.

Definition at line 29 of file BaseLB.h.


Constructor & Destructor Documentation

BaseLB::BaseLB ( const CkLBOptions opt  )  [inline]

Definition at line 117 of file BaseLB.h.

References initLB().

BaseLB::BaseLB ( CkMigrateMessage m  )  [inline]

Definition at line 118 of file BaseLB.h.


Member Function Documentation

const char* BaseLB::lbName (  )  [inline]

Definition at line 122 of file BaseLB.h.

References lbname.

Referenced by NborBaseLB::AtSync(), CentralLB::LoadBalance(), HybridBaseLB::Loadbalancing(), HybridBaseLB::ProcessAtSync(), HbmLB::ProcessAtSync(), NborBaseLB::ReceiveStats(), NborBaseLB::ResumeClients(), HybridBaseLB::ResumeClients(), HbmLB::ResumeClients(), and CentralLB::ResumeClients().

int BaseLB::step (  )  [inline]

Reimplemented in WSLB.

Definition at line 123 of file BaseLB.h.

References LBDatabase::step(), and theLbdb.

Referenced by NborBaseLB::AssembleStats(), NborBaseLB::AtSync(), HybridBaseLB::AtSync(), HbmLB::AtSync(), CentralLB::AtSync(), CentralLB::LoadBalance(), CentralLB::MigrationDone(), HybridBaseLB::ProcessAtSync(), HbmLB::ProcessAtSync(), GridMetisLB::QueryBalanceNow(), GridHybridSeedLB::QueryBalanceNow(), GridHybridLB::QueryBalanceNow(), GridCommRefineLB::QueryBalanceNow(), GridCommLB::QueryBalanceNow(), HybridBaseLB::reportLBMem(), HybridBaseLB::reportLBQulity(), HbmLB::reportLBQulity(), NborBaseLB::ResumeClients(), HybridBaseLB::ResumeClients(), HbmLB::ResumeClients(), CentralLB::ResumeClients(), CentralLB::simulationWrite(), and MetisLB::work().

virtual void BaseLB::turnOff (  )  [inline, virtual]

Reimplemented in CentralLB.

Definition at line 124 of file BaseLB.h.

References CmiAbort().

virtual void BaseLB::turnOn (  )  [inline, virtual]

Reimplemented in CentralLB.

Definition at line 125 of file BaseLB.h.

References CmiAbort().

virtual int BaseLB::useMem (  )  [inline, virtual]

Reimplemented in CentralLB, HbmLB, and HybridBaseLB.

Definition at line 126 of file BaseLB.h.


Field Documentation

int BaseLB::seqno [protected]

Definition at line 32 of file BaseLB.h.

Referenced by CentralLB::CheckMigrationComplete(), initLB(), CentralLB::pup(), and pup().

const char* BaseLB::lbname [protected]

Definition at line 33 of file BaseLB.h.

Referenced by BlockLB::BlockLB(), ComboCentLB::ComboCentLB(), Comm1LB::Comm1LB(), CentralLB::createMigrateMsg(), DummyLB::DummyLB(), GreedyAgentLB::GreedyAgentLB(), GreedyLB::GreedyLB(), GridCommLB::GridCommLB(), GridCommRefineLB::GridCommRefineLB(), GridHybridLB::GridHybridLB(), GridHybridSeedLB::GridHybridSeedLB(), GridMetisLB::GridMetisLB(), HbmLB::HbmLB(), HybridBaseLB::HybridBaseLB(), HybridLB::HybridLB(), GreedyCommLB::init(), CentralLB::initLB(), initLB(), lbName(), MetisLB::MetisLB(), NborBaseLB::NborBaseLB(), NeighborCommLB::NeighborCommLB(), NeighborLB::NeighborLB(), NullLB::NullLB(), OrbLB::OrbLB(), PhasebyArrayLB::PhasebyArrayLB(), NullLB::pup(), RandCentLB::RandCentLB(), RecBisectBfLB::RecBisectBfLB(), RefineCommLB::RefineCommLB(), RefineKLB::RefineKLB(), RefineLB::RefineLB(), RefineTopoLB::RefineTopoLB(), RotateLB::RotateLB(), CentralLB::simulationRead(), TopoCentLB::TopoCentLB(), TopoLB::TopoLB(), and WSLB::WSLB().

LBDatabase* BaseLB::theLbdb [protected]

Definition at line 34 of file BaseLB.h.

Referenced by WSLB::AssembleStats(), NborBaseLB::AssembleStats(), HybridBaseLB::AssembleStats(), CentralLB::BuildStatsMsg(), CentralLB::CheckMigrationComplete(), ComboCentLB::ComboCentLB(), flushStates(), HbmLB::HbmLB(), HybridBaseLB::HybridBaseLB(), NullLB::init(), CentralLB::initLB(), initLB(), NborBaseLB::MigrationDone(), HybridBaseLB::MigrationDone(), HbmLB::MigrationDone(), CentralLB::MigrationDone(), NullLB::migrationsDone(), NborBaseLB::NborBaseLB(), PhasebyArrayLB::PhasebyArrayLB(), HbmLB::ProcessAtSync(), CentralLB::ProcessAtSync(), HybridBaseLB::PropagateInfo(), HybridBaseLB::ReceiveMigration(), CentralLB::ReceiveMigration(), WSLB::ReceiveStats(), NborBaseLB::ReceiveStats(), WSLB::ResumeClients(), NborBaseLB::ResumeClients(), HybridBaseLB::ResumeClients(), HbmLB::ResumeClients(), CentralLB::ResumeClients(), CentralLB::SendStats(), step(), CentralLB::turnOff(), CentralLB::turnOn(), unregister(), WSLB::WSLB(), CentralLB::~CentralLB(), HbmLB::~HbmLB(), HybridBaseLB::~HybridBaseLB(), NborBaseLB::~NborBaseLB(), NullLB::~NullLB(), and WSLB::~WSLB().

LDBarrierReceiver BaseLB::receiver [protected]

Definition at line 35 of file BaseLB.h.

Referenced by TopoLB::getHopBytes(), and TopoLB::initDataStructures().

int BaseLB::notifier [protected]

Definition at line 36 of file BaseLB.h.

Referenced by HbmLB::HbmLB(), HybridBaseLB::HybridBaseLB(), CentralLB::initLB(), NborBaseLB::NborBaseLB(), CentralLB::turnOff(), CentralLB::turnOn(), WSLB::WSLB(), CentralLB::~CentralLB(), HbmLB::~HbmLB(), HybridBaseLB::~HybridBaseLB(), NborBaseLB::~NborBaseLB(), and WSLB::~WSLB().

int BaseLB::startLbFnHdl [protected]

Definition at line 37 of file BaseLB.h.

Referenced by CentralLB::initLB(), CentralLB::turnOff(), and CentralLB::turnOn().


The documentation for this class was generated from the following files:
Generated on Sun Jun 29 13:30:02 2008 for Charm++ by  doxygen 1.5.1