From d4b955262433d927e966e49d59179808e5d5239f Mon Sep 17 00:00:00 2001 From: Glenn Elliott Date: Wed, 22 Jan 2014 15:51:48 -0500 Subject: (1)fix merge conflict. (2)fix schedcat integr. bug --- gen/edf_generators.py | 9 ++++++-- gen/generator.py | 58 ++++++--------------------------------------------- 2 files changed, 13 insertions(+), 54 deletions(-) diff --git a/gen/edf_generators.py b/gen/edf_generators.py index e8507f6..bd32f47 100644 --- a/gen/edf_generators.py +++ b/gen/edf_generators.py @@ -111,10 +111,10 @@ class EdfPgmGenerator(gen.Generator): gen.Generator._dist_option('task_util', ['uni-medium'], NAMED_UTILIZATIONS, 'Task utilization.'), - gen.Generator._dist_option('polluters', [False, True], + gen.Generator._dist_option('polluters', [False], {}, 'Polluters.'), - gen.Generator._dist_option('job_splitting', True, + gen.Generator._dist_option('job_splitting', [True], {}, 'Job splitting.'), gen.Generator._dist_option('ovh_type', 'max', @@ -258,6 +258,11 @@ class CflSplitPgmGenerator(EdfPgmGenerator): overheads = get_overheads(dp, dp.system) # do the partition here ts = partition.clear_partitioning(ts) + + if overheads.consumer is not None: + for t in ts: + overheads.consumer.place_production(t) + try: ts = PARTITION_METHOD[exp_params['partitions']](ts, graphs, subts, cluster_sz, dp.nr_clusters, dp.system, dp.heur_aggressiveness, overheads) except DidNotFit: diff --git a/gen/generator.py b/gen/generator.py index 409cd43..47b2a7c 100644 --- a/gen/generator.py +++ b/gen/generator.py @@ -427,57 +427,6 @@ class Generator(object): dp.tasks = len(ts) try: -<<<<<<< HEAD - for lvl in levels: - dp['level'] = lvl - _dp['level'] = lvl - for pm in partition_method: - dp.partitions = pm - # Create directory name from relevant parameters - temp = dp.wss - dp.wss = _dp.wss - dir_leaf = "sched=%s_cluster=%s_%s" % (self.scheduler, lvl, col_map.encode(dp)) - dir_leaf = dir_leaf.strip('_') # If there are none - dir_leaf += ("_trial=%s" % trial) if trials > 1 else "" - - dir_path = "%s/%s" % (out_dir, dir_leaf.strip('_')) - - print("Generating for %s" % dir_path) - - dp.wss = temp - - if os.path.exists(dir_path): - if force: - sh.rmtree(dir_path) - else: - print("Skipping existing experiment: '%s'" % dir_path) - continue - - os.mkdir(dir_path) - created_dirs.append(dir_path) - - if trials > 1: - dp[PARAMS['trial']] = trial - _dp[PARAMS['trial']] = trial - self.out_dir = dir_path - - _dp.system = topology.Topology(machines[dp.host]) - _dp.partitions = pm - - # Write a sched.py and param.py for each partition method - ret = self._create_exp(_dp, ts, graphs, subts) - if not ret: - print("Bin-packing fails for " + dir_leaf) - last_failed = dir_leaf - raise Exception("Failed to partition.") - del(self.out_dir) - if PARAMS['trial'] in dp: - del dp[PARAMS['trial']] - del _dp[PARAMS['trial']] - # just generate one experiment for global - if dp['level'] == 'ALL': - break -======= for shp in shared_params: dp['level'] = shp.clustering _dp['level'] = shp.clustering @@ -489,6 +438,9 @@ class Generator(object): dp.job_splitting = shp.splitting # Create directory name from relevant parameters + temp = dp.wss + # slam the wss parameter to get a text-based name + dp.wss = _dp.wss dir_parts = [] dir_parts.append("sched=%s" % self.scheduler) dir_parts.append("cluster=%s" % shp.clustering) @@ -504,6 +456,8 @@ class Generator(object): print("Generating %s" % dir_leaf) + dp.wss = temp + if os.path.exists(dir_path): if force: sh.rmtree(dir_path) @@ -534,9 +488,9 @@ class Generator(object): if PARAMS['trial'] in dp: del dp[PARAMS['trial']] del _dp[PARAMS['trial']] ->>>>>>> 424917db79a1e8855c5e867bcc602476899fa28e success = True except Exception, e: + print e for d in created_dirs: sh.rmtree(d) if not success: -- cgit v1.2.2