Abstract

This paper introduces a method for scalable verification of cache coherence protocols described in the Promela language. Scalability means that resources spent on verification (first of all, machine time and memory) do not depend on the number of processors in the system under verification. The method is comprised of three main steps. First, a Promela model written for a certain configuration of the system is generalized to the model being parameterized with the number of processors. To do it, some assumptions on the protocol are used as well as simple induction rules. Second, the parameterized model is abstracted from the number of processors. It is done by syntactical transformations of the model assignments, expressions, and communication actions. Finally, the abstract model is verified with the Spin model checker in a usual way. The method description is accompanied by the proof of its correctness. It is stated that the suggested abstraction is conservative in a sense that every invariant (a property that is true in all reachable states) of the abstract model is an invariant of the original model (invariant properties are the properties of interest during verification of cache coherence protocols). The method has been automated by a tool prototype that, given a Promela model, parses the code, builds the abstract syntax tree, transforms it according to the rules, and maps it back to Promela. The tool (and the method in general) has been successfully applied to verification of the MOSI protocols implemented in the Elbrus computer systems.

Highlights

  • Shared memory multiprocessors (SMP) constitute one of the most common classes of high-performance computer systems

  • Given a PROMELA model of a coherence protocol (CCP) for some configuration of an SMP system, it is required to check the CCP correctness for an arbitrary configuration of the system

  • Given an arbitrary path in the state space of, there is a path in the state space of ′ such that the ending state of is equivalent to the ending state of

Read more

Summary

Introduction

Shared memory multiprocessors (SMP) constitute one of the most common classes of high-performance computer systems. Burenkov V.S., Kamkin A.S. Checking Parameterized PROMELA Models of Cache Coherence Protocols. Development of cache coherence mechanisms includes two stages: first, design of a CCP; second, its implementation in hardware. The both stages are error-prone; methods for protocol verification and methods for hardware verification are in use [4]. The widely recognized method for protocol verification is model checking [5]. It is fully automated, but suffers from a principal drawback – it is not scalable due to the state space explosion problem.

Related work
Suggested method
Model parameterization
Assumptions
Informal description
Basic definitions
System abstraction
Conclusion
Model transformation
Case study
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call