Parallel programming must be deterministic by default

  • Authors:
  • Robert L. Bocchino, Jr.;Vikram S. Adve;Sarita V. Adve;Marc Snir

  • Affiliations:
  • University of Illinois at Urbana-Champaign;University of Illinois at Urbana-Champaign;University of Illinois at Urbana-Champaign;University of Illinois at Urbana-Champaign

  • Venue:
  • HotPar'09 Proceedings of the First USENIX conference on Hot topics in parallelism
  • Year:
  • 2009

Quantified Score

Hi-index 0.02

Visualization

Abstract

In today's widely used parallel programming models, subtle programming errors can lead to unintended nondeterministic behavior and hard to catch bugs. In contrast, we argue for a parallel programming model that is deterministic by default: deterministic behavior is guaranteed unless the programmer explicitly uses nondeterministic constructs. This goal is particularly challenging for modern object-oriented languages with expressive use of reference aliasing and updates to shared mutable state. We propose a broad research agenda in support of this goal, and we describe some of our own work to further that agenda.