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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Yehuda Afek, Geoffrey Brown, and Michael Merritt. Lazy Caching. ACM Transactions on Programming Languages and Systems, 15(1):182–205, January 1993.
[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.
Sarita V. Adve and Kourosh Gharachorloo. Shared Memory Consistency Models: A Tutorial. IEEE Computer, pages 66–76, December 1996.
James K. Archibald. The Cache Coherence Problem in Shared-Memory Multiprocessors. PhD Dissertation, Department of Computer Science, University of Washington, February 1987.
Geoffrey M. Brown. Asynchronous Multicaches. Distributed Computing, 4:31–36, 1990.
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.
Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. Model Checking. MIT Press, 1999.
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.
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.
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.
Formal Systems (Europe) Limited. Fdr2. Web site. See http://www.formal.demon.co.uk/FDR2.html.
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.
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.
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.
[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.
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.
Leslie Lamport. The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):872–923, May 1994.
Leslie Lamport. The Module Structure of TLA+. Technical Note 1996-002a, Compaq Systems Research Center, September 1996.
Leslie Lamport. The Operators of TLA+. Technical Note 1997-006a, Compaq Systems Research Center, June 1997.
Ranko Lazic. A Semantic Study of Data Independence with Applications to Model Checking. PhD thesis, Oxford University Computing Laboratory, 1999.
K.L. McMillan. Symbolic Model Checking: An Approach to the State Explosion Problem. PhD Dissertation, Carnegie Mellon University, May 1992.
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.
Seungjoon Park and David L. Dill. Protocol Verification by Aggregation of Distributed Transactions. In International Conference on Computer-Aided Verification, July 1996.
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.
Fong Pong and Michel Dubois. Formal Verification of Delayed Consistency Protocols. In Proceedings of the 10th International Parallel Processing Symposium, April 1996.
[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.
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.
A.W. Roscoe. The Theory and Practice of Concurrency. Prentice Hall, 1997.
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.
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.
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.
Xiaowei Shen. Design and Verification of Adaptive Cache Coherence Protocols. PhD thesis, Massachusetts Institute of Technology, February 2000.
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/.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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