An approach to performing graph-based computation uses one or both of an
efficient startup approach and efficient control using process pools.
Efficient startup of a graph-based computation involves precomputing data
representing a runtime structure of a computation graph such that an
instance of the computation graph is formed using the precomputed data
for the required type of graph to form the runtime data structure for the
instance of the computation graph. Pools of processes that are each
suitable for performing computations associated with one or more vertices
of the computation graphs are formed such that at runtime, members of
these pools of processes are dynamically assigned to particular vertices
of instances of computation graphs when inputs are available for
processing at those vertices.