Distributed consensus and the implications of NVM on database management systems

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

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

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

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