lect5 - Lecture 5 Dataflow Process Models Stephen A....

Info iconThis preview shows pages 1–11. Sign up to view the full content.

View Full Document Right Arrow Icon
Lecture 5 Dataflow Process Models Stephen A. Edwards Forrest Brewer Ryan Kastner
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Philosophy of Dataflow Languages Drastically different way of looking at computation Von Neumann imperative language style: program counter is king Dataflow language: movement of data the priority Scheduling responsibility of the system, not the programmer
Background image of page 2
Dataflow Languages Every process can run concurrently - Processes side-effect free resources assumed Processes described with imperative code - FSM, NDFA model of hardware or software Processes only communicate through buffers - Both control and data Parallelism is bounded by places and data-flow - Can describe general purpose computation this way Requires alternative viewpoint and metrics - Fits transactional models of a system Data-base (Google) Execution driven by demand
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Dataflow Language Model Processes communicating through FIFO buffers Process 1 Process 2 Process 3 FIFO Buffer FIFO Buffer FIFO Buffer
Background image of page 4
Dataflow Communication Communication only through buffers - No side effects (or shared memory) Buffers are unbounded for simplicity - Causes model complexity issues Token Sequence into link is sequence out of link - links are strictly FIFO Destructive read: reading a value from a buffer removes the value - Cannot ‘check’ to see new token without read Unlike shared memory, can always determine latency
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Applications of Dataflow Models Poor fit for a word processor - Data-flow models are weak on control intensive behavior Common in signal-processing applications - Ordered streams of data - Simple map to pipelined hardware Lab View, Simulink, System C Transactions Buffers used for signal processing applications anyway - FIFO buffers allow for mediation of bursty flows up to capacity of the buffer Rates must strictly agree on average
Background image of page 6
Applications of Dataflow Good fit for block-diagram specifications - System Level RTL (directed links) - Linear/nonlinear control systems (Feedback Networks) - Network Computing Common in Electrical Engineering Value: reasoning about data rates, availability, latency and performance can be done abstractly - Used for top-level models before processes are designed - Allow reasoning about process requirements
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Kahn Process Networks Proposed by Kahn in 1974 as a general-purpose scheme for parallel programming Laid the theoretical foundation for dataflow Unique attribute: deterministic Difficult to schedule Too flexible to make efficient, not flexible enough for a wide class of applications Never put to widespread use
Background image of page 8
Kahn Process Networks Key idea: Reading an empty channel blocks until data is available No other mechanism for sampling communication channel’s contents - Can’t check to see whether buffer is empty - Can’t wait on multiple channels at once
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Kahn Processes A C-like function (Kahn used Algol) Arguments include FIFO channels Language augmented with send() and wait() operations that write and read from channels
Background image of page 10
Image of page 11
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 12/29/2011 for the course ECE 253 taught by Professor Brewer,f during the Fall '08 term at UCSB.

Page1 / 73

lect5 - Lecture 5 Dataflow Process Models Stephen A....

This preview shows document pages 1 - 11. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online