Frame-based streaming data flows through a graph of multiple interconnected
processing modules. The modules have a set of performance parameters whose values
specify the sensitivity of each module to the selection of certain resources of
a system. A user specifies overall goals for an actual graph for processing a given
type of data for a particular purpose. A flow manager constructs the graph as a
sequence of module interconnections required for processing the data, in response
to the parameter values of the individual modules in the graph in view of the goals
for the overall graph as a whole, and divides it into pipes each having one or
more modules and each assigned to a memory manager for handling data frames in
the pipe.