Fixing a race condition that occurs when redistributing the data. A new assertion...
[charm.git] / src / ck-cp / controlPoints.ci
1 module ControlPoints {
2
3   readonly CProxy_controlPointManager controlPointManagerProxy;
4   readonly int random_seed;
5   readonly long controlPointSamplePeriod;
6
7
8
9   initproc void registerIdleTimeReduction(void);        
10   initproc void initializeCriticalPath(void);   
11
12
13   message pathInformationMsg { 
14          PathHistoryTableEntry history[];
15   };
16
17
18  message controlPointMsg { 
19          char data[];
20  };
21
22
23  message redistributor2DMsg {  
24         double data[]; 
25  }; 
26  
27
28   mainchare controlPointMain {
29     entry controlPointMain(CkArgMsg*);
30   };
31
32  initnode void controlPointInitNode();
33
34  group controlPointManager {
35     entry controlPointManager();
36
37     entry void requestMemoryUsage(CkCallback cb);
38     entry void gatherMemoryUsage(CkReductionMsg *msg);
39
40     entry void requestIdleTime(CkCallback cb);
41     entry void gatherIdleTime(CkReductionMsg *msg);
42
43 //    entry void registerTerminalPath(PathHistory &path);
44
45
46      entry void traceCriticalPathBack(pathInformationMsg *msg);
47      entry void broadcastCriticalPathResult(pathInformationMsg *msg);
48      entry void criticalPathDone(CkReductionMsg *msg);
49
50  }   
51
52
53  
54   array [2D] redistributor2D {
55    entry redistributor2D(void);
56
57    entry void startup();        
58    
59     entry void resizeGranules(int, int);
60     entry void receiveTransposeData(redistributor2DMsg *msg);
61
62   } 
63
64
65
66
67 };