13

以下の質問は、軽薄ではなく真剣であることを意図しています。分散システムの経験はありませんが、基本的な Paxos がどのように機能するか、およびリーダーの選択が役立つ理由は理解しています。残念ながら、私の理解は、以下の質問を理解するのに十分ではありません.

論文Consensus on Transaction Commitの 8 ページ (リンクされた PDF の 11 ページ) には、次のステートメントがあります。

一意のリーダーを選択することは、コンセンサス問題を解決することと同じです。

この声明が真実であり、コンセンサスを達成することが Paxos のまさに目的である場合、なぜ Paxos 自体が一般的にリーダー選挙に使用されないのでしょうか?

さらに、同じ論文は、Stable Leader Election論文で説明されているリーダー選出アルゴリズムを支持しています。

2 つの問題が同等であり、同じ論文が別のリーダー選出アルゴリズムを支持している場合、Paxos の代わりに一般的なコンセンサス問題を解決するために他のアルゴリズムを使用しないのはなぜですか?

4

2 に答える 2

6

Paxosリーダー選挙で使用されます。リーダーを持つ paxos バリアント (例: Multi-paxos、Raft) では、リーダーは、Paxos インスタンスによって選択されたデータを持つノードであるか、またはリーダーが独自の遷移で選出されます ( Paxosという用語を使用する人もいます)。インスタンス; コンセンサス アルゴリズムは、分散型の有限状態マシンで遷移を選択するものと考えるのが好きです。)

すべての正しいコンセンサス アルゴリズムは Basic Paxos にマッピングできますが、それぞれが異なる目的のために最適化されています。これらには、Multi Paxos、Raft、ZAB、Vertical Paxos、Cheap Paxos、および Chain Replication が含まれます。(後者の 3 つと、failure_tolerance+1ノードのみを必要とするすべてのコンセンサス アルゴリズムも、再構成のために別のコンセンサス システムを必要とします。しかし、余談です。)

Stable Leader Electionペーパーは、Paxos だけではありません。障害検出機能が含まれています(ざっと見たところ、これはリースベースのリーダーシップ モデルです)。そのため、Basic Paxos よりも高価です。

リーダーを必要とする私が維持しているシステムでは、障害検出器はコンセンサスプロトコルを利用してリーダーを解任/選出しますが、それ以外は完全に別のプロトコルです。

于 2014-05-22T22:34:21.160 に答える
0

私はあなたが上で言及した論文を読んでいませんでしたが、研究中に、アルゴリズムがすべてのメッセージをソートするにはオーバーヘッドが大きすぎるため、Paxos は実際には主にリーダーを選出するためだけに使用されることを知りました。リーダーの選挙に使用する理由は、100% のパーティション耐性があるからです。私が知っている他のすべてのアルゴリズムはそうではありません。-しかし、この基準を満たすものは他にもあるかもしれませんが、私は知りません.

私は論文を読みますが、安定した指導者選挙の論文から得られたのは、それは単なる概念であるということです. 彼らは最初にそれが何であるかを紹介し、その後アルゴリズムがそれを行う方法を紹介します。そして彼らがアルゴリズムを導入するとき、彼らは Paxos を再び参照します。(しかし、それは紙をスキャンするだけで、それ以上のものではありません)。

于 2014-05-22T10:26:23.673 に答える