問題タブ [paxos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
distributed-system - ビュー変更アルゴリズムと paxos
ビュー変更アルゴリズムと Paxos の関係はどうなっているのだろうか? 私の講義ノートでは、「各ビューの参加者はプライマリに同意し、後でレプリケーション プロセスを管理する」と述べています。このコンテキストでのビューは何ですか? Paxos はこれにどのように関係していますか?
implementation - Paxos と論文 Paxos Made Simple に関する説明
「Paxos made simple」という名前の論文を読みましたが、まだいくつかの混乱がありました。
「paxos アルゴリズムのインスタンス」とは何を指していますか? 各インスタンスは、外部クライアントからの入力/コマンドがあることを示していますか? 各インスタンスの paxos アルゴリズムは並行して実行されますか???
提案を発行できる「著名な」提案者が 1 人しかいない場合、paxos アルゴリズムと 2 フェーズ コミット アルゴリズムの違いは何ですか?
実際のプロジェクトで paxos アルゴリズムをどこに適用できますか?
こちらの論文の方がより明確に説明されているようです: http://research.microsoft.com/pubs/64634/web-dsn-submission.pdf
他にアイデアはありますか?
algorithm - モデルチェック Paxos
コンセンサス アルゴリズムを実装しました (Paxos に基づく)。ランダムなテストケースをいくつか追加しましたが、問題ないようです。しかし、モデル チェックを介してテストを行いたいですか? 適切な記事が見つかりませんでした。Paxos でのモデル チェックの方法を共有してください
ありがとう
distributed-system - 分散システムに関する優れた本
2フェーズコミット、パクソ、および一貫性、可用性、パーティションの許容範囲を達成するための制限について詳しく説明している本当に良い本はありますか。
アマゾンを閲覧すると、パクソをカバーしていない分散システムの本の数を見るのは驚くべきことです。
scalability - 競合のない複製データ型(CRDT)とPaxosまたはRaft
パクシやいかだの代わりにCRDTのようなものを使用するのはいつ良い考えですか?
algorithm - CassandraのPaxosとW+R>=Nの違いは何ですか?
Dynamo のようなデータベース (Cassandra など) は、クォーラムによって一貫性を確保できます。つまり、同期的に書き込まれるレプリカの数 (W) と読み取るレプリカの数 (R) は、W+R>N となるように選択する必要があります。 N は複製係数です。一方、Zookeeper のような PAXOS ベースのシステムは、一貫したフォールト トレラント ストレージとしても使用されます。
これら2つのアプローチの違いは何ですか? PAXOS は、W+R>N スキーマによって提供されない保証を提供しますか?
distributed - マルチ paxos インスタンス
ウィキペディアhttp://en.wikipedia.org/wiki/Paxos_(computer_science)では、提案番号とインスタンス番号が一致していません。
メッセージ フロー: マルチ Paxos、定常状態
| X--------->|->|->| | | | | Accept!(N,I+1,W)
メッセージ フロー: 折りたたまれた Multi-Paxos、定常状態
| X->|->| Accept!(N+1,I,W)
1 つはインスタンス番号の増分、1 は投票番号です。なぜですか?
distributed-transactions - XA 2フェーズコミットと準備フェーズでの実行?
2フェーズコミットを理解しようとしていますが、各ローカルサイトが分散トランザクションの一部をいつ実行するかがわかりません。
これは、準備メッセージが送信される前に発生しますか。つまり、2フェーズコミットxaプロトコルが実行される前に発生しますか?
または、各サイトは準備メッセージを受信した後に分散トランザクションの一部を実行しますか?つまり、準備メッセージ自体にも実行されるトランザクションクエリが含まれていますか?
concurrency - 同時実行制御のためのPaxosとスナップショットアイソレーションの関係
Paxosベースのレプリケーションスキームとスナップショット分離などのさまざまな同時実行モデルとの実際の関係は何であるか疑問に思いました。誰かがこれらの2つをそれらの関係に関してそしていくつかの実際的な例で親切に説明することができますか?
cloud - paxos 値の選択
私は wiki ページと論文 (paxos made simple) で paxos について読みました。ただし、いくつかの詳細についてはまだ混乱しています。
フェーズ 1a で、プロポーザーはアクセプターへのプロポーザルに選択しようとしている値を含めますか?
フェーズ 1b では、アクセプターは、以前に受け入れた値があればそれを返すことになっています。値の寿命は?IOW、いつ承認されたと見なされ、いつ上書き/削除されますか?
ライフタイムの質問に関するいくつかの更新。IIUC では、最初の受け入れ後、アクセプターは常に以前に受け入れられた値を手元に持っている必要があります。次の promise (1b) フェーズでそれを返す必要があるかどうかをどのように決定しますか? または、値を忘れることを決定するのはいつですか?
@MichealDeardeuff とよりよく話し合うための更新 2:
私はpaxosについて次のことを理解しています:
通常、paxos ワークフローでは、アクセプターは常に以前に受け入れられた値を手元に持っている必要があります。また、準備リクエストに応答すると、promise レスポンスで値が返されます。また、提案者は、値が前回のラウンドで提案された値と同じかどうかを確認する必要があります。そうでない場合、プロポーザーは、アクセプターによって返された値を使用して受け入れ要求を送信します。そうである場合、提案者は、現在のラウンドで送信することを意図した値を含む Accept 要求の送信に進みます。
上記の理解は正しいですか?
正しくない場合、その理由を教えてください。
それが正しければ、paxos プロトコルが明示的にそう言っていないので、私は混乱しています。それは次のように述べているだけです:
ここで、v は応答の中で最も番号の大きい提案の値、または応答が提案を報告しなかった場合は任意の値です。
ただし、私の理解では、提案者は、アクセプターによって返された値が、最後のラウンドで提案された同じ提案者と同じ値であるかどうかを確認する必要があります。そうである場合、promise 応答の中で最大番号の提案を持つ値があっても、提案者は、アクセプターによって返された値がないかのように、必要な任意の値を選択できます。
それが、理解をサポートするための参照があるかどうかを確認したい理由です.
どうもありがとう!