On Composition and Implementation of Sequential Consistency (Extended Version)
Matthieu Perrin, Matoula Petrolia, Achour Mostefaoui (GDD), Claude, Jard

TL;DR
This paper extends the understanding of sequential consistency in distributed systems, proposing an algorithm for crash-prone asynchronous environments and analyzing when waiting is necessary for consistency guarantees.
Contribution
It introduces a new distributed algorithm for sequentially consistent shared memory with snapshots in asynchronous crash-prone systems and analyzes its composability and waiting conditions.
Findings
Waiting is only necessary after a write on the same process before a read.
Sequential consistency can be composable in certain practical scenarios.
The proposed algorithm works with less than half of processes crashing.
Abstract
It has been proved that to implement a linearizable shared memory in synchronous message-passing systems it is necessary to wait for a time proportional to the uncertainty in the latency of the network for both read and write operations, while waiting during read or during write operations is sufficient for sequential consistency. This paper extends this result to crash-prone asynchronous systems. We propose a distributed algorithm that builds a sequentially consistent shared memory abstraction with snapshot on top of an asynchronous message-passing system where less than half of the processes may crash. We prove that it is only necessary to wait when a read/snapshot is immediately preceded by a write on the same process. We also show that sequential consistency is composable in some cases commonly encountered: 1) objects that would be linearizable if they were implemented on top of a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Optimization and Search Problems · Software System Performance and Reliability
