NCC: Natural Concurrency Control for Strictly Serializable Datastores by Avoiding the Timestamp-Inversion Pitfall

05/23/2023
by   Haonan Lu, et al.
0

Strictly serializable datastores greatly simplify the development of correct applications by providing strong consistency guarantees. However, existing techniques pay unnecessary costs for naturally consistent transactions, which arrive at servers in an order that is already strictly serializable. We find these transactions are prevalent in datacenter workloads. We exploit this natural arrival order by executing transaction requests with minimal costs while optimistically assuming they are naturally consistent, and then leverage a timestamp-based technique to efficiently verify if the execution is indeed consistent. In the process of designing such a timestamp-based technique, we identify a fundamental pitfall in relying on timestamps to provide strict serializability, and name it the timestamp-inversion pitfall. We find timestamp-inversion has affected several existing works. We present Natural Concurrency Control (NCC), a new concurrency control technique that guarantees strict serializability and ensures minimal costs – i.e., one-round latency, lock-free, and non-blocking execution – in the best (and common) case by leveraging natural consistency. NCC is enabled by three key components: non-blocking execution, decoupled response control, and timestamp-based consistency check. NCC avoids timestamp-inversion with a new technique: response timing control, and proposes two optimization techniques, asynchrony-aware timestamps and smart retry, to reduce false aborts. Moreover, NCC designs a specialized protocol for read-only transactions, which is the first to achieve the optimal best-case performance while ensuring strict serializability, without relying on synchronized clocks. Our evaluation shows that NCC outperforms state-of-the-art solutions by an order of magnitude on many workloads.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/11/2019

SSS: Scalable Key-Value Store with External Consistent and Abort-free Read-only Transactions

We present SSS, a scalable transactional key-value store deploying a nov...
research
02/25/2019

PaRiS: Causally Consistent Transactions with Non-blocking Reads and Partial Replication

Geo-replicated data platforms are at the backbone of several large-scale...
research
03/17/2021

Releasing Locks As Early As You Can: Reducing Contention of Hotspots by Violating Two-Phase Locking (Extended Version)

Hotspots, a small set of tuples frequently read/written by a large numbe...
research
03/31/2023

Shirakami: A Hybrid Concurrency Control Protocol for Tsurugi Relational Database System

Modern real-world transactional workloads such as bills of materials or ...
research
09/18/2021

Regular Sequential Serializability and Regular Sequential Consistency

Strictly serializable (linearizable) services appear to execute transact...
research
12/13/2018

Processing Transactions in a Predefined Order

In this paper we provide a high performance solution to the problem of c...
research
07/19/2020

Lazy State Determination: More concurrency for contending linearizable transactions

The concurrency control algorithms in transactional systems limits concu...

Please sign up or login with your details

Forgot password? Click here to reset