diff options
Diffstat (limited to 'run/experiment.py')
-rw-r--r-- | run/experiment.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/run/experiment.py b/run/experiment.py index 4bd47c6..ee1438d 100644 --- a/run/experiment.py +++ b/run/experiment.py | |||
@@ -92,19 +92,19 @@ class Experiment(object): | |||
92 | map(assign_cwd, self.executables) | 92 | map(assign_cwd, self.executables) |
93 | 93 | ||
94 | def __run_tasks(self): | 94 | def __run_tasks(self): |
95 | exec_pause = 0.3 | 95 | self.log("Starting the programs") |
96 | self.log("Starting the programs over ({0} seconds)".format( | ||
97 | len(self.executables) * exec_pause)) | ||
98 | for e in self.executables: | 96 | for e in self.executables: |
99 | try: | 97 | try: |
100 | e.execute() | 98 | e.execute() |
101 | except: | 99 | except: |
102 | raise Exception("Executable failed: %s" % e) | 100 | raise Exception("Executable failed: %s" % e) |
103 | time.sleep(exec_pause) | ||
104 | 101 | ||
105 | sleep_time = len(self.executables) / litmus_util.num_cpus() | 102 | waiting = litmus_util.waiting_tasks() |
106 | self.log("Sleeping for %d seconds before release" % sleep_time) | 103 | |
107 | time.sleep(sleep_time) | 104 | if waiting: |
105 | sleep_time = len(self.executables) / litmus_util.num_cpus() | ||
106 | self.log("Sleeping for %d seconds before release" % sleep_time) | ||
107 | time.sleep(sleep_time) | ||
108 | 108 | ||
109 | # Overhead tracer must be started right after release or overhead | 109 | # Overhead tracer must be started right after release or overhead |
110 | # measurements will be full of irrelevant records | 110 | # measurements will be full of irrelevant records |
@@ -112,8 +112,11 @@ class Experiment(object): | |||
112 | self.log("Starting overhead trace") | 112 | self.log("Starting overhead trace") |
113 | self.overhead_trace.start_tracing() | 113 | self.overhead_trace.start_tracing() |
114 | 114 | ||
115 | self.log("Releasing %d tasks" % len(self.executables)) | 115 | if waiting: |
116 | released = litmus_util.release_tasks() | 116 | self.log("Releasing %d tasks" % len(self.executables)) |
117 | released = litmus_util.release_tasks() | ||
118 | else: | ||
119 | released = len(self.executables) | ||
117 | 120 | ||
118 | ret = True | 121 | ret = True |
119 | if released != len(self.executables): | 122 | if released != len(self.executables): |