Performance-Optimal Read-Only Transactions (Extended Version)
Report ID: TR-005-20Author: Lloyd, Wyatt / Sen, Siddhartha / Lu, Haonan
Date: 2022-04-12
Pages: 24
Download Formats: |PDF|
Abstract:
Read-only transactions are critical for consistently reading data spread across a distributed storage system but have worse performance than simple, non-transactional reads. We identify three properties of simple reads that are necessary for read-only transactions to be performance-optimal, i.e., come as close as possible to simple reads. We demonstrate a fundamental tradeoff in the design of read-only transactions by proving that performance optimality is impossible to achieve with strict serializability, the strongest consistency. Guided by this result, we present PORT, a performanceoptimal design with the strongest consistency to date. Central to PORT are version clocks, a specialized logical clock that concisely captures the necessary ordering constraints. We show the generality of PORT with two applications. Scylla-PORT provides process-ordered serializability with simple writes and shows performance comparable to its nontransactional base system. Eiger-PORT provides causal consistency with write transactions and significantly improves the performance of its transactional base system.