PPL Logo

LBDB Class Reference
[Charm++ Load Balancing Framework]

#include <LBDBManager.h>

Collaboration diagram for LBDB:

Collaboration graph
[legend]

Public Member Functions

 LBDB ()
 ~LBDB ()
void SetPeriod (double secs)
double GetPeriod ()
void insert (LBOM *om)
LDOMHandle AddOM (LDOMid _userID, void *_userData, LDCallbacks _callbacks)
LDObjHandle AddObj (LDOMHandle _h, LDObjid _id, void *_userData, CmiBool _migratable)
void UnregisterObj (LDObjHandle _h)
void RegisteringObjects (LDOMHandle _h)
void DoneRegisteringObjects (LDOMHandle _h)
void LocalBarrierOn ()
void LocalBarrierOff ()
LBOMLbOM (LDOMHandle h)
LBObjLbObj (const LDObjHandle &h) const
LBObjLbObjIdx (int h) const
void DumpDatabase (void)
void TurnStatsOn (void)
void TurnStatsOff (void)
CmiBool StatsOn (void) const
void SetupPredictor (LDPredictModelFn on, LDPredictWindowFn onWin, LDPredictFn off, LDPredictModelFn change, void *data)
void TurnPredictorOn (void *model)
void TurnPredictorOn (void *model, int wind)
void TurnPredictorOff (void)
void ChangePredictor (void *model)
void Send (const LDOMHandle &destOM, const LDObjid &destid, unsigned int bytes, int destObjProc)
void MulticastSend (const LDOMHandle &destOM, LDObjid *destids, int ndests, unsigned int bytes, int nMsgs)
int ObjDataCount ()
void GetObjData (LDObjData *data)
int CommDataCount ()
void GetCommData (LDCommData *data)
int Migrate (LDObjHandle h, int dest)
void Migrated (LDObjHandle h, int waitBarrier=1)
int NotifyMigrated (LDMigratedFn fn, void *data)
void TurnOnNotifyMigrated (int handle)
void TurnOffNotifyMigrated (int handle)
void RemoveNotifyMigrated (int handle)
void TurnManualLBOn ()
void TurnManualLBOff ()
int AddStartLBFn (LDStartLBFn fn, void *data)
void TurnOnStartLBFn (int handle)
void TurnOffStartLBFn (int handle)
void RemoveStartLBFn (LDStartLBFn fn)
void StartLB ()
int AddMigrationDoneFn (LDMigrationDoneFn fn, void *data)
void RemoveMigrationDoneFn (LDMigrationDoneFn fn)
void MigrationDone ()
void IdleTime (LBRealType *walltime)
void TotalTime (LBRealType *walltime, LBRealType *cputime)
void BackgroundLoad (LBRealType *walltime, LBRealType *cputime)
void GetTime (LBRealType *total_walltime, LBRealType *total_cputime, LBRealType *idletime, LBRealType *bg_walltime, LBRealType *bg_cputime)
void ClearLoads (void)
void SetRunningObj (const LDObjHandle &_h)
 runningObj records the obj handler index so that load balancer knows if an event(e.g.
const LDObjHandleRunningObj () const
void NoRunningObj ()
CmiBool ObjIsRunning () const
LDBarrierClient AddLocalBarrierClient (LDResumeFn fn, void *data)
void RemoveLocalBarrierClient (LDBarrierClient h)
LDBarrierReceiver AddLocalBarrierReceiver (LDBarrierFn fn, void *data)
void RemoveLocalBarrierReceiver (LDBarrierReceiver h)
void TurnOnBarrierReceiver (LDBarrierReceiver h)
void TurnOffBarrierReceiver (LDBarrierReceiver h)
void AtLocalBarrier (LDBarrierClient h)
void ResumeClients ()
void MeasuredObjTime (double wtime, double ctime)
int useMem ()
int validObjHandle (LDObjHandle h)
int getObjCount ()
const ObjListgetObjs ()

Private Types

typedef CkVec< LBOM * > OMList
typedef CkVec< LBObj * > ObjList
typedef CkVec< MigrateCB * > MigrateCBList
typedef CkVec< StartLBCB * > StartLBCBList
typedef CkVec< MigrationDoneCB * > MigrationDoneCBList

Private Attributes

LBCommTablecommTable
OMList oms
int omCount
int oms_registering
ObjList objs
int objCount
CmiBool statsAreOn
MigrateCBList migrateCBList
MigrationDoneCBList migrationDoneCBList
PredictCBpredictCBFn
CmiBool obj_running
int runningObj
batsyncer batsync
LocalBarrier localBarrier
CmiBool useBarrier
LBMachineUtil machineUtil
double obj_walltime
double obj_cputime
StartLBCBList startLBFnList
int startLBFn_count

Data Structures

class  batsyncer
struct  MigrateCB
struct  MigrationDoneCB
struct  PredictCB
struct  StartLBCB

Detailed Description

Definition at line 70 of file LBDBManager.h.


Member Typedef Documentation

typedef CkVec<LBOM*> LBDB::OMList [private]

Definition at line 255 of file LBDBManager.h.

typedef CkVec<LBObj*> LBDB::ObjList [private]

Definition at line 256 of file LBDBManager.h.

typedef CkVec<MigrateCB*> LBDB::MigrateCBList [private]

Definition at line 257 of file LBDBManager.h.

typedef CkVec<StartLBCB*> LBDB::StartLBCBList [private]

Definition at line 258 of file LBDBManager.h.

Definition at line 259 of file LBDBManager.h.


Constructor & Destructor Documentation

LBDB::~LBDB (  )  [inline]

Definition at line 73 of file LBDBManager.h.


Member Function Documentation

void LBDB::SetPeriod ( double  secs  )  [inline]

Definition at line 75 of file LBDBManager.h.

References batsync, and LBDB::batsyncer::setPeriod().

Referenced by LDSetLBPeriod().

double LBDB::GetPeriod (  )  [inline]

Definition at line 76 of file LBDBManager.h.

References batsync, and LBDB::batsyncer::getPeriod().

Referenced by LDGetLBPeriod().

void LBDB::insert ( LBOM om  ) 

void LBDB::LocalBarrierOn ( void   )  [inline]

Definition at line 88 of file LBDBManager.h.

References localBarrier, and LocalBarrier::TurnOn().

Referenced by LDLocalBarrierOn().

void LBDB::LocalBarrierOff ( void   )  [inline]

Definition at line 90 of file LBDBManager.h.

References localBarrier, and LocalBarrier::TurnOff().

Referenced by LDLocalBarrierOff().

LBOM* LBDB::LbOM ( LDOMHandle  h  )  [inline]

Definition at line 93 of file LBDBManager.h.

References LDOMHandle::handle, and oms.

Referenced by LDOMUserData().

LBObj* LBDB::LbObj ( const LDObjHandle h  )  const [inline]

LBObj* LBDB::LbObjIdx ( int  h  )  const [inline]

Definition at line 97 of file LBDBManager.h.

References objs.

Referenced by LDGetObjHandle().

void LBDB::TurnStatsOn ( void   )  [inline]

Definition at line 101 of file LBDBManager.h.

References CmiTrue, machineUtil, statsAreOn, and LBMachineUtil::StatsOn().

Referenced by LDCollectStatsOn().

void LBDB::TurnStatsOff ( void   )  [inline]

Definition at line 103 of file LBDBManager.h.

References CmiFalse, machineUtil, statsAreOn, and LBMachineUtil::StatsOff().

Referenced by LDCollectStatsOff().

CmiBool LBDB::StatsOn ( void   )  const [inline]

void LBDB::TurnPredictorOn ( void *  model  )  [inline]

void LBDB::TurnPredictorOn ( void *  model,
int  wind 
) [inline]

Definition at line 113 of file LBDBManager.h.

References CmiPrintf(), LBDB::PredictCB::data, LBDB::PredictCB::onWin, and predictCBFn.

void LBDB::TurnPredictorOff ( void   )  [inline]

Definition at line 117 of file LBDBManager.h.

References CmiPrintf(), LBDB::PredictCB::data, LBDB::PredictCB::off, and predictCBFn.

Referenced by LDTurnPredictorOff().

void LBDB::ChangePredictor ( void *  model  )  [inline]

Definition at line 122 of file LBDBManager.h.

References LBDB::PredictCB::change, CmiPrintf(), LBDB::PredictCB::data, and predictCBFn.

Referenced by LDChangePredictor().

int LBDB::CommDataCount (  )  [inline]

Definition at line 131 of file LBDBManager.h.

References LBCommTable::CommCount(), and commTable.

Referenced by LDGetCommDataSz().

void LBDB::GetCommData ( LDCommData data  )  [inline]

Definition at line 136 of file LBDBManager.h.

References commTable, and LBCommTable::GetCommData().

Referenced by LDGetCommData().

void LBDB::TurnOnNotifyMigrated ( int  handle  )  [inline]

Definition at line 142 of file LBDBManager.h.

References migrateCBList.

void LBDB::TurnOffNotifyMigrated ( int  handle  )  [inline]

Definition at line 144 of file LBDBManager.h.

References migrateCBList.

void LBDB::TurnManualLBOn (  )  [inline]

Definition at line 148 of file LBDBManager.h.

References CmiFalse, and useBarrier.

Referenced by LDTurnManualLBOn().

void LBDB::TurnManualLBOff (  )  [inline]

Definition at line 150 of file LBDBManager.h.

References CmiTrue, and useBarrier.

Referenced by LDTurnManualLBOff().

void LBDB::TurnOnStartLBFn ( int  handle  )  [inline]

Definition at line 154 of file LBDBManager.h.

References startLBFnList.

void LBDB::TurnOffStartLBFn ( int  handle  )  [inline]

Definition at line 156 of file LBDBManager.h.

References startLBFnList.

void LBDB::IdleTime ( LBRealType walltime  )  [inline]

Definition at line 165 of file LBDBManager.h.

References LBMachineUtil::IdleTime(), and machineUtil.

Referenced by BackgroundLoad(), GetTime(), and LDIdleTime().

void LBDB::TotalTime ( LBRealType walltime,
LBRealType cputime 
) [inline]

Definition at line 167 of file LBDBManager.h.

References machineUtil, and LBMachineUtil::TotalTime().

Referenced by BackgroundLoad(), GetTime(), and LDTotalTime().

void LBDB::SetRunningObj ( const LDObjHandle _h  )  [inline]

runningObj records the obj handler index so that load balancer knows if an event(e.g.

Send) is in an entry function or not. An index is enough here because LDObjHandle can be retrieved from objs array. Copying LDObjHandle is expensive.

Definition at line 180 of file LBDBManager.h.

References CmiTrue, LDObjHandle::handle, obj_running, and runningObj.

Referenced by LDObjectStart().

const LDObjHandle& LBDB::RunningObj (  )  const [inline]

void LBDB::NoRunningObj (  )  [inline]

Definition at line 184 of file LBDBManager.h.

References CmiFalse, and obj_running.

Referenced by LDObjectStop().

CmiBool LBDB::ObjIsRunning (  )  const [inline]

Definition at line 186 of file LBDBManager.h.

References obj_running.

Referenced by LDCollectStatsOn(), LDObjectStart(), LDRunningObject(), and LBDatabase::RunningObject().

LDBarrierClient LBDB::AddLocalBarrierClient ( LDResumeFn  fn,
void *  data 
) [inline]

Definition at line 189 of file LBDBManager.h.

References LocalBarrier::AddClient(), and localBarrier.

Referenced by LBDB::batsyncer::init(), and LDAddLocalBarrierClient().

void LBDB::RemoveLocalBarrierClient ( LDBarrierClient  h  )  [inline]

Definition at line 191 of file LBDBManager.h.

References localBarrier, and LocalBarrier::RemoveClient().

Referenced by LDRemoveLocalBarrierClient().

LDBarrierReceiver LBDB::AddLocalBarrierReceiver ( LDBarrierFn  fn,
void *  data 
) [inline]

Definition at line 193 of file LBDBManager.h.

References LocalBarrier::AddReceiver(), and localBarrier.

Referenced by LDAddLocalBarrierReceiver().

void LBDB::RemoveLocalBarrierReceiver ( LDBarrierReceiver  h  )  [inline]

Definition at line 195 of file LBDBManager.h.

References localBarrier, and LocalBarrier::RemoveReceiver().

Referenced by LDRemoveLocalBarrierReceiver().

void LBDB::TurnOnBarrierReceiver ( LDBarrierReceiver  h  )  [inline]

Definition at line 197 of file LBDBManager.h.

References localBarrier, and LocalBarrier::TurnOnReceiver().

void LBDB::TurnOffBarrierReceiver ( LDBarrierReceiver  h  )  [inline]

Definition at line 199 of file LBDBManager.h.

References localBarrier, and LocalBarrier::TurnOffReceiver().

void LBDB::AtLocalBarrier ( LDBarrierClient  h  )  [inline]

Definition at line 201 of file LBDBManager.h.

References LocalBarrier::AtBarrier(), localBarrier, and useBarrier.

Referenced by LBDB::batsyncer::gotoSync(), and LDAtLocalBarrier().

void LBDB::ResumeClients ( void   )  [inline]

Definition at line 203 of file LBDBManager.h.

References localBarrier, and LocalBarrier::ResumeClients().

Referenced by LDResumeClients().

void LBDB::MeasuredObjTime ( double  wtime,
double  ctime 
) [inline]

Definition at line 205 of file LBDBManager.h.

References obj_cputime, obj_walltime, and statsAreOn.

Referenced by LBObj::IncrementTime().

int LBDB::validObjHandle ( LDObjHandle  h  )  [inline]

Definition at line 295 of file LBDBManager.h.

References LDObjHandle::handle, objCount, and objs.

Referenced by CentralLB::ProcessReceiveMigration().

int LBDB::getObjCount (  )  [inline]

Definition at line 308 of file LBDBManager.h.

References objCount.

Referenced by controlPointManager::gotoNextPhase().

const ObjList& LBDB::getObjs (  )  [inline]

Definition at line 309 of file LBDBManager.h.

References objs.

Referenced by controlPointManager::gotoNextPhase().


Field Documentation

Definition at line 261 of file LBDBManager.h.

Referenced by ClearLoads(), CommDataCount(), GetCommData(), LBDB(), MulticastSend(), Send(), and useMem().

OMList LBDB::oms [private]

Definition at line 262 of file LBDBManager.h.

Referenced by AddOM(), DoneRegisteringObjects(), LbOM(), Migrate(), RegisteringObjects(), and useMem().

int LBDB::omCount [private]

Definition at line 263 of file LBDBManager.h.

Referenced by AddOM(), DumpDatabase(), and LBDB().

Definition at line 264 of file LBDBManager.h.

Referenced by DoneRegisteringObjects(), LBDB(), and RegisteringObjects().

ObjList LBDB::objs [private]

int LBDB::objCount [private]

Definition at line 269 of file LBDBManager.h.

Referenced by LBDB(), MeasuredObjTime(), StatsOn(), TurnStatsOff(), and TurnStatsOn().

Definition at line 272 of file LBDBManager.h.

Referenced by AddMigrationDoneFn(), MigrationDone(), and RemoveMigrationDoneFn().

Definition at line 276 of file LBDBManager.h.

Referenced by LBDB(), MulticastSend(), NoRunningObj(), ObjIsRunning(), Send(), and SetRunningObj().

int LBDB::runningObj [private]

Definition at line 277 of file LBDBManager.h.

Referenced by RunningObj(), and SetRunningObj().

Definition at line 279 of file LBDBManager.h.

Referenced by GetPeriod(), LBDB(), and SetPeriod().

Definition at line 282 of file LBDBManager.h.

Referenced by AtLocalBarrier(), TurnManualLBOff(), and TurnManualLBOn().

Definition at line 284 of file LBDBManager.h.

Referenced by ClearLoads(), IdleTime(), TotalTime(), TurnStatsOff(), and TurnStatsOn().

Definition at line 285 of file LBDBManager.h.

Referenced by BackgroundLoad(), ClearLoads(), GetTime(), LBDB(), and MeasuredObjTime().

Definition at line 287 of file LBDBManager.h.

Referenced by BackgroundLoad(), ClearLoads(), GetTime(), LBDB(), and MeasuredObjTime().

Definition at line 291 of file LBDBManager.h.

Referenced by AddStartLBFn(), LBDB(), RemoveStartLBFn(), and StartLB().


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

Generated on Fri May 25 08:03:55 2012 for Charm++ by  doxygen 1.5.5