This paper presents a high-performance consensus protocol, Nezha, designed for single-cloud-region environments, 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 tags 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-based 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\% of latency performance 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://gitlab.com/steamgjk/nezhav2.
翻译:本文展示了一个高性能的共识协议,即Nezha(Nezha),该协议是为单球区域环境设计的,可以由云租户在没有云中提供任何支持的情况下部署。Nezha(Nezha)可以随时部署多帕克斯和拉夫(Raft)等协议,可以随时部署多帕克斯和拉夫(Raft)等协议,可以提供更好的业绩,但需要获得可编程开关和网络内优先排序等技术,而云租户没有这种技术。Nezha(DOM)使用一个新的多播的原始原始的、叫做定时点定序的多萨(DOM)。DOM(DOM)使用高精度软件时钟同步来同步发送和接收时钟。发件人将信息与最后期限同步;接收人按最后期限顺序处理信息,如NOPax(NOHos)等协议。我们将Nezha(NOPa)与多巴克斯(Flax(Oral-lax)的顶级/QAx(We-lax(O-lax) lax(Sy cal Tal Talx) lax) lax(Oral Talx) lax(Sy) lax) lax(Syal-lex) lax(Sility) lax) lax(Sy) lax) lax(Sility) ex) ex)的底底底底底底运行(Sility)系统(Sility(Silvax) 底底底底底值操作)系统,可以显示为5.4x(Ox(x)系统,以5.4x(x)的底底端的底基)的底的底基)系统,以5.的底基)的底的底的底的底的底的底的底的底的底的底的底的底的底的底的底的底的底的底值為顯示為顯示為為顯示為顯示為為為為為顯示為顯示為顯示為顯示的底的底碼顯示的底的底碼顯示為為為為為正數為正數。