dataflow computers
play

Dataflow Computers Motivation: exploit instruction-level - PowerPoint PPT Presentation

Dataflow Computers Motivation: exploit instruction-level parallelism on a massive scale more fully utilize all processing elements Believed this was possible if: express low-level parallelism in a functional-style programming


  1. Dataflow Computers Motivation: • exploit instruction-level parallelism on a massive scale • more fully utilize all processing elements Believed this was possible if: • express low-level parallelism in a functional-style programming language • no side effects, easy to reason about • scheduled code greedily (i.e., massive out-of-order execution) • hardware support for data-driven execution Spring 2005 CSE 548P - Dataflow Machines 1

  2. Dataflow Computers All computation is data-driven . • binary as a directed graph • nodes are operations • values travel on arcs a b + a+b Spring 2005 CSE 548P - Dataflow Machines 2

  3. Dataflow Computers Code & initial values loaded into memory Execute according to the dataflow firing rule • when operands of an instruction have arrived on all input arcs, instruction may execute • value on input arcs is removed • computed value placed on output arc j i A * + Spring 2005 CSE 548P - Dataflow Machines 3

  4. Dataflow Example i A j * * A[j + i*i] = i; + + b = A[i*j]; Load + Store b Spring 2005 CSE 548P - Dataflow Machines 4

  5. Dataflow Example i A j * * A[j + i*i] = i; + + b = A[i*j]; Load + Store b Spring 2005 CSE 548P - Dataflow Machines 5

  6. Dataflow Example i A j * * A[j + i*i] = i; + + b = A[i*j]; Load + Store b Spring 2005 CSE 548P - Dataflow Machines 6

  7. Dataflow Computers Control • split merge value T path F path predicate predicate + + T path F path value • convert control dependence to data dependence with value- steering instructions • can either execute both paths & pass values at end with a merge or execute one path after condition variable is known Spring 2005 CSE 548P - Dataflow Machines 7

  8. Dataflow Computers Data Tokens • value • tag to identify the operand instance & match it with its fellow operands in the same dynamic instruction instance • architecture dependent • instruction number • iteration number • activation number (for functions, especially recursive) • thread number Instructions • operation • destination instructions Spring 2005 CSE 548P - Dataflow Machines 8

  9. Types of Dataflow Computers static : • one copy of each instruction • no simultaneously active iterations, no recursion dynamic • multiple copies of each instruction • gate counting technique to prevent instruction explosion: k-bounding • extra instruction with K tokens on its input arc; passes a token to 1 st instruction of loop body • 1 st instruction of loop body consumes a token (needs one extra operand to execute) • last instruction in loop body produces another token at end of iteration • limits active iterations to k • Spring 2005 CSE 548P - Dataflow Machines 9

  10. Prototypical Early Dataflow Computer Original implementations were centralized. processing elements instruction data packets packets token instructions store Performance cost • associative search of large token store • long wires • arbitration for PEs and return of result Spring 2005 CSE 548P - Dataflow Machines 10

  11. Problems with Dataflow Computers Language compatibility • dataflow cannot guarantee a global ordering of memory operations • dataflow computer programmers could not use mainstream programming languages, such as C • developed special languages in which order didn’t matter Scalability: large token store • side-effect-free programming language with no mutable data structures • 1000 tokens for 1000 data items even if the same value Spring 2005 CSE 548P - Dataflow Machines 11

  12. Solving the Problems Partial solution in data representation • I-structures : write once; read many times • M-structures : multiple reads & writes, but alternate like full/empty bits Partial solution in frames of sequential instruction execution • dataflow execution of coarse-grain threads Partial solution in local (register) storage Solutions led away from pure dataflow execution Spring 2005 CSE 548P - Dataflow Machines 12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend