Dataflow Models.

Slides:



Advertisements
Similar presentations
Parallel Processing & Parallel Algorithm May 8, 2003 B4 Yuuki Horita.
Advertisements

Introduction to Petri Nets Hugo Andrés López
Based on: Petri Nets and Industrial Applications: A Tutorial
A Dataflow Programming Language and Its Compiler for Streaming Systems
DATAFLOW ARHITEKTURE. Dataflow Processors - Motivation In basic processor pipelining hazards limit performance –Structural hazards –Data hazards due to.
CSCI 8150 Advanced Computer Architecture Hwang, Chapter 2 Program and Network Properties 2.3 Program Flow Mechanisms.
Multiprocessors Andreas Klappenecker CPSC321 Computer Architecture.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
PEMWS – April 5, 2011 Program Execution Models What we can Learn from the Past Jack Dennis MIT Computer Science and Artificial Intelligence Laboratory.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
(Page 554 – 564) Ping Perez CS 147 Summer 2001 Alternative Parallel Architectures  Dataflow  Systolic arrays  Neural networks.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
A global, public network of computer networks. The largest computer network in the world. Computer Network A collection of computing devices connected.
Where do We Go from Here? Thoughts on Computer Architecture TIP For additional advice see Dale Canegie Training® Presentation Guidelines Jack Dennis MIT.
CMPE 511 DATA FLOW MACHINES Mustafa Emre ERKOÇ 11/12/2003.
CS321 Functional Programming 2 © JAS Implementation using the Data Flow Approach In a conventional control flow system a program is a set of operations.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
High Performance Architectures Dataflow Part 3. 2 Dataflow Processors Recall from Basic Processor Pipelining: Hazards limit performance  Structural hazards.
Computer Architecture Dataflow Machines. Data Flow Conventional programming models are control driven Instruction sequence is precisely specified Sequence.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
March 4, 2008 DF4-1http://csg.csail.mit.edu/arvind/ From Id/pH to Dataflow Graphs Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute.
1 Causal-Consistent Reversible Debugging Ivan Lanese Focus research group Computer Science and Engineering Department University of Bologna/INRIA Bologna,
1 Multithreaded Architectures Lecture 3 of 4 Supercomputing ’93 Tutorial Friday, November 19, 1993 Portland, Oregon Rishiyur S. Nikhil Digital Equipment.
Web Services Flow Language Guoqiang Wang Oct 7, 2002.
The 14 th IEEE Real-Time and Embedded Technology and Applications Symposium, April 2008 Real-Time Distributed Discrete-Event Execution with Fault Tolerance.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
March 4, 2008 DF5-1http://csg.csail.mit.edu/arvind/ The Monsoon Project Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Different parallel processing architectures Module 2.
Chapter 7 Dataflow Architecture. 7.1 Dataflow Models  A dataflow program: the sequence of operations is not specified, but depends upon the need and.
CS 232: Computer Architecture II Prof. Laxmikant (Sanjay) Kale.
March 4, 2008http://csg.csail.mit.edu/arvindDF3-1 Dynamic Dataflow Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology.
December 5, 2006http://csg.csail.mit.edu/6.827/L22-1 Dynamic Dataflow Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of.
Compilation of XSLT into Dataflow Graphs for Web Service Composition Peter Kelly Paul Coddington Andrew Wendelborn.
Generations of Computing. The Computer Era Begins: The First Generation  1950s: First Generation for hardware and software Vacuum tubes worked as memory.
Autumn 2006CSE P548 - Dataflow Machines1 Von Neumann Execution Model Fetch: send PC to memory transfer instruction from memory to CPU increment PC Decode.
Computer Architecture: Dataflow (Part I) Prof. Onur Mutlu Carnegie Mellon University.
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
Week 8 Computational Level
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Application architectures. Objectives l To explain the organisation of two fundamental models of business systems - batch processing and transaction processing.
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
Topics to be covered Instruction Execution Characteristics
Polynomial analysis algorithms for free-choice workflow nets
University of Technology
Overview Parallel Processing Pipelining
Dataflow Machines CMPE 511
Prof. Onur Mutlu Carnegie Mellon University
Fall 2012 Parallel Computer Architecture Lecture 22: Dataflow I
Clockless Computing COMP
Computer Organization & Assembly Language Chapter 3
Computer Engg, IIT(BHU)
Assembly Language for Intel-Based Computers, 5th Edition
课程名 编译原理 Compiling Techniques
Instruction Level Parallelism and Superscalar Processors
Topic A Dataflow Model of Computation
Chapter 2: The Linux System Part 1
Dataflow: Passing the Token
Topic B (Cont’d) Dataflow Model of Computation
Chapter 3 Part 3 Switching and Bridging
An Introduction to Petri Nets
Chapter 12 Pipelining and RISC
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
Dataflow Model of Computation (From Dataflow to Multithreading)
Well-behaved Dataflow Graphs
Samira Khan University of Virginia Jan 23, 2019
Advanced Computer Architecture Dataflow Processing
Chapter 14. Activity Modeling for Transformational Systems
Prof. Onur Mutlu Carnegie Mellon University
Presentation transcript:

Dataflow Models

A Base-Language ~ Data Flow Graphs ~ To serve as an intermediate-level language for high-level languages To serve as a machine language for parallel machines - J.B. Dennis CPEG421-2001-F-Topic-3-II

Operational Semantics (Firing Rule) Values represented by tokens Placing tokens on the arcs (assignment) - snapshot/configuration: state Computation configuration configuration CPEG421-2001-F-Topic-3-II

MIT -1964 By Jack B. Dennis Jac IBM announces System 360. Project Mac selects GE 645 for Multics. I decide to pursue research on relation of program structure to computer architecture. “Machine Structures Group formed.” By Jack B. Dennis 11/21/2018 keynote-Italy-HPC-2010 4

Karp, Miller Parallel Program Schema 11/21/2018 keynote-Italy-HPC-2010 5

Data Flow Years at MIT 1974 – 1975 􀂃April 1974: Symposium on Programming, Paris. Dennis: “First Version of a Data Flow Procedure Language”. 􀂃January 1975: Second Annual Symposium on Computer Architecture, Houston. Dennis and Misunas: “A Preliminary Architecture for a Basic Data-Flow Processor”. 􀂃August 1975: 1975 Sagamore Computer Conference on Parallel Processing: 􀀹Rumbaugh: “Data Flow Languages” 􀀹Rumbaugh: “A Data Flow Multiprocessor” 􀀹Dennis: “Packet Commincation Architecture” 􀀹Misunas: “Structure Processing in a Data-Flow Computer” . 11/21/2018 keynote-Italy-HPC-2010

MIT Static Dataflow Processor Architecture Operation units Update unit queue Fetch unit Activity store + a b * Z = (a + b) * (c - d) z - c Gao and Theobald: The Static Dataflow Enable Memory Chip (fall, 1984) d MIT Static Dataflow Processor Architecture 11/21/2018 keynote-Italy-HPC-2010 7

Early Roots on Dataflow Work at MIT in 70s 􀂃 Asynchronous Digital Logic [Muller, Bartky] 􀂃 Control Structures for Parallel Programming: [Conway, McIlroy, Dijkstra] 􀂃 Abstract Models for Concurrent Systems: [Petri, Holt] 􀂃 Theory of Program Schemes [Ianov, Paterson] 􀂃 Structured Programming [Dijkstra, Hoare] 􀂃 Functional Programming [McCarthy, Landin] 11/21/2018 keynote-Italy-HPC-2010

Symposium on Theoretical Programming Novosibirsk 1972 11/21/2018 keynote-Italy-HPC-2010 9

Notables Novosibirsk -1972 J. Schwartz Bahrs Luckham M. Engeler Ershov Milner Warren McCarthy Miller Igarashi Hoare Paterson F. Allen Dennis 11/21/2018 keynote-Italy-HPC-2010 10

Dataflow Work at MIT in 1980s led by Arvind and his group (Nikhil, etc UC Irvine; U-Interpreter; Preliminary Id Report Joined MIT (Dennis’ CSG group) 1978 Organized FPCA conference, Portsmouth NH 1981 Attended FPCA conference, Portsmouth NH Arvind forms “FLA” group (Functional Languages and Architectures) for dynamic dataflow work PhD work on using functional languages for database query 1984 Joined MIT, FLA group in LCS Collaborated on Id, pH, TTDA, Monsoon, P-RISC, early *T Jack Dennis’ original CSG group shuts down Arvind renames group to “CSG” ~1989 1991 Left MIT Continued collaboration on Id/pH Created Sandburst 2000 Joined Sandburst 2003 11/21/2018 11 Co-founded Bluespec, Inc.

The Monsoon Project Motorola Cambridge Research Center + MIT Tony Dahbura MIT-Motorola collaboration 1988-91 Research Prototypes 16-node Fat Tree Monsoon Processor 64-bit I-structure 100 MB/sec 10M tokens/sec Unix Box 4M 64-bit words 16 2-node systems (MIT, LANL, Motorola, Colorado, Oregon, McGill, USC, ...) 2 16-node systems (MIT, LANL) Id World Software

No separate control flow Dataflow Graphs x = a + b; z = b * 7; z = (x-y) * (x+y); a b 7 1 2 Values in dataflow graphs are represented as tokens of the form: x y <ip, p, v> <3, Left, value> 3 4 Where ip is the instruction pointer p is the port and v represents the data 5 An operator executes when all its input tokens are present; copies of the result token are distributed to the destination operators. No separate control flow CPEG421-2001-F-Topic-3-II

Dataflow Operators A small set of dataflow operators can be used to define a general programming language Fork Primitive Ops Switch Merge + T F T F T T  + T F T F T T CPEG421-2001-F-Topic-3-II

Well-behaved Data Flow Graphs Data flow graphs that produce exactly one set of result values at each output arcs for each set of values presented at the input arcs Implies the initial configuration is re-established Also implies determinacy CPEG421-2001-F-Topic-3-II

Properties of Well-Behaved Dataflow Schemata vm ..... ..... 1 m 1 m An (m, n) Scheman with no enabled actors An (m, n) Scheman with no enabled actors ..... ..... 1 n 1 n (a) Initial Snapshot (a) Final Snapshot Properties of Well-Behaved Dataflow Schemata CPEG421-2001-F-Topic-3-II

Well Behaved Schemas one-in-one-out & self cleaning Conditional Loop Before After • • • P one-in-one-out & self cleaning T F f g Conditional f p T F Loop CPEG421-2001-F-Topic-3-II

Well-formed Dataflow Schema (Dennis & Fossen 1973) An operator is a WFDS A conditional schema is a WFDS A iterative (loop) schema is a WFDS An acyclic composition of component WFDS is a WFDS CPEG421-2001-F-Topic-3-II

Theorem “A well-formed data flow graph is well-behaved” proof by induction CPEG421-2001-F-Topic-3-II

Example of “Sick” Dataflow Graphs Arbitrary connections of data flow operators can result in pathological programs, such as the following: A J B D E G H K L M N C A I 1. Deadlock 2. Hangup 3. Conflict 4. Unclean CPEG421-2001-F-Topic-3-II

Well-behaved Program Always determinate in the sense that a unique set of output values is determined by a set of input values References: Rodriquez, J.E. 1966, “A Graph Model of Parallel Computation”, MIT, TR-64] Patil, S. “Closure Properties of Interconnections of Determinate Systems”, Records of the project MAC conf. on concurrent systems and parallel Computation, ACM, 1970, pp 107-116] Denning, P.J. “On the Determinacy of Schemata” pp 143-147 Karp, R.M. & Miller, R.E., “Properties of a Model of Parallel Computation Termination, termination, queuing”, Appl. Math, 14(6), Nov. 1966 CPEG421-2001-F-Topic-3-II

Remarks on Dataflow Models A fundamentally sound and simple parallel model of computation (features very few other parallel models can claim) Few dataflow architecture projects survived passing early 1990s. But the ideas and models live on .. In the new multi-core age: we have many reasons to re-examine and explore the original dataflow models and learn from the past CPEG421-2001-F-Topic-3-II