PPL Logo

HybridBaseLB Class Reference
[Charm++ Load Balancing Framework]

#include <HybridBaseLB.h>

Inheritance diagram for HybridBaseLB:

Inheritance graph
[legend]
Collaboration diagram for HybridBaseLB:

Collaboration graph
[legend]

Public Member Functions

 HybridBaseLB (const CkLBOptions &)
 HybridBaseLB (CkMigrateMessage *m)
 ~HybridBaseLB ()
void AtSync (void)
void ProcessAtSync (void)
void ReceiveStats (CkMarshalledCLBStatsMessage &&m, int fromlevel)
void ResumeClients (double result)
void ResumeClients (int balancing)
void ReceiveMigration (LBMigrateMsg *)
void ReceiveVectorMigration (LBVectorMigrateMsg *)
virtual void GetObjsToMigrate (int toPe, double load, LDStats *stats, int atlevel, CkVec< LDCommData > &comms, CkVec< LDObjData > &objs)
void CreateMigrationOutObjs (int atlevel, LDStats *stats, int objidx)
void TotalObjMigrated (int count, int level)
void Migrated (LDObjHandle h, int waitBarrier)
void ObjMigrated (LDObjData data, LDCommData *cdata, int n, int level)
void ObjsMigrated (CkVec< LDObjData > &&data, int m, LDCommData *cdata, int n, int level)
void VectorDone (int atlevel)
void MigrationDone (int balancing)
void StatsDone (int level)
void NotifyObjectMigrationDone (int level)
virtual void Loadbalancing (int level)
void StartCollectInfo (DummyMsg *m)
void CollectInfo (Location *loc, int n, int fromlevel)
void PropagateInfo (Location *loc, int n, int fromlevel)
void reportLBQulity (double mload, double mCpuLoad, double totalload, int nmsgs, double bytesentry)
void reportLBMem (double)

Static Public Member Functions

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

Protected Types

enum  StatsStrategy { FULL, SHRINK, SHRINK_NULL }

Protected Member Functions

virtual bool QueryBalanceNow (int)
virtual bool QueryMigrateStep (int)
virtual LBMigrateMsgStrategy (LDStats *stats)
virtual void work (LDStats *stats)
virtual LBMigrateMsgcreateMigrateMsg (LDStats *stats)
LBMigrateMsgcreateMigrateMsg (CkVec< MigrateInfo * > &migrateInfo, int count)
virtual LBVectorMigrateMsgVectorStrategy (LDStats *stats)
void printSummary (LDStats *stats, int count)
void initTree ()
void collectCommData (int objIdx, CkVec< LDCommData > &comm, int atlevel)
virtual LBMigrateMsgStrategy (LDStats *stats, int nprocs)
virtual CLBStatsMsgAssembleStats ()
virtual int useMem ()
int NeighborIndex (int pe, int atlevel)

Protected Attributes

MyHierarchyTreetree
int shrinklevel
CkVec< LevelData * > levelData
int currentLevel
StatsStrategy statsStrategy

Private Member Functions

void FindNeighbors ()
void buildStats (int level)
CLBStatsMsgbuildCombinedLBStatsMessage (int atlevel)
void depositLBStatsMessage (CLBStatsMsg *msg, int atlevel)

Private Attributes

int foundNeighbors
CmiGroup group1
int group1_created
int future_migrates_expected
LBMigrateMsg ** mig_msgs
int mig_msgs_received
int cur_ld_balancer
double start_lb_time
double maxLoad
double maxCpuLoad
double maxCommBytes
int maxCommCount
double totalLoad
double maxMem
CkVec< LocationnewObjs
int vector_n_moves

Data Structures

class  LevelData
struct  MigrationRecord

Detailed Description

Definition at line 295 of file HybridBaseLB.h.


Member Enumeration Documentation

enum HybridBaseLB::StatsStrategy [protected]

Enumerator:
FULL 
SHRINK 
SHRINK_NULL 

Definition at line 440 of file HybridBaseLB.h.


Constructor & Destructor Documentation

HybridBaseLB::HybridBaseLB ( CkMigrateMessage m  )  [inline]

Definition at line 299 of file HybridBaseLB.h.


Member Function Documentation

virtual bool HybridBaseLB::QueryBalanceNow ( int   )  [inline, protected, virtual]

Definition at line 349 of file HybridBaseLB.h.

Referenced by AtSync().

Here is the caller graph for this function:

virtual bool HybridBaseLB::QueryMigrateStep ( int   )  [inline, protected, virtual]

Definition at line 350 of file HybridBaseLB.h.

virtual LBMigrateMsg* HybridBaseLB::Strategy ( LDStats *  stats,
int  nprocs 
) [inline, protected, virtual]

Definition at line 362 of file HybridBaseLB.h.

References Strategy().

Here is the call graph for this function:


Field Documentation

Definition at line 344 of file HybridBaseLB.h.

Referenced by FindNeighbors(), and HybridBaseLB().

Definition at line 345 of file HybridBaseLB.h.

Referenced by initTree(), and Loadbalancing().

Definition at line 346 of file HybridBaseLB.h.

Referenced by HybridBaseLB(), initTree(), and Loadbalancing().

Definition at line 371 of file HybridBaseLB.h.

Definition at line 449 of file HybridBaseLB.h.

Referenced by HybridBaseLB(), and PropagateInfo().

Definition at line 450 of file HybridBaseLB.h.

Definition at line 451 of file HybridBaseLB.h.

Definition at line 452 of file HybridBaseLB.h.

double HybridBaseLB::start_lb_time [private]

Definition at line 453 of file HybridBaseLB.h.

Referenced by Loadbalancing(), ProcessAtSync(), and ResumeClients().

double HybridBaseLB::maxLoad [private]

Definition at line 455 of file HybridBaseLB.h.

Referenced by HybridBaseLB(), MigrationDone(), and reportLBQulity().

double HybridBaseLB::maxCpuLoad [private]

Definition at line 456 of file HybridBaseLB.h.

Referenced by HybridBaseLB(), and reportLBQulity().

double HybridBaseLB::maxCommBytes [private]

Definition at line 457 of file HybridBaseLB.h.

Referenced by HybridBaseLB(), and reportLBQulity().

Definition at line 458 of file HybridBaseLB.h.

Referenced by HybridBaseLB(), and reportLBQulity().

double HybridBaseLB::totalLoad [private]

Definition at line 459 of file HybridBaseLB.h.

Referenced by HybridBaseLB(), printSummary(), and reportLBQulity().

double HybridBaseLB::maxMem [private]

Definition at line 460 of file HybridBaseLB.h.

Referenced by HybridBaseLB(), and reportLBMem().

Definition at line 464 of file HybridBaseLB.h.

Referenced by HybridBaseLB(), TotalObjMigrated(), and VectorDone().


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

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