Update: the DrTm results were for a 6-node cluster, not a 60-node cluster. Update: corrected the RAM Cloud tpmC number - previously missing a crucial 'K' ! The combined changes in networking, memory, storage, and processors that are heading towards our data centers will bring about profound changes to the way we design and build … Continue reading All Change Please
Year: 2016
Blurred Persistence: Efficient Transactions in Persistent Memory
Blurred Persistence: Efficient Transactions in Persistent Memory - Lu, Shu, & Sun, 2015 We had software transactional memory (STM), then hardware support for transactional memory (HTM), and now with persistent memory in which the memory plays the role of stable storage, we can have persistent transactional memory. And with persistent transactional memory, there's an issue … Continue reading Blurred Persistence: Efficient Transactions in Persistent Memory
From ARIES to MARS: Transaction Support for Next-Generation Solid State Drives
From ARIES to MARS: Transaction Support for Next-Generation Solid State Drives - Coburn et al. 2013 For the last couple of weeks we've been bouncing around the topics of transaction support and the implications of a non-volatile memory and super-fast networking on system design. We've seen statements such as 'the bandwidth and latency characteristics of … Continue reading From ARIES to MARS: Transaction Support for Next-Generation Solid State Drives
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 Experience with Rules-Based Programming for Distributed Concurrent Fault-Tolerant Code
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