Parallel Programs with Shared Variables
Disjoint parallelism is a rather restricted form of concurrency. In applications, concurrently operating components often share resources, such as a common data base, a line printer or a data bus. Sharing is necessary when resources are too costly to have one copy for each component, as in the case of a large data base. Sharing is also useful to establish communication between different components, as in the case of a data bus. This form of concurrency can be modeled by means of parallel programs with shared variables, variables that can be changed and read by several components.
KeywordsAuxiliary Variable Parallel Program Shared Variable Proof System Parallel Composition
Unable to display preview. Download preview PDF.
- [ABO90]K.R. Apt, F.S. de Boer, and E.-R. Olderog. Proving termination of parallel programs. In W.H.J. Feijen, A.J.M. van Gasteren, D. Gries, and J. Misra, editors, Beauty is our Business, A Birthday Salute to Edsger W. Dijkstra, pages 0–6, New York, 1990. Springer-Verlag.Google Scholar
- [Bak89]R.J.R. Back. A method for refining atomicity in parallel algorithms. In PARLE Conference on Parallel Architectures and Languages Europe,pages 199–216, New York, 1989. Lecture Notes in Computer Science 366, Springer-Verlag.Google Scholar
- [FS78]L. Flon and N. Suzuki. Nondeterminism and the correctness of parallel programs In E.J. Neuhold, editor, Formal Description of Programming Concepts, pages 598–608, Amsterdam, 1978. North-Holland.Google Scholar
- [FS81]L. Flon and N. Suzuki. The total correctness of parallel programs. SIAM Journal on Computing, pages 227–246, 1981.Google Scholar
- [Kna90]E. Knapp. Derivation of parallel programs. two examples. 1990. Note.Google Scholar
- [Owi78]S. Owicki. Verifying concurrent programs with shared data classes. In E.J. Neuhold, editor, Proceedings of the IFIP Working Conference on Formal Description of Programming Concepts, pages 279–298. North-Holland, 1978.Google Scholar