FORTE 2004: Formal Techniques for Networked and Distributed Systems – FORTE 2004 pp 243-258 | Cite as
Integrating Formal Verification with Murφ of Distributed Cache Coherence Protocols in FAME Multiprocessor System Design
Abstract
Flexible Architecture for Multiple Environments (FAME) is Bull architecture for large symmetrical multiprocessors based on Intel’s Itanium(r) 2 family, which is used in Bull NovaScale(r) servers series. A key point in the development of this distributed shared memory architecture is the definition of its cache coherence protocol. This paper reports experiences and results of integrating formal verification of FAME cache coherence protocol, on 4 successive versions of this architecture. The goal is to find protocol definition bugs (not implementation) in the early phases of the design, focusing on: cache coherency, data integrity and deadlock-freeness properties. We have performed modeling and verification using Murφ tool and language, because of its easiness of use and its efficient state reduction techniques. The analysis of the results shows that this approach is cost-effective, and in spite of the state explosion problem, it has helped us in finding hard-to-simulate protocol bugs, before the implementation is far ahead.
Keywords
Formal Verification Cache Coherence State Explosion Cache Coherence Protocol Error TraceReferences
- 1.Bull NovaScale® servers, http://www.bull.com/novascale/index.html
- 2.Chehaibar, G., Garavel, H., Mounier, L., Tawbi, N., Zulian, F.: Specification and Verification of the PowerScale Bus Arbitration Protocol: An Industrial Experiment with LOTOS. In: Proc. of FORTE/PSTV 1996, pp. 435–450 (1996)Google Scholar
- 3.Dill, D.L., Drexler, A.J., Hu, A.J., Yang, C.H.: Protocol Verification as a Hardware Design Aid. In: IEEE International Conference on Computer Design: VLSI in Computers and Processors, pp. 522–525. IEEE Computer Society, Los Alamitos (1992)Google Scholar
- 4.FAME Architecture, Statement of Direction, http://www.bull.com/download/whitepapers/fame.pdf
- 5.Fisler, K., Girault, C.: Modelling and Model Checking a Distributed Shared Memory Consistency Protocol. In: Desel, J., Silva, M. (eds.) ICATPN 1998. LNCS, vol. 1420, pp. 84–103. Springer, Heidelberg (1998)CrossRefGoogle Scholar
- 6.Gharachorloo, K., Lenoski, D., Laudon, J., Gibbons, P., Gupta, A., Hennessy, J.: Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors. In: Proc. of the 17th Annual International Symposium on Computer Architecture, pp. 15–26 (1990)Google Scholar
- 7.Hennessy, J., Heinrich, M., Gupta, A.: Cache-Coherent Distributed Shared Memory: Perspectives on Its Development and Future Challenges. Proc. of the IEEE 87(3), 418–429 (1999) (Special issue on Distributed Shared Memory)CrossRefGoogle Scholar
- 8.McMillan, K.L., Schwalbe, J.: Formal Verification of the Gigamax Cache Consistency Protocol. In: Proc. ISSM Int’l Conf. Parallel and Distributed Computing (1991)Google Scholar
- 9.Murϕ description language and verifier, http://sprout.stanford.edu/dill/murphi.html
- 10.NASA Formal Methods Guidebook. Formal Methods, Specification and Verification Guidebook for Software and Computer Systems. Volume I: Planning and Technology Insertion. Release 2.0, [NASA/TP-98-208193] 88 pages (1998)Google Scholar
- 11.Norris Ip, C., Dill, D.L.: Better Verification through Symmetry. Formal Methods in System Design 9(1/2), 41–75 (1996)CrossRefGoogle Scholar
- 12.Paramarcos, M., Patel, J.: A Low-Overhead Coherence Solution for Multiprocessors with Private Cache Memories. In: Proc. of 11th Int’l Symp. Computer Architecture, pp. 348–354 (1984)Google Scholar
- 13.Pong, F., Dubois, M.: A New Approach for the Verification of Cache Coherence Protocols. IEEE Transactions on Parallel and Distributed Systems 6(8), 773–787 (1995)CrossRefGoogle Scholar
- 14.Pong, F., Dubois, M.: Verification Techniques for Cache Coherence Protocols. ACM Computing Surveys 29(1), 82–126 (1997)CrossRefGoogle Scholar
- 15.Roucairol, G.: Using Formal Verification Methods in an Industrial Environment for a Decade, Conclusions and Perspectives. In: Keynote at FLOC 1999, Trento (1999)Google Scholar
- 16.Stern, U., Dill, D.L.: A New Scheme for Memory-Efficient Probabilistic Verification. In: Proc. of FORTE/PSTV 1996, pp. 333–348 (1996)Google Scholar