In distributed systems where strong consistency is costly when not impossible, causal consistency provides a valuable abstraction to represent program executions as partial orders. In addition to the sequential program order of each computing entity, causal order also contains the semantic links between the events that affect the shared objects – messages emission and reception in a communication channel, reads and writes on a shared register. Usual approaches based on semantic links are very difficult to adapt to other data types such as queues or counters because they require a specific analysis of causal dependencies for each data type. This paper presents a new approach to define causal consistency for any abstract data type based on sequential specifications. It explores, formalizes and studies the differences between three variations of causal consistency and highlights them in the light of PRAM, eventual consistency and sequential consistency: weak causal consistency, that captures the notion of causality preservation when focusing on convergence; causal convergence that mixes weak causal consistency and convergence; and causal consistency, that coincides with causal memory when applied to shared memory.
Wed 16 MarDisplayed time zone: Belfast change
10:00 - 11:15 | |||
10:00 25mTalk | Benchmarking Weak Memory Models Main conference Link to publication DOI | ||
10:25 25mTalk | The Virtues of Conflict: Analysing Modern Concurrency Main conference Ganesh Narayanswamy Department of Computer Science, University of Oxford, Saurabh Joshi Department of Computer Science and Engineering, IIT Guwahati, Daniel Kroening University of Oxford Link to publication DOI | ||
10:50 25mTalk | Causal Consistency: Beyond Memory Main conference Matthieu Perrin University of Nantes, Achour Mostefaoui University of Nantes, Claude Jard University of Nantes Link to publication DOI |