skip to main content
10.1145/378580.378604acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
Article

Automatable verification of sequential consistency

Published: 03 July 2001 Publication History

Abstract

Sequential consistency is a multiprocessor memory model of both practical and theoretical importance. Designing and implementing a memory system that efficiently provides a given memory model is a challenging and error-prone task, so automated verification support would be invaluable. Unfortunately, the general problem of deciding whether a finite-state protocol implements sequential consistency is undecidable. In this paper, we identify a restricted class of protocols for which verifying sequential consistency is decidable. The class includes all published sequentially consistent protocols that are known to us, and we argue why the class is likely to include all real sequentially consistent protocols. In principle, our method can be applied in a completely automated fashion for verification of all implemented protocols.

References

[1]
Sarita V. Adve and Kourosh Gharachorloo. Shared memory consistency models: A tutorial. IEEE Computer, pages 66-76, December 1996.]]
[2]
Yehuda Afek, Geoffrey Brown, and Michael Merritt. Lazy caching. ACM Transactions on Programming Languages and Systems, 15(1), January 1993.]]
[3]
Rajeev Alur, Ken McMillan, and Doron Peled. Model-checking of correctness conditions for concurrent objects. In Eleventh Symposium on Logic in Computer Science, pages 219-228. IEEE, 1996.]]
[4]
Tim Braun, Anne E. Condon, Alan J. Hu, Kai S. Juse, Marius Laza, Michael Leslie, and Rita Sharma. Proving sequential consistency by modelchecking. Technical Report TR-2001-03, Department of Computer Science, University of British Columbia, April 2001.]]
[5]
Edmund M. Clarke and E. Allen Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Dexter Kozen, editor, Workshop on Logics of Programs, pages 52-71, May 1981. Published 1982 as Lecture Notes in Computer Science Number 131.]]
[6]
Phillip B. Gibbons and Ephraim Korach. Testing shared memories. SIAM Journal on Computing, 26(4):1208-1244, August 1997.]]
[7]
Thomas A. Henzinger, Shaz Qadeer, and Sriram K. Rajamani. Verifying sequential consistency on shared-memory multiprocessor systems. In Computer-Aided Verification: 11th International Conference, pages 301-315. Springer, 1999. Lecture Notes in Computer Science Vol. 1633.]]
[8]
Mark D. Hill. Multiprocessors should support simple memory-consistency models. IEEE Computer, pages 28-34, August 1998.]]
[9]
Leslie Lamport. How to make amultiprocessor computer that correctly executes multiprocess programs. ACM Transactions on Computer, 28(9):690-691, September 1979.]]
[10]
Marius Laza, Rita Sharma, Anne Condon, and Alan J. Hu. Protocols for which proving sequential consistency is easy. In Workshop on Formal Specification and Verification Methods for Shared Memory Systems. Unpublished Proceedings, October 31, 2000. Workshop affiliated with FMCAD 2000, Austin, TX.]]
[11]
Ratan Nalumasu, Rajnish Ghughal, Abdel Mokkedem, and Ganesh Gopalakrishnan. The 'test model-checking' approach to the verification of formal memory models of multiprocessors. In Computer-Aided Verification: 10th International Conference, pages 464-476. Springer, 1998. Lecture Notes in Computer Science Vol. 1427.]]
[12]
M. Plakal, D. Sorin, A. Condon, and M. Hill. Lamport Clocks: Verifying a directory cache coherence protocol. In Symposium on Parallel Algorithms and Architectures, pages 67-76, 1998.]]
[13]
Shaz Qadeer. On the verification of memory models of shared-memory multiprocessors. In Workshop on Formal Specification and Verification Methods for Shared Memory Systems. Unpublished Proceedings, October 31, 2000. Workshop affiliated with FMCAD 2000, Austin, TX.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '01: Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
July 2001
340 pages
ISBN:1581134096
DOI:10.1145/378580
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 July 2001

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. memory model
  2. model checking
  3. sequential consistency

Qualifiers

  • Article

Conference

SPAA01

Acceptance Rates

SPAA '01 Paper Acceptance Rate 34 of 93 submissions, 37%;
Overall Acceptance Rate 447 of 1,461 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media