Toward a formal semantic framework for deterministic parallel programming

  • Authors:
  • Li Lu;Michael L. Scott

  • Affiliations:
  • Computer Science Department, University of Rochester, Rochester, NY;Computer Science Department, University of Rochester, Rochester, NY

  • Venue:
  • DISC'11 Proceedings of the 25th international conference on Distributed computing
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Deterministic parallelism has become an increasingly attractive concept: a deterministic parallel program may be easier to construct, debug, understand, and maintain. However, there exist many different definitions of "determinism" for parallel programming. Many existing definitions have not yet been fully formalized, and the relationships among these definitions are still unclear. We argue that formalism is needed, and that history-based semantics--as used, for example, to define the Java and C++ memory models--provides a useful lens through which to view the notion of determinism. As a first step, we suggest several historybased definitions of determinism. We discuss some of their comparative advantages, prove containment relationships among them, and identify programming idioms that ensure them. We also propose directions for future work.