doc: Add serial to list of ci file reserved words
[charm.git] / src / ck-ldb / CommLB.h
1 /**
2  * \addtogroup CkLdb
3 */
4 /*@{*/
5
6 #ifndef _CommLB_H_
7 #define _CommLB_H_
8
9 #include <CentralLB.h>
10 #include "CommLB.decl.h"
11
12 #include "CommLBHeap.h"
13 #include "GreedyCommLB.h"
14
15 #define CUT_OFF_FACTOR 1.200
16
17 void CreateCommLB();
18
19 struct alloc_struct{
20   double load;
21   int nbyte;
22   int nmsg;
23 };
24
25 class CommLB : public CentralLB {
26 public:
27   int nobj,npe;
28   alloc_struct ** alloc_array;
29   graph * object_graph;
30   CommLB(const CkLBOptions &);
31   CommLB(CkMigrateMessage *m):CentralLB(m) {}
32 private:
33   CmiBool QueryBalanceNow(int step);
34   void work(LDStats* stats);
35   void alloc(int pe, int id, double load, int nmsg, int nbyte);
36   double compute_cost(int id, int pe, int n_alloc, int &out_msg, int &out_byte); 
37   void add_graph(int x, int y, int data, int nmsg);
38 };
39
40 #endif
41
42
43 /*@}*/
44