Go to the source code of this file.
Data Structures | |
class | TempAwareCommLB::ProcLoadGreater |
class | TempAwareCommLB::ObjLoadGreater |
class | TempAwareCommLB::PeCommInfo |
class | TempAwareCommLB::ObjPeCommInfo |
class | TempAwareCommLB::ProcCommGreater |
double | upper_threshold_temp |
double | lower_threshold_temp |
int | quietModeRequested |
static int | cpufreq_sysfs_write (const char *setting, int proc) |
static int | cpufreq_sysfs_read (int proc) |
void | printCurrentTemperature (void *LB, double curWallTime) |
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_temp, double lower_threshold_temp, std::vector< int > &parr_above_avg, std::vector< int > &parr_below_avg, std::vector< bool > &proc_load_info, ProcArray *parr) |
void | getPossiblePes (std::vector< int > &possible_pes, int randomly_obj_id, ObjGraph *ogr, ProcArray *parr) |
CreateLBFunc_Def (TempAwareCommLB,"always assign the heaviest obj onto lightest loaded processor.") | |
void | PrintProcLoadTemp (ProcArray *parr) |
void | PrintProcObjTemp (ProcArray *parr, std::vector< int > *parr_objs) |
It is mandotry to have access to frequency control to use it. It is a mixture of Refine and Comm LBs in addition to normalization being done according to frequencies. This load balancer can also cater for sensitivity to frequency that an applicaiton has to frequency.
Definition in file TempAwareCommLB.C.
Definition at line 30 of file TempAwareCommLB.C.
References Converse::CkMyPe(), and fd.
void printCurrentTemperature | ( | void * | LB, | |
double | curWallTime | |||
) |
Definition at line 78 of file TempAwareCommLB.C.
References Converse::CkMyPe(), and cpufreq_sysfs_read().
Referenced by CreateLBFunc_Def().
void printMapping | ( | std::vector< Vertex > & | vertices | ) | [inline] |
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_temp, | |||
double | lower_threshold_temp, | |||
std::vector< int > & | parr_above_avg, | |||
std::vector< int > & | parr_below_avg, | |||
std::vector< bool > & | proc_load_info, | |||
ProcArray * | parr | |||
) | [inline] |
void getPossiblePes | ( | std::vector< int > & | possible_pes, | |
int | randomly_obj_id, | |||
ObjGraph * | ogr, | |||
ProcArray * | parr | |||
) | [inline] |
CreateLBFunc_Def | ( | TempAwareCommLB | , | |
"always assign the heaviest obj onto lightest loaded processor." | ||||
) |
Definition at line 104 of file TempAwareCommLB.C.
References CcdCallOnConditionKeep(), Converse::CkMyPe(), Converse::CkNumPes(), CmiWallTimer(), cpufreq_sysfs_write(), migFile, printCurrentTemperature(), quietModeRequested, snprintf(), and starting.
void PrintProcLoadTemp | ( | ProcArray * | parr | ) |
Definition at line 230 of file TempAwareCommLB.C.
References lower_threshold_temp, ProcArray::procs, and upper_threshold_temp.
double upper_threshold_temp |
Definition at line 99 of file TempAwareCommLB.C.
Referenced by PrintProcLoadTemp(), and TempAwareCommLB::work().
double lower_threshold_temp |
Definition at line 100 of file TempAwareCommLB.C.
Referenced by PrintProcLoadTemp(), and TempAwareCommLB::work().