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
Tag: Transaction processing
Transactions, distributed and non-distributed.
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
A Critique of ANSI SQL Isolation Levels
A Critique of ANSI SQL Isolation Levels - Berenson et al. 1995 udpate: 2 minor corrections in the section on A5A per the comment from 'banks' - thanks! The ANSI SQL isolation levels were originally defined in prose, in terms of three specific anomalies that they were designed to prevent. Unsurprisingly, it turns out that … Continue reading A Critique of ANSI SQL Isolation Levels
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