分散式共識新演算法:PigPaxos突破Paxos通訊瓶頸,吞吐量提高盡3.5倍

banq發表於2020-03-19

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等。

點選標題見原文詳細分析和驗證。

相關文章