Sundial: harmonizing concurrency control and caching in a distributed OLTP database management system

© 2018 VLDB Endowment 21508097/18/4. Distributed transactions suffer from poor performance due to two major limiting factors. First, distributed transactions suffer from high latency because each of their accesses to remote data incurs a long network delay. Second, this high latency increases the li...

Full description

Bibliographic Details
Main Authors: Yu, Xiangyao, Xia, Yu, Pavlo, Andrew, Sanchez, Daniel, Rudolph, Larry, Devadas, Srinivas
Format: Article
Language:English
Published: VLDB Endowment 2021
Online Access:https://hdl.handle.net/1721.1/135103
Description
Summary:© 2018 VLDB Endowment 21508097/18/4. Distributed transactions suffer from poor performance due to two major limiting factors. First, distributed transactions suffer from high latency because each of their accesses to remote data incurs a long network delay. Second, this high latency increases the likelihood of contention among distributed transactions, leading to high abort rates and low performance. We present Sundial, an in-memory distributed optimistic concurrency control protocol that addresses these two limitations. First, to reduce the transaction abort rate, Sundial dynamically determines the logical order among transactions at runtime, based on their data access patterns. Sundial achieves this by applying logical leases to each data element, which allows the database to dynamically calculate a transaction's logical commit timestamp. Second, to reduce the overhead of remote data accesses, Sundial allows the database to cache remote data in a server's local main memory and maintains cache coherence. With logical leases, Sundial integrates concurrency control and cache coherence into a simple unified protocol. We evaluate Sundial against state-of-the-art distributed concurrency control protocols. Sundial outperforms the next-best protocol by up to 57% under high contention. Sundial's caching scheme improves performance by up to 4.6× in workloads with high access skew.