|
A technique for parameterized verification of cache coherence protocols
V. S. Burenkov JSC MCST
Abstract:
This paper introduces a technique for scalable functional verification of cache coherence protocols that is based on the verification method, which was previously developed by the author. Scalability means that verification efforts do not depend on the model size (that is, the number of processors in the system under verification). The article presents an approach to the development of formal Promela models of cache coherence protocols and shows examples taken from the Elbrus-4C protocol model. The resulting formal models consist of language constructs that directly reflect the way protocol designers describe their developments. The paper describes the development of the tool, which is written in the C++ language with the Boost.Spirit library as parser generator. The tool automatically performs the syntactical transformations of Promela models. These transformations are part of the verification method. The procedure for refinement of the transformed models is presented. The refinement procedure is supposed to be used to eliminate spurious error messages. Finally, the overall verification technique is described. The technique has been successfully applied to verification of the MOSI protocol implemented in the Elbrus computer systems. Experimental results show that computer memory requirements for parameterized verification are negligible and the amount of manual work needed is acceptable.
Keywords:
multicore microprocessors, shared memory multiprocessors, cache coherence protocols, model checking, Spin, Promela.
Citation:
V. S. Burenkov, “A technique for parameterized verification of cache coherence protocols”, Proceedings of ISP RAS, 29:4 (2017), 231–246
Linking options:
https://www.mathnet.ru/eng/tisp246 https://www.mathnet.ru/eng/tisp/v29/i4/p231
|
Statistics & downloads: |
Abstract page: | 152 | Full-text PDF : | 153 | References: | 30 |
|