Current State
The current Composition structure holds a vector of function applications (called FunctionDependencies). Each of them holds a set of input and output ids which define the dataflow across function applications. This approach has a couple shortcomings:
- The composition scheduling in the dispatcher has to do a lot of iterating over all function applications to determine the next runnable functions. This becomes a performance issue when the composition contains many function applications.
- The structure does not allow for dynamic composition modifications which is something we most likely need if we want to allow for loops and other features.
- The structure complicates optimizations like scheduling non-blocking invocations immediately (e.g. a function with an each sharding).
We open this issue to collect and discuss further ideas regarding the design / requirements of a future compositions structure...
Current State
The current
Compositionstructure holds a vector of function applications (calledFunctionDependencies). Each of them holds a set of input and output ids which define the dataflow across function applications. This approach has a couple shortcomings:We open this issue to collect and discuss further ideas regarding the design / requirements of a future compositions structure...