- Intel® Developer Zone

Download Report

Transcript - Intel® Developer Zone

1
HABANERO CNC
Sagnak Tasirlar
Acknowledgments
2

Colleagues @ Rice



Collaborators @ Intel


Vivek Sarkar, Zoran Budimlic, Michael Burke, Philippe Charles
Vincent Cave, David Peixotto, Dragos Sbirlea, Alina Simion, Max
Grossman
Kathleen Knobe, Geoff Lowney, Ryan Newton, Mark Hampton, Frank
Schlimbach
Collaborators @


Aparna Chandramowlishwaran, Richard Vuduc @Georgia Tech
Jens Palsberg and CDSC team @UCLA
Habanero’s Parallelism Postulation
3

Four dimensions of portable parallelism

Lightweight dynamic task creation


Collective and point-to-point synchronization


phaser
Mutual exclusion, isolation


finish/async parallelism
isolated
Locality control

Hierarchical place trees
Habanero’s Parallelism Postulation
4

Four dimensions of portable parallelism

Lightweight dynamic task creation


Collective and point-to-point synchronization


phaser
Mutual exclusion, isolation


finish/async parallelism
isolated
Locality control

Hierarchical place trees
Figure credit: Raghavan Raman, MS Thesis, Compiler Support for Work-Stealing Parallel Runtime Systems
Habanero’s Parallelism Postulation
5

Four dimensions of portable parallelism

Lightweight dynamic task creation


Collective and point-to-point synchronization


phaser
Mutual exclusion, isolation


finish/async parallelism
isolated
Locality control

Hierarchical place trees
Habanero Java (HJ)
6

An extended subset of X10 v1.5
 which



is an extended subset of Java
Achieves parallelism via mentioned four dimensions
Work sharing, work stealing and adaptive runtimes
Requires parallelism awareness
Download from habanero.rice.edu/hj
Habanero CnC (HJ-CnC)
7

Coordination language for Habanero Java
 on
top of HJ coordinating communication within HJ
steps

Parallelism oblivious development
 Every
step instance is an async
 CnC graph is wrapped with a finish scope
 Item and Tag Collections are Concurrent hash maps

Has three flavors of scheduling
Download from habanero.rice.edu/cnc
Habanero CnC Build Model
Concurrent
Collections
Textual
Graph
cnc_t Translator
Habanero
Java
source files
Habanero
Java
Source Files
import cnc_c Compiler
Code to invoke the graph
Code to put
initial values in graph
Code to implement abstract steps
import
Concurrent
Collections
Library
.class
Files
Abstract classes for all steps
Definitions for all collections
Graph definition and initialization
JAR builder
Java application
User specified
Concurrent Collections components
Habanero Java
Runtime
Library
Scheduling HJ-CnC
9

Blocking policy
 Granularity

Non Blocking policy
 Delayed

async
Rollback and Replay
 HJ
exception handling
 Side effect freedom
 Data driven nature
Habanero CnC vs Intel CnC
10

Step language
 Java

(or HJ) vs C++
Safety
 Tag
types : Immutable vs mutable
 Graph conformance

Runtime scheduling
 HJ
runtimes vs Intel TBB
HJ-CnC as a domain specific language
11

Rice-UCLA collaboration on customizable domain
specific computing




Five year NSF expeditions project to investigate malleable domain
specific hardware and software
Domain is set as medical imaging and hemodynamic modeling
Habanero CnC is the language of choice for domain experts
For further info visit cdsc.ucla.edu
Results
12
Results
13
References
14


Submitted Technical Report
IPDPS ’10


Damp ’09


Performance Evaluation of Concurrent Collections on High-Performance
Multicore Computing Systems (A. Chandramowlishwaran, K. Knobe, R. Vuduc
Declarative Aspects of Memory Management in the Concurrent Collections
Parallel Programming Model (Z.Budimlic, A. Chandramowlishwaran, K.
Knobe, G. Lowney, V. Sarkar and L. Treggiari)
CPC ’09

Multi-core Implementations of the Concurrent Collections Programming
Model (Zoran Budimlic, Aparna Chandramowlishwaran, Kathleen Knobe,
Geoff Lowney, Vivek Sarkar, and Leo Treggiari )
15
Questions and feedback