PPL Logo

ck-ldb/TempAwareCommLB.C File Reference

Written by Osman Sarood This load balancing strategy is meant for temperature control. More...

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)


Detailed Description

Written by Osman Sarood This load balancing strategy is meant for temperature control.

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.


Function Documentation

static int cpufreq_sysfs_write ( const char *  setting,
int  proc 
) [static]

Definition at line 30 of file TempAwareCommLB.C.

References Converse::CkMyPe(), and fd.

Here is the call graph for this function:

static int cpufreq_sysfs_read ( int  proc  )  [static]

Definition at line 57 of file TempAwareCommLB.C.

References 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().

Here is the call graph for this function:

Here is the caller graph for this function:

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

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

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

int popFromProcHeap ( std::vector< int > &  parr_above_avg,
ProcArray parr 
) [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."   
)

void PrintProcLoadTemp ( ProcArray parr  ) 

Definition at line 230 of file TempAwareCommLB.C.

References lower_threshold_temp, ProcArray::procs, and upper_threshold_temp.

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

Definition at line 251 of file TempAwareCommLB.C.

References ProcArray::procs.


Variable Documentation

Definition at line 99 of file TempAwareCommLB.C.

Referenced by PrintProcLoadTemp(), and TempAwareCommLB::work().

Definition at line 100 of file TempAwareCommLB.C.

Referenced by PrintProcLoadTemp(), and TempAwareCommLB::work().


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