Experience with Rules-Based Programming for Distributed Concurrent Fault-Tolerant Code

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

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

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

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

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

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

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