Sequential consistency versus linearizability
- 1 May 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 12 (2) , 91-122
- https://doi.org/10.1145/176575.176576
Abstract
The power of two well-known consistency conditions for shared-memory multiprocessors, sequential consistency and linearizability, is compared. The cost measure studied is the worst-case response time in distributed implementations of virtual shared memory supporting one of the two conditions. Three types of shared-memory objects are considered: read/write objects, FIFO queues, and stacks. If clocks are only approximately synchronized (or do not exist), then for all three object types it is shown that linearizability is more expensive than sequential consistency. We show that, for all three data types, the worst-case response time is very sensitive to the assumptions that are made about the timing information available to the system. Under the strong assumption that processes have perfectly synchronized clocks, it is shown that sequential consistency and linearizability are equally costly. We present upper bounds for linearizability and matching lower bounds for sequential consistency. The upper bounds are shown by presenting algorithms that use atomic broadcast in a modular fashion. The lower-bound proofs for the approximate case use the technique of “shifting,” first introduced for studying the clock synchronization problem.Keywords
This publication has 15 references indexed in Scilit:
- Lazy cachingACM Transactions on Programming Languages and Systems, 1993
- Linearizability: a correctness condition for concurrent objectsACM Transactions on Programming Languages and Systems, 1990
- Memory access dependencies in shared-memory multiprocessorsIEEE Transactions on Software Engineering, 1990
- Reliable communication in the presence of failuresACM Transactions on Computer Systems, 1987
- Cache coherence protocols: evaluation using a multiprocessor simulation modelACM Transactions on Computer Systems, 1986
- On interprocess communicationDistributed Computing, 1986
- Axioms for memory access in asynchronous hardware systemsACM Transactions on Programming Languages and Systems, 1986
- A special purpose MIMD parallel processorInformation Processing Letters, 1985
- Reliable broadcast protocolsACM Transactions on Computer Systems, 1984
- An upper and lower bound for clock synchronizationInformation and Control, 1984