分散システムのコンセンサス問題


8

分散システムについて初めて読むことを始めました。いくつかの組み合わせトポロジを使用した非同期モデルでは、コンセンサスが不可能であることをかなり巧妙に証明しています。一方、実際のシステムでは、PaxosやRaftなどの分散状態マシンを同期するために使用される複数の合意プロトコルがあります。この認識された矛盾の鍵は、いわゆる障害検出です。

私の質問は次のとおりです。PaxosやRaftのようなプロトコルは何をあきらめますか、つまり、定理に矛盾しないのですか?障害検出はどのようにここに収まりますか?

これらの関係を検討する価値のある論文はありますか?

回答:


6

FLP定理[1]は

単一のプロセッサのみが予告なしにクラッシュする場合でも、非同期分散システム内の一連のプロセッサがバイナリ値に同意することは不可能です。

Jennifer Welchによると、この不可能性の結果を回避する方法はいくつかあります。リンク先のウェブページを読むことをお勧めします

  1. システムの仮定の変更

    • 「ビザンチン将軍」問題などの同期システムを想定[2]
    • 故障検出器[3]が使用されている部分同期システムを想定
  2. または問題のステートメントを変更する

    • Paxosなどの終了(進行)は保証されません[4]
    • 無作為化プロトコル[5]
    • -set協定問題などの単一の値について合意する必要はありませんk
    • おおよその合意で正確な値について合意する必要はありません

[1] 1つの障害のあるプロセスでの分散コンセンサスの不可能性)JACM、1985。

[2] 断層の存在下で合意に達する JACM、1980。

[3] 信頼性の高い分散システムのための信頼性の低い障害検出器 JACM、1996。

[4] Paxos Made Simple TR。ランポート

[5] 自由選択の別の利点(拡張抄録):完全に非同期の合意プロトコル PODC、1983。2015年のEdsger W. Dijkstra Prizeを受賞しました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.