From f56f4982aa3db2c62e52cdff26d0f5caf5e8c7ab Mon Sep 17 00:00:00 2001 From: Glenn Elliott Date: Tue, 21 Jan 2014 17:50:24 -0500 Subject: pipeline tests --- gen/edf_generators.py | 22 +++++++++++----------- gen/generator.py | 7 +++++++ run_exps.py | 2 +- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/gen/edf_generators.py b/gen/edf_generators.py index 7a30b4f..0e5cb03 100644 --- a/gen/edf_generators.py +++ b/gen/edf_generators.py @@ -75,13 +75,14 @@ class EdfPgmGenerator(gen.Generator): def __make_options(self): '''Return generic EDF options.''' - return [gen.Generator._dist_option('period', ['uni-long'], + return [gen.Generator._dist_option('period', ['uni-moderate'], ecrts14.NAMED_PERIODS_US, 'Task period distributions.'), - gen.Generator._dist_option('num_graphs', 'uni-medium', + gen.Generator._dist_option('num_graphs', ['uni-medium'], ecrts14.NAMED_NUM_GRAPHS, 'Number of graphs.'), - gen.Generator._dist_option('depth_factor', ['uni-medium'], +# gen.Generator._dist_option('depth_factor', ['uni-medium'], + gen.Generator._dist_option('depth_factor', ['pipeline'], ecrts14.NAMED_HEIGHT_FACTORS, 'Depth of graphs.'), gen.Generator._dist_option('partitions', ['no_cache', 'parallel', 'cache_aware'], @@ -90,27 +91,26 @@ class EdfPgmGenerator(gen.Generator): gen.Generator._dist_option('node_placement', ['uniform'], ecrts14.NAMED_SHAPES, 'The node placement of a graph.'), - gen.Generator._dist_option('fan_out', ['uniform_3'], +# gen.Generator._dist_option('fan_out', ['uniform_3'], + gen.Generator._dist_option('fan_out', ['none'], ecrts14.NAMED_FAN, 'The number of out edges of a node.'), gen.Generator._dist_option('fan_in_cap', [3], {}, 'The maximum number of in-edges of a node.'), - gen.Generator._dist_option('edge_distance', ['uniform_3'], +# gen.Generator._dist_option('edge_distance', ['uniform_3'], + gen.Generator._dist_option('edge_distance', ['none'], ecrts14.NAMED_EDGE_HOP, 'The number of hops for an edge.'), - gen.Generator._dist_option('wss', ['uni-medium'], + gen.Generator._dist_option('wss', ['uni-light', 'uni-medium', 'uni-heavy'], ecrts14.NAMED_EDGE_WSS, 'Working set size.'), - gen.Generator._dist_option('task_util', ['uni-light'], + gen.Generator._dist_option('task_util', ['uni-medium'], NAMED_UTILIZATIONS, 'Task utilization.'), gen.Generator._dist_option('polluters', False, {}, 'Polluters.'), -# gen.Generator._dist_option('release_master', False, -# {}, -# 'Release master.'), gen.Generator._dist_option('job_splitting', True, {}, 'Job splitting.'), @@ -120,7 +120,7 @@ class EdfPgmGenerator(gen.Generator): gen.Generator._dist_option('heur_aggressiveness', 0.75, {}, 'heur_aggressiveness.'), - gen.Generator._dist_option('sys_util', [20.0, 16.0, 12.0, 9.0], + gen.Generator._dist_option('sys_util', [18.0, 13.0, 8.0], {}, 'Task set utilization.')] diff --git a/gen/generator.py b/gen/generator.py index 89b893e..043124b 100644 --- a/gen/generator.py +++ b/gen/generator.py @@ -391,6 +391,9 @@ class Generator(object): created_dirs = [] tries += 1 + if tries > 1: + print('Retrying...') + # Generate a task set ts, graphs, subts = self._create_tasks(dp) dp.tasks = len(ts) @@ -409,6 +412,8 @@ class Generator(object): 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 "" @@ -417,6 +422,8 @@ class Generator(object): print("Generating for %s" % dir_path) + dp.wss = temp + if os.path.exists(dir_path): if force: sh.rmtree(dir_path) diff --git a/run_exps.py b/run_exps.py index 3fff667..8736d19 100755 --- a/run_exps.py +++ b/run_exps.py @@ -31,7 +31,7 @@ ExpData = com.recordtype('ExpData', ['name', 'params', 'sched_file', 'out_dir', ConfigResult = namedtuple('ConfigResult', ['param', 'wanted', 'actual']) '''Maximum times an experiment will be retried''' -MAX_RETRY = 5 +MAX_RETRY = 15 '''Location experiment retry count is stored''' TRIES_FNAME = ".tries.pkl" -- cgit v1.2.2