A notation for deterministic cooperating processes
- 1 January 1995
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 6 (8) , 863-871
- https://doi.org/10.1109/71.406962
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.Keywords
This publication has 11 references indexed in Scilit:
- A compilation system that integrates High Performance Fortran and Fortran MPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- SISAL 1.2: high-performance applicative computingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Efficient Implementation of high-level parallel programsPublished by Association for Computing Machinery (ACM) ,1991
- PVM: A framework for parallel distributed computingConcurrency: Practice and Experience, 1990
- An empirical comparison of monitoring algorithms for access anomaly detectionPublished by Association for Computing Machinery (ACM) ,1990
- Memory coherence in shared virtual memory systemsACM Transactions on Computer Systems, 1989
- The probe: An addition to communication primitivesInformation Processing Letters, 1985
- Protection in the Hydra Operating SystemPublished by Association for Computing Machinery (ACM) ,1975
- Programming semantics for multiprogrammed computationsCommunications of the ACM, 1966
- Some Properties of ConversionTransactions of the American Mathematical Society, 1936