分散システム読書会 13章-分散協調ベースシステム
- 4. ?
協調モデルの分類学 [Cabri et al., 2000]
? 時間面と関係面の2つの次元でモデルを分類
時間面
結び付きあり
結び付きなし
結び付きあり
直接協調
メールボックス
結び付きなし
会議指向
発生通信
関係面
- 5. ?
直接協調 (direct coordination)
? 相手の名前か識別子で通信し、プロセスは同時に実行する
?
メールボックス協調 (mailbox coordination)
? メールボックスを通信に使えば同時に実行している必要はない
?
会議指向協調 (meeting-oriented coordination) ★
? プロセスは互いを明示的には知らない(直接関係できない)
? 時間面にグループ化された会議→出版?購読システム
?
発生通信 (generative coordination) ★★
? 独立したプロセス集合が共有されたタプルのデータ空間を利用する
? タプルはタグ付けされた型付きフィールドからなるデータレコードである
? プロセスは関心を持つフィールドの値を指定して、共有データ空間からタ
プルを抽出する(連想検索)。合致するタプルがあるまでブロックもできる
- 10. ?
JiniとJava Space (続き)
? 格納されているデータ項目上の大規模な検索を必要とする
かもしれない。しかし効率的な検索の実現は容易ではなく、
高度なマッチング規則がサポートされているときは集中的な
実装が多い
? 集中的=同期プリミティブの実現が簡単。非集中システムで
の同期は本来難しい(6章)
- 12. ?
TIB/Rendezvous (続き)
? 可能であれば効率的な通信を使用する: LANであればブロード
キャスト、購読者の場所が特定できていればP2Pを用いる
? 各ホストは「ランデブーデーモン」を走らせて、メッセージが送られる
とサブジェクトに関する配送があることを監視する。メッセージを出
版するときはランデブーデーモンを走らせる各ホストにマルチキャ
ストされる
? デーモンはローカルの購読者に関する(プロセス,サブジェクト)の
エントリを持つ表を作り、届いたメッセージをそれに照らして配送ま
たは廃棄する
? メッセージがあらゆるノードに転送されるので、出版データの複雑
なマッチングも(余分な通信無しに)すべてローカルで処理できる
- 16. ?
例: Lime
? 発生通信ではノードが移動可能である共有データ空間を走査する
ための解決策→例:Lime
? 各プロセスは自身に関係するデータ空間を持つ
? プロセスが接続されているように、互いに接近している(同じネット
ワーク、同じ物理ホスト上など)ときは、そのデータ空間は共有され
る
? 接続されたプロセス間ではタプル交換を可能とする一時的な共有
データ空間を形成する(writeとtakeが透過的)
? 誰に対するタプルのwriteか、どのプロセスからのタプルの
read/takeかを指定することも可能
? テンプレートに合うタプルがローカルで見つかったときに実行する
動作を指定する「反応」も指定できる
- 42. ?
公認されたメッセージ配送 (certified message
delivery)
? メッセージの送受信に特別なトランスポート層を使用する
? 公認メッセージの受信者は自分自身を送信者とともに「台帳
(ledger)」に登録することで、プロセス障害があるときでも高
信頼なメッセージ配送を可能とする
? 受信プロセスのクラッシュでは回復するまでのすべてのメッ
セージは送り主の台帳に記録される。回復時は台帳にメッ
セージの再送を要求する。