Experience with Rules-Based Programming for Distributed, Concurrent, Fault-Tolerant Code - Stutsman et al. 2015 As we saw in yesterday's paper, the authors of RAMCloud settled on a very effective design pattern for writing distributed, concurrent, fault-tolerant (DCFT) modules within their system. They call this pattern 'rules-based programming' - a collection of (condition,action) pairs that can … Continue reading Experience with Rules-Based Programming for Distributed Concurrent Fault-Tolerant Code
Month: January 2016
The RAMCloud Storage System
The RAMCloud Storage System - Ousterhout et al. 2015 This paper is a comprehensive overview of RAMCloud, published in the ACM Transactions on Computer Systems in August 2015. It's a long read (55 pages), but there's a ton of great material here. The RAMCloud project started in 2009, so this is therefore an overview of … Continue reading The RAMCloud Storage System
Non-volatile Storage
Non-volatile Storage: Implications of the Datacenter's shifting center - Nanavati et al. 2016 Strictly this is an article, not a paper, but it's a great piece from this month's ACM Queue magazine and very closely related to the discussion on the implications of non-volatile memory that we looked at yesterday. It's also highly quotable! It's … Continue reading Non-volatile Storage
No Compromises: Distributed Transactions with Consistency, Availability, and Performance
No Compromises: Distributed Transactions with Consistency, Availability, and Performance - Dragojević et al. 2015 Let's do a thought experiment. In the last couple of days we've been looking at transaction commit protocols and assessing their cost in terms of the number of message delays and forced-writes. But suppose for a moment that network I/O and … Continue reading No Compromises: Distributed Transactions with Consistency, Availability, and Performance
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
Transaction Management in the R* Distributed Database Management System – Part II
Transaction Management in the R* Distributed Database Management System - Mohan et al. 1986 This is part 7 of a 7 part series on (database) 'Techniques Everyone Should Know.' It also the second of two posts examining this paper. Yesterday we looked at the base two-phase commit protocol, today I'll examine the presumed abort and … Continue reading Transaction Management in the R* Distributed Database Management System – Part II
Transaction Management in the R* Distributed Database Management System – Part I
Transaction Management in the R* Distributed Database Management System - Mohan et al. 1986 Update: fixed rocerd -> record typo. This is part 6 of a series of 7 posts based on the papers from chapter 3, 'Techniques Everyone Should Know,' of the Redbook. It contains an exposition of two-phase commit (2PC), and introduces the … Continue reading Transaction Management in the R* Distributed Database Management System – Part I
ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks
ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging - Mohan et al. 1992 This is part 5 of a 7 part series on (database) 'Techniques Everyone Should Know.' From Peter Bailis' introduction to this paper in chapter 3 of the Redbook: Another major problem in transaction processing is maintaining … Continue reading ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks
Concurrency Control Performance Modeling: Alternatives and Implications
Concurrency Control Performance Modeling: Alternatives and Implications - Agrawal et al. 1987 This is part 4 of a 7 part series on (database) 'Techniques Everyone Should Know.' Here's something you can probably relate to: lots of published performance studies, each showing significant advantages for their preferred system/approach, and yet contradicting each other. What's going on … Continue reading Concurrency Control Performance Modeling: Alternatives and Implications
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