fresh breeze status
play

Fresh Breeze Status Jack Dennis MIT CSAIL Architecture and - PowerPoint PPT Presentation

Fresh Breeze Status Jack Dennis MIT CSAIL Architecture and Programming Models for High Performance Interactive Computation University of Delaware MIT Computer Science and Artificial Intelligence Prof. Gao Guang Rong Laboratory


  1. Fresh Breeze Status Jack Dennis MIT CSAIL

  2. Architecture and Programming Models for High Performance Interactive Computation • University of Delaware • MIT Computer Science and Artificial Intelligence • Prof. Gao Guang Rong Laboratory • Prof. Xiaoming Li • Prof. Wang • Prof. Jack Dennis • Dr. Haitao Wei • Dr. Willie Lim • Chao Yang • Michael Zhou • Robert Pavel

  3. The Fresh Breeze Project • Co-design of Programming Model and System Architecture. • Goal: Support Dynamic Resource Management. • Goal: Support Interactive Real Time Computation.

  4. Flexibility of resource management requires choice of a unit of exchange for memory and for processing • Unit of Memory – Fixed Size Memory Chunk • Unit of Processing – Execution of a Codelet

  5. What is a Memory Chunk ? 57 12 128 104 A chunk holds sixteen data items that may be data values or pointers to other memory chunks

  6. Data Structures as Trees of Chunks Cycle-Free Heap Arrays as Trees of Chunks Master Chunk Data Chunks e.g. 128 Bytes  Fan-out as large as 16  Arrays: Three levels yields 4096 elements (longs or doubles)  Write-Once then Read Only 6

  7. Benefits of the Memory Model • Uniform representation scheme for all data objects • Ease of selecting components of a data object. • Simplified memory management. • Write-once policy eliminates coherence issues

  8. What is a Codelet ? Object A Codelet Object B  A block of Instructions scheduled for execution when needed data objects are available.  Results made available to successor codelets.  Data objects are trees of chunks.

  9. Work and Continuation Codelets Master Codelet SyncCreate (cont, n) -> sync TaskSpawn (work, sync, 0) TaskSpawn (work, sync, n-1) TaskQuit () Work Codelet Work Codelet SyncUpdate (sync, 0, data) SyncUpdate (sync, n-1, data) Continuation Codelet 9

  10. Example: The Dot Product A Sum * * * B A B 5 levels: Vector length = 16 5 = 1,048,576 Each of 65536 Leaf Tasks: Dot Product of two * 16-element vectors: 16 multiplies; 15 adds + scalar result

  11. Codelets for the Dot Product TaskSpawn ForAllSpawn Traverse Vectors Compute ForAllSpawn Combine Sums Update Update Update

  12. Fresh Breeze Multicore Chip S - Scheduler Load Balancer P - Processor Core S S S S AB - AutoBuffer P P P P AB AB AB AB Innovations: Network AutoBuffer - AB L2 Cache Load Balancer Off-Chip Memory System

  13. Principle of the Auto Buffer AutoBuffer Register File Auxiliary Fields 3 Memory 3 System buffer tags registers valid index flag Chunk Buffers Codelets access chunks using chunk handles held in processor registers. Once a chunk is assigned a buffer, its index is held by the register containing the handle, providing direct access to the chunk.

  14. Dynamic Load Balancing Load Balancer Load Send a Measure Task To Local Task Queue LTQ LTQ LTQ Receive Send a a Task Task Task Transfer Network The load Balancer monitors the number of tasks queued at each processor and instructs each local scheduler to send a task from a processor with high load to a processor with low load.

  15. Fresh Breeze Compiler Read Class Files Bytecode Class Files javac DFGs of Methods Transform Graphs funJava DFGs for Codelets Construct Code Processor Fresh Breeze Codelets Simulator

  16. BlueDBM: A Data Base Machine DBM Structure One DBM Node

Recommend


More recommend