00001 00005 00006 #ifndef _PHASEBYARRAYLB_H_ 00007 #define _PHASEBYARRAYLB_H_ 00008 00009 #include "CentralLB.h" 00010 #include "PhasebyArrayLB.decl.h" 00011 00012 void CreatePhasebyArrayLB(); 00013 00014 class PhasebyArrayLB : public CBase_PhasebyArrayLB { 00015 public: 00016 PhasebyArrayLB(const CkLBOptions &); 00017 PhasebyArrayLB(CkMigrateMessage *m):CBase_PhasebyArrayLB(m) {} 00018 private: 00019 //CkVec<CProxy_ArrayBase> arrayProxies; 00020 BaseLB::LDStats *tempStats; 00021 CentralLB *lb; 00022 CkVec<LDOMid> omids; 00023 CkVec<bool> migratableOMs; 00024 bool QueryBalanceNow(int step); 00025 void copyStats(BaseLB::LDStats *stats,BaseLB::LDStats *tempStats); 00026 void updateStats(BaseLB::LDStats *stats,BaseLB::LDStats *tempStats); 00027 void work(LDStats* stats); 00028 }; 00029 00030 #endif /* _PHASEBYARRAYLB_H_ */ 00031