Multidimensional Streams Rooted in Dataflow

by Edward A. Lee

Proceedings of the IFIP Working Conference on Architectures and Compilation Techniques for Fine and Medium Grain Parallelism (January 20-22, 1993, Orlando, Florida) North-Holland, New York, 1993.



A programming model rooted in dataflow principles and supporting multidimensional streams is developed and compared with streams in Lucid, Lustre, Signal, Silage, Sisal, and Id. The model is based on production and consumption of tokens and requires neither the "clock" synchronization of Lustre and Signal nor the Lisp-like list model of Sisal and Id. Multidimensional streams are similar to those in Lucid, but augmented with a producer/consumer model derived from our earlier work on one-dimensional dataflow models. Analytical properties of programs are easily derived, and compile-time predictability is maximized so that run-time overhead costs can be minimized. The scheme is illustrated by building scalable fine-grain programs for some simple examples and showing how data and function parallelism can be automatically exploited given these descriptions.