Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor

Published: 01 July 1997 Publication History
  • Get Citation Alerts
  • Abstract

    A multiprocess program executing on a modern multiprocessor must issue explicit commands to synchronize memory accesses. A method is proposed for deriving the necessary commands from a correctness proof of the underlying algorithm in a formalism based on temporal relations among operation executions.

    References

    [1]
    U. Abraham S. Ben-David and M. Magidor, "On Global-Time and Inter-Process Communication," Semantics for Concurrency, M.Z. Kwiatkowska, M. W. Shields, and R.M. Thomas, eds., pp. 311-323. Leicester: Springer-Verlag, 1990.
    [2]
    J.H. Anderson and M.G. Gouda, "Atomic Semantics of Nonatomic Programs," Information Processing Letters, vol. 28, pp. 99-103, June 1988.
    [3]
    F.D. Anger, "On Lamport's Interprocessor Communication Model," ACM Trans. Programming Languages and Systems, vol. 11, no. 3, pp. 404-417, July 1989.
    [4]
    E.A. Ashcroft, "Proving Assertions about Parallel Programs," J. Computer and System Sciences, vol. 10, pp. 110-135, Feb. 1975.
    [5]
    H. Attiya and R. Friedman, "A Correctness Condition for High-Performance Multiprocessors," Proc. 24th Ann. ACM Symp. Theory of Computing, pp. 679-690, 1992.
    [6]
    S. Ben-David, "The Global Time Assumption and Semantics for Concurrent Systems," Proc. Seventh Ann. ACM Symp. Principles of Distributed Computing, pp. 223-232. ACM Press, 1988.
    [7]
    K. Gharachorloo D. Lenoski J. Laudon P. Gibbons A. Gupta and J. Hennessy, "Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors," Proc. Int'l Conf. Computer Architecture, 1990.
    [8]
    P.B. Gibbons M. Merritt and K. Gharachorloo, "Proving Sequential Consistency of High-Performance Shared Memories," Proc. Symp. Parallel Algorithms and Architectures, July 1991. A full version available as an AT&T Bell Laboratories technical report, May 1991.
    [9]
    L. Lamport, "Proving the Correctness of Multiprocess Programs," IEEE Trans. Software Eng., vol. 3, no. 2, pp. 125-143, Mar. 1977.
    [10]
    L. Lamport, "How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs," IEEE Trans. Computers, vol. 28, no. 9, pp. 690-691, Sept. 1979.
    [11]
    L. Lamport, "A New Approach to Proving the Correctness of Multiprocess Programs," ACM Trans. Programming Languages and Systems, vol. 1, no. 1, pp. 84-97, July 1979.
    [12]
    L. Lamport, "The Mutual Exclusion Problem—Part I: A Theory of Interprocess Communication," J. ACM, vol. 33, no. 2, pp. 313-326, Jan. 1985.
    [13]
    L. Lamport, "The Mutual Exclusion Problem—Part II: Statement and Solutions," J. ACM, vol. 32, no. 1, pp. 327-348, Jan. 1985.
    [14]
    L. Lamport, "On Interprocess Communication—Part I: Basic Formalism," Distributed Computing, vol. 1, pp. 77-85, 1986.
    [15]
    L. Lamport, "win and sin: Predicate Transformers for Concurrency," ACM Trans. Programming Languages and Systems, vol. 12, no. 3, pp. 396-428, July 1990.
    [16]
    S. Owicki and D. Gries, "Verifying Properties of Parallel Programs: An Axiomatic Approach," Comm. ACM, vol. 19, no. 5, pp. 279-284, May 1976.
    [17]
    A. Pnueli, "The Temporal Logic of Programs," Proc. 18th Ann. Symp. Foundations of Computer Science, pp. 46-57. IEEE, Nov. 1977.

    Cited By

    View all
    • (2024)Wavefront Threading Enables Effective High-Level SynthesisProceedings of the ACM on Programming Languages10.1145/36564208:PLDI(1066-1090)Online publication date: 20-Jun-2024
    • (2023)Memory Consistency Models for Program Transformations: An Intellectual AbstractProceedings of the 2023 ACM SIGPLAN International Symposium on Memory Management10.1145/3591195.3595274(30-42)Online publication date: 6-Jun-2023
    • (2017)Transactions in relaxed memory architecturesProceedings of the ACM on Programming Languages10.1145/31581062:POPL(1-29)Online publication date: 27-Dec-2017
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image IEEE Transactions on Computers
    IEEE Transactions on Computers  Volume 46, Issue 7
    July 1997
    94 pages
    ISSN:0018-9340
    Issue’s Table of Contents

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 01 July 1997

    Author Tags

    1. Concurrency
    2. memory consistency
    3. multiprocessor
    4. synchronization
    5. verification.

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 09 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Wavefront Threading Enables Effective High-Level SynthesisProceedings of the ACM on Programming Languages10.1145/36564208:PLDI(1066-1090)Online publication date: 20-Jun-2024
    • (2023)Memory Consistency Models for Program Transformations: An Intellectual AbstractProceedings of the 2023 ACM SIGPLAN International Symposium on Memory Management10.1145/3591195.3595274(30-42)Online publication date: 6-Jun-2023
    • (2017)Transactions in relaxed memory architecturesProceedings of the ACM on Programming Languages10.1145/31581062:POPL(1-29)Online publication date: 27-Dec-2017
    • (2017)Effective Verification for Low-Level Software with Competing InterruptsACM Transactions on Embedded Computing Systems10.1145/314743217:2(1-26)Online publication date: 7-Dec-2017
    • (2017)Ogre and Pythia: an invariance proof method for weak consistency modelsACM SIGPLAN Notices10.1145/3093333.300988352:1(3-18)Online publication date: 1-Jan-2017
    • (2017)Ogre and Pythia: an invariance proof method for weak consistency modelsProceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages10.1145/3009837.3009883(3-18)Online publication date: 1-Jan-2017
    • (2017)Don’t Sit on the FenceACM Transactions on Programming Languages and Systems10.1145/299459339:2(1-38)Online publication date: 29-May-2017
    • (2017)Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming LanguagesundefinedOnline publication date: 1-Jan-2017
    • (2015)Verifying LinearisabilityACM Computing Surveys10.1145/279655048:2(1-43)Online publication date: 24-Sep-2015
    • (2015)iThreadsACM SIGARCH Computer Architecture News10.1145/2786763.269437143:1(645-659)Online publication date: 14-Mar-2015
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media