Abstract
Sequential consistency is the most widely used correctness condition for multiprocessor memory systems. This paper studies the problem of testing shared-memory multiprocessors to determine if they are indeed providing a sequentially consistent memory. It presents the first formal study of this problem, which has applications to testing new memory system designs and realizations, providing run-time fault tolerance, and detecting bugs in parallel programs. A series of results are presented for testing an execution of a shared memory under various scenarios, comparing sequential consistency with linearizability, another well-known correctness condition. Linearizability imposes additional restrictions on the shared memory, beyond that of sequential consistency; these restrictions are shown to be useful in testing such memories.
Original language | English |
---|---|
Pages (from-to) | 1208-1244 |
Number of pages | 37 |
Journal | SIAM Journal on Computing |
Volume | 26 |
Issue number | 4 |
DOIs | |
State | Published - 1 Jan 1997 |
Keywords
- Linearizability
- Multiprocessors
- NP-completeness
- Shared memory
- Squential consistency
- Testing
ASJC Scopus subject areas
- General Computer Science
- General Mathematics