A Compositional Approach for Verifying Protocols Running on On-Chip Networks

In modern many-core architectures, advanced on-chip networks provide the means of communication for the cores. This greatly complicates the design and verification of the cache coherence protocols deployed by those cores. A common approach to deal with this complexity is to decompose the whole system into the protocol and the network. This decomposition is, however, not always possible. For example, unexpected deadlocks can emerge when a deadlock-free protocol and a deadlock-free network are combined. This paper proposes a compositional methodology: prove properties over a network, prove properties over a protocol, and infer properties over the system as a whole. Our methodology is based on theorems that show that such decomposition is possible by having sufficiently large local buffers at the cores. We apply this methodology to verify several protocols such as MI, MSI, MESI and MEUSI running on top of advanced interconnects with adaptive routing.

[1]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[2]  Emmanuelle Encrenaz-Tiphène,et al.  A Tool for Automatic Detection of Deadlock in Wormhole Networks on Chip , 2006, 2006 IEEE International High Level Design Validation and Test Workshop.

[3]  Kenneth L. McMillan,et al.  A technique of state space search based on unfolding , 1995, Formal Methods Syst. Des..

[4]  Seungjoon Park,et al.  A Simple Method for Parameterized Verification of Cache Coherence Protocols , 2004, FMCAD.

[5]  Julien Schmaltz,et al.  A Decision Procedure for Deadlock-Free Routing in Wormhole Networks , 2014, IEEE Transactions on Parallel and Distributed Systems.

[6]  Yu Yang,et al.  Efficient methods for formally verifying safety properties of hierarchical cache coherence protocols , 2010, Formal Methods Syst. Des..

[7]  Steven M. German,et al.  Formal Design of Cache Memory Protocols in IBM , 2003, Formal Methods Syst. Des..

[8]  William J. Dally,et al.  Deadlock-Free Message Routing in Multiprocessor Interconnection Networks , 1987, IEEE Transactions on Computers.

[9]  Daniel Sánchez,et al.  Exploiting commutativity to reduce the cost of updates to shared data in cache-coherent systems , 2015, 2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[10]  Nader Bagherzadeh,et al.  Deadlock Verification of Cache Coherence Protocols and Communication Fabrics , 2017, IEEE Transactions on Computers.

[11]  Mark D. Hill,et al.  Lamport clocks: verifying a directory cache-coherence protocol , 1998, SPAA '98.

[12]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[13]  Somesh Jha,et al.  Exploiting Symmetry In Temporal Logic Model Checking , 1993, CAV.

[14]  Wil M. P. van der Aalst,et al.  Strategies for Modeling Complex Processes Using Colored Petri Nets , 2013, Trans. Petri Nets Other Model. Concurr..

[15]  Masoud Daneshtalab,et al.  EbDa: A new theory on design and verification of deadlock-free interconnection networks , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[16]  Francisca Santana Robles,et al.  Coloured Petri Nets Basic Concepts, Analysis Methods and Practical Use , 2015 .

[17]  Sandip Ray,et al.  Combining Theorem Proving with Model Checking through Predicate Abstraction , 2007, IEEE Design & Test of Computers.

[18]  Markus Wenzel Isabelle/jEdit - A Prover IDE within the PIDE Framework , 2012, AISC/MKM/Calculemus.

[19]  Sarita V. Adve,et al.  Revisiting the Complexity of Hardware Cache Coherence and Some Implications , 2014, ACM Trans. Archit. Code Optim..

[20]  Robert K. Brayton,et al.  ABC: An Academic Industrial-Strength Verification Tool , 2010, CAV.

[21]  Julien Schmaltz,et al.  A Comment on “A Necessary and Sufficient Condition for Deadlock-Free Adaptive Routing in Wormhole Networks” , 2011, IEEE Transactions on Parallel and Distributed Systems.

[22]  Julien Schmaltz,et al.  On Necessary and Sufficient Conditions for Deadlock-Free Routing in Wormhole Networks , 2011, IEEE Transactions on Parallel and Distributed Systems.

[23]  Kees G. W. Goossens,et al.  Avoiding Message-Dependent Deadlock in Network-Based Systems on Chip , 2007, VLSI Design.

[24]  Xiaofang Chen,et al.  Verification of Hierarchical Cache Coherence Protocols for Futuristic Processors , 2008 .

[25]  Gerd Behrmann,et al.  Adding Symmetry Reduction to Uppaal , 2003, FORMATS.

[26]  Meng Zhang,et al.  PVCoherence: Designing flat coherence protocols for scalable verification , 2014, 2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA).

[27]  Ümit Y. Ogras,et al.  xMAS: Quick Formal Modeling of Communication Fabrics to Enable Verification , 2012, IEEE Design & Test of Computers.

[28]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[29]  Mark R. Tuttle,et al.  Protocol verification using flows: An industrial experience , 2009, 2009 Formal Methods in Computer-Aided Design.

[30]  Vineet Kahlon,et al.  Exact and Efficient Verification of Parameterized Cache Coherence Protocols , 2003, CHARME.

[31]  Kenneth L. McMillan,et al.  Parameterized Verification of the FLASH Cache Coherence Protocol by Compositional Model Checking , 2001, CHARME.

[32]  Mark R. Tuttle,et al.  Going with the Flow: Parameterized Verification Using Message Flows , 2008, 2008 Formal Methods in Computer-Aided Design.

[33]  Lionel M. Ni,et al.  The Turn Model for Adaptive Routing , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[34]  Jaehyuk Huh,et al.  Subspace Snooping: Exploiting Temporal Sharing Stability for Snoop Reduction , 2012, IEEE Transactions on Computers.

[35]  Somesh Jha,et al.  Verification of the Futurebus+ cache coherence protocol , 1993, Formal Methods Syst. Des..

[36]  Meng Zhang,et al.  Fractal Coherence: Scalably Verifiable Cache Coherence , 2010, 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture.

[37]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[38]  Danil Sokolov,et al.  A Structured Visual Approach to GALS Modeling and Verification of Communication Circuits , 2017, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[39]  José Duato,et al.  994 International Conference on Parallel Processing a Necessary and Sufficient Condition for Deadlock-free Adaptive Routing in Wormhole Networks , 2022 .