1 / 25

A Distributed Arrangement Selection Algorithm on a Line Network

A Distributed Arrangement Selection Algorithm on a Line Network. 平成 13 年 4 月 24 日 NTT コミュニケーション科学基礎研究所 佐々木 淳. left. right. 線形ネットワーク. 初期状態:. 2. 5. 4. 3. 1. 最終状態:. 1. 2. 分散 Arrangement Selection 問題.     に属する k プロセスに,最小値から k 番目に小さな要素までを左から昇順に割当. 応用例:資源割当.

isabel
Télécharger la présentation

A Distributed Arrangement Selection Algorithm on a Line Network

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Distributed Arrangement Selection Algorithm on a Line Network 平成13年4月24日 NTTコミュニケーション科学基礎研究所 佐々木 淳

  2. left right 線形ネットワーク

  3. 初期状態: 2 5 4 3 1 最終状態: 1 2 分散Arrangement Selection問題     に属する k プロセスに,最小値から k 番目に小さな要素までを左から昇順に割当

  4. 応用例:資源割当 • 同等の資源がネットワーク上に分散して複数存在 • 各プロセスはいずれかひとつの資源が割り当てられれば良い • 各資源を同時に使用できるのは唯一のプロセス • 優先度が高い順に割当 というときの,ひとつの解を与える

  5. 関連研究 • 分散 k-selection • k番目に小さな要素を求める • 通信複雑度の最小化が目的 • 分散ソーティング[COMP2000-32] • 要素を左端から昇順に並べ替える • 分散Arrangement Selection問題の部分問題

  6. 目的   分散Arrangement Selection問題を      厳密に最適な時間複雑度で解く

  7. 同期モデル ※同期メッセージの利用で同期アルゴリズムを   非同期モデル上で実行可能       → 同期アルゴリズムのみを議論 モデル • 同期モデル • 通信がプロセス間で同期して実行 • 1ラウンド:受信,内部処理,送信       (通信回数を表す;最初の送信はラウンド0) • 非同期モデル • 通信はプロセスごと独立に発生 • 通信リンクはFIFO

  8. 仮定 • 各プロセスは大域的な情報(大域的な位置,システム中のプロセス数n,等)を持たない • 局所メモリの大きさをO(log L)ビットに, メッセージ長をlog L+O(1)ビットに制限 ※L:要素の最大値

  9. 時間複雑度 評価尺度 • 時間複雑度 • 同期モデル: ラウンド数 • 非同期モデル: 最長鎖のメッセージ数 • 通信複雑度 • メッセージ複雑度: 総メッセージ数 • ビット複雑度: 全メッセージの総ビット数

  10. 初期状態: 2 5 4 3 1 最終状態: 1 2 分散Arrangement Selection問題     に属する k プロセスに,最小値から k 番目に小さな要素までを左から昇順に割当

  11. 簡単な方法 • 要素をセンタに集め,そこで最小値から順にk要素を選択し,ひとつずつ各サーバに割当 • 大容量(O(n)以上)の局所メモリが必要 • 局所計算量が大きく偏る • 局所メモリ量を制限した場合の時間複雑度: n+k-2 • 分散 k-selectionアルゴリズムを利用して最小値から順に k要素を選択し,ひとつずつ各サーバに割当 • 事前に kの算出が必要 • 時間複雑度: 2(n-1) 以上 時間複雑度の下界はn-1 → さらに高速化

  12. 従来法の適用 • 分散ソーティング[COMP2000-32]の動的な問題に対するアルゴリズムが利用可能 注) 動的なソーティング:   初期状態と最終状態とで,総要素数は等しいが,各プロセスの要素数は異なる

  13. 2 5 4 3 1 25 4 13 2 145 3 1 234 5 1 23 4 5 1 2 3 45 1 2345 1 2 345 解: 1 2 動的なソーティングアルゴリズムの利用

  14. 従来法を適用した際の問題点   時間複雑度がn-1よりも大     (kが小さいほど時間がかかる) • 不要な要素が最後まで残る(要素の選択・削除の判断が難しい) • 右端に近いプロセスの解となる要素(特にk番目に小さな要素)の配送が大きく遅れやすい            ↓          最大値よりも最小値の扱い方が重要

  15. アイデア • ネットワークの右半分に,全要素をソートしつつ収集 • 最小値から順にk要素を選択(より大きな要素ほど右のプロセスで選択) • 未選択要素を削除 • 選択した要素を,選択した順に適切なプロセスへ配送

  16. 要素の流れの概観(従来法) →プロセス →ラウンド 1要素 2要素 3要素

  17. 要素の流れの概観(本手法) →プロセス →ラウンド 1要素 2要素

  18. arrangement状態の基本動作: 左右にある  に属するプロセス数と左にある 要素数とを知ることができ,それに基づいて要素を送信 左にある  に属するプロセス数と,左 にある要素数とが一致するため終了 要素が互いに送られても,一方が終 了したら,もう一方が両要素を保持 要素が交互に送られたら,それらが 昇順になるように1要素ずつ保持 2,left ここより左に  に属するプロセスが なく,全要素が右にあるため終了   に属するプロセス数kと,左にある 要素数の情報により,2要素削除 5,left 4 wait状態の基本動作: 要素を右へ送信 sorting状態の基本動作: 最大値を右へ,最小値を左へ送信 4: 3: 3: 1 2 2: 2: 1 1 2 4 4: 15 24 3 1 4 3 2 5,left 1,right 4 1: 2 3 1: 5 4 13 2 1,right 2 0: 5 4 3 2 1 propagation状態の基本動作: 要素を右へ送信 2 5,left 4 3 0: :propagation 状態 :wait 状態 1,right 3: 1 235 4 :sleep(終了) :sorting 状態 :arrangement 状態 アルゴリズムの動作概要 解(最小値)が確定

  19. アルゴリズムにおける状態遷移 propagation状態 →プロセス wait 状態 →ラウンド sorting 状態 sleep arrangement状態

  20. アルゴリズムの特徴 • sorting状態からarrangement状態に移動する要素は,sorting状態にある要素のなかの最小要素と2番目に小さな要素

  21. アルゴリズムの特徴 →プロセス →ラウンド

  22. 解が確定するラウンド →プロセス →ラウンド

  23. アルゴリズムの複雑度 • 時間複雑度:n-1 • 厳密に最適 • 通信複雑度:k=nのときにn(n-1) • 最適値の約倍 • オーダーとしては最適

  24. まとめ • 分散ソーティングと k-selectionを組み合わせた問題(分散Arrangement Selection問題)を,厳密に最適な時間複雑度で解決 • 厳密に最適な時間複雑度を実現できる問題規模を拡大

  25. 今後の課題 • 木ネットワークへの拡張の検討 • k要素の並び順に昇順以外の制約を入れた場合の検討

More Related