6

「Paxos made simple」という名前の論文を読みましたが、まだいくつかの混乱がありました。

  1. 「paxos アルゴリズムのインスタンス」とは何を指していますか? 各インスタンスは、外部クライアントからの入力/コマンドがあることを示していますか? 各インスタンスの paxos アルゴリズムは並行して実行されますか???

  2. 提案を発行できる「著名な」提案者が 1 人しかいない場合、paxos アルゴリズムと 2 フェーズ コミット アルゴリズムの違いは何ですか?

  3. 実際のプロジェクトで paxos アルゴリズムをどこに適用できますか?

こちらの論文の方がより明確に説明されているようです: http://research.microsoft.com/pubs/64634/web-dsn-submission.pdf

他にアイデアはありますか?

4

1 に答える 1

10

「paxos アルゴリズムのインスタンス」とは何を指していますか? 各インスタンスは、外部クライアントからの入力/コマンドがあることを示していますか? 各インスタンスの paxos アルゴリズムは並行して実行されますか???

別の質問で「インスタンス」の質問に答えたので、ここで要約します。

基本的に、アルゴリズムの 1 回の実行を参照するために「クイックソートのインスタンス」と言うようなものです。Paxos の場合、リストをソートする代わりに、複数のホストにわたって値を選択します。paxos の複数のインスタンスを並行して実行できます。参加者はこれを認識しておく必要があるため、明示的に言及することをお勧めします。

提案を発行できる「著名な」提案者が 1 人しかいない場合、paxos アルゴリズムと 2 フェーズ コミット アルゴリズムの違いは何ですか?

Distinguished Proposerは最適化であり、アルゴリズムの要件ではありません。Distinguished Proposer は、2 つの提案者が準備/受け入れメッセージを飛び越える競合を減らします。これは、インスタンスを終了させたい場合に重要です。このモデルでは、ノードは自分自身のために提案するのではなく、Distinguished Proposer に要求を転送します。Distinguished Proposer が死んでいると判断した場合は、自分で提案します。(そうである必要はありません/Distinguished Proposer が死んでいると 100% 確信できることは決してありません)。

実世界/プロジェクトのどこで paxos アルゴリズムを適用できますか?

何よりもまず、私はリーダー選挙に Paxos を使用します。たとえば、データベース マスターになるタスクを実行できるノードが複数ある場合、Paxos インスタンスに対して Paxos を使用してマスターを選択します。

2 番目のユース ケースは、強力な整合性を備えたデータベースとして使用することです。これの問題は、Paxos で必要なメッセージの数が原因で遅くなる可能性があることです。そのため、別のデータベースでより適切に処理されるものには使用しません。つまり、主に構成に使用します。たとえば、前述のデータベース マスター リーダーの選出を考えてみましょう。結果を保存して、ノードが「現在のデータベース マスターは誰ですか?」などのクエリを実行できるようにします。Paxos もその結果を公開しているため、通常モードでは、実際にクエリを実行する代わりに、このストリームをリッスンするだけです。

于 2012-05-29T18:27:48.617 に答える