next up previous index
Next: Primitive Tasks Up: Tasks Previous: Tasks   Index

I/O Tasks

Support for application input and output is provided in Q through the mechanism of I/O tasks. These identify functions which must be scheduled with care. They have three relevant characteristics:

  1. Unlike typical Q functions, they modify external state over which the runtime system has no control -- they have side-effects.

  2. A number of I/O tasks are synchronous: they represent devices which require known amounts of stream elements at specific real-time rates.

  3. Most I/O tasks need to be executed on a particular set of nodes in a system.

Output tasks force the eduction of a program. Since the output of a program identifies what is ``useful'' computation, a program's evaluation is driven by periodic demands for its output tasks' input streams. The demand period is determined by the output device.



magiceight-web@media.mit.edu