A Notation for Deterministic Cooperating Processes

  • Authors:
  • K. Mani Chandy;Ian Foster

  • Affiliations:
  • -;-

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes extensions of sequential programming languages for parallel programming that have the following features:Dynamic Structures: The process structure is dynamic. Processes and variables can be created and deleted.Paradigm Integration: The programming notation supports shared memory and message passing models.Determinism: Demonstrating that a program is deterministic_all executions with the same input produce the same output驴is straightforward. Programs can be written so that compilers can verify that the programs are deterministic. Nondeterministic constructs can be introduced in a sequence of refinement steps to obtain greater efficiency if required.The ideas have been incorporated in an extension of Fortran, but the underlying sequential imperative language is not central to the ideas described here. A compiler for the Fortran extension, called Fortran M, is available by anonymous ftp from Argonne National Laboratory. Fortran M has been used for a variety of parallel applications.