diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2014-01-29 22:51:48 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2014-01-29 22:51:48 -0500 |
commit | bc96d3d27124381d4a4acac0b684e9ad4280a22c (patch) | |
tree | f538ae31da3756291025d3c11f157b46fb8e640b | |
parent | 207ed60eb4dfc8e0a050cc39a7f88d6a945ceb9c (diff) |
Compute proportional graph response times.
-rw-r--r-- | parse/sched.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/parse/sched.py b/parse/sched.py index 83004f2..11a614e 100644 --- a/parse/sched.py +++ b/parse/sched.py | |||
@@ -86,7 +86,7 @@ PgmTaskParams = namedtuple('PgmTaskParams', ['node_type', 'gid']) | |||
86 | TaskData = recordtype('TaskData', ['params', 'pgm_params', 'jobs', 'blocks', | 86 | TaskData = recordtype('TaskData', ['params', 'pgm_params', 'jobs', 'blocks', |
87 | 'response', 'lateness', 'misses', | 87 | 'response', 'lateness', 'misses', |
88 | 'pgm_response', 'pgm_lateness', 'pgm_misses']) | 88 | 'pgm_response', 'pgm_lateness', 'pgm_misses']) |
89 | GraphParams = recordtype('GraphParams', ['gid', 'src', 'sink']) | 89 | GraphParams = recordtype('GraphParams', ['gid', 'src', 'sink', 'etoe']) |
90 | GraphData = recordtype('GraphData', ['params', 'jobs', 'response']) | 90 | GraphData = recordtype('GraphData', ['params', 'jobs', 'response']) |
91 | 91 | ||
92 | PGM_NOT_A_NODE = 0 | 92 | PGM_NOT_A_NODE = 0 |
@@ -297,7 +297,7 @@ class SysReleaseRecord(SchedRecord): | |||
297 | pass | 297 | pass |
298 | 298 | ||
299 | class PgmParamRecord(SchedRecord): | 299 | class PgmParamRecord(SchedRecord): |
300 | FIELDS = [('node_type', c_uint32), ('graph_pid', c_uint16)] | 300 | FIELDS = [('node_type', c_uint32), ('graph_pid', c_uint16), ('unused2', c_uint16), ('etoe', c_uint64)] |
301 | 301 | ||
302 | def process(self, task_dict): | 302 | def process(self, task_dict): |
303 | pass | 303 | pass |
@@ -309,7 +309,7 @@ class PgmParamRecord(SchedRecord): | |||
309 | if self.node_type == PGM_SRC or self.node_type == PGM_SINK or self.node_type == PGM_SRC_SINK: | 309 | if self.node_type == PGM_SRC or self.node_type == PGM_SINK or self.node_type == PGM_SRC_SINK: |
310 | graph_data = graph_dict[self.graph_pid] | 310 | graph_data = graph_dict[self.graph_pid] |
311 | if not graph_data.params: | 311 | if not graph_data.params: |
312 | graph_data.params = GraphParams(self.graph_pid, 0, 0) | 312 | graph_data.params = GraphParams(self.graph_pid, 0, 0, self.etoe) |
313 | if self.node_type == PGM_SRC: | 313 | if self.node_type == PGM_SRC: |
314 | assert graph_data.params.src == 0 | 314 | assert graph_data.params.src == 0 |
315 | graph_data.params.src = self.pid | 315 | graph_data.params.src = self.pid |
@@ -472,6 +472,8 @@ def extract_sched_data(result, data_dir, work_dir): | |||
472 | 472 | ||
473 | gstat_data["graph-response-max"].append(float(response.max)/NSEC_PER_MSEC) | 473 | gstat_data["graph-response-max"].append(float(response.max)/NSEC_PER_MSEC) |
474 | gstat_data["graph-response-avg"].append(response.avg/NSEC_PER_MSEC) | 474 | gstat_data["graph-response-avg"].append(response.avg/NSEC_PER_MSEC) |
475 | gstat_data["graph-response-prop-max"].append(float(response.max) / gdata.params.etoe) | ||
476 | gstat_data["graph-response-prop-avg"].append(response.avg / gdata.params.etoe) | ||
475 | 477 | ||
476 | # Summarize value groups | 478 | # Summarize value groups |
477 | for name, data in stat_data.iteritems(): | 479 | for name, data in stat_data.iteritems(): |