Prof. Onur Mutlu Carnegie Mellon University

Slides:



Advertisements
Similar presentations
DATAFLOW ARHITEKTURE. Dataflow Processors - Motivation In basic processor pipelining hazards limit performance –Structural hazards –Data hazards due to.
Advertisements

Understanding a Problem in Multicore and How to Solve It
Computer Architecture
Computer Architecture Lecture 2: Fundamental Concepts and ISA Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/16/2013.
CSCI 8150 Advanced Computer Architecture Hwang, Chapter 2 Program and Network Properties 2.3 Program Flow Mechanisms.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
18-447: Computer Architecture Lecture 30B: Multiprocessors Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 4/22/2013.
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.
TRIPS – An EDGE Instruction Set Architecture Chirag Shah April 24, 2008.
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.
Computer Architecture: Out-of-Order Execution
Computer Architecture: Multithreading (I) Prof. Onur Mutlu Carnegie Mellon University.
Computer Architecture: Out-of-Order Execution II
Autumn 2006CSE P548 - Dataflow Machines1 Von Neumann Execution Model Fetch: send PC to memory transfer instruction from memory to CPU increment PC Decode.
15-740/ Computer Architecture Lecture 12: Issues in OoO Execution Prof. Onur Mutlu Carnegie Mellon University Fall 2011, 10/7/2011.
Samira Khan University of Virginia Feb 9, 2016 COMPUTER ARCHITECTURE CS 6354 Precise Exception The content and concept of this course are adapted from.
Computer Architecture: Dataflow (Part I) Prof. Onur Mutlu Carnegie Mellon University.
Samira Khan University of Virginia Jan 26, 2016 COMPUTER ARCHITECTURE CS 6354 Fundamental Concepts: Computing Models The content and concept of this course.
Computer Architecture Lecture 7: Microprogrammed Microarchitectures Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/30/2013.
740: Computer Architecture Memory Consistency Prof. Onur Mutlu Carnegie Mellon University.
Spring 2011 Parallel Computer Architecture Lecture 11: Core Fusion and Multithreading Prof. Onur Mutlu Carnegie Mellon University.
Fall 2012 Parallel Computer Architecture Lecture 4: Multi-Core Processors Prof. Onur Mutlu Carnegie Mellon University 9/14/2012.
15-740/ Computer Architecture Lecture 7: Out-of-Order Execution Prof. Onur Mutlu Carnegie Mellon University.
Design of Digital Circuits Lecture 14: Microprogramming
Design of Digital Circuits Lecture 24: Systolic Arrays and Beyond
Computer Architecture: Parallel Task Assignment
Computer Architecture: Branch Prediction (II) and Predicated Execution
18-447: Computer Architecture Lecture 30B: Multiprocessors
Computer Architecture Lecture 2: Fundamental Concepts and ISA
Dataflow Machines CMPE 511
Caches Samira Khan March 23, 2017.
15-740/ Computer Architecture Lecture 3: Performance
Precise Exceptions and Out-of-Order Execution
Computer Architecture Lecture 14: Out-of-Order Execution
Design of Digital Circuits Lecture 18: Out-of-Order Execution
15-740/ Computer Architecture Lecture 21: Superscalar Processing
Prof. Onur Mutlu Carnegie Mellon University
Fall 2012 Parallel Computer Architecture Lecture 22: Dataflow I
Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 2/16/2015
CIS-550 Advanced Computer Architecture Lecture 10: Precise Exceptions
15-740/ Computer Architecture Lecture 7: Pipelining
740: Computer Architecture First Assignments to Complete
Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 2/21/2014
Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 1/14/2013
Computer Architecture: Multithreading (I)
Single Thread Parallelism
Single Thread Parallelism
Computer Architecture Dataflow (Part II) and Systolic Arrays
15-740/ Computer Architecture Lecture 24: Control Flow
Computer Architecture: Multithreading (IV)
15-740/ Computer Architecture Lecture 5: Precise Exceptions
Samira Khan University of Virginia Sep 5, 2018
Hyesoon Kim Onur Mutlu Jared Stark* Yale N. Patt
15-740/ Computer Architecture Lecture 14: Runahead Execution
Lecture 3: Evolution of the Uniprocessor
Prof. Onur Mutlu Carnegie Mellon University Fall 2011, 9/30/2011
15-740/ Computer Architecture Lecture 14: Prefetching
15-740/ Computer Architecture Lecture 10: Out-of-Order Execution
Prof. Onur Mutlu Carnegie Mellon University
Design of Digital Circuits Lecture 19a: VLIW
Samira Khan University of Virginia Jan 23, 2019
Advanced Computer Architecture Dataflow Processing
Samira Khan University of Virginia Jan 30, 2019
Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 2/15/2013
Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 2/11/2015
Prof. Onur Mutlu Carnegie Mellon University Spring 2012, 3/19/2012
Prof. Onur Mutlu Carnegie Mellon University
Stream-based Memory Specialization for General Purpose Processors
Presentation transcript:

Prof. Onur Mutlu Carnegie Mellon University 18-742 Spring 2011 Parallel Computer Architecture Lecture 23: Data Flow Wrap-Up Prof. Onur Mutlu Carnegie Mellon University

Data Flow Summary Availability of data determines order of execution A data flow node fires when its sources are ready Programs represented as data flow graphs (of nodes) Data Flow at the ISA level has not been (as) successful Data Flow implementations under the hood (while preserving sequential ISA semantics) have been successful Out of order execution Hwu and Patt, “HPSm, a high performance restricted data flow architecture having minimal functionality,” ISCA 1986.

Data Flow Characteristics Data-driven execution of instruction-level graphical code Nodes are operators Arcs are data (I/O) As opposed to control-driven execution Only real dependencies constrain processing No sequential I-stream No program counter Operations execute asynchronously Execution triggered by the presence of data Single assignment languages and functional programming E.g., SISAL in Manchester Data Flow Computer No mutable state

Data Flow Advantages/Disadvantages Very good at exploiting irregular parallelism Only real dependencies constrain processing Disadvantages High bookkeeping overhead (tag matching, data storage) Debugging difficult (no precise state) Interrupt/exception handling is difficult (what is precise state semantics?) Too much parallelism? (Parallelism control needed) Implementing dynamic data structures difficult in pure data flow models Instruction cycle is inefficient (delay between dependent instructions), memory locality is not exploited

Combining Data Flow and Control Flow Can we get the best of both worlds? Two possibilities Model 1: Keep control flow at the ISA level, do dataflow underneath, preserving sequential semantics Model 2: Keep dataflow model, but incorporate control flow at the ISA level to improve efficiency, exploit locality, and ease resource management Incorporate threads into dataflow: statically ordered instructions; when the first instruction is fired, the remaining instructions execute without interruption

Model 2 Example: Macro Dataflow Data flow execution of large blocks, control flow within a block Sakai et al., “An Architecture of a Dataflow Single Chip Processor,” ISCA 1989.

Macro Dataflow Program Example

Macro Dataflow Machine Example

Macro Dataflow Pipeline Organization

Model 1 Example: Restricted Data Flow Data flow execution under sequential semantics and precise exceptions Patt et al., “HPS, a new microarchitecture: rationale and introduction,” MICRO 1985.

Restricted Data Flow DFG Formation