Skip to Content

Parallel Science and Engineering Applications

The Charm++ Approach

Edited by Laxmikant V. Kale, Abhinav Bhatele

CRC Press – 2014 – 314 pages

Series: Series in Computational Physics

Purchasing Options:

  • Add to CartHardback: $89.95
    978-1-46-650412-7
    October 27th 2013

Description

Developed in the context of science and engineering applications, with each abstraction motivated by and further honed by specific application needs, Charm++ is a production-quality system that runs on almost all parallel computers available. Parallel Science and Engineering Applications: The Charm++ Approach surveys a diverse and scalable collection of science and engineering applications, most of which are used regularly on supercomputers by scientists to further their research.

After a brief introduction to Charm++, the book presents several parallel CSE codes written in the Charm++ model, along with their underlying scientific and numerical formulations, explaining their parallelization strategies and parallel performance. These chapters demonstrate the versatility of Charm++ and its utility for a wide variety of applications, including molecular dynamics, cosmology, quantum chemistry, fracture simulations, agent-based simulations, and weather modeling.

The book is intended for a wide audience of people in academia and industry associated with the field of high performance computing. Application developers and users will find this book interesting as an introduction to Charm++ and to developing parallel applications in an asynchronous message-driven model. It will also be a useful reference for undergraduate and graduate courses in computer science and other engineering disciplines. Courses devoted to parallel programming and writing of parallel CSE applications will benefit from this book.

Reviews

"It succeeds perfectly and combines for the first time both Charm++ and significant application development in a single volume. It will provide a solid foundation for anyone who is considering using the most recent tools for developing applications for future ExascaIe platforms. I highly recommend this timely book for scientists and engineers."

—Horst Simon, Lawrence Berkeley National Laboratory and University of California, Berkeley

Contents

The Charm++ Programming Model

Laxmikant V. Kale and Gengbin Zheng

Design Philosophy

Object-based Programming Model

Capabilities of the Adaptive Runtime System

Extensions to the Basic Model

Charm++ Ecosystem

Other Languages in the Charm++ Family

Historical Notes

Conclusion

Designing Charm++ Programs

Laxmikant V. Kale

Simple Stencil: Using Over-decomposition and Selecting Grainsize

Multi-physics Modules Using Multiple Chare Arrays

SAMR: Chare Arrays with Dynamic insertion and Flexible Indices

Combinatorial Search: Task Parallelism

Other Features and Design Considerations

Utility of Charm++ for Future Applications

Summary

Tools for Debugging and Performance Analysis

Filippo Gioachin, Chee Wai Lee, Jonathan Liffander, Yanhua Sun, and Laxmikant V. Kale

Introduction

Scalable Debugging with CharmDebug

Performance Visualization and Analysis via Projections

Conclusions

Scalable Molecular Dynamics with NAMD

James C. Phillips, Klaus Schulten, Abhinav Bhatele, Chao Mei, Yanhua Sun, Eric Bohm, and Laxmikant V. Kale

Introduction

Need for Biomolecular Simulations

Parallel Molecular Dynamics

NAMD's Parallel Design

Enabling Large Simulations

Scaling Performance

Simulations Enabled by NAMD

Summary

OpenAtom: Ab initio Molecular Dynamics for Petascale Platforms

Glenn J. Martyna, Eric J. Bohm, Ramprasad Venkataraman, Laxmikant V. Kale, and Abhinav Bhatele

Introduction

Car-Parrinello Molecular Dynamics

Parallel Application Design

Charm++ Feature Development

Performance

Impact on Science & Technology

Future Work

N-body Simulations with ChaNGa

Thomas R. Quinn, Pritish Jetley, Laxmikant V. Kale, and Filippo Gioachin

Introduction

Code Design

Accuracy Tests

Performance

Conclusions and Future Work

Remote Visualization of Cosmological Data using Salsa

Orion Sky Lawlor and Thomas R. Quinn

Introduction

Salsa Client/Server Rendering Architecture

Remote Visualization User Interface

Example Use: Galaxy Clusters

Improving Scalability of BRAMS: a Regional Weather Forecast Model

Eduardo R. Rodrigues, Celso L. Mendes, and Jairo Panetta

Introduction

Load Balancing Strategies for Weather Models

The BRAMS Weather Model

Load Balancing Approach

New Load Balancer

Fully Distributed Strategies

Experimental Results

Final Remarks

Crack Propagation Analysis with Automatic Load Balancing

Orion Sky Lawlor, M. Scot Breitenfeld, Philippe H. Geubelle, and Gengbin Zheng

Introduction

Load Balancing Finite Element Codes in Charm++

Cohesive and Elasto-plastic Finite Element Model of Fracture

Conclusions

Contagion Diffusion with EpiSimdemics

Keith R. Bisset, Ashwin M. Aji, Tariq Kamal, Jae-Seung Yeom, Madhav V. Marathe, Eric J. Bohm, and Abhishek Gupta

Introduction

Problem Description

EpiSimdemics Design

EpiSimdemics Algorithm

Charm++ Implementation

Performance of EpiSimdemics

Representative Study

Name: Parallel Science and Engineering Applications: The Charm++ Approach (Hardback)CRC Press 
Description: Edited by Laxmikant V. Kale, Abhinav Bhatele. Developed in the context of science and engineering applications, with each abstraction motivated by and further honed by specific application needs, Charm++ is a production-quality system that runs on almost all parallel computers available. Parallel...
Categories: Computational Physics, Computation, Computational Numerical Analysis