#include <ldbal.h>
Public Member Functions | |
LBgroup (void) | |
LBgroup (CkMigrateMessage *) | |
int | computeObjectLoad (POSE_TimeType ovt, POSE_TimeType eet, double rbOh, int sync, POSE_TimeType gvt) |
int | computePeLoad () |
int | findHeaviestUnder (int loadDiff, int prioLoad, int **mvObjs, int pe, int *contrib) |
int | objRegister (int arrayIdx, int sync, sim *myPtr) |
void | objRemove (int arrayIdx) |
void | objUpdate (int ldIdx, POSE_TimeType ovt, POSE_TimeType eet, int ne, double rbOh, int *srVec) |
void | calculateLocalLoad (void) |
void | balance (BalanceSpecs *) |
Private Attributes | |
localStat * | localStats |
int | reportTo |
int | peLoad |
int | busy |
lbObjects | objs |
Definition at line 27 of file ldbal.h.
LBgroup::LBgroup | ( | void | ) |
Definition at line 7 of file ldbal.C.
References busy, CkLocalBranch(), localStats, pose_config, reportTo, POSE_Config::stats, and theLocalStats.
LBgroup::LBgroup | ( | CkMigrateMessage * | ) | [inline] |
int LBgroup::computeObjectLoad | ( | POSE_TimeType | ovt, | |
POSE_TimeType | eet, | |||
double | rbOh, | |||
int | sync, | |||
POSE_TimeType | gvt | |||
) |
Definition at line 17 of file ldbal.C.
References offset, pose_config, and POSE_Config::spec_window.
Referenced by computePeLoad().
int LBgroup::computePeLoad | ( | ) |
Definition at line 28 of file ldbal.C.
References CkLocalBranch(), computeObjectLoad(), lbObjectNode::eet, lbObjectNode::execPrio, PVT::getGVT(), lbObjects::numSpaces, lbObjects::objs, objs, lbObjectNode::ovt, peLoad, lbObjectNode::present, lbObjectNode::rbOh, lbObjectNode::sync, and ThePVT.
Referenced by calculateLocalLoad().
Definition at line 43 of file ldbal.C.
References lbObjectNode::execPrio, lbObjects::numSpaces, lbObjects::objs, objs, and lbObjectNode::present.
Referenced by balance().
Definition at line 71 of file ldbal.C.
References Converse::CkMyPe(), lbObjects::Insert(), and objs.
Referenced by sim::pup().
void LBgroup::objRemove | ( | int | arrayIdx | ) |
Definition at line 77 of file ldbal.C.
References Converse::CkMyPe(), lbObjects::Delete(), idx, and objs.
Referenced by sim::~sim().
void LBgroup::objUpdate | ( | int | ldIdx, | |
POSE_TimeType | ovt, | |||
POSE_TimeType | eet, | |||
int | ne, | |||
double | rbOh, | |||
int * | srVec | |||
) |
Definition at line 83 of file ldbal.C.
References Converse::CkMyPe(), idx, objs, and lbObjects::UpdateEntry().
Referenced by sim::ReportLBdata().
void LBgroup::calculateLocalLoad | ( | void | ) |
Definition at line 91 of file ldbal.C.
References busy, Converse::CkMyPe(), Converse::CkNumPes(), computePeLoad(), localStats, objs, LoadReport::PE, LoadReport::peLoad, pose_config, reportTo, lbObjects::RequestReport(), lbObjects::ResetComm(), POSE_Config::stats, TheLBG, TheLBstrategy, localStat::TimerStart(), and localStat::TimerStop().
void LBgroup::balance | ( | BalanceSpecs * | bs | ) |
Definition at line 128 of file ldbal.C.
References BalanceSpecs::avgLoad, busy, CkFreeMsg(), Converse::CkMyPe(), Converse::CkNumPes(), lbObjectNode::comm, destMsg::destPE, balanceData::endPEidx, findHeaviestUnder(), lbObjectNode::index, BalanceSpecs::indexArray, POSE_Config::lb_diff, POSE_Config::lb_threshold, lbObjectNode::localComm, localStats, malloc(), lbObjectNode::maxComm, lbObjectNode::maxCommPE, lbObjects::numSpaces, lbObjects::objs, objs, balanceData::PE, peLoad, balanceData::peLoad, pose_config, POSE_Objects, lbObjectNode::present, lbObjectNode::remoteComm, BalanceSpecs::sortArray, balanceData::startPEidx, POSE_Config::stats, localStat::TimerStart(), and localStat::TimerStop().
localStat* LBgroup::localStats [private] |
Definition at line 31 of file ldbal.h.
Referenced by balance(), calculateLocalLoad(), and LBgroup().
int LBgroup::reportTo [private] |
int LBgroup::peLoad [private] |
int LBgroup::busy [private] |
Definition at line 33 of file ldbal.h.
Referenced by balance(), calculateLocalLoad(), and LBgroup().
lbObjects LBgroup::objs [private] |
Definition at line 34 of file ldbal.h.
Referenced by balance(), calculateLocalLoad(), computePeLoad(), findHeaviestUnder(), objRegister(), objRemove(), and objUpdate().