Abstract
We propose a new method for the verification of parameterized cache coherence protocols. Cache coherence protocols are used to maintain data consistency in multiprocessor systems equipped with local fast caches. In our approach we use arithmetic constraints to model possibly infinite sets of global states of a multiprocessor system with many identical caches. In preliminary experiments using symbolic model checkers for infinite-state systems based on real arithmetics (HyTech [HHW97] and DMC [DP99])) we have automatically verified safety properties for parameterized versions of widely implemented write-invalidate and write-update cache coherence policies like the Mesi, Berkeley, Illinois, Firefly and Dragon protocols [Han93]. With this application, we show that symbolic model checking tools originally designed for hybrid and concurrent systems can be applied successfully to a new class of infinite-state systems of practical interest.
Chapter PDF
Similar content being viewed by others
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
Abdulla, P.A., Cerāns, K., Jonsson, B., Tsay, Y.-K.: General Decidability Theorems for Infinite-State Systems. In: Proc. 10th IEEE Int. Symp. on Logic in Computer Science, pp. 313–321 (1996)
Abdulla, P.A., Bouajjani, A., Jonsson, B., Nilsson, M.: Handling Global Conditions in Parameterized System Verification. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 134–145. Springer, Heidelberg (1999)
Abdulla, P.A., Jonsson, B.: Ensuring Completeness of Symbolic Verification Methods for Infinite-State Systems. To appear in Theoretical Computer Science (1999)
Archibald, P.A., Baer, J.: Cache Coherence Protocols: Evaluation Using a Multiprocessor Simulation Model. ACM Transactions on Computer Systems 4(4), 273–298 (1986)
Bultan, T., Gerber, R., Pugh, W.: Symbolic Model Checking of Infinitestate Systems using Presburger Arithmetics. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 400–411. Springer, Heidelberg (1997)
Boigelot, B., Wolper, P.: Verifying Systems with Infinite but Regular State Space. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 88–97. Springer, Heidelberg (1998)
Browne, M.C., Clarke, E.M., Grumberg, O.: Reasoning about Networks with Many Identical Finite State Processes. Information and Computation 81(1), 13–31 (1989)
Cheng, K.-T., Krishnakumar, A.S.: Automatic Generation of Functional Vectors Using the Extended Finite State Machine Model. ACM Transactions on Design Automation of Electronic Systems 1(1), 57–79 (1996)
Clarke, E.M., Grumberg, O., Hiraishi, H., Jha, S., Long, D.E., McMillan, K.L., Ness, L.A.: Verification of the Futurebus+cache coherence protocol. In: Proc. 11th Int. Symp. on Computer Hardware Description Languages and their Applications (1993)
Clarke, E., Grumberg, O., Jha, S.: Verifying Parameterized Networks. TOPLAS 19(5), 726–750 (1997)
Delzanno, G.: On Efficient Data Structures for the Verification of Parameterized Synchronous Systems. Tech. Rep. DISI-00-03, Dip. di Informaticae Scienze dell’Informazione, Università di Genova (January 2000)
Delzanno, G., Esparza, J., Podelski, A.: Constraint-based Analysis of Broadcast Protocols. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 50–66. Springer, Heidelberg (1999)
Delzanno, G., Podelski, A.: Model Checking in CLP. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 223–239. Springer, Heidelberg (1999)
Emerson, E.A., Namjoshi, K.S.: Automatic Verification of Parameterized Synchronous Systems. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 87–98. Springer, Heidelberg (1996)
Emerson, E.A., Namjoshi, K.S.: On Model Checking for Nondeterministic Infinite-state Systems. In: Proc. of the 13th Annual Symp. on Logic in Computer Science (LICS 1998), pp. 70–80 (1998)
Emerson, E.A., Namjoshi, K.S.: Verification of Parameterized Bus Arbitration Protocol. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 452–463. Springer, Heidelberg (1998)
Esparza, J., Finkel, A., Mayr, R.: On the Verification of Broadcast Protocols. In: Proc. 14th Annual Symp. on Logic in Computer Science (LICS 1999), pp. 352–359 (1999)
Finkel, A., Schnoebelen, P.: Well-structured transition systems everywhere! Tech. Rep. LSV-98-4, Lab. Specification et Verification, ENS de Cachan (April 1998); To appear in Theoretical Computer Science
German, S.M., Sistla, A.P.: Reasoning about Systems with Many Processes. JACM 39(3), 675–735 (1992)
Graf, S., Saïdi, H.: Construction of Abstract State Graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)
Halbwachs, N.: Delay Analysis in Synchronous Programs. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 333–346. Springer, Heidelberg (1993)
Handy, J.: The Cache Memory Book. Academic Press, London (1993)
Henzinger, T.A., Ho, P.-H.: A Note on Abstract-interpretation Strategies for Hybrid Automata. In: Antsaklis, P.J., Kohn, W., Nerode, A., Sastry, S.S. (eds.) HS 1994. LNCS, vol. 999, pp. 252–264. Springer, Heidelberg (1995)
Henzinger, T.A., Ho, P.-H., Wong-Toi, H.: Hytech: a Model Checker for Hybrid Systems. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 460–463. Springer, Heidelberg (1997)
Henzinger, T.A., Qadeer, S., Rajamani, S.K.: Verifying Sequential Consistency on Shared-Memory Multiprocessor Systems. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 301–315. Springer, Heidelberg (1999)
Norris Ip, C., Dill, D.L.: Verifying Systems with Replicated Components in Murphi. Formal Methods in System Design 14(3), 273–310 (1999)
Lesens, D., Halbwachs, N., Raymond, P.: Automatic Verification of Parameterized Linear Networks of Processes. In: Proc. 24th ACM Symposium on Principles of Programming Languages (POPL 1997), pp. 346–357 (1997)
McMillan, K.L.: Verification of Infinite State Systems by Compositional Model Checking. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 219–237. Springer, Heidelberg (1999)
McMillan, K.L., Schwalbe, J.: Formal Verification of the Gigamax Cache Consistency Protocol. In: Proc. Int. Symp. on Shared Memory Multiprocessors, pp. 242–251 (1991)
Papamarcos, M.S., Patel, J.H.: A Low-Overhead Coherence Solution for Multiprocessors with Private Cache Memories. In: Proc. Int. Symp. onComputer Architecture (ISCA 1984), pp. 348–354 (1984)
Pong, F., Dubois, M.: A New Approach for the Verification of Cache Coherence Protocols. IEEE Transactions on Parallel and Distributed Systems 6(8) (1995)
Pong, F., Dubois, M.: Verification Techniques for Cache Coherence Protocols. ACM Computing Surveys 29(1), 82–126 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Delzanno, G. (2000). Automatic Verification of Parameterized Cache Coherence Protocols. In: Emerson, E.A., Sistla, A.P. (eds) Computer Aided Verification. CAV 2000. Lecture Notes in Computer Science, vol 1855. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722167_8
Download citation
DOI: https://doi.org/10.1007/10722167_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67770-3
Online ISBN: 978-3-540-45047-4
eBook Packages: Springer Book Archive