DATAFLOW%20PROCESS%20NETWORKS - PowerPoint PPT Presentation

About This Presentation
Title:

DATAFLOW%20PROCESS%20NETWORKS

Description:

This paper presents a model of computation called 'dataflow process networks' ... Repeat till all modified firing rules become empty ... – PowerPoint PPT presentation

Number of Views:135
Avg rating:3.0/5.0
Slides: 19
Provided by: hongji
Category:

less

Transcript and Presenter's Notes

Title: DATAFLOW%20PROCESS%20NETWORKS


1
DATAFLOW PROCESS NETWORKS
  • Edward A. Lee
  • Thomas M. Parks

2
Abstract
  • This paper presents a model of computation called
    dataflow process networks.
  • Special case of Kahn process networks
  • Relations with other dataflow models

3
Motivation
  • Programming methodology graphical dataflow
    programming
  • Visual syntax
  • Hierarchy
  • Examples Khoros, Ptolemy, SPW, COSSAP, and the
    DSP Station.
  • Most environments do not define a language in any
    strict sense
  • Can be either interpreted or compiled

4
Process Networks
  • A process is a mapping from one or more input
    sequences to one or more output sequences
  • A process network concurrent processes
    communicate only through one-way FIFO channels
    with unbounded capacity.

5
Kahn Process
  • The process is constrained to be continuous
  • Prefix ordering of sequences X ? Y
  • Set of sequence can be ordered as well
  • X ? Y, if Xi ? Yi for each i
  • Increasing chain of sequences ? X0, X1, ,
    where X0 ? X1 ? .
  • Least upper bound of ? ??
  • Functional process F Sp?Sq
  • Continuity
  • F(??) ?F(?)
  • Monotonicity
  • X ? X ? F(X) ? F(X)

6
Network of Processes
  • A network a set of relations between sequences.
  • X F(X,I)
  • Any X that forms a solution is called a fixed
    point. Continuity of F implies that there will be
    exactly one minimal fixed point.
  • Execute the network by first setting I ? and
    finding the minimal fixed point, then by
    iterative computation to find other solutions.

7
Nondeterminism
  • A useful property is an ability to express
    nondeterminism.
  • Nondeterminism leads to failure of continuity
  • It can be added to Kahn networks by any of the
    five methods
  • Allowing processes to test inputs for emptiness
  • Allowing processes to be internally
    nondeterminate
  • Allowing more than one processes to write to a
    channel
  • Allowing more than one processes to consume data
    from a channel
  • Allowing processes to share variables
  • Example

8
Example of Nondeterminism
  • Merge node D
  • May be nondeterminate, may also be determinate
  • If D is a nondeterminate merge, then it is not a
    Kahn process network

9
Streams
  • One camp defines streams recursively, using
    cons-like list constructors and usually treats
    them functionally using lazy semantics. Another
    camp sees streams as channels. There is no
    concept of simultaneity of tokens in the channel
    model.
  • A unique approach blends the benefits of a
    declarative style with the simplicity of the
    channel model
  • A more general approach is to associate with each
    stream a clock, which defines the alignment of
    tokens in different streams.
  • A useful stream model must be as good at losing
    data as it is at storing data.

10
Dataflow Process Networks
  • Dataflow actor
  • When it fires, it maps input tokens into output
    tokens
  • Firing
  • Consumes input tokens and produces output tokens
  • A sequence of such firings is a particular type
    of Kahn process that we call a dataflow process
  • a network of such processes is called a dataflow
    process network.
  • Firing rules
  • Specify when an actor can fire

11
Firing Rules
  • Definition
  • R R1, R2, , RN
  • Examples
  • Select actor
  • R1 , ?, T
  • R2 ?, , F
  • Nondeterminate merge
  • R1 , ?
  • R2 ?,
  • These rules are not sequential.

12
Sequential Firing Rules
  • Identifying sequential firing rules
  • For the example of select
  • j 3.
  • Subsets R1 and R2
  • R1 , ?, ? and R2 ?, , ?
  • Repeat till all modified firing rules become
    empty
  • For the nondeterminate example of the merge node,
    the procedure fails at step 1.

13
Relationship to Higher-order Function
  • Define
  • F map(f)
  • where F(RX) f(R)F(X)
  • The definition is recursive
  • Typically f requires only some finite number of
    tokens on each input, while the function returned
    by F can take infinite stream argument.

14
Sequential Process
Sequential ? continuous ? monotonic Sequential ? continuous ? monotonic
monotonic X ? Y ? F(X) ? F(Y)
continuous ?? X0, X1, s.t. X0 ? X1 ? , F(??) ?F(?)
sequential ?X X1, X2, ,Xp, ?i, 1?i?p, s.t. ?Y ? X where Yi Xi, F(Y) F(X), when F is continuous.
  • Theorem if an actor function f has sequential
    firing rules, then the process F map(f) is
    sequential

15
Relationship to Kahn Process Networks
  • A special case of Kahn process networks
  • Suppose A produces 1 token each process while B
    consumes 3 each process
  • Blocking read for B ? scheduling of A and B

16
Execution Models
  • A variety of execution models associated with a
    dataflow process network.
  • Concurrent processes
  • Dynamic scheduling
  • Static scheduling
  • Compilation of dataflow graphs
  • Tagged token model

17
Experimenting With Language Design
  • The Ptolemy system
  • Synchronous dataflow domain (SDF)
  • Dynamic dataflow domain (DDF)
  • Boolean dataflow domain (BDF)
  • Visual hierarchy
  • Firing subgraphs the balance equations
  • Side effects and state
  • Function arguments
  • Parameters and input streams

18
Experimenting With Language Design
  • Firing rules and strictness
  • Recurrences and recursion
  • Higher order function
  • The tagged-token execution model
  • Data types and polymorphism
  • Parallelism
Write a Comment
User Comments (0)
About PowerShow.com