[論文レビュー] 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 を用いたソフトウェアベースのバックアップリーダーを実装し、リーダー障害時における耐障害性を確保。3回のリトライ後に自動フェイルオーバーを実行。
- ネットワークベースのリーダーが合意形成の調整を担当し、ステート管理と実行処理をアプリケーションレプリカにオフロードする。
実験結果
リサーチクエスチョン
- RQ1アプリケーションの変更や専用のネットワークベースのアプリケーション実装を要件とせずに、合意形成の性能を顕著に向上させることは可能か?
- RQ2合意形成(ネットワークで加速)と実行(シャーディングおよび並列処理)を分離することで、エンドツーエンドのシステム性能にどのような影響を与えるか?
- RQ3ネットワークデータプレーンでの加速とアプリケーションレベルの並列処理を併用することで、合意形成プロトコルにおけるスループット向上と遅延低減にどの程度寄与できるか?
- RQ4ネットワークベースの合意形成がホストアプリケーションに与える性能への影響は何か?また、障害発生時においてもシステムはスケーラブルに保たれるか?
主な発見
- データセンタ環境において、従来のソフトウェアベースの Paxos 実装と比較して、Partitioned Paxos は遅延を 3× 減少させた。
- Barefoot ToFino ASIC 上で、1秒間に 25 億件を超える合意メッセージを維持可能であり、合意処理スループットで 4 次元の向上を達成した。
- レプリケートされた RocksDB キー値ストアにおいて、Partitioned Paxos は標準実装と比較してスループットを 11× 向上させ、アプリケーションの変更は最小限に抑えた。
- アセプタ障害時においても、システムは高い可用性を維持し、スループットに低下が生じなかった。これは、アプリケーションが性能ボトルネックのままであるためである。
- リーダー障害発生時、フェイルオーバー中は一時的にスループットが低下するが、DPDK ベースのバックアップリーダーが起動すると完全に回復し、約 25 万件/秒のメッセージ処理が可能になった。
- 評価から、ネットワーク、カーネルバイパス、ファイルシステム、ストレージレイヤーを含むスタック全体の最適化が、性能向上を実現する唯一の要因であることが確認された。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。