Modeling and Model Checking of a Shared Memory Consistency Protocol
Résumé
Distributed Shared Memory (DSM) systems provide the abstraction of a common virtual address space across a network of processors. Such systems employ a variety of protocols to maintain a consistent view of data across all local memories. Li and Hudak proposed several of the pioneering protocols for DSM [LH 89]. We have used both Petri net modelling and model checking to explore some of their protocols. Our work has detected inefficiencies, unstated assumptions, and errors in the original protocol descriptions. This paper presents Petri net models for one protocol at two layers of abstraction. For each model, we describe corresponding specifications for model checking and provide verification statistics. This combination of models and specifications gives different views of the protocol, inspiring greater confidence in the correctness of our analysis than if we had used only one approach.