Habanero Cnc

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

Habanero Cnc. Sagnak Tasirlar. Acknowledgments. Colleagues @ Rice Vivek Sarkar , Zoran Budimlic , Michael Burke, Philippe Charles Vincent Cave, David Peixotto , Dragos Sbirlea , Alina Simion , Max Grossman Collaborators @ Intel - PowerPoint PPT Presentation

Text of Habanero Cnc

Concurrent Collections

Habanero CncSagnak Tasirlar1

Acknowledgments2Colleagues @ RiceVivek Sarkar, Zoran Budimlic, Michael Burke, Philippe CharlesVincent Cave, David Peixotto, Dragos Sbirlea, Alina Simion, Max GrossmanCollaborators @ IntelKathleen Knobe, Geoff Lowney, Ryan Newton, Mark Hampton, Frank SchlimbachCollaborators @Aparna Chandramowlishwaran, Richard Vuduc @Georgia TechJens Palsberg and CDSC team @UCLA

Habaneros Parallelism Postulation3Four dimensions of portable parallelismLightweight dynamic task creationfinish/async parallelismCollective and point-to-point synchronizationphaserMutual exclusion, isolationisolatedLocality controlHierarchical place trees

Habaneros Parallelism Postulation4Four dimensions of portable parallelismLightweight dynamic task creationfinish/async parallelismCollective and point-to-point synchronizationphaserMutual exclusion, isolationisolatedLocality controlHierarchical place trees

Figure credit: Raghavan Raman, MS Thesis, Compiler Support for Work-Stealing Parallel Runtime Systems

Habaneros Parallelism Postulation5Four dimensions of portable parallelismLightweight dynamic task creationfinish/async parallelismCollective and point-to-point synchronizationphaserMutual exclusion, isolationisolatedLocality controlHierarchical place trees

Habanero Java (HJ)6An extended subset of X10 v1.5which is an extended subset of JavaAchieves parallelism via mentioned four dimensionsWork sharing, work stealing and adaptive runtimesRequires parallelism awareness

Download from habanero.rice.edu/hj

Habanero CnC (HJ-CnC)7Coordination language for Habanero Javaon top of HJ coordinating communication within HJ stepsParallelism oblivious developmentEvery step instance is an asyncCnC graph is wrapped with a finish scopeItem and Tag Collections are Concurrent hash mapsHas three flavors of scheduling

Download from habanero.rice.edu/cnc

importimportHabanero CnC Build ModelCode to invoke the graphCode to put initial values in graphCode to implement abstract stepsUser specifiedConcurrent Collections componentsConcurrentCollectionsTextualGraph cnc_t TranslatorHabanero Java source filescnc_c Compiler.classFilesJAR builderConcurrent Collections LibraryJava applicationHabaneroJavaSource FilesAbstract classes for all stepsDefinitions for all collectionsGraph definition and initializationHabanero JavaRuntimeLibrary

8Scheduling HJ-CnC9Blocking policyGranularityNon Blocking policyDelayed asyncRollback and ReplayHJ exception handlingSide effect freedomData driven nature

Habanero CnC vs Intel CnC10Step languageJava (or HJ) vs C++SafetyTag types : Immutable vs mutableGraph conformanceRuntime schedulingHJ runtimes vs Intel TBB

HJ-CnC as a domain specific language11Rice-UCLA collaboration on customizable domain specific computingFive year NSF expeditions project to investigate malleable domain specific hardware and softwareDomain is set as medical imaging and hemodynamic modelingHabanero CnC is the language of choice for domain expertsFor further info visit cdsc.ucla.eduResults12

Results13

References14Submitted Technical ReportIPDPS 10Performance Evaluation of Concurrent Collections on High-Performance Multicore Computing Systems (A. Chandramowlishwaran, K. Knobe, R. VuducDamp 09Declarative 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 09Multi-core Implementations of the Concurrent Collections Programming Model (Zoran Budimlic, Aparna Chandramowlishwaran, Kathleen Knobe, Geoff Lowney, Vivek Sarkar, and Leo Treggiari )

Questions and feedback15