A dataflow graph is split into sub-graphs referred to as configurations,
each configuration comprising computational hardware containing elements
that operate on operand sets. A configuration executes by consuming
completed operand sets from a designated input tag space (e.g., in a
content addressable memory) until the operand sets are exhausted. At that
point, the configuration is replaced by another configuration. The
execution of a configuration may be triggered by system events, including
by the completion of one or more other configurations. Each configuration
has a list of inputs on which it depends to form complete operand sets.
As other configurations that provide an input complete, a dependency flag
is set in each dependent configuration. As each flag is set, the complete
set of flags is checked for that configuration; if all the input flags
for any configuration are set, then that configuration is scheduled for
execution.