diff options
| author | Glenn Elliott <gelliott@cs.unc.edu> | 2014-01-21 17:50:24 -0500 |
|---|---|---|
| committer | Glenn Elliott <gelliott@cs.unc.edu> | 2014-01-21 17:50:24 -0500 |
| commit | f56f4982aa3db2c62e52cdff26d0f5caf5e8c7ab (patch) | |
| tree | bf4267750cf90fc22ef129d089ebc7f9eadef865 | |
| parent | 398389d33ce3e1cb356c6415ffced2656fb7562e (diff) | |
pipeline tests
| -rw-r--r-- | gen/edf_generators.py | 22 | ||||
| -rw-r--r-- | gen/generator.py | 7 | ||||
| -rwxr-xr-x | 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): | |||
| 75 | 75 | ||
| 76 | def __make_options(self): | 76 | def __make_options(self): |
| 77 | '''Return generic EDF options.''' | 77 | '''Return generic EDF options.''' |
| 78 | return [gen.Generator._dist_option('period', ['uni-long'], | 78 | return [gen.Generator._dist_option('period', ['uni-moderate'], |
| 79 | ecrts14.NAMED_PERIODS_US, | 79 | ecrts14.NAMED_PERIODS_US, |
| 80 | 'Task period distributions.'), | 80 | 'Task period distributions.'), |
| 81 | gen.Generator._dist_option('num_graphs', 'uni-medium', | 81 | gen.Generator._dist_option('num_graphs', ['uni-medium'], |
| 82 | ecrts14.NAMED_NUM_GRAPHS, | 82 | ecrts14.NAMED_NUM_GRAPHS, |
| 83 | 'Number of graphs.'), | 83 | 'Number of graphs.'), |
| 84 | gen.Generator._dist_option('depth_factor', ['uni-medium'], | 84 | # gen.Generator._dist_option('depth_factor', ['uni-medium'], |
| 85 | gen.Generator._dist_option('depth_factor', ['pipeline'], | ||
| 85 | ecrts14.NAMED_HEIGHT_FACTORS, | 86 | ecrts14.NAMED_HEIGHT_FACTORS, |
| 86 | 'Depth of graphs.'), | 87 | 'Depth of graphs.'), |
| 87 | gen.Generator._dist_option('partitions', ['no_cache', 'parallel', 'cache_aware'], | 88 | gen.Generator._dist_option('partitions', ['no_cache', 'parallel', 'cache_aware'], |
| @@ -90,27 +91,26 @@ class EdfPgmGenerator(gen.Generator): | |||
| 90 | gen.Generator._dist_option('node_placement', ['uniform'], | 91 | gen.Generator._dist_option('node_placement', ['uniform'], |
| 91 | ecrts14.NAMED_SHAPES, | 92 | ecrts14.NAMED_SHAPES, |
| 92 | 'The node placement of a graph.'), | 93 | 'The node placement of a graph.'), |
| 93 | gen.Generator._dist_option('fan_out', ['uniform_3'], | 94 | # gen.Generator._dist_option('fan_out', ['uniform_3'], |
| 95 | gen.Generator._dist_option('fan_out', ['none'], | ||
| 94 | ecrts14.NAMED_FAN, | 96 | ecrts14.NAMED_FAN, |
| 95 | 'The number of out edges of a node.'), | 97 | 'The number of out edges of a node.'), |
| 96 | gen.Generator._dist_option('fan_in_cap', [3], | 98 | gen.Generator._dist_option('fan_in_cap', [3], |
| 97 | {}, | 99 | {}, |
| 98 | 'The maximum number of in-edges of a node.'), | 100 | 'The maximum number of in-edges of a node.'), |
| 99 | gen.Generator._dist_option('edge_distance', ['uniform_3'], | 101 | # gen.Generator._dist_option('edge_distance', ['uniform_3'], |
| 102 | gen.Generator._dist_option('edge_distance', ['none'], | ||
| 100 | ecrts14.NAMED_EDGE_HOP, | 103 | ecrts14.NAMED_EDGE_HOP, |
| 101 | 'The number of hops for an edge.'), | 104 | 'The number of hops for an edge.'), |
| 102 | gen.Generator._dist_option('wss', ['uni-medium'], | 105 | gen.Generator._dist_option('wss', ['uni-light', 'uni-medium', 'uni-heavy'], |
| 103 | ecrts14.NAMED_EDGE_WSS, | 106 | ecrts14.NAMED_EDGE_WSS, |
| 104 | 'Working set size.'), | 107 | 'Working set size.'), |
| 105 | gen.Generator._dist_option('task_util', ['uni-light'], | 108 | gen.Generator._dist_option('task_util', ['uni-medium'], |
| 106 | NAMED_UTILIZATIONS, | 109 | NAMED_UTILIZATIONS, |
| 107 | 'Task utilization.'), | 110 | 'Task utilization.'), |
| 108 | gen.Generator._dist_option('polluters', False, | 111 | gen.Generator._dist_option('polluters', False, |
| 109 | {}, | 112 | {}, |
| 110 | 'Polluters.'), | 113 | 'Polluters.'), |
| 111 | # gen.Generator._dist_option('release_master', False, | ||
| 112 | # {}, | ||
| 113 | # 'Release master.'), | ||
| 114 | gen.Generator._dist_option('job_splitting', True, | 114 | gen.Generator._dist_option('job_splitting', True, |
| 115 | {}, | 115 | {}, |
| 116 | 'Job splitting.'), | 116 | 'Job splitting.'), |
| @@ -120,7 +120,7 @@ class EdfPgmGenerator(gen.Generator): | |||
| 120 | gen.Generator._dist_option('heur_aggressiveness', 0.75, | 120 | gen.Generator._dist_option('heur_aggressiveness', 0.75, |
| 121 | {}, | 121 | {}, |
| 122 | 'heur_aggressiveness.'), | 122 | 'heur_aggressiveness.'), |
| 123 | gen.Generator._dist_option('sys_util', [20.0, 16.0, 12.0, 9.0], | 123 | gen.Generator._dist_option('sys_util', [18.0, 13.0, 8.0], |
| 124 | {}, | 124 | {}, |
| 125 | 'Task set utilization.')] | 125 | 'Task set utilization.')] |
| 126 | 126 | ||
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): | |||
| 391 | created_dirs = [] | 391 | created_dirs = [] |
| 392 | tries += 1 | 392 | tries += 1 |
| 393 | 393 | ||
| 394 | if tries > 1: | ||
| 395 | print('Retrying...') | ||
| 396 | |||
| 394 | # Generate a task set | 397 | # Generate a task set |
| 395 | ts, graphs, subts = self._create_tasks(dp) | 398 | ts, graphs, subts = self._create_tasks(dp) |
| 396 | dp.tasks = len(ts) | 399 | dp.tasks = len(ts) |
| @@ -409,6 +412,8 @@ class Generator(object): | |||
| 409 | for pm in partition_method: | 412 | for pm in partition_method: |
| 410 | dp.partitions = pm | 413 | dp.partitions = pm |
| 411 | # Create directory name from relevant parameters | 414 | # Create directory name from relevant parameters |
| 415 | temp = dp.wss | ||
| 416 | dp.wss = _dp.wss | ||
| 412 | dir_leaf = "sched=%s_cluster=%s_%s" % (self.scheduler, lvl, col_map.encode(dp)) | 417 | dir_leaf = "sched=%s_cluster=%s_%s" % (self.scheduler, lvl, col_map.encode(dp)) |
| 413 | dir_leaf = dir_leaf.strip('_') # If there are none | 418 | dir_leaf = dir_leaf.strip('_') # If there are none |
| 414 | dir_leaf += ("_trial=%s" % trial) if trials > 1 else "" | 419 | dir_leaf += ("_trial=%s" % trial) if trials > 1 else "" |
| @@ -417,6 +422,8 @@ class Generator(object): | |||
| 417 | 422 | ||
| 418 | print("Generating for %s" % dir_path) | 423 | print("Generating for %s" % dir_path) |
| 419 | 424 | ||
| 425 | dp.wss = temp | ||
| 426 | |||
| 420 | if os.path.exists(dir_path): | 427 | if os.path.exists(dir_path): |
| 421 | if force: | 428 | if force: |
| 422 | sh.rmtree(dir_path) | 429 | 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', | |||
| 31 | ConfigResult = namedtuple('ConfigResult', ['param', 'wanted', 'actual']) | 31 | ConfigResult = namedtuple('ConfigResult', ['param', 'wanted', 'actual']) |
| 32 | 32 | ||
| 33 | '''Maximum times an experiment will be retried''' | 33 | '''Maximum times an experiment will be retried''' |
| 34 | MAX_RETRY = 5 | 34 | MAX_RETRY = 15 |
| 35 | '''Location experiment retry count is stored''' | 35 | '''Location experiment retry count is stored''' |
| 36 | TRIES_FNAME = ".tries.pkl" | 36 | TRIES_FNAME = ".tries.pkl" |
| 37 | 37 | ||
