10 #include "GreedyLB.decl.h"
12 void CreateGreedyLB();
13 BaseLB
* AllocateGreedyLB();
15 class GreedyLB
: public CBase_GreedyLB
{
24 GreedyLB(const CkLBOptions
&);
25 GreedyLB(CkMigrateMessage
*m
):CBase_GreedyLB(m
) { lbname
= "GreedyLB"; }
26 void work(LDStats
* stats
);
28 class ProcLoadGreater
;
31 enum HeapCmp
{GT
= '>', LT
= '<'};
32 void Heapify(HeapData
*, int, int, HeapCmp
);
33 void HeapSort(HeapData
*, int, HeapCmp
);
34 void BuildHeap(HeapData
*, int, HeapCmp
);
35 bool Compare(double, double, HeapCmp
);
36 HeapData
* BuildCpuArray(BaseLB::LDStats
*, int, int *);
37 HeapData
* BuildObjectArray(BaseLB::LDStats
*, int, int *);
38 bool QueryBalanceNow(int step
);
41 #endif /* _HEAPCENTLB_H_ */