Skip to content

WIP: a new scheduler

Niklas Stefan Nolte requested to merge nnolte/Gaudi:master into master

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

Merge request reports