Creek: Low-latency, Mixed-Consistency Transactional Replication Scheme

Tadeusz Kobus,Maciej Kokociński,Paweł T. Wojciechowski
DOI: https://doi.org/10.48550/arXiv.1907.00748
2019-07-01
Distributed, Parallel, and Cluster Computing
Abstract:In this paper we introduce Creek, a low-latency, eventually consistent replication scheme that also enables execution of strongly consistent operations (akin to ACID transactions). Operations can have arbitrary complex (but deterministic) semantics. Similarly to state machine replication (SMR), Creek totally-orders all operations, but does so using two different broadcast mechanisms: a timestamp-based one and our novel conditional atomic broadcast (CAB). The former is used to establish a tentative order of all operations for speculative execution, and it can tolerate network partitions. On the other hand, CAB is only used to ensure linearizable execution of the strongly consistent operations, whenever distributed consensus can be solved. The execution of strongly consistent operations also stabilizes the execution order of the causally related weakly consistent operations. Creek uses multiversion concurrency control to efficiently handle operations' rollbacks and reexecutions resulting from the mismatch between the tentative and the final execution orders. In the TPC-C benchmark, Creek offers up to 2.5 times lower latency in returning client responses compared to the state-of-the-art speculative SMR scheme, while maintaining high accuracy of the speculative execution (92-100%).
What problem does this paper attempt to address?