The 24th IASTED International Conference on
Parallel and Distributed Computing and Systems
November 12 – 14, 2012
Las Vegas, USA
The Why and How of Productive High-Performance Computing
High-performance computing so far suffers at least from two problems:
- At the architectural level two de-facto standards exist: OpenMP for shared-memory Systems and MPI for distributed architectures. But current systems are often a combination of both architecture types. The hybrid OpenMP/MPI is a beast not manageable by the average programmer.
- Programming interfaces such as MPI exist for two decades, they are however rather low-level and the resulting programming productivity is low. Same as high-level languages for sequential programming have beaten assembly lan-guage, we think it is high time to make the next step for HPC.
In the tutorial we give recommendations towards more productive high-performance computing. As examples, we present high-level Java concurrency concepts for process parallelism and give a hands-on introduction to Chapel, a next-generation PGAS language offering high-level abstractions. Finally we compare the main pro-gramming models used today and present productivity and performance figures from a recent study we have undertaken.
- Understand the shortcomings of today’s HPC solutions.
- Become aware of the challenges of productive HPC programming issues.
- Get hands-on experience for high-level Java and Chapel.
- Compare current solutions with respect to productivity and performance.
Part 1: Current State of HPC and Problems to Overcome (15 min)
Part 2: Java Concurrency and its High-Level Constructs (45 min)
Part 3: The Partitioned Global Address Space Computing Challenge (15 min)
** Break (15 min)
Part 4: Hands-on Introduction to Chapel Language (45 min)
Part 5: How Can we Measure Productivity: The Stencil Example (30 min)
Part 6: Final Remarks; Questions and Answers; Discussion (15 min)
- Handouts of the presentation
- Sources of examples introduced
- Links to relevant public domain software and literature
Qualifications of the Instructor(s)
Helmar Burkhart received a diploma in computer science from the University of Stuttgart, Germany, and a PhD degree and Venia Legendi in computer science from the Swiss Federal Institute of Technology (ETH) Zurich, Switzerland. He is a computer science professor at the University of Basel, Switzerland. His research interests include high performance computing and he has been involved in many HPC software developments and applications. Burkhart has held successful tutorials at previous IASTED conferences and has been chair of PDCN Innsbruck for some time.