Skip to main content
Log in

Verification of Cache Coherence Protocols by Aggregation of Distributed Transactions

  • Published:
Theory of Computing Systems Aims and scope Submit manuscript

Abstract.

This paper presents a method to verify the correctness of protocols and distributed algorithms. The method compares a state graph of the implementation with a specification which is a state graph representing the desired abstract behavior. The steps in the specification correspond to atomic transactions, which are not atomic in the implementation.

The method relies on an aggregation function, which is a type of abstraction function that aggregates the steps of each transaction in the implementation into a single atomic transaction in the specification. The key idea in defining the aggregation function is that it must complete atomic transactions which have committed but are not finished.

This paper illustrates the method on a directory-based cache coherence protocol developed for the Stanford FLASH multiprocessor. The coherence protocol consisting of more than a hundred different kinds of implementation steps has been reduced to a specification with six kinds of atomic transactions. Based on the reduced behavior, it is very easy to prove crucial properties of the protocol including data consistency of cached copies at the user level. This is the first correctness proof verified by a theorem-prover for a cache coherence protocol of this complexity. The aggregation method is also used to prove that the reduced protocol satisfies a desired memory consistency model.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Additional information

Received October 1996, and in final form August 1997.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Park, S., Dill, D. Verification of Cache Coherence Protocols by Aggregation of Distributed Transactions . Theory Comput. Systems 31, 355–376 (1998). https://doi.org/10.1007/s002240000093

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s002240000093

Keywords

Navigation