A new approach for the verification of cache coherence protocols
- 1 August 1995
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 6 (8) , 773-787
- https://doi.org/10.1109/71.406955
Abstract
We introduce a cache protocol verification technique based on a symbolic state expansion procedure. A global Finite State Machine (FSM) model characterizing the protocol behavior is built and protocol verification becomes equivalent to finding whether or not the global FSM may enter erroneous states. In order to reduce the complexity of the state expansion process, all the caches in the same state are grouped into an equivalence class and the number of caches in the class is symbolically represented by a repetition constructor. This symbolic representation is partly justified by the symmetry and homogeneity of cache-based systems. However, the key idea behind the representation is to exploit a unique property of cache coherence protocols: the fact that protocol correctness is not dependent on the exact number of cached copies. Rather, symbolic states only need to keep track of whether the caches have 0, 1, or multiple copies. The resulting symbolic state expansion process only takes a few steps and verifies the protocol for any system size. Therefore, it is more efficient and reliable than current approaches. The verification procedure is first applied to the verification of five existing protocols under the assumption of atomic protocol transitions. A simple snooping protocol on a split-transaction shared bus is also verified to illustrate the extension of our approach to protocols with nonatomic transitions.Keywords
This publication has 18 references indexed in Scilit:
- Proving circuit correctness using formal comparison between expected and extracted behaviourPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- An Integrated Methodology for the Verification of Directory-Based Cache ProtocolsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1994
- An acyclic expansion algorithm for fast protocol validationIEEE Transactions on Software Engineering, 1988
- Cache coherence protocols: evaluation using a multiprocessor simulation modelACM Transactions on Computer Systems, 1986
- Graph-Based Algorithms for Boolean Function ManipulationIEEE Transactions on Computers, 1986
- Automatic verification of finite-state concurrent systems using temporal logic specificationsACM Transactions on Programming Languages and Systems, 1986
- Dynamic decentralized cache schemes for mimd parallel processorsPublished by Association for Computing Machinery (ACM) ,1984
- A low-overhead coherence solution for multiprocessors with private cache memoriesACM SIGARCH Computer Architecture News, 1984
- Formal Methods in Communication Protocol DesignIEEE Transactions on Communications, 1980
- A New Solution to Coherence Problems in Multicache SystemsIEEE Transactions on Computers, 1978