Opportunities for optimism in contended main-memory multicore transactions

@article{Huang2020OpportunitiesFO,
  title={Opportunities for optimism in contended main-memory multicore transactions},
  author={Yihe Huang and William Qian and Eddie Kohler and Barbara H. Liskov and Liuba Shrira},
  journal={Proceedings of the VLDB Endowment},
  year={2020},
  volume={13},
  pages={629 - 642}
}
Optimistic concurrency control, or OCC, can achieve excellent performance on uncontended workloads for main-memory transactional databases. Contention causes OCC's performance to degrade, however, and recent concurrency control designs, such as hybrid OCC/locking systems and variations on multiversion concurrency control (MVCC), have claimed to outperform the best OCC systems. We evaluate several concurrency control designs under varying contention and varying workloads, including TPCC, and… 
Opportunities for optimism in contended main-memory multicore transactions
TLDR
This evaluation shows the strengths and weaknesses of OCC, MVCC, and TicToc concurrency control under varying workloads and contention levels, and the importance of several implementation choices called basis factors .
Dependence-Cognizant Locking Improvement for the Main Memory Database Systems
TLDR
This paper introduces dependence-cognizant locking (DCLP), an efficient improvement to the traditional LM, which dramatically reduces the locking space while offering efficiency, and proposes virtual transaction which has better time and space complexity by compressing continuous read-only transactions/operations.
An analysis of concurrency control protocols for in-memory databases with CCBench
TLDR
This paper presents yet another concurrency control analysis platform, CCBench, which supports seven protocols and seven versatile optimization methods and enables the configuration of seven workload parameters and analyzed the protocols and optimization methods using various workload parameters.
Robustness against Read Committed for Transaction Templates
TLDR
An expressive model of transaction programs is introduced to better reason about the serializability of transactional workloads and develops tractable algorithms to decide whether any possible schedule of a workload executed under RC is serializable (referred to as the robustness problem).
The full story of 1000 cores
TLDR
Overall, it is concluded that no CC scheme can efficiently make use of large multi-socket hardware in a robust manner and suggest several directions on how CC schemes and overall OLTP DBMS should evolve in future.
Kvell+: Snapshot Isolation without Snapshots
TLDR
Online Commutative Processing (OLCP), a new model for processing analytical queries, is introduced that observes that analytic queries often consist in large part of commutative processing of data items resulting from range scans in which each item in the range is read exactly once.
Proteus: Autonomous Adaptive Storage for Mixed Workloads
TLDR
Proteus is presented, a distributed HTAP database system that adaptively and autonomously selects and changes its storage layout to optimize for mixed workloads and delivers superior HTAP performance while providing OLTP and OLAP performance on par with designs specialized for either type of workload.
Snapshot: friend or foe of data management - on optimizing transaction processing in database and blockchain systems
TLDR
This dissertation consists of three loosely-coupled parts that represent three distinct projects that emerged during this doctoral research, and proposes ChainifyDB, a platform that transforms an existing database infrastructure into a blockchain infrastructure.
Growth of relational model: Interdependence and complementary to big data
TLDR
This paper aims to provide a complete model of a relational database that is still being widely used because of its well known ACID properties namely, atomicity, consistency, integrity and durability, to highlight the adoption of relational model approaches by bigdata techniques.
Caracal: Contention Management with Deterministic Concurrency Control
TLDR
This work presents the design of Caracal, a novel shared-memory, deterministic database that performs well under both skew and contention, and presents two novel optimizations, batch append and split-on-demand, for managing contention.
...
1
2
...

References

SHOWING 1-10 OF 60 REFERENCES
Deferred Runtime Pipelining for contentious multicore software transactions
TLDR
This work incorporates DRP into the software transactional objects library STO and finds that DRP improves STO's throughput on several STAMP benchmarks by up to 3.6x and an in-memory multicore database implemented with the modified variant of STO outperforms databases that use OCC or transaction chopping for concurrency control.
Scaling Multicore Databases via Constrained Parallel Execution
TLDR
A new concurrency control scheme, interleaving constrained concurrency con- trol (IC3), which provides serializability while allowing for parallel execution of certain conflicting transactions and scales better than several recent concurrent control schemes that also target contended workloads.
Mostly-Optimistic Concurrency Control for Highly Contended Dynamic Workloads on a Thousand Cores
TLDR
The key objective of MOCC is to avoid clobbered reads for high conflict workloads, without any centralized mechanisms or heavyweight interthread communication, and it achieves orders of magnitude higher performance for dynamic workloads on modern servers.
Adaptive Concurrency Control: Despite the Looking Glass, One Concurrency Control Does Not Fit All
TLDR
Adapt concurrency control (ACC) is presented, that dynamically clusters data and chooses the optimal Concurrency control protocol for each cluster, to address three key challenges: how to cluster data to minimize cross-cluster access and maintain load-balancing, how to model workloads and perform protocol selection accordingly.
Cicada: Dependably Fast Multi-Core In-Memory Transactions
TLDR
Cicada is a single-node multi-core in-memory transactional database with serializability that reduces overhead and contention at several levels of the system by leveraging optimistic and multi-version concurrency control schemes and multiple loosely synchronized clocks while mitigating their drawbacks.
Rethinking serializable multiversion concurrency control
TLDR
Bohm performs well in both high contention and low contention settings, and is able to dramatically outperform state-of-the-art multi-versioned systems despite maintaining the full set of serializability guarantees.
Speedy transactions in multicore in-memory databases
TLDR
A commit protocol based on optimistic concurrency control that provides serializability while avoiding all shared-memory writes for records that were only read, which achieves excellent performance and scalability on modern multicore machines.
ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads
TLDR
This paper presents ERMIA, a memory-optimized database system built from scratch to cater the need of handling heterogeneous workloads that include read-mostly transactions that adopts snapshot isolation concurrency control to coordinate heterogeneous transactions and provides serializability when desired.
Phase Reconciliation for Contended In-Memory Transactions
Multicore main-memory database performance can collapse when many transactions contend on the same data. Contending transactions are executed serially--either by locks or by optimistic concurrency
An Empirical Evaluation of In-Memory Multi-Version Concurrency Control
TLDR
An extensive study of the scheme's four key design decisions: concurrency control protocol, version storage, garbage collection, and index management is conducted and identifies the fundamental bottlenecks of each design choice.
...
1
2
3
4
5
...