This paper presents a high-performance consensus protocol, Nezha, which can be deployed by cloud tenants without any support from their cloud provider. Nezha bridges the gap between protocols such as Multi-Paxos and Raft, which can be readily deployed and protocols such as NOPaxos and Speculative Paxos, that provide better performance, but require access to technologies such as programmable switches and in-network prioritization, which cloud tenants do not have. Nezha uses a new multicast primitive called deadline-ordered multicast (DOM). DOM uses high-accuracy software clock synchronization to synchronize sender and receiver clocks. Senders tag messages with deadlines in synchronized time; receivers process messages in deadline order, on or after their deadline. We compare Nezha with Multi-Paxos, Fast Paxos, Raft, a NOPaxos version we optimized for the cloud, and 2 recent protocols, Domino and TOQ-EPaxos, that use synchronized clocks. In throughput, Nezha outperforms all baselines by a median of 5.4x (range: 1.9-20.9x). In latency, Nezha outperforms five baselines by a median of 2.3x (range: 1.3-4.0x), with one exception: it sacrifices 33% latency compared with our optimized NOPaxos in one test. We also prototype two applications, a key-value store and a fair-access stock exchange, on top of Nezha to show that Nezha only modestly reduces their performance relative to an unreplicated system. Nezha is available at https://github.com/Steamgjk/Nezha.
翻译:本文展示了一个高性能共识协议, Nezha, 它可以由云租户在没有云中提供任何支持的情况下部署。 Nezha 能够弥合多帕克斯和拉夫特等协议之间的缺口, 多帕科斯和拉夫特等协议可以随时部署, 以及诺帕克斯和光谱和平协会等协议, 可以提供更好的性能, 但是我们需要获得一些技术, 如可编程开关和网络内排序, 而云租户没有。 Nezha 使用一个新的多式原始原始协议, 叫做定时制多米诺和TO- QAxx多盘( DOM )。 DOM 使用高精度软件时钟同步来同步发送和接收时钟。 发送者用同步时间标记信息; 接收者按最后期限、 在最后期限前后或按时间顺序处理信息。 我们比较了Nezhax的多帕克斯、快帕克斯、 拉夫特、 诺帕克斯版本, 以及两个最近的协议, 多米诺和TO- Epax, 仅使用同步时钟。 在通关中, Neztestea 将所有基线比值比值比值比值比值比值比值为5.4x 。