Go to the source code of this file.
Data Structures | |
class | CommAwareRefineLB::ProcLoadGreater |
class | CommAwareRefineLB::ObjLoadGreater |
class | CommAwareRefineLB::PeCommInfo |
class | CommAwareRefineLB::ObjPeCommInfo |
class | CommAwareRefineLB::ProcCommGreater |
Functions | |
CreateLBFunc_Def (CommAwareRefineLB,"always assign the heaviest obj onto lightest loaded processor.") | |
void | PrintProcLoad (ProcArray *parr) |
void | PrintProcObj (ProcArray *parr, vector< int > *parr_objs) |
void | eraseObjFromParrObjs (vector< int > &parr_objs, int remove_objid) |
void | printMapping (vector< Vertex > &vertices) |
void | removeFromArray (int pe_id, vector< int > &array) |
int | popFromProcHeap (vector< int > &parr_above_avg, ProcArray *parr) |
void | handleTransfer (int randomly_obj_id, ProcInfo &p, int possible_pe, vector< int > *parr_objs, ObjGraph *ogr, ProcArray *parr) |
void | updateLoadInfo (int p_index, int possible_pe, double upper_threshold, double lower_threshold, vector< int > &parr_above_avg, vector< int > &parr_below_avg, vector< bool > &proc_load_info, ProcArray *parr) |
void | getPossiblePes (vector< int > &possible_pes, int randomly_obj_id, ObjGraph *ogr, ProcArray *parr) |
Variables | |
double | upper_threshold |
double | lower_threshold |
int | quietModeRequested |
This Loadbalancer strategy is Refine but taking into consideration the Communication between the processors. The following are the steps in the loadbalancing strategy
1. Construct a max heap of processor load whose load is greater than avg 2. Construct a sorted array of processor load whose load is less than avg 3. Pick the heaviest processor from the heap, randomly select a chare in that processor and decide on which processor in the underloaded processor list to transfer it to based on the one with which it is heavily communicating. 4. If the load of the processors after the transfer is less than the avg load, then push it into the underloaded processor list, else push it into the max heap.
Definition in file CommAwareRefineLB.C.