PPL Logo

ck-ldb/CommAwareRefineLB.C File Reference

Written by Harshitha Menon. More...

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


Detailed Description

Written by Harshitha Menon.

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.


Generated on Mon Sep 21 07:59:14 2020 for Charm++ by  doxygen 1.5.5