论文标题

使用全球时间不透明度的快速一般分布式交易

Fast General Distributed Transactions with Opacity using Global Time

论文作者

Shamis, Alex, Renzelmann, Matthew, Novakovic, Stanko, Chatzopoulos, Georgios, Gjerdrum, Anders T., Alistarh, Dan, Dragojevic, Aleksandar, Narayanan, Dushyanth, Castro, Miguel

论文摘要

交易可以通过隐藏应用程序开发人员的数据分配,并发和失败来简化分布式应用程序。理想情况下,开发人员将看到单台大型机器的抽象,该机器依次运行交易,并且永远不会失败。这要求交易子系统提供不透明度(对交易和中止交易的严格序列化),以及透明的容错公差,具有高可用性。由于即使是最好的抽象也不太可能使用,如果它们的性能差,系统也必须提供高性能。 现有的分布式交易设计可以削弱此抽象,或者不是为数据中心中的最佳性能而设计的。本文扩展了农场的设计 - 仅适用于承诺的交易,可提供不透明度,同时保持农场在现代数据中心内的高吞吐量,低潜伏期和高可用性。它使用基于实时的时间戳订购,将时钟同步到群集中的微秒内,并使用故障转移协议,以确保跨时钟主失败的正确性。不透明度的农场在90台以3向复制的机器上运行TPC-C交易混音时,每秒可以进行540万笔新订单交易。

Transactions can simplify distributed applications by hiding data distribution, concurrency, and failures from the application developer. Ideally the developer would see the abstraction of a single large machine that runs transactions sequentially and never fails. This requires the transactional subsystem to provide opacity (strict serializability for both committed and aborted transactions), as well as transparent fault tolerance with high availability. As even the best abstractions are unlikely to be used if they perform poorly, the system must also provide high performance. Existing distributed transactional designs either weaken this abstraction or are not designed for the best performance within a data center. This paper extends the design of FaRM - which provides strict serializability only for committed transactions - to provide opacity while maintaining FaRM's high throughput, low latency, and high availability within a modern data center. It uses timestamp ordering based on real time with clocks synchronized to within tens of microseconds across a cluster, and a failover protocol to ensure correctness across clock master failures. FaRM with opacity can commit 5.4 million neworder transactions per second when running the TPC-C transaction mix on 90 machines with 3-way replication.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源