Distributed consensus and the implications of NVM on database management systems Fournier, Arulraj, & Pavlo ACM Queue Vol 14, issue 3 As you may recall, Peter Bailis and ACM Queue have started a "Research for Practice" series introducing "expert curated guides to the best of CS research." Aka, reading lists for The Morning Paper! I … Continue reading Distributed consensus and the implications of NVM on database management systems
Tag: Consistency
Consistency in datastores and distributed systems
Flexible Paxos: Quorum intersection revisited
Flexible Paxos: Quorum intersection revisited Howard et al., 2016 Paxos has been around for 18 (26) years now, and extensively studied. (For some background, see the 2 week mini-series on consensus that I put together last year). In this paper, Howard et al. make a simple(?) observation that has significant consequences for improving the fault-tolerance … Continue reading Flexible Paxos: Quorum intersection revisited
Distributed Consistency and Session Anomalies
Since we've spent the last couple of days sketching anomaly diagrams and looking at isolation levels, I wanted to finish the week off with a quick recap of session anomalies and consistency levels for distributed stores. In terms of papers, I've drawn primary material for this from: Highly Available Transactions: Virtues and Limitations, and Linearizability … Continue reading Distributed Consistency and Session Anomalies
Generalized Isolation Level Definitions
Generalized Isolation Level Definitions - Adya et al. 2000 Following on from yesterday's critique of ANSI SQL isolation levels, today's paper also gives a precise definition of isolation levels - but does so in a way that is inclusive of optimistic and general multi-version concurrency control strategies instead of being dependent on locking. Where Berenson … Continue reading Generalized Isolation Level Definitions
A Critique of ANSI SQL Isolation Levels
A Critique of ANSI SQL Isolation Levels - Berenson et al. 1995 udpate: 2 minor corrections in the section on A5A per the comment from 'banks' - thanks! The ANSI SQL isolation levels were originally defined in prose, in terms of three specific anomalies that they were designed to prevent. Unsurprisingly, it turns out that … Continue reading A Critique of ANSI SQL Isolation Levels
Chapar: Certified Causally Consistent Distributed Key-Value Stores
Chapar: Certified Causally Consistent Distributed Key-Value Stores - Lesani et al. 2016 Another POPL '16 paper today. The Chapar framework provides for modular verification of causal consistency for both causally consistent key-value store implementations and for client programs written to use them. §1 also wins the prize for best use of emojis in a research … Continue reading Chapar: Certified Causally Consistent Distributed Key-Value Stores
‘Cause I’m Strong Enough: Reasoning About Consistency Choices in Distributed Systems
'Cause I'm Strong Enough: Reasoning About Consistency Choices in Distributed Systems - Gotsman et al. 2016 With apologies for the longer write-up today, I've tried to stick right to the heart of the matter, but even that takes quite some explanation... We've looked at the theme of coordination avoidance before - instead of uniformly applying … Continue reading ‘Cause I’m Strong Enough: Reasoning About Consistency Choices in Distributed Systems
PSync: A Partially Synchronous Language for Fault-Tolerant Distributed Algorithms
PSync: A Partially Synchronous Language for Fault-Tolerant Distributed Algorithms - Drăgoi et al. 2016 Last month we looked at the RAMCloud team's design pattern for building distributed, concurrent, fault-tolerant modules. Today's paper goes one step beyond a pattern, and introduces a domain-specific language called PSync with the goal of unifying the modeling, programming, and verification … Continue reading PSync: A Partially Synchronous Language for Fault-Tolerant Distributed Algorithms
Consensus on Transaction Commit
Consensus on Transaction Commit - Gray & Lamport 2004/5 Last year on The Morning Paper we spent a considerable amount of time looking at consensus protocols. Over the last couple of days we've been looking at the two-phase commit protocol. But isn't two-phase commit just a special purpose version of the consensus problem, where we … Continue reading Consensus on Transaction Commit
Granularity of Locks and Degree of Consistency in a Shared Data Base – Part II
Granularity of Locks and Degree of Consistency in a Shared Data Base - Gray et al. 1975 This is part 3 of a 7 part series on (database) 'Techniques Everyone Should Know.' Today we'll look at the second part of this paper which introduces the notion of differing degrees of consistency, and how we can … Continue reading Granularity of Locks and Degree of Consistency in a Shared Data Base – Part II