Commit Graph

38 Commits

Author SHA1 Message Date
785691ab98 fix indentation 2016-02-29 21:32:48 +08:00
72a993afe0 master: cache last RID. Closes #234 2016-02-15 18:20:50 +01:00
cc6b808bf8 master: finer control of worker exception reporting. Closes #233 2016-01-23 21:23:02 -05:00
whitequark
be560dbc63 Commit missing parts of 13e65c2a. 2016-01-16 03:00:17 +00:00
whitequark
13e65c2a0a scheduler: make sure worker exceptions are not unexpectedly hidden. 2016-01-16 02:20:32 +00:00
5e14afde3e scheduler: use current (last scanned) repo revision instead of HEAD 2015-12-06 19:00:41 +08:00
2c77c80b4f master: expose more scheduler APIs to the experiments 2015-10-30 13:41:18 +08:00
828b48ad89 master/scheduler: reduce logging severity of worker exception backtraces to debug 2015-10-28 17:48:50 +08:00
9f04af63e6 scheduler: raise logging severity of errors 2015-10-14 16:02:22 +08:00
139072d402 Graceful experiment termination. Closes #76 2015-10-06 13:50:00 +08:00
f552d62b69 use Python 3.5 coroutines 2015-10-03 19:28:57 +08:00
cd3107ba75 do not use deprecated asyncio.JoinableQueue 2015-10-03 13:59:18 +08:00
06badd1dc1 scheduler: refactor, fix pipeline hazards 2015-08-10 21:58:11 +08:00
54d85efc2a master,gui: show Git commit messages in schedule 2015-08-08 11:08:04 +08:00
7ed8fe57fa Git support 2015-08-07 15:51:56 +08:00
96a5d73c81 worker: split build stage from prepare 2015-07-09 13:18:12 +02:00
9f9079589e gui: send monitor requests to core device 2015-06-05 14:52:41 +08:00
aa242f7c66 scheduler: simplify priority policy
Remove overdueness. User must submit calibration experiments with higher priority values for them to take precedence.
2015-05-28 18:24:45 +08:00
b0f8141018 scheduler: cancel flush when run is cancelled 2015-05-28 17:48:33 +08:00
e752e57fa5 scheduler: do not duplicate 'run terminated' information 2015-05-28 17:37:08 +08:00
737f6d4485 scheduler: support pipeline flush 2015-05-28 17:20:58 +08:00
fc449509b8 scheduler: pass priority to experiments 2015-05-24 20:37:47 +08:00
a21373841c scheduler: catch worker exceptions in prepare and analyze stages 2015-05-24 20:23:49 +08:00
d6ced1c780 scheduler: support priorities 2015-05-24 01:09:22 +08:00
b74b8d5826 Scheduling TNG 2015-05-17 16:11:00 +08:00
43a05c783d worker: split write_results action 2015-03-11 19:06:46 +01:00
d5795fd619 master: watchdog support
Introduces a watchdog context manager to use in the experiment code that
terminates the process with an error if it times out. The syntax is:

with self.scheduler.watchdog(20*s):
   ...

Watchdogs timers are implemented by the master process (and the worker
communicates the necessary information about them) so that they can be
enforced even if the worker crashes. They can be nested arbitrarily.
During yields, all watchdog timers for the yielding worker are
suspended [TODO]. Setting up watchdogs is not supported in kernels,
however, a kernel can be called within watchdog contexts (and terminating
the worker will terminate the kernel [TODO]).

It is possible to implement a heartbeat mechanism using a watchdog, e.g.:

for i in range(...):
    with self.scheduler.watchdog(...):
        ....

Crashes/freezes within the iterator or the loop management would not be
detected, but they should be rare enough.
2015-03-11 16:43:14 +01:00
f2134fa4b2 master,worker: split prepare/run/analyze 2015-03-09 23:34:09 +01:00
4c280d5fcc master: use a new worker process for each experiment 2015-03-09 16:22:41 +01:00
6601bebcfe master: make RIDs unique across restarts 2015-02-21 18:41:07 -07:00
cc172699ea master: use RID + unit class name for HDF5 filenames 2015-02-20 14:11:55 -07:00
4d21b78314 master,client,gui: factor timeout into run_params 2015-02-19 20:03:55 -07:00
c69c4d5ce9 master: expose scheduler API to experiments 2015-02-19 12:09:11 -07:00
2fbe22e15e master,client: support changing real-time results group 2015-01-30 20:36:54 +08:00
47aa634ab5 replace periodic schedule with timed schedule 2015-01-23 00:23:00 +08:00
3e22fe86b5 reorganize files as per discussion with Robert 2015-01-17 19:38:20 +08:00
5df8ffe08e master: cleaner shutdown 2015-01-15 11:07:55 +08:00
070788a680 separate master modules 2015-01-14 12:16:49 +08:00