PPL Logo

GridHybridLB Class Reference

#include <GridHybridLB.h>

Inheritance diagram for GridHybridLB:

Inheritance graph
[legend]
Collaboration diagram for GridHybridLB:

Collaboration graph
[legend]

Public Member Functions

 GridHybridLB (const CkLBOptions &)
 GridHybridLB (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 Initialize_Cluster_Data ()
void Partition_Objects_Into_Clusters (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_GridHybridLB_Mode
int CK_LDB_GridHybridLB_Background_Load
double CK_LDB_GridHybridLB_Load_Tolerance
int Num_PEs
int Num_Objects
int Num_Clusters
PE_Data_TPE_Data
Object_Data_TObject_Data
Cluster_Data_TCluster_Data

Detailed Description

Definition at line 84 of file GridHybridLB.h.


Constructor & Destructor Documentation

GridHybridLB::GridHybridLB ( const CkLBOptions  ) 

GridHybridLB::GridHybridLB ( CkMigrateMessage msg  ) 


Member Function Documentation

CmiBool GridHybridLB::QueryBalanceNow ( int  step  )  [virtual]

Reimplemented from CentralLB.

Definition at line 92 of file GridHybridLB.C.

References _lb_args, Converse::CkMyPe(), CmiTrue, and CkLBArgs::debug().

void GridHybridLB::work ( LDStats stats  ) 

void GridHybridLB::pup ( PUP::er p  )  [inline, virtual]

Reimplemented from CentralLB.

Definition at line 92 of file GridHybridLB.h.

References CentralLB::pup().

int GridHybridLB::Get_Cluster ( int  pe  )  [private]

Definition at line 114 of file GridHybridLB.C.

References CmiGetCluster().

Referenced by Initialize_Object_Data(), and Initialize_PE_Data().

void GridHybridLB::Initialize_PE_Data ( CentralLB::LDStats stats  )  [private]

int GridHybridLB::Available_PE_Count (  )  [private]

Definition at line 168 of file GridHybridLB.C.

References Num_PEs, and PE_Data.

Referenced by work().

int GridHybridLB::Compute_Number_Of_Clusters (  )  [private]

Definition at line 188 of file GridHybridLB.C.

References Num_PEs, and PE_Data.

Referenced by work().

void GridHybridLB::Initialize_Object_Data ( CentralLB::LDStats stats  )  [private]

void GridHybridLB::Initialize_Cluster_Data (  )  [private]

Definition at line 244 of file GridHybridLB.C.

References Cluster_Data, Num_Clusters, Num_PEs, and PE_Data.

Referenced by work().

void GridHybridLB::Partition_Objects_Into_Clusters ( CentralLB::LDStats stats  )  [private]

void GridHybridLB::Examine_InterObject_Messages ( CentralLB::LDStats stats  )  [private]

void GridHybridLB::Map_NonMigratable_Objects_To_PEs (  )  [private]

Definition at line 595 of file GridHybridLB.C.

References _lb_args, Assign_Object_To_PE(), Converse::CkMyPe(), CkLBArgs::debug(), Num_Objects, and Object_Data.

Referenced by work().

void GridHybridLB::Map_Migratable_Objects_To_PEs ( int  cluster  )  [private]

Definition at line 616 of file GridHybridLB.C.

References Assign_Object_To_PE(), Find_Maximum_Object(), and Find_Minimum_PE().

Referenced by work().

int GridHybridLB::Find_Maximum_Object ( int  cluster  )  [private]

int GridHybridLB::Find_Minimum_PE ( int  cluster  )  [private]

void GridHybridLB::Assign_Object_To_PE ( int  target_object,
int  target_pe 
) [private]

Definition at line 832 of file GridHybridLB.C.

References Object_Data, and PE_Data.

Referenced by Map_Migratable_Objects_To_PEs(), and Map_NonMigratable_Objects_To_PEs().


Field Documentation

Definition at line 110 of file GridHybridLB.h.

Referenced by GridHybridLB(), Initialize_PE_Data(), and work().

Definition at line 111 of file GridHybridLB.h.

Referenced by Find_Maximum_Object(), Find_Minimum_PE(), GridHybridLB(), and work().

Definition at line 115 of file GridHybridLB.h.

Referenced by Initialize_Cluster_Data(), Partition_Objects_Into_Clusters(), and work().

Definition at line 118 of file GridHybridLB.h.

Referenced by Initialize_Cluster_Data(), Partition_Objects_Into_Clusters(), and work().


The documentation for this class was generated from the following files:

Generated on Fri May 25 08:03:34 2012 for Charm++ by  doxygen 1.5.5