Consensus algorithms are deployed in the wide area to achieve high availability for geographically replicated applications. Wide-area consensus is challenging due to two main reasons: (1) low throughput due to the high latency overhead of client request dissemination and (2) network asynchrony that causes consensus protocols to lose liveness. In this paper, we propose Mandator and Sporades, a modular state machine replication algorithm that enables high performance and resiliency in the wide-area setting. To address the high client request dissemination overhead challenge, we propose Mandator, a novel consensus-agnostic asynchronous dissemination layer. Mandator separates client request dissemination from the critical path of consensus to obtain high performance. Composing Mandator with Multi-Paxos (Mandator-Paxos) delivers significantly high throughput under synchronous networks. However, under asynchronous network conditions, Mandator-Paxos loses liveness which results in high latency. To achieve low latency and robustness under asynchrony, we propose Sporades, a novel omission fault-tolerant consensus algorithm. Sporades consists of two modes of operations -- synchronous and asynchronous -- that always ensure liveness. The combination of Mandator and Sporades (Mandator-Sporades) provides a robust and high-performing state machine replication system. We implement and evaluate Mandator-Sporades in a wide-area deployment running on Amazon EC2. Our evaluation shows that in the synchronous execution, Mandator-Sporades achieves 300k tx/sec throughput in less than 900ms latency, outperforming Multi-Paxos, EPaxos and Rabia by 650\% in throughput, at a modest expense of latency. Furthermore, we show that Mandator-Sporades outperforms Mandator-Paxos, Multi-Paxos, and EPaxos in the face of targeted distributed denial-of-service attacks.
翻译:在广域部署共识运算法, 以达到在地理上复制应用程序的高可用性。 广域共识之所以具有挑战性, 原因有两大:(1) 由于客户请求传播的透明性管理高, 以及(2) 网络无同步性, 导致共识协议失去生命力。 在本文中, 我们提议了调控和Sporades, 这是一种模块化的州机器复制算法, 使得广域环境中的性能和再恢复力能够达到高清晰度。 为了应对高客户要求传播的间接挑战, 我们提议了调控, 一种新颖的共识传播速度。 调控将客户请求的传播与关键共识路径相分离。 配制多轴( mandator- Paxos) 的配制程序, 在同步的网络中提供高性能和弹性的传输。 但是, 调制的调压性电压- 调压- 调压- 调压- 调压- 调压- 调和性压- 运行性调压- 运行中显示两种模式的运行- 调制- 运行- 调制- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 运行- 演制- 演制- 演制- 演制- 演制- 演制- 运行- 演制- 运行- 运行- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 运行- 演- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 演制- 运行- 演制- 演制- 演制- 演制- 运行- 演制- 演制- 演制-