# Knock Out 2PC with Practicality Intact: a High-performance and General   Distributed Transaction Protocol (Technical Report)

**Authors:** Ziliang Lai, Hua Fan, Wenchao Zhou, Zhanfeng Ma, Xiang Peng, Feifei, Li, Eric Lo

arXiv: 2302.12517 · 2023-03-02

## TL;DR

Primo is a high-performance distributed transaction protocol that eliminates the need for two-phase commit by ensuring conflict-free commit phases and using asynchronous group commit, significantly improving throughput.

## Contribution

Primo introduces a novel conflict-free concurrency control and asynchronous group commit to support general workloads without 2PC, enhancing performance and simplicity.

## Key findings

- Primo achieves 1.42x to 8.25x higher throughput than existing protocols.
- Primo maintains similar latency to COCO while improving throughput.
- Empirical results demonstrate Primo's effectiveness on YCSB and TPC-C benchmarks.

## Abstract

Two-phase-commit (2PC) has been widely adopted for distributed transaction processing, but it also jeopardizes throughput by introducing two rounds of network communications and two durable log writes to a transaction's critical path. Despite the various proposals that eliminate 2PC such as deterministic database and access localization, 2PC remains the de facto standard since the alternatives often lack generality (e.g., requiring workloads without branches based on query results). In this paper, we present Primo, a distributed transaction protocol that supports a more general set of workloads without 2PC. Primo features write-conflict-free concurrency control that guarantees once a transaction enters the commit phase, no concurrency conflict (e.g., deadlock) would occur when installing the write-set -- hence the prepare phase is no longer needed to account for any potential conflict from any partition. In addition, Primo further optimizes the transaction path using asynchronous group commit. With that, the durability delay is also taken off the transaction's critical path. Empirical results on Primo are encouraging -- in YCSB and TPC-C, Primo attains 1.42x to 8.25x higher throughput than state-of-the-art general protocols including Sundial and COCO, while having similar latency as COCO which also employs group commit.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/2302.12517/full.md

## Figures

5 figures with captions in the complete paper: https://tomesphere.com/paper/2302.12517/full.md

---
Source: https://tomesphere.com/paper/2302.12517