Skip to main content
QUICK REVIEW

[論文レビュー] Technical Report: Optimistic Execution in Key-Value Store

Duong Nguyen, Aleksey Charapko|arXiv (Cornell University)|May 25, 2018
Distributed systems and fault tolerance参考文献 46被引用数 3
ひとこと要約

本論文は、Voldemortのような最終的整合性を持つキー値ストア上で、順序整合性を前提としたアプリケーションを安全に実行できるようにするdetect-rollback手法を提案する。正しさの条件(例:グラフ処理における相互排他)を監視することで、違反を検出し、直前の整合性のある状態にロールバックする。これにより、リージョナルネットワークにおいて、監視オーバーヘッドが4%未満、検出遅延が50ms未塔の条件下で、スループットが50–80%向上した。

ABSTRACT

Limitations of the CAP theorem imply that if availability is desired in the presence of network partitions, one must sacrifice sequential consistency, a consistency model that is more natural for system design. We focus on the problem of what a designer should do if he/she has an algorithm that works correctly with sequential consistency but is faced with an underlying key-value store that provides a weaker (e.g., eventual or causal) consistency. We propose a detect-rollback based approach: The designer identifies a correctness predicate, say $P$, and continues to run the protocol, as our system monitors $P$. If $P$ is violated (because the underlying key-value store provides a weaker consistency), the system rolls back and resumes the computation at a state where $P$ holds. We evaluate this approach with practical graph applications running on the Voldemort key-value store. Our experiments with deployment on Amazon AWS EC2 instances shows that using eventual consistency with monitoring can provide a $50-80\%$ increase in throughput when compared with sequential consistency. We also show that the overhead of the monitoring itself is low (typically less than 4\%) and the latency of detecting violations is small. In particular, more than $99.9\%$ of violations are detected in less than $50$ milliseconds in regional AWS networks, and in less than $5$ seconds in global AWS networks.

研究の動機と目的

  • 順序整合性に依存するアプリケーションを、最終的または因果的整合性を持つキー値ストア上で実行する課題に対処すること。
  • 弱い整合性モデル向けにアルゴリズムを見直す必要を減らし、ロールバック回復を可能にすることで安全な実行を実現すること。
  • 正しさの条件の監視における性能、オーバーヘッド、検出遅延を、実世界の分散アプリケーションで評価すること。
  • ネットワークパーティション下でも正しさを保ちながら、監視が顕著な性能向上をもたらすことを示すこと。

提案手法

  • 軽量で侵襲的でない監視モジュールを用いて、正しさの条件P(例:グラフ処理におけるローカル相互排他)を監視する。
  • 誤検出を低減し効率を向上させるために、ハイブリッドベクトルクロックを用いて条件検出を実装する。
  • Pの違反が検出されると、既存の低オーバーヘッドなロールバックシステム(例:Retroscope)により、直近の整合性のあるスナップショットにロールバックする。
  • 線形および準線形の条件をサポートし、従来の分散条件検出に関する先行研究のアルゴリズムを適応する。
  • 監視をVoldemortキー値ストアに統合し、AWS EC2上で実世界のパフォーマンスを評価する実験を実施する。
  • Voldemortにおけるアクティブレプリケーションを活用し、モニターフィードバックに基づいてクライアントが整合性レベルを動的に切り替えられるようにする。

実験結果

リサーチクエスチョン

  • RQ1順序整合性を前提としたアプリケーションを、最終的整合性を持つキー値ストア上で、実行時監視とロールバックを用いて安全に実行できるか?
  • RQ2分散キー値ストアにおける正しさの条件の監視に伴うパフォーマンスオーバーヘッドはどの程度か?
  • RQ3リージョナルおよびグローバルなネットワークトポロジーにおいて、条件違反はどの程度の速さで検出できるか?
  • RQ4監視により、順序整合性を用いる場合と比較して、スループットはどの程度向上するか?
  • RQ5監視フレームワークは、正しさの確保に加え、動的整合性レベルの適応にも利用可能か?

主な発見

  • グラフ処理ワークロードにおいて、最終的整合性を用いることで、順序整合性を用いる場合に比べてスループットが50–80%向上した。
  • 通常状態では監視オーバーヘッドが常に4%未満であり、負荷のかかる実験では8%未塔だった。
  • リージョナルAWSネットワークにおいて、99.9%以上の条件違反が50ミリ秒以内に検出された。
  • グローバルネットワークにおける検出遅延は5秒未塔を維持し、ロールバックによる無駄な計算を最小限に抑えた。
  • 条件違反の発生頻度は非常に低く、ネットワークパーティション下でも本手法が実用的であることが示された。
  • モニタからのフィードバックにより、長時間にわたるネットワーク不安定時に順序整合性に切り替えるなど、動的適応が可能になった。

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

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

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

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