分布式共识新算法:PigPaxos突破Paxos通讯瓶颈,吞吐量提高尽3.5倍


PigPaxos的中心思想是使跟随者服务器节点与领导者服务器节点的通讯脱钩。PigPaxos修改了通信流程,使用基于中继的通信流程代替Paxos中领导者和跟随者之间的直接通信。PigPaxos在每个通信回合中从跟随者群集中随机选择中继,以减少争用并提高吞吐量的可伸缩性。 
这是由Aleksey Charapko发起和领导。(您可以在arxiv.org上获取该论文。该论文目前正在提交给期刊。
在最近的Sigmod论文中,表明了领导者瓶颈是Paxos协议系列可扩展性问题的根源,并使用公式对此瓶颈进行了量化。
现在,人们PigPaxos这种简单技术的有效性感到惊讶,重复了很多次实验,并仔细检查了所有内容,然后才让我们相信这些结果。使用中继节点来减轻领导者的压力,并随机选举中继节点以消除通信瓶颈,确实为性能带来了惊喜。 我们发现,PigPaxos将吞吐量限制提高了3倍以上,而Paxos在25个节点上的延迟恶化却可以忽略不计。即使对于低至9个节点,我们也能看到与Paxos相同的延迟,吞吐量提高了1.5倍。
现在PigPaxos可以将Paxos扩展到数百个节点!这可能是可行的,因为这将减轻领导者的通信瓶颈。
Paxos协议最常部署3个和5个节点。但是,但有一些应用程序需要垂直扩展Paxos才能在大量节点上运行,所有这些节点都在同一冲突域内。
一个示例是地理复制数据库。地理复制数据库中的共识组可能包含全球许多地区的数十个节点。正如我们在评估中所显示的,PigPaxos在具有大量节点的WAN部署中显着提高了吞吐量可伸缩性。即使对于节点数少(例如5个)的Paxos集群,大型消息(例如CockroachDB和Spanner中的数据库复制消息)也会在领导者身上引发通信瓶颈。PigPaxos的随机中继技术也可以帮助解决这些瓶颈。
虽然PigPaxos中的想法很简单,并且在弱一致性复制协议的上下文中采用了类似的基于聚合的方法,但是PigPaxos却很新颖,因为它显示了如何将这些基于聚合的方法有效且安全地集成到强一致性分布式共识中协议。PigPaxos技术是一种简单的通用技术,适用于许多Paxos变体协议,包括Raft,Zab,WPaxos等。

点击标题见原文详细分析和验证。