Skip to main content
QUICK REVIEW

[論文レビュー] Linearizable Replicated State Machines With Lattice Agreement

Xiong Zheng, Vijay K. Garg|arXiv (Cornell University)|Oct 13, 2018
Distributed systems and fault tolerance参考文献 17被引用数 5
ひとこと要約

本稿では、O(log f)の非同期ラティス合意プロトコルであるAsyncLAを提示する。これは従来のO(f)の境界を指数的に改善し、効率的な線形的整合性を保証するレプリケート状態機械(LaRSM)の実装を可能にする。一般化ラティス合意を最適化し、CRDTと統合することで、著者らは高スループット・低レイテンシーなLaRSMを実装した。これは正常時のスループットでSPaxosの1.3倍を達成し、障害発生時でも可用性を維持する。これにより、線形的整合性を保証するRSMにおいて、合意プロトコルの代替手段としてラティス合意が実用的であることが示された。

ABSTRACT

This paper studies the lattice agreement problem in asynchronous systems and explores its application to building linearizable replicated state machines (RSM). First, we propose an algorithm to solve the lattice agreement problem in $O(\log f)$ asynchronous rounds, where $f$ is the number of crash failures that the system can tolerate. This is an exponential improvement over the previous best upper bound. Second, Faleiro et al have shown in [Faleiro et al. PODC, 2012] that combination of conflict-free data types and lattice agreement protocols can be applied to implement linearizable RSM. They give a Paxos style lattice agreement protocol, which can be adapted to implement linearizable RSM and guarantee that a command can be learned in at most $O(n)$ message delays, where $n$ is the number of proposers. Later on, Xiong et al in [Xiong et al. DISC, 2018] give a lattice agreement protocol which improves the $O(n)$ guarantee to be $O(f)$. However, neither protocols is practical for building a linearizable RSM. Thus, in the second part of the paper, we first give an improved protocol based on the one proposed by Xiong et al. Then, we implement a simple linearizable RSM using the our improved protocol and compare our implementation with an open source Java implementation of Paxos. Results show that better performance can be obtained by using lattice agreement based protocols to implement a linearizable RSM compared to traditional consensus based protocols.

研究の動機と目的

  • 実用的な線形的整合性を保証するレプリケート状態機械(RSM)を構築するにあたり、既存のラティス合意プロトコルの非効率性を解消すること。
  • ラティス合意の非同期ラウンド複雑度をO(f)からO(log f)に低減し、性能を著しく向上させること。
  • 線形的整合性RSMの効率的実装を可能にする、実用的な一般化ラティス合意プロトコルを設計すること。
  • 提案されたLaRSMの性能を、正常時および障害発生時のPaxosベースのシステム(例:SPaxos)と比較して実験的に評価すること。

提案手法

  • 階層的協調と障害耐性クオーラムを介した値伝搬を用いて、O(log f)の非同期ラウンドを達成する新しいラティス合意アルゴリズムであるAsyncLAを設計する。
  • Xiongら(2018)の一般化ラティス合意プロトコルを最適化し、メッセージオーバーヘッドを低減し、書き込みが多いワークロード向けのバッチ処理を向上させる。
  • 改善されたラティス合意プロトコルとCRDTマップデータ構造を組み合わせ、決定的更新およびクエリをサポートする線形的整合性RSM(LaRSM)を実装する。
  • クライアント側のリトライメカニズムを採用し、短いタイムアウトを設定することで、レプリカ障害時でも可用性を維持し、継続的なリクエスト処理を可能にする。
  • クライアントがタイムアウト時にレプリカを動的に切り替えられるP2Pクライアントルーティングモデルを採用し、障害耐性と負荷分散を向上させる。
  • さまざまなクライアント負荷、障害シナリオ、読み取り/書き込み比率を想定したシミュレーションを通じて、スループット、レイテンシー、スケーラビリティを測定し、性能を評価する。

実験結果

リサーチクエスチョン

  • RQ1ラティス合意はO(log f)の非同期ラウンドで解けるか。これは従来のO(f)の境界を著しく改善する。
  • RQ2ラティス合意ベースのRSMは、スループットとレイテンシーの面で、SPaxosのようなコンセンサスベースのRSMを上回る性能を達成できるか。
  • RQ3提案されたLaRSMは、SPaxosのようなリーダー中心プロトコルと比較して、障害処理をどのように行うか。
  • RQ4読み込み対書き込み比率が高い場合、LaRSMの性能は向上するか。その理由は何か。
  • RQ5レプリカ数の増加に伴い、ラティス合意ベースのRSMにどのようなスケーラビリティの限界が生じるか。

主な発見

  • AsyncLAプロトコルは、O(log f)の非同期ラウンドを達成し、従来のO(f)の境界に対して指数的改善を実現した。
  • 正常負荷下で実装されたLaRSMは、SPaxosと比較して約1.3倍の高いスループットを達成した。
  • レプリカ障害時でもLaRSMはリクエスト処理を維持し、スループットは約20Kから約15Kリクエスト/秒に低下した。一方、SPaxosはリーダー障害時に完全に処理を停止した。
  • 正常時におけるLaRSMのレイテンシーはわずか約5ms増加にとどまり、障害時でも安定した。一方、SPaxosはリーダー障害時にレイテンシーが無限大にまで上昇した。
  • 読み込み対書き込み比率が高いほど性能が向上する。これは、小さなプロポーザル集合によりメッセージサイズが小さくなり、ラティス合意の完了が早まるためである。
  • LaRSMはレプリカ数の増加に伴いスケーラビリティが著しく低下する。これは、O(log f)のラウンド複雑度がf = (n−1)/2に依存しており、nが増加するとfも増加するためである。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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