PPL Logo

Charm++ Load Balancing Framework

Collaboration diagram for Charm++ Load Balancing Framework:
NullLB is a place holder load balancer, it does nothing but resume from atSync so that application won't hang in the case where there is no other load balancer around. More...

Data Structures

class  BaseLB
 Base class for all LB strategies. More...
struct  MigrateInfo
 migration decision for an obj. More...
class  LBMigrateMsg
 message contains the migration decision from LB strategies. More...
struct  VectorMigrateInfo
class  LBVectorMigrateMsg
struct  BV_Set
class  LBInfo
class  SpanningTree
 added by Abhinav class for computing the parent and children of a processor More...
class  CentralLB
class  CLBStatsMsg
class  ProcInfo
class  ProcArray
struct  Edge
class  McastSrc
class  McastDest
struct  Vertex
class  ObjGraph
class  heapRecord
class  heapIterator
class  minHeap
class  maxHeap
class  listNode
class  Iterator
class  Set
class  ComboCentLB
class  ProcLoadGreater
class  ObjLoadGreater
class  PeCommInfo
class  ObjPeCommInfo
class  ProcCommGreater
class  CommAwareRefineLB
struct  alloc_struct
class  CommLB
class  ObjectRecord
class  hRecord
class  hIterator
class  ObjectHeap
class  DummyLB
class  InfoRecord
class  computeInfo
class  processorInfo
class  GraphBFTLB
class  GraphPartLB
class  GreedyAgentLB
struct  graph
class  GreedyCommLB
class  GreedyLB
class  MyHmbHierarchyTree
class  HypercubeTree
class  HbmLB
class  MyHierarchyTree
class  TwoLevelTree
class  ThreeLevelTree
class  FourLevelTree
class  KLevelTree
class  HybridBaseLB
class  HybridLB
class  LBCommData
class  LBCommTable
class  LBDBRegistry
class  CkLBArgs
class  CkLBOptions
class  LBDBInit
class  LBPredictorFunction
class  DefaultFunction
class  LBDatabase
class  SystemLoad
struct  LDHandle
struct  _LDOMid
struct  LDOMHandle
struct  _LDObjid
struct  _LDObjKey
struct  LDObjHandle
struct  LDObjData
struct  LDObjStats
struct  _LDCommDesc
struct  LDCommData
struct  LDCallbacks
struct  LDBarrierClient
struct  LDBarrierReceiver
class  LocalBarrier
class  LBDB
class  LBMachineUtil
class  LBObj
class  LBOM
class  LBProfit
 a module which determines if a load balancing cycle is profitable More...
class  MetisLB
class  NborBaseLB
class  NLBStatsMsg
class  NeighborCommLB
class  NeighborLB
class  NullLB
 NullLB is inherited from BaseLB. More...
class  OrbLB
class  PhasebyArrayLB
class  RandCentLB
class  Vertex_helper
 Class to contain additional data about the vertices in object graph. More...
class  BQueue
 Class to handle the boundaries of child partitions. More...
class  RecBipartLB
struct  PartitionRecord
struct  PartitionList
class  RecBisectBfLB
class  RefineCommLB
class  RefineKLB
class  RefineLB
class  Refiner
class  RefinerComm
class  ProcLoadGreaterIndex
class  RefineSwapLB
class  ScotchLB
class  ScotchRefineLB
class  ScotchTopoLB
class  TeamLB
class  TempAwareGreedyLB
class  TreeMatchLB
class  WSLB
class  WSLBStatsMsg
struct  HGRAPH_DATA
class  ZoltanLB
class  LBTopo_smp_n< ppn >
class  LBTopo_torus_nd< dimension >
class  LBTopo_graph_nc< dimension >
class  LBTopoVec
class  LBTopology
class  LBTopo_ring
class  LBTopo_torus2d
class  LBTopo_torus3d
class  LBTopo_mesh3d
class  LBTopo_graph
struct  VertexRecord
struct  Graph

Typedefs

typedef LBMigrateMsg CLBMigrateMsg
 for backward compatibility
typedef LBMigrateMsg CLBMigrateMsg
 for backward compatibility
typedef LBMigrateMsg NLBMigrateMsg
 for backward compatibility
typedef LBMigrateMsg NLBMigrateMsg
 for backward compatibility
typedef void(* LBCreateFn )()
typedef BaseLB *(* LBAllocFn )()
typedef CMK_LBTIME_TYPE LBRealType
typedef void * cvoid
typedef int LDHandle
typedef struct _LDOMid LDOMid
typedef struct _LDObjid LDObjid
typedef struct _LDObjKey LDObjKey
typedef int LDObjIndex
typedef int LDOMIndex
typedef struct _LDCommDesc LDCommDesc
typedef void(* LDMigrateFn )(LDObjHandle handle, int dest)
typedef void(* LDStatsFn )(LDOMHandle h, int state)
typedef void(* LDQueryEstLoadFn )(LDOMHandle h)
typedef void(* LDMigratedFn )(void *data, LDObjHandle handle, int waitBarrier)
typedef void(* LDStartLBFn )(void *user_ptr)
typedef void(* LDMigrationDoneFn )(void *user_ptr)
typedef void(* LDPredictFn )(void *user_ptr)
typedef void(* LDPredictModelFn )(void *user_ptr, void *model)
typedef void(* LDPredictWindowFn )(void *user_ptr, void *model, int wind)
typedef void(* LDBarrierFn )(void *user_ptr)
typedef void(* LDResumeFn )(void *user_ptr)
typedef LBMigrateMsg NLBMigrateMsg
 for backward compatibility
typedef CkQ< intIntQueue
typedef LBTopo_smp_n< 1 > LBTopo_smp_n_1
typedef LBTopo_smp_n< 2 > LBTopo_smp_n_2
typedef LBTopo_smp_n< 3 > LBTopo_smp_n_3
typedef LBTopo_smp_n< 4 > LBTopo_smp_n_4
typedef LBTopo_smp_n< 5 > LBTopo_smp_n_5
typedef LBTopo_smp_n< 6 > LBTopo_smp_n_6
typedef LBTopo_smp_n< 7 > LBTopo_smp_n_7
typedef LBTopo_smp_n< 8 > LBTopo_smp_n_8
typedef LBTopo_smp_n< 9 > LBTopo_smp_n_9
typedef LBTopo_smp_n< 10 > LBTopo_smp_n_10
typedef LBTopo_torus_nd< 1 > LBTopo_torus_nd_1
typedef LBTopo_torus_nd< 2 > LBTopo_torus_nd_2
typedef LBTopo_torus_nd< 3 > LBTopo_torus_nd_3
typedef LBTopo_torus_nd< 4 > LBTopo_torus_nd_4
typedef LBTopo_torus_nd< 5 > LBTopo_torus_nd_5
typedef LBTopo_torus_nd< 6 > LBTopo_torus_nd_6
typedef LBTopo_torus_nd< 7 > LBTopo_torus_nd_7
typedef LBTopo_torus_nd< 8 > LBTopo_torus_nd_8
typedef LBTopo_torus_nd< 9 > LBTopo_torus_nd_9
typedef LBTopo_torus_nd< 10 > LBTopo_torus_nd_10
typedef LBTopo_torus_nd_smp< 1 > LBTopo_torus_nd_smp_1
typedef LBTopo_torus_nd_smp< 2 > LBTopo_torus_nd_smp_2
typedef LBTopo_torus_nd_smp< 3 > LBTopo_torus_nd_smp_3
typedef LBTopo_torus_nd_smp< 4 > LBTopo_torus_nd_smp_4
typedef LBTopo_torus_nd_smp< 5 > LBTopo_torus_nd_smp_5
typedef LBTopo_torus_nd_smp< 6 > LBTopo_torus_nd_smp_6
typedef LBTopo_torus_nd_smp< 7 > LBTopo_torus_nd_smp_7
typedef LBTopo_torus_nd_smp< 8 > LBTopo_torus_nd_smp_8
typedef LBTopo_torus_nd_smp< 9 > LBTopo_torus_nd_smp_9
typedef LBTopo_torus_nd_smp< 10 > LBTopo_torus_nd_smp_10
typedef LBTopo_itorus_nd< 1 > LBTopo_itorus_nd_1
typedef LBTopo_itorus_nd< 2 > LBTopo_itorus_nd_2
typedef LBTopo_itorus_nd< 3 > LBTopo_itorus_nd_3
typedef LBTopo_itorus_nd< 4 > LBTopo_itorus_nd_4
typedef LBTopo_itorus_nd< 5 > LBTopo_itorus_nd_5
typedef LBTopo_itorus_nd< 6 > LBTopo_itorus_nd_6
typedef LBTopo_itorus_nd< 7 > LBTopo_itorus_nd_7
typedef LBTopo_imesh_nd< 1 > LBTopo_imesh_nd_1
typedef LBTopo_imesh_nd< 2 > LBTopo_imesh_nd_2
typedef LBTopo_imesh_nd< 3 > LBTopo_imesh_nd_3
typedef LBTopo_imesh_nd< 4 > LBTopo_imesh_nd_4
typedef LBTopo_imesh_nd< 5 > LBTopo_imesh_nd_5
typedef LBTopo_imesh_nd< 6 > LBTopo_imesh_nd_6
typedef LBTopo_imesh_nd< 7 > LBTopo_imesh_nd_7
typedef LBTopo_graph_nc< 2 > LBTopo_graph_nc_2
typedef LBTopo_graph_nc< 3 > LBTopo_graph_nc_3
typedef LBTopo_graph_nc< 4 > LBTopo_graph_nc_4
typedef LBTopo_graph_nc< 5 > LBTopo_graph_nc_5
typedef LBTopo_graph_nc< 6 > LBTopo_graph_nc_6
typedef LBTopo_graph_nc< 7 > LBTopo_graph_nc_7
typedef LBTopo_graph_nc< 8 > LBTopo_graph_nc_8
typedef LBTopo_graph_nc< 9 > LBTopo_graph_nc_9
typedef LBTopo_graph_nc< 10 > LBTopo_graph_nc_10
typedef LBTopo_graph_nc< 20 > LBTopo_graph_nc_20
typedef LBTopo_karytree< 2 > LBTopo_2_arytree
typedef LBTopo_karytree< 3 > LBTopo_3_arytree
typedef LBTopo_karytree< 4 > LBTopo_4_arytree
typedef LBTopo_karytree< 128 > LBTopo_128_arytree
typedef LBTopo_karytree< 512 > LBTopo_512_arytree
typedef LBTopology *(* LBtopoFn )(int)

Functions

static int i_abs (int c)
static int ObjKey (const LDObjid &oid, const int hashSize)
static unsigned int primeLargerThan (unsigned int x)
BV_SetmakeSet (int *list, int size, int max)
BV_SetmakeEmptySet (int max)
void destroySet (BV_Set *set)
void bvset_insert (BV_Set *s, int value)
int bvset_find (BV_Set *s, int value)
int bvset_size (BV_Set *s)
void bvset_enumerate (BV_Set *s, int **list, int *size)
void getGlobalStep (CkGroupID)
void initMlogLBStep (CkGroupID)
 This is the first time Converse is called after AtSync method has been called by every local object.
void sendDummyMigrationCounts (int *)
 this method is used by a restarted processor to tell other processors that they are not going to receive these many objects.
 CpvExtern (void *, CkGridObject)
 CreateLBFunc_Def (CentralLB,"CentralLB base class")
static int isMigratable (LDObjData **objData, int *len, int count, const LDCommData &commData)
void resumeCentralLbAfterChkpt (void *_lb)
void getPredictedLoadWithMsg (BaseLB::LDStats *stats, int count, LBMigrateMsg *msg, LBInfo &info, int considerComm)
void CreateCentralLB ()
void getLoadInfo (BaseLB::LDStats *stats, int count, LBInfo &info, int considerComm)
void gaussj (double **a, double *b, int n)
void Marquardt_coefficients (double *x, double *y, double *param, double **alpha, double *beta, double &chisq, LBPredictorFunction *predict)
bool Marquardt_solver (CentralLB::FutureModel *mod, int object)
LBAllocFn getLBAllocFn (char *lbname)
 CreateLBFunc_Def (ComboCentLB,"Allow multiple strategies to work serially")
void CreateComboCentLB ()
void eraseObjFromParrObjs (std::vector< int > &parr_objs, int remove_objid)
void printMapping (std::vector< Vertex > &vertices)
void removeFromArray (int pe_id, std::vector< int > &array)
int popFromProcHeap (std::vector< int > &parr_above_avg, ProcArray *parr)
void handleTransfer (int randomly_obj_id, ProcInfo &p, int possible_pe, std::vector< int > *parr_objs, ObjGraph *ogr, ProcArray *parr)
void updateLoadInfo (int p_index, int possible_pe, double upper_threshold, double lower_threshold, std::vector< int > &parr_above_avg, std::vector< int > &parr_below_avg, bool *proc_load_info, ProcArray *parr)
void getPossiblePes (std::vector< int > &possible_pes, int randomly_obj_id, ObjGraph *ogr, ProcArray *parr)
 CreateLBFunc_Def (CommAwareRefineLB,"always assign the heaviest obj onto lightest loaded processor.")
void PrintProcLoad (ProcArray *parr)
void PrintProcObj (ProcArray *parr, std::vector< int > *parr_objs)
void CreateCommAwareRefineLB ()
BaseLBAllocateCommAwareRefineLB ()
 CreateLBFunc_Def (CommLB,"another variation of CommLB")
void init (alloc_struct **a, graph *object_graph, int l, int b)
void CreateCommLB ()
static void CreateNoLB (void)
void initCommonLBs (void)
 CreateLBFunc_Def (DummyLB,"Dummy load balancer, like a normal one but with empty strategy") DummyLB
void CreateDummyLB ()
void initEveryLB (void)
 CreateLBFunc_Def (GraphBFTLB,"Algorithm which does breadth first traversal for communication aware load balancing")
void CreateGraphBFTLB ()
 CreateLBFunc_Def (GraphPartLB,"Algorithm which uses graph partitioning for communication aware load balancing")
void CreateGraphPartLB ()
 CreateLBFunc_Def (GreedyAgentLB,"always assign the heaviest obj onto lightest loaded processor taking into account the topology")
void CreateGreedyAgentLB ()
 CreateLBFunc_Def (GreedyCommLB,"Greedy algorithm which takes communication graph into account")
static void init_data (int *assign, graph *object_graph, int l, int b)
void CreateGreedyCommLB ()
BaseLBAllocateGreedyCommLB ()
 CreateLBFunc_Def (GreedyLB,"always assign the heaviest obj onto lightest loaded processor.")
void CreateGreedyLB ()
BaseLBAllocateGreedyLB ()
 CreateLBFunc_Def (HbmLB,"HybridBase load balancer")
double myabs (double x)
double mymax (double x, double y)
void CreateHbmLB ()
 CreateLBFunc_Def (HybridBaseLB,"HybridBase load balancer")
LBVectorMigrateMsgVectorStrategy (BaseLB::LDStats *stats)
void CreateHybridBaseLB ()
int mymin (int x, int y)
 CreateLBFunc_Def (HybridLB,"Hybrid load balancer")
void CreateHybridLB ()
 CkpvDeclare (int, numLoadBalancers)
 num of lb created
 CkpvDeclare (int, hasNullLB)
 true if NullLB is created
 CkpvDeclare (int, lbdatabaseInited)
 true if lbdatabase is inited
void LBDefaultCreate (const char *lbname)
void LBRegisterBalancer (const char *name, LBCreateFn fn, LBAllocFn afn, const char *help, int shown)
static void createLoadBalancer (const char *lbname)
void _loadbalancerInit ()
void TurnManualLBOn ()
void TurnManualLBOff ()
void LBTurnInstrumentOn ()
void LBTurnInstrumentOff ()
void LBClearLoads ()
void LBTurnPredictorOn (LBPredictorFunction *model)
void LBTurnPredictorOn (LBPredictorFunction *model, int wind)
void LBTurnPredictorOff ()
void LBChangePredictor (LBPredictorFunction *model)
void LBSetPeriod (double second)
 PUPbytes (CkLBOptions) extern CkGroupID _lbdb
 CkpvExtern (int, numLoadBalancers)
 CkpvExtern (int, hasNullLB)
 CkpvExtern (int, lbdatabaseInited)
void LBDefaultCreate (LBCreateFn f)
void _LBDBInit ()
LBDatabaseLBDatabaseObj ()
void get_avail_vector (char *bitmap)
void set_avail_vector (char *bitmap)
LDHandle LDCreate (void)
LDOMHandle LDRegisterOM (LDHandle _db, LDOMid _userID, void *_userptr, LDCallbacks _callbacks)
void * LDOMUserData (LDOMHandle &_h)
void LDRegisteringObjects (LDOMHandle _h)
void LDDoneRegisteringObjects (LDOMHandle _h)
LDObjHandle LDRegisterObj (LDOMHandle _h, LDObjid _id, void *_userData, int _migratable)
void LDUnregisterObj (LDObjHandle _h)
const LDObjHandleLDGetObjHandle (LDHandle h, int oh)
void LDObjTime (LDObjHandle &_h, LBRealType walltime, LBRealType cputime)
void LDGetObjLoad (LDObjHandle &_h, LBRealType *wallT, LBRealType *cpuT)
void LDQueryKnownObjLoad (LDObjHandle &_h, LBRealType *wallT, LBRealType *cpuT)
void * LDObjUserData (LDObjHandle &_h)
void LDDumpDatabase (LDHandle _db)
void LDNotifyMigrated (LDHandle _db, LDMigratedFn fn, void *data)
void LDAddStartLBFn (LDHandle _db, LDStartLBFn fn, void *data)
void LDRemoveStartLBFn (LDHandle _db, LDStartLBFn fn)
void LDStartLB (LDHandle _db)
void LDTurnManualLBOn (LDHandle _db)
void LDTurnManualLBOff (LDHandle _db)
int LDAddMigrationDoneFn (LDHandle _db, LDMigrationDoneFn fn, void *data)
void LDRemoveMigrationDoneFn (LDHandle _db, LDMigrationDoneFn fn)
void LDMigrationDone (LDHandle _db)
void LDTurnPredictorOn (LDHandle _db, void *model)
void LDTurnPredictorOnWin (LDHandle _db, void *model, int wind)
void LDTurnPredictorOff (LDHandle _db)
void LDChangePredictor (LDHandle _db, void *model)
void LDCollectStatsOn (LDHandle _db)
void LDCollectStatsOff (LDHandle _db)
int CLDCollectingStats (LDHandle _db)
int CLDRunningObject (LDHandle _h, LDObjHandle *_o)
void LDObjectStart (const LDObjHandle &_h)
void LDObjectStop (const LDObjHandle &_h)
void LDSend (const LDOMHandle &destOM, const LDObjid &destid, unsigned int bytes, int destObjProc, int force)
void LDMulticastSend (const LDOMHandle &destOM, LDObjid *destids, int ndests, unsigned int bytes, int nMsgs)
void LDBackgroundLoad (LDHandle _db, LBRealType *walltime, LBRealType *cputime)
void LDIdleTime (LDHandle _db, LBRealType *walltime)
void LDTotalTime (LDHandle _db, LBRealType *walltime, LBRealType *cputime)
void LDGetTime (LDHandle _db, LBRealType *total_walltime, LBRealType *total_cputime, LBRealType *idletime, LBRealType *bg_walltime, LBRealType *bg_cputime)
void LDNonMigratable (const LDObjHandle &h)
void LDMigratable (const LDObjHandle &h)
void LDAsyncMigrate (const LDObjHandle &h, CmiBool async)
void LDClearLoads (LDHandle _db)
int LDGetObjDataSz (LDHandle _db)
void LDGetObjData (LDHandle _db, LDObjData *data)
int LDGetCommDataSz (LDHandle _db)
void LDGetCommData (LDHandle _db, LDCommData *data)
int LDMigrate (LDObjHandle _h, int dest)
void LDMigrated (LDObjHandle _h, int waitBarrier)
LDBarrierClient LDAddLocalBarrierClient (LDHandle _db, LDResumeFn fn, void *data)
void LDRemoveLocalBarrierClient (LDHandle _db, LDBarrierClient h)
LDBarrierReceiver LDAddLocalBarrierReceiver (LDHandle _db, LDBarrierFn fn, void *data)
void LDRemoveLocalBarrierReceiver (LDHandle _db, LDBarrierReceiver h)
void LDAtLocalBarrier (LDHandle _db, LDBarrierClient h)
void LDLocalBarrierOn (LDHandle _db)
void LDLocalBarrierOff (LDHandle _db)
void LDResumeClients (LDHandle _db)
static void work (int iter_block, int *result)
int LDProcessorSpeed ()
void LDSetLBPeriod (LDHandle _db, double s)
double LDGetLBPeriod (LDHandle _db)
void LDQueryEstLoad (LDHandle bdb)
int LDMemusage (LDHandle _db)
CmiBool LDOMidEqual (const LDOMid &i1, const LDOMid &i2)
CmiBool LDObjIDEqual (const LDObjid &i1, const LDObjid &i2)
CmiBool _LDOMid::operator== (const struct _LDOMid &omId) const
CmiBool _LDOMid::operator< (const struct _LDOMid &omId) const
CmiBool _LDOMid::operator!= (const struct _LDOMid &omId) const
void _LDOMid::pup (PUP::er &p)
void LDOMHandle::pup (PUP::er &p)
CmiBool _LDObjid::operator== (const struct _LDObjid &objid) const
CmiBool _LDObjid::operator< (const struct _LDObjid &objid) const
void _LDObjid::pup (PUP::er &p)
CmiBool _LDObjKey::operator== (const _LDObjKey &obj) const
CmiBool _LDObjKey::operator< (const _LDObjKey &obj) const
LDOMid_LDObjKey::omID ()
LDObjid_LDObjKey::objID ()
const LDOMid_LDObjKey::omID () const
const LDObjid_LDObjKey::objID () const
void _LDObjKey::pup (PUP::er &p)
const LDOMidLDObjHandle::omID () const
const LDObjidLDObjHandle::objID () const
void LDObjHandle::pup (PUP::er &p)
const LDOMHandleLDObjData::omHandle () const
const LDOMidLDObjData::omID () const
const LDObjidLDObjData::objID () const
const LDObjidLDObjData::id () const
void LDObjData::pup (PUP::er &p)
void LDObjStats::pup (PUP::er &p)
char & _LDCommDesc::get_type ()
char _LDCommDesc::get_type () const
int _LDCommDesc::proc () const
void _LDCommDesc::setProc (int pe)
int _LDCommDesc::lastKnown () const
LDObjKey_LDCommDesc::get_destObj ()
LDObjKey const & _LDCommDesc::get_destObj () const
LDObjKey_LDCommDesc::get_destObjs (int &len)
void _LDCommDesc::init_objmsg (LDOMid &omid, LDObjid &objid, int destObjProc)
void _LDCommDesc::init_mcastmsg (LDOMid &omid, LDObjid *objid, int len)
CmiBool _LDCommDesc::operator== (const _LDCommDesc &obj) const
_LDCommDesc_LDCommDesc::operator= (const _LDCommDesc &c)
void _LDCommDesc::pup (PUP::er &p)
int LDCommData::from_proc () const
int LDCommData::recv_type () const
void LDCommData::pup (PUP::er &p)
void LDCommData::clearHash ()
void LBBalance (void *param)
void LBCollectStatsOn (void)
void LBCollectStatsOff (void)
void LDMessage (LDObjHandle from, LDOMid toOM, LDObjid *toID, int bytes)
void LDEstObjLoad (LDObjHandle h, double load)
 PUPbytes (LDHandle) inline void LDOMid
 PUPmarshall (LDOMid) inline void LDObjid
 PUPmarshall (LDObjid) inline void LDObjKey
 PUPmarshall (LDObjKey) inline void LDObjStats
 PUPmarshall (LDObjStats) inline void LDOMHandle
 PUPmarshall (LDOMHandle) inline void LDObjHandle
 PUPmarshall (LDObjHandle) inline void LDObjData
 PUPmarshall (LDObjData) inline CmiBool LDCommDesc
 PUPmarshall (LDCommDesc) inline void LDCommData
static void handler (char *bit_map)
void manager_init (void)
 Cluster Manager Code, Accpets external bit vectors and then feeds it into the loadbalancer so that programs can shrink and expand.
 CreateLBFunc_Def (MetisLB,"Use Metis(tm) to partition object graph")
void CreateMetisLB ()
BaseLBAllocateMetisLB ()
void CreateNborBaseLB ()
 CreateLBFunc_Def (NeighborCommLB,"The neighborhood load balancer with communication")
void CreateNeighborCommLB ()
 CreateLBFunc_Def (NeighborLB,"The neighborhood load balancer")
void CreateNeighborLB ()
void CreateNullLB (void)
static void migrationDone (envelope *env, CkCoreState *ck)
static void lbinit (void)
static void lbprocinit (void)
static void staticStartLB (void *data)
 CreateLBFunc_Def (OrbLB,"partition objects based on coordinates")
void CreateOrbLB ()
BaseLBAllocateOrbLB (void)
 CreateLBFunc_Def (PhasebyArrayLB,"Load balancer which balances many arrays together, specifically for CPAIMD") PhasebyArrayLB
void CreatePhasebyArrayLB ()
 CreateLBFunc_Def (RandCentLB,"Assign objects to processors randomly")
int chooseProc (int count)
void CreateRandCentLB ()
void RecursiveBiPart (ObjGraph *, vector< Vertex * > &, int, int)
void adjustqueues (ObjGraph *, BQueue *, BQueue *, vector< Vertex * > &, vector< Vertex * > &, int *, int)
void adjustgain (ObjGraph *, vector< Vertex * > &, BQueue *)
void RefineBoundary (ObjGraph *, vector< Vertex * > &, vector< Vertex * > &, BQueue *, BQueue *, int, int, int, double, double, double)
int modifypartitions (ObjGraph *, vector< Vertex * > &, vector< Vertex * > &, BQueue *, BQueue *, int, int)
void swapQ1toQ2 (ObjGraph *, BQueue *, BQueue *, int)
VertexremoveinSwap (ObjGraph *, BQueue *, BQueue *, int)
VertexremovePtr (vector< Vertex * > &, int)
 CreateLBFunc_Def (RecBipartLB,"Algorithm for load balacing based on recursive bipartitioning of object graph")
Graphg_initGraph (int v, int e)
 Status: does not support processor avail bitvector does not support nonmigratable attrib.
void g_freeGraph (Graph *g)
void g_nextVertex (Graph *g, int v, float w)
void g_finishVertex (Graph *g)
void g_addEdge (Graph *g, int w, float w2)
float graph_weightof (Graph *g, int vertex)
int g_numNeighbors (Graph *g, int node)
int g_getNeighbor (Graph *g, int d, int i)
void g_printGraph (Graph *g)
 CreateLBFunc_Def (RecBisectBfLB,"Recursive partitioning with Breadth first enumeration")
void CreateRecBisectBfLB ()
BaseLBAllocateRecBisectBfLB ()
 CreateLBFunc_Def (RefineCommLB,"Average load among processors by moving objects away from overloaded processor, communication aware") RefineCommLB
void CreateRefineCommLB ()
BaseLBAllocateRefineCommLB ()
 CreateLBFunc_Def (RefineKLB,"Move objects away from overloaded processor to reach average")
void CreateRefineKLB ()
BaseLBAllocateRefineKLB ()
 CreateLBFunc_Def (RefineLB,"Move objects away from overloaded processor to reach average")
void CreateRefineLB ()
BaseLBAllocateRefineLB ()
 CreateLBFunc_Def (RefineSwapLB,"always assign the heaviest obj onto lightest loaded processor.")
void addObjToProc (ProcArray *parr, ObjGraph *ogr, std::vector< int > *pe_obj, int pe_index, int obj_index)
void removeObjFromProc (ProcArray *parr, ObjGraph *ogr, std::vector< int > *pe_obj, int pe_index, int arr_index)
int getMax (ProcArray *parr, std::vector< int > &max_pe_heap)
bool refine (ProcArray *parr, ObjGraph *ogr, std::vector< int > &max_pe_heap, std::vector< int > &min_pe_heap, std::vector< int > *pe_obj, int max_pe, double avg_load, double threshold)
bool IsSwapPossWithPe (ProcArray *parr, ObjGraph *ogr, std::vector< int > *pe_obj, std::vector< int > &max_pe_heap, std::vector< int > &min_pe_heap, int max_pe, int pe_considered, int pe_cons_iter, double diff, double avg_load, double threshold)
bool refineSwap (ProcArray *parr, ObjGraph *ogr, std::vector< int > &max_pe_heap, std::vector< int > &min_pe_heap, std::vector< int > *pe_obj, int max_pe, double avg_load, double threshold)
void CreateRefineSwapLB ()
BaseLBAllocateRefineSwapLB ()
 CreateLBFunc_Def (ScotchLB,"Load balancing using the Scotch graph partitioning library")
void CreateScotchLB ()
 CreateLBFunc_Def (ScotchRefineLB,"Load balancing using the Scotch graph partitioning library")
void CreateScotchRefineLB ()
 CreateLBFunc_Def (ScotchTopoLB,"Load balancing using the Scotch graph partitioning library")
void CreateScotchTopoLB ()
 CreateLBFunc_Def (TeamLB,"Use Metis(tm) to partition object graph at two levels: team level and processor level")
void CreateTeamLB ()
BaseLBAllocateTeamLB ()
 CreateLBFunc_Def (TempAwareGreedyLB,"always assign the heaviest obj onto lightest loaded processor.")
void CreateTempAwareGreedyLB ()
BaseLBAllocateTempAwareGreedyLB ()
 CreateLBFunc_Def (TreeMatchLB,"TreeMatch load balancer, like a normal one but with empty strategy") TreeMatchLB
doubleget_comm_speed (int *depth)
tm_topology_tbuild_abe_topology (int nb_procs)
void CreateTreeMatchLB ()
 CreateLBFunc_Def (WSLB,"Workstation load balancer")
void CreateWSLB ()
static int get_number_of_vertices (void *data, int *ierr)
static void get_vertex_list (void *data, int sizeGID, int sizeLID, ZOLTAN_ID_PTR globalID, ZOLTAN_ID_PTR localID, int wgt_dim, float *obj_wgts, int *ierr)
static void get_hypergraph_size (void *data, int *num_lists, int *num_nonzeroes, int *format, int *ierr)
static void get_hypergraph (void *data, int sizeGID, int num_edges, int num_nonzeroes, int format, ZOLTAN_ID_PTR edgeGID, int *vtxPtr, ZOLTAN_ID_PTR vtxGID, int *ierr)
static void get_hypergraph_edge_size (void *data, int *num_edges, int *ierr)
static void get_hypergraph_edge_wgts (void *data, int numGID, int numLID, int num_edges, int edge_weight_dim, ZOLTAN_ID_PTR edgeGID, ZOLTAN_ID_PTR edgeLID, float *edge_wgts, int *ierr)
 CreateLBFunc_Def (ZoltanLB,"Use Zoltan(tm) to partition object graph")
void CreateZoltanLB ()
BaseLBAllocateZoltanLB ()
virtual int LBTopo_smp_n::max_neighbors ()
virtual void LBTopo_smp_n::neighbors (int mype, int *_n, int &nb)
int LBTopo_smp_n::get_hop_count (int src, int dest)
 LBTOPO_MACRO (LBTopo_smp_n_1)
 LBTOPO_MACRO (LBTopo_torus2d)
static int checkuniq (int *arr, int nb, int val)
 LBTOPO_MACRO (LBTopo_torus3d)
 LBTOPO_MACRO (LBTopo_mesh3d)
int LBTopo_torus_nd::GetNeighborID (int ProcessorID, int number)
 LBTopo_torus_nd::LBTopo_torus_nd (int p)
 LBTopo_torus_nd::~LBTopo_torus_nd ()
virtual int LBTopo_torus_nd::max_neighbors ()
virtual void LBTopo_torus_nd::neighbors (int mype, int *_n, int &nb)
virtual int LBTopo_torus_nd::get_dimension ()
virtual bool LBTopo_torus_nd::get_processor_coordinates (int processor_id, int *processor_coordinates)
virtual bool LBTopo_torus_nd::get_processor_id (const int *processor_coordinates, int *processor_id)
virtual bool LBTopo_torus_nd::coordinate_difference (const int *my_coordinates, const int *target_coordinates, int *difference)
virtual bool LBTopo_torus_nd::coordinate_difference (int my_processor_id, int target_processor_id, int *difference)
 LBTOPO_MACRO (LBTopo_torus_nd_1)
 LBTOPO_MACRO (LBTopo_torus_nd_smp_1)
 LBTOPO_MACRO (LBTopo_itorus_nd_1)
 LBTOPO_MACRO (LBTopo_imesh_nd_1)
void gengraph (int, int, int, int *, int *, int)
int LBTopo_graph_nc::max_neighbors ()
void LBTopo_graph_nc::neighbors (int mype, int *na, int &nb)
 LBTOPO_MACRO (LBTopo_graph_nc_2)
 LBTOPO_MACRO (LBTopo_complete)
 LBTOPO_MACRO (LBTopo_2_arytree)
 LBTopoVec::LBTopoVec ()
 LBTopoVec::~LBTopoVec ()
void LBTopoVec::push_back (LBTopoMap *map)
int LBTopoVec::length ()
LBTopoMap * LBTopoVec::operator[] (size_t n)
void LBTopoVec::print ()
LBtopoFn LBTopoLookup (char *name)
void getTopoNeighbors (void *topo, int myid, int *narray, int *n)
int getTopoMaxNeighbors (void *topo)
void printoutTopo ()
 LBTopology::LBTopology (int p)
virtual LBTopology::~LBTopology ()
virtual int LBTopology::max_neighbors ()=0
virtual void LBTopology::neighbors (int mype, int *_n, int &nb)=0
virtual int LBTopology::get_dimension ()
virtual bool LBTopology::get_processor_coordinates (int processor_id, int *processor_coordinates)
virtual bool LBTopology::get_processor_id (const int *processor_coordinates, int *processor_id)
virtual bool LBTopology::coordinate_difference (const int *my_coordinates, const int *target_coordinates, int *difference)
virtual bool LBTopology::coordinate_difference (int my_processor_id, int target_processor_id, int *difference)
virtual int LBTopology::get_hop_count (int src, int dest)
virtual int LBTopology::rec_hop_count (int src, int dest, int max_neigh, int count, int *visited_srcs, int min_hop_cnt)
virtual double LBTopology::per_hop_delay (int last_hop)
virtual void LBTopology::get_pairwise_hop_count (double **dist)
virtual int LBTopo_ring::max_neighbors ()
virtual void LBTopo_ring::neighbors (int mype, int *_n, int &nb)
virtual int LBTopo_ring::get_hop_count (int src, int dest)
int LBTopo_torus2d::goodcoor (int, int)
 LBTopo_torus2d::LBTopo_torus2d (int p)
virtual int LBTopo_torus2d::max_neighbors ()
virtual void LBTopo_torus2d::neighbors (int mype, int *_n, int &nb)
virtual int LBTopo_torus2d::get_hop_count (int src, int dest)
int LBTopo_torus3d::goodcoor (int, int, int)
 LBTopo_torus3d::LBTopo_torus3d (int p)
virtual int LBTopo_torus3d::max_neighbors ()
virtual void LBTopo_torus3d::neighbors (int mype, int *_n, int &nb)
int LBTopo_mesh3d::goodcoor (int, int, int)
 LBTopo_mesh3d::LBTopo_mesh3d (int p)
virtual int LBTopo_mesh3d::max_neighbors ()
virtual void LBTopo_mesh3d::neighbors (int mype, int *_n, int &nb)
virtual int LBTopo_graph::max_neighbors ()
virtual void LBTopo_graph::neighbors (int mype, int *_n, int &nb)
void printPartition (Graph *g, int nodes[], int numNodes)
int intSqrt (int x)
GraphgenerateRandomGraph (int numNodes)
void BaseLB::initLB (const CkLBOptions &)
virtual BaseLB::~BaseLB ()
void BaseLB::unregister ()
virtual void BaseLB::pup (PUP::er &p)
virtual void BaseLB::flushStates ()
 BaseLB::LDStats::LDStats (int c=0, int complete_flag=1)
void BaseLB::LDStats::makeCommHash ()
 build hash table
void BaseLB::LDStats::deleteCommHash ()
int BaseLB::LDStats::getHash (const LDObjid &oid, const LDOMid &mid)
int BaseLB::LDStats::getHash (const LDObjKey &)
 given an LDObjKey, returns the index in the objData vector this index changes every time one does load balancing even within a run
int BaseLB::LDStats::getSendHash (LDCommData &cData)
int BaseLB::LDStats::getRecvHash (LDCommData &cData)
void BaseLB::LDStats::clearCommHash ()
void BaseLB::LDStats::computeNonlocalComm (int &nmsgs, int &nbytes)
void BaseLB::LDStats::normalize_speed ()
void BaseLB::LDStats::print ()
double BaseLB::LDStats::computeAverageLoad ()
void BaseLB::LDStats::removeObject (int obj)
void BaseLB::LDStats::pup (PUP::er &p)
int BaseLB::LDStats::useMem ()
static void CentralLB::staticMigrated (void *me, LDObjHandle h, int waitBarrier=1)
static void CentralLB::staticAtSync (void *)
void CentralLB::initLB (const CkLBOptions &)
virtual CentralLB::~CentralLB ()
void CentralLB::turnOn ()
void CentralLB::turnOff ()
void CentralLB::AtSync (void)
void CentralLB::ProcessAtSync (void)
void CentralLB::ReceiveCounts (CkReductionMsg *)
void CentralLB::BuildStatsMsg ()
void CentralLB::SendStats ()
void CentralLB::Migrated (LDObjHandle h, int waitBarrier=1)
void CentralLB::MissMigrate (int waitForBarrier)
void CentralLB::buildStats ()
void CentralLB::depositData (CLBStatsMsg *m)
void CentralLB::ReceiveStats (CkMarshalledCLBStatsMessage &msg)
void CentralLB::ReceiveStatsViaTree (CkMarshalledCLBStatsMessage &msg)
 added by Abhinav for receiving msgs via spanning tree
void CentralLB::LoadBalance (void)
void CentralLB::removeNonMigratable (LDStats *statsDataList, int count)
void CentralLB::ReceiveMigration (LBMigrateMsg *)
void CentralLB::ProcessReceiveMigration (CkReductionMsg *)
void CentralLB::ReceiveDummyMigration (int _step)
void CentralLB::MigrationDone (int balancing)
void CentralLB::endMigrationDone (int balancing)
void CentralLB::ResumeClients (CkReductionMsg *)
void CentralLB::ResumeClients (int)
void CentralLB::CheckMigrationComplete ()
void CentralLB::preprocess (LDStats *stats)
virtual LBMigrateMsgCentralLB::Strategy (LDStats *stats)
virtual void CentralLB::work (LDStats *stats)
virtual LBMigrateMsgCentralLB::createMigrateMsg (LDStats *stats)
virtual LBMigrateMsgCentralLB::extractMigrateMsg (LBMigrateMsg *m, int p)
void CentralLB::simulationWrite ()
void CentralLB::simulationRead ()
void CentralLB::readStatsMsgs (const char *filename)
void CentralLB::writeStatsMsgs (const char *filename)
void CentralLB::findSimResults (LDStats *stats, int count, LBMigrateMsg *msg, LBSimulation *simResults)
void CentralLB::pup (PUP::er &p)
int CentralLB::useMem ()
 CLBStatsMsg::CLBStatsMsg (int osz, int csz)
 CLBStatsMsg is not a real message now.
 CLBStatsMsg::~CLBStatsMsg ()
void CLBStatsMsg::pup (PUP::er &p)
void CkMarshalledCLBStatsMessage::free ()
void CkMarshalledCLBStatsMessage::add (CkMarshalledCLBStatsMessage &msg)
void CkMarshalledCLBStatsMessage::pup (PUP::er &p)
 SpanningTree::SpanningTree ()
void SpanningTree::calcParent (int n)
void SpanningTree::calcNumChildren (int n)
static void CentralLB::staticPredictorOn (void *data, void *model)
static void CentralLB::staticPredictorOnWin (void *data, void *model, int wind)
static void CentralLB::staticPredictorOff (void *data)
static void CentralLB::staticChangePredictor (void *data, void *model)
 ProcArray::ProcArray (BaseLB::LDStats *stats)
void ProcArray::resetTotalLoad ()
 ObjGraph::ObjGraph (BaseLB::LDStats *stats)
void ObjGraph::convertDecisions (BaseLB::LDStats *stats)
 minHeap::minHeap (int size)
 minHeap::~minHeap ()
int minHeap::insert (InfoRecord *)
InfoRecordminHeap::deleteMin ()
InfoRecordminHeap::iterator (heapIterator *)
InfoRecordminHeap::next (heapIterator *)
int minHeap::least (int a, int b, int c)
void minHeap::update (InfoRecord *)
void minHeap::update (int index)
 maxHeap::maxHeap (int size)
 maxHeap::~maxHeap ()
int maxHeap::numElements ()
int maxHeap::insert (InfoRecord *)
InfoRecordmaxHeap::deleteMax ()
InfoRecordmaxHeap::iterator (heapIterator *)
InfoRecordmaxHeap::next (heapIterator *)
 Set::Set ()
 Set::~Set ()
void Set::insert (InfoRecord *)
void Set::myRemove (listNode **n, InfoRecord *r)
void Set::remove (InfoRecord *)
int Set::find (InfoRecord *)
InfoRecordSet::iterator (Iterator *)
InfoRecordSet::next (Iterator *)
int Set::numElements ()
void Set::print ()
virtual void ComboCentLB::work (LDStats *stats)
CmiBool CommAwareRefineLB::QueryBalanceNow (int step)
void CommAwareRefineLB::work (LDStats *stats)
CmiBool CommLB::QueryBalanceNow (int step)
void CommLB::alloc (int pe, int id, double load, int nmsg, int nbyte)
double CommLB::compute_cost (int id, int pe, int n_alloc, int &out_msg, int &out_byte)
void CommLB::add_graph (int x, int y, int data, int nmsg)
void CommLB::work (LDStats *stats)
 ObjectHeap::ObjectHeap (int size)
int ObjectHeap::numElements ()
int ObjectHeap::insert (ObjectRecord *)
ObjectRecordObjectHeap::deleteMax ()
ObjectRecordObjectHeap::iterator (hIterator *)
ObjectRecordObjectHeap::next (hIterator *)
CmiBool DummyLB::QueryBalanceNow (int step)
CmiBool GraphBFTLB::QueryBalanceNow (int _step)
void GraphBFTLB::work (LDStats *stats)
CmiBool GraphPartLB::QueryBalanceNow (int _step)
void GraphPartLB::work (LDStats *stats)
CmiBool GreedyAgentLB::QueryBalanceNow (int step)
CmiBool GreedyAgentLB::Compare (double, double, HeapCmp)
void GreedyAgentLB::Heapify (HeapData *, int, int, HeapCmp)
void GreedyAgentLB::BuildHeap (HeapData *, int, HeapCmp)
void GreedyAgentLB::HeapSort (HeapData *, int, HeapCmp)
HeapData * GreedyAgentLB::BuildObjectArray (CentralLB::LDStats *, int, int *)
HeapData * GreedyAgentLB::BuildCpuArray (CentralLB::LDStats *, int, int *)
void GreedyAgentLB::work (LDStats *stats)
 GreedyCommLB::GreedyCommLB (const CkLBOptions &)
 GreedyCommLB::GreedyCommLB (CkMigrateMessage *m)
CmiBool GreedyCommLB::QueryBalanceNow (int step)
void GreedyCommLB::alloc (int pe, int id, double load)
double GreedyCommLB::compute_com (LDStats *stats, int id, int pe)
void GreedyCommLB::update (LDStats *stats, int id, int pe)
void GreedyCommLB::add_graph (int x, int y, int data, int nmsg)
void GreedyCommLB::work (LDStats *stats)
CmiBool GreedyLB::QueryBalanceNow (int step)
void GreedyLB::work (LDStats *stats)
static void HbmLB::staticAtSync (void *)
 HbmLB::HbmLB (const CkLBOptions &)
 HbmLB::~HbmLB ()
void HbmLB::FindNeighbors ()
void HbmLB::AtSync (void)
void HbmLB::ProcessAtSync (void)
void HbmLB::ReceiveStats (double t, int frompe, int fromlevel)
virtual void HbmLB::Loadbalancing (int level)
void HbmLB::LoadbalancingDone (int level)
void HbmLB::ReceiveResumeClients (int fromlevel, int balancing)
void HbmLB::ReceiveMigrationDelta (double t, int lblevel, int level)
void HbmLB::collectCommData (int objIdx, CkVec< LDCommData > &comms)
void HbmLB::ObjMigrated (LDObjData data, LDCommData *cdata, int n)
void HbmLB::ReceiveMigrationCount (int, int lblevel)
void HbmLB::Migrated (LDObjHandle h, int waitBarrier)
void HbmLB::NotifyObjectMigrationDone (int level, int lblevel)
void HbmLB::MigrationDone (int balancing)
void HbmLB::ResumeClients (CkReductionMsg *msg)
void HbmLB::ResumeClients (int balancing)
void HbmLB::reportLBQulity (double mload, double mCpuLoad, double totalload, int nmsgs, double bytesentry)
virtual void HbmLB::work (LDStats *stats)
int HbmLB::NeighborIndex (int pe, int atlevel)
virtual int HbmLB::useMem ()
static void HybridBaseLB::staticMigrated (void *me, LDObjHandle h, int waitBarrier)
static void HybridBaseLB::staticAtSync (void *)
 HybridBaseLB::HybridBaseLB (const CkLBOptions &)
void HybridBaseLB::initTree ()
 HybridBaseLB::~HybridBaseLB ()
void HybridBaseLB::FindNeighbors ()
void HybridBaseLB::AtSync (void)
void HybridBaseLB::ProcessAtSync (void)
CLBStatsMsgHybridBaseLB::AssembleStats ()
void HybridBaseLB::ReceiveStats (CkMarshalledCLBStatsMessage &m, int fromlevel)
void HybridBaseLB::depositLBStatsMessage (CLBStatsMsg *msg, int atlevel)
void HybridBaseLB::buildStats (int level)
CLBStatsMsgHybridBaseLB::buildCombinedLBStatsMessage (int atlevel)
virtual void HybridBaseLB::Loadbalancing (int level)
virtual LBMigrateMsgHybridBaseLB::Strategy (LDStats *stats)
void HybridBaseLB::ReceiveMigration (LBMigrateMsg *)
virtual LBVectorMigrateMsgHybridBaseLB::VectorStrategy (LDStats *stats)
void HybridBaseLB::ReceiveVectorMigration (LBVectorMigrateMsg *)
void HybridBaseLB::ObjsMigrated (LDObjData *data, int m, LDCommData *cdata, int n, int level)
void HybridBaseLB::VectorDone (int atlevel)
void HybridBaseLB::TotalObjMigrated (int count, int level)
void HybridBaseLB::Migrated (LDObjHandle h, int waitBarrier)
void HybridBaseLB::collectCommData (int objIdx, CkVec< LDCommData > &comm, int atlevel)
void HybridBaseLB::ObjMigrated (LDObjData data, LDCommData *cdata, int n, int level)
void HybridBaseLB::StatsDone (int level)
void HybridBaseLB::NotifyObjectMigrationDone (int level)
void HybridBaseLB::StartCollectInfo (DummyMsg *m)
void HybridBaseLB::CollectInfo (Location *loc, int n, int fromlevel)
void HybridBaseLB::PropagateInfo (Location *loc, int n, int fromlevel)
void HybridBaseLB::MigrationDone (int balancing)
void HybridBaseLB::ResumeClients (CkReductionMsg *msg)
void HybridBaseLB::ResumeClients (int balancing)
virtual void HybridBaseLB::work (LDStats *stats)
virtual LBMigrateMsgHybridBaseLB::createMigrateMsg (LDStats *stats)
LBMigrateMsgHybridBaseLB::createMigrateMsg (CkVec< MigrateInfo * > &migrateInfo, int count)
int HybridBaseLB::NeighborIndex (int pe, int atlevel)
void HybridBaseLB::printSummary (LDStats *stats, int count)
void HybridBaseLB::reportLBQulity (double mload, double mCpuLoad, double totalload, int nmsgs, double bytesentry)
void HybridBaseLB::reportLBMem (double)
virtual int HybridBaseLB::useMem ()
 HybridLB::~HybridLB ()
virtual void HybridLB::work (LDStats *stats)
LBCommDataLBCommTable::HashInsert (const LBCommData &data)
LBCommDataLBCommTable::HashSearch (const LBCommData &data)
LBCommDataLBCommTable::HashInsertUnique (const LBCommData &data)
void LBCommTable::Resize ()
CmiBool LBCommData::equal (const LBCommData &_d2) const
int LBCommData::compute_key ()
int LBCommData::hash (const int i, const int m) const
void LBCommTable::GetCommData (LDCommData *data)
 LBDBInit::LBDBInit (CkArgMsg *)
static void LBDatabase::initnodeFn (void)
void LBDatabase::init ()
 LBDatabase::LastLBInfo::LastLBInfo ()
void LBDatabase::get_avail_vector (char *bitmap)
void LBDatabase::set_avail_vector (char *bitmap, int new_ld=-1)
int LBDatabase::getLoadbalancerTicket ()
void LBDatabase::addLoadbalancer (BaseLB *lb, int seq)
void LBDatabase::nextLoadbalancer (int seq)
const char * LBDatabase::loadbalancer (int seq)
void LBDatabase::pup (PUP::er &p)
void LBDatabase::EstObjLoad (const LDObjHandle &h, double cpuload)
static void LBDB::batsyncer::gotoSync (void *bs)
static void LBDB::batsyncer::resumeFromSync (void *bs)
void LBDB::batsyncer::init (LBDB *_db, double initPeriod)
 LBDB::LBDB ()
LDOMHandle LBDB::AddOM (LDOMid _userID, void *_userData, LDCallbacks _callbacks)
LDObjHandle LBDB::AddObj (LDOMHandle _h, LDObjid _id, void *_userData, CmiBool _migratable)
void LBDB::UnregisterObj (LDObjHandle _h)
void LBDB::RegisteringObjects (LDOMHandle _h)
void LBDB::DoneRegisteringObjects (LDOMHandle _h)
void LBDB::Send (const LDOMHandle &destOM, const LDObjid &destid, unsigned int bytes, int destObjProc)
void LBDB::MulticastSend (const LDOMHandle &destOM, LDObjid *destids, int ndests, unsigned int bytes, int nMsgs)
void LBDB::ClearLoads (void)
int LBDB::ObjDataCount ()
void LBDB::GetObjData (LDObjData *data)
int LBDB::Migrate (LDObjHandle h, int dest)
void LBDB::Migrated (LDObjHandle h, int waitBarrier=1)
int LBDB::NotifyMigrated (LDMigratedFn fn, void *data)
void LBDB::RemoveNotifyMigrated (int handle)
int LBDB::AddStartLBFn (LDStartLBFn fn, void *data)
void LBDB::RemoveStartLBFn (LDStartLBFn fn)
void LBDB::StartLB ()
int LBDB::AddMigrationDoneFn (LDMigrationDoneFn fn, void *data)
void LBDB::RemoveMigrationDoneFn (LDMigrationDoneFn fn)
void LBDB::MigrationDone ()
void LBDB::SetupPredictor (LDPredictModelFn on, LDPredictWindowFn onWin, LDPredictFn off, LDPredictModelFn change, void *data)
void LBDB::BackgroundLoad (LBRealType *walltime, LBRealType *cputime)
void LBDB::GetTime (LBRealType *total_walltime, LBRealType *total_cputime, LBRealType *idletime, LBRealType *bg_walltime, LBRealType *bg_cputime)
void LBDB::DumpDatabase (void)
int LBDB::useMem ()
LDBarrierClient LocalBarrier::AddClient (LDResumeFn fn, void *data)
void LocalBarrier::RemoveClient (LDBarrierClient h)
LDBarrierReceiver LocalBarrier::AddReceiver (LDBarrierFn fn, void *data)
void LocalBarrier::RemoveReceiver (LDBarrierReceiver h)
void LocalBarrier::TurnOnReceiver (LDBarrierReceiver h)
void LocalBarrier::TurnOffReceiver (LDBarrierReceiver h)
void LocalBarrier::AtBarrier (LDBarrierClient h)
void LocalBarrier::CheckBarrier ()
void LocalBarrier::CallReceivers (void)
void LocalBarrier::ResumeClients (void)
void LBMachineUtil::IdleStart (double curWallTime)
void LBMachineUtil::IdleEnd (double curWallTime)
static void LBMachineUtil::staticIdleStart (LBMachineUtil *util, double curWallTime)
static void LBMachineUtil::staticIdleEnd (LBMachineUtil *util, double curWallTime)
 LBMachineUtil::LBMachineUtil ()
void LBMachineUtil::StatsOn ()
void LBMachineUtil::StatsOff ()
void LBMachineUtil::Clear ()
void LBMachineUtil::TotalTime (LBRealType *walltime, LBRealType *cputime)
void LBObj::Clear (void)
void LBObj::IncrementTime (LBRealType walltime, LBRealType cputime)
virtual int LBProfit::profitable (BaseLB::ProcStats *procArray, int np)
void MetisLB::work (LDStats *stats)
static void NborBaseLB::staticMigrated (void *me, LDObjHandle h, int waitBarrier)
static void NborBaseLB::staticAtSync (void *)
 NborBaseLB::NborBaseLB (const CkLBOptions &)
 NborBaseLB::~NborBaseLB ()
void NborBaseLB::FindNeighbors ()
void NborBaseLB::AtSync (void)
NLBStatsMsgNborBaseLB::AssembleStats ()
void NborBaseLB::Migrated (LDObjHandle h, int waitBarrier)
void NborBaseLB::ReceiveStats (CkMarshalledNLBStatsMessage &m)
void NborBaseLB::ReceiveMigration (LBMigrateMsg *)
void NborBaseLB::MigrationDone (int balancing)
void NborBaseLB::ResumeClients (CkReductionMsg *msg)
void NborBaseLB::ResumeClients (int balancing)
virtual LBMigrateMsgNborBaseLB::Strategy (LDStats *stats, int n_nbrs)
int NborBaseLB::NeighborIndex (int pe)
 NLBStatsMsg::NLBStatsMsg (int osz, int csz)
 NLBStatsMsg::NLBStatsMsg (NLBStatsMsg *s)
 NLBStatsMsg::~NLBStatsMsg ()
void NLBStatsMsg::pup (PUP::er &p)
 CkMarshalledNLBStatsMessage::~CkMarshalledNLBStatsMessage ()
void CkMarshalledNLBStatsMessage::pup (PUP::er &p)
LBMigrateMsgNeighborCommLB::Strategy (NborBaseLB::LDStats *stats, int n_nbrs)
LBMigrateMsgNeighborLB::Strategy (NborBaseLB::LDStats *stats, int n_nbrs)
void NullLB::init ()
 NullLB::~NullLB ()
static void NullLB::staticAtSync (void *)
void NullLB::AtSync (void)
void NullLB::migrationsDone (void)
 ObjGraph::ObjGraph (int count, BaseLB::LDStats *stats)
 ObjGraph::~ObjGraph ()
double ObjGraph::EdgeWeight (Edge *e)
int ObjGraph::calc_hashval (LDOMid, LDObjid)
Node * ObjGraph::find_node (const LDObjKey &)
CmiBool OrbLB::QueryBalanceNow (int step)
void OrbLB::rec_divide (int, Partition &)
void OrbLB::setVal (int x, int y, int z)
int OrbLB::sort_partition (int x, int p, int r)
void OrbLB::qsort (int x, int p, int r)
void OrbLB::quicksort (int x)
void OrbLB::mapPartitionsToNodes ()
void OrbLB::work (LDStats *stats)
CmiBool PhasebyArrayLB::QueryBalanceNow (int step)
void PhasebyArrayLB::copyStats (BaseLB::LDStats *stats, BaseLB::LDStats *tempStats)
void PhasebyArrayLB::updateStats (BaseLB::LDStats *stats, BaseLB::LDStats *tempStats)
void PhasebyArrayLB::work (LDStats *stats)
CmiBool RandCentLB::QueryBalanceNow (int step)
void RandCentLB::work (LDStats *stats)
void BQueue::removeComplete (Vertex *)
void BQueue::push (Vertex *)
 RecBipartLB::RecBipartLB (const CkLBOptions &opt)
CmiBool RecBipartLB::QueryBalanceNow (int _step)
void RecBipartLB::work (LDStats *stats)
CmiBool RecBisectBfLB::QueryBalanceNow (int step)
void RecBisectBfLB::work (LDStats *stats)
GraphRecBisectBfLB::convertGraph (ObjGraph *og)
void RecBisectBfLB::partitionInTwo (Graph *g, int nodes[], int numNodes, int **pp1, int *numP1, int **pp2, int *numP2, int ratio1, int ratio2)
int RecBisectBfLB::findNextUnassigned (int max, BV_Set *all, BV_Set *s1, BV_Set *s2)
float RecBisectBfLB::addToQ (IntQueue *q, Graph *g, BV_Set *all, BV_Set *s1, BV_Set *s2)
void RecBisectBfLB::enqChildren (IntQueue *q, Graph *g, BV_Set *all, BV_Set *s1, BV_Set *s2, int node)
void RecBisectBfLB::addPartition (PartitionList *partitions, int *nodes, int num)
void RecBisectBfLB::printPartitions (PartitionList *partitions)
void RecBisectBfLB::recursivePartition (int numParts, Graph *g, int nodes[], int numNodes, PartitionList *partitions)
CmiBool RefineCommLB::QueryBalanceNow (int step)
void RefineCommLB::work (LDStats *stats)
void RefineKLB::work (LDStats *stats)
void RefineKLB::performGreedyMoves (int count, BaseLB::LDStats *stats, int *from_procs, int *to_procs, int numMoves)
void RefineLB::work (LDStats *stats)
static intRefiner::AllocProcs (int count, BaseLB::LDStats *stats)
 This code is derived from RefineLB.C, and RefineLB.C should be rewritten to use this, so there is no code duplication.
static void Refiner::FreeProcs (int *bufs)
void Refiner::create (int count, BaseLB::LDStats *stats, int *cur_p)
void Refiner::assign (computeInfo *c, int p)
void Refiner::assign (computeInfo *c, processorInfo *p)
void Refiner::deAssign (computeInfo *c, processorInfo *pRec)
virtual void Refiner::computeAverage ()
double Refiner::computeMax ()
int Refiner::isHeavy (processorInfo *p)
int Refiner::isLight (processorInfo *p)
void Refiner::removeComputes ()
virtual int Refiner::refine ()
int Refiner::multirefine ()
void Refiner::Refine (int count, BaseLB::LDStats *stats, int *cur_p, int *new_p)
void RefinerComm::create (int count, BaseLB::LDStats *, int *cur_p)
 This code is derived from RefineLB.C, and RefineLB.C should be rewritten to use this, so there is no code duplication.
virtual void RefinerComm::computeAverage ()
void RefinerComm::processorCommCost ()
void RefinerComm::assign (computeInfo *c, int p)
void RefinerComm::assign (computeInfo *c, processorInfo *p)
void RefinerComm::deAssign (computeInfo *c, processorInfo *pRec)
void RefinerComm::commAffinity (int c, int pe, Messages &m)
void RefinerComm::objCommCost (int c, int pe, Messages &m)
virtual int RefinerComm::refine ()
void RefinerComm::Refine (int count, BaseLB::LDStats *stats, int *cur_p, int *new_p)
 RefinerComm::CommTable::CommTable (int p)
 RefinerComm::CommTable::~CommTable ()
void RefinerComm::CommTable::clear ()
void RefinerComm::CommTable::increase (bool issend, int pe, int msgs, int bytes)
double RefinerComm::CommTable::overheadOnPe (int pe)
CmiBool RefineSwapLB::QueryBalanceNow (int step)
void RefineSwapLB::work (LDStats *stats)
CmiBool ScotchLB::QueryBalanceNow (int _step)
void ScotchLB::work (LDStats *stats)
CmiBool ScotchRefineLB::QueryBalanceNow (int _step)
void ScotchRefineLB::work (LDStats *stats)
CmiBool ScotchTopoLB::QueryBalanceNow (int _step)
void ScotchTopoLB::work (LDStats *stats)
void TeamLB::work (LDStats *stats)
 METIS function that performs a balanced k-way partitioning of the graph, considering the communication volume (hence the "V" in the name of the function).
CmiBool TempAwareGreedyLB::QueryBalanceNow (int step)
void TempAwareGreedyLB::work (LDStats *stats)
CmiBool TreeMatchLB::QueryBalanceNow (int step)
void TreeMatchLB::work (BaseLB::LDStats *stats)
static void WSLB::staticAtSync (void *)
 WSLB::WSLB (const CkLBOptions &)
 WSLB::~WSLB ()
void WSLB::FindNeighbors ()
void WSLB::AtSync (void)
WSLBStatsMsgWSLB::AssembleStats ()
void WSLB::Migrated (LDObjHandle h, int waitBarrier)
void WSLB::ReceiveStats (WSLBStatsMsg *)
void WSLB::ReceiveMigration (LBMigrateMsg *)
void WSLB::MigrationDone (void)
void WSLB::ResumeClients ()
virtual CmiBool WSLB::QueryBalanceNow (int)
void ZoltanLB::work (LDStats *stats)

Variables

static const unsigned int doublingPrimes []
int _restartFlag
int globalResumeCount
CkGroupID loadbalancer
intlb_ptr
int load_balancer_created
 Cluster Manager Code, Accpets external bit vectors and then feeds it into the loadbalancer so that programs can shrink and expand.
int donotCountMigration
int restarted
CkGroupID loadbalancer
double upper_threshold
double lower_threshold
CkGroupID _lbdb
CkLBArgs _lb_args
int _lb_predict = 0
int _lb_predict_delay = 10
int _lb_predict_window = 20
static LBDBRegistry lbRegistry
CmiNodeLock avail_vector_lock
static LBRealType_expectedLoad = NULL
int _lb_version
 flag to write all LB decisions
CkLBArgs _lb_args
int _lb_predict
int _lb_predict_delay
int _lb_predict_window
char * _lbtopo
int _lb_version
 flag to write all LB decisions
LDOMid LDOMHandle::id
int LDOMHandle::handle
LDObjid _LDObjKey::objId
LDObjid LDObjHandle::id
LDObjIndex LDObjHandle::handle
LBRealType LDObjData::wallTime
LBRealType LDObjData::cpuTime
LBRealType LDObjData::minWall
LBRealType LDObjData::maxWall
CmiBool LDObjData::migratable
CmiBool LDObjData::asyncArrival
LDObjData LDObjStats::data
int LDObjStats::from_proc
int LDObjStats::to_proc
int   _LDCommDesc::destObjProc
struct {
   LDObjKey   destObj
   int   _LDCommDesc::destObjProc
}   _LDCommDesc::destObj
int   _LDCommDesc::len
struct {
   LDObjKey *   objs
   int   _LDCommDesc::len
}   _LDCommDesc::destObjs
union {
   int   destProc
   struct {
      LDObjKey   destObj
      int   _LDCommDesc::destObjProc
   }   _LDCommDesc::destObj
   struct {
      LDObjKey *   objs
      int   _LDCommDesc::len
   }   _LDCommDesc::destObjs
_LDCommDesc::dest
LDObjKey LDCommData::sender
LDCommDesc LDCommData::receiver
int LDCommData::sendHash
int LDCommData::recvHash
int LDCommData::messages
int LDCommData::bytes
LDStatsFn LDCallbacks::setStats
LDQueryEstLoadFn LDCallbacks::queryEstLoad
int load_balancer_created
 Cluster Manager Code, Accpets external bit vectors and then feeds it into the loadbalancer so that programs can shrink and expand.
static CkGroupID _theNullLB
static int _migDoneHandle
static const double alpha = 30.e-6
static const double beta = 3.e-9
int level
double TOTALLOAD
vector< Vertex_helper * > vhelpers
int numparts
int peno
ProcArrayparray
char * _lbtopo
int LBTopo_torus_nd::VirtualProcessorCount
intLBTopo_torus_nd::TempCo
static LBTopoVec lbTopoMap
static int LBDatabase::manualOn = 0
static char * LBDatabase::avail_vector = NULL

Detailed Description

NullLB is a place holder load balancer, it does nothing but resume from atSync so that application won't hang in the case where there is no other load balancer around.

This load balancer is a neighborLB and should inherit from NborBaseLB instead of incorrectly inheriting from BaseLB.

Load balancer that use Orthogonal Recursive Bisection(ORB) to partition objects and map to processors.

!!!!!!!!!!!!!!!!! DEFUNCT !!!!!!!!!!!!!!!!!!!

This file is not compiled anymore and its uses should be replaced by the class of the same name (ObjGraph) in ckgraph.h

!!!!!!!!!!!!!!!!! DEFUNCT !!!!!!!!!!!!!!!!!!!

In OrbLB, objects are treated to be enclosed by a rectangular box using their LDObjid as coordinates.

Written by Gengbin Zheng

ORB now takes background load into account 3/26/2010: added support for avail_vector

Also struct LDStats in here should be removed and merged with the one in NborBaseLB. -- ASB


Typedef Documentation

for backward compatibility

Definition at line 17 of file CentralLB.h.

for backward compatibility

Definition at line 15 of file ComboCentLB.h.

for backward compatibility

Definition at line 17 of file HbmLB.h.

for backward compatibility

Definition at line 21 of file HybridBaseLB.h.

typedef void(* LBCreateFn)()

Definition at line 108 of file LBDatabase.h.

typedef BaseLB*(* LBAllocFn)()

Definition at line 109 of file LBDatabase.h.

typedef CMK_LBTIME_TYPE LBRealType

Definition at line 20 of file lbdb.h.

typedef void* cvoid

Definition at line 30 of file lbdb.h.

typedef int LDHandle

Definition at line 41 of file lbdb.h.

typedef struct _LDOMid LDOMid

typedef struct _LDObjid LDObjid

typedef struct _LDObjKey LDObjKey

typedef int LDObjIndex

Definition at line 103 of file lbdb.h.

typedef int LDOMIndex

Definition at line 104 of file lbdb.h.

typedef struct _LDCommDesc LDCommDesc

typedef void(* LDMigrateFn)(LDObjHandle handle, int dest)

Definition at line 219 of file lbdb.h.

typedef void(* LDStatsFn)(LDOMHandle h, int state)

Definition at line 220 of file lbdb.h.

typedef void(* LDQueryEstLoadFn)(LDOMHandle h)

Definition at line 221 of file lbdb.h.

typedef void(* LDMigratedFn)(void *data, LDObjHandle handle, int waitBarrier)

Definition at line 269 of file lbdb.h.

typedef void(* LDStartLBFn)(void *user_ptr)

Definition at line 272 of file lbdb.h.

typedef void(* LDMigrationDoneFn)(void *user_ptr)

Definition at line 279 of file lbdb.h.

typedef void(* LDPredictFn)(void *user_ptr)

Definition at line 284 of file lbdb.h.

typedef void(* LDPredictModelFn)(void *user_ptr, void *model)

Definition at line 285 of file lbdb.h.

typedef void(* LDPredictWindowFn)(void *user_ptr, void *model, int wind)

Definition at line 286 of file lbdb.h.

typedef void(* LDBarrierFn)(void *user_ptr)

Definition at line 317 of file lbdb.h.

typedef void(* LDResumeFn)(void *user_ptr)

Definition at line 318 of file lbdb.h.

for backward compatibility

Definition at line 17 of file NborBaseLB.h.

typedef CkQ<int> IntQueue

Definition at line 17 of file RecBisectBfLB.h.

Definition at line 162 of file topology.C.

Definition at line 163 of file topology.C.

Definition at line 164 of file topology.C.

Definition at line 165 of file topology.C.

Definition at line 166 of file topology.C.

Definition at line 167 of file topology.C.

Definition at line 168 of file topology.C.

Definition at line 169 of file topology.C.

Definition at line 170 of file topology.C.

Definition at line 171 of file topology.C.

Definition at line 684 of file topology.C.

Definition at line 685 of file topology.C.

Definition at line 686 of file topology.C.

Definition at line 687 of file topology.C.

Definition at line 688 of file topology.C.

Definition at line 689 of file topology.C.

Definition at line 690 of file topology.C.

Definition at line 691 of file topology.C.

Definition at line 692 of file topology.C.

Definition at line 693 of file topology.C.

typedef LBTopo_torus_nd_smp<1> LBTopo_torus_nd_smp_1

Definition at line 855 of file topology.C.

typedef LBTopo_torus_nd_smp<2> LBTopo_torus_nd_smp_2

Definition at line 859 of file topology.C.

typedef LBTopo_torus_nd_smp<3> LBTopo_torus_nd_smp_3

Definition at line 860 of file topology.C.

typedef LBTopo_torus_nd_smp<4> LBTopo_torus_nd_smp_4

Definition at line 861 of file topology.C.

typedef LBTopo_torus_nd_smp<5> LBTopo_torus_nd_smp_5

Definition at line 862 of file topology.C.

typedef LBTopo_torus_nd_smp<6> LBTopo_torus_nd_smp_6

Definition at line 863 of file topology.C.

typedef LBTopo_torus_nd_smp<7> LBTopo_torus_nd_smp_7

Definition at line 864 of file topology.C.

typedef LBTopo_torus_nd_smp<8> LBTopo_torus_nd_smp_8

Definition at line 865 of file topology.C.

typedef LBTopo_torus_nd_smp<9> LBTopo_torus_nd_smp_9

Definition at line 866 of file topology.C.

typedef LBTopo_torus_nd_smp<10> LBTopo_torus_nd_smp_10

Definition at line 867 of file topology.C.

typedef LBTopo_itorus_nd<1> LBTopo_itorus_nd_1

Definition at line 968 of file topology.C.

typedef LBTopo_itorus_nd<2> LBTopo_itorus_nd_2

Definition at line 972 of file topology.C.

typedef LBTopo_itorus_nd<3> LBTopo_itorus_nd_3

Definition at line 973 of file topology.C.

typedef LBTopo_itorus_nd<4> LBTopo_itorus_nd_4

Definition at line 974 of file topology.C.

typedef LBTopo_itorus_nd<5> LBTopo_itorus_nd_5

Definition at line 975 of file topology.C.

typedef LBTopo_itorus_nd<6> LBTopo_itorus_nd_6

Definition at line 976 of file topology.C.

typedef LBTopo_itorus_nd<7> LBTopo_itorus_nd_7

Definition at line 977 of file topology.C.

typedef LBTopo_imesh_nd<1> LBTopo_imesh_nd_1

Definition at line 1086 of file topology.C.

typedef LBTopo_imesh_nd<2> LBTopo_imesh_nd_2

Definition at line 1090 of file topology.C.

typedef LBTopo_imesh_nd<3> LBTopo_imesh_nd_3

Definition at line 1091 of file topology.C.

typedef LBTopo_imesh_nd<4> LBTopo_imesh_nd_4

Definition at line 1092 of file topology.C.

typedef LBTopo_imesh_nd<5> LBTopo_imesh_nd_5

Definition at line 1093 of file topology.C.

typedef LBTopo_imesh_nd<6> LBTopo_imesh_nd_6

Definition at line 1094 of file topology.C.

typedef LBTopo_imesh_nd<7> LBTopo_imesh_nd_7

Definition at line 1095 of file topology.C.

Definition at line 1143 of file topology.C.

Definition at line 1144 of file topology.C.

Definition at line 1145 of file topology.C.

Definition at line 1146 of file topology.C.

Definition at line 1147 of file topology.C.

Definition at line 1148 of file topology.C.

Definition at line 1149 of file topology.C.

Definition at line 1150 of file topology.C.

Definition at line 1151 of file topology.C.

Definition at line 1152 of file topology.C.

typedef LBTopo_karytree<2> LBTopo_2_arytree

Definition at line 1202 of file topology.C.

typedef LBTopo_karytree<3> LBTopo_3_arytree

Definition at line 1205 of file topology.C.

typedef LBTopo_karytree<4> LBTopo_4_arytree

Definition at line 1206 of file topology.C.

typedef LBTopo_karytree<128> LBTopo_128_arytree

Definition at line 1207 of file topology.C.

typedef LBTopo_karytree<512> LBTopo_512_arytree

Definition at line 1208 of file topology.C.

typedef void *(* LBtopoFn)()

Definition at line 86 of file topology.h.


Function Documentation

static int i_abs ( int  c  )  [inline, static]

Definition at line 61 of file BaseLB.C.

Referenced by ObjKey().

static int ObjKey ( const LDObjid oid,
const int  hashSize 
) [inline, static]

Definition at line 64 of file BaseLB.C.

References i_abs(), and _LDObjid::id.

Referenced by BaseLB::LDStats::getHash(), and BaseLB::LDStats::makeCommHash().

static unsigned int primeLargerThan ( unsigned int  x  )  [static]

Definition at line 144 of file BaseLB.C.

References doublingPrimes.

Referenced by BaseLB::LDStats::makeCommHash(), and CkHashtable::put().

BV_Set * makeSet ( int list,
int  size,
int  max 
)

Definition at line 22 of file bitvecset.c.

References malloc(), BV_Set::max, printf(), s, BV_Set::size, and BV_Set::vector.

Referenced by makeEmptySet(), and RecBisectBfLB::partitionInTwo().

BV_Set * makeEmptySet ( int  max  ) 

Definition at line 13 of file bitvecset.c.

References makeSet().

Referenced by RecBisectBfLB::partitionInTwo().

void destroySet ( BV_Set set  ) 

Definition at line 44 of file bitvecset.c.

References free(), and set().

Referenced by RecBisectBfLB::partitionInTwo().

void bvset_insert ( BV_Set s,
int  value 
)

Definition at line 52 of file bitvecset.c.

References BV_Set::max, printf(), BV_Set::size, and BV_Set::vector.

Referenced by RecBisectBfLB::addToQ().

int bvset_find ( BV_Set s,
int  value 
)

int bvset_size ( BV_Set s  ) 

Definition at line 77 of file bitvecset.c.

References BV_Set::size.

Referenced by RecBisectBfLB::partitionInTwo().

void bvset_enumerate ( BV_Set s,
int **  list,
int size 
)

Definition at line 82 of file bitvecset.c.

References malloc(), BV_Set::max, printf(), BV_Set::size, and BV_Set::vector.

Referenced by RecBisectBfLB::partitionInTwo().

void getGlobalStep ( CkGroupID   ) 

void initMlogLBStep ( CkGroupID  gid  ) 

This is the first time Converse is called after AtSync method has been called by every local object.

It is a good place to insert some optimizations for synchronized checkpoint. In the case of causal message logging, we can take advantage of this situation and garbage collect at this point.

Definition at line 3089 of file ckcausalmlog.C.

References Converse::CkMyPe(), garbageCollectMlog(), and _ckGroupID::idx.

Referenced by CentralLB::ProcessAtSync().

void sendDummyMigrationCounts ( int dummyCounts  ) 

this method is used by a restarted processor to tell other processors that they are not going to receive these many objects.

. just the count not the objects themselves

Definition at line 2996 of file ckcausalmlog.C.

References CmiMyPe(), Converse::CmiSyncSend(), DummyMigrationMsg::count, DummyMigrationMsg::flag, and DummyMigrationMsg::lbID.

Referenced by CentralLB::ProcessReceiveMigration().

CpvExtern ( void *  ,
CkGridObject   
)

CreateLBFunc_Def ( CentralLB  ,
"CentralLB base class"   
)

Definition at line 45 of file CentralLB.C.

References CentralLB::StartLB().

static int isMigratable ( LDObjData **  objData,
int len,
int  count,
const LDCommData commData 
) [static]

void resumeCentralLbAfterChkpt ( void *  _lb  ) 

Definition at line 957 of file CentralLB.C.

References CentralLB::endMigrationDone(), and CentralLB::savedBalancing.

Referenced by CentralLB::MigrationDone().

void getPredictedLoadWithMsg ( BaseLB::LDStats stats,
int  count,
LBMigrateMsg msg,
LBInfo info,
int  considerComm 
)

void CreateCentralLB (  ) 

void getLoadInfo ( BaseLB::LDStats stats,
int  count,
LBInfo info,
int  considerComm 
)

void gaussj ( double **  a,
double b,
int  n 
)

Definition at line 37 of file CentralPredictor.C.

Referenced by Marquardt_solver().

void Marquardt_coefficients ( double x,
double y,
double param,
double **  alpha,
double beta,
double chisq,
LBPredictorFunction predict 
)

bool Marquardt_solver ( CentralLB::FutureModel mod,
int  object 
)

LBAllocFn getLBAllocFn ( char *  lbname  ) 

Definition at line 100 of file LBDatabase.C.

References LBDBRegistry::getLBAllocFn().

Referenced by CreateLBFunc_Def().

CreateLBFunc_Def ( ComboCentLB  ,
"Allow multiple strategies to work serially"   
)

Definition at line 16 of file ComboCentLB.C.

References Converse::CkMyPe(), CmiAbort(), getLBAllocFn(), and p.

void CreateComboCentLB (  ) 

void eraseObjFromParrObjs ( std::vector< int > &  parr_objs,
int  remove_objid 
) [inline]

Definition at line 309 of file CommAwareRefineLB.C.

Referenced by handleTransfer().

void printMapping ( std::vector< Vertex > &  vertices  )  [inline]

Definition at line 318 of file CommAwareRefineLB.C.

void removeFromArray ( int  pe_id,
std::vector< int > &  array 
) [inline]

Definition at line 325 of file CommAwareRefineLB.C.

Referenced by updateLoadInfo().

int popFromProcHeap ( std::vector< int > &  parr_above_avg,
ProcArray parr 
) [inline]

Definition at line 333 of file CommAwareRefineLB.C.

Referenced by CommAwareRefineLB::work().

void handleTransfer ( int  randomly_obj_id,
ProcInfo p,
int  possible_pe,
std::vector< int > *  parr_objs,
ObjGraph ogr,
ProcArray parr 
) [inline]

void updateLoadInfo ( int  p_index,
int  possible_pe,
double  upper_threshold,
double  lower_threshold,
std::vector< int > &  parr_above_avg,
std::vector< int > &  parr_below_avg,
bool proc_load_info,
ProcArray parr 
) [inline]

Definition at line 354 of file CommAwareRefineLB.C.

References ProcInfo::getTotalLoad(), p, ProcArray::procs, and removeFromArray().

Referenced by CommAwareRefineLB::work().

void getPossiblePes ( std::vector< int > &  possible_pes,
int  randomly_obj_id,
ObjGraph ogr,
ProcArray parr 
) [inline]

CreateLBFunc_Def ( CommAwareRefineLB  ,
"always assign the heaviest obj onto lightest loaded processor."   
)

Definition at line 49 of file CommAwareRefineLB.C.

References Converse::CkMyPe().

void PrintProcLoad ( ProcArray parr  ) 

Definition at line 115 of file CommAwareRefineLB.C.

References ProcArray::procs.

void PrintProcObj ( ProcArray parr,
std::vector< int > *  parr_objs 
)

Definition at line 136 of file CommAwareRefineLB.C.

References ProcArray::procs.

void CreateCommAwareRefineLB (  ) 

BaseLB* AllocateCommAwareRefineLB (  ) 

CreateLBFunc_Def ( CommLB  ,
"another variation of CommLB  
)

Definition at line 26 of file CommLB.C.

References Converse::CkMyPe().

void init ( alloc_struct **  a,
graph object_graph,
int  l,
int  b 
)

void CreateCommLB (  ) 

static void CreateNoLB ( void   )  [static]

Definition at line 12 of file CommonLBs.C.

void initCommonLBs ( void   ) 

Definition at line 17 of file CommonLBs.C.

CreateLBFunc_Def ( DummyLB  ,
"Dummy load   balancer,
like a normal one but with empty strategy"   
)

Definition at line 8 of file DummyLB.C.

References Converse::CkMyPe().

void CreateDummyLB (  ) 

void initEveryLB ( void   ) 

Definition at line 17 of file EveryLB.C.

CreateLBFunc_Def ( GraphBFTLB  ,
"Algorithm which does breadth first traversal for communication aware load balancing"   
)

Definition at line 18 of file GraphBFTLB.C.

References Converse::CkMyPe().

void CreateGraphBFTLB (  ) 

CreateLBFunc_Def ( GraphPartLB  ,
"Algorithm which uses graph partitioning for communication aware load balancing"   
)

Definition at line 17 of file GraphPartLB.C.

References Converse::CkMyPe().

void CreateGraphPartLB (  ) 

CreateLBFunc_Def ( GreedyAgentLB  ,
"always assign the heaviest obj onto lightest loaded processor taking into account the topology"   
)

Definition at line 17 of file GreedyAgentLB.C.

References Converse::CkMyPe().

void CreateGreedyAgentLB (  ) 

CreateLBFunc_Def ( GreedyCommLB  ,
"Greedy algorithm which takes communication graph into account"   
)

Definition at line 22 of file GreedyCommLB.C.

References _lb_args, CkLBArgs::alpha(), alpha, CkLBArgs::beeta(), and manager_init().

static void init_data ( int assign,
graph object_graph,
int  l,
int  b 
) [static]

Definition at line 124 of file GreedyCommLB.C.

References graph::data, graph::next, and graph::nmsg.

Referenced by GreedyCommLB::work().

void CreateGreedyCommLB (  ) 

BaseLB* AllocateGreedyCommLB (  ) 

CreateLBFunc_Def ( GreedyLB  ,
"always assign the heaviest obj onto lightest loaded processor."   
)

Definition at line 25 of file GreedyLB.C.

References Converse::CkMyPe().

void CreateGreedyLB (  ) 

BaseLB* AllocateGreedyLB (  ) 

Referenced by CreateLBFunc_Def().

CreateLBFunc_Def ( HbmLB  ,
"HybridBase load balancer"   
)

Definition at line 16 of file HbmLB.C.

References HbmLB::Migrated().

double myabs ( double  x  )  [inline]

Definition at line 194 of file HbmLB.C.

Referenced by HbmLB::Loadbalancing().

double mymax ( double  x,
double  y 
) [inline]

void CreateHbmLB (  ) 

CreateLBFunc_Def ( HybridBaseLB  ,
"HybridBase load balancer"   
)

Definition at line 15 of file HybridBaseLB.C.

LBVectorMigrateMsg* VectorStrategy ( BaseLB::LDStats stats  ) 

void CreateHybridBaseLB (  ) 

int mymin ( int  x,
int  y 
) [inline]

Definition at line 23 of file HybridBaseLB.h.

Referenced by ThreeLevelTree::numChildren().

CreateLBFunc_Def ( HybridLB  ,
"Hybrid load balancer"   
)

Definition at line 23 of file HybridLB.C.

References AllocateGreedyLB(), AllocateRefineLB(), and refine().

void CreateHybridLB (  ) 

CkpvDeclare ( int  ,
numLoadBalancers   
)

num of lb created

CkpvDeclare ( int  ,
hasNullLB   
)

true if NullLB is created

CkpvDeclare ( int  ,
lbdatabaseInited   
)

true if lbdatabase is inited

void LBDefaultCreate ( const char *  lbname  ) 

Definition at line 89 of file LBDatabase.C.

References LBDBRegistry::addCompiletimeBalancer().

void LBRegisterBalancer ( const char *  name,
LBCreateFn  fn,
LBAllocFn  afn,
const char *  help,
int  shown 
)

Definition at line 95 of file LBDatabase.C.

References LBDBRegistry::addEntry().

Referenced by lbinit().

static void createLoadBalancer ( const char *  lbname  )  [static]

Definition at line 105 of file LBDatabase.C.

References CmiPrintf(), LBDBRegistry::displayLBs(), and LBDBRegistry::search().

Referenced by LBDBInit::LBDBInit().

void _loadbalancerInit (  ) 

void TurnManualLBOn (  ) 

Definition at line 473 of file LBDatabase.C.

References LBDatabase::Object(), and LBDatabase::TurnManualLBOn().

void TurnManualLBOff (  ) 

Definition at line 486 of file LBDatabase.C.

References LBDatabase::Object(), and LBDatabase::TurnManualLBOff().

void LBTurnInstrumentOn (  ) 

void LBTurnInstrumentOff (  ) 

void LBClearLoads (  ) 

Definition at line 516 of file LBDatabase.C.

References LBDatabase::ClearLoads(), and LBDatabase::Object().

Referenced by LV3D_PerfManager::startBalance().

void LBTurnPredictorOn ( LBPredictorFunction model  ) 

Definition at line 522 of file LBDatabase.C.

References LBDatabase::Object(), and LBDatabase::PredictorOn().

void LBTurnPredictorOn ( LBPredictorFunction model,
int  wind 
)

Definition at line 528 of file LBDatabase.C.

References LBDatabase::Object(), and LBDatabase::PredictorOn().

void LBTurnPredictorOff (  ) 

Definition at line 534 of file LBDatabase.C.

References LBDatabase::Object(), and LBDatabase::PredictorOff().

void LBChangePredictor ( LBPredictorFunction model  ) 

Definition at line 540 of file LBDatabase.C.

References LBDatabase::ChangePredictor(), and LBDatabase::Object().

void LBSetPeriod ( double  second  ) 

PUPbytes ( CkLBOptions   ) 

CkpvExtern ( int  ,
numLoadBalancers   
)

CkpvExtern ( int  ,
hasNullLB   
)

CkpvExtern ( int  ,
lbdatabaseInited   
)

void LBDefaultCreate ( LBCreateFn  f  ) 

void _LBDBInit (  ) 

LBDatabase* LBDatabaseObj (  )  [inline]

void get_avail_vector ( char *  bitmap  )  [inline]

Definition at line 406 of file LBDatabase.h.

References LBDatabase::get_avail_vector(), and LBDatabaseObj().

Referenced by CkMemCheckPT::isMaster().

void set_avail_vector ( char *  bitmap  )  [inline]

LDHandle LDCreate ( void   ) 

Definition at line 18 of file lbdb.C.

References LDHandle::handle.

Referenced by LBDatabase::init().

LDOMHandle LDRegisterOM ( LDHandle  _db,
LDOMid  _userID,
void *  _userptr,
LDCallbacks  _callbacks 
)

Definition at line 25 of file lbdb.C.

References LBDB::AddOM(), and LDHandle::handle.

Referenced by LBDatabase::RegisterOM().

void * LDOMUserData ( LDOMHandle _h  ) 

Definition at line 32 of file lbdb.C.

References LBOM::getUserData(), LDHandle::handle, LBDB::LbOM(), and LDOMHandle::ldb.

void LDRegisteringObjects ( LDOMHandle  _h  ) 

Definition at line 38 of file lbdb.C.

References LDHandle::handle, LDOMHandle::ldb, and LBDB::RegisteringObjects().

Referenced by LBDatabase::RegisteringObjects().

void LDDoneRegisteringObjects ( LDOMHandle  _h  ) 

LDObjHandle LDRegisterObj ( LDOMHandle  _h,
LDObjid  _id,
void *  _userData,
int  _migratable 
)

Definition at line 50 of file lbdb.C.

References LBDB::AddObj(), LDHandle::handle, and LDOMHandle::ldb.

Referenced by LBDatabase::RegisterObj().

void LDUnregisterObj ( LDObjHandle  _h  ) 

const LDObjHandle & LDGetObjHandle ( LDHandle  h,
int  oh 
)

Definition at line 64 of file lbdb.C.

References LBObj::GetLDObjHandle(), LDHandle::handle, and LBDB::LbObjIdx().

Referenced by LBDatabase::GetObjHandle().

void LDObjTime ( LDObjHandle _h,
LBRealType  walltime,
LBRealType  cputime 
)

void LDGetObjLoad ( LDObjHandle _h,
LBRealType wallT,
LBRealType cpuT 
)

void LDQueryKnownObjLoad ( LDObjHandle _h,
LBRealType wallT,
LBRealType cpuT 
)

void * LDObjUserData ( LDObjHandle _h  ) 

void LDDumpDatabase ( LDHandle  _db  ) 

Definition at line 100 of file lbdb.C.

References LBDB::DumpDatabase(), and LDHandle::handle.

Referenced by LBDatabase::DumpDatabase().

void LDNotifyMigrated ( LDHandle  _db,
LDMigratedFn  fn,
void *  data 
)

Definition at line 106 of file lbdb.C.

References LDHandle::handle, and LBDB::NotifyMigrated().

Referenced by LBDatabase::NotifyMigrated().

void LDAddStartLBFn ( LDHandle  _db,
LDStartLBFn  fn,
void *  data 
)

Definition at line 112 of file lbdb.C.

References LBDB::AddStartLBFn(), and LDHandle::handle.

Referenced by LBDatabase::AddStartLBFn().

void LDRemoveStartLBFn ( LDHandle  _db,
LDStartLBFn  fn 
)

Definition at line 118 of file lbdb.C.

References LDHandle::handle, and LBDB::RemoveStartLBFn().

Referenced by LBDatabase::RemoveStartLBFn().

void LDStartLB ( LDHandle  _db  ) 

Definition at line 124 of file lbdb.C.

References LDHandle::handle, and LBDB::StartLB().

Referenced by LBDatabase::StartLB().

void LDTurnManualLBOn ( LDHandle  _db  ) 

Definition at line 130 of file lbdb.C.

References LDHandle::handle, and LBDB::TurnManualLBOn().

Referenced by LBDatabase::TurnManualLBOn().

void LDTurnManualLBOff ( LDHandle  _db  ) 

Definition at line 136 of file lbdb.C.

References LDHandle::handle, and LBDB::TurnManualLBOff().

Referenced by LBDatabase::TurnManualLBOff().

int LDAddMigrationDoneFn ( LDHandle  _db,
LDMigrationDoneFn  fn,
void *  data 
)

Definition at line 142 of file lbdb.C.

References LBDB::AddMigrationDoneFn(), and LDHandle::handle.

Referenced by LBDatabase::AddMigrationDoneFn().

void LDRemoveMigrationDoneFn ( LDHandle  _db,
LDMigrationDoneFn  fn 
)

Definition at line 148 of file lbdb.C.

References LDHandle::handle, and LBDB::RemoveMigrationDoneFn().

Referenced by LBDatabase::RemoveMigrationDoneFn().

void LDMigrationDone ( LDHandle  _db  ) 

Definition at line 154 of file lbdb.C.

References LDHandle::handle, and LBDB::MigrationDone().

Referenced by LBDatabase::MigrationDone().

void LDTurnPredictorOn ( LDHandle  _db,
void *  model 
)

Definition at line 160 of file lbdb.C.

References LDHandle::handle, and LBDB::TurnPredictorOn().

Referenced by LBDatabase::ChangePredictor(), and LBDatabase::PredictorOn().

void LDTurnPredictorOnWin ( LDHandle  _db,
void *  model,
int  wind 
)

Definition at line 166 of file lbdb.C.

References LDHandle::handle, and LBDB::TurnPredictorOn().

Referenced by LBDatabase::PredictorOn().

void LDTurnPredictorOff ( LDHandle  _db  ) 

Definition at line 172 of file lbdb.C.

References LDHandle::handle, and LBDB::TurnPredictorOff().

Referenced by LBDatabase::PredictorOff().

void LDChangePredictor ( LDHandle  _db,
void *  model 
)

Definition at line 179 of file lbdb.C.

References LBDB::ChangePredictor(), and LDHandle::handle.

void LDCollectStatsOn ( LDHandle  _db  ) 

void LDCollectStatsOff ( LDHandle  _db  ) 

Definition at line 200 of file lbdb.C.

References LDHandle::handle, and LBDB::TurnStatsOff().

Referenced by LBDatabase::CollectStatsOff().

int CLDCollectingStats ( LDHandle  _db  ) 

Definition at line 206 of file lbdb.C.

References LDCollectingStats().

int CLDRunningObject ( LDHandle  _h,
LDObjHandle _o 
)

Definition at line 214 of file lbdb.C.

References LDRunningObject().

void LDObjectStart ( const LDObjHandle _h  ) 

void LDObjectStop ( const LDObjHandle _h  ) 

void LDSend ( const LDOMHandle destOM,
const LDObjid destid,
unsigned int  bytes,
int  destObjProc,
int  force 
)

void LDMulticastSend ( const LDOMHandle destOM,
LDObjid destids,
int  ndests,
unsigned int  bytes,
int  nMsgs 
)

void LDBackgroundLoad ( LDHandle  _db,
LBRealType walltime,
LBRealType cputime 
)

Definition at line 260 of file lbdb.C.

References LBDB::BackgroundLoad(), and LDHandle::handle.

Referenced by LBDatabase::BackgroundLoad().

void LDIdleTime ( LDHandle  _db,
LBRealType walltime 
)

Definition at line 269 of file lbdb.C.

References LDHandle::handle, and LBDB::IdleTime().

Referenced by LBDatabase::IdleTime().

void LDTotalTime ( LDHandle  _db,
LBRealType walltime,
LBRealType cputime 
)

Definition at line 277 of file lbdb.C.

References LDHandle::handle, and LBDB::TotalTime().

Referenced by LBDatabase::TotalTime().

void LDGetTime ( LDHandle  _db,
LBRealType total_walltime,
LBRealType total_cputime,
LBRealType idletime,
LBRealType bg_walltime,
LBRealType bg_cputime 
)

Definition at line 285 of file lbdb.C.

References LBDB::GetTime(), and LDHandle::handle.

Referenced by LBDatabase::GetTime().

void LDNonMigratable ( const LDObjHandle h  ) 

void LDMigratable ( const LDObjHandle h  ) 

void LDAsyncMigrate ( const LDObjHandle h,
CmiBool  async 
)

void LDClearLoads ( LDHandle  _db  ) 

Definition at line 317 of file lbdb.C.

References LBDB::ClearLoads(), and LDHandle::handle.

Referenced by LBDatabase::ClearLoads().

int LDGetObjDataSz ( LDHandle  _db  ) 

Definition at line 324 of file lbdb.C.

References LDHandle::handle, and LBDB::ObjDataCount().

Referenced by LBDatabase::GetObjDataSz().

void LDGetObjData ( LDHandle  _db,
LDObjData data 
)

Definition at line 331 of file lbdb.C.

References LBDB::GetObjData(), and LDHandle::handle.

Referenced by LBDatabase::GetObjData().

int LDGetCommDataSz ( LDHandle  _db  ) 

Definition at line 338 of file lbdb.C.

References LBDB::CommDataCount(), and LDHandle::handle.

Referenced by LBDatabase::GetCommDataSz().

void LDGetCommData ( LDHandle  _db,
LDCommData data 
)

Definition at line 345 of file lbdb.C.

References LBDB::GetCommData(), and LDHandle::handle.

Referenced by LBDatabase::GetCommData().

int LDMigrate ( LDObjHandle  _h,
int  dest 
)

Definition at line 353 of file lbdb.C.

References LDHandle::handle, LDOMHandle::ldb, LBDB::Migrate(), and LDObjHandle::omhandle.

Referenced by LBDatabase::Migrate().

void LDMigrated ( LDObjHandle  _h,
int  waitBarrier 
)

Definition at line 360 of file lbdb.C.

References LDHandle::handle, LDOMHandle::ldb, LBDB::Migrated(), and LDObjHandle::omhandle.

Referenced by LBDatabase::Migrated().

LDBarrierClient LDAddLocalBarrierClient ( LDHandle  _db,
LDResumeFn  fn,
void *  data 
)

Definition at line 368 of file lbdb.C.

References LBDB::AddLocalBarrierClient(), and LDHandle::handle.

Referenced by LBDatabase::AddLocalBarrierClient().

void LDRemoveLocalBarrierClient ( LDHandle  _db,
LDBarrierClient  h 
)

Definition at line 375 of file lbdb.C.

References LDHandle::handle, and LBDB::RemoveLocalBarrierClient().

Referenced by LBDatabase::RemoveLocalBarrierClient().

LDBarrierReceiver LDAddLocalBarrierReceiver ( LDHandle  _db,
LDBarrierFn  fn,
void *  data 
)

Definition at line 383 of file lbdb.C.

References LBDB::AddLocalBarrierReceiver(), and LDHandle::handle.

Referenced by LBDatabase::AddLocalBarrierReceiver().

void LDRemoveLocalBarrierReceiver ( LDHandle  _db,
LDBarrierReceiver  h 
)

Definition at line 391 of file lbdb.C.

References LDHandle::handle, and LBDB::RemoveLocalBarrierReceiver().

Referenced by LBDatabase::RemoveLocalBarrierReceiver().

void LDAtLocalBarrier ( LDHandle  _db,
LDBarrierClient  h 
)

Definition at line 398 of file lbdb.C.

References LBDB::AtLocalBarrier(), and LDHandle::handle.

Referenced by LBDatabase::AtLocalBarrier().

void LDLocalBarrierOn ( LDHandle  _db  ) 

Definition at line 405 of file lbdb.C.

References LDHandle::handle, and LBDB::LocalBarrierOn().

Referenced by LBDatabase::LocalBarrierOff(), and LBDatabase::LocalBarrierOn().

void LDLocalBarrierOff ( LDHandle  _db  ) 

Definition at line 412 of file lbdb.C.

References LDHandle::handle, and LBDB::LocalBarrierOff().

void LDResumeClients ( LDHandle  _db  ) 

Definition at line 420 of file lbdb.C.

References LDHandle::handle, and LBDB::ResumeClients().

Referenced by LBDatabase::ResumeClients().

static void work ( int  iter_block,
int result 
) [static]

Definition at line 427 of file lbdb.C.

Referenced by LDProcessorSpeed().

int LDProcessorSpeed (  ) 

void LDSetLBPeriod ( LDHandle  _db,
double  s 
)

Definition at line 489 of file lbdb.C.

References LDHandle::handle, and LBDB::SetPeriod().

Referenced by LBDatabase::SetLBPeriod().

double LDGetLBPeriod ( LDHandle  _db  ) 

Definition at line 495 of file lbdb.C.

References LBDB::GetPeriod(), and LDHandle::handle.

Referenced by LBDatabase::GetLBPeriod().

void LDQueryEstLoad ( LDHandle  bdb  ) 

Definition at line 509 of file lbdb.C.

Referenced by LBDatabase::QueryEstLoad().

int LDMemusage ( LDHandle  _db  ) 

Definition at line 513 of file lbdb.C.

References LDHandle::handle, and LBDB::useMem().

Referenced by LBDatabase::useMem().

CmiBool LDOMidEqual ( const LDOMid i1,
const LDOMid i2 
)

Definition at line 523 of file lbdb.C.

References CmiFalse, CmiTrue, and _LDOMid::id.

Referenced by LBCommData::equal(), ObjGraph::find_node(), BaseLB::LDStats::getHash(), and LBDB::Send().

CmiBool LDObjIDEqual ( const LDObjid i1,
const LDObjid i2 
)

CmiBool _LDOMid::operator== ( const struct _LDOMid omId  )  const [inline, inherited]

Definition at line 46 of file lbdb.h.

References CmiFalse, CmiTrue, and _LDOMid::id.

CmiBool _LDOMid::operator< ( const struct _LDOMid omId  )  const [inline, inherited]

Definition at line 49 of file lbdb.h.

References CmiFalse, CmiTrue, and _LDOMid::id.

CmiBool _LDOMid::operator!= ( const struct _LDOMid omId  )  const [inline, inherited]

Definition at line 52 of file lbdb.h.

References CmiFalse, CmiTrue, and _LDOMid::id.

void _LDOMid::pup ( PUP::er p  )  [inline, inherited]

void LDOMHandle::pup ( PUP::er p  )  [inline, inherited]

CmiBool _LDObjid::operator== ( const struct _LDObjid objid  )  const [inline, inherited]

Definition at line 68 of file lbdb.h.

References CmiFalse, CmiTrue, and _LDObjid::id.

CmiBool _LDObjid::operator< ( const struct _LDObjid objid  )  const [inline, inherited]

Definition at line 72 of file lbdb.h.

References CmiFalse, CmiTrue, and _LDObjid::id.

void _LDObjid::pup ( PUP::er p  )  [inline, inherited]

CmiBool _LDObjKey::operator== ( const _LDObjKey obj  )  const [inline, inherited]

Definition at line 88 of file lbdb.h.

References _LDObjKey::objId, and _LDObjKey::omId.

CmiBool _LDObjKey::operator< ( const _LDObjKey obj  )  const [inline, inherited]

Definition at line 91 of file lbdb.h.

References CmiFalse, CmiTrue, _LDObjKey::objId, and _LDObjKey::omId.

LDOMid& _LDObjKey::omID (  )  [inline, inherited]

LDObjid& _LDObjKey::objID (  )  [inline, inherited]

const LDOMid& _LDObjKey::omID (  )  const [inline, inherited]

Definition at line 98 of file lbdb.h.

References _LDObjKey::omId.

const LDObjid& _LDObjKey::objID (  )  const [inline, inherited]

Definition at line 99 of file lbdb.h.

References _LDObjKey::objId.

void _LDObjKey::pup ( PUP::er p  )  [inline, inherited]

const LDOMid& LDObjHandle::omID (  )  const [inline, inherited]

const LDObjid& LDObjHandle::objID (  )  const [inline, inherited]

void LDObjHandle::pup ( PUP::er p  )  [inline, inherited]

const LDOMHandle& LDObjData::omHandle (  )  const [inline, inherited]

Definition at line 126 of file lbdb.h.

References LDObjHandle::omhandle.

const LDOMid& LDObjData::omID (  )  const [inline, inherited]

const LDObjid& LDObjData::objID (  )  const [inline, inherited]

const LDObjid& LDObjData::id (  )  const [inline, inherited]

Definition at line 129 of file lbdb.h.

References LDObjHandle::id.

void LDObjData::pup ( PUP::er p  )  [inline, inherited]

void LDObjStats::pup ( PUP::er p  )  [inline, inherited]

char& _LDCommDesc::get_type (  )  [inline, inherited]

char _LDCommDesc::get_type (  )  const [inline, inherited]

Definition at line 160 of file lbdb.h.

References _LDCommDesc::type.

int _LDCommDesc::proc (  )  const [inline, inherited]

Definition at line 161 of file lbdb.h.

References _LDCommDesc::dest, and _LDCommDesc::type.

Referenced by LBCommData::compute_key().

void _LDCommDesc::setProc ( int  pe  )  [inline, inherited]

int _LDCommDesc::lastKnown (  )  const [inline, inherited]

Definition at line 163 of file lbdb.h.

References _LDCommDesc::dest, and _LDCommDesc::type.

LDObjKey& _LDCommDesc::get_destObj (  )  [inline, inherited]

LDObjKey const& _LDCommDesc::get_destObj (  )  const [inline, inherited]

Definition at line 170 of file lbdb.h.

References _LDCommDesc::dest, and _LDCommDesc::type.

LDObjKey* _LDCommDesc::get_destObjs ( int len  )  [inline, inherited]

void _LDCommDesc::init_objmsg ( LDOMid omid,
LDObjid objid,
int  destObjProc 
) [inline, inherited]

Definition at line 174 of file lbdb.h.

References _LDCommDesc::dest, and _LDCommDesc::type.

Referenced by LBCommData::LBCommData().

void _LDCommDesc::init_mcastmsg ( LDOMid omid,
LDObjid objid,
int  len 
) [inline, inherited]

Definition at line 180 of file lbdb.h.

References _LDCommDesc::dest, and _LDCommDesc::type.

Referenced by LBCommData::LBCommData().

CmiBool _LDCommDesc::operator== ( const _LDCommDesc obj  )  const [inline, inherited]

LDCommDesc & LDCommDesc::operator= ( const _LDCommDesc c  )  [inline, inherited]

void LDCommDesc::pup ( PUP::er p  )  [inline, inherited]

Definition at line 446 of file lbdb.h.

References _LDCommDesc::dest, PUP::er::isUnpacking(), and _LDCommDesc::type.

int LDCommData::from_proc (  )  const [inline, inherited]

int LDCommData::recv_type (  )  const [inline, inherited]

void LDCommData::pup ( PUP::er p  )  [inline, inherited]

void LDCommData::clearHash (  )  [inline, inherited]

Definition at line 204 of file lbdb.h.

Referenced by LBCommTable::GetCommData().

void LBBalance ( void *  param  ) 

void LBCollectStatsOn ( void   ) 

void LBCollectStatsOff ( void   ) 

void LDMessage ( LDObjHandle  from,
LDOMid  toOM,
LDObjid toID,
int  bytes 
)

void LDEstObjLoad ( LDObjHandle  h,
double  load 
)

PUPbytes ( LDHandle   ) 

Definition at line 355 of file lbdb.h.

PUPmarshall ( LDOMid   ) 

Definition at line 361 of file lbdb.h.

PUPmarshall ( LDObjid   ) 

Definition at line 366 of file lbdb.h.

PUPmarshall ( LDObjKey   ) 

Definition at line 372 of file lbdb.h.

References data.

PUPmarshall ( LDObjStats   ) 

Definition at line 380 of file lbdb.h.

References _LDOMid::id.

PUPmarshall ( LDOMHandle   ) 

Definition at line 396 of file lbdb.h.

References _LDOMid::id.

PUPmarshall ( LDObjHandle   ) 

Definition at line 403 of file lbdb.h.

PUPmarshall ( LDObjData   ) 

Definition at line 418 of file lbdb.h.

References CmiFalse, CmiTrue, dest, and type.

PUPmarshall ( LDCommDesc   ) 

Definition at line 463 of file lbdb.h.

References bytes.

static void handler ( char *  bit_map  )  [static]

Definition at line 18 of file manager.C.

References Converse::CkMyPe(), Converse::CkNumPes(), and set_avail_vector().

Referenced by CmiSignal(), KillOnAllSigs(), and manager_init().

void manager_init (  ) 

Cluster Manager Code, Accpets external bit vectors and then feeds it into the loadbalancer so that programs can shrink and expand.

Definition at line 31 of file manager.C.

References CcsRegisterHandler(), and handler().

Referenced by CreateLBFunc_Def(), GridCommLB::GridCommLB(), GridCommRefineLB::GridCommRefineLB(), GridHybridLB::GridHybridLB(), GridHybridSeedLB::GridHybridSeedLB(), and GridMetisLB::GridMetisLB().

CreateLBFunc_Def ( MetisLB  ,
"Use Metis(tm) to partition object graph  
)

Definition at line 36 of file MetisLB.C.

References Converse::CkMyPe(), and BaseLB::lbname.

void CreateMetisLB (  ) 

BaseLB* AllocateMetisLB (  ) 

void CreateNborBaseLB (  ) 

CreateLBFunc_Def ( NeighborCommLB  ,
"The neighborhood load balancer with communication"   
)

Definition at line 16 of file NeighborCommLB.C.

References Converse::CkMyPe().

void CreateNeighborCommLB (  ) 

CreateLBFunc_Def ( NeighborLB  ,
"The neighborhood load balancer"   
)

Definition at line 10 of file NeighborLB.C.

References Converse::CkMyPe().

void CreateNeighborLB (  ) 

void CreateNullLB ( void   ) 

Definition at line 15 of file NullLB.C.

Referenced by lbinit().

static void migrationDone ( envelope env,
CkCoreState ck 
) [static]

Definition at line 27 of file NullLB.C.

References CkFreeSysMsg(), CkLocalBranch(), EnvToUsr(), NullLB::migrationsDone(), and CkCoreState::watcher.

Referenced by lbprocinit().

static void lbinit ( void   )  [static]

Definition at line 41 of file NullLB.C.

References CreateNullLB(), and LBRegisterBalancer().

static void lbprocinit ( void   )  [static]

Definition at line 45 of file NullLB.C.

References migrationDone().

static void staticStartLB ( void *  data  )  [static]

Definition at line 54 of file NullLB.C.

References Converse::CkMyPe(), and CmiPrintf().

Referenced by NullLB::init(), and NullLB::~NullLB().

CreateLBFunc_Def ( OrbLB  ,
"partition objects based on coordinates"   
)

Definition at line 18 of file OrbLB.C.

References Converse::CkMyPe().

void CreateOrbLB (  ) 

BaseLB* AllocateOrbLB ( void   ) 

CreateLBFunc_Def ( PhasebyArrayLB  ,
"Load balancer which balances many arrays   together,
specifically for CPAIMD"   
)

Definition at line 10 of file PhasebyArrayLB.C.

References Converse::CkMyPe(), CmiAbort(), getLBAllocFn(), CkLBOptions::getSeqNo(), and p.

void CreatePhasebyArrayLB (  ) 

CreateLBFunc_Def ( RandCentLB  ,
"Assign objects to processors randomly"   
)

Definition at line 14 of file RandCentLB.C.

References Converse::CkMyPe().

int chooseProc ( int  count  )  [inline]

Definition at line 28 of file RandCentLB.C.

References CrnDrand().

Referenced by RandCentLB::work().

void CreateRandCentLB (  ) 

void RecursiveBiPart ( ObjGraph ogr,
vector< Vertex * > &  pvertices,
int  parent,
int  nump 
)

void adjustqueues ( ObjGraph ogr,
BQueue que1,
BQueue que2,
vector< Vertex * > &  partition1,
vector< Vertex * > &  partition2,
int initialedgecut,
int  parent 
)

void adjustgain ( ObjGraph ogr,
vector< Vertex * > &  partition,
BQueue que 
)

void RefineBoundary ( ObjGraph ogr,
vector< Vertex * > &  partition1,
vector< Vertex * > &  partition2,
BQueue que1,
BQueue que2,
int  runs,
int  initialedgecut,
int  parent,
double  part1load,
double  part2load,
double  ratio 
)

Definition at line 500 of file RecBipartLB.C.

References BQueue::getVertextoswap(), modifypartitions(), BQueue::q, and ObjGraph::vertices.

Referenced by RecursiveBiPart().

int modifypartitions ( ObjGraph ogr,
vector< Vertex * > &  partition1,
vector< Vertex * > &  partition2,
BQueue q1,
BQueue q2,
int  ec,
int  parent 
)

void swapQ1toQ2 ( ObjGraph ogr,
BQueue q1,
BQueue q2,
int  parent 
)

Definition at line 568 of file RecBipartLB.C.

References BQueue::push(), and removeinSwap().

Referenced by modifypartitions().

Vertex * removeinSwap ( ObjGraph ogr,
BQueue q1,
BQueue q2,
int  parent 
)

Vertex * removePtr ( vector< Vertex * > &  vec,
int  id 
)

Definition at line 697 of file RecBipartLB.C.

References ptr.

Referenced by modifypartitions().

CreateLBFunc_Def ( RecBipartLB  ,
"Algorithm for load balacing based on recursive bipartitioning of object graph  
)

Definition at line 109 of file RecBipartLB.C.

Graph * g_initGraph ( int  v,
int  e 
)

Status: does not support processor avail bitvector does not support nonmigratable attrib.

FIXME: need to remove outlier object load. Outlier object can cause failure of partitioning and often causes: "too few objects to paritition" error.

Definition at line 27 of file graph.c.

References Graph::currentEdge, Graph::currentVertex, Graph::E, Graph::edges, malloc(), Graph::V, and Graph::vertices.

Referenced by RecBisectBfLB::convertGraph().

void g_freeGraph ( Graph g  ) 

Definition at line 41 of file graph.c.

References Graph::edges, free(), and Graph::vertices.

Referenced by RecBisectBfLB::work().

void g_nextVertex ( Graph g,
int  v,
float  w 
)

void g_finishVertex ( Graph g  ) 

void g_addEdge ( Graph g,
int  w,
float  w2 
)

float graph_weightof ( Graph g,
int  vertex 
)

Definition at line 163 of file graph.c.

References Graph::vertices, and VertexRecord::weight.

Referenced by RecBisectBfLB::addToQ(), and RecBisectBfLB::partitionInTwo().

int g_numNeighbors ( Graph g,
int  node 
)

Definition at line 147 of file graph.c.

References VertexRecord::numEdges, and Graph::vertices.

Referenced by RecBisectBfLB::enqChildren().

int g_getNeighbor ( Graph g,
int  d,
int  i 
)

void g_printGraph ( Graph g  ) 

CreateLBFunc_Def ( RecBisectBfLB  ,
"Recursive partitioning with Breadth first enumeration"   
)

Definition at line 42 of file RecBisectBfLB.C.

References Converse::CkMyPe().

void CreateRecBisectBfLB (  ) 

BaseLB* AllocateRecBisectBfLB (  ) 

CreateLBFunc_Def ( RefineCommLB  ,
"Average load among processors by moving objects away from overloaded   processor,
communication aware"   
)

Definition at line 10 of file RefineCommLB.C.

References Converse::CkMyPe().

void CreateRefineCommLB (  ) 

BaseLB* AllocateRefineCommLB (  ) 

CreateLBFunc_Def ( RefineKLB  ,
"Move objects away from overloaded processor to reach average"   
)

Definition at line 14 of file RefineKLB.C.

References Converse::CkMyPe().

void CreateRefineKLB (  ) 

BaseLB* AllocateRefineKLB (  ) 

CreateLBFunc_Def ( RefineLB  ,
"Move objects away from overloaded processor to reach average"   
)

Definition at line 10 of file RefineLB.C.

References Converse::CkMyPe().

void CreateRefineLB (  ) 

BaseLB* AllocateRefineLB (  ) 

Referenced by CreateLBFunc_Def().

CreateLBFunc_Def ( RefineSwapLB  ,
"always assign the heaviest obj onto lightest loaded processor."   
)

Definition at line 23 of file RefineSwapLB.C.

References Converse::CkMyPe().

void addObjToProc ( ProcArray parr,
ObjGraph ogr,
std::vector< int > *  pe_obj,
int  pe_index,
int  obj_index 
) [inline]

Definition at line 66 of file RefineSwapLB.C.

References ProcArray::procs, and ObjGraph::vertices.

Referenced by IsSwapPossWithPe(), and refine().

void removeObjFromProc ( ProcArray parr,
ObjGraph ogr,
std::vector< int > *  pe_obj,
int  pe_index,
int  arr_index 
) [inline]

Definition at line 79 of file RefineSwapLB.C.

References ProcArray::procs, and ObjGraph::vertices.

Referenced by IsSwapPossWithPe(), and refine().

int getMax ( ProcArray parr,
std::vector< int > &  max_pe_heap 
) [inline]

Definition at line 91 of file RefineSwapLB.C.

Referenced by bbox3d::print(), and RefineSwapLB::work().

bool refine ( ProcArray parr,
ObjGraph ogr,
std::vector< int > &  max_pe_heap,
std::vector< int > &  min_pe_heap,
std::vector< int > *  pe_obj,
int  max_pe,
double  avg_load,
double  threshold 
)

bool IsSwapPossWithPe ( ProcArray parr,
ObjGraph ogr,
std::vector< int > *  pe_obj,
std::vector< int > &  max_pe_heap,
std::vector< int > &  min_pe_heap,
int  max_pe,
int  pe_considered,
int  pe_cons_iter,
double  diff,
double  avg_load,
double  threshold 
)

Definition at line 157 of file RefineSwapLB.C.

References addObjToProc(), ProcArray::procs, removeObjFromProc(), size, and ObjGraph::vertices.

Referenced by refineSwap().

bool refineSwap ( ProcArray parr,
ObjGraph ogr,
std::vector< int > &  max_pe_heap,
std::vector< int > &  min_pe_heap,
std::vector< int > *  pe_obj,
int  max_pe,
double  avg_load,
double  threshold 
)

Definition at line 211 of file RefineSwapLB.C.

References diff, IsSwapPossWithPe(), ProcArray::procs, and sort().

Referenced by RefineSwapLB::work().

void CreateRefineSwapLB (  ) 

BaseLB* AllocateRefineSwapLB (  ) 

CreateLBFunc_Def ( ScotchLB  ,
"Load balancing using the Scotch graph partitioning library"   
)

Definition at line 18 of file ScotchLB.C.

References Converse::CkMyPe().

void CreateScotchLB (  ) 

CreateLBFunc_Def ( ScotchRefineLB  ,
"Load balancing using the Scotch graph partitioning library"   
)

Definition at line 15 of file ScotchRefineLB.C.

References Converse::CkMyPe().

void CreateScotchRefineLB (  ) 

CreateLBFunc_Def ( ScotchTopoLB  ,
"Load balancing using the Scotch graph partitioning library"   
)

Definition at line 19 of file ScotchTopoLB.C.

References Converse::CkMyPe().

void CreateScotchTopoLB (  ) 

CreateLBFunc_Def ( TeamLB  ,
"Use Metis(tm) to partition object graph at two levels: team level and processor level  
)

Definition at line 15 of file TeamLB.C.

References _lb_args, Converse::CkMyPe(), Converse::CkNumPes(), CkLBArgs::teamSize(), and teamSize.

void CreateTeamLB (  ) 

BaseLB* AllocateTeamLB (  ) 

CreateLBFunc_Def ( TempAwareGreedyLB  ,
"always assign the heaviest obj onto lightest loaded processor."   
)

Definition at line 20 of file TempAwareGreedyLB.C.

References Converse::CkMyPe().

void CreateTempAwareGreedyLB (  ) 

BaseLB* AllocateTempAwareGreedyLB (  ) 

CreateLBFunc_Def ( TreeMatchLB  ,
"TreeMatch load   balancer,
like a normal one but with empty strategy"   
)

Definition at line 15 of file TreeMatchLB.C.

References Converse::CkMyPe().

double* get_comm_speed ( int depth  ) 

Definition at line 32 of file TreeMatchLB.C.

References malloc().

tm_topology_t* build_abe_topology ( int  nb_procs  ) 

Definition at line 47 of file TreeMatchLB.C.

References build_synthetic_topology().

Referenced by TreeMatchLB::work().

void CreateTreeMatchLB (  ) 

CreateLBFunc_Def ( WSLB  ,
"Workstation load balancer"   
)

Definition at line 23 of file WSLB.C.

References WSLB::Migrated().

void CreateWSLB (  ) 

static int get_number_of_vertices ( void *  data,
int ierr 
) [static]

Definition at line 269 of file ZoltanLB.C.

References HGRAPH_DATA::numMyVertices.

Referenced by ZoltanLB::work().

static void get_vertex_list ( void *  data,
int  sizeGID,
int  sizeLID,
ZOLTAN_ID_PTR  globalID,
ZOLTAN_ID_PTR  localID,
int  wgt_dim,
float *  obj_wgts,
int ierr 
) [static]

Definition at line 276 of file ZoltanLB.C.

References HGRAPH_DATA::numMyVertices, HGRAPH_DATA::vtxGID, and HGRAPH_DATA::vtxWgt.

Referenced by ZoltanLB::work().

static void get_hypergraph_size ( void *  data,
int num_lists,
int num_nonzeroes,
int format,
int ierr 
) [static]

Definition at line 296 of file ZoltanLB.C.

References HGRAPH_DATA::numAllNbors, and HGRAPH_DATA::numMyHEdges.

Referenced by ZoltanLB::work().

static void get_hypergraph ( void *  data,
int  sizeGID,
int  num_edges,
int  num_nonzeroes,
int  format,
ZOLTAN_ID_PTR  edgeGID,
int vtxPtr,
ZOLTAN_ID_PTR  vtxGID,
int ierr 
) [static]

static void get_hypergraph_edge_size ( void *  data,
int num_edges,
int ierr 
) [static]

Definition at line 341 of file ZoltanLB.C.

References HGRAPH_DATA::numMyHEdges.

Referenced by ZoltanLB::work().

static void get_hypergraph_edge_wgts ( void *  data,
int  numGID,
int  numLID,
int  num_edges,
int  edge_weight_dim,
ZOLTAN_ID_PTR  edgeGID,
ZOLTAN_ID_PTR  edgeLID,
float *  edge_wgts,
int ierr 
) [static]

Definition at line 347 of file ZoltanLB.C.

References HGRAPH_DATA::edgeGID, and HGRAPH_DATA::edgWgt.

Referenced by ZoltanLB::work().

CreateLBFunc_Def ( ZoltanLB  ,
"Use Zoltan(tm) to partition object graph  
)

Definition at line 57 of file ZoltanLB.C.

References Converse::CkMyPe().

void CreateZoltanLB (  ) 

BaseLB* AllocateZoltanLB (  ) 

template<int ppn>
virtual int LBTopo_smp_n< ppn >::max_neighbors (  )  [inline, virtual, inherited]

Implements LBTopology.

Definition at line 135 of file topology.C.

References LBTopology::npes.

template<int ppn>
virtual void LBTopo_smp_n< ppn >::neighbors ( int  mype,
int _n,
int nb 
) [inline, virtual, inherited]

Implements LBTopology.

Definition at line 137 of file topology.C.

References LBTopology::npes.

template<int ppn>
int LBTopo_smp_n< ppn >::get_hop_count ( int  src,
int  dest 
) [inline, virtual, inherited]

Reimplemented from LBTopology.

Definition at line 145 of file topology.C.

LBTOPO_MACRO ( LBTopo_smp_n_1   ) 

Definition at line 173 of file topology.C.

References LBTopology::npes.

LBTOPO_MACRO ( LBTopo_torus2d   ) 

Definition at line 215 of file topology.C.

References LBTopology::npes, and width().

static int checkuniq ( int arr,
int  nb,
int  val 
) [static]

LBTOPO_MACRO ( LBTopo_torus3d   ) 

Definition at line 393 of file topology.C.

References LBTopology::npes, and LBTopo_torus2d::width.

LBTOPO_MACRO ( LBTopo_mesh3d   ) 

Definition at line 497 of file topology.C.

References LBTopology::npes, and LBTopo_torus3d::width.

template<int dimension>
int LBTopo_torus_nd< dimension >::GetNeighborID ( int  ProcessorID,
int  number 
) [inline, private, inherited]

template<int dimension>
LBTopo_torus_nd< dimension >::LBTopo_torus_nd ( int  p  )  [inline, inherited]

Definition at line 598 of file topology.C.

template<int dimension>
LBTopo_torus_nd< dimension >::~LBTopo_torus_nd (  )  [inline, inherited]

Definition at line 615 of file topology.C.

template<int dimension>
virtual int LBTopo_torus_nd< dimension >::max_neighbors (  )  [inline, virtual, inherited]

Implements LBTopology.

Definition at line 619 of file topology.C.

template<int dimension>
virtual void LBTopo_torus_nd< dimension >::neighbors ( int  mype,
int _n,
int nb 
) [inline, virtual, inherited]

Implements LBTopology.

Definition at line 622 of file topology.C.

template<int dimension>
virtual int LBTopo_torus_nd< dimension >::get_dimension (  )  [inline, virtual, inherited]

Reimplemented from LBTopology.

Definition at line 629 of file topology.C.

template<int dimension>
virtual bool LBTopo_torus_nd< dimension >::get_processor_coordinates ( int  processor_id,
int processor_coordinates 
) [inline, virtual, inherited]

Reimplemented from LBTopology.

Definition at line 632 of file topology.C.

template<int dimension>
virtual bool LBTopo_torus_nd< dimension >::get_processor_id ( const int processor_coordinates,
int processor_id 
) [inline, virtual, inherited]

Reimplemented from LBTopology.

Definition at line 641 of file topology.C.

template<int dimension>
virtual bool LBTopo_torus_nd< dimension >::coordinate_difference ( const int my_coordinates,
const int target_coordinates,
int difference 
) [inline, virtual, inherited]

Reimplemented from LBTopology.

Definition at line 654 of file topology.C.

References abs().

template<int dimension>
virtual bool LBTopo_torus_nd< dimension >::coordinate_difference ( int  my_processor_id,
int  target_processor_id,
int difference 
) [inline, virtual, inherited]

Reimplemented from LBTopology.

Definition at line 673 of file topology.C.

References LBTopology::coordinate_difference(), and LBTopology::get_processor_coordinates().

LBTOPO_MACRO ( LBTopo_torus_nd_1   ) 

LBTOPO_MACRO ( LBTopo_torus_nd_smp_1   ) 

LBTOPO_MACRO ( LBTopo_itorus_nd_1   ) 

LBTOPO_MACRO ( LBTopo_imesh_nd_1   ) 

Definition at line 1097 of file topology.C.

void gengraph ( int  ,
int  ,
int  ,
int ,
int ,
int   
)

template<int dimension>
int LBTopo_graph_nc< dimension >::max_neighbors (  )  [inline, virtual, inherited]

Implements LBTopology.

Definition at line 1128 of file topology.C.

template<int dimension>
void LBTopo_graph_nc< dimension >::neighbors ( int  mype,
int na,
int nb 
) [inline, virtual, inherited]

Implements LBTopology.

Definition at line 1133 of file topology.C.

References gengraph().

LBTOPO_MACRO ( LBTopo_graph_nc_2   ) 

LBTOPO_MACRO ( LBTopo_complete   ) 

LBTOPO_MACRO ( LBTopo_2_arytree   ) 

Definition at line 1210 of file topology.C.

References p, and s.

LBTopoVec::LBTopoVec (  )  [inline, inherited]

Definition at line 1230 of file topology.C.

LBTopoVec::~LBTopoVec (  )  [inline, inherited]

Definition at line 1298 of file topology.C.

void LBTopoVec::push_back ( LBTopoMap *  map  )  [inline, inherited]

Definition at line 1302 of file topology.C.

int LBTopoVec::length ( void   )  [inline, inherited]

Definition at line 1303 of file topology.C.

Referenced by LBTopoLookup().

LBTopoMap* LBTopoVec::operator[] ( size_t  n  )  [inline, inherited]

Definition at line 1304 of file topology.C.

void LBTopoVec::print (  )  [inline, inherited]

Definition at line 1305 of file topology.C.

References CmiPrintf().

Referenced by printoutTopo().

LBtopoFn LBTopoLookup ( char *  name  ) 

void getTopoNeighbors ( void *  topo,
int  myid,
int narray,
int n 
)

Definition at line 1324 of file topology.C.

Referenced by CldComputeNeighborData().

int getTopoMaxNeighbors ( void *  topo  ) 

Definition at line 1329 of file topology.C.

Referenced by CldComputeNeighborData().

void printoutTopo (  ) 

LBTopology::LBTopology ( int  p  )  [inline, inherited]

Definition at line 19 of file topology.h.

Referenced by LBTOPO_MACRO().

virtual LBTopology::~LBTopology (  )  [inline, virtual, inherited]

Definition at line 20 of file topology.h.

virtual int LBTopology::max_neighbors (  )  [pure virtual, inherited]

virtual void LBTopology::neighbors ( int  mype,
int _n,
int nb 
) [pure virtual, inherited]

virtual int LBTopology::get_dimension (  )  [inline, virtual, inherited]

Reimplemented in LBTopo_torus_nd< dimension >.

Definition at line 24 of file topology.h.

Referenced by LBTOPO_MACRO(), and NeighborCommLB::Strategy().

virtual bool LBTopology::get_processor_coordinates ( int  processor_id,
int processor_coordinates 
) [inline, virtual, inherited]

virtual bool LBTopology::get_processor_id ( const int processor_coordinates,
int processor_id 
) [inline, virtual, inherited]

Reimplemented in LBTopo_torus_nd< dimension >.

Definition at line 26 of file topology.h.

Referenced by LBTopo_torus_nd< dimension >::GetNeighborID(), and LBTOPO_MACRO().

virtual bool LBTopology::coordinate_difference ( const int my_coordinates,
const int target_coordinates,
int difference 
) [inline, virtual, inherited]

virtual bool LBTopology::coordinate_difference ( int  my_processor_id,
int  target_processor_id,
int difference 
) [inline, virtual, inherited]

Reimplemented in LBTopo_torus_nd< dimension >.

Definition at line 28 of file topology.h.

int LBTopology::get_hop_count ( int  src,
int  dest 
) [virtual, inherited]

int LBTopology::rec_hop_count ( int  src,
int  dest,
int  max_neigh,
int  count,
int visited_srcs,
int  min_hop_cnt 
) [virtual, inherited]

Definition at line 31 of file topology.C.

References LBTopology::neighbors().

Referenced by LBTopology::get_hop_count().

double LBTopology::per_hop_delay ( int  last_hop  )  [virtual, inherited]

Definition at line 72 of file topology.C.

void LBTopology::get_pairwise_hop_count ( double **  dist  )  [virtual, inherited]

virtual int LBTopo_ring::max_neighbors (  )  [virtual, inherited]

Implements LBTopology.

void LBTopo_ring::neighbors ( int  mype,
int _n,
int nb 
) [virtual, inherited]

Implements LBTopology.

Definition at line 195 of file topology.C.

References LBTopology::npes.

int LBTopo_ring::get_hop_count ( int  src,
int  dest 
) [virtual, inherited]

Reimplemented from LBTopology.

Definition at line 202 of file topology.C.

References LBTopology::npes.

int LBTopo_torus2d::goodcoor ( int  x,
int  y 
) [private, inherited]

Definition at line 228 of file topology.C.

References LBTopo_torus2d::width.

Referenced by LBTopo_torus2d::neighbors().

LBTopo_torus2d::LBTopo_torus2d ( int  p  )  [inherited]

int LBTopo_torus2d::max_neighbors (  )  [virtual, inherited]

Implements LBTopology.

Definition at line 223 of file topology.C.

void LBTopo_torus2d::neighbors ( int  mype,
int _n,
int nb 
) [virtual, inherited]

Implements LBTopology.

Definition at line 242 of file topology.C.

References checkuniq(), LBTopo_torus2d::goodcoor(), and LBTopo_torus2d::width.

int LBTopo_torus2d::get_hop_count ( int  src,
int  dest 
) [virtual, inherited]

Reimplemented from LBTopology.

Definition at line 271 of file topology.C.

References LBTopology::npes, and LBTopo_torus2d::width.

int LBTopo_torus3d::goodcoor ( int  x,
int  y,
int  z 
) [private, inherited]

Definition at line 407 of file topology.C.

References LBTopo_torus3d::width.

Referenced by LBTopo_torus3d::neighbors().

LBTopo_torus3d::LBTopo_torus3d ( int  p  )  [inherited]

int LBTopo_torus3d::max_neighbors (  )  [virtual, inherited]

Implements LBTopology.

Definition at line 402 of file topology.C.

void LBTopo_torus3d::neighbors ( int  mype,
int _n,
int nb 
) [virtual, inherited]

Implements LBTopology.

Definition at line 417 of file topology.C.

References checkuniq(), LBTopo_torus3d::goodcoor(), and LBTopo_torus3d::width.

int LBTopo_mesh3d::goodcoor ( int  x,
int  y,
int  z 
) [private, inherited]

Definition at line 511 of file topology.C.

References LBTopo_mesh3d::width.

Referenced by LBTopo_mesh3d::neighbors().

LBTopo_mesh3d::LBTopo_mesh3d ( int  p  )  [inherited]

int LBTopo_mesh3d::max_neighbors (  )  [virtual, inherited]

Implements LBTopology.

Definition at line 506 of file topology.C.

Referenced by LBTopo_torus_nd< dimension >::GetNeighborID(), and LBTOPO_MACRO().

void LBTopo_mesh3d::neighbors ( int  mype,
int _n,
int nb 
) [virtual, inherited]

Implements LBTopology.

Definition at line 521 of file topology.C.

References checkuniq(), LBTopo_mesh3d::goodcoor(), and LBTopo_mesh3d::width.

Referenced by LBTOPO_MACRO().

virtual int LBTopo_graph::max_neighbors (  )  [virtual, inherited]

Implements LBTopology.

Referenced by LBTOPO_MACRO().

void LBTopo_graph::neighbors ( int  mype,
int _n,
int nb 
) [virtual, inherited]

Implements LBTopology.

Definition at line 1117 of file topology.C.

References gengraph().

Referenced by LBTOPO_MACRO().

void printPartition ( Graph g,
int  nodes[],
int  numNodes 
)

Definition at line 11 of file graph.c.

References printf().

int intSqrt ( int  x  ) 

Definition at line 20 of file graph.c.

Referenced by generateRandomGraph().

Graph * generateRandomGraph ( int  numNodes  ) 

void BaseLB::initLB ( const CkLBOptions opt  )  [private, inherited]

Reimplemented in CentralLB.

Definition at line 12 of file BaseLB.C.

References _lbdb, LBDatabase::addLoadbalancer(), CkLBOptions::getSeqNo(), BaseLB::lbname, BaseLB::seqno, and BaseLB::theLbdb.

Referenced by BaseLB::BaseLB(), and BaseLB::pup().

BaseLB::~BaseLB (  )  [virtual, inherited]

Definition at line 25 of file BaseLB.C.

void BaseLB::unregister (  )  [inherited]

Definition at line 29 of file BaseLB.C.

References LBDatabase::RemoveLocalBarrierReceiver(), and BaseLB::theLbdb.

void BaseLB::pup ( PUP::er p  )  [virtual, inherited]

void BaseLB::flushStates (  )  [virtual, inherited]

Definition at line 49 of file BaseLB.C.

References LBDatabase::ClearLoads(), and BaseLB::theLbdb.

BaseLB::LDStats::LDStats ( int  c = 0,
int  complete_flag = 1 
) [inherited]

Definition at line 71 of file BaseLB.C.

References Converse::CkNumPes(), BaseLB::LDStats::count, and BaseLB::LDStats::procs.

void BaseLB::LDStats::makeCommHash (  )  [inherited]

void BaseLB::LDStats::deleteCommHash (  )  [inherited]

int BaseLB::LDStats::getHash ( const LDObjid oid,
const LDOMid mid 
) [inherited]

int BaseLB::LDStats::getHash ( const LDObjKey objKey  )  [inherited]

int BaseLB::LDStats::getSendHash ( LDCommData cData  )  [inherited]

Definition at line 205 of file BaseLB.C.

References BaseLB::LDStats::getHash(), LDCommData::sender, and LDCommData::sendHash.

int BaseLB::LDStats::getRecvHash ( LDCommData cData  )  [inherited]

void BaseLB::LDStats::clearCommHash (  )  [inherited]

Definition at line 221 of file BaseLB.C.

References BaseLB::LDStats::commData, and BaseLB::LDStats::n_comm.

void BaseLB::LDStats::computeNonlocalComm ( int nmsgs,
int nbytes 
) [inherited]

void BaseLB::LDStats::normalize_speed (  )  [inherited]

void BaseLB::LDStats::print (  )  [inherited]

double BaseLB::LDStats::computeAverageLoad (  )  [inherited]

void BaseLB::LDStats::removeObject ( int  obj  )  [inherited]

void BaseLB::LDStats::pup ( PUP::er p  )  [inherited]

int BaseLB::LDStats::useMem (  )  [inherited]

void CentralLB::staticMigrated ( void *  me,
LDObjHandle  h,
int  waitBarrier = 1 
) [static, inherited]

Definition at line 63 of file CentralLB.C.

References CentralLB::Migrated().

Referenced by CentralLB::initLB().

void CentralLB::staticAtSync ( void *  data  )  [static, inherited]

Definition at line 69 of file CentralLB.C.

References CentralLB::AtSync().

Referenced by CentralLB::initLB().

void CentralLB::initLB ( const CkLBOptions opt  )  [private, inherited]

CentralLB::~CentralLB (  )  [virtual, inherited]

void CentralLB::turnOn (  )  [virtual, inherited]

Reimplemented from BaseLB.

Definition at line 138 of file CentralLB.C.

References LBDatabase::getLBDB(), BaseLB::notifier, BaseLB::startLbFnHdl, and BaseLB::theLbdb.

void CentralLB::turnOff (  )  [virtual, inherited]

Reimplemented from BaseLB.

Definition at line 150 of file CentralLB.C.

References LBDatabase::getLBDB(), BaseLB::notifier, BaseLB::startLbFnHdl, and BaseLB::theLbdb.

Referenced by CentralLB::initLB().

void CentralLB::AtSync ( void   )  [inherited]

void CentralLB::ProcessAtSync ( void   )  [inherited]

void CentralLB::ReceiveCounts ( CkReductionMsg *  msg  )  [inherited]

void CentralLB::BuildStatsMsg (  )  [private, inherited]

void CentralLB::SendStats (  )  [inherited]

void CentralLB::Migrated ( LDObjHandle  h,
int  waitBarrier = 1 
) [inherited]

void CentralLB::MissMigrate ( int  waitForBarrier  )  [inherited]

Definition at line 358 of file CentralLB.C.

References CentralLB::Migrated().

void CentralLB::buildStats (  )  [private, inherited]

void CentralLB::depositData ( CLBStatsMsg m  )  [inherited]

void CentralLB::ReceiveStats ( CkMarshalledCLBStatsMessage msg  )  [inherited]

void CentralLB::ReceiveStatsViaTree ( CkMarshalledCLBStatsMessage msg  )  [inherited]

void CentralLB::LoadBalance ( void   )  [inherited]

void CentralLB::removeNonMigratable ( LDStats *  statsDataList,
int  count 
) [protected, inherited]

void CentralLB::ReceiveMigration ( LBMigrateMsg m  )  [inherited]

void CentralLB::ProcessReceiveMigration ( CkReductionMsg *  msg  )  [inherited]

void CentralLB::ReceiveDummyMigration ( int  _step  )  [inherited]

void CentralLB::MigrationDone ( int  balancing  )  [inherited]

void CentralLB::endMigrationDone ( int  balancing  )  [inherited]

void CentralLB::ResumeClients ( CkReductionMsg *  msg  )  [inherited]

Definition at line 965 of file CentralLB.C.

References CentralLB::ResumeClients().

void CentralLB::ResumeClients ( int  balancing  )  [inherited]

void CentralLB::CheckMigrationComplete (  )  [inherited]

void CentralLB::preprocess ( LDStats *  stats  )  [inherited]

LBMigrateMsg * CentralLB::Strategy ( LDStats *  stats  )  [virtual, inherited]

void CentralLB::work ( LDStats *  stats  )  [virtual, inherited]

Definition at line 1077 of file CentralLB.C.

Referenced by CentralLB::Strategy(), PhasebyArrayLB::work(), and HybridLB::work().

LBMigrateMsg * CentralLB::createMigrateMsg ( LDStats *  stats  )  [virtual, inherited]

LBMigrateMsg * CentralLB::extractMigrateMsg ( LBMigrateMsg m,
int  p 
) [virtual, inherited]

void CentralLB::simulationWrite (  )  [protected, inherited]

void CentralLB::simulationRead (  )  [protected, inherited]

void CentralLB::readStatsMsgs ( const char *  filename  )  [inherited]

void CentralLB::writeStatsMsgs ( const char *  filename  )  [inherited]

void CentralLB::findSimResults ( LDStats *  stats,
int  count,
LBMigrateMsg msg,
LBSimulation simResults 
) [protected, inherited]

void CentralLB::pup ( PUP::er p  )  [virtual, inherited]

int CentralLB::useMem (  )  [virtual, inherited]

CLBStatsMsg::CLBStatsMsg ( int  osz,
int  csz 
) [inherited]

CLBStatsMsg is not a real message now.

CLBStatsMsg is used for all processors to fill in their local load and comm statistics and send to processor 0

Definition at line 1376 of file CentralLB.C.

References CLBStatsMsg::avail_vector, CLBStatsMsg::commData, CLBStatsMsg::n_comm, CLBStatsMsg::n_objs, and CLBStatsMsg::objData.

CLBStatsMsg::~CLBStatsMsg (  )  [inherited]

void CLBStatsMsg::pup ( PUP::er p  )  [inherited]

void CkMarshalledCLBStatsMessage::free (  )  [inherited]

void CkMarshalledCLBStatsMessage::add ( CkMarshalledCLBStatsMessage msg  )  [inherited]

void CkMarshalledCLBStatsMessage::pup ( PUP::er p  )  [inherited]

SpanningTree::SpanningTree (  )  [inherited]

void SpanningTree::calcParent ( int  n  )  [inherited]

Definition at line 1465 of file CentralLB.C.

References SpanningTree::arity, and SpanningTree::parent.

Referenced by SpanningTree::SpanningTree().

void SpanningTree::calcNumChildren ( int  n  )  [inherited]

void CentralLB::staticPredictorOn ( void *  data,
void *  model 
) [static, inherited]

Definition at line 10 of file CentralPredictor.C.

References CentralLB::predictorOn().

Referenced by CentralLB::initLB().

void CentralLB::staticPredictorOnWin ( void *  data,
void *  model,
int  wind 
) [static, inherited]

Definition at line 16 of file CentralPredictor.C.

References CentralLB::predictorOn().

Referenced by CentralLB::initLB().

void CentralLB::staticPredictorOff ( void *  data  )  [static, inherited]

Definition at line 22 of file CentralPredictor.C.

References CentralLB::predictorOff().

Referenced by CentralLB::initLB().

void CentralLB::staticChangePredictor ( void *  data,
void *  model 
) [static, inherited]

Definition at line 28 of file CentralPredictor.C.

References CentralLB::changePredictor().

Referenced by CentralLB::initLB().

ProcArray::ProcArray ( BaseLB::LDStats stats  )  [inherited]

void ProcArray::resetTotalLoad (  )  [inherited]

ObjGraph::ObjGraph ( BaseLB::LDStats stats  )  [inherited]

void ObjGraph::convertDecisions ( BaseLB::LDStats stats  )  [inherited]

minHeap::minHeap ( int  size  )  [inherited]

Definition at line 14 of file ckheap.C.

References minHeap::count, minHeap::h, and minHeap::size.

minHeap::~minHeap (  )  [inherited]

Definition at line 21 of file ckheap.C.

References minHeap::h.

int minHeap::insert ( InfoRecord x  )  [inherited]

InfoRecord * minHeap::deleteMin (  )  [inherited]

InfoRecord * minHeap::iterator ( heapIterator iter  )  [inherited]

Definition at line 92 of file ckheap.C.

References minHeap::count, minHeap::h, heapRecord::info, and heapIterator::next.

InfoRecord * minHeap::next ( heapIterator iter  )  [inherited]

Definition at line 98 of file ckheap.C.

References minHeap::count, minHeap::h, heapRecord::info, and heapIterator::next.

int minHeap::least ( int  a,
int  b,
int  c 
) [private, inherited]

Definition at line 105 of file ckheap.C.

References minHeap::h, heapRecord::info, and InfoRecord::load.

Referenced by minHeap::update().

void minHeap::update ( InfoRecord x  )  [inherited]

Definition at line 119 of file ckheap.C.

References CmiAbort(), minHeap::h, and minHeap::numElements().

Referenced by minHeap::update(), and GreedyCommLB::work().

void minHeap::update ( int  index  )  [private, inherited]

maxHeap::maxHeap ( int  size  )  [inherited]

Definition at line 160 of file ckheap.C.

References maxHeap::count, maxHeap::h, and maxHeap::size.

maxHeap::~maxHeap (  )  [inherited]

Definition at line 167 of file ckheap.C.

References maxHeap::h.

int maxHeap::numElements (  )  [inherited]

Definition at line 172 of file ckheap.C.

References maxHeap::count.

Referenced by NeighborCommLB::Strategy().

int maxHeap::insert ( InfoRecord x  )  [inherited]

InfoRecord * maxHeap::deleteMax (  )  [inherited]

InfoRecord * maxHeap::iterator ( heapIterator iter  )  [inherited]

Definition at line 243 of file ckheap.C.

References maxHeap::count, maxHeap::h, heapRecord::info, and heapIterator::next.

InfoRecord * maxHeap::next ( heapIterator iter  )  [inherited]

Definition at line 250 of file ckheap.C.

References maxHeap::count, maxHeap::h, heapRecord::info, and heapIterator::next.

Set::Set (  )  [inherited]

Definition at line 8 of file ckset.C.

References Set::head.

Set::~Set (  )  [inherited]

Definition at line 13 of file ckset.C.

References Set::head, listNode::next, and p.

void Set::insert ( InfoRecord info  )  [inherited]

void Set::myRemove ( listNode **  n,
InfoRecord r 
) [inherited]

Definition at line 36 of file ckset.C.

References listNode::next.

void Set::remove ( InfoRecord r  )  [inherited]

int Set::find ( InfoRecord r  )  [inherited]

Definition at line 70 of file ckset.C.

References Set::head, listNode::info, listNode::next, and p.

Referenced by Set::insert().

InfoRecord * Set::iterator ( Iterator iter  )  [inherited]

InfoRecord * Set::next ( Iterator iter  )  [inherited]

int Set::numElements (  )  [inherited]

void Set::print (  )  [inherited]

Definition at line 114 of file ckset.C.

References Set::head, InfoRecord::Id, listNode::info, listNode::next, p, and printf().

void ComboCentLB::work ( LDStats stats  )  [protected, virtual, inherited]

CmiBool CommAwareRefineLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 58 of file CommAwareRefineLB.C.

References CmiTrue.

void CommAwareRefineLB::work ( LDStats stats  )  [inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

============================== CLEANUP ================================

Definition at line 150 of file CommAwareRefineLB.C.

References _lb_args, Converse::CkMyPe(), ObjGraph::convertDecisions(), CkLBArgs::debug(), ProcArray::getAverageLoad(), getPossiblePes(), ProcInfo::getProcId(), handleTransfer(), p, popFromProcHeap(), ProcArray::procs, stats::time(), updateLoadInfo(), and ObjGraph::vertices.

CmiBool CommLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 35 of file CommLB.C.

References CmiTrue.

void CommLB::alloc ( int  pe,
int  id,
double  load,
int  nmsg,
int  nbyte 
) [private, inherited]

double CommLB::compute_cost ( int  id,
int  pe,
int  n_alloc,
int out_msg,
int out_byte 
) [private, inherited]

void CommLB::add_graph ( int  x,
int  y,
int  data,
int  nmsg 
) [private, inherited]

Definition at line 86 of file CommLB.C.

References graph::data, graph::id, graph::next, graph::nmsg, CommLB::object_graph, and ptr.

Referenced by CommLB::work().

void CommLB::work ( LDStats stats  )  [private, inherited]

ObjectHeap::ObjectHeap ( int  size  )  [inherited]

Definition at line 9 of file CommLBHeap.C.

References ObjectHeap::count, ObjectHeap::h, and ObjectHeap::size.

int ObjectHeap::numElements (  )  [inherited]

Definition at line 15 of file CommLBHeap.C.

References ObjectHeap::count.

int ObjectHeap::insert ( ObjectRecord x  )  [inherited]

ObjectRecord * ObjectHeap::deleteMax (  )  [inherited]

ObjectRecord * ObjectHeap::iterator ( hIterator iter  )  [inherited]

Definition at line 79 of file CommLBHeap.C.

References ObjectHeap::count, ObjectHeap::h, hRecord::info, and hIterator::next.

ObjectRecord * ObjectHeap::next ( hIterator iter  )  [inherited]

Definition at line 86 of file CommLBHeap.C.

References ObjectHeap::count, ObjectHeap::h, hRecord::info, and hIterator::next.

CmiBool DummyLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 19 of file DummyLB.C.

References CmiTrue.

CmiBool GraphBFTLB::QueryBalanceNow ( int  _step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 26 of file GraphBFTLB.C.

References CmiTrue.

void GraphBFTLB::work ( LDStats stats  )  [inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

============================== CLEANUP ================================

Definition at line 30 of file GraphBFTLB.C.

References ObjGraph::convertDecisions(), ProcArray::getAverageLoad(), ProcArray::procs, ProcArray::resetTotalLoad(), and ObjGraph::vertices.

CmiBool GraphPartLB::QueryBalanceNow ( int  _step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 25 of file GraphPartLB.C.

References CmiTrue.

void GraphPartLB::work ( LDStats stats  )  [inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

============================== CLEANUP ================================

Definition at line 29 of file GraphPartLB.C.

References ObjGraph::convertDecisions().

CmiBool GreedyAgentLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 35 of file GreedyAgentLB.C.

References CmiTrue.

CmiBool GreedyAgentLB::Compare ( double  x,
double  y,
HeapCmp  cmp 
) [private, inherited]

Definition at line 41 of file GreedyAgentLB.C.

References CmiFalse, CmiTrue, and GreedyAgentLB::GT.

Referenced by GreedyAgentLB::Heapify().

void GreedyAgentLB::Heapify ( HeapData heap,
int  node,
int  heapSize,
HeapCmp  cmp 
) [private, inherited]

void GreedyAgentLB::BuildHeap ( HeapData data,
int  heapSize,
HeapCmp  cmp 
) [private, inherited]

Definition at line 73 of file GreedyAgentLB.C.

References GreedyAgentLB::Heapify().

Referenced by GreedyAgentLB::BuildCpuArray(), and GreedyAgentLB::HeapSort().

void GreedyAgentLB::HeapSort ( HeapData data,
int  heapSize,
HeapCmp  cmp 
) [private, inherited]

GreedyAgentLB::HeapData * GreedyAgentLB::BuildObjectArray ( CentralLB::LDStats stats,
int  count,
int objCount 
) [private, inherited]

GreedyAgentLB::HeapData * GreedyAgentLB::BuildCpuArray ( CentralLB::LDStats stats,
int  count,
int peCount 
) [private, inherited]

void GreedyAgentLB::work ( LDStats stats  )  [inherited]

GreedyCommLB::GreedyCommLB ( const CkLBOptions opt  )  [inherited]

Definition at line 32 of file GreedyCommLB.C.

References Converse::CkMyPe(), and GreedyCommLB::init().

GreedyCommLB::GreedyCommLB ( CkMigrateMessage m  )  [inherited]

Definition at line 39 of file GreedyCommLB.C.

References GreedyCommLB::init().

CmiBool GreedyCommLB::QueryBalanceNow ( int  step  )  [virtual, inherited]

Reimplemented from CentralLB.

Definition at line 43 of file GreedyCommLB.C.

References CmiTrue.

void GreedyCommLB::alloc ( int  pe,
int  id,
double  load 
) [private, inherited]

double GreedyCommLB::compute_com ( LDStats stats,
int  id,
int  pe 
) [private, inherited]

void GreedyCommLB::update ( LDStats stats,
int  id,
int  pe 
) [private, inherited]

void GreedyCommLB::add_graph ( int  x,
int  y,
int  data,
int  nmsg 
) [private, inherited]

Definition at line 98 of file GreedyCommLB.C.

References graph::data, graph::id, graph::next, graph::nmsg, GreedyCommLB::object_graph, and ptr.

Referenced by GreedyCommLB::work().

void GreedyCommLB::work ( LDStats stats  )  [inherited]

Definition at line 135 of file GreedyCommLB.C.

References _lb_args, GreedyCommLB::add_graph(), GreedyCommLB::alloc(), GreedyCommLB::alpha, BaseLB::LDStats::assign(), GreedyCommLB::assigned_array, BaseLB::ProcStats::available, processorInfo::backgroundLoad, GreedyCommLB::beeta, BaseLB::ProcStats::bg_walltime, LDCommData::bytes, Converse::CkMyPe(), CmiAbort(), BaseLB::LDStats::commData, BaseLB::LDStats::complete_flag, GreedyCommLB::compute_com(), processorInfo::computeLoad, CkLBArgs::debug(), ObjectHeap::deleteMax(), minHeap::deleteMin(), BaseLB::LDStats::from_proc, LDCommData::from_proc(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), BaseLB::LDStats::getHash(), graph::id, ObjectRecord::id, InfoRecord::Id, CkLBArgs::ignoreBgLoad(), init_data(), minHeap::insert(), ObjectHeap::insert(), InfoRecord::load, BaseLB::LDStats::makeCommHash(), LDCommData::messages, CkLBArgs::migObjOnly(), LDObjData::migratable, BaseLB::LDStats::n_comm, BaseLB::LDStats::n_migrateobjs, BaseLB::LDStats::n_objs, graph::next, GreedyCommLB::nmigobj, GreedyCommLB::nobj, GreedyCommLB::npe, BaseLB::LDStats::nprocs(), BaseLB::LDStats::objData, GreedyCommLB::object_graph, p, ObjectRecord::pe, BaseLB::ProcStats::pe_speed, processorInfo::pe_speed, ObjectRecord::pos, GreedyCommLB::processors, BaseLB::LDStats::procs, ptr, CkVec< T >::push_back(), LDCommData::receiver, LDCommData::recv_type(), LDCommData::sender, CkVec< T >::size(), BaseLB::LDStats::to_proc, minHeap::update(), GreedyCommLB::update(), ObjectRecord::val, and LDObjData::wallTime.

CmiBool GreedyLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 34 of file GreedyLB.C.

References CmiTrue.

void GreedyLB::work ( LDStats stats  )  [inherited]

void HbmLB::staticAtSync ( void *  data  )  [static, inherited]

Definition at line 25 of file HbmLB.C.

References HbmLB::AtSync().

Referenced by HbmLB::HbmLB().

HbmLB::HbmLB ( const CkLBOptions opt  )  [inherited]

HbmLB::~HbmLB (  )  [inherited]

Definition at line 61 of file HbmLB.C.

References _lbdb, LBDatabase::getLBDB(), BaseLB::notifier, BaseLB::theLbdb, and HbmLB::tree.

void HbmLB::FindNeighbors (  )  [private, inherited]

void HbmLB::AtSync ( void   )  [inherited]

void HbmLB::ProcessAtSync ( void   )  [inherited]

void HbmLB::ReceiveStats ( double  t,
int  frompe,
int  fromlevel 
) [inherited]

void HbmLB::Loadbalancing ( int  level  )  [virtual, inherited]

void HbmLB::LoadbalancingDone ( int  level  )  [inherited]

void HbmLB::ReceiveResumeClients ( int  fromlevel,
int  balancing 
) [inherited]

void HbmLB::ReceiveMigrationDelta ( double  t,
int  lblevel,
int  level 
) [inherited]

void HbmLB::collectCommData ( int  objIdx,
CkVec< LDCommData > &  comms 
) [inherited]

void HbmLB::ObjMigrated ( LDObjData  data,
LDCommData cdata,
int  n 
) [inherited]

void HbmLB::ReceiveMigrationCount ( int  count,
int  lblevel 
) [inherited]

void HbmLB::Migrated ( LDObjHandle  h,
int  waitBarrier 
) [inherited]

void HbmLB::NotifyObjectMigrationDone ( int  level,
int  lblevel 
) [inherited]

void HbmLB::MigrationDone ( int  balancing  )  [inherited]

void HbmLB::ResumeClients ( CkReductionMsg *  msg  )  [inherited]

Definition at line 484 of file HbmLB.C.

References _lb_args, Converse::CkMyPe(), CkLBArgs::printSummary(), and BaseLB::step().

Referenced by HbmLB::ReceiveResumeClients().

void HbmLB::ResumeClients ( int  balancing  )  [inherited]

void HbmLB::reportLBQulity ( double  mload,
double  mCpuLoad,
double  totalload,
int  nmsgs,
double  bytesentry 
) [inherited]

void HbmLB::work ( LDStats stats  )  [protected, virtual, inherited]

Definition at line 552 of file HbmLB.C.

References Converse::CkMyPe().

int HbmLB::NeighborIndex ( int  pe,
int  atlevel 
) [protected, inherited]

Definition at line 559 of file HbmLB.C.

References HbmLB::levelData.

Referenced by HbmLB::ReceiveStats().

int HbmLB::useMem (  )  [protected, virtual, inherited]

Reimplemented from BaseLB.

Definition at line 571 of file HbmLB.C.

References HbmLB::levelData.

Referenced by HbmLB::ResumeClients().

void HybridBaseLB::staticMigrated ( void *  me,
LDObjHandle  h,
int  waitBarrier 
) [static, inherited]

Definition at line 21 of file HybridBaseLB.C.

References HybridBaseLB::Migrated().

Referenced by HybridBaseLB::HybridBaseLB().

void HybridBaseLB::staticAtSync ( void *  data  )  [static, inherited]

Definition at line 28 of file HybridBaseLB.C.

References HybridBaseLB::AtSync().

Referenced by HybridBaseLB::HybridBaseLB().

HybridBaseLB::HybridBaseLB ( const CkLBOptions opt  )  [inherited]

void HybridBaseLB::initTree (  )  [protected, inherited]

HybridBaseLB::~HybridBaseLB (  )  [inherited]

void HybridBaseLB::FindNeighbors (  )  [private, inherited]

void HybridBaseLB::AtSync ( void   )  [inherited]

void HybridBaseLB::ProcessAtSync ( void   )  [inherited]

CLBStatsMsg * HybridBaseLB::AssembleStats (  )  [private, inherited]

void HybridBaseLB::ReceiveStats ( CkMarshalledCLBStatsMessage m,
int  fromlevel 
) [inherited]

void HybridBaseLB::depositLBStatsMessage ( CLBStatsMsg msg,
int  atlevel 
) [private, inherited]

void HybridBaseLB::buildStats ( int  level  )  [private, inherited]

CLBStatsMsg * HybridBaseLB::buildCombinedLBStatsMessage ( int  atlevel  )  [private, inherited]

void HybridBaseLB::Loadbalancing ( int  level  )  [virtual, inherited]

LBMigrateMsg * HybridBaseLB::Strategy ( LDStats stats  )  [protected, virtual, inherited]

void HybridBaseLB::ReceiveMigration ( LBMigrateMsg msg  )  [inherited]

LBVectorMigrateMsg * HybridBaseLB::VectorStrategy ( LDStats stats  )  [protected, virtual, inherited]

void HybridBaseLB::ReceiveVectorMigration ( LBVectorMigrateMsg msg  )  [inherited]

void HybridBaseLB::ObjsMigrated ( LDObjData data,
int  m,
LDCommData cdata,
int  n,
int  level 
) [inherited]

void HybridBaseLB::VectorDone ( int  atlevel  )  [inherited]

void HybridBaseLB::TotalObjMigrated ( int  count,
int  level 
) [inherited]

void HybridBaseLB::Migrated ( LDObjHandle  h,
int  waitBarrier 
) [inherited]

void HybridBaseLB::collectCommData ( int  objIdx,
CkVec< LDCommData > &  comm,
int  atlevel 
) [private, inherited]

void HybridBaseLB::ObjMigrated ( LDObjData  data,
LDCommData cdata,
int  n,
int  level 
) [inherited]

void HybridBaseLB::StatsDone ( int  level  )  [inherited]

void HybridBaseLB::NotifyObjectMigrationDone ( int  level  )  [inherited]

void HybridBaseLB::StartCollectInfo ( DummyMsg m  )  [inherited]

void HybridBaseLB::CollectInfo ( Location loc,
int  n,
int  fromlevel 
) [inherited]

void HybridBaseLB::PropagateInfo ( Location loc,
int  n,
int  fromlevel 
) [inherited]

void HybridBaseLB::MigrationDone ( int  balancing  )  [inherited]

void HybridBaseLB::ResumeClients ( CkReductionMsg *  msg  )  [inherited]

Definition at line 1131 of file HybridBaseLB.C.

void HybridBaseLB::ResumeClients ( int  balancing  )  [inherited]

void HybridBaseLB::work ( LDStats stats  )  [protected, virtual, inherited]

Reimplemented in HybridLB.

Definition at line 1162 of file HybridBaseLB.C.

References Converse::CkMyPe().

Referenced by HybridBaseLB::Strategy().

LBMigrateMsg * HybridBaseLB::createMigrateMsg ( LDStats stats  )  [protected, virtual, inherited]

LBMigrateMsg * HybridBaseLB::createMigrateMsg ( CkVec< MigrateInfo * > &  migrateInfo,
int  count 
) [protected, inherited]

int HybridBaseLB::NeighborIndex ( int  pe,
int  atlevel 
) [protected, inherited]

void HybridBaseLB::printSummary ( LDStats stats,
int  count 
) [protected, inherited]

void HybridBaseLB::reportLBQulity ( double  mload,
double  mCpuLoad,
double  totalload,
int  nmsgs,
double  bytesentry 
) [inherited]

void HybridBaseLB::reportLBMem ( double  mem  )  [inherited]

int HybridBaseLB::useMem (  )  [protected, virtual, inherited]

HybridLB::~HybridLB (  )  [inherited]

Definition at line 44 of file HybridLB.C.

References HybridLB::greedy, and HybridLB::refine.

void HybridLB::work ( LDStats stats  )  [protected, virtual, inherited]

LBCommData * LBCommTable::HashInsert ( const LBCommData data  )  [inherited]

LBCommData * LBCommTable::HashSearch ( const LBCommData data  )  [inherited]

LBCommData * LBCommTable::HashInsertUnique ( const LBCommData data  )  [inherited]

Definition at line 62 of file LBComm.C.

References LBCommTable::HashInsert(), and LBCommTable::HashSearch().

Referenced by LBDB::MulticastSend(), and LBDB::Send().

void LBCommTable::Resize (  )  [private, inherited]

CmiBool LBCommData::equal ( const LBCommData _d2  )  const [inherited]

int LBCommData::compute_key (  )  [private, inherited]

int LBCommData::hash ( const int  i,
const int  m 
) const [private, inherited]

Definition at line 149 of file LBComm.C.

References LBCommData::key().

Referenced by LBCommTable::HashInsert(), and LBCommTable::HashSearch().

void LBCommTable::GetCommData ( LDCommData data  )  [inherited]

LBDBInit::LBDBInit ( CkArgMsg m  )  [inherited]

void LBDatabase::initnodeFn ( void   )  [static, inherited]

void LBDatabase::init ( void   )  [private, inherited]

LBDatabase::LastLBInfo::LastLBInfo (  )  [inherited]

Definition at line 344 of file LBDatabase.C.

References _expectedLoad, and LBDatabase::LastLBInfo::expectedLoad.

void LBDatabase::get_avail_vector ( char *  bitmap  )  [inherited]

void LBDatabase::set_avail_vector ( char *  bitmap,
int  new_ld = -1 
) [inherited]

int LBDatabase::getLoadbalancerTicket (  )  [inherited]

Definition at line 382 of file LBDatabase.C.

References LBDatabase::loadbalancers, LBDatabase::nloadbalancers, and CkVec< T >::resize().

Referenced by BaseLB::pup().

void LBDatabase::addLoadbalancer ( BaseLB lb,
int  seq 
) [inherited]

void LBDatabase::nextLoadbalancer ( int  seq  )  [inherited]

const char * LBDatabase::loadbalancer ( int  seq  )  [inherited]

void LBDatabase::pup ( PUP::er p  )  [virtual, inherited]

void LBDatabase::EstObjLoad ( const LDObjHandle h,
double  cpuload 
) [inherited]

void LBDB::batsyncer::gotoSync ( void *  bs  )  [static, private, inherited]

void LBDB::batsyncer::resumeFromSync ( void *  bs  )  [static, private, inherited]

void LBDB::batsyncer::init ( LBDB _db,
double  initPeriod 
) [inherited]

LBDB::LBDB (  )  [inherited]

LDOMHandle LBDB::AddOM ( LDOMid  _userID,
void *  _userData,
LDCallbacks  _callbacks 
) [inherited]

LDObjHandle LBDB::AddObj ( LDOMHandle  _h,
LDObjid  _id,
void *  _userData,
CmiBool  _migratable 
) [inherited]

void LBDB::UnregisterObj ( LDObjHandle  _h  )  [inherited]

Definition at line 148 of file LBDBManager.C.

References _BgOutOfCoreFlag, LDObjHandle::handle, and LBDB::objs.

Referenced by LDUnregisterObj().

void LBDB::RegisteringObjects ( LDOMHandle  _h  )  [inherited]

void LBDB::DoneRegisteringObjects ( LDOMHandle  _h  )  [inherited]

void LBDB::Send ( const LDOMHandle destOM,
const LDObjid destid,
unsigned int  bytes,
int  destObjProc 
) [inherited]

void LBDB::MulticastSend ( const LDOMHandle destOM,
LDObjid destids,
int  ndests,
unsigned int  bytes,
int  nMsgs 
) [inherited]

void LBDB::ClearLoads ( void   )  [inherited]

int LBDB::ObjDataCount (  )  [inherited]

Definition at line 273 of file LBDBManager.C.

References _lb_args, CkLBArgs::migObjOnly(), LBDB::objCount, and LBDB::objs.

Referenced by LDGetObjDataSz(), and LBDB::useMem().

void LBDB::GetObjData ( LDObjData data  )  [inherited]

int LBDB::Migrate ( LDObjHandle  h,
int  dest 
) [inherited]

void LBDB::Migrated ( LDObjHandle  h,
int  waitBarrier = 1 
) [inherited]

int LBDB::NotifyMigrated ( LDMigratedFn  fn,
void *  data 
) [inherited]

void LBDB::RemoveNotifyMigrated ( int  handle  )  [inherited]

Definition at line 353 of file LBDBManager.C.

References LBDB::migrateCBList.

int LBDB::AddStartLBFn ( LDStartLBFn  fn,
void *  data 
) [inherited]

void LBDB::RemoveStartLBFn ( LDStartLBFn  fn  )  [inherited]

Definition at line 373 of file LBDBManager.C.

References LBDB::StartLBCB::fn, LBDB::startLBFn_count, and LBDB::startLBFnList.

Referenced by LDRemoveStartLBFn().

void LBDB::StartLB (  )  [inherited]

int LBDB::AddMigrationDoneFn ( LDMigrationDoneFn  fn,
void *  data 
) [inherited]

void LBDB::RemoveMigrationDoneFn ( LDMigrationDoneFn  fn  )  [inherited]

Definition at line 407 of file LBDBManager.C.

References LBDB::MigrationDoneCB::fn, and LBDB::migrationDoneCBList.

Referenced by LDRemoveMigrationDoneFn().

void LBDB::MigrationDone ( void   )  [inherited]

void LBDB::SetupPredictor ( LDPredictModelFn  on,
LDPredictWindowFn  onWin,
LDPredictFn  off,
LDPredictModelFn  change,
void *  data 
) [inherited]

void LBDB::BackgroundLoad ( LBRealType walltime,
LBRealType cputime 
) [inherited]

Definition at line 435 of file LBDBManager.C.

References LBDB::IdleTime(), LBDB::obj_cputime, LBDB::obj_walltime, and LBDB::TotalTime().

Referenced by LDBackgroundLoad().

void LBDB::GetTime ( LBRealType total_walltime,
LBRealType total_cputime,
LBRealType idletime,
LBRealType bg_walltime,
LBRealType bg_cputime 
) [inherited]

Definition at line 453 of file LBDBManager.C.

References LBDB::IdleTime(), LBDB::obj_cputime, LBDB::obj_walltime, and LBDB::TotalTime().

Referenced by LDGetTime().

void LBDB::DumpDatabase ( void   )  [inherited]

Definition at line 470 of file LBDBManager.C.

References CmiPrintf(), LBDB::objCount, and LBDB::omCount.

Referenced by LDDumpDatabase().

int LBDB::useMem (  )  [inherited]

LDBarrierClient LocalBarrier::AddClient ( LDResumeFn  fn,
void *  data 
) [inherited]

void LocalBarrier::RemoveClient ( LDBarrierClient  h  )  [inherited]

LDBarrierReceiver LocalBarrier::AddReceiver ( LDBarrierFn  fn,
void *  data 
) [inherited]

void LocalBarrier::RemoveReceiver ( LDBarrierReceiver  h  )  [inherited]

Definition at line 566 of file LBDBManager.C.

References LocalBarrier::receivers, and LDBarrierReceiver::serial.

Referenced by LBDB::RemoveLocalBarrierReceiver().

void LocalBarrier::TurnOnReceiver ( LDBarrierReceiver  h  )  [inherited]

Definition at line 576 of file LBDBManager.C.

References LocalBarrier::receivers, and LDBarrierReceiver::serial.

Referenced by LBDB::TurnOnBarrierReceiver().

void LocalBarrier::TurnOffReceiver ( LDBarrierReceiver  h  )  [inherited]

Definition at line 585 of file LBDBManager.C.

References LocalBarrier::receivers, and LDBarrierReceiver::serial.

Referenced by LBDB::TurnOffBarrierReceiver().

void LocalBarrier::AtBarrier ( LDBarrierClient  h  )  [inherited]

void LocalBarrier::CheckBarrier (  )  [private, inherited]

void LocalBarrier::CallReceivers ( void   )  [private, inherited]

void LocalBarrier::ResumeClients ( void   )  [private, inherited]

Definition at line 646 of file LBDBManager.C.

References LocalBarrier::clients, and data.

Referenced by LocalBarrier::CallReceivers(), and LBDB::ResumeClients().

void LBMachineUtil::IdleStart ( double  curWallTime  )  [inline, private, inherited]

Definition at line 10 of file LBMachineUtil.C.

References LBMachineUtil::start_idle.

Referenced by LBMachineUtil::staticIdleStart().

void LBMachineUtil::IdleEnd ( double  curWallTime  )  [inline, private, inherited]

void LBMachineUtil::staticIdleStart ( LBMachineUtil util,
double  curWallTime 
) [static, private, inherited]

Definition at line 24 of file LBMachineUtil.C.

References LBMachineUtil::IdleStart().

Referenced by LBMachineUtil::StatsOn().

void LBMachineUtil::staticIdleEnd ( LBMachineUtil util,
double  curWallTime 
) [static, private, inherited]

Definition at line 28 of file LBMachineUtil.C.

References LBMachineUtil::IdleEnd().

Referenced by LBMachineUtil::StatsOn().

LBMachineUtil::LBMachineUtil (  )  [inherited]

void LBMachineUtil::StatsOn ( void   )  [inherited]

void LBMachineUtil::StatsOff (  )  [inherited]

void LBMachineUtil::Clear ( void   )  [inherited]

void LBMachineUtil::TotalTime ( LBRealType walltime,
LBRealType cputime 
) [inherited]

void LBObj::Clear ( void   )  [inherited]

Definition at line 18 of file LBObj.C.

References LDObjData::cpuTime, LBObj::data, LDObjData::maxWall, LDObjData::minWall, and LDObjData::wallTime.

Referenced by LBObj::LBObj().

void LBObj::IncrementTime ( LBRealType  walltime,
LBRealType  cputime 
) [inherited]

int LBProfit::profitable ( BaseLB::ProcStats procArray,
int  np 
) [virtual, inherited]

void MetisLB::work ( LDStats stats  )  [private, inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

remove duplicate edges from recvFrom

the object load is normalized to an integer between 0 and 256

I intended to follow the instruction in the Metis 4.0 manual which said that METIS_PartGraphKway is preferable to METIS_PartGraphRecursive, when nparts > 8. However, it turned out that there is a bug in METIS_PartGraphKway, and the function seg faulted when nparts = 4 or 9. So right now I just comment that function out and always use the other one.

============================== CLEANUP ================================

Definition at line 45 of file MetisLB.C.

References _lb_args, Converse::CkMyPe(), ObjGraph::convertDecisions(), CkLBArgs::debug(), METIS_PartGraphRecursive(), METIS_WPartGraphKway(), METIS_WPartGraphRecursive(), ProcArray::procs, and ObjGraph::vertices.

void NborBaseLB::staticMigrated ( void *  me,
LDObjHandle  h,
int  waitBarrier 
) [static, inherited]

Definition at line 15 of file NborBaseLB.C.

References NborBaseLB::Migrated().

Referenced by NborBaseLB::NborBaseLB().

void NborBaseLB::staticAtSync ( void *  data  )  [static, inherited]

Definition at line 22 of file NborBaseLB.C.

References NborBaseLB::AtSync().

Referenced by NborBaseLB::NborBaseLB().

NborBaseLB::NborBaseLB ( const CkLBOptions opt  )  [inherited]

NborBaseLB::~NborBaseLB (  )  [inherited]

void NborBaseLB::FindNeighbors (  )  [private, inherited]

void NborBaseLB::AtSync ( void   )  [inherited]

NLBStatsMsg * NborBaseLB::AssembleStats (  )  [private, inherited]

void NborBaseLB::Migrated ( LDObjHandle  h,
int  waitBarrier 
) [inherited]

void NborBaseLB::ReceiveStats ( CkMarshalledNLBStatsMessage m  )  [inherited]

void NborBaseLB::ReceiveMigration ( LBMigrateMsg msg  )  [inherited]

void NborBaseLB::MigrationDone ( int  balancing  )  [inherited]

void NborBaseLB::ResumeClients ( CkReductionMsg *  msg  )  [inherited]

Definition at line 383 of file NborBaseLB.C.

void NborBaseLB::ResumeClients ( int  balancing  )  [inherited]

LBMigrateMsg * NborBaseLB::Strategy ( LDStats stats,
int  n_nbrs 
) [protected, virtual, inherited]

Reimplemented in NeighborCommLB, and NeighborLB.

Definition at line 405 of file NborBaseLB.C.

References Converse::CkMyPe(), Converse::CkNumPes(), msg, LBMigrateMsg::n_moves, and sizes.

Referenced by NborBaseLB::ReceiveStats().

int NborBaseLB::NeighborIndex ( int  pe  )  [protected, inherited]

Definition at line 425 of file NborBaseLB.C.

References NborBaseLB::mig_msgs_expected, and NborBaseLB::neighbor_pes.

Referenced by NborBaseLB::ReceiveStats().

NLBStatsMsg::NLBStatsMsg ( int  osz,
int  csz 
) [inherited]

Definition at line 437 of file NborBaseLB.C.

References NLBStatsMsg::commData, and NLBStatsMsg::objData.

NLBStatsMsg::NLBStatsMsg ( NLBStatsMsg s  )  [inherited]

Definition at line 442 of file NborBaseLB.C.

References p, NLBStatsMsg::pup(), PUP::sizer::size(), and size.

NLBStatsMsg::~NLBStatsMsg (  )  [inherited]

Definition at line 462 of file NborBaseLB.C.

References NLBStatsMsg::commData, and NLBStatsMsg::objData.

void NLBStatsMsg::pup ( PUP::er p  )  [inherited]

CkMarshalledNLBStatsMessage::~CkMarshalledNLBStatsMessage (  )  [inherited]

Definition at line 491 of file NborBaseLB.C.

References CkMarshalledNLBStatsMessage::msg.

void CkMarshalledNLBStatsMessage::pup ( PUP::er p  )  [inherited]

LBMigrateMsg * NeighborCommLB::Strategy ( NborBaseLB::LDStats stats,
int  n_nbrs 
) [private, virtual, inherited]

LBMigrateMsg * NeighborLB::Strategy ( NborBaseLB::LDStats stats,
int  n_nbrs 
) [private, virtual, inherited]

void NullLB::init ( void   )  [private, inherited]

Definition at line 59 of file NullLB.C.

References NullLB::staticAtSync(), staticStartLB(), BaseLB::theLbdb, and NullLB::thisProxy.

Referenced by NullLB::NullLB(), and NullLB::pup().

NullLB::~NullLB (  )  [inherited]

void NullLB::staticAtSync ( void *  data  )  [static, inherited]

if there is other LBs, just ignore return

Definition at line 83 of file NullLB.C.

References NullLB::AtSync().

Referenced by NullLB::init().

void NullLB::AtSync ( void   )  [inherited]

void NullLB::migrationsDone ( void   )  [inherited]

Definition at line 116 of file NullLB.C.

References LBDatabase::ResumeClients(), and BaseLB::theLbdb.

Referenced by migrationDone().

ObjGraph::ObjGraph ( int  count,
BaseLB::LDStats stats 
) [inherited]

ObjGraph::~ObjGraph (  )  [inline, inherited]

Definition at line 155 of file ckgraph.h.

double ObjGraph::EdgeWeight ( Edge e  )  [inherited]

Definition at line 136 of file ObjGraph.C.

References LDCommData::bytes, ObjGraph::Edge::index, and LDCommData::messages.

int ObjGraph::calc_hashval ( LDOMid  omid,
LDObjid  id 
) [private, inherited]

Definition at line 141 of file ObjGraph.C.

References ObjGraph::hash_max, _LDOMid::id, and _ckGroupID::idx.

Referenced by ObjGraph::find_node(), and ObjGraph::ObjGraph().

ObjGraph::Node * ObjGraph::find_node ( const LDObjKey edge_key  )  [private, inherited]

CmiBool OrbLB::QueryBalanceNow ( int  step  )  [virtual, inherited]

Reimplemented from CentralLB.

Definition at line 27 of file OrbLB.C.

References CmiTrue.

void OrbLB::rec_divide ( int  n,
Partition p 
) [private, inherited]

void OrbLB::setVal ( int  x,
int  y,
int  z 
) [private, inherited]

int OrbLB::sort_partition ( int  x,
int  p,
int  r 
) [private, inherited]

Definition at line 169 of file OrbLB.C.

References CmiAbort(), OrbLB::computeLoad, OrbLB::VecArray::id, OrbLB::ComputeLoad::tv, and OrbLB::vArray.

Referenced by OrbLB::qsort().

void OrbLB::qsort ( int  x,
int  p,
int  r 
) [private, inherited]

Definition at line 194 of file OrbLB.C.

References OrbLB::sort_partition().

Referenced by OrbLB::quicksort().

void OrbLB::quicksort ( int  x  )  [private, inherited]

Definition at line 204 of file OrbLB.C.

References CmiPrintf(), OrbLB::computeLoad, OrbLB::nObjs, OrbLB::qsort(), OrbLB::setVal(), and OrbLB::vArray.

Referenced by OrbLB::work().

void OrbLB::mapPartitionsToNodes (  )  [private, inherited]

void OrbLB::work ( LDStats stats  )  [inherited]

CmiBool PhasebyArrayLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 34 of file PhasebyArrayLB.C.

References CmiTrue.

void PhasebyArrayLB::copyStats ( BaseLB::LDStats stats,
BaseLB::LDStats tempStats 
) [private, inherited]

void PhasebyArrayLB::updateStats ( BaseLB::LDStats stats,
BaseLB::LDStats tempStats 
) [private, inherited]

void PhasebyArrayLB::work ( LDStats stats  )  [private, inherited]

CmiBool RandCentLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 23 of file RandCentLB.C.

References CmiTrue.

void RandCentLB::work ( LDStats stats  )  [inherited]

void BQueue::removeComplete ( Vertex vert  )  [inherited]

Definition at line 129 of file RecBipartLB.C.

References Vertex::getVertexId(), BQueue::q, and vhelpers.

Referenced by removeinSwap().

void BQueue::push ( Vertex vert  )  [inherited]

Definition at line 147 of file RecBipartLB.C.

References Vertex::getVertexId(), BQueue::q, and vhelpers.

Referenced by adjustqueues(), RecursiveBiPart(), removeinSwap(), and swapQ1toQ2().

RecBipartLB::RecBipartLB ( const CkLBOptions opt  )  [inherited]

Definition at line 155 of file RecBipartLB.C.

References Converse::CkMyPe(), and BaseLB::lbname.

CmiBool RecBipartLB::QueryBalanceNow ( int  _step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 161 of file RecBipartLB.C.

References CmiTrue.

void RecBipartLB::work ( LDStats stats  )  [inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

============================== CLEANUP ================================

Definition at line 165 of file RecBipartLB.C.

References Converse::CkNumPes(), ObjGraph::convertDecisions(), ProcArray::getAverageLoad(), ProcArray::procs, RecursiveBiPart(), ProcArray::resetTotalLoad(), ObjGraph::vertices, and vhelpers.

CmiBool RecBisectBfLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 51 of file RecBisectBfLB.C.

References CmiTrue.

void RecBisectBfLB::work ( LDStats stats  )  [private, inherited]

Graph * RecBisectBfLB::convertGraph ( ObjGraph og  )  [private, inherited]

void RecBisectBfLB::partitionInTwo ( Graph g,
int  nodes[],
int  numNodes,
int **  pp1,
int numP1,
int **  pp2,
int numP2,
int  ratio1,
int  ratio2 
) [private, inherited]

int RecBisectBfLB::findNextUnassigned ( int  max,
BV_Set all,
BV_Set s1,
BV_Set s2 
) [private, inherited]

Definition at line 224 of file RecBisectBfLB.C.

References bvset_find().

Referenced by RecBisectBfLB::addToQ().

float RecBisectBfLB::addToQ ( IntQueue q,
Graph g,
BV_Set all,
BV_Set s1,
BV_Set s2 
) [private, inherited]

void RecBisectBfLB::enqChildren ( IntQueue q,
Graph g,
BV_Set all,
BV_Set s1,
BV_Set s2,
int  node 
) [private, inherited]

Definition at line 261 of file RecBisectBfLB.C.

References bvset_find(), CkQ< T >::enq(), g_getNeighbor(), and g_numNeighbors().

Referenced by RecBisectBfLB::addToQ().

void RecBisectBfLB::addPartition ( PartitionList partitions,
int nodes,
int  num 
) [private, inherited]

void RecBisectBfLB::printPartitions ( PartitionList partitions  )  [private, inherited]

void RecBisectBfLB::recursivePartition ( int  numParts,
Graph g,
int  nodes[],
int  numNodes,
PartitionList partitions 
) [private, inherited]

CmiBool RefineCommLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from RefineLB.

Definition at line 19 of file RefineCommLB.C.

References CmiTrue.

void RefineCommLB::work ( LDStats stats  )  [private, inherited]

void RefineKLB::work ( LDStats stats  )  [inherited]

void RefineKLB::performGreedyMoves ( int  count,
BaseLB::LDStats stats,
int from_procs,
int to_procs,
int  numMoves 
) [protected, inherited]

void RefineLB::work ( LDStats stats  )  [inherited]

int * Refiner::AllocProcs ( int  count,
BaseLB::LDStats stats 
) [static, inherited]

This code is derived from RefineLB.C, and RefineLB.C should be rewritten to use this, so there is no code duplication.

Definition at line 12 of file Refiner.C.

References BaseLB::LDStats::n_objs.

Referenced by RefineLB::work(), RefineKLB::work(), and RefineCommLB::work().

void Refiner::FreeProcs ( int bufs  )  [static, inherited]

Definition at line 17 of file Refiner.C.

Referenced by RefineLB::work(), RefineKLB::work(), and RefineCommLB::work().

void Refiner::create ( int  count,
BaseLB::LDStats stats,
int cur_p 
) [protected, inherited]

void Refiner::assign ( computeInfo c,
int  p 
) [protected, inherited]

void Refiner::assign ( computeInfo c,
processorInfo p 
) [protected, inherited]

void Refiner::deAssign ( computeInfo c,
processorInfo pRec 
) [protected, inherited]

void Refiner::computeAverage (  )  [protected, virtual, inherited]

double Refiner::computeMax (  )  [protected, inherited]

int Refiner::isHeavy ( processorInfo p  )  [protected, inherited]

int Refiner::isLight ( processorInfo p  )  [protected, inherited]

void Refiner::removeComputes (  )  [protected, inherited]

int Refiner::refine (  )  [protected, virtual, inherited]

int Refiner::multirefine (  )  [protected, inherited]

void Refiner::Refine ( int  count,
BaseLB::LDStats stats,
int cur_p,
int new_p 
) [inherited]

void RefinerComm::create ( int  count,
BaseLB::LDStats _stats,
int cur_p 
) [private, inherited]

This code is derived from RefineLB.C, and RefineLB.C should be rewritten to use this, so there is no code duplication.

Reimplemented from Refiner.

Definition at line 15 of file RefinerComm.C.

References Refiner::computes, Refiner::create(), LDCommData::from_proc(), _LDCommDesc::get_type(), Refiner::numComputes, CkVec< T >::push_back(), LDCommData::receiver, computeInfo::recvmessages, and computeInfo::sendmessages.

Referenced by RefinerComm::Refine().

void RefinerComm::computeAverage (  )  [private, virtual, inherited]

void RefinerComm::processorCommCost (  )  [private, inherited]

void RefinerComm::assign ( computeInfo c,
int  p 
) [private, inherited]

Reimplemented from Refiner.

Definition at line 115 of file RefinerComm.C.

References Refiner::processors.

Referenced by RefinerComm::Refine(), and RefinerComm::refine().

void RefinerComm::assign ( computeInfo c,
processorInfo p 
) [private, inherited]

void RefinerComm::deAssign ( computeInfo c,
processorInfo pRec 
) [private, inherited]

void RefinerComm::commAffinity ( int  c,
int  pe,
Messages m 
) [private, inherited]

void RefinerComm::objCommCost ( int  c,
int  pe,
Messages m 
) [private, inherited]

int RefinerComm::refine (  )  [private, virtual, inherited]

void RefinerComm::Refine ( int  count,
BaseLB::LDStats stats,
int cur_p,
int new_p 
) [inherited]

RefinerComm::CommTable::CommTable ( int  p  )  [inherited]

RefinerComm::CommTable::~CommTable (  )  [inherited]

void RefinerComm::CommTable::clear (  )  [inherited]

void RefinerComm::CommTable::increase ( bool  issend,
int  pe,
int  msgs,
int  bytes 
) [inherited]

double RefinerComm::CommTable::overheadOnPe ( int  pe  )  [inherited]

CmiBool RefineSwapLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 33 of file RefineSwapLB.C.

References CmiTrue.

void RefineSwapLB::work ( LDStats stats  )  [inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

============================== CLEANUP ================================

Definition at line 241 of file RefineSwapLB.C.

References _lb_args, Converse::CkMyPe(), ObjGraph::convertDecisions(), CkLBArgs::debug(), endl(), ProcArray::getAverageLoad(), getMax(), ProcArray::procs, refine(), refineSwap(), and ObjGraph::vertices.

CmiBool ScotchLB::QueryBalanceNow ( int  _step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 26 of file ScotchLB.C.

References CmiTrue.

void ScotchLB::work ( LDStats stats  )  [inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

remove duplicate edges from recvFrom

the object load is normalized to an integer between 0 and 256

============================== CLEANUP ================================

Definition at line 30 of file ScotchLB.C.

References CmiWallTimer(), ObjGraph::convertDecisions(), free(), malloc(), ProcArray::procs, start_time, and ObjGraph::vertices.

CmiBool ScotchRefineLB::QueryBalanceNow ( int  _step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 23 of file ScotchRefineLB.C.

References CmiTrue.

void ScotchRefineLB::work ( LDStats stats  )  [inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

remove duplicate edges from recvFrom

the object load is normalized to an integer between 0 and 256

============================== CLEANUP ================================

Definition at line 27 of file ScotchRefineLB.C.

References ObjGraph::convertDecisions(), free(), malloc(), ProcArray::procs, BaseLB::step(), and ObjGraph::vertices.

CmiBool ScotchTopoLB::QueryBalanceNow ( int  _step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 27 of file ScotchTopoLB.C.

References CmiTrue.

void ScotchTopoLB::work ( LDStats stats  )  [inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

remove duplicate edges from recvFrom

the object load is normalized to an integer between 0 and 256

============================== CLEANUP ================================

Definition at line 31 of file ScotchTopoLB.C.

References CmiWallTimer(), ObjGraph::convertDecisions(), free(), TopoManager::getDimNX(), TopoManager::getDimNY(), TopoManager::getDimNZ(), malloc(), ProcArray::procs, start_time, tmgr, and ObjGraph::vertices.

void TeamLB::work ( LDStats stats  )  [inherited]

METIS function that performs a balanced k-way partitioning of the graph, considering the communication volume (hence the "V" in the name of the function).

extern "C" void METIS_PartGraphRecursive(int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int*); Load balancing function. It uses METIS in a two step approach. The first step consists in splitting the objects into teams. METIS is able to minimize the communication volume across the teams while balancing the load among the different teams. The second step goes deep in each team to balance the load in the processors belonging to that particular team.

========================== INITIALIZATION =============================

============================= STRATEGY ================================

both object load and number of bytes exchanged are normalized to an integer between 0 and 256

============================== CLEANUP ================================

Definition at line 45 of file TeamLB.C.

References _lb_args, Converse::CkMyPe(), ObjGraph::convertDecisions(), CkLBArgs::debug(), mapping, METIS_PartGraphRecursive(), TeamLB::numberTeams, TeamLB::teamSize, and ObjGraph::vertices.

CmiBool TempAwareGreedyLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 29 of file TempAwareGreedyLB.C.

References CmiTrue.

void TempAwareGreedyLB::work ( LDStats stats  )  [inherited]

========================== INITIALIZATION =============================

============================= STRATEGY ================================

============================== CLEANUP ================================

Definition at line 49 of file TempAwareGreedyLB.C.

References _lb_args, Converse::CkMyPe(), ObjGraph::convertDecisions(), CkLBArgs::debug(), ProcInfo::getProcId(), ProcInfo::getTotalLoad(), p, ProcArray::procs, ProcArray::resetTotalLoad(), sort(), and ObjGraph::vertices.

CmiBool TreeMatchLB::QueryBalanceNow ( int  step  )  [private, virtual, inherited]

Reimplemented from CentralLB.

Definition at line 26 of file TreeMatchLB.C.

References CmiTrue.

void TreeMatchLB::work ( BaseLB::LDStats stats  )  [inherited]

========================= 1st Do Load Balancing =======================

========================== INITIALIZATION =============================

============================= STRATEGY ================================

============================== CLEANUP ================================

====================== 2nd do Topology aware mapping ====================

Definition at line 67 of file TreeMatchLB.C.

References _lb_args, build_abe_topology(), build_tree_from_topology(), LDCommData::bytes, calloc(), Converse::CkMyPe(), BaseLB::LDStats::commData, ObjGraph::convertDecisions(), CkLBArgs::debug(), display_topology(), free(), free_topology(), LDCommData::from_proc(), _LDCommDesc::get_destObj(), BaseLB::LDStats::getHash(), ProcInfo::getProcId(), CkVec< T >::getVec(), BaseLB::LDStats::makeCommHash(), malloc(), map_topology_simple(), BaseLB::LDStats::n_comm, BaseLB::LDStats::nprocs(), p, ProcArray::procs, LDCommData::receiver, LDCommData::recv_type(), ProcArray::resetTotalLoad(), LDCommData::sender, sort(), BaseLB::LDStats::to_proc, ProcInfo::totalLoad(), and ObjGraph::vertices.

void WSLB::staticAtSync ( void *  data  )  [static, inherited]

Definition at line 32 of file WSLB.C.

References WSLB::AtSync().

Referenced by WSLB::WSLB().

WSLB::WSLB ( const CkLBOptions opt  )  [inherited]

WSLB::~WSLB (  )  [inherited]

void WSLB::FindNeighbors (  )  [private, inherited]

void WSLB::AtSync ( void   )  [inherited]

WSLBStatsMsg * WSLB::AssembleStats (  )  [private, inherited]

void WSLB::Migrated ( LDObjHandle  h,
int  waitBarrier 
) [inherited]

Definition at line 233 of file WSLB.C.

References WSLB::migrates_completed, WSLB::migrates_expected, and WSLB::MigrationDone().

Referenced by CreateLBFunc_Def().

void WSLB::ReceiveStats ( WSLBStatsMsg m  )  [inherited]

void WSLB::ReceiveMigration ( LBMigrateMsg msg  )  [inherited]

void WSLB::MigrationDone ( void   )  [inherited]

void WSLB::ResumeClients ( void   )  [inherited]

Definition at line 381 of file WSLB.C.

References LBDatabase::ResumeClients(), and BaseLB::theLbdb.

CmiBool WSLB::QueryBalanceNow ( int  step  )  [protected, virtual, inherited]

Definition at line 388 of file WSLB.C.

References Converse::CkMyPe(), CmiFalse, CmiTrue, WSLB::first_step_time, and WSLB::vacate.

Referenced by WSLB::AtSync().

void ZoltanLB::work ( LDStats stats  )  [private, inherited]


Variable Documentation

const unsigned int doublingPrimes[] [static]

Definition at line 80 of file BaseLB.C.

Referenced by primeLargerThan().

Definition at line 55 of file ckcausalmlog.C.

Definition at line 224 of file ckcausalmlog.C.

Definition at line 41 of file CentralLB.C.

Definition at line 42 of file CentralLB.C.

Cluster Manager Code, Accpets external bit vectors and then feeds it into the loadbalancer so that programs can shrink and expand.

Definition at line 43 of file CentralLB.C.

Definition at line 219 of file ckcausalmlog.C.

Definition at line 41 of file CentralLB.C.

Definition at line 46 of file CommAwareRefineLB.C.

Definition at line 47 of file CommAwareRefineLB.C.

Definition at line 25 of file LBDatabase.C.

Referenced by WSLB::AssembleStats(), NborBaseLB::AtSync(), HybridBaseLB::buildStats(), CentralLB::CheckMigrationComplete(), HybridBaseLB::CollectInfo(), TopoLB::computePartitions(), TopoCentLB::computePartitions(), RefinerComm::Messages::cost(), CreateLBFunc_Def(), HybridBaseLB::createMigrateMsg(), CentralLB::endMigrationDone(), GridHybridSeedLB::Find_Minimum_PE(), GridHybridLB::Find_Minimum_PE(), GridCommLB::Find_Minimum_PE(), LBInfo::getInfo(), LBDB::GetObjData(), HbmLB::HbmLB(), HybridBaseLB::HybridBaseLB(), GridMetisLB::Initialize_Object_Data(), GridHybridSeedLB::Initialize_Object_Data(), GridHybridLB::Initialize_Object_Data(), CentralLB::initLB(), LBDB::LBDB(), LDMulticastSend(), LDProcessorSpeed(), LDSend(), CentralLB::LoadBalance(), HybridBaseLB::Loadbalancing(), HbmLB::Loadbalancing(), GridHybridSeedLB::Map_NonMigratable_Objects_To_PEs(), GridHybridLB::Map_NonMigratable_Objects_To_PEs(), GridCommLB::Map_NonMigratable_Objects_To_PEs(), OrbLB::mapPartitionsToNodes(), NborBaseLB::MigrationDone(), HybridBaseLB::MigrationDone(), CentralLB::MigrationDone(), MulticastAgent::MulticastAgent(), Refiner::multirefine(), MulticastAgent::my_preferred_procs(), NborBaseLB::NborBaseLB(), HybridBaseLB::NotifyObjectMigrationDone(), LBDB::ObjDataCount(), ObjGraph::ObjGraph(), RefinerComm::CommTable::overheadOnPe(), GridMetisLB::Partition_Objects_Into_Clusters(), GridHybridSeedLB::Partition_Objects_Into_Clusters(), GridHybridLB::Partition_Objects_Into_Clusters(), CentralLB::preprocess(), LBInfo::print(), HybridBaseLB::ProcessAtSync(), HbmLB::ProcessAtSync(), RefinerComm::processorCommCost(), CentralLB::ProcessReceiveMigration(), HybridBaseLB::PropagateInfo(), BaseLB::ProcStats::pup(), BaseLB::LDStats::pup(), GridMetisLB::QueryBalanceNow(), GridHybridSeedLB::QueryBalanceNow(), GridHybridLB::QueryBalanceNow(), GridCommRefineLB::QueryBalanceNow(), GridCommLB::QueryBalanceNow(), CentralLB::readStatsMsgs(), OrbLB::rec_divide(), NborBaseLB::ReceiveStats(), HybridBaseLB::ReceiveVectorMigration(), RefinerComm::Refine(), RefinerComm::refine(), RefinerApprox::Refine(), Refiner::Refine(), NborBaseLB::ResumeClients(), HybridBaseLB::ResumeClients(), HbmLB::ResumeClients(), CentralLB::ResumeClients(), NeighborLB::Strategy(), HybridBaseLB::Strategy(), CentralLB::Strategy(), HybridBaseLB::TotalObjMigrated(), HybridBaseLB::VectorDone(), VectorStrategy(), ZoltanLB::work(), TreeMatchLB::work(), TopoLB::work(), TopoCentLB::work(), TempAwareGreedyLB::work(), TeamLB::work(), RefineTopoLB::work(), RefineSwapLB::work(), RefineLB::work(), RefineKLB::work(), RandCentLB::work(), OrbLB::work(), MetisLB::work(), GridMetisLB::work(), GridHybridSeedLB::work(), GridHybridLB::work(), GridCommRefineLB::work(), GridCommLB::work(), GreedyLB::work(), GreedyCommLB::work(), GreedyAgentLB::work(), CommLB::work(), CommAwareRefineLB::work(), and CentralLB::writeStatsMsgs().

Definition at line 27 of file LBDatabase.C.

Definition at line 28 of file LBDatabase.C.

Referenced by CentralLB::initLB(), and CentralLB::predictorOn().

Definition at line 87 of file LBDatabase.C.

Definition at line 313 of file LBDatabase.C.

LBRealType* _expectedLoad = NULL [static]

Definition at line 315 of file LBDatabase.C.

Referenced by LBDatabase::initnodeFn(), and LBDatabase::LastLBInfo::LastLBInfo().

flag to write all LB decisions

Definition at line 19 of file LBSimulation.C.

Definition at line 25 of file LBDatabase.C.

Referenced by WSLB::AssembleStats(), NborBaseLB::AtSync(), HybridBaseLB::buildStats(), CentralLB::CheckMigrationComplete(), HybridBaseLB::CollectInfo(), TopoLB::computePartitions(), TopoCentLB::computePartitions(), RefinerComm::Messages::cost(), CreateLBFunc_Def(), HybridBaseLB::createMigrateMsg(), CentralLB::endMigrationDone(), GridHybridSeedLB::Find_Minimum_PE(), GridHybridLB::Find_Minimum_PE(), GridCommLB::Find_Minimum_PE(), LBInfo::getInfo(), LBDB::GetObjData(), HbmLB::HbmLB(), HybridBaseLB::HybridBaseLB(), GridMetisLB::Initialize_Object_Data(), GridHybridSeedLB::Initialize_Object_Data(), GridHybridLB::Initialize_Object_Data(), CentralLB::initLB(), LBDB::LBDB(), LDMulticastSend(), LDProcessorSpeed(), LDSend(), CentralLB::LoadBalance(), HybridBaseLB::Loadbalancing(), HbmLB::Loadbalancing(), GridHybridSeedLB::Map_NonMigratable_Objects_To_PEs(), GridHybridLB::Map_NonMigratable_Objects_To_PEs(), GridCommLB::Map_NonMigratable_Objects_To_PEs(), OrbLB::mapPartitionsToNodes(), NborBaseLB::MigrationDone(), HybridBaseLB::MigrationDone(), CentralLB::MigrationDone(), MulticastAgent::MulticastAgent(), Refiner::multirefine(), MulticastAgent::my_preferred_procs(), NborBaseLB::NborBaseLB(), HybridBaseLB::NotifyObjectMigrationDone(), LBDB::ObjDataCount(), ObjGraph::ObjGraph(), RefinerComm::CommTable::overheadOnPe(), GridMetisLB::Partition_Objects_Into_Clusters(), GridHybridSeedLB::Partition_Objects_Into_Clusters(), GridHybridLB::Partition_Objects_Into_Clusters(), CentralLB::preprocess(), LBInfo::print(), HybridBaseLB::ProcessAtSync(), HbmLB::ProcessAtSync(), RefinerComm::processorCommCost(), CentralLB::ProcessReceiveMigration(), HybridBaseLB::PropagateInfo(), BaseLB::ProcStats::pup(), BaseLB::LDStats::pup(), GridMetisLB::QueryBalanceNow(), GridHybridSeedLB::QueryBalanceNow(), GridHybridLB::QueryBalanceNow(), GridCommRefineLB::QueryBalanceNow(), GridCommLB::QueryBalanceNow(), CentralLB::readStatsMsgs(), OrbLB::rec_divide(), NborBaseLB::ReceiveStats(), HybridBaseLB::ReceiveVectorMigration(), RefinerComm::Refine(), RefinerComm::refine(), RefinerApprox::Refine(), Refiner::Refine(), NborBaseLB::ResumeClients(), HybridBaseLB::ResumeClients(), HbmLB::ResumeClients(), CentralLB::ResumeClients(), NeighborLB::Strategy(), HybridBaseLB::Strategy(), CentralLB::Strategy(), HybridBaseLB::TotalObjMigrated(), HybridBaseLB::VectorDone(), VectorStrategy(), ZoltanLB::work(), TreeMatchLB::work(), TopoLB::work(), TopoCentLB::work(), TempAwareGreedyLB::work(), TeamLB::work(), RefineTopoLB::work(), RefineSwapLB::work(), RefineLB::work(), RefineKLB::work(), RandCentLB::work(), OrbLB::work(), MetisLB::work(), GridMetisLB::work(), GridHybridSeedLB::work(), GridHybridLB::work(), GridCommRefineLB::work(), GridCommLB::work(), GreedyLB::work(), GreedyCommLB::work(), GreedyAgentLB::work(), CommLB::work(), CommAwareRefineLB::work(), and CentralLB::writeStatsMsgs().

Definition at line 27 of file LBDatabase.C.

Definition at line 28 of file LBDatabase.C.

Referenced by CentralLB::initLB(), and CentralLB::predictorOn().

char* _lbtopo

flag to write all LB decisions

Definition at line 19 of file LBSimulation.C.

LDOMid LDOMHandle::id [inherited]

int LDOMHandle::handle [inherited]

Definition at line 86 of file lbdb.h.

Referenced by _LDObjKey::objID(), _LDObjKey::operator<(), and _LDObjKey::operator==().

LDObjid LDObjHandle::id [inherited]

Definition at line 122 of file lbdb.h.

Referenced by LBObj::Clear(), and LBObj::IncrementTime().

Definition at line 122 of file lbdb.h.

Referenced by LBObj::Clear(), and LBObj::IncrementTime().

Definition at line 136 of file lbdb.h.

Definition at line 137 of file lbdb.h.

int LDObjStats::to_proc [inherited]

Definition at line 138 of file lbdb.h.

Definition at line 152 of file lbdb.h.

int { ... } ::destObjProc [inherited]

Definition at line 152 of file lbdb.h.

struct { ... } _LDCommDesc::destObj [inherited]

LDObjKey { ... } ::destObj [inherited]

Definition at line 151 of file lbdb.h.

struct { ... } ::destObj [inherited]

int _LDCommDesc::len [inherited]

Definition at line 156 of file lbdb.h.

int { ... } ::len [inherited]

Definition at line 156 of file lbdb.h.

struct { ... } _LDCommDesc::destObjs [inherited]

Referenced by _LDCommDesc::operator=().

LDObjKey* { ... } ::objs [inherited]

Definition at line 155 of file lbdb.h.

struct { ... } ::destObjs [inherited]

union { ... } _LDCommDesc::dest [inherited]

int { ... } ::destProc [inherited]

Definition at line 149 of file lbdb.h.

Definition at line 198 of file lbdb.h.

Referenced by BaseLB::LDStats::getSendHash().

Definition at line 198 of file lbdb.h.

Referenced by BaseLB::LDStats::getRecvHash().

int LDCommData::bytes [inherited]

Definition at line 225 of file lbdb.h.

Definition at line 226 of file lbdb.h.

Cluster Manager Code, Accpets external bit vectors and then feeds it into the loadbalancer so that programs can shrink and expand.

Definition at line 43 of file CentralLB.C.

Definition at line 21 of file NullLB.C.

int _migDoneHandle [static]

Definition at line 24 of file NullLB.C.

const double alpha = 30.e-6 [static]

const double beta = 3.e-9 [static]

Definition at line 104 of file RecBipartLB.C.

Definition at line 106 of file RecBipartLB.C.

Definition at line 106 of file RecBipartLB.C.

Definition at line 107 of file RecBipartLB.C.

char* _lbtopo

Definition at line 12 of file topology.C.

template<int dimension>
int LBTopo_torus_nd< dimension >::VirtualProcessorCount [private, inherited]

Definition at line 581 of file topology.C.

template<int dimension>
int* LBTopo_torus_nd< dimension >::TempCo [private, inherited]

Definition at line 582 of file topology.C.

LBTopoVec lbTopoMap [static]

Definition at line 1312 of file topology.C.

int LBDatabase::manualOn = 0 [static, inherited]

Definition at line 364 of file LBDatabase.h.

Referenced by LBDatabase::init().

char * LBDatabase::avail_vector = NULL [static, private, inherited]


Generated on Fri May 25 08:00:56 2012 for Charm++ by  doxygen 1.5.5