111
CPEG 852 — Advanced Topics in Computing Systems The Dataflow Model of Computation St´ ephane Zuckerman Computer Architecture & Parallel Systems Laboratory Electrical & Computer Engineering Dept. University of Delaware 140 Evans Hall Newark,DE 19716, United States [email protected] September 8, 2015 S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 1 / 46

CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

CPEG 852 — Advanced Topics in ComputingSystems

The Dataflow Model of Computation

Stephane Zuckerman

Computer Architecture & Parallel Systems LaboratoryElectrical & Computer Engineering Dept.

University of Delaware140 Evans Hall Newark,DE 19716, United States

[email protected]

September 8, 2015

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 1 / 46

Page 2: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Outline

1 A Quick Reminder on Execution Models

2 Dataflow Models of Computation

3 Dataflow Graphs and Properties

4 Static DataflowIntroductionStatic Dataflow ExamplesStatic Dataflow FeaturesStatic Dataflow Activity Templates

5 Recursive Program GraphsIntroductionOrdinary and Tail RecursionsFeatures of Recursive Program Graphs

6 Homework

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 2 / 46

Page 3: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Outline

1 A Quick Reminder on Execution Models

2 Dataflow Models of Computation

3 Dataflow Graphs and Properties

4 Static DataflowIntroductionStatic Dataflow ExamplesStatic Dataflow FeaturesStatic Dataflow Activity Templates

5 Recursive Program GraphsIntroductionOrdinary and Tail RecursionsFeatures of Recursive Program Graphs

6 Homework

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 3 / 46

Page 4: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

High-Level View of a Computer System

Figure: High-Level View of a Computer SystemS.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 4 / 46

Page 5: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

A Representative View of Current Compute Nodes’ Hardware

Figure: A Representative View of Current Compute Nodes’ HardwareS.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 5 / 46

Page 6: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

A Representative View of Current Compute Nodes’ Software Mess

Figure: A Representative View of Current Compute Nodes’ Software MessS.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 6 / 46

Page 7: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Terminology

Definition: Parallel Model of Computation

I Parallel models for algorithms designers

I Parallel models for system designers

I Parallel programming modelsI Parallel execution modelsI Parallel architecture models

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 7 / 46

Page 8: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

An Alternate Program Execution Model Definition

(Dr. Gao’s) Definition: Program Execution Model

The program execution model (PXM) is the basic low-level abstraction ofthe underlying system architecture upon which our programming model,compilation strategy, runtime system, and other software components aredeveloped. The PXM (and its API) serves as an interface between thearchitecture and the software.Unlike an instruction set architecture (ISA) specification, which usuallyfocuses on lower level details (such as instruction encoding andorganization of registers for a specific processor), the PXM refers tomachine organization at a higher level for a whole class of high-endmachines as viewed by the users

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 8 / 46

Page 9: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Horizontal Conception of a PXM

Figure: Horizontal Conception of a PXMS.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 9 / 46

Page 10: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Vertical Conception of a PXM

Figure: Vertical Conception of a PXMS.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 10 / 46

Page 11: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Outline

1 A Quick Reminder on Execution Models

2 Dataflow Models of Computation

3 Dataflow Graphs and Properties

4 Static DataflowIntroductionStatic Dataflow ExamplesStatic Dataflow FeaturesStatic Dataflow Activity Templates

5 Recursive Program GraphsIntroductionOrdinary and Tail RecursionsFeatures of Recursive Program Graphs

6 Homework

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 11 / 46

Page 12: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

The Dataflow Model of ComputationA Pragmatic Approach

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 12 / 46

Page 13: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

The Dataflow Model of ComputationA Pragmatic Approach

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 12 / 46

Page 14: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

The Dataflow Model of ComputationA Pragmatic Approach

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 12 / 46

Page 15: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

The Dataflow Model of ComputationA Pragmatic Approach

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 12 / 46

Page 16: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

The Dataflow Model of ComputationA Pragmatic Approach

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 12 / 46

Page 17: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Dataflow Graphs

For J.B. Dennis, the role of Dataflow Graphs (DFGs) is two-fold:

I Serve as an intermediate-level language for high-level languages

I Serve as a machine language for parallel machine

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 13 / 46

Page 18: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

A Brief History of DataflowMIT, 1974–1975

I April 1974: Symposium on Programming, Paris. Dennis: FirstVersion of a Data Flow Procedure Language.

I January 1975: Second Annual Symposium on ComputerArchitecture, Houston. Dennis and Misunas: A PreliminaryArchitecture for a Basic Data-Flow Processor.

I August 1975: Sagamore Computer Conference on ParallelProcessing:

I Rumbaugh: Data Flow LanguagesI Rumbaugh: A Data Flow MultiprocessorI Bryant & Dennis: Packet Communication ArchitectureI Misunas: Structure Processing in a Data-Flow Computer

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 14 / 46

Page 19: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Eearly Roots on Dataflow WorkMIT in the 70’s

I Asynchronous Digital Logic (D. E. Muller and Bartky, 1957;David E Muller, 1963)

I Control Structures for Parallel Programming (Conway, 1963; McIlroy,1969; Dijkstra, 1971)

I Abstract Models for Concurrent Systems (Petri, 1966; Holt, 1978)

I Theory of Program Schemes (Ianov, 1958; Paterson and Hewitt,1970)

I Structured Programming (Dahl, Dijkstra, and Hoare, 1972)

I Functional Programming (McCarthy, 1960; Landin, 1964)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 15 / 46

Page 20: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Outline

1 A Quick Reminder on Execution Models

2 Dataflow Models of Computation

3 Dataflow Graphs and Properties

4 Static DataflowIntroductionStatic Dataflow ExamplesStatic Dataflow FeaturesStatic Dataflow Activity Templates

5 Recursive Program GraphsIntroductionOrdinary and Tail RecursionsFeatures of Recursive Program Graphs

6 Homework

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 16 / 46

Page 21: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Dataflow Graphs

Dataflow tokens

Values in dataflow graphs arerepresented as tokens. Tokens are tuples< s, d , v >, where s is the instructionpointer, d is the port, and v representsthe actual value (data).

Operator Execution

An operator executes when all its inputtokens are present; copies of the resulttoken are distributed to the destinationoperators.

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 17 / 46

Page 22: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Dataflow Graphs

Dataflow tokens

Values in dataflow graphs arerepresented as tokens. Tokens are tuples< s, d , v >, where s is the instructionpointer, d is the port, and v representsthe actual value (data).

Operator Execution

An operator executes when all its inputtokens are present; copies of the resulttoken are distributed to the destinationoperators.

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 17 / 46

Page 23: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Dataflow Graphs

Dataflow tokens

Values in dataflow graphs arerepresented as tokens. Tokens are tuples< s, d , v >, where s is the instructionpointer, d is the port, and v representsthe actual value (data).

Operator Execution

An operator executes when all its inputtokens are present; copies of the resulttoken are distributed to the destinationoperators.

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 17 / 46

Page 24: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Operational Semantics IFiring Rules

Overview of Operational Semantics

I Values are represented by tokens

I Tokens are placed (assigned) on the arcs

I Snapshot/configuration: state

I Computation:

I Configuration −→ configuration

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 18 / 46

Page 25: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Operational Semantics IIFiring Rules

Details on Operational Semantics

I Tokens ⇔ Data

I Assignment ⇔ Placing a token on the output arc

I Snapshot/configuration: state

I Computation

I The intermediate step between snapshots / configurations

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 19 / 46

Page 26: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Operational Semantics IIIFiring Rules

Actors States

I An actor in a DFG is enabled if there is a token on each of its inputarcs

I Any enabled actor may be fired to define the “next state” of thecomputation

I When an actor is fired, then:

I All of its input tokens are removed from the input arcsI A token is placed on each of the actor’s output arcs

I Computation ⇔ Sequence of snapshots

I Many possible sequences, as long as firing rules are obeyedI This is called determinacyI Provides “locality of effect”

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 20 / 46

Page 27: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

General Firing Rules

I A switch actor is enabled if:

I A token is available on its control input arcI A token is available on its data input arc(s)

I Firing a switch actor:

I Removes input tokensI Delivers the input data value as an output token on the corresponding

output arc

I A (possibly unconditional) merge actor is enabled if

I There is a token available on any of its input arcsI A conditional merge need to have a control token placed on its input

control arc

I An enabled (unconditional) merge actor may be fired

I It will put (possibly non-deterministically) one of the input tokens onthe output arc.

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 21 / 46

Page 28: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Conditional Expressions

Figure: if/else construct

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 22 / 46

Page 29: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Conditional Expressions

Figure: if/else schema

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 22 / 46

Page 30: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Conditional Expressions

Figure: loop schema

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 22 / 46

Page 31: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Remarks on Dataflow Models

I The dataflow model of computation is fundamentally sound andsimple

I Very few other parallel MoCs can claim this

I Few dataflow architecture projects survived past the early 1990’s.

I However, dataflow principles were heavily reused in both software andhardware

I With the advent of the new multi and many core era, we have many(good!) reasons to re-examine and explore the original dataflowmodels

I It never hurts to learn from the past!

I As a side-note: Jack Dennis’s dataflow model was finally recognizedon a world-scale level: he was awarded the John Von Neumann Medal(the IEEE equivalent to the ACM Turing Award)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 23 / 46

Page 32: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Outline

1 A Quick Reminder on Execution Models

2 Dataflow Models of Computation

3 Dataflow Graphs and Properties

4 Static DataflowIntroductionStatic Dataflow ExamplesStatic Dataflow FeaturesStatic Dataflow Activity Templates

5 Recursive Program GraphsIntroductionOrdinary and Tail RecursionsFeatures of Recursive Program Graphs

6 Homework

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 24 / 46

Page 33: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Static Dataflow

I Static dataflow was the first dataflow model

I It was developed in Jack Dennis’ team

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 25 / 46

Page 34: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Static DataflowThe Golden Rule

Static Dataflow’s Golden Rule

. . . for any actor to be enabled, there must be no tokens on anyof its output arcs. . .

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 26 / 46

Page 35: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function

l ong power( i n t x, i n t n)

{

i n t y = 1;

f o r ( i n t i = n; i > 0; --i)

y *= x;

r e t u r n y;

}

Figure: Computation: y = xn

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 27 / 46

Page 36: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 37: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 38: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 39: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 40: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 41: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 42: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 43: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 44: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 45: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 46: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 47: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 48: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 49: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 50: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 51: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExamplePower Function – Computing y = 23

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 28 / 46

Page 52: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

ExampleVector Addition: ~CN = ~AN + ~BN

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 29 / 46

Page 53: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Static DataflowFeatures

I One-token-per-arc

I Deterministic merge

I Conditional/iteration construction

I Consecutive iterations of a loop can only be pipelined

I A dataflow graph ⇒ activity templates

I Opcode of the represented instructionI Operand slots for holding operand valuesI Destination address fields

I Token ⇒ value + destination

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 30 / 46

Page 54: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Static DataflowActivity Templates

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 31 / 46

Page 55: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Static DataflowActivity Templates

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 32 / 46

Page 56: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Static DataflowLimitations

The static dataflow model has the advantage of being very simple.However, it is also fairly limited:

I Due to acknowledgment tokens, the token traffic is doubled

I Lack of support for programming constructs that are essential tomodern programming languages

I No procedure calls

I No recursion

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 33 / 46

Page 57: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Outline

1 A Quick Reminder on Execution Models

2 Dataflow Models of Computation

3 Dataflow Graphs and Properties

4 Static DataflowIntroductionStatic Dataflow ExamplesStatic Dataflow FeaturesStatic Dataflow Activity Templates

5 Recursive Program GraphsIntroductionOrdinary and Tail RecursionsFeatures of Recursive Program Graphs

6 Homework

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 34 / 46

Page 58: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Recursive Program Graphs

I Extension over static dataflow concepts

I Graph must be acyclic (DAG, directed acyclic graph)

I One-token-per-arc-per-invocation

I Iteration is expressed in terms of tail recursion

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 35 / 46

Page 59: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Examples of Ordinary RecursionFactorial

l ong factorial( l ong n)

{

i f (n == 0)

r e t u r n 1;

e l s er e t u r n n * fact(n-1);

}

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 36 / 46

Page 60: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Examples of Tail RecursionFactorial

l ong fact_tail_rec( l ong n, l ong acc)

{

i f (n == 0)

r e t u r n acc;

e l s er e t u r n fact(n-1, acc*n);

}

l ong factorial( l ong n)

{

r e t u r n fact_tail_rec(n,1);

}

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 37 / 46

Page 61: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialHand Simulation: fact(3)

long f a c t o r i a l ( long n ) {return n == 0 ? 1 : n ∗ f a c t ( n−1);

}

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 38 / 46

Page 62: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialDFG for fact(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 39 / 46

Page 63: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialDFG for fact(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 39 / 46

Page 64: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialDFG for fact(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 39 / 46

Page 65: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialDFG for fact(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 39 / 46

Page 66: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialDFG for fact(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 39 / 46

Page 67: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialDFG for fact(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 39 / 46

Page 68: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialDFG for fact(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 39 / 46

Page 69: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialDFG for fact(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 39 / 46

Page 70: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Example – FactorialDFG for fact(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 39 / 46

Page 71: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 72: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 73: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 74: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 75: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 76: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 77: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 78: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 79: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 80: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 81: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 82: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 83: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 84: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 85: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 86: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 87: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 88: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 89: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 90: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 91: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 92: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 93: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 94: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 95: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 96: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 97: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 98: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 99: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 100: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 101: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 102: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 103: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 104: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 105: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

FactorialTail Recursive version – factorial(3)

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 40 / 46

Page 106: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Recursive Program GraphFeatures

I Acyclic

I One-token-per-link-in-lifetime

I Tags

I No deterministic merge needed

I Recursion is expressed by runtime copying

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 41 / 46

Page 107: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Outline

1 A Quick Reminder on Execution Models

2 Dataflow Models of Computation

3 Dataflow Graphs and Properties

4 Static DataflowIntroductionStatic Dataflow ExamplesStatic Dataflow FeaturesStatic Dataflow Activity Templates

5 Recursive Program GraphsIntroductionOrdinary and Tail RecursionsFeatures of Recursive Program Graphs

6 Homework

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 42 / 46

Page 108: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

Homework

I factorial function:

I Convert the recursive form of factorial into an iterative formI Create/draw the corresponding static dataflow graph

I power function:

I Convert the iterative form of the power function into its recursive formI Create/draw its recursive program graph

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 43 / 46

Page 109: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

References I

Conway, Melvin E. (1963). “A Multiprocessor System Design”. In:Proceedings of the November 12-14, 1963, Fall Joint ComputerConference. AFIPS ’63 (Fall). Las Vegas, Nevada: ACM, pp. 139–146.doi: 10.1145/1463822.1463838. url:http://doi.acm.org/10.1145/1463822.1463838.

Dahl, O. J., E. W. Dijkstra, and C. A. R. Hoare, eds. (1972). StructuredProgramming. London, UK, UK: Academic Press Ltd. isbn:0-12-200550-3.

Dijkstra, E. W. (1971). “Hierarchical Ordering of Sequential Processes”.In: Acta Inf. 1.2, pp. 115–138. issn: 0001-5903. doi:10.1007/BF00289519. url:http://dx.doi.org/10.1007/BF00289519.

Holt, Richard C (1978). Structured concurrent programming withoperating systems applications. Vol. 2937. Reading, Mass.; Don Mills,Ont.: Addison-Wesley Publishing Company.

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 44 / 46

Page 110: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

References II

Ianov, Iu I. (1958). “On the Equivalence and Transformation of ProgramSchemes”. In: Commun. ACM 1.10, pp. 8–12. issn: 0001-0782. doi:10.1145/368924.368930. url:http://doi.acm.org/10.1145/368924.368930.

Landin, Peter J (1964). “The mechanical evaluation of expressions”. In:The Computer Journal 6.4, pp. 308–320.

McCarthy, John (1960). “Recursive Functions of Symbolic Expressions andTheir Computation by Machine, Part I”. In: Commun. ACM 3.4,pp. 184–195. issn: 0001-0782. doi: 10.1145/367177.367199. url:http://doi.acm.org/10.1145/367177.367199.

McIlroy, M. D. (1969). “Alternatives to Extensible Languages”. In:SIGPLAN Not. 4.8, pp. 50–52. issn: 0362-1340. doi:10.1145/1115858.1115870. url:http://doi.acm.org/10.1145/1115858.1115870.

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 45 / 46

Page 111: CPEG 852 Advanced Topics in Computing Systems The ...CPEG 852 | Advanced Topics in Computing Systems The Data ow Model of Computation St ephane Zuckerman Computer Architecture & Parallel

References III

Muller, D. E. and W. Scott Bartky (1957). A Theory of AsynchronousCircuits. Report 78. University of Illinois, Graduate College, DigitalComputer Laboratory.

Muller, David E (1963). “Asynchronous logics and application toinformation processing”. In: Switching Theory in Space Technology,pp. 289–297.

Paterson, Michael S. and Carl E. Hewitt (1970). “Record of the ProjectMAC Conference on Concurrent Systems and Parallel Computation”. In:ed. by Jack B. Dennis. New York, NY, USA: ACM. Chap. ComparativeSchematology, pp. 119–127. doi: 10.1145/1344551.1344563. url:http://doi.acm.org/10.1145/1344551.1344563.

Petri, Carl Adam (1966). “Communication with automata”. eng.PhD thesis. Universitat Hamburg.

S.Zuckerman CPEG852 – Fall ’15 – Dataflow MoC 46 / 46