Lecture 23
                              12/01/1994

Dataflow Architectures
----------------------
The ultimate description of a program that will not hide any of the
"available parallelism" is one that has no control flow --- only
dataflow. Earlier in the course we have identified this "data driven"
computation. 

In a dataflow program there is no notion of "program counter", instead
there is a notion of "producer" and "consumer". Computation is
triggered by the availability of data, which is consumed from inputs
and produced as outputs. Under the dataflow model, a program is simply
a graph, where nodes identify computations and arcs identify datapaths
between producer nodes and consumer nodes. Data is represented by
tokens that flow along arcs. A computation (node) fires when  there
are tokens on all incoming arcs to that node.

A dataflow architecture is built to implement the above dataflow
execution model directly in hardware. 

 
          The ID language and the Monsoon Architecture
              A dataflow language and architecture
 
                (presentation by Ian Westmacott)


This document has been prepared by Professor Azer Bestavros <best@cs.bu.edu> as the WWW Home Page for CS-551, which is part of the NSF-funded undergraduate curriculum on parallel computing at BU.

Date of last update: November 30, 1994.