Skip to main content
QUICK REVIEW

[論文レビュー] Scaling Replicated State Machines with Compartmentalization [Technical Report]

Michael Whittaker, Ailidani Ailijiang|arXiv (Cornell University)|Dec 31, 2020
Distributed systems and fault tolerance参考文献 44被引用数 4
ひとこと要約

この論文は、マルチペキシスなどの状態機械レプリケーションプロトコルにおけるスループットボトルネックを排除するためのコンパートメンタイゼーションという技術を導入する。これは、命令のシーケンシングとブロードキャストといった異なるコンponentを分離し、個別にスケーリングすることで、専用ハードウェアや強い仮定を用いずに、書き込み専用ワークロードで6倍、ミックスドリード・ライトワークロードで16倍のスループット向上を達成する。

ABSTRACT

State machine replication protocols, like MultiPaxos and Raft, are a critical component of many distributed systems and databases. However, these protocols offer relatively low throughput due to several bottlenecked components. Numerous existing protocols fix different bottlenecks in isolation but fall short of a complete solution. When you fix one bottleneck, another arises. In this paper, we introduce compartmentalization, the first comprehensive technique to eliminate state machine replication bottlenecks. Compartmentalization involves decoupling individual bottlenecks into distinct components and scaling these components independently. Compartmentalization has two key strengths. First, compartmentalization leads to strong performance. In this paper, we demonstrate how to compartmentalize MultiPaxos to increase its throughput by 6x on a write-only workload and 16x on a mixed read-write workload. Unlike other approaches, we achieve this performance without the need for specialized hardware. Second, compartmentalization is a technique, not a protocol. Industry practitioners can apply compartmentalization to their protocols incrementally without having to adopt a completely new protocol.

研究の動機と目的

  • マルチペキシスやRaftのような状態機械レプリケーションプロトコルにおける、モノリシックな責任が集中するリーダーによるパフォーマンスボトルネックを解消すること。
  • 既存のプロトコルが一度に一つのボトルネックしか解消しないという制限を克服し、新たなボトルネックが発生するのを防ぐこと。
  • 専用ハードウェア、完全な故故検出器、時 clocks 同期、またはキー分割された状態機械に依存せずに、高スループットな状態機械レプリケーションを実現すること。
  • 実用的かつ段階的に適用可能な一般化された技術を提供し、既存のプロトコルを完全に新しいものに置き換えることなく、改善を可能にすること。

提案手法

  • マルチペキシスにおけるモノリシックなリーダー役割を、命令のシーケンシングとメッセージブロードキャストという明確に分離されたコンponentに分解する。
  • ブロードキャスト処理をシーケンサとは独立して処理するためのプロキシリーダーを導入し、ブロードキャストフェーズの水平スケーリングを可能にする。
  • ブロードキャストフェーズに発生するボトルネックを解消するために、プロキシリーダーの数を増やす。このフェーズは明らかに並列化可能であり、非常に高い並列性を示す。
  • 適切な調整とクorumメカニズムを用いて、すべてのコンponentが元のマルチペキシスの安全保証を満たすようにすることで、プロトコルの正しさと一貫性を維持する。
  • 既存のプロトコルに段階的にコンパートメンタイゼーション技術を適用し、完全なプロトコル移行なしにデプロイを可能にする。
  • 各関数(シーケンシング、ブロードキャストなど)が独立して実行されるモジュラーかつコンポーネントベースのアーキテクチャを採用し、個別に最適化・スケーリング可能にする。

実験結果

リサーチクエスチョン

  • RQ1専用ハードウェアや強いシステム仮定に依存せずに、状態機械レプリケーションプロトコルを効果的にスケーリングできるか?
  • RQ2マルチペキシスのようなプロトコルのモノリシックコンponentを分離することで、測定可能なスループット向上が達成できるか?
  • RQ3プロトコルスタック全体を置き換えることなく、段階的に分離によるパフォーマンス向上を達成できるか?
  • RQ4コンパートメンタイゼーションは、ハーモニアやFLAIRのような既存の高スループットプロトコルと比較して、仮定の程度とパフォーマンスの両面で優れているか?
  • RQ5コンパートメンタイゼーションを適用した場合、スループットとレイテンシのトレードオフはどのように変化するか?

主な発見

  • コンパートメンタイズド・マルチペキシスは、6.66倍のマシン数を用いて、書き込み専用ワークロードで6倍のスループット向上を達成した。
  • 90%リード、10%ライトのワークロードでは、4.33倍のマシン数を用いて16倍のスループット向上を達成した。
  • パフォーマンス向上は、専用ハードウェア、完全な故故検出器、時 clocks 同期、均一なデータアクセスパターンを必要としない。
  • この技術は一般化可能であり、既存のプロトコルに段階的に適用可能で、実用者が完全なプロトコル置換なしにシステムをアップグレードできる。
  • シーケンシングとブロードキャストを分離することで、書き込みとリードの両方のボトルネックを排除し、特定のコンponentがパフォーマンスの制限要因とならない。
  • 4から6に増加した2回分のネットワーク遅延を加えても、スループットの大幅な向上のおかげで、広域ネットワーク環境への適用が依然として可能である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。