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., the workload cannot contain 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 commit consensus is no longer needed to prepare 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.
翻译:两阶段承诺(2PC)已被广泛采用,用于分散交易处理,但通过引入两轮网络通信和两份持久日志,也危及交易的重要途径,从而危及交易的吞吐量。尽管提出了消除2PC的各种提议,例如确定性数据库和进入本地化,但2PC仍然是事实上的标准,因为替代品往往缺乏普遍性(例如,工作量不能包含基于查询结果的分支),在本文件中,我们介绍了普里莫(Primo),一个分布式交易协议,支持没有2PC的更普遍的工作量。普里莫特征是写出无冲突无冲突货币控制,保证交易一旦进入承诺阶段,就不会发生同值货币冲突(例如僵局),因此,不再需要达成共识来准备任何可能的分割冲突。此外,普里莫(Primo)还进一步优化交易路径,利用以恒定性集团承诺的方式,将耐久性延迟从交易的关键路径移开。Empricalal结果令人鼓舞 -- -- 在YCSB和TP-C、Primo-C、Primo-C-C达成1.42-C-Contal-commissional as-stal lax-stal lax lax-s-st-st-st-slance-s lax lax lax lax lax-st-st-st-st-sal-cal-cal-st-st-st-slxxxxxx-s-sxxxxxxxxxxxxxxxx),同时,该总承诺为8x。</s>