diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-10-07 23:40:12 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-10-07 23:40:12 -0400 |
commit | 5d97a6baf6166b74355c6e744e010949a46fd625 (patch) | |
tree | 9a0ac19bd5cb0b5a366fc2e7a9c814a7ab520a18 /experiment/experiment.py | |
parent | c8cb14963511d5d1a3eb46624bcc0d2bcdf3b9bc (diff) |
Split scheduling data by task criticality.
Diffstat (limited to 'experiment/experiment.py')
-rw-r--r-- | experiment/experiment.py | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/experiment/experiment.py b/experiment/experiment.py index a44f798..e6dc92d 100644 --- a/experiment/experiment.py +++ b/experiment/experiment.py | |||
@@ -40,6 +40,8 @@ class Experiment(object): | |||
40 | self.finished_dir = finished_dir | 40 | self.finished_dir = finished_dir |
41 | self.proc_entries = proc_entries | 41 | self.proc_entries = proc_entries |
42 | self.executables = executables | 42 | self.executables = executables |
43 | self.exec_out = None | ||
44 | self.exec_err = None | ||
43 | 45 | ||
44 | self.__make_dirs() | 46 | self.__make_dirs() |
45 | self.__assign_executable_cwds() | 47 | self.__assign_executable_cwds() |
@@ -151,23 +153,26 @@ class Experiment(object): | |||
151 | print "[Exp %s]: %s" % (self.name, msg) | 153 | print "[Exp %s]: %s" % (self.name, msg) |
152 | 154 | ||
153 | def run_exp(self): | 155 | def run_exp(self): |
154 | self.setup() | ||
155 | |||
156 | succ = False | 156 | succ = False |
157 | |||
158 | try: | 157 | try: |
159 | self.__run_tasks() | 158 | self.setup() |
160 | self.log("Saving results in %s" % self.finished_dir) | 159 | |
161 | succ = True | 160 | try: |
161 | self.__run_tasks() | ||
162 | self.log("Saving results in %s" % self.finished_dir) | ||
163 | succ = True | ||
164 | finally: | ||
165 | self.teardown() | ||
162 | finally: | 166 | finally: |
163 | self.teardown() | 167 | self.log("Switching to Linux scheduler") |
168 | litmus_util.switch_scheduler("Linux") | ||
164 | 169 | ||
165 | if succ: | 170 | if succ: |
166 | self.__save_results() | 171 | self.__save_results() |
167 | self.log("Experiment done!") | 172 | self.log("Experiment done!") |
168 | 173 | ||
169 | 174 | ||
170 | def setup(self): | 175 | def setup(self): |
171 | self.log("Writing %d proc entries" % len(self.proc_entries)) | 176 | self.log("Writing %d proc entries" % len(self.proc_entries)) |
172 | map(methodcaller('write_proc'), self.proc_entries) | 177 | map(methodcaller('write_proc'), self.proc_entries) |
173 | 178 | ||
@@ -185,13 +190,13 @@ class Experiment(object): | |||
185 | executable.stdout_file = self.exec_out | 190 | executable.stdout_file = self.exec_out |
186 | executable.stderr_file = self.exec_err | 191 | executable.stderr_file = self.exec_err |
187 | map(set_out, self.executables) | 192 | map(set_out, self.executables) |
188 | 193 | ||
189 | time.sleep(4) | 194 | time.sleep(4) |
190 | 195 | ||
191 | def teardown(self): | 196 | def teardown(self): |
192 | self.exec_out.close() | 197 | self.exec_out and self.exec_out.close() |
193 | self.exec_err.close() | 198 | self.exec_err and self.exec_err.close() |
194 | 199 | ||
195 | sleep_time = 5 | 200 | sleep_time = 5 |
196 | self.log("Sleeping %d seconds to allow buffer flushing" % sleep_time) | 201 | self.log("Sleeping %d seconds to allow buffer flushing" % sleep_time) |
197 | time.sleep(sleep_time) | 202 | time.sleep(sleep_time) |
@@ -199,6 +204,3 @@ class Experiment(object): | |||
199 | self.log("Stopping tracers") | 204 | self.log("Stopping tracers") |
200 | map(methodcaller('stop_tracing'), self.tracers) | 205 | map(methodcaller('stop_tracing'), self.tracers) |
201 | 206 | ||
202 | self.log("Switching to Linux scheduler") | ||
203 | litmus_util.switch_scheduler("Linux") | ||
204 | |||