From 25ccdb0cbc6b959b1f96c89b8bce91963cb67b4c Mon Sep 17 00:00:00 2001 From: Jonathan Herman Date: Mon, 22 Apr 2013 15:32:12 -0400 Subject: Improved robustness of run_exps.py execution. Thanks to bcw and gelliott for debugging and ideas. * Print out experiment number and total experiments when starting experiments. * Only sleep and re-release tasks if tasks are waiting to release. * Fail experiment with verbose messages if any tasks fail before becoming ready to release. * When waiting for tasks to become ready for release, reset the waiting time whenever a new task (or task(s)) become ready. * Start regular tracers BEFORE the plugin switch to log data from the switch. * Check the number of running tasks AFTER trying to switch the linux scheduler. This gives plugin deactivate code the opportunity to kill these tasks. * If an invalid executable is specified in the schedule file, fail before attempting to run the experiment and print out the problem. * Propogate exceptions up from experiment failures instead of creating ExperimentFailed exceptions. This commit also made clock-frequency automatically ignored by parse_exps.py. The value of this would change by +- a Mhz between experiments, ruining graphs. --- parse_exps.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'parse_exps.py') diff --git a/parse_exps.py b/parse_exps.py index d07378c..c2cbedb 100755 --- a/parse_exps.py +++ b/parse_exps.py @@ -140,8 +140,8 @@ def main(): if opts.ignore: for param in opts.ignore.split(","): builder.try_remove(param) - # Always average multiple trials - builder.try_remove(PARAMS['trial']) + builder.try_remove(PARAMS['trial']) # Always average multiple trials + builder.try_remove(PARAMS['cycles']) # Only need for feather-trace parsing col_map = builder.build() result_table = TupleTable(col_map) -- cgit v1.2.2