artiq/artiq
David Nadlinger 7955b63b00 master: Always write results to HDF5 once run stage is reached
Previously, a significant risk of losing experimental results would
be associated with long-running experiments, as any stray exceptions
while run()ing the experiment – for instance, due to infrequent
network glitches or hardware reliability issue – would cause no
HDF5 file to be written. This was especially troublesome as long
experiments would suffer from a higher probability of unanticipated
failures, while at the same time being more costly to re-take in
terms of wall-clock time.

Unanticipated uncaught exceptions like that were enough of an issue
that several Oxford codebases had come up with their own half-baked
mitigation strategies, from swallowing all exceptions in run() by
convention, to always broadcasting all results to uniquely named
datasets such that the partial results could be recovered and written
to HDF5 by manually run recovery experiments.

This commit addresses the problem at its source, changing the worker
behaviour such that an HDF5 file is always written as soon as run()
starts.
2020-06-18 17:47:26 +01:00
..
applets use sipyco (#585) 2019-11-10 15:55:17 +08:00
browser use sipyco (#585) 2019-11-10 15:55:17 +08:00
compiler compiler: use more LLVM tools on ARM (#733) 2020-04-28 16:21:50 +08:00
coredevice ad9912: Fix typing problem on ad9912 (#1466) 2020-06-16 20:17:22 +02:00
dashboard Use logger formatting 2020-05-26 17:59:55 +08:00
examples examples/sines_urukul_sayma: adapt for sayma v2, use 1 DAC only 2020-04-05 16:51:40 +08:00
firmware runtime: remove stack alignment requirement 2020-05-29 15:37:23 +08:00
frontend zotino: add USER LED test 2020-06-11 16:03:56 +08:00
gateware metlino: fix CSR collisions 2020-05-29 15:59:44 +08:00
gui update GUI background 2019-11-15 13:49:09 +08:00
language language/environment: BooleanValue: fix type detection 2020-04-04 15:37:04 +08:00
master master: Always write results to HDF5 once run stage is reached 2020-06-18 17:47:26 +01:00
sim ttl: Add target RTIO time argument to timestamp/count functions 2018-11-03 20:33:19 +08:00
test test: do not build libartiq_support in lit.cfg 2020-06-10 17:15:24 +08:00
wavesynth wavesynth: silence is a channel property (closes #348) 2016-04-07 21:51:29 +08:00
__init__.py update versioneer 2017-06-05 13:27:26 +08:00
_version.py support overriding versioneer 2019-02-17 14:49:52 +08:00
appdirs.py add appdirs 2016-07-18 16:40:18 +02:00
build_soc.py soc: optimize programmable identifier 2020-03-12 23:09:13 +08:00
experiment.py artiq.experiment: merge language and coredevice namespaces 2016-01-25 17:24:00 -07:00
remoting.py artiq_flash: added option of specifying another username when connecting through SSH. (#1429) 2020-02-19 19:44:11 +08:00
tools.py split out artiq-comtools 2019-11-14 15:21:51 +08:00