Using shared arrays in message-driven parallel programs

Phil Miller, Aaron Becker, Laxmikant Kalé

Research output: Contribution to journalArticlepeer-review

Abstract

This paper describes a safe and efficient combination of the object-based message-driven execution and shared array parallel programming models. In particular, we demonstrate how this combination engenders the composition of loosely coupled parallel modules safely accessing a common shared array. That loose coupling enables both better flexibility in parallel execution and greater ease of implementing multi-physics simulations. As a case study, we describe how the parallelization of a new method for molecular dynamics simulation benefits from both of these advantages. We also describe a system of typed handle objects that embed some of the determinacy constraints of the Multiphase Shared Array programming model in the C++ type system, to catch some violations at compile time. The combined programming model communicates in terms of these handles as a natural means of detecting and preventing errors.

Original languageEnglish (US)
Pages (from-to)66-74
Number of pages9
JournalParallel Computing
Volume38
Issue number1-2
DOIs
StatePublished - Jan 2012

Keywords

  • Asynchronous execution
  • Composition
  • Distributed shared arrays
  • Parallel programming models

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Computer Graphics and Computer-Aided Design
  • Artificial Intelligence

Fingerprint Dive into the research topics of 'Using shared arrays in message-driven parallel programs'. Together they form a unique fingerprint.

Cite this