Skip to main content
QUICK REVIEW

[論文レビュー] Space Bounds for Reliable Multi-Writer Data Store: Inherent Cost of Read/Write Primitives

Gregory Chockler, Dan Dobre|arXiv (Cornell University)|Aug 15, 2015
Distributed systems and fault tolerance参考文献 23被引用数 3
ひとこと要約

この論文は、基本的な読み取り/書き込みレジスタから信頼性のあるマルチライター原子レジスタをエミュレートするには、k台のクライアントとf回の障害耐性を想定した場合、少なくともkfレジスタの線形的な空間増加が不可避であり、これは順序実行時でさえも削減できないことを確立している。一方、Compare-and-Swap (CAS) プリミティブを用いることで、定数空間、ウェイトフリー、コンtention適応型の実装が可能となり、低競合状況では最適な時間計算量を達成できる。

ABSTRACT

Reliable storage emulations from fault-prone components have established themselves as an algorithmic foundation of modern storage services and applications. Most existing reliable storage emulations are built from storage services supporting arbitrary read-modify-write primitives. Since such primitives are not typically exposed by pre-existing or off-the-shelf components (such as cloud storage services or network-attached disks) it is natural to ask if they are indeed essential for efficient storage emulations. In this paper, we answer this question in the affirmative. We show that relaxing the underlying storage to only support read/write operations leads to a linear blow-up in the emulation space requirements. We also show that the space complexity is not adaptive to concurrency, which implies that the storage cannot be reliably reclaimed even in sequential runs. On a positive side, we show that Compare-and-Swap primitives, which are commonly available with many off-the-shelf storage services, can be used to emulate a reliable multi-writer atomic register with constant storage and adaptive time complexity.

研究の動機と目的

  • 読み取り/書き込みプリミティブのみで、故障に強い環境下での空間効率の良い信頼性のあるストレージエミュレーションが可能かどうかを特定すること。
  • このようなエミュレーションの空間コストが、順序実行時でさえも並行処理レベルに適応可能かどうかを調査すること。
  • Compare-and-Swap (CAS) などの最小限で広く利用可能なハードウェアプリミティブが、効率的で定数空間の信頼性のあるストレージ実装を可能にするかを同定すること。
  • 弱い正しさ保証(例:シングルライターの安全性とソロ終了性)のもとで、障害耐性のあるマルチライター・レジスタエミュレーションのストレージおよび時間計算量にタイトな境界を確立すること。
  • 正しさ条件を弱めたり、代替プリミティブを使用することで、読み取り/書き込みベースのエミュレーションの空間複雑度を低減可能かどうかを調査すること。

提案手法

  • k台のクライアントとf回の障害耐性を想定した場合、読み取り/書き込みプリミティブのみを用いたいかなる障害耐性のあるMWMRレジスタ実装に対しても、少なくともkf個のレジスタが必要であることを示す下界を証明する。
  • 順序実行において、クライアントの各書き込み操作がf個の新しいレジスタをカバーできることを示すカバーの議論を用いる。これにより、線形的な空間増加が生じる。
  • サーバー1台あたり1つのCASオブジェクトを用いてABD更新プリミティブをエミュレートするモジュラー構成を導入し、これを組み合わせて完全なマルチライターABDエミュレーションを構築する。
  • CASベースのアルゴリズムでは、タイムスタンプに基づく調整を用いてウェイトフリー性と正しさを保証する。タイムスタンプは非減少かつ一意であるため、終了性と進行性が保証される。
  • 時間計算量を解析する際、各クライアントが失敗したCAS呼び出しの回数を、ターゲットより小さい一意なタイムスタンプに基づいて上限を定める。これにより、最悪ケースの時間計算量がO(c²)(cは同時に実行されるクライアント数)となる。
  • 各サーバーに1つのCASオブジェクトを割り当てることで、定数空間の実装を達成する。これにより、サーバーの少数の障害にも耐性を持つ。

実験結果

リサーチクエスチョン

  • RQ1信頼性のあるマルチライター・レジスタを実装するために、読み取り/書き込みプリミティブが本質的に必要なのか、それともより単純なプリミティブで十分なのか?
  • RQ2信頼性のあるストレージエミュレーションの空間コストが、順序実行時でさえも並行処理レベルに適応可能なのか?
  • RQ3定数空間、障害耐性、ウェイトフリーなマルチライター原子レジスタ実装を可能にする最小限のハードウェアプリミティブ(例:CAS)は何か?
  • RQ4読み取り/書き込みベースの実装における線形的空間下界は、シングルライターの安全性やソロ終了性といった弱い正しさ条件のもとでも成立するのか?
  • RQ5高競合状況下で、CASベースの実装の最悪ケース時間計算量をO(c²)を超えて改善可能か?

主な発見

  • 読み取り/書き込みプリミティブのみを用いた障害耐性のあるマルチライター原子レジスタの実装には、k台のクライアントとf回の障害耐性を想定した場合、少なくともkf個のレジスタが必要である。
  • このような実装の空間コストは、順序実行時でも、1回の書き込み操作ごとにf個の新しいレジスタがカバーされるため、適応的に削減できない。
  • サーバーあたりのレジスタ数が定数mで制限される場合、ℓm個のクライアントをサポートするには、ストレージ下界が示唆するℓf台のサーバーに加え、f+1台の追加サーバーが必要となる。
  • サーバー1台あたり1つのCASオブジェクトを用いることで、定数空間、ウェイトフリー、コンテントション適応型のマルチライター原子レジスタ実装が達成可能である。
  • CASベースの実装の時間計算量は最悪ケースでO(c²)であり、cは同時に実行されるクライアント数である。これは、競合なしの実行ではABDの2ラウンドの複雑度と一致する。
  • CASベースのアルゴリズムはタイムスタンプに基づく調整により正しさを保証しており、非減少かつ一意なタイムスタンプが終了性と進行性を保証する。

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

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

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

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