Download presentation
Presentation is loading. Please wait.
Published byGian Scaife Modified over 9 years ago
1
HABANERO CNC Sagnak Tasirlar 1
2
Acknowledgments 2 Colleagues @ Rice Vivek Sarkar, Zoran Budimlic, Michael Burke, Philippe Charles Vincent Cave, David Peixotto, Dragos Sbirlea, Alina Simion, Max Grossman Collaborators @ Intel Kathleen Knobe, Geoff Lowney, Ryan Newton, Mark Hampton, Frank Schlimbach Collaborators @ Aparna Chandramowlishwaran, Richard Vuduc @Georgia Tech Jens Palsberg and CDSC team @UCLA
3
Habanero’s Parallelism Postulation 3 Four dimensions of portable parallelism Lightweight dynamic task creation finish/async parallelism Collective and point-to-point synchronization phaser Mutual exclusion, isolation isolated Locality control Hierarchical place trees
4
Habanero’s Parallelism Postulation 4 Four dimensions of portable parallelism Lightweight dynamic task creation finish/async parallelism Collective and point-to-point synchronization phaser Mutual exclusion, isolation isolated Locality control Hierarchical place trees Figure credit: Raghavan Raman, MS Thesis, Compiler Support for Work-Stealing Parallel Runtime Systems
5
Habanero’s Parallelism Postulation 5 Four dimensions of portable parallelism Lightweight dynamic task creation finish/async parallelism Collective and point-to-point synchronization phaser Mutual exclusion, isolation isolated Locality control Hierarchical place trees
6
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
7
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
8
import Habanero CnC Build Model Code to invoke the graph Code to put initial values in graph Code to implement abstract steps User specified Concurrent Collections components Concurrent Collections Textual Graph cnc_t Translator Habanero Java source files cnc_c Compiler.class Files JAR builder Concurrent Collections Library Java application Habanero Java Source Files Abstract classes for all steps Definitions for all collections Graph definition and initialization Habanero Java Runtime Library
9
Scheduling HJ-CnC 9 Blocking policy Granularity Non Blocking policy Delayed async Rollback and Replay HJ exception handling Side effect freedom Data driven nature
10
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
11
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
12
Results 12
13
Results 13
14
References 14 Submitted Technical Report IPDPS ’10 Performance Evaluation of Concurrent Collections on High-Performance Multicore Computing Systems (A. Chandramowlishwaran, K. Knobe, R. Vuduc Damp ’09 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 15
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.