Skip to main content
QUICK REVIEW

[論文レビュー] Microsecond Consensus for Microsecond Applications

Marcos K. Aguilera, Naama Ben-David|arXiv (Cornell University)|Oct 13, 2020
Distributed systems and fault tolerance参考文献 59被引用数 10
ひとこと要約

Muは、アクセス制御付きRDMAワンサイド書き込みを活用して、1.3マイクロ秒未塔(99パーセンタイル:1.6 μs)でリクエストをレプリケートする高性能でマイクロ秒最適化されたステートマシンレプリケーション(SMR)システムを提案する。フェイルオーバー時間は873μs(99パーセンタイル:945 μs)に短縮され、従来のシステムと比べて遅延を60%以上、90%以上削減する。本システムは、新規のRDMAベースのコンセンサスプロトコルとプル・スコア故故検出メカニズムを採用し、マイクロ秒スケールのアプリケーションに最適な高速で安全かつスケーラブルなレプリケーションを実現する。

ABSTRACT

We consider the problem of making apps fault-tolerant through replication, when apps operate at the microsecond scale, as in finance, embedded computing, and microservices apps. These apps need a replication scheme that also operates at the microsecond scale, otherwise replication becomes a burden. We propose Mu, a system that takes less than 1.3 microseconds to replicate a (small) request in memory, and less than a millisecond to fail-over the system - this cuts the replication and fail-over latencies of the prior systems by at least 61% and 90%. Mu implements bona fide state machine replication/consensus (SMR) with strong consistency for a generic app, but it really shines on microsecond apps, where even the smallest overhead is significant. To provide this performance, Mu introduces a new SMR protocol that carefully leverages RDMA. Roughly, in Mu a leader replicates a request by simply writing it directly to the log of other replicas using RDMA, without any additional communication. Doing so, however, introduces the challenge of handling concurrent leaders, changing leaders, garbage collecting the logs, and more - challenges that we address in this paper through a judicious combination of RDMA permissions and distributed algorithmic design. We implemented Mu and used it to replicate several systems: a financial exchange app called Liquibook, Redis, Memcached, and HERD. Our evaluation shows that Mu incurs a small replication latency, in some cases being the only viable replication system that incurs an acceptable overhead.

研究の動機と目的

  • 金融、組み込みシステム、マイクロサービス分野におけるマイクロ秒スケールのアプリケーションに不適切な、数百マイクロ秒のオーバーヘッドを伴う従来のSMRシステムにおける重要なパフォーマンスギャップを解消すること。
  • マイクロ秒スケールのアプリケーションに適合するレベルまで、レプリケーションおよびフェイルオーバー遅延を低減すること。
  • 複数ラウンドの通信や二方向メッセージングを必要とせず、ワンサイドRDMA操作の1ラウンドでコンセンサスとレプリケーションを達成する新しいSMRプロトコルの設計。
  • ネットワークジタータイムの影響を受けにくく、誤検出を回避するための、RDMA上でのプル・スコアメカニズムを用いた高速で信頼性の高い故故検出の実現。
  • 高速パスとスロー・パスのパフォーマンスのトレードオフという伝統的な神話に挑戦し、低共通パス遅延と低フェイルオーバー時間の両方を達成すること。

提案手法

  • 1回の通信ラウンドで、各レプリカのログに直接リクエストをレプリケートするために、RDMAワンサイド書き込み操作を活用し、フォロワーとの往復通信を排除する。
  • RDMA書き込み権限を用いて各レプリカのログへの排他書き込みアクセスを強制し、複数のリーダーが同時にログを破損するのを防ぐ。
  • レプリカがRDMAを介してリーダーのハートビートカウンタを定期的に読み取るプル・スコア故故検出メカニズムを実装。スコア(連続して同じ値が読み取られた回数)がしきい値を超えた場合に故故を宣言する。
  • RDMA権限の更新に基づく軽量なリーダー変更プロトコルを採用。現代のRDMA対応NICでは、この更新が原子的かつ効率的に行える。
  • ログ記録、状態管理、クライアント連携、インスタンスライフサイクル管理を含む、汎用的なアプリケーションをサポートするステートマシンレプリケーションフレームワークを設計。
  • システムコールの最小化やメモリマップドI/Oの使用といった、従来のRDMA最適化手法を統合し、CPUオーバーヘッドを低減し、エンドツーエンドの遅延を改善する。

実験結果

リサーチクエスチョン

  • RQ1ワンサイドRDMA操作のみを用いて、マイクロ秒スケールのアプリケーションに適したサブマイクロ秒のレプリケーション遅延を達成できるか?
  • RQ2二方向通信や複数ラウンド通信を必要とせず、RDMA権限を活用して、複数のリーダーによる同時書き込みを防げるか?
  • RQ3ネットワークタイムアウトに依存せず、ジャイタの影響を受けることなく、マイクロ秒スケールで高速かつ正確な故故検出が可能か?
  • RQ4高速パスとスロー・パスのパフォーマンスの伝統的トレードオフを覆し、低レプリケーション遅延と低フェイルオーバー時間の両方を同時に達成できるか?
  • RQ5ワンサイドRDMA操作と許可ベースの協調メカニズムのみで、完全に機能するSMRシステムを構築できる範囲はどの程度か?

主な発見

  • Muは、平均で1.3マイクロ秒未塔(99パーセンタイル:1.6マイクロ秒)で小さなリクエストをレプリケートし、最も速い従来システムと比べて61%の遅延削減を達成した。
  • フェイルオーバー時間は873マイクロ秒(99パーセンタイル:945 μs)に短縮され、従来システムのフェイルオーバー時間の少なくとも90%を削減。最も速い従来システム(HovercRaft)は10ミリ秒を要した。
  • コンセンサスとレプリケーションが、並列RDMA書き込みの1ラウンドで達成され、複数ラウンドの通信や二方向操作の必要がなくなった。
  • プル・スコア故故検出メカニズムにより、平均で約600マイクロ秒で故故検出が可能であり、ネットワークジタータイムではなくプロセススケジューリングのばらつきが主な制限要因である。
  • RDMA権限の使用により、複数リーダーが同時に書き込む状況下でも、レースコンディションが生じない安全な1ラウンドレプリケーションが可能であり、1回のリーダーのみがレプリカのログに書き込めるよう保証される。
  • Liquibook、Redis、Memcached、HERDといった実世界のシステムを対象とした評価から、Muはマイクロ秒アプリケーションに唯一実用可能なレプリケーションシステムであることが示された。その理由は、極めて低いオーバーヘッドに起因する。

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

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

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

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