Skip to main content

Proofs of Correctness of Cache-Coherence Protocols

  • Conference paper
  • First Online:
Book cover FME 2001: Formal Methods for Increasing Software Productivity (FME 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2021))

Included in the following conference series:

Abstract

We describe two proofs of correctness for Cachet, an adaptive cache-coherence protocol. Each proof demonstrates soundness (conformance to an abstract cache memory model CRF) and liveness. One proof is manual, based on a term-rewriting system definition; the other is machine-assisted, based on a TLA formulation and using PVS. A two- stage presentation of the protocol simplifies the treatment of soundness, in the design and in the proofs, by separating all liveness concerns. The TLA formulation demands precision about what aspects of the system’s behavior are observable, bringing complication to some parts which were trivial in the manual proof. Handing a completed design over for independent verification is unlikely to be successful: the prover requires detailed insight into the design, and the designer must keep correctness concerns at the forefront of the design process.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Yehuda Afek, Geoffrey Brown, and Michael Merritt. Lazy Caching. ACM Transactions on Programming Languages and Systems, 15(1):182–205, January 1993.

    Article  Google Scholar 

  2. [ADH+99]_Homayoon Akhiani, Damien Doligez, Paul Harter, Leslie Lamport, Joshua Scheid, Mark Tuttle, and Yuan Yu. Cache coherence verification with TLA+. In World Congress on Formal Methods in the Development of Computing Systems, Industrial Panel, Toulouse, France, September 1999.

    Google Scholar 

  3. Sarita V. Adve and Kourosh Gharachorloo. Shared Memory Consistency Models: A Tutorial. IEEE Computer, pages 66–76, December 1996.

    Google Scholar 

  4. James K. Archibald. The Cache Coherence Problem in Shared-Memory Multiprocessors. PhD Dissertation, Department of Computer Science, University of Washington, February 1987.

    Google Scholar 

  5. Geoffrey M. Brown. Asynchronous Multicaches. Distributed Computing, 4:31–36, 1990.

    Article  Google Scholar 

  6. E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic Verification of Finite-State Concurrent Systems using Temporal Logic Specifications. ACM Transactions on Programming Languages and Systems, 8(2):244–263, April 1986.

    Article  MATH  Google Scholar 

  7. Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. Model Checking. MIT Press, 1999.

    Google Scholar 

  8. Anne E. Condon, Mark D. Hill, Manoj Plakal, and Daniel J. Sorin. Using Lamport Clocks to Reason About Relaxed Memory Models. In Proceedings of the 5th International Symposium on High-Performance Computer Architecture, 1999.

    Google Scholar 

  9. Judy Crow, Sam Owre, John Rushby, Natarajan Shankar, and Mandayam Srivas. A tutorial introduction to PVS. Presented at WIFT’ 95: Workshop on Industrial-Strength Formal Specification Techniques, Boca Raton, Florida, April 1995. Available, with specification les, at http://www.csl.sri.com/wift-tutorial.html.

  10. Giorgio Delzanno. Automatic Verification of Parameterized Cache Co-herence Protocols. Technical Report DISI-TR-00-1, DISI, University of Genoa, January 2000. Available at http://www.disi.unige.it/person/DelzannoG/papers.

  11. Formal Systems (Europe) Limited. Fdr2. Web site. See http://www.formal.demon.co.uk/FDR2.html.

  12. Thomas A. Henzinger, Shaz Qadeer, and Sriram K. Rajamani. Verifying Sequential Consistency on Shared-Memory Multiprocessor Systems. In Proceedings of the 11th International Conference on Computer-aided Verification (CAV), pages 301–315. Springer-Verlag, 1999. Lecture Notes in Computer Science 1633.

    Google Scholar 

  13. C.N. Ip and D.L. Dill. Better Verification Through Symmetry. In Proceedings of the 11th International Symposium on Computer Hardware Description Languages and Their Applications, pages 87–100, April 1993.

    Google Scholar 

  14. C.N. Ip and D.L. Dill. Efficient Verification of Symmetric Concurrent Systems. In International Conference on Computer Design: VLSI in Computers and Processors, October 1993.

    Google Scholar 

  15. [KPS93]David R. Kaeli, Nancy K. Perugini, and Janice M. Stone. Literature Survey of Memory Consistency Models. Research Report 18843 (k82385), IBM Research Devision, 1993.

    Google Scholar 

  16. Leslie Lamport. How to write a proof. In Global Analysis in Modern Mathematics, pages 311–321. Publish or Perish, Houston, Texas, U.S.A., February 1993. A symposium in honor of Richard Palais’ sixtieth birthday.

    Google Scholar 

  17. Leslie Lamport. The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, May 1994.

    Article  Google Scholar 

  18. Leslie Lamport. The Module Structure of TLA+. Technical Note 1996-002a, Compaq Systems Research Center, September 1996.

    Google Scholar 

  19. Leslie Lamport. The Operators of TLA+. Technical Note 1997-006a, Compaq Systems Research Center, June 1997.

    Google Scholar 

  20. Ranko Lazic. A Semantic Study of Data Independence with Applications to Model Checking. PhD thesis, Oxford University Computing Laboratory, 1999.

    Google Scholar 

  21. K.L. McMillan. Symbolic Model Checking: An Approach to the State Explosion Problem. PhD Dissertation, Carnegie Mellon University, May 1992.

    Google Scholar 

  22. Fong Pong and Michel Dubois. A New Approach for the Verification of Cache Coherence Protocols. IEEE Transactions on Parallel and Distributed Systems, 6, August 1995.

    Google Scholar 

  23. Seungjoon Park and David L. Dill. Protocol Verification by Aggregation of Distributed Transactions. In International Conference on Computer-Aided Verification, July 1996.

    Google Scholar 

  24. Seungjoon Park and David L. Dill. Verification of FLASH Cache Coherence Protocol by Aggregation of Distributed Transactions. In Proceedings of the 8th ACM Symposium on Parallel Algorithms and Architectures, June 1996.

    Google Scholar 

  25. Fong Pong and Michel Dubois. Formal Verification of Delayed Consistency Protocols. In Proceedings of the 10th International Parallel Processing Symposium, April 1996.

    Google Scholar 

  26. [PNAD95]Fong Pong, Andreas Nowatzyk, Gunes Aybay, and Michel Dubois. Verifying Distributed Directory-based Cache Coherence Protocols: S3.mp, a Case Study. In Proceedings of the European Conference on Parallel Computing, 1995.

    Google Scholar 

  27. Manoj Plakal, Daniel J. Sorin, Anne E. Condon, and Mark D. Hill. Lamport Clocks: Verifying a Directory Cache-Coherence Protocol. In Proceedings of the 10th ACM Symposium on Parallel Algorithms and Architectures, 1998.

    Google Scholar 

  28. A.W. Roscoe. The Theory and Practice of Concurrency. Prentice Hall, 1997.

    Google Scholar 

  29. Xiaowei Shen, Arvind, and Larry Rodolph. CACHET: An Adaptive Cache Coherence Protocol for Distributed Shared-Memory Systems. In Proceedings of the 13th ACM International Conference on Supercomputing, June 1999.

    Google Scholar 

  30. Xiaowei Shen, Arvind, and Larry Rudolph. Commit-Reconcile & Fences (CRF): A New Memory Model for Architects and Compiler Writers. In Proceedings of the 26th International Symposium on Computer Architecture, May 1999.

    Google Scholar 

  31. Ulrich Stern and David L. Dill. Automatic Verification of the SCI Cache Coherence Protocol. In Correct Hardware Design and Verification Methods: IFIP WG10.5 Advanced Research Working Conference Proceedings, 1995.

    Google Scholar 

  32. Xiaowei Shen. Design and Verification of Adaptive Cache Coherence Protocols. PhD thesis, Massachusetts Institute of Technology, February 2000.

    Google Scholar 

  33. Joseph E. Stoy. Web sites concerning Cachet, TLA in PVS, and cache protocol verification using FDR. See http://web.comlab.ox.ac.uk/oucl/work/joe.stoy/.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Stoy, J., Shen, X., Arvind (2001). Proofs of Correctness of Cache-Coherence Protocols. In: Oliveira, J.N., Zave, P. (eds) FME 2001: Formal Methods for Increasing Software Productivity. FME 2001. Lecture Notes in Computer Science, vol 2021. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45251-6_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-45251-6_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41791-0

  • Online ISBN: 978-3-540-45251-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics