Fast General Distributed Transactions with Opacity

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.


Published in:
Sigmod '19: Proceedings Of The 2019 International Conference On Management Of Data, 433-448
Presented at:
ACM SIGMOD International Conference on Management of Data (SIGMOD), Amsterdam, NETHERLANDS, Jun 30-Jul 05, 2019
Year:
Jan 01 2019
Publisher:
New York, ASSOC COMPUTING MACHINERY
ISSN:
0730-8078
ISBN:
978-1-4503-5643-5
Keywords:
Laboratories:




 Record created 2019-12-26, last modified 2020-10-25


Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)