Modern web applications replicate their data across the globe and require strong consistency guarantees for their most critical data. These guarantees are usually provided via state-machine replication (SMR). Recent advances in SMR have focused on leaderless protocols, which improve the availability and performance of traditional Paxos-based solutions. We propose Tempo - a leaderless SMR protocol that, in comparison to prior solutions, achieves superior throughput and offers predictable performance even in contended workloads. To achieve these benefits, Tempo timestamps each application command and executes it only after the timestamp becomes stable, i.e., all commands with a lower timestamp are known. Both the timestamping and stability detection mechanisms are fully decentralized, thus obviating the need for a leader replica. Our protocol furthermore generalizes to partial replication settings, enabling scalability in highly parallel workloads. We evaluate the protocol in both real and simulated geo-distributed environments and demonstrate that it outperforms state-of-the-art alternatives.
翻译:现代网络应用在全球复制其数据,并需要对其最重要的数据提供强有力的一致性保障。这些保障通常是通过国家机器复制(SMR)提供的。标准MR的最近进展侧重于无领导协议,这些协议改善了传统和平解决方案的可用性和性能。我们建议Tempo(一个无领导标准MR协议)与以前的解决办法相比,实现更高的输送量,甚至在工作量增加的情况下也提供可预测的性能。为了实现这些效益,每个应用程序都安装时间戳,并在时间戳稳定后才能执行,即所有使用较低时间戳的指令都是已知的。时间戳和稳定性探测机制都完全分散,从而避免了领导人复制的需要。我们的协议进一步概括了部分复制环境,使高度平行的工作量能够伸缩。我们在真实和模拟地理分布环境中都对协议进行了评估,并证明它超越了最先进的替代品。