Missed these 2 files earlier.
authorChee Wai Lee <cheelee@illinois.edu>
Wed, 6 Dec 2006 21:42:50 +0000 (21:42 +0000)
committerChee Wai Lee <cheelee@illinois.edu>
Wed, 6 Dec 2006 21:42:50 +0000 (21:42 +0000)
src/ck-perf/trace-projections.ci [new file with mode: 0644]
src/ck-perf/trace-projectionsBOC.h [new file with mode: 0644]

diff --git a/src/ck-perf/trace-projections.ci b/src/ck-perf/trace-projections.ci
new file mode 100644 (file)
index 0000000..133aa4b
--- /dev/null
@@ -0,0 +1,35 @@
+
+module TraceProjections {
+
+  message OutlierStatsMessage {
+    double stats[];
+  };
+
+  message OutlierWeightMessage;
+
+  message OutlierThresholdMessage;
+
+  mainchare TraceProjectionsInit {
+    entry TraceProjectionsInit(CkArgMsg *m);
+  };
+
+  initnode void initTraceProjectionsBOC();
+  
+  readonly CkGroupID traceProjectionsGID;
+
+  group [migratable] TraceProjectionsBOC {
+    entry TraceProjectionsBOC(void);
+    entry void startOutlierAnalysis();
+    entry void outlierAverageReduction(CkReductionMsg *);
+    entry void calculateWeights(OutlierStatsMessage *);
+    entry void determineOutliers(OutlierWeightMessage *);
+    entry void setOutliers(OutlierThresholdMessage *);
+    entry void startEndTimeAnalysis();
+    entry void endTimeReduction(CkReductionMsg *);
+    entry void finalReduction(CkReductionMsg *);
+    entry [notrace] void shutdownAnalysis(void);
+    entry void closeTrace(void);
+  };
+
+};
+
diff --git a/src/ck-perf/trace-projectionsBOC.h b/src/ck-perf/trace-projectionsBOC.h
new file mode 100644 (file)
index 0000000..2b337a5
--- /dev/null
@@ -0,0 +1,58 @@
+
+#include "TraceProjections.decl.h"
+
+extern CkGroupID traceProjectionsGID;
+
+class TraceProjectionsInit : public Chare {
+  public:
+  TraceProjectionsInit(CkArgMsg*) {
+    traceProjectionsGID = CProxy_TraceProjectionsBOC::ckNew();
+  }
+  TraceProjectionsInit(CkMigrateMessage *m):Chare(m) {}
+};
+
+class OutlierStatsMessage : public CMessage_OutlierStatsMessage {
+ public:
+  double *stats;
+};
+
+class OutlierWeightMessage : public CMessage_OutlierWeightMessage {
+ public:
+  int sourcePe;
+  double weight;
+};
+
+class OutlierThresholdMessage : public CMessage_OutlierThresholdMessage {
+ public:
+  double threshold;
+};
+
+class TraceProjectionsBOC : public CBase_TraceProjectionsBOC {
+private:
+  double dummy;
+  double endTime;
+  double analysisStartTime;
+  double *execTimes;
+  double weight;
+  int encounteredWeights;
+  double *weightArray;
+  int *mapArray;
+
+  FILE *outlierfp;
+  
+public:
+  TraceProjectionsBOC(void) {};
+  TraceProjectionsBOC(CkMigrateMessage *m):CBase_TraceProjectionsBOC(m) {};
+  void startOutlierAnalysis();
+  void outlierAverageReduction(CkReductionMsg *);
+  void calculateWeights(OutlierStatsMessage *);
+  void determineOutliers(OutlierWeightMessage *);
+  void setOutliers(OutlierThresholdMessage *);
+  void startEndTimeAnalysis();
+  void endTimeReduction(CkReductionMsg *);
+  void finalReduction(CkReductionMsg *);
+  void shutdownAnalysis(void);
+  void closeTrace(void);
+};
+
+