doc: Add serial to list of ci file reserved words
[charm.git] / src / ck-ldb / GridCommRefineLB.h
index 5b2ac284a9b31b76a0869be642c387595f425a10..d4041a8b258ea45da99ccd124780f4496602d67c 100644 (file)
@@ -2,15 +2,14 @@
 #define _GRIDCOMMREFINELB_H_
 
 #include <limits.h>
-#include <stdio.h>
-
-#include "charm++.h"
-#include "cklists.h"
-
 #include "CentralLB.h"
 
 #define CK_LDB_GRIDCOMMREFINELB_TOLERANCE 1.10
 
+#ifndef MAXINT
+#define MAXINT 2147483647
+#endif
+
 #if CONVERSE_VERSION_VMI
 extern "C" int CmiGetCluster (int process);
 #endif
@@ -49,22 +48,30 @@ class GridCommRefineLB : public CentralLB
     GridCommRefineLB (const CkLBOptions &);
     GridCommRefineLB (CkMigrateMessage *msg);
 
-    void work (CentralLB::LDStats *stats, int count);
-
+    CmiBool QueryBalanceNow (int step);
+    void work (LDStats *stats);
     void pup (PUP::er &p) { CentralLB::pup (p); }
 
   private:
     int Get_Cluster (int pe);
-    int Find_Maximum_WAN_Object (int cluster);
+    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);
-    CmiBool QueryBalanceNow (int step);
 
     int Num_PEs;
     int Num_Objects;
     int Num_Clusters;
     PE_Data_T *PE_Data;
     Object_Data_T *Object_Data;
+    double CK_LDB_GridCommRefineLB_Tolerance;
 };
 
 #endif