Introduction
Kahn Process Networks
Synchronous Dataflow (SDF)
Cyclo-static Dataflow
Dataflow Language Model
Dataflow Communiction
Applications
Dataflow Languages
I
Every process runs simultaneously
I
Processes can be described with imperative code
I
Compute . . . compute . . . receive . . . compute . . . transmit
I
Processes can only communicate through buffers
SS 2004 Modeling Reactive Systems—Lecture 17 Slide 5
Introduction
Kahn Process Networks
Synchronous Dataflow (SDF)
Cyclo-static Dataflow
Dataflow Language Model
Dataflow Communiction
Applications
Dataflow Communication
I
Communication is only through buffers
I
Buffers usually treated as unbounded for flexibility
I
Sequence of tokens read guaranteed to be the same as the
sequence of tokens written
I
Destructive read: reading a value from a buffer removes the
value
I
Much more predictable than shared memory
SS 2004 Modeling Reactive Systems—Lecture 17 Slide 6
Introduction
Kahn Process Networks
Synchronous Dataflow (SDF)
Cyclo-static Dataflow
Dataflow Language Model
Dataflow Communiction
Applications
Dataflow Languages
I
Once proposed for general-purpose programming
I
Fundamentally concurrent: should map more easily to parallel
hardware
I
A few lunatics built general-purpose dataflow computers
based on this idea
I
Largely a failure: memory spaces anathema to the dataflow
formalism
SS 2004 Modeling Reactive Systems—Lecture 17 Slide 7
Introduction
Kahn Process Networks
Synchronous Dataflow (SDF)
Cyclo-static Dataflow
Dataflow Language Model
Dataflow Communiction
Applications
Applications of Dataflow
I
Not a good fit for, say, a word processor
I
Good for signal-processing applications
I
Anything that deals with a continuous stream of data
I
Becomes easy to parallelize
I
Buffers typically used for signal processing applications anyway
SS 2004 Modeling Reactive Systems—Lecture 17 Slide 8
评论0
最新资源