Abstract
A new method is proposed for parameterized reasoning about snoopy cache coherence protocols. The method is distinctive for being exact (sound and complete), fully automatic (algorithmic), and tractably efficient. The states of most cache coherence protocols can be organized into a hierarchy reflecting how tightly a memory block in a given cache state is bound to the processor. A broad framework encompassing snoopy cache coherence protocols is proposed where the hierarchy implicit in the design of protocols is captured as a pre-order. This yields a new solution technique that hinges on the construction of an abstract history graph where a global concrete state is represented by an abstract state reflecting the occupied local states. The abstract graph also takes into account the history of local transitions of the protocol that were fired along the computation to get to the global state. This permits the abstract history graph to exactly capture the behaviour of systems with an arbitrary number of homogeneous processes. Although the worst case size of the abstract history graph can be exponential in the size of the transition diagram describing the protocol, the actual size of the abstract history graph is small for standard cache protocols. The method is applicable to all 8 of the most common snoopy cache protocols described in Handy’s book [19] from Illinois-MESI to Dragon. The experimental results for parameterized verification of each of those 8 protocols document the efficiency of this new method in practice, with each protocol being verified in just a fraction of a second. It is emphasized that this is parameterized verification.
This work was supported in part by NSF grants CCR-009-8141 & CCR-020-5483, and SRC contract 2002-TJ-1026.
Chapter PDF
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
P. Abdulla, K. Cerans, B. Jonsson, Y. K. Tsay. General Decidability Theorems for Infinite State Systems. LICS. 1996.
P. Abdulla, A. Boujjani, B. Jonsson and M. Nilsson. Handling global conditions in parameterized systems verification. CAV 1999.
P. Abdulla and B. Jonsson. On the existence of network invariants for verifying parameterized systems. In Correct System Design-Recent Insights and Advances, 1710, LNCS, pp 180–197, 1999.
K. Apt and D. Kozen. Limits for automatic verification of finite-state concurrent systems. Information Processing Letters, 15, pages 307–309, 1986.
T. Arons, A. Pnueli, S. Ruah, J, Xu and L. Zuck. ParameterizedVerification withAutomatically Computed Inductive Assertions. CAV 2001, LNCS 2102, 2001.
M.C. Browne, E.M. Clarke and O. Grumberg. Reasoning about Networks with Many Identical Finite State Processes. Information and Control, 81(1), pages 13–31, April 1989.
E.M. Clarke, O. Grumberg and S. Jha. Verifying Parameterized Networks using Abstraction and Regular Languages. CONCUR. LNCS 962, pages 395–407, Springer-Verlag, 1995.
D. E. Culler and J. P. Singh. Parallel Computer Architecture:A Hardware/Software Approach. Morgan Kaufmann Publishers, 1998.
G. Delzanno. Automatic Verification of Parameterized Cache Coherence Protocols. CAV 2000, 51–68.
E.A. Emerson and V. Kahlon. This paper, full version. Available at http://www.cs.utexas.edu/users/{emerson,kahlon}/tacas03/
E.A. Emerson and V. Kahlon. Reducing Model Checking of the Many to the Few. CADE-17. LNCS, Springer-Verlag, 2000.
E.A. Emerson and V. Kahlon. Model Checking Large-Scale and Parameterized Resource Allocation Systems. TACAS, 2002.
E.A. Emerson and K.S. Namjoshi. Reasoning about Rings. POPL. pages 85–94, 1995.
E.A. Emerson and K.S. Namjoshi. On Model Checking for Non-Deterministic Infinite-State Systems. LICS 1998.
E.A. Emerson and K.S. Namjoshi. Automatic Verification of Parameterized Synchronous Systems. CAV. LNCS, Springer-Verlag, 1996.
J. Esparza, A Finkel and R. Mayr, On the Verification of Broadcast Protocols. LICS 1999.
A. Finkel and J. Leroux. A finite covering tree for analyzing entropic broadcast protocols. Proc. VCL 2000. Report DSSE-TR-2000-6, Univ. Southampton, GB.
S.M. German and A.P. Sistla. Reasoning about Systems with Many Processes. J. ACM, 39(3), July 1992.
J. Handy. The Cache Memory Book. Academic Press, 1993.
R. P. Kurshan and K. L. McMillan. A Structural Induction Theorem for Processes. PODC. pages 239–247, 1989.
D. Lesens, N. Halbwachs and P. Raymond. Automatic Verification of Parameterized Linear Network of Processes. POPL 1997. pp 346–357, 1997. Parallel Coordination Programs I.Acta Informatica 21, 1984.
M. Maidl. A Unifying Model Checking Approach for Safety Properties of Parameterized Systems. CAV 2001.
K. McAloon. Petri Nets and Large Finite Sets. Theoretical Computer Science 32, pp. 173–183, 1984.
A. Pnueli, S. Ruah and L. Zuck. Automatic Deductive Verification with Invisible Invariants. TACAS 2001, LNCS, 2001.
F. Pong and M. Dubois. A NewApproach for theVerification of Cache Coherence Protocols. IEEE Transactions on Parallel and Distributed Systems, Vol. 6, No. 8, August 1995.
A. P. Sistla, Parameterized Verification of Linear Networks Using Automata as Invariants, CAV, 5.
P. Wolper and V. Lovinfosse. Verifying Properties of Large Sets of Processes with Network Invariants. In J. Sifakis(ed) AutomaticVerification Methods for Finite State Systems, Springer-Verlag, LNCS 407, 1989.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Emerson, E.A., Kahlon, V. (2003). Rapid Parameterized Model Checking of Snoopy Cache Coherence Protocols. In: Garavel, H., Hatcliff, J. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2003. Lecture Notes in Computer Science, vol 2619. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36577-X_11
Download citation
DOI: https://doi.org/10.1007/3-540-36577-X_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00898-9
Online ISBN: 978-3-540-36577-8
eBook Packages: Springer Book Archive