一部の論文が1つまたは別の用語を使用している理由は私にはわかりません。それらは同じものだと思います。おそらく、アトミックマルチキャストは、実際にはIPマルチキャスト(リングPaxosなど)を使用して実装されるアトミックブロードキャストです。
2 に答える
分散システム理論では、IPマルチキャストの使用やその他の実装の詳細とは関係ありません。実際、ほとんどの場合、それは作者の個人的な好みの問題であり、あなたはそれらが同じことを意味していると安全に推測することができます。
詳細には、厳密に言うと、マルチキャストと言うときは、必ずしもすべてのプロセスがすべてのメッセージを受信することを意図しているわけではないと想定しています。ブロードキャストと言うときは、すべてのプロセスがすべてのメッセージの対象であると想定しています。あいまいさは次のように発生します。マルチキャストアルゴリズムはメンバーシップ管理の上に階層化されることが多いため、ビューのコンテキストですべてのメンバーにマルチキャストする抽象プロトコルは、システムモデルのすべてのプロセスにブロードキャストするプロトコルとほとんど区別できません。したがって、マルチキャストまたはブロードキャストのいずれかとして説明できます。それは本当に文脈に依存します。
アトミックブロードキャストという用語は、通常はシーケンサーと呼ばれる単一の中央エンティティに関連しています。シーケンサーは、通常はイベントストリームと呼ばれる、順序付けられたメッセージのセット全体を実行および送信します。メッセージの送信方法(ブロードキャスト、マルチキャスト、ユニキャスト、tcpなど)は、その主な特徴ではありません。少なくとも、そうすべきではありません。@jopが言ったことに加えて、TCP / IPプロトコルに関しては、UDPブロードキャストとUDPマルチキャストの間に大きな技術的な違いがあります。例えば:
- マルチキャストはサブネット間を移動できますが、ブロードキャストはできません
- マルチキャストには通常IGMPが必要ですが、ブロードキャストには必要ありません
- ほとんどのカーネルバイパスネットワークカードはマルチキャストを高速化しますが、ブロードキャストはしません
これは、UDPブロードキャストを使用してはならないという意味ではありません。一部のネットワークはマルチキャストをサポートしていない可能性がありますが、ブロードキャストはサポートします。理想的には、メッセージングシステムはいくつかのトランスポートメカニズムをサポートします。
- UDPマルチキャスト
- UDPユニキャスト
- UDPブロードキャスト
- TCP
- メモリー
- 共有メモリ
- デュアル(TCP + UDP)
特定のトランスポートメカニズムに関連付けられていないアトミックブロードキャストメッセージングシステムの例については、CoralSequencerを確認できます。
免責事項:私はCoralSequencerの開発者の1人です。