[论文解读] Partitioned Paxos via the Network Data Plane
Partitioned Paxos 通过将协议达成(通过可编程网络数据平面处理)与执行(通过状态分区和并行性优化)解耦,在无需修改应用的情况下,相比传统实现,将键值工作负载的延迟降低至×3,吞吐量提升至×11。
Consensus protocols are the foundation for building fault-tolerant, distributed systems, and services. They are also widely acknowledged as performance bottlenecks. Several recent systems have proposed accelerating these protocols using the network data plane. But, while network-accelerated consensus shows great promise, current systems suffer from an important limitation: they assume that the network hardware also accelerates the application itself. Consequently, they provide a specialized replicated service, rather than providing a general-purpose high-performance consensus that fits any off-the-shelf application. To address this problem, this paper proposes Partitioned Paxos, a novel approach to network-accelerated consensus. The key insight behind Partitioned Paxos is to separate the two aspects of Paxos, agreement, and execution, and optimize them separately. First, Partitioned Paxos uses the network forwarding plane to accelerate agreement. Then, it uses state partitioning and parallelization to accelerate execution at the replicas. Our experiments show that using this combination of data plane acceleration and parallelization, Partitioned Paxos is able to provide at least x3 latency improvement and x11 throughput improvement for a replicated instance of a RocksDB key-value store.
研究动机与目标
- 为解决共识协议中的性能瓶颈,该瓶颈限制了容错分布式系统的可扩展性。
- 克服先前基于网络加速的共识系统所受的限制,这些系统需要为应用定制专用的网络内实现,从而限制了通用适用性。
- 通过分离协议达成与执行优化,使未经修改的现成应用也能受益于高性能共识。
- 证明从网络到存储的全栈软硬件协同设计可带来显著的性能提升。
提出的方法
- 使用可编程网络硬件(ToFino ASIC)在数据平面中实现Paxos协议的两个阶段,加速协议达成过程,且无需修改网络转发行为。
- 将应用状态划分为多个分片,每个分片由独立的Paxos实例管理,以实现并行执行。
- 为每个分片部署多个并行Paxos副本,使执行性能随分片数量线性扩展。
- 集成内核旁路(DPDK)和优化存储(RocksDB),以减少主机层延迟并最大化吞吐量。
- 使用基于软件的备用领导者(DPDK实现),在领导者故障时确保容错,通过三次重试后自动切换。
- 使用基于网络的领导者负责共识协调,而将状态管理和执行负载卸载至应用副本。
实验结果
研究问题
- RQ1是否可以在不修改应用或要求专用网络应用实现的前提下,显著提升共识性能?
- RQ2将协议达成(网络加速)与执行(分片化与并行化)分离,对端到端系统性能有何影响?
- RQ3网络数据平面加速与应用级并行化在共识协议中联合提升吞吐量和降低延迟的潜力有多大?
- RQ4基于网络的共识对主机应用的性能影响如何?系统在故障条件下是否仍能保持可扩展性?
主要发现
- 在数据中心环境中,Partitioned Paxos 相较于传统软件实现的Paxos,延迟降低至×3。
- 系统在Barefoot ToFino ASIC上维持了每秒超过25亿条共识消息的吞吐量,协议达成吞吐量相比传统方案提升了四个数量级。
- 对于复制的RocksDB键值存储,Partitioned Paxos 的吞吐量相比标准实现提升了11倍,且应用修改极少。
- 在接受者故障期间,系统保持高可用性,吞吐量未下降,因应用本身仍是性能瓶颈。
- 领导者故障期间,吞吐量在故障切换期间短暂下降,但一旦基于DPDK的备用领导者接管,吞吐量完全恢复,达到约每秒25万条消息。
- 评估结果证实,只有通过全栈优化(包括网络、内核旁路、文件系统和存储层)才能实现性能提升。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。