Dynamic Adaptive Multithreading: Programming Models and ...

16
Dynamic Adaptive Multithreading: Programming Models and System Software Guang R. Gao Electrical & Computer Engineering University of Delaware [email protected] Thomas Sterling Department of Computer Science Louisiana State University [email protected] ParalleX: A Study of a New Computation Model

Transcript of Dynamic Adaptive Multithreading: Programming Models and ...

Page 1: Dynamic Adaptive Multithreading: Programming Models and ...

Dynamic Adaptive Multithreading:Programming Models and System Software

Guang R. Gao

Electrical & Computer EngineeringUniversity of Delaware

[email protected]

Thomas Sterling

Department of Computer ScienceLouisiana State University

[email protected]

ParalleX: A Study of a New Computation Model

Page 2: Dynamic Adaptive Multithreading: Programming Models and ...

2

Contributors

• Collaborators– Maciej Brodowicz (LSU/CCT)– Hartmut Kaiser (LSU/CCT)– Rick Stevens (U. Chicago/ANL, Co-PI)– Mark Herald (U. Chicago/ANL)– Weirong Zhu (U. Delaware)– Jeff Becker (NASA ARC)

• Acknowledgements– NSF (Darema, etc.)– DOE OS, NSA– Argonne National Laboratory– Sandia National Laboratory– IBM– ET International Inc.– Members of UDel/CAPSL– LSU Center for Computation and Technology

Page 3: Dynamic Adaptive Multithreading: Programming Models and ...

3

Previous/On-Going Work

• MIT Dataflow Model (1973 – 1992)• MDFA (McGill Dataflow Model, 1988-2003)• EARTH (McGill/UDel: 1994-2004)• HTMT (Sterling, Gao, et al 1996 - 1999)• CARE (UDel: 1999-2004)• OpenMP-XN (UDel: 2003- )• Percolation (Gao, Sterling, et al)• Parcel model (Sterling, et al.)• Gilgamesh (Sterling, Brodowicz, et al)• LITL-X (Gao, Sterling, et al.)• ParalleX (Sterling, Gao, et al.)

Page 4: Dynamic Adaptive Multithreading: Programming Models and ...

4

Goals for Future Parallel Execution Models

• Technology trends– Multicore components– Heterogeneous structures and accelerators

• Performance degradation– Latency (idle time due to round trip delays)– Overhead (critical path support mechanisms)– Contention (inadequate bandwidth)– Starvation (sufficient parallelism and load balancing)

• Power consumption– Just too much!– Dominating practical growth in mission critical domains

• Reliability– Single point failure modes cannot be tolerated– Reduced feature size and increased component count

• Changing application workload characteristics– Data (meta-data) intensive for sparse numerics and symbolics

• Programmability & ease of use– System complexity, scale and dynamics defy optimization by hand

Page 5: Dynamic Adaptive Multithreading: Programming Models and ...

5

Key Ideas in HTVM/Parallel-X Execution & Programming Models

• Hierarchical multi-grain multithreading• Global name space

– Does not assume memory coherence– Location consistency

• Fine grain synchronization– Futures– Lightweight event driven

• Message driven• Data driven

– In-Memory atomic synchronization• Memory contains parallel control state

– Split-phase transactions• API: Runtime Optimization Aware

– SPMD and beyond (general fork/join)– Future + fine-grain threads– Locality specification – Percolation– Domain-specific knowledge input

Page 6: Dynamic Adaptive Multithreading: Programming Models and ...

6

Large-Grain Thread (LGT)

Small-Grain Thread (SGT)

Tiny-Grain Thread (TGT)Invoke an SGT/Sync a TGT within same

SGTSYNC ops

Data-SYNC opsInter-LGT Communication &

Synchronization

Global Shared Memory Address Space

A Dynamic Multithreaded Execution Model and Virtual

Machine

In the above execution scenario: three large grain threads are in progress, within each a numberof small grain threads are forked each in turn invokes the execution of a collection of tiny grainthreads.

Note: the lower two levels of thetwo threads are fine-grain

Page 7: Dynamic Adaptive Multithreading: Programming Models and ...

7

Classes of Target Architectures

• Application space– Data intensive– Dynamic sparse data structures– e.g.: AMR, directed graphs, heuristic driven search problems

• Conventional systems– MPP and commodity clusters– Multicore– Heterogeneous– FPGA enhanced for system software acceleration

• Cyclops– IBM– NSA sponsored– Fine grain architecture

• Gilgamesh-2 point design– Heterogeneous with respect to temporal locality– Combines PIM structures with dataflow streaming accelerators

Page 8: Dynamic Adaptive Multithreading: Programming Models and ...

8

ParalleX Semantics• Locality domains

– Intra-locality: Controlled synchronous– Inter-locality: Asynchronous between localities

• Distributed shared memory– Not cache coherent– Copy semantics– Affinity relationships

• Split-phase transactions– Work queue model

• Only do work on local state• No blocking or idle time for remote access

• Message-driven computation– Parcels carry data, target address, action, continuation– Percolation

• Multi-threaded– First class objects– Dataflow on transient values

• Local (lightweight) control objects– Futures– Dataflow– Data-directed parallel control

• Meta-data embedded address translation• Dynamic optimization

Page 9: Dynamic Adaptive Multithreading: Programming Models and ...

9

Strategic Accomplishments

• LITLX running on Cyclops simulator• ParalleX reference implementation

– Written in Lisp (for rapid prototyping)– Running kernel applications

• Distributed ParalleX in-work– Based on C++ libraries– PRECISE binary instruction set

• Exploits prior NSF Percolation studies (UDel & Caltech)– Prestaging of data at remote sites– Work distribution and load balancing– Offload overhead and latency from precious resources

Page 10: Dynamic Adaptive Multithreading: Programming Models and ...

10

Gilgamesh-2 System Elements

• Executable Memory– Supports low-temporal (e.g. touch once) locality global data operations– Threads in memory with wide ALUs

• Dataflow Accelerator– Supports high-temporal locality operations– Very high throughput low latency processing– Low power per operation

• Data Vortex optical network– Innovative topology– Low latency, low logic– Graceful degradation of injection rate with traffic density– High degree switches

• Penultimate store– Fast backing store for core computing– Exploits highest density semiconductor memory– Reconfigurable for fault tolerance

Page 11: Dynamic Adaptive Multithreading: Programming Models and ...

11

Gilgamesh-2 Module

Bit-1Jnctn

Bit-2Jnctn

Bit-1Jnctn

Bit-1Jnctn

Bit-1Jnctn

Fat-tree controller

Fat-tree ctrl

Power / Ground Rails

Fat-tree ctrlBit-3

JnctnBit-2Jnctn

Bit-1Jnctn

Bit-2Jnctn

Bit-1Jnctn

Bit-1Jnctn

Bit-1Jnctn

Fat-tree controller

Fat-tree ctrl

Fat-tree ctrl

Bit-3Jnctn

Bit-2Jnctn

SHARED

Local Parcel Bus Stage 2 Router

Shared Functional Unit

Local Parcel Bus Stage 2 Router

3 2x2 routers

Local Parcel Bus Stage 2 Router

SHARED

Local Parcel Bus Stage 2 Router

3 2x2 routersShared External Memory interface

Mem

ory

IO

PORT

Timing, and master configuration and power controller

Fat Tree Switch

Fat Tree SwitchFat Tree

Switch

Fat Tree Switch

Fat Tree Switch

Fat Tree Switch

Node pairNode pair

Node pairNode pair

Node pair Node pair

Node pair Node pair

Node pairNode pair

Node pairNode pair

Node pair Node pair

Node pair Node pair

Glo

bal R

egis

ter F

ile

MemoryManager

Embedded DRAM Macro

ParcelHandler

ActiveStructure

Buffer

ThreadManager

WideALU

Chip Level

PIM Group Level

PIM Element

Level

(1 of 32)

Page 12: Dynamic Adaptive Multithreading: Programming Models and ...

12

Gilgamesh-2 SystemG

loba

l Reg

iste

r File

Glo

bal R

egis

ter F

ileG

loba

l Reg

iste

r File

Glo

bal R

egis

ter F

ile

D0

D1

D2

D128k-1

PS0

PS1

PS2

PS128k-1

Data Vortex

File I/O

Page 13: Dynamic Adaptive Multithreading: Programming Models and ...

13

Enhancing Conventional Multicore

Processor Core

cache

Processor Core

cache

Processor Core

cache

Multithreaded Manager

Parcel Handler

Percolation Task Manager

Global Address Manager

Eco

-Sys

tem

Page 14: Dynamic Adaptive Multithreading: Programming Models and ...

14

FPGA ParalleX Accelerator

• Based on prior work performed on MIND architecture as part of Caltech/JPL Gilgamesh project

• Goal: enhance scalability and efficiency

– Hide system wide latency– Reduce parallelism control

overhead• Design FPGA-based hardware

drivers and co-processors to support ParalleX model

– Parcel message-driven computation handler

– Medium grained multithread execution scheduler

– Global address translation support

– Percolation pre-staging task manager

– (possibly) local control object synchronization acceleration

Page 15: Dynamic Adaptive Multithreading: Programming Models and ...

15

Future Work at LSU

• Full function distributed ParalleX implementation– Exploiting existing C++ libraries– Commodity cluster

• Optimized performance implementation– Custom threads model

• Application driven evaluation– Performance advantage– Time cost model of critical mechanisms– Scalability sensitivity studies

• FPGA accelerators– Key mechanisms– CCT reconfigurable testbed

• Specification for Agincourt– API for ParalleX– Compiles to PXIF

Page 16: Dynamic Adaptive Multithreading: Programming Models and ...

16