Automatic Verification of Parameterized Cache Coherence Protocols

  • Giorgio Delzanno
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1855)


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.


Cache Coherence Unsafe State Broadcast Protocol Cache Coherence Protocol Extended Finite State Machine 
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.


  1. [ACJT96]
    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)Google Scholar
  2. [ABJN99]
    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)CrossRefGoogle Scholar
  3. [AJ99]
    Abdulla, P.A., Jonsson, B.: Ensuring Completeness of Symbolic Verification Methods for Infinite-State Systems. To appear in Theoretical Computer Science (1999)Google Scholar
  4. [AB86]
    Archibald, P.A., Baer, J.: Cache Coherence Protocols: Evaluation Using a Multiprocessor Simulation Model. ACM Transactions on Computer Systems 4(4), 273–298 (1986)CrossRefGoogle Scholar
  5. [BGP97]
    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)Google Scholar
  6. [BW98]
    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)CrossRefGoogle Scholar
  7. [BCG89]
    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)zbMATHCrossRefMathSciNetGoogle Scholar
  8. [CK97]
    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)CrossRefGoogle Scholar
  9. [CGH+93]
    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)Google Scholar
  10. [CGJ97]
    Clarke, E., Grumberg, O., Jha, S.: Verifying Parameterized Networks. TOPLAS 19(5), 726–750 (1997)CrossRefGoogle Scholar
  11. [Del00]
    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)Google Scholar
  12. [DEP99]
    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)CrossRefGoogle Scholar
  13. [DP99]
    Delzanno, G., Podelski, A.: Model Checking in CLP. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 223–239. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  14. [EN96]
    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)Google Scholar
  15. [EN98]
    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)Google Scholar
  16. [EN98b]
    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)CrossRefGoogle Scholar
  17. [EFM99]
    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)Google Scholar
  18. [FS98]
    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 ScienceGoogle Scholar
  19. [GS92]
    German, S.M., Sistla, A.P.: Reasoning about Systems with Many Processes. JACM 39(3), 675–735 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  20. [GS97]
    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)Google Scholar
  21. [Hal93]
    Halbwachs, N.: Delay Analysis in Synchronous Programs. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 333–346. Springer, Heidelberg (1993)Google Scholar
  22. [Han93]
    Handy, J.: The Cache Memory Book. Academic Press, London (1993)zbMATHGoogle Scholar
  23. [HH95]
    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)Google Scholar
  24. [HHW97]
    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)Google Scholar
  25. [HQR99]
    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)CrossRefGoogle Scholar
  26. [ID99]
    Norris Ip, C., Dill, D.L.: Verifying Systems with Replicated Components in Murphi. Formal Methods in System Design 14(3), 273–310 (1999)CrossRefGoogle Scholar
  27. [LHR97]
    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)Google Scholar
  28. [McM99]
    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)Google Scholar
  29. [MS91]
    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)Google Scholar
  30. [PP84]
    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)Google Scholar
  31. [PD95]
    Pong, F., Dubois, M.: A New Approach for the Verification of Cache Coherence Protocols. IEEE Transactions on Parallel and Distributed Systems 6(8) (1995)Google Scholar
  32. [PD97]
    Pong, F., Dubois, M.: Verification Techniques for Cache Coherence Protocols. ACM Computing Surveys 29(1), 82–126 (1997)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Giorgio Delzanno
    • 1
  1. 1.DISI – University of GenovaItaly

Personalised recommendations