Extending Memory Consistency of Finite Prefixes to Infinite Computations

  • Marcelo Glusman
  • Shmuel Katz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2154)


Infinite computations are widely used to model arbitrarily long computations of infinite-state systems. Certain properties have both a finitary version, applying only to finite prefixes of computations, and an infinitary version. It is tempting to verify these properties for finite computations only, and then conclude that the infinitary version of the property holds too. This generalization is sound for safety properties, but to verify non-safety properties “by prefixes”, one must justify the generalization step. This paper studies how this can be done for sequential consistency of shared memory protocols. In the related literature, this generalization is sometimes done informally, if at all. We define, independently of any specific shared memory algorithm, sufficient conditions so that sequential consistency can be verified by finite prefixes. These conditions are expected to be satisfied by any reasonable shared memory system, regardless of the consistency model.


Shared Memory Memory Location Safety Property Address Space Read Operation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Yehuda Afek, Geoffrey Brown, and Michael Merritt. Lazy caching. ACM Transactions on Programming Languages and Systems, 15(1):182–205, January 1993.Google Scholar
  2. 2.
    Hagit Attiya and Jennifer Welch. Distributed Computing. McGraw-Hill Publishing Company, UK., 1998.CrossRefGoogle Scholar
  3. 3.
    Ed Brinksma. Cache consistency by design. Distributed Computing, 12:61–74, 1999.CrossRefGoogle Scholar
  4. 4.
    Rob Gerth. Sequential consistency and the lazy caching algorithm. Distributed Computing, 12:57–59, 1999.CrossRefGoogle Scholar
  5. 5.
    Marcelo Glusman and Shmuel Katz. Mechanizing proofs of computation equivalence. In Proceedings of 11th International Conference on Computer-Aided Verification, CAV’99, volume 1633 of LNCS, pages 354–367. Springer-Verlag, 1999.Google Scholar
  6. 6.
    Susanne Graf. Characterization of a sequentially consistent memory and verification of a cache memory by abstraction. Distributed Computing, 12:75–90, 1999.CrossRefGoogle Scholar
  7. 7.
    Wil Janssen, Mannes Poel, and Job Zwiers. The compositional approach to sequential consistency and lazy caching. Distributed Computing, 12:105–127, 1999.CrossRefGoogle Scholar
  8. 8.
    Bengt Jonsson, Amir Pnueli, and Camilla Rump. Proving refinement using transduction. Distributed Computing, 12:129–149, 1999.CrossRefGoogle Scholar
  9. 9.
    Shmuel Katz. Refinement with global equivalence proofs in temporal logic. In D. Peled, V. Pratt, and G. Holzmann, editors, Partial Order Methods in Verification, pages 59–78. American Mathematical Society, 1997. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 29.Google Scholar
  10. 10.
    Peter Ladkin, Leslie Lamport, Bryan Olivier, and Denis Roegel. Lazy caching in TLA. Distributed Computing, 12:151–174, 1999.CrossRefGoogle Scholar
  11. 11.
    Leslie Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers, C-28(9):690–691, 1979.CrossRefGoogle Scholar
  12. 12.
    Gavin Lowe and Jim Davies. Using CSP to verify sequential consistency. Distributed Computing, 12:91–103, 1999.CrossRefGoogle Scholar
  13. 13.
    Z. Manna and A. Pnueli. A hierarchy of temporal properties. In Proceedings of the 9th ACM Symposium on Principles of Distributed Computing (PODC), pages 377–408, New York, NY, 1990. ACM Press.Google Scholar
  14. 14.
    Shaz Qadeer. On the verification of memory models of shared-memory multiprocessors. In Workshop on Shared Memory Protocol Verification, October 2000.Google Scholar
  15. 15.
    Andrew Tanenbaum. Distributed Operating Systems. Prentice-Hall, Inc., 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Marcelo Glusman
    • 1
  • Shmuel Katz
    • 1
  1. 1.Department of Computer ScienceThe TechnionHaifaIsrael

Personalised recommendations