
#include <GridCommRefineLB.h>


Public Member Functions | |
| GridCommRefineLB (const CkLBOptions &) | |
| GridCommRefineLB (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 | Place_Objects_On_PEs () |
| void | Remap_Objects_To_PEs (int cluster) |
| int | Find_Maximum_WAN_Object (int pe) |
| int | Find_Minimum_WAN_PE (int cluster) |
| void | Remove_Object_From_PE (int target_object, int target_pe) |
| void | Assign_Object_To_PE (int target_object, int target_pe) |
Private Attributes | |
| int | Num_PEs |
| int | Num_Objects |
| int | Num_Clusters |
| PE_Data_T * | PE_Data |
| Object_Data_T * | Object_Data |
| double | CK_LDB_GridCommRefineLB_Tolerance |
Definition at line 41 of file GridCommRefineLB.h.
| GridCommRefineLB::GridCommRefineLB | ( | const CkLBOptions & | ) |
| GridCommRefineLB::GridCommRefineLB | ( | CkMigrateMessage * | msg | ) |
Definition at line 86 of file GridCommRefineLB.C.
References CK_LDB_GridCommRefineLB_Tolerance, manager_init(), and value.

Definition at line 108 of file GridCommRefineLB.C.
References _lb_args, Converse::CkMyPe(), and CkLBArgs::debug().

| void GridCommRefineLB::work | ( | LDStats * | stats | ) |
Definition at line 579 of file GridCommRefineLB.C.
References _lb_args, Available_PE_Count(), Converse::CkMyPe(), Compute_Number_Of_Clusters(), CkLBArgs::debug(), Examine_InterObject_Messages(), Initialize_Object_Data(), Initialize_PE_Data(), Num_Clusters, Num_Objects, Num_PEs, Object_Data, PE_Data, Place_Objects_On_PEs(), and Remap_Objects_To_PEs().

| void GridCommRefineLB::pup | ( | PUP::er & | p | ) | [inline] |
Definition at line 49 of file GridCommRefineLB.h.
Definition at line 130 of file GridCommRefineLB.C.
Referenced by Examine_InterObject_Messages(), Initialize_Object_Data(), and Initialize_PE_Data().

| void GridCommRefineLB::Initialize_PE_Data | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 146 of file GridCommRefineLB.C.
References PE_Data_T::available, Get_Cluster(), Num_PEs, and PE_Data.
Referenced by work().


| int GridCommRefineLB::Available_PE_Count | ( | ) | [private] |
Definition at line 184 of file GridCommRefineLB.C.
References Num_PEs, and PE_Data.
Referenced by work().

| int GridCommRefineLB::Compute_Number_Of_Clusters | ( | ) | [private] |
Definition at line 204 of file GridCommRefineLB.C.
References Num_PEs, and PE_Data.
Referenced by work().

| void GridCommRefineLB::Initialize_Object_Data | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 228 of file GridCommRefineLB.C.
References Get_Cluster(), Object_Data_T::migratable, Num_Objects, and Object_Data.
Referenced by work().


| void GridCommRefineLB::Examine_InterObject_Messages | ( | CentralLB::LDStats * | stats | ) | [private] |
Definition at line 254 of file GridCommRefineLB.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 GridCommRefineLB::Place_Objects_On_PEs | ( | ) | [private] |
Definition at line 327 of file GridCommRefineLB.C.
References Assign_Object_To_PE(), Num_Objects, and Object_Data.
Referenced by work().


| void GridCommRefineLB::Remap_Objects_To_PEs | ( | int | cluster | ) | [private] |
Definition at line 342 of file GridCommRefineLB.C.
References Assign_Object_To_PE(), CK_LDB_GridCommRefineLB_Tolerance, Find_Maximum_WAN_Object(), Find_Minimum_WAN_PE(), Num_PEs, PE_Data, and Remove_Object_From_PE().
Referenced by work().


Definition at line 420 of file GridCommRefineLB.C.
References Num_Objects, and Object_Data.
Referenced by Remap_Objects_To_PEs().

Definition at line 460 of file GridCommRefineLB.C.
References Num_PEs, and PE_Data.
Referenced by Remap_Objects_To_PEs().

Definition at line 528 of file GridCommRefineLB.C.
References Object_Data, and PE_Data.
Referenced by Remap_Objects_To_PEs().

Definition at line 554 of file GridCommRefineLB.C.
References Object_Data, and PE_Data.
Referenced by Place_Objects_On_PEs(), and Remap_Objects_To_PEs().

int GridCommRefineLB::Num_PEs [private] |
Definition at line 65 of file GridCommRefineLB.h.
Referenced by Available_PE_Count(), Compute_Number_Of_Clusters(), Find_Minimum_WAN_PE(), Initialize_PE_Data(), Remap_Objects_To_PEs(), and work().
int GridCommRefineLB::Num_Objects [private] |
Definition at line 66 of file GridCommRefineLB.h.
Referenced by Examine_InterObject_Messages(), Find_Maximum_WAN_Object(), Initialize_Object_Data(), Place_Objects_On_PEs(), and work().
int GridCommRefineLB::Num_Clusters [private] |
PE_Data_T* GridCommRefineLB::PE_Data [private] |
Definition at line 68 of file GridCommRefineLB.h.
Referenced by Assign_Object_To_PE(), Available_PE_Count(), Compute_Number_Of_Clusters(), Find_Minimum_WAN_PE(), Initialize_PE_Data(), Remap_Objects_To_PEs(), Remove_Object_From_PE(), and work().
Object_Data_T* GridCommRefineLB::Object_Data [private] |
Definition at line 69 of file GridCommRefineLB.h.
Referenced by Assign_Object_To_PE(), Examine_InterObject_Messages(), Find_Maximum_WAN_Object(), Initialize_Object_Data(), Place_Objects_On_PEs(), Remove_Object_From_PE(), and work().
double GridCommRefineLB::CK_LDB_GridCommRefineLB_Tolerance [private] |
Definition at line 70 of file GridCommRefineLB.h.
Referenced by GridCommRefineLB(), and Remap_Objects_To_PEs().
1.5.5