#include <GridCommLB.h>
Public Member Functions | |
GridCommLB (const CkLBOptions &) | |
GridCommLB (CkMigrateMessage *msg) | |
bool | QueryBalanceNow (int step) |
void | work (LDStats *stats) |
void | pup (PUP::er &p) |
Private Member Functions | |
int | Get_Cluster (int pe) |
void | Initialize_PE_Data (CentralLB::LDStats *stats) |
int | Available_PE_Count () |
int | Compute_Number_Of_Clusters () |
void | Initialize_Object_Data (CentralLB::LDStats *stats) |
void | Examine_InterObject_Messages (CentralLB::LDStats *stats) |
void | Map_NonMigratable_Objects_To_PEs () |
void | Map_Migratable_Objects_To_PEs (int cluster) |
int | Find_Maximum_Object (int cluster) |
int | Find_Minimum_PE (int cluster) |
void | Assign_Object_To_PE (int target_object, int target_pe) |
Private Attributes | |
int | CK_LDB_GridCommLB_Mode |
int | CK_LDB_GridCommLB_Background_Load |
double | CK_LDB_GridCommLB_Load_Tolerance |
int | Num_PEs |
int | Num_Objects |
int | Num_Clusters |
PE_Data_T * | PE_Data |
Object_Data_T * | Object_Data |
Definition at line 48 of file GridCommLB.h.
GridCommLB::GridCommLB | ( | const CkLBOptions & | ) |
GridCommLB::GridCommLB | ( | CkMigrateMessage * | msg | ) |
Definition at line 92 of file GridCommLB.C.
References CK_LDB_GridCommLB_Background_Load, CK_LDB_GridCommLB_Load_Tolerance, CK_LDB_GridCommLB_Mode, manager_init(), and value.
Definition at line 126 of file GridCommLB.C.
References _lb_args, Converse::CkMyPe(), and CkLBArgs::debug().
void GridCommLB::work | ( | LDStats * | stats | ) |
Definition at line 606 of file GridCommLB.C.
References _lb_args, Available_PE_Count(), CK_LDB_GridCommLB_Background_Load, CK_LDB_GridCommLB_Load_Tolerance, CK_LDB_GridCommLB_Mode, Converse::CkMyPe(), Compute_Number_Of_Clusters(), CkLBArgs::debug(), Examine_InterObject_Messages(), Initialize_Object_Data(), Initialize_PE_Data(), Map_Migratable_Objects_To_PEs(), Map_NonMigratable_Objects_To_PEs(), Num_Clusters, Num_Objects, Num_PEs, Object_Data, and PE_Data.
void GridCommLB::pup | ( | PUP::er & | p | ) | [inline] |
Definition at line 56 of file GridCommLB.h.
Definition at line 148 of file GridCommLB.C.
Referenced by Examine_InterObject_Messages(), Initialize_Object_Data(), and Initialize_PE_Data().
void GridCommLB::Initialize_PE_Data | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 164 of file GridCommLB.C.
References PE_Data_T::available, CK_LDB_GridCommLB_Background_Load, Get_Cluster(), Num_PEs, and PE_Data.
Referenced by work().
int GridCommLB::Available_PE_Count | ( | ) | [private] |
Definition at line 204 of file GridCommLB.C.
References Num_PEs, and PE_Data.
Referenced by work().
int GridCommLB::Compute_Number_Of_Clusters | ( | ) | [private] |
Definition at line 224 of file GridCommLB.C.
References Num_PEs, and PE_Data.
Referenced by work().
void GridCommLB::Initialize_Object_Data | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 248 of file GridCommLB.C.
References Get_Cluster(), Object_Data_T::migratable, Num_Objects, and Object_Data.
Referenced by work().
void GridCommLB::Examine_InterObject_Messages | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 271 of file GridCommLB.C.
References _LDCommData::from_proc(), Get_Cluster(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), _LDCommData::messages, Num_Objects, Object_Data, _LDCommData::receiver, _LDCommData::recv_type(), and _LDCommData::sender.
Referenced by work().
void GridCommLB::Map_NonMigratable_Objects_To_PEs | ( | ) | [private] |
Definition at line 344 of file GridCommLB.C.
References _lb_args, Assign_Object_To_PE(), Converse::CkMyPe(), CkLBArgs::debug(), Num_Objects, and Object_Data.
Referenced by work().
void GridCommLB::Map_Migratable_Objects_To_PEs | ( | int | cluster | ) | [private] |
Definition at line 365 of file GridCommLB.C.
References Assign_Object_To_PE(), Find_Maximum_Object(), and Find_Minimum_PE().
Referenced by work().
Definition at line 393 of file GridCommLB.C.
References CK_LDB_GridCommLB_Load_Tolerance, Num_Objects, and Object_Data.
Referenced by Map_Migratable_Objects_To_PEs().
Definition at line 468 of file GridCommLB.C.
References _lb_args, CK_LDB_GridCommLB_Load_Tolerance, CK_LDB_GridCommLB_Mode, Converse::CkMyPe(), CkLBArgs::debug(), Num_PEs, and PE_Data.
Referenced by Map_Migratable_Objects_To_PEs().
Definition at line 581 of file GridCommLB.C.
References Object_Data, and PE_Data.
Referenced by Map_Migratable_Objects_To_PEs(), and Map_NonMigratable_Objects_To_PEs().
int GridCommLB::CK_LDB_GridCommLB_Mode [private] |
Definition at line 71 of file GridCommLB.h.
Referenced by Find_Minimum_PE(), GridCommLB(), and work().
Definition at line 72 of file GridCommLB.h.
Referenced by GridCommLB(), Initialize_PE_Data(), and work().
double GridCommLB::CK_LDB_GridCommLB_Load_Tolerance [private] |
Definition at line 73 of file GridCommLB.h.
Referenced by Find_Maximum_Object(), Find_Minimum_PE(), GridCommLB(), and work().
int GridCommLB::Num_PEs [private] |
Definition at line 75 of file GridCommLB.h.
Referenced by Available_PE_Count(), Compute_Number_Of_Clusters(), Find_Minimum_PE(), Initialize_PE_Data(), and work().
int GridCommLB::Num_Objects [private] |
Definition at line 76 of file GridCommLB.h.
Referenced by Examine_InterObject_Messages(), Find_Maximum_Object(), Initialize_Object_Data(), Map_NonMigratable_Objects_To_PEs(), and work().
int GridCommLB::Num_Clusters [private] |
PE_Data_T* GridCommLB::PE_Data [private] |
Definition at line 78 of file GridCommLB.h.
Referenced by Assign_Object_To_PE(), Available_PE_Count(), Compute_Number_Of_Clusters(), Find_Minimum_PE(), Initialize_PE_Data(), and work().
Object_Data_T* GridCommLB::Object_Data [private] |
Definition at line 79 of file GridCommLB.h.
Referenced by Assign_Object_To_PE(), Examine_InterObject_Messages(), Find_Maximum_Object(), Initialize_Object_Data(), Map_NonMigratable_Objects_To_PEs(), and work().