next up previous index
Next: Streams Up: Introduction Previous: Naming   Index

Evaluation Model

It is expected that a Q dataflow graph will be evaluated in a dynamic demand-driven, or lazy, method. While incurring additional computational latency, such a method attempts to minimize the total amount of computation performed. We refer to demand-driven evaluation as eduction. The ``iteration number'' used to identify an instance of a task is the multidimensional location of the task's output in its output streams, or its context. The number of dimensions used to define this context is algorithm dependent.

Throttling of computation to avoid overwhelming the control machine will be performed in three ways: a demand for computation will be partitioned at runtime only as finely as is needed to provide sufficient parallelism for the executing machine; demands for infinite stream extents are explicitly throttled, usually to match associated real time input/output rates; and if in the process of eduction the control machine resources are exhausted, the demand being educed is simply deferred until some are freed.



magiceight-web@media.mit.edu