... and use this property to discover which algorithm have to be declared to the scheduler as barriers, instead of having to pass their names explicitly through the call-stack.
From first-principles, whether or not an algorithm is (can be) used as a barrier is fixed by its implementation, specifically whether it can deal with optional inputs or not. Hence the natural way to do this is by adding an 'is_barrier' property to the PyConf algorithm wrapper, and use this to declare algorithms as barrier to the scheduler. (Note: ideally, setting of this property should happen fully automatically by recognizing whether the algorithm has optional inputs)
goes together with Allen!1026 (merged) and Moore!1814 (merged) and MooreAnalysis!93 (merged)