Transactional data structure libraries

Transactional Data Structure Libraries Spiegelman et al. PLDI 2016 Today’s choice won a distinguished paper award at the recent PLDI 2016 conference. Spiegelman et al. show how to add transactional support to in-memory concurrent data structure libraries in a way that doesn’t sacrifice performance. Since the advent of the multi-core revolution, many efforts have been … Continue reading Transactional data structure libraries

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

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

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

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