Skip to main content
QUICK REVIEW

[論文レビュー] Harmonia: Near-Linear Scalability for Replicated Storage with In-Network Conflict Detection

Hang Zhu, Zhihao Bai|arXiv (Cornell University)|Apr 18, 2019
Distributed systems and fault tolerance参考文献 46被引用数 4
ひとこと要約

Harmonia は、プログラマブルなネットワークスイッチを用いて読み書きの競合検出をデータプレーンに移譲することで、強力な整合性を維持しながらほぼ線形のスケーラビリティを達成するレプリケートストレージシステムである。ラインレートでデータプレーンで汚染済みオブジェクトを追跡することにより、非競合オブジェクトの読み取りを任意のレプリカが処理可能となり、レプリケーション要因が 10 の場合、性能のオーバーヘッドなしにスループットを最大 10 倍に向上できる。

ABSTRACT

Distributed storage employs replication to mask failures and improve availability. However, these systems typically exhibit a hard tradeoff between consistency and performance. Ensuring consistency introduces coordination overhead, and as a result the system throughput does not scale with the number of replicas. We present Harmonia, a replicated storage architecture that exploits the capability of new-generation programmable switches to obviate this tradeoff by providing near-linear scalability without sacrificing consistency. To achieve this goal, Harmonia detects read-write conflicts in the network, which enables any replica to serve reads for objects with no pending writes. Harmonia implements this functionality at line rate, thus imposing no performance overhead. We have implemented a prototype of Harmonia on a cluster of commodity servers connected by a Barefoot Tofino switch, and have integrated it with Redis. We demonstrate the generality of our approach by supporting a variety of replication protocols, including primary-backup, chain replication, Viewstamped Replication, and NOPaxos. Experimental results show that Harmonia improves the throughput of these protocols by up to 10X for a replication factor of 10, providing near-linear scalability up to the limit of our testbed.

研究の動機と目的

  • レプリケートストレージシステムにおける性能ボトルネックを解決すること。具体的には、レプリカ数の増加に伴い協調処理のオーバーヘッドによりスループットが低下する問題を解消すること。
  • 強い整合性(線形化可能性)を損なわず、読み込み中心のワークロードにおいてほぼ線形のスケーラビリティを実現すること。
  • 従来の競合検出方式がもたらす性能ペナルティを解消するために、それをネットワークデータプレーンに移譲すること。
  • プライマリバックアップ、チェーンレプリケーション、Viewstamped Replication、NOPaxos といった多様なレプリケーションプロトコルを、そのコアロジックを変更せずにサポートすること。
  • ネットワーク内処理が、レプリカ間でスケーラブルで、整合性があり、低オーバーヘッドな読み取り配布を可能にすることを実証すること。

提案手法

  • ストレージクラスタへのすべての読み取りおよび書き込みリクエストを監視できるプログラマブルスイッチ(Barefoot Tofino)をデータパスに配置する。
  • スイッチのデータプレーンに、進行中の書き込みがあるオブジェクトの即時 dirty 状態を保持する競合検出モジュールを実装する。
  • 各読み取りリクエストをスイッチが検査し、進行中の書き込みと競合しない場合に、任意のレプリカにリダイレクトする。
  • スイッチのフェイルオーバー時にも、最後にコミットされたポイントと dirty 状態のセットを一貫して維持するため、スイッチ状態の同期を実装する。
  • クライアントおよびサーバーロジックを拡張してスイッチ指向ルーティングをサポートすることで、Harmonia を既存のストレージシステム(例:Redis)と統合する。
  • スイッチのラインレート処理能力を活用し、ほぼゼロの遅延とオーバーヘッドで競合チェックを実行する。

実験結果

リサーチクエスチョン

  • RQ1ネットワーク内競合検出は、強い整合性を損なわず、レプリケートストレージでほぼ線形のスケーリングを実現できるか?
  • RQ2プログラマブルスイッチは、最小限のメモリと遅延で、多数のオブジェクトについて整合性を追跡・強制できるか?
  • RQ3競合検出メカニズムは、プライマリバックアップやクorumベースのシステムを含む多様なレプリケーションプロトコルに一般化可能か?
  • RQ4競合検出をネットワークに移譲することで、レプリカ数の増加に伴う従来のレプリケートシステムで見られる性能ボトルネックが解消されるか?
  • RQ5スイッチのフェイルオーバーまたはリカバリ時でも、高いスループットと低遅延を維持できるか?

主な発見

  • レプリケーション要因が 10 の場合、Harmonia は従来のレプリケーションプロトコルと比較して最大 10 倍のスループットを達成し、ほぼ線形のスケーリングを実現した。
  • 非 dirty オブジェクトへの読み取りのみをレプリカにリダイレクトすることで、線形化可能性を維持しており、古くまたはコミット前のデータが提供されないことを保証している。
  • 競合検出はスイッチのデータプレーンでラインレートで実行され、性能のオーバーヘッドは無視できるほど小さく、リアルタイムかつスケーラブルなルーティング意思決定を可能にしている。
  • スイッチベースの dirty 状態追跡は、障害時にも一貫性を保ち、スイッチの再起動後数秒以内に完全なスループットを回復できる。
  • Harmonia は、NOPaxos や Viewstamped Replication、チェーンレプリケーション、プライマリバックアップなど、複数のレプリケーションプロトコルと互換性があり、コアロジックの変更なしに利用可能である。
  • Barefoot Tofino スイッチを搭載したコンmodityクラスタ上でのプロトタイプ実装により、本アプローチが実世界の展開において実用的で効率的であることが確認された。

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

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

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

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