dataflow process networks l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
DATAFLOW PROCESS NETWORKS PowerPoint Presentation
Download Presentation
DATAFLOW PROCESS NETWORKS

Loading in 2 Seconds...

play fullscreen
1 / 18

DATAFLOW PROCESS NETWORKS - PowerPoint PPT Presentation


  • 259 Views
  • Uploaded on

DATAFLOW PROCESS NETWORKS. Edward A. Lee Thomas M. Parks. Abstract. This paper presents a model of computation called “dataflow process networks”. Special case of Kahn process networks Relations with other dataflow models. Motivation.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'DATAFLOW PROCESS NETWORKS' - dyre


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
dataflow process networks

DATAFLOW PROCESS NETWORKS

Edward A. Lee

Thomas M. Parks

abstract
Abstract
  • This paper presents a model of computation called “dataflow process networks”.
  • Special case of Kahn process networks
  • Relations with other dataflow models
motivation
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
process networks

One-way FIFO

process

process

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.
kahn process
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’)

network of processes
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.
nondeterminism
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
example of nondeterminism

B

A

D

E

C

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
streams
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.
dataflow process networks10
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
firing rules

T

select

F

Control

DATA INPUT

merge

DATA OUTPUT

Firing Rules
  • Definition:

R = {R1, R2, …, RN}

  • Examples:
    • Select actor:
      • R1 = {[*], , [T]}
      • R2 = {, [*], [F]}
    • Nondeterminate merge
      • R1 = {[*], }
      • R2 = {, [*]}
      • These rules are not sequential.
sequential firing rules
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.
relationship to higher order function
Relationship to Higher-order Function
  • Define

F = map(f)

where F(R:X) = 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.
sequential process
Sequential Process
  • Theorem: if an actor function f has sequential firing rules, then the process F = map(f) is sequential
relationship to kahn process networks

…|x3|x2|x1

A

B

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
execution models
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
experimenting with language design
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
experimenting with language design18
Experimenting With Language Design
  • Firing rules and strictness
  • Recurrences and recursion
  • Higher order function
  • The tagged-token execution model
  • Data types and polymorphism
  • Parallelism