PPL Logo

CentralLB Class Reference
[Charm++ Load Balancing Framework]

#include <CentralLB.h>

Inheritance diagram for CentralLB:

Inheritance graph
[legend]
Collaboration diagram for CentralLB:

Collaboration graph
[legend]

Public Member Functions

 CentralLB (const CkLBOptions &opt)
 CentralLB (CkMigrateMessage *m)
float getTemp (int)
virtual ~CentralLB ()
void pup (PUP::er &p)
void turnOn ()
void turnOff ()
void SetPESpeed (int)
int GetPESpeed ()
void setConcurrent (bool c)
void AtSync (void)
void ProcessAtSync (void)
void SendStats ()
void ReceiveCounts (int *counts, int n)
void ReceiveStats (CkMarshalledCLBStatsMessage &&msg)
void ReceiveStatsViaTree (CkMarshalledCLBStatsMessage &&msg)
 added by Abhinav for receiving msgs via spanning tree
void ReceiveStatsFromRoot (CkMarshalledCLBStatsMessage &&msg)
void depositData (CLBStatsMsg *m)
void LoadBalance (void)
void t_LoadBalance (void)
void ApplyDecision (void)
void ResumeClients (int)
void ResumeClients ()
void InitiateScatter (LBMigrateMsg *msg)
void ScatterMigrationResults (LBScatterMsg *)
void ReceiveMigration (LBScatterMsg *)
void ReceiveMigration (LBMigrateMsg *)
void ProcessMigrationDecision ()
void ProcessReceiveMigration ()
void ReceiveDummyMigration (int _step)
void MissMigrate (int waitForBarrier)
void CheckForRealloc ()
void ResumeFromReallocCheckpoint ()
void MigrationDoneImpl (int)
void WillIbekilled (std::vector< char > avail, int)
void StartCleanup ()
void StartLB ()
void Migrated (int waitBarrier=1)
void MigrationDone (int balancing)
void CheckMigrationComplete ()
void FuturePredictor (LDStats *stats)
void predictorOn (LBPredictorFunction *pred)
void predictorOn (LBPredictorFunction *pred, int window_size)
void predictorOff ()
void changePredictor (LBPredictorFunction *new_predictor)
LBMigrateMsgcallStrategy (LDStats *stats, int count)
void readStatsMsgs (const char *filename)
void writeStatsMsgs (const char *filename)
void removeCommDataOfDeletedObjs (LDStats *stats)
void preprocess (LDStats *stats)
virtual LBMigrateMsgStrategy (LDStats *stats)
virtual void work (LDStats *stats)
virtual void changeFreq (int n)
virtual LBMigrateMsgcreateMigrateMsg (LDStats *stats)
virtual LBMigrateMsgextractMigrateMsg (LBMigrateMsg *m, int p)
virtual LBMigrateMsgStrategy (LDStats *stats, int nprocs)
int useMem ()
void endMigrationDone (int balancing)

Static Public Member Functions

static void staticAtSync (void *)
static void staticPredictorOn (void *data, void *model)
static void staticPredictorOnWin (void *data, void *model, int wind)
static void staticPredictorOff (void *data)
static void staticChangePredictor (void *data, void *model)
static void staticStartLB (void *data)
static void staticMigrated (void *me, LDObjHandle h, int waitBarrier=1)

Data Fields

CkMarshalledCLBStatsMessage bufMsg
SpanningTree st
FILE * logFD
int physicalCoresPerNode
int logicalCoresPerNode
int numSockets
int logicalCoresPerChip
int cur_ld_balancer
int savedBalancing
int lbDecisionCount
int resumeCount

Protected Member Functions

virtual bool QueryBalanceNow (int)
virtual bool QueryDumpData ()
virtual void LoadbalanceDone (int balancing)
void simulationRead ()
void simulationWrite ()
void findSimResults (LDStats *stats, int count, LBMigrateMsg *msg, LBSimulation *simResults)
void removeNonMigratable (LDStats *statsDataList, int count)
void loadbalance_with_thread ()

Protected Attributes

bool concurrent

Private Member Functions

void initLB (const CkLBOptions &)
void BuildStatsMsg ()
void buildStats ()
void printStrategyStats (LBMigrateMsg *msg)

Private Attributes

CLBStatsMsgstatsMsg
int count_msgs
int myspeed
int stats_msg_count
CLBStatsMsg ** statsMsgsList
LDStats * statsData
int migrates_completed
int migrates_expected
int future_migrates_completed
int future_migrates_expected
int lbdone
double start_lb_time
double strat_start_time
LBMigrateMsgstoredMigrateMsg
LBScatterMsgstoredScatterMsg
bool reduction_started
bool use_thread
FutureModelpredicted_model

Data Structures

struct  FutureModel

Detailed Description

Definition at line 64 of file CentralLB.h.


Constructor & Destructor Documentation

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

Definition at line 73 of file CentralLB.h.

References initLB(), lbDecisionCount, manager_init(), and resumeCount.

Here is the call graph for this function:

CentralLB::CentralLB ( CkMigrateMessage m  )  [inline]

Definition at line 81 of file CentralLB.h.

References manager_init().

Here is the call graph for this function:


Member Function Documentation

void CentralLB::setConcurrent ( bool  c  )  [inline]

Definition at line 103 of file CentralLB.h.

References concurrent.

void CentralLB::StartLB (  )  [inline]

Definition at line 147 of file CentralLB.h.

Referenced by CreateLBFunc_Def().

Here is the caller graph for this function:

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

Referenced by initLB(), and ~CentralLB().

Here is the caller graph for this function:

void CentralLB::FuturePredictor ( LDStats *  stats  ) 

Referenced by preprocess().

Here is the caller graph for this function:

void CentralLB::predictorOn ( LBPredictorFunction pred  )  [inline]

Definition at line 208 of file CentralLB.h.

References _lb_predict_window.

Referenced by staticPredictorOn(), and staticPredictorOnWin().

Here is the caller graph for this function:

void CentralLB::predictorOn ( LBPredictorFunction pred,
int  window_size 
) [inline]

Definition at line 211 of file CentralLB.h.

References _lb_predict, _lb_predict_window, and predicted_model.

void CentralLB::predictorOff (  )  [inline]

Definition at line 224 of file CentralLB.h.

References _lb_predict, and predicted_model.

Referenced by staticPredictorOff().

Here is the caller graph for this function:

void CentralLB::changePredictor ( LBPredictorFunction new_predictor  )  [inline]

Definition at line 233 of file CentralLB.h.

References CentralLB::FutureModel::changePredictor(), and predicted_model.

Referenced by staticChangePredictor().

Here is the call graph for this function:

Here is the caller graph for this function:

LBMigrateMsg* CentralLB::callStrategy ( LDStats *  stats,
int  count 
) [inline]

Definition at line 241 of file CentralLB.h.

References Strategy().

Here is the call graph for this function:

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

Definition at line 259 of file CentralLB.h.

References Strategy().

Here is the call graph for this function:

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

Definition at line 264 of file CentralLB.h.

Referenced by AtSync().

Here is the caller graph for this function:

virtual bool CentralLB::QueryDumpData (  )  [inline, protected, virtual]

Definition at line 265 of file CentralLB.h.

virtual void CentralLB::LoadbalanceDone ( int  balancing  )  [inline, protected, virtual]

Definition at line 266 of file CentralLB.h.

Referenced by MigrationDoneImpl().

Here is the caller graph for this function:

void CentralLB::loadbalance_with_thread (  )  [inline, protected]

Definition at line 273 of file CentralLB.h.

References use_thread.


Field Documentation

Definition at line 67 of file CentralLB.h.

Referenced by BuildStatsMsg(), initLB(), pup(), and SendStats().

Definition at line 68 of file CentralLB.h.

Referenced by initLB(), and ReceiveStatsViaTree().

Definition at line 71 of file CentralLB.h.

Referenced by ReceiveStatsViaTree().

Definition at line 72 of file CentralLB.h.

Referenced by ReceiveStatsViaTree().

Definition at line 88 of file CentralLB.h.

Definition at line 89 of file CentralLB.h.

Referenced by BuildStatsMsg(), changeFreq(), and initLB().

Definition at line 90 of file CentralLB.h.

Referenced by BuildStatsMsg(), and initLB().

Definition at line 90 of file CentralLB.h.

Referenced by initLB().

Definition at line 91 of file CentralLB.h.

Referenced by initLB().

Definition at line 277 of file CentralLB.h.

Referenced by BuildStatsMsg(), GetPESpeed(), initLB(), and SetPESpeed().

Definition at line 279 of file CentralLB.h.

Referenced by buildStats(), initLB(), LoadBalance(), readStatsMsgs(), ReceiveStats(), and ~CentralLB().

LDStats* CentralLB::statsData [private]

Definition at line 283 of file CentralLB.h.

Referenced by CheckMigrationComplete(), initLB(), Migrated(), and ResumeClients().

Definition at line 285 of file CentralLB.h.

Referenced by CheckMigrationComplete(), and initLB().

double CentralLB::start_lb_time [private]

Definition at line 286 of file CentralLB.h.

Referenced by CheckForRealloc(), CheckMigrationComplete(), LoadBalance(), and ProcessAtSync().

double CentralLB::strat_start_time [private]

Definition at line 287 of file CentralLB.h.

Referenced by printStrategyStats(), ReceiveMigration(), and Strategy().

Definition at line 289 of file CentralLB.h.

Referenced by ProcessMigrationDecision(), and ReceiveMigration().

Definition at line 290 of file CentralLB.h.

Referenced by initLB(), ProcessAtSync(), pup(), and SendStats().

Definition at line 291 of file CentralLB.h.

Referenced by initLB(), loadbalance_with_thread(), pup(), and ReceiveStats().

Definition at line 293 of file CentralLB.h.

Referenced by changePredictor(), initLB(), predictorOff(), and predictorOn().

Definition at line 302 of file CentralLB.h.

Referenced by MigrationDoneImpl(), and resumeCentralLbAfterChkpt().

Definition at line 304 of file CentralLB.h.

Referenced by ApplyDecision(), CentralLB(), ProcessReceiveMigration(), and pup().

Definition at line 304 of file CentralLB.h.

Referenced by CentralLB(), pup(), and ResumeClients().


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

Generated on Mon Sep 21 08:18:31 2020 for Charm++ by  doxygen 1.5.5