Proving sequential consistency by model checking
نویسندگان
چکیده
Sequential consistency is a multiprocessor memory model of both practical and theoretical importance. Unfortunately, the general problem of verifying that a finitestate protocol implements sequential consistency is undecidable, and in practice, validating that a real-world, finitestate protocol implements sequential consistency is very time-consuming and costly. In this work, we show that for memory protocols that occur in practice, a small amount of manual effort can reduce the problem of verifying sequential consistency into a verification task that can be discharged automatically via model checking. Furthermore, we present experimental results on a substantial, directorybased cache coherence protocol, which demonstrate the practicality of our approach.
منابع مشابه
Verifying Sequential
In shared-memory multiprocessors sequential consistency ooers a natural tradeoo between the exibility aaorded to the implementor and the complexity of the programmer's view of the memory. Sequential consistency requires that some inter-leaving of the local temporal orders of read/write events at diierent processors be a trace of serial memory. We develop a systematic methodology for proving seq...
متن کاملA short introduction to two approaches in formal verification of security protocols: model checking and theorem proving
In this paper, we shortly review two formal approaches in verification of security protocols; model checking and theorem proving. Model checking is based on studying the behavior of protocols via generating all different behaviors of a protocol and checking whether the desired goals are satisfied in all instances or not. We investigate Scyther operational semantics as n example of this...
متن کاملVerifying Sequential Consistency on Shared-Memory Multiprocessor Systems
In shared-memory multiprocessors sequential consistency o ers a natural tradeo between the exibility a orded to the implementor and the complexity of the programmer's view of the memory. Sequential consistency requires that some interleaving of the local temporal orders of read/write events at di erent processors be a trace of serial memory. We develop a systematic methodology for proving seque...
متن کاملVerifying Sequential Consistency on Shared-Memory Multiprocessors by Model Checking
The memory model of a shared-memory multiprocessor is a contract between the designer and programmer of the multiprocessor. The sequential consistency memory model specifies a total order among the memory (read and write) events performed at each processor. A trace of a memory system satisfies sequential consistency if there exists a total order of all memory events in the trace that is both co...
متن کاملModel-Checking of Correctness Conditions for Concurrent Objects
The notions of serializability, linearizability and sequential consistency are used in the speciication of concurrent systems. We show that the model checking problem for each of these properties can be cast in terms of the containment of one regular language in another regular language shuued using a semi-commutative alphabet. The three model checking problems are shown to be, respectively, in...
متن کامل