Eureka! Task Teams! Kyle Wheeler SC 12 Chapel Lightning Talk SAND: P

Size: px
Start display at page:

Download "Eureka! Task Teams! Kyle Wheeler SC 12 Chapel Lightning Talk SAND: P"

Transcription

1 GO Eureka! Task Teams! Kyle Wheeler SC 12 Chapel Lightning Talk Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy s National Nuclear Security Administration under contract DE-AC04-94AL SAND: P

2 Chapel over Qthreads Summary What s Qthreads? Locality- aware lightweight tasking library Highly portable IA32/64, AMD64, PPC32/64, SparcV9+, SST, Tilera, ARM Linux, BSD, Solaris, MacOS X, Cygwin Fine- grained synchroniza[on: FEBs built- in Advanced Locality- aware Scheduler (Sherwood) Chapel on Qthreads? Thin transla[on layer Qthreads environment bolted on the side Separate from GASNet, so that they work together "Chapel" (Pthread) chpl_task_init() chpl_comm_start chpl_task_callmain chpl_exit_all() chpl_comm_stop chpl_task_exit() exit() qthread_init() chpl_main() qthread_finalize Pthread foo() Pthread bar() CHPL_TASKS=qthreads when building 2

3 Progress in 2012 Be8er I/O handling System call & external handling Be8er under ~Be8er mapping from Chapel sync to Qthreads FEBs This talk: Task Teams Eurekas and other Integrated inter- locale layer 3

4 Task Teams Concept Team 0 All tasks belong to a team Team 0 always runs main A task only belongs to one team New tasks can be spawned into: Same team as parent A new team A new team dependent upon the parent team s existence (subteam) An execu@on comprises a forest of team trees Dynamically growing and contrac@ng Tree structure encodes dependence rela@ons Recursive cascading kill of subteam tasks Team 1 Team

5 Constructs that could use teams Exis/ng: Termina[on Detec[on New: forall coforall cobegin sync Team- oriented Reduc[ons submit(); Team- oriented Broadcasts set(); Team- oriented Barriers cobegin { func(1); func(2); func(3); Eurekas Parallel break Recursive escape Algorithm Race Restartable Scopes Resilience err_restart(); 5

6 Eureka Concept Example proc search_inner(var target:int, var n:node):node { if (n.value == target) { eureka; return n; else { begin search_inner(target, n.leftchild); begin search_inner(target, n.rightchild); main search_inner proc search(var target:int, var n:node):node { var f:node; newteam_begin f = search_inner(target, n); var found : node = search(5, bigtree.root); writeln( text of node 5 is: + found.text); 6

7 Eureka Concept Example proc search_inner(var target:int, var n:node):node { if (n.value == target) { eureka; return n; else { begin search_inner(target, n.leftchild); begin search_inner(target, n.rightchild); proc search(var target:int, var n:node):node { var f:node; newteam_begin f = search_inner(target, n); var found : node = search(5, bigtree.root); writeln( text of node 5 is: + found.text); main search_inner New Keywords! (maybe) 6

8 Eureka Concept Example proc search_inner(var target:int, var n:node):node { if (n.value == target) { eureka; return n; else { begin search_inner(target, n.leftchild); begin search_inner(target, n.rightchild); main search_inner proc search(var target:int, var n:node):node { var f:node; newteam_begin f = search_inner(target, n); var found : node = search(5, bigtree.root); writeln( text of node 5 is: + found.text); 6

9 Eureka Concept Example proc search_inner(var target:int, var n:node):node { if (n.value == target) { eureka; return n; else { begin search_inner(target, n.leftchild); begin search_inner(target, n.rightchild); main search_inner proc search(var target:int, var n:node):node { var f:node; newteam_begin f = search_inner(target, n); var found : node = search(5, bigtree.root); writeln( text of node 5 is: + found.text); E! 6

10 Eureka Concept Example proc search_inner(var target:int, var n:node):node { if (n.value == target) { eureka; return n; else { begin search_inner(target, n.leftchild); begin search_inner(target, n.rightchild); main search_inner proc search(var target:int, var n:node):node { var f:node; newteam_begin f = search_inner(target, n); var found : node = search(5, bigtree.root); writeln( text of node 5 is: + found.text); 6

11 Eureka Concept Example proc search_inner(var target:int, var n:node):node { if (n.value == target) { eureka; return n; else { begin search_inner(target, n.leftchild); begin search_inner(target, n.rightchild); main search_inner E! proc search(var target:int, var n:node):node { var f:node; newteam_begin f = search_inner(target, n); E! var found : node = search(5, bigtree.root); writeln( text of node 5 is: + found.text); E! E! 6

12 Current Work: SPR Integrated tasking and Remote task spawn Local task Data movement for interplay across the network Work- stealing and load- balancing Progress support Transparent to the user CHPL_TASKS=spr CHPL_COMM=spr Communication SPR (Qthreads & Portals4) Chapel Memory 7

. Programming in Chapel. Kenjiro Taura. University of Tokyo

. Programming in Chapel. Kenjiro Taura. University of Tokyo .. Programming in Chapel Kenjiro Taura University of Tokyo 1 / 44 Contents. 1 Chapel Chapel overview Minimum introduction to syntax Task Parallelism Locales Data parallel constructs Ranges, domains, and

More information

Primitive Task-Parallel Constructs The begin statement The sync types Structured Task-Parallel Constructs Atomic Transactions and Memory Consistency

Primitive Task-Parallel Constructs The begin statement The sync types Structured Task-Parallel Constructs Atomic Transactions and Memory Consistency Primitive Task-Parallel Constructs The begin statement The sync types Structured Task-Parallel Constructs Atomic Transactions and Memory Consistency Chapel: Task Parallelism 2 Syntax begin-stmt: begin

More information

A Strategy For Exascale Compu5ng

A Strategy For Exascale Compu5ng A Strategy For Exascale Compu5ng Dylan Stark & Kyle Wheeler HPC User Forum 2012 Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary

More information

Task: a unit of parallel work in a Chapel program all Chapel parallelism is implemented using tasks

Task: a unit of parallel work in a Chapel program all Chapel parallelism is implemented using tasks Task: a unit of parallel work in a Chapel program all Chapel parallelism is implemented using tasks main() is the only task when execution begins Thread: a system-level concept that executes tasks not

More information

A Classifica*on of Scien*fic Visualiza*on Algorithms for Massive Threading Kenneth Moreland Berk Geveci Kwan- Liu Ma Robert Maynard

A Classifica*on of Scien*fic Visualiza*on Algorithms for Massive Threading Kenneth Moreland Berk Geveci Kwan- Liu Ma Robert Maynard A Classifica*on of Scien*fic Visualiza*on Algorithms for Massive Threading Kenneth Moreland Berk Geveci Kwan- Liu Ma Robert Maynard Sandia Na*onal Laboratories Kitware, Inc. University of California at Davis

More information

Task: a unit of parallel work in a Chapel program all Chapel parallelism is implemented using tasks

Task: a unit of parallel work in a Chapel program all Chapel parallelism is implemented using tasks Task: a unit of parallel work in a Chapel program all Chapel parallelism is implemented using tasks Thread: a system-level concept for executing tasks not exposed in the language sometimes exposed in the

More information

Op#mizing PGAS overhead in a mul#-locale Chapel implementa#on of CoMD

Op#mizing PGAS overhead in a mul#-locale Chapel implementa#on of CoMD Op#mizing PGAS overhead in a mul#-locale Chapel implementa#on of CoMD Riyaz Haque and David F. Richards This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore

More information

Aras Innovator Active Directory Sync

Aras Innovator Active Directory Sync Photos placed in horizontal position with even amount of white space between photos and header Aras Innovator Active Directory Sync Sandia National Laboratories is a multi-program laboratory managed and

More information

Chapel Introduction and

Chapel Introduction and Lecture 24 Chapel Introduction and Overview of X10 and Fortress John Cavazos Dept of Computer & Information Sciences University of Delaware www.cis.udel.edu/~cavazos/cisc879 But before that Created a simple

More information

Overview: Emerging Parallel Programming Models

Overview: Emerging Parallel Programming Models Overview: Emerging Parallel Programming Models the partitioned global address space paradigm the HPCS initiative; basic idea of PGAS the Chapel language: design principles, task and data parallelism, sum

More information

Brad Chamberlain Cray Inc. March 2011

Brad Chamberlain Cray Inc. March 2011 Brad Chamberlain Cray Inc. March 2011 Approach the topic of mapping Chapel to a new target platform by reviewing some core Chapel concepts describing how Chapel s downward-facing interfaces implement those

More information

Perspectives form US Department of Energy work on parallel programming models for performance portability

Perspectives form US Department of Energy work on parallel programming models for performance portability Perspectives form US Department of Energy work on parallel programming models for performance portability Jeremiah J. Wilke Sandia National Labs Livermore, CA IMPACT workshop at HiPEAC Sandia National

More information

Tools zur Op+mierung eingebe2eter Mul+core- Systeme. Bernhard Bauer

Tools zur Op+mierung eingebe2eter Mul+core- Systeme. Bernhard Bauer Tools zur Op+mierung eingebe2eter Mul+core- Systeme Bernhard Bauer Agenda Mo+va+on So.ware Engineering & Mul5core Think Parallel Models Added Value Tooling Quo Vadis? The Mul5core Era Moore s Law: The

More information

SYNCHRONIZED DATA. Week 9 Laboratory for Concurrent and Distributed Systems Uwe R. Zimmer. Pre-Laboratory Checklist

SYNCHRONIZED DATA. Week 9 Laboratory for Concurrent and Distributed Systems Uwe R. Zimmer. Pre-Laboratory Checklist SYNCHRONIZED DATA Week 9 Laboratory for Concurrent and Distributed Systems Uwe R. Zimmer Pre-Laboratory Checklist vvyou have read this text before you come to your lab session. vvyou understand and can

More information

Exceptions in Chapel

Exceptions in Chapel Exceptions in Chapel Thomas H. Hildebrandt 2011-10-18 Abstract This document provides a design proposal for exceptions in Chapel. It shows how synchronous and asynchronous exceptions can be added to the

More information

Steve Deitz Cray Inc.

Steve Deitz Cray Inc. Steve Deitz Cray Inc. Primitive Task-Parallel Constructs The begin statement The sync types Structured Task-Parallel Constructs Atomic Transactions and Memory Consistency Implementation Notes and Examples

More information

Dax: A Massively Threaded Visualiza5on and Analysis Toolkit for Extreme Scale

Dax: A Massively Threaded Visualiza5on and Analysis Toolkit for Extreme Scale Dax: A Massively Threaded Visualiza5on and Analysis Toolkit for Extreme Scale GPU Technology Conference March 26, 2014 Kenneth Moreland Sandia Na5onal Laboratories Robert Maynard Kitware, Inc. Sandia National

More information

Risk Informed Cyber Security for Nuclear Power Plants

Risk Informed Cyber Security for Nuclear Power Plants Risk Informed Cyber Security for Nuclear Power Plants Phillip L. Turner, Timothy A. Wheeler, Matt Gibson Sandia National Laboratories Electric Power Research Institute Albuquerque, NM USA Charlotte, NC

More information

Integrating Analysis and Computation with Trios Services

Integrating Analysis and Computation with Trios Services October 31, 2012 Integrating Analysis and Computation with Trios Services Approved for Public Release: SAND2012-9323P Ron A. Oldfield Scalable System Software Sandia National Laboratories Albuquerque,

More information

Using Chapel to teach parallel concepts. David Bunde Knox College

Using Chapel to teach parallel concepts. David Bunde Knox College Using Chapel to teach parallel concepts David Bunde Knox College dbunde@knox.edu Acknowledgements Silent partner: Kyle Burke Material drawn from tutorials created with contribudons from Johnathan Ebbers,

More information

Chapel: An Emerging Parallel Programming Language. Brad Chamberlain, Chapel Team, Cray Inc. Emerging Technologies, SC13 November 20 th, 2013

Chapel: An Emerging Parallel Programming Language. Brad Chamberlain, Chapel Team, Cray Inc. Emerging Technologies, SC13 November 20 th, 2013 Chapel: An Emerging Parallel Programming Language Brad Chamberlain, Chapel Team, Cray Inc. Emerging Technologies, SC13 November 20 th, 2013 A Call To Arms Q: Why doesn t HPC have languages as enjoyable

More information

Asynchronous Termination Detection Module User s Guide

Asynchronous Termination Detection Module User s Guide Asynchronous Termination Detection Module User s Guide William McLon III Sandia National Laboratories wcmclen@sandia.gov 1 Introduction Interprocessor communications are performed through point-to-point

More information

SST + MacSim. Case Studies Using SST MacSim. Genie Hsieh Sandia National Labs

SST + MacSim. Case Studies Using SST MacSim. Genie Hsieh Sandia National Labs Photos placed in horizontal position with even amount of white space between photos and header SST + MacSim Case Studies Using SST MacSim Genie Hsieh Sandia National Labs Sandia National Laboratories is

More information

Unclassified Unlimited Release UUR

Unclassified Unlimited Release UUR Shock-hardened Penetrator Data Recorder to Support Hard-Target Fuze Development SAND2016-3004 C 59th Annual NDIA Fuze Conference, Charleston, SC Mike Partridge, Shane Curtis Advanced Fuzing Technologies

More information

Microgrid System Design and Economic Analysis Tools

Microgrid System Design and Economic Analysis Tools Microgrid System Design and Economic Analysis Tools DOE Microgrid Workshop 30 August 2011 Jason Stamp, Ph.D. (Sandia National Laboratories) Michael Clark (Encorp) 1 Sandia National Laboratories is a multi-program

More information

Proliferation Detection Technologies at Sandia National Laboratories

Proliferation Detection Technologies at Sandia National Laboratories Robert D. M. Tachau, PhD, PE Manager, Lab POC: Consortium for Verification Technology tachau@sandia.gov Albuquerque, New Mexico Livermore, California Pantex Plant - Amarillo, Texas Tonopah, Nevada Kauai,

More information

Opera&ng Systems: Principles and Prac&ce. Tom Anderson

Opera&ng Systems: Principles and Prac&ce. Tom Anderson Opera&ng Systems: Principles and Prac&ce Tom Anderson How This Course Fits in the UW CSE Curriculum CSE 333: Systems Programming Project experience in C/C++ How to use the opera&ng system interface CSE

More information

Portability and Scalability of Sparse Tensor Decompositions on CPU/MIC/GPU Architectures

Portability and Scalability of Sparse Tensor Decompositions on CPU/MIC/GPU Architectures Photos placed in horizontal position with even amount of white space between photos and header Portability and Scalability of Sparse Tensor Decompositions on CPU/MIC/GPU Architectures Christopher Forster,

More information

Threads. Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows. 2/13/11 CSE325 - Threads 1

Threads. Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows. 2/13/11 CSE325 - Threads 1 Threads Thread Concept Multithreading Models User & Kernel Threads Pthreads Threads in Solaris, Linux, Windows 2/13/11 CSE325 - Threads 1 Threads The process concept incorporates two abstractions: a virtual

More information

What is DARMA? DARMA is a C++ abstraction layer for asynchronous many-task (AMT) runtimes.

What is DARMA? DARMA is a C++ abstraction layer for asynchronous many-task (AMT) runtimes. DARMA Janine C. Bennett, Jonathan Lifflander, David S. Hollman, Jeremiah Wilke, Hemanth Kolla, Aram Markosyan, Nicole Slattengren, Robert L. Clay (PM) PSAAP-WEST February 22, 2017 Sandia National Laboratories

More information

RaceMob: Crowdsourced Data Race Detec,on

RaceMob: Crowdsourced Data Race Detec,on RaceMob: Crowdsourced Data Race Detec,on Baris Kasikci, Cris,an Zamfir, and George Candea School of Computer & Communica3on Sciences Data Races to shared memory loca,on By mul3ple threads At least one

More information

Short modules for introducing parallel concepts

Short modules for introducing parallel concepts Short modules for introducing parallel concepts David Bunde Knox College Work par

More information

Security Metrics. Mark Torgerson Sandia National Laboratories 6/20/2007. Entry I-108

Security Metrics. Mark Torgerson Sandia National Laboratories 6/20/2007. Entry I-108 Security Metrics Mark Torgerson Sandia National Laboratories 6/20/2007 Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of

More information

Extracting Hidden Messages in Steganographic Images

Extracting Hidden Messages in Steganographic Images DIGITAL FORENSIC RESEARCH CONFERENCE Extracting Hidden Messages in Steganographic Images By Tu-Thach Quach Presented At The Digital Forensic Research Conference DFRWS 2014 USA Denver, CO (Aug 3 rd - 6

More information

Multi-core Architecture and Programming

Multi-core Architecture and Programming Multi-core Architecture and Programming Yang Quansheng( 杨全胜 ) http://www.njyangqs.com School of Computer Science & Engineering 1 http://www.njyangqs.com Process, threads and Parallel Programming Content

More information

Habanero-Java Library: a Java 8 Framework for Multicore Programming

Habanero-Java Library: a Java 8 Framework for Multicore Programming Habanero-Java Library: a Java 8 Framework for Multicore Programming PPPJ 2014 September 25, 2014 Shams Imam, Vivek Sarkar shams@rice.edu, vsarkar@rice.edu Rice University https://wiki.rice.edu/confluence/display/parprog/hj+library

More information

Simple Parallel Biconnectivity Algorithms for Multicore Platforms

Simple Parallel Biconnectivity Algorithms for Multicore Platforms Simple Parallel Biconnectivity Algorithms for Multicore Platforms George M. Slota Kamesh Madduri The Pennsylvania State University HiPC 2014 December 17-20, 2014 Code, presentation available at graphanalysis.info

More information

Sandia National Laboratories Solutions for Aras Innovator

Sandia National Laboratories Solutions for Aras Innovator Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories Solutions for Aras Innovator Sandia National Laboratories is a multi-program

More information

Abstract unit of target architecture Supports reasoning about locality Capable of running tasks and storing variables

Abstract unit of target architecture Supports reasoning about locality Capable of running tasks and storing variables Definition: Abstract unit of target architecture Supports reasoning about locality Capable of running tasks and storing variables i.e., has processors and memory Properties: a locale s tasks have ~uniform

More information

Harnessing GPU speed to accelerate LAMMPS particle simulations

Harnessing GPU speed to accelerate LAMMPS particle simulations Harnessing GPU speed to accelerate LAMMPS particle simulations Paul S. Crozier, W. Michael Brown, Peng Wang pscrozi@sandia.gov, wmbrown@sandia.gov, penwang@nvidia.com SC09, Portland, Oregon November 18,

More information

ACES and Cray Collaborate on Advanced Power Management for Trinity (and beyond)

ACES and Cray Collaborate on Advanced Power Management for Trinity (and beyond) ACES and Cray Collaborate on Advanced Power Management for Trinity (and beyond) Alliance for Computing at Extreme Scale (ACES) Sandia National Laboratories and Los Alamos Laboratory in collaboration with

More information

Lecture 1 Introduc-on

Lecture 1 Introduc-on Lecture 1 Introduc-on What would you get out of this course? Structure of a Compiler Op9miza9on Example 15-745: Introduc9on 1 What Do Compilers Do? 1. Translate one language into another e.g., convert

More information

A Platform for Provisioning Integrated Data and Visualization Capabilities Presented to SATURN in May 2016 Gerry Giese, Sandia National Laboratories

A Platform for Provisioning Integrated Data and Visualization Capabilities Presented to SATURN in May 2016 Gerry Giese, Sandia National Laboratories Photos placed in horizontal position with even amount of white space between photos and header A Platform for Provisioning Integrated Data and Visualization Capabilities Presented to SATURN in May 2016

More information

CSEP 524: Parallel Computa3on (week 4) Brad Chamberlain Tuesdays 6:30 9:20 MGH 231

CSEP 524: Parallel Computa3on (week 4) Brad Chamberlain Tuesdays 6:30 9:20 MGH 231 CSEP 524: Parallel Computa3on (week 4) Brad Chamberlain Tuesdays 6:30 9:20 MGH 231 Pthreads vs. Chapel Categorizing Pthreads and Chapel (Generated Dynamically in- class) C+Pthreads Chapel degree of voodoo

More information

8. Solving Stochastic Programs

8. Solving Stochastic Programs 8. Solving Stochastic Programs Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S.

More information

DEGAS: Dynamic Exascale Global Address Space

DEGAS: Dynamic Exascale Global Address Space DEGAS: Dynamic Exascale Global Address Space Katherine Yelick, LBNL PI Vivek Sarkar & John Mellor-Crummey, Rice James Demmel, Krste Asanoviç & Armando Fox, UC Berkeley Mattan Erez, UT Austin Dan Quinlan,

More information

Implementing Many-Body Potentials for Molecular Dynamics Simulations

Implementing Many-Body Potentials for Molecular Dynamics Simulations Official Use Only Implementing Many-Body Potentials for Molecular Dynamics Simulations Using large scale clusters for higher accuracy simulations. Christian Trott, Aidan Thompson Unclassified, Unlimited

More information

A Reference Architecture for Payload Reusable Software (RAPRS)

A Reference Architecture for Payload Reusable Software (RAPRS) SAND2011-7588 C A Reference Architecture for Payload Reusable Software (RAPRS) 2011 Workshop on Spacecraft Flight Software Richard D. Hunt Sandia National Laboratories P.O. Box 5800 M/S 0513 Albuquerque,

More information

PULP: Fast and Simple Complex Network Partitioning

PULP: Fast and Simple Complex Network Partitioning PULP: Fast and Simple Complex Network Partitioning George Slota #,* Kamesh Madduri # Siva Rajamanickam * # The Pennsylvania State University *Sandia National Laboratories Dagstuhl Seminar 14461 November

More information

MPI & OpenMP Mixed Hybrid Programming

MPI & OpenMP Mixed Hybrid Programming MPI & OpenMP Mixed Hybrid Programming Berk ONAT İTÜ Bilişim Enstitüsü 22 Haziran 2012 Outline Introduc/on Share & Distributed Memory Programming MPI & OpenMP Advantages/Disadvantages MPI vs. OpenMP Why

More information

Adding Lifetime Checking to Chapel Michael Ferguson, Cray Inc. CHIUW 2018 May 25, 2018

Adding Lifetime Checking to Chapel Michael Ferguson, Cray Inc. CHIUW 2018 May 25, 2018 Adding Lifetime Checking to Chapel Michael Ferguson, Cray Inc. CHIUW 2018 May 25, 2018 Safe Harbor Statement This presentation may contain forward-looking statements that are based on our current expectations.

More information

Hobbes: Composi,on and Virtualiza,on as the Founda,ons of an Extreme- Scale OS/R

Hobbes: Composi,on and Virtualiza,on as the Founda,ons of an Extreme- Scale OS/R Hobbes: Composi,on and Virtualiza,on as the Founda,ons of an Extreme- Scale OS/R Ron Brightwell, Ron Oldfield Sandia Na,onal Laboratories Arthur B. Maccabe, David E. Bernholdt Oak Ridge Na,onal Laboratory

More information

PGAS Languages (Par//oned Global Address Space) Marc Snir

PGAS Languages (Par//oned Global Address Space) Marc Snir PGAS Languages (Par//oned Global Address Space) Marc Snir Goal Global address space is more convenient to users: OpenMP programs are simpler than MPI programs Languages such as OpenMP do not provide mechanisms

More information

Towards Resilient Chapel

Towards Resilient Chapel Towards Resilient Chapel Konstantina Panagiotopoulou Hans-Wolfgang Loidl [kp167 1, H.W.Loidl 2 ] @hw.ac.uk Heriot-Watt University EASC 2015 21st - 23rd April 2015, Edinburgh Overview 1 The Need for Resilience

More information

Synchroniza+on II COMS W4118

Synchroniza+on II COMS W4118 Synchroniza+on II COMS W4118 References: Opera+ng Systems Concepts (9e), Linux Kernel Development, previous W4118s Copyright no2ce: care has been taken to use only those web images deemed by the instructor

More information

Chapel: An Emerging Parallel Programming Language. Thomas Van Doren, Chapel Team, Cray Inc. Northwest C++ Users Group April 16 th, 2014

Chapel: An Emerging Parallel Programming Language. Thomas Van Doren, Chapel Team, Cray Inc. Northwest C++ Users Group April 16 th, 2014 Chapel: An Emerging Parallel Programming Language Thomas Van Doren, Chapel Team, Cray Inc. Northwest C Users Group April 16 th, 2014 My Employer: 2 Parallel Challenges Square-Kilometer Array Photo: www.phy.cam.ac.uk

More information

Performance Optimizations Chapel Team, Cray Inc. Chapel version 1.14 October 6, 2016

Performance Optimizations Chapel Team, Cray Inc. Chapel version 1.14 October 6, 2016 Performance Optimizations Chapel Team, Cray Inc. Chapel version 1.14 October 6, 2016 Safe Harbor Statement This presentation may contain forward-looking statements that are based on our current expectations.

More information

The Legion Mapping Interface

The Legion Mapping Interface The Legion Mapping Interface Mike Bauer 1 Philosophy Decouple specification from mapping Performance portability Expose all mapping (perf) decisions to Legion user Guessing is bad! Don t want to fight

More information

Cyber Security for Renewable Energy Systems

Cyber Security for Renewable Energy Systems Cyber Security for Renewable Energy Systems Asia Pacific Clean Energy Summit August 31, 2010 Juan J. Torres Manager, Energy Systems Analysis Sandia National Laboratories jjtorre@sandia.gov Sandia is a

More information

Hashing Strategies for the Cray XMT MTAAP 2010

Hashing Strategies for the Cray XMT MTAAP 2010 Hashing Strategies for the Cray XMT MTAAP 2010 Eric Goodman (SNL) David Haglin (PNNL) Chad Scherrer (PNNL) Daniel Chavarría-Miranda (PNNL) Jace Mogill (PNNL) John Feo (PNNL) Sandia is a multiprogram laboratory

More information

Chap. 6 Part 3. CIS*3090 Fall Fall 2016 CIS*3090 Parallel Programming 1

Chap. 6 Part 3. CIS*3090 Fall Fall 2016 CIS*3090 Parallel Programming 1 Chap. 6 Part 3 CIS*3090 Fall 2016 Fall 2016 CIS*3090 Parallel Programming 1 OpenMP popular for decade Compiler-based technique Start with plain old C, C++, or Fortran Insert #pragmas into source file You

More information

Principles of Programming Languages

Principles of Programming Languages Principles of Programming Languages h"p://www.di.unipi.it/~andrea/dida2ca/plp- 14/ Prof. Andrea Corradini Department of Computer Science, Pisa Lesson 18! Bootstrapping Names in programming languages Binding

More information

CSE Opera,ng System Principles

CSE Opera,ng System Principles CSE 30341 Opera,ng System Principles Lecture 5 Processes / Threads Recap Processes What is a process? What is in a process control bloc? Contrast stac, heap, data, text. What are process states? Which

More information

C-LANGUAGE CURRICULAM

C-LANGUAGE CURRICULAM C-LANGUAGE CURRICULAM Duration: 2 Months. 1. Introducing C 1.1 History of C Origin Standardization C-Based Languages 1.2 Strengths and Weaknesses Of C Strengths Weaknesses Effective Use of C 2. C Fundamentals

More information

New Challenges In Dynamic Load Balancing

New Challenges In Dynamic Load Balancing New Challenges In Dynamic Load Balancing Karen D. Devine, et al. Presentation by Nam Ma & J. Anthony Toghia What is load balancing? Assignment of work to processors Goal: maximize parallel performance

More information

Xen and the Art of Virtualiza2on

Xen and the Art of Virtualiza2on Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian PraF, Andrew Warfield University of Cambridge Computer Laboratory Kyle SchuF CS 5204 Virtualiza2on Abstrac2on

More information

Oh, Exascale! The effect of emerging architectures on scien1fic discovery. Kenneth Moreland, Sandia Na1onal Laboratories

Oh, Exascale! The effect of emerging architectures on scien1fic discovery. Kenneth Moreland, Sandia Na1onal Laboratories Photos placed in horizontal posi1on with even amount of white space between photos and header Oh, $#*@! Exascale! The effect of emerging architectures on scien1fic discovery Ultrascale Visualiza1on Workshop,

More information

Simulation of Workflow and Threat Characteristics for Cyber Security Incident Response Teams

Simulation of Workflow and Threat Characteristics for Cyber Security Incident Response Teams Simulation of Workflow and Threat Characteristics for Cyber Security Incident Response Teams Theodore Reed, Robert G. Abbott, Benjamin Anderson, Kevin Nauer & Chris Forsythe Sandia National Laboratories

More information

UPCRC. Illiac. Gigascale System Research Center. Petascale computing. Cloud Computing Testbed (CCT) 2

UPCRC. Illiac. Gigascale System Research Center. Petascale computing. Cloud Computing Testbed (CCT) 2 Illiac UPCRC Petascale computing Gigascale System Research Center Cloud Computing Testbed (CCT) 2 www.parallel.illinois.edu Mul2 Core: All Computers Are Now Parallel We con'nue to have more transistors

More information

Developing Integrated Data Services for Cray Systems with a Gemini Interconnect

Developing Integrated Data Services for Cray Systems with a Gemini Interconnect Developing Integrated Data Services for Cray Systems with a Gemini Interconnect Ron A. Oldfield Scalable System So4ware Sandia Na9onal Laboratories Albuquerque, NM, USA raoldfi@sandia.gov Cray User Group

More information

Recap. Practical Compiling for Modern Machines (Special Topics in Programming Languages)

Recap. Practical Compiling for Modern Machines (Special Topics in Programming Languages) Recap Practical Compiling for Modern Machines (Special Topics in Programming Languages) Why Compiling? Other reasons: Performance Performance Performance correctness checking language translation hardware

More information

Git Propaganda. for Centralized Version Control Flunkies

Git Propaganda. for Centralized Version Control Flunkies for Centralized Version Control Flunkies Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy's National Nuclear Security

More information

Distributed Energy Resource (DER) Cyber Security Working Group

Distributed Energy Resource (DER) Cyber Security Working Group Distributed Energy Resource (DER) Cyber Security Working Group Kickoff Meeting, 24 Aug 2017 Dr. Kemal Celik, U.S. Department of Energy Jay Johnson, Sandia National Laboratories Cedric Carter, Sandia National

More information

Verifica(on of Concurrent Programs

Verifica(on of Concurrent Programs Verifica(on of Concurrent Programs Parker Aldric Mar With special thanks to: Azadeh Farzan and Zachary Kincaid Research Field: Program Verifica(on Goal is to program code that is safe, i.e. code that produces

More information

Atomic Transactions in Cilk Project Presentation 12/1/03

Atomic Transactions in Cilk Project Presentation 12/1/03 Atomic Transactions in Cilk 6.895 Project Presentation 12/1/03 Data Races and Nondeterminism int x = 0; 1: read x 1: write x time cilk void increment() { x = x + 1; cilk int main() { spawn increment();

More information

COMP 110/L Lecture 10. Kyle Dewey

COMP 110/L Lecture 10. Kyle Dewey COMP 110/L Lecture 10 Kyle Dewey switch Outline switch Problem if is verbose when checking many conditions. Problem if is verbose when checking many conditions. if (x == 5) { return foo ; else if (x ==

More information

Using the Cray Gemini Performance Counters

Using the Cray Gemini Performance Counters Photos placed in horizontal position with even amount of white space between photos and header Using the Cray Gemini Performance Counters 0 1 2 3 4 5 6 7 Backplane Backplane 8 9 10 11 12 13 14 15 Backplane

More information

Massively Parallel Graph Analytics

Massively Parallel Graph Analytics Massively Parallel Graph Analytics Manycore graph processing, distributed graph layout, and supercomputing for graph analytics George M. Slota 1,2,3 Kamesh Madduri 2 Sivasankaran Rajamanickam 1 1 Sandia

More information

Qualita've DNS Measurement Perspec'ves

Qualita've DNS Measurement Perspec'ves Qualita've DNS Measurement Perspec'ves Casey Deccio Sandia Na/onal Laboratories ISC/CAIDA Data Collabora/on Workshop Oct 22, 2012 Sandia National Laboratories is a multi-program laboratory managed and

More information

Experience with CGL in the PICO Mixed- Integer Programming Solver

Experience with CGL in the PICO Mixed- Integer Programming Solver Experience with CGL in the PICO Mixed- Integer Programming Solver Cynthia A. Phillips, Sandia National Laboratories Joint work with Jonathan Eckstein, Rutgers William Hart, Sandia Sandia is a multiprogram

More information

Chapel Team: Brad Chamberlain, Sung-Eun Choi, Tom Hildebrandt, Vass Litvinov, Greg Titus Benchmarks: John Lewis, Kristi Maschhoff, Jonathan Claridge

Chapel Team: Brad Chamberlain, Sung-Eun Choi, Tom Hildebrandt, Vass Litvinov, Greg Titus Benchmarks: John Lewis, Kristi Maschhoff, Jonathan Claridge Chapel Team: Brad Chamberlain, Sung-Eun Choi, Tom Hildebrandt, Vass Litvinov, Greg Titus Benchmarks: John Lewis, Kristi Maschhoff, Jonathan Claridge SC11: November 15 th, 2011 A new parallel programming

More information

Developing a high- resolu1on coupled regional climate model for the tropical Atlan1c region

Developing a high- resolu1on coupled regional climate model for the tropical Atlan1c region Developing a high- resolu1on coupled regional climate model for the tropical Atlan1c region Raffaele Montuoro Supercompu1ng Facility, Texas A&M University Ping Chang, R. Saravanan Depts. of Oceanography

More information

Techniques to improve the scalability of Checkpoint-Restart

Techniques to improve the scalability of Checkpoint-Restart Techniques to improve the scalability of Checkpoint-Restart Bogdan Nicolae Exascale Systems Group IBM Research Ireland 1 Outline A few words about the lab and team Challenges of Exascale A case for Checkpoint-Restart

More information

Lecture 16: Recapitulations. Lecture 16: Recapitulations p. 1

Lecture 16: Recapitulations. Lecture 16: Recapitulations p. 1 Lecture 16: Recapitulations Lecture 16: Recapitulations p. 1 Parallel computing and programming in general Parallel computing a form of parallel processing by utilizing multiple computing units concurrently

More information

Multithreaded Programming in Cilk. Matteo Frigo

Multithreaded Programming in Cilk. Matteo Frigo Multithreaded Programming in Cilk Matteo Frigo Multicore challanges Development time: Will you get your product out in time? Where will you find enough parallel-programming talent? Will you be forced to

More information

4. Concurrency via Threads

4. Concurrency via Threads CSC400 - Operating Systems 4. Concurrency via Threads J. Sumey Overview Multithreading Concept Background Implementations Thread States & Thread Switching Thread Operations Case Study: pthreads CSC400

More information

Threading and Synchronization. Fahd Albinali

Threading and Synchronization. Fahd Albinali Threading and Synchronization Fahd Albinali Parallelism Parallelism and Pseudoparallelism Why parallelize? Finding parallelism Advantages: better load balancing, better scalability Disadvantages: process/thread

More information

POSIX Threads: a first step toward parallel programming. George Bosilca

POSIX Threads: a first step toward parallel programming. George Bosilca POSIX Threads: a first step toward parallel programming George Bosilca bosilca@icl.utk.edu Process vs. Thread A process is a collection of virtual memory space, code, data, and system resources. A thread

More information

Processes & Threads. Recap of the Last Class. Microkernel System Architecture. Layered Structure

Processes & Threads. Recap of the Last Class. Microkernel System Architecture. Layered Structure Recap of the Last Class Processes & Threads CS 256/456 Dept. of Computer Science, University of Rochester Hardware protection kernel and user mode System components process management, memory management,

More information

Victor Malyshkin (Ed.) Malyshkin (Ed.) 13th International Conference, PaCT 2015 Petrozavodsk, Russia, August 31 September 4, 2015 Proceedings

Victor Malyshkin (Ed.) Malyshkin (Ed.) 13th International Conference, PaCT 2015 Petrozavodsk, Russia, August 31 September 4, 2015 Proceedings Victor Malyshkin (Ed.) Lecture Notes in Computer Science The LNCS series reports state-of-the-art results in computer science re search, development, and education, at a high level and in both printed

More information

Extreme-scale Graph Analysis on Blue Waters

Extreme-scale Graph Analysis on Blue Waters Extreme-scale Graph Analysis on Blue Waters 2016 Blue Waters Symposium George M. Slota 1,2, Siva Rajamanickam 1, Kamesh Madduri 2, Karen Devine 1 1 Sandia National Laboratories a 2 The Pennsylvania State

More information

Preconditioning Linear Systems Arising from Graph Laplacians of Complex Networks

Preconditioning Linear Systems Arising from Graph Laplacians of Complex Networks Preconditioning Linear Systems Arising from Graph Laplacians of Complex Networks Kevin Deweese 1 Erik Boman 2 1 Department of Computer Science University of California, Santa Barbara 2 Scalable Algorithms

More information

Parallel Programming with OpenMP. CS240A, T. Yang

Parallel Programming with OpenMP. CS240A, T. Yang Parallel Programming with OpenMP CS240A, T. Yang 1 A Programmer s View of OpenMP What is OpenMP? Open specification for Multi-Processing Standard API for defining multi-threaded shared-memory programs

More information

Processes and Threads

Processes and Threads Processes and Threads Giuseppe Anastasi g.anastasi@iet.unipi.it Pervasive Computing & Networking Lab. () Dept. of Information Engineering, University of Pisa Based on original slides by Silberschatz, Galvin

More information

Addressing the System So0ware Challenges for Converged Simula8on and Analysis on Extreme- Scale Systems

Addressing the System So0ware Challenges for Converged Simula8on and Analysis on Extreme- Scale Systems Addressing the System So0ware Challenges for Converged Simula8on and Analysis on Extreme- Scale Systems Ron Brightwell, R&D Manager Scalable System So9ware Department Sandia National Laboratories is a

More information

A One-Sided View of HPC: Global-View Models and Portable Runtime Systems

A One-Sided View of HPC: Global-View Models and Portable Runtime Systems A One-Sided View of HPC: Global-View Models and Portable Runtime Systems James Dinan James Wallace Gives Postdoctoral Fellow Argonne Na9onal Laboratory Why Global-View? Proc 0 Proc 1 Proc n Global address

More information

Op#mizing MapReduce for Highly- Distributed Environments

Op#mizing MapReduce for Highly- Distributed Environments Op#mizing MapReduce for Highly- Distributed Environments Abhishek Chandra Associate Professor Department of Computer Science and Engineering University of Minnesota hep://www.cs.umn.edu/~chandra 1 Big

More information

CHAPTER 2: PROCESS MANAGEMENT

CHAPTER 2: PROCESS MANAGEMENT 1 CHAPTER 2: PROCESS MANAGEMENT Slides by: Ms. Shree Jaswal TOPICS TO BE COVERED Process description: Process, Process States, Process Control Block (PCB), Threads, Thread management. Process Scheduling:

More information

Designing a Domain-specific Language to Simulate Particles. dan bailey

Designing a Domain-specific Language to Simulate Particles. dan bailey Designing a Domain-specific Language to Simulate Particles dan bailey Double Negative Largest Visual Effects studio in Europe Offices in London and Singapore Large and growing R & D team Squirt Fluid Solver

More information

Fault Tolerant Runtime ANL. Wesley Bland Joint Lab for Petascale Compu9ng Workshop November 26, 2013

Fault Tolerant Runtime ANL. Wesley Bland Joint Lab for Petascale Compu9ng Workshop November 26, 2013 Fault Tolerant Runtime Research @ ANL Wesley Bland Joint Lab for Petascale Compu9ng Workshop November 26, 2013 Brief History of FT Checkpoint/Restart (C/R) has been around for quite a while Guards against

More information