WIP: a new scheduler
currently on hold:
development is continued in LHCb: lhcb/LHCb!1422 (merged)
this MR is returned to as soon as dev is finished there, to not merge something incomplete.
contributors: @egovorko @sstahl @rmatev @graven @sponce
implements a new scheduler, mostly following the concept presented in https://docs.google.com/presentation/d/1X837lhFT1SYKBTe1AaPuJdLiVah_diG2Sa-qQO7-WSM/edit?usp=sharing
it makes use of the HiveDataBroker introduced in !685 (merged) to figure out data dependencies.
TODO (please add what i miss here):
-
per thread output, formatted -
write a conclusive test -
handle algorithm failures properly -
prevent dependency circles -
prevent double execution of Algorithms -
enable optional inputs -
implement the barrier -
implement a basic python configuration -
clean up the code mess -
infer the BarrierNames rather than getting the names as user input
optional functionality TODO:
-
implement a higher level python configuration ( to ease configuration at the python side ) -
define priority for CF nodes -
deduce whether algorithm was skipped due to controlflow
currently to be used with
Edited by Niklas Stefan Nolte