
#include <GridCommLB.h>


Public Member Functions | |
| GridCommLB (const CkLBOptions &) | |
| GridCommLB (CkMigrateMessage *msg) | |
| CmiBool | 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 52 of file GridCommLB.h.
| GridCommLB::GridCommLB | ( | const CkLBOptions & | ) |
| GridCommLB::GridCommLB | ( | CkMigrateMessage * | msg | ) |
Definition at line 90 of file GridCommLB.C.
References CK_LDB_GridCommLB_Background_Load, CK_LDB_GridCommLB_Load_Tolerance, CK_LDB_GridCommLB_Mode, BaseLB::lbname, manager_init(), and value.
Reimplemented from CentralLB.
Definition at line 124 of file GridCommLB.C.
References _lb_args, Converse::CkMyPe(), CmiTrue, and CkLBArgs::debug().
| void GridCommLB::work | ( | LDStats * | stats | ) |
Definition at line 608 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(), BaseLB::LDStats::from_proc, Initialize_Object_Data(), Initialize_PE_Data(), BaseLB::LDStats::makeCommHash(), Map_Migratable_Objects_To_PEs(), Map_NonMigratable_Objects_To_PEs(), BaseLB::LDStats::n_objs, BaseLB::LDStats::nprocs(), Num_Clusters, Num_Objects, Num_PEs, Object_Data, PE_Data, and BaseLB::LDStats::to_proc.
| void GridCommLB::pup | ( | PUP::er & | p | ) | [inline, virtual] |
Reimplemented from CentralLB.
Definition at line 60 of file GridCommLB.h.
References CentralLB::pup().
Definition at line 146 of file GridCommLB.C.
References CmiGetCluster().
Referenced by Examine_InterObject_Messages(), Initialize_Object_Data(), and Initialize_PE_Data().
| void GridCommLB::Initialize_PE_Data | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 166 of file GridCommLB.C.
References BaseLB::ProcStats::available, BaseLB::ProcStats::bg_walltime, CK_LDB_GridCommLB_Background_Load, Get_Cluster(), Num_PEs, PE_Data, BaseLB::ProcStats::pe_speed, and BaseLB::LDStats::procs.
Referenced by work().
| int GridCommLB::Available_PE_Count | ( | ) | [private] |
| int GridCommLB::Compute_Number_Of_Clusters | ( | ) | [private] |
| void GridCommLB::Initialize_Object_Data | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 250 of file GridCommLB.C.
References BaseLB::LDStats::from_proc, Get_Cluster(), Object_Data_T::migratable, Num_Objects, BaseLB::LDStats::objData, and Object_Data.
Referenced by work().
| void GridCommLB::Examine_InterObject_Messages | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 273 of file GridCommLB.C.
References BaseLB::LDStats::commData, LDCommData::from_proc(), Get_Cluster(), _LDCommDesc::get_destObj(), _LDCommDesc::get_destObjs(), _LDCommDesc::get_type(), BaseLB::LDStats::getHash(), LDCommData::messages, BaseLB::LDStats::n_comm, 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 346 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 367 of file GridCommLB.C.
References Assign_Object_To_PE(), Find_Maximum_Object(), and Find_Minimum_PE().
Referenced by work().
Definition at line 395 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 470 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 583 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 75 of file GridCommLB.h.
Referenced by Find_Minimum_PE(), GridCommLB(), and work().
Definition at line 76 of file GridCommLB.h.
Referenced by GridCommLB(), Initialize_PE_Data(), and work().
Definition at line 77 of file GridCommLB.h.
Referenced by Find_Maximum_Object(), Find_Minimum_PE(), GridCommLB(), and work().
int GridCommLB::Num_PEs [private] |
Definition at line 79 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 80 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 82 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 83 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().
1.5.5