トポロジを考慮する データ転送スケジュラー

Slides:



Advertisements
Similar presentations
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
Advertisements

到着時刻と燃料消費量を同時に最適化する船速・航路計画
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
Webプロキシサーバにおける 動的資源管理方式の提案と実装
Chapter11-4(前半) 加藤健.
セキュアネットワーク符号化構成法に関する研究
ラベル付き区間グラフを列挙するBDDとその応用
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
秘密のリンク構造を持つグラフのリンク解析
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
On the Enumeration of Colored Trees
PCクラスタにおける2個体分散遺伝的アルゴリズムの高速化
整数計画法を用いた スリザーリンクの解法 杉村 由花 (東京大学)
報告 (2006/9/6) 高橋 慧.
神奈川大学大学院工学研究科 電気電子情報工学専攻
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
リンク構造を考慮したベクトル空間法によるWebグラフ分割手法に関する研究
リンクパワーオフによる光ネットワークの省電力化
PlanetLab における 効率的な近隣サーバ選択法
最短路問題のための LMS(Levelwise Mesh Sparsification)
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
ノードの情報を動的に反映したオーバレイネットワークの構築
ノードの情報を動的に反映したオーバレイネットワークの構築
予備親探索機能を有した アプリケーションレベルマルチキャスト
ネットワークとノードの情報を利用したオーバレイネットワークの最適化
7-3.高度な木 (平衡木) AVL木 平衡2分木。回転操作に基づくバランス回復機構により平衡を保つ。 B木
情報工学総合演習 D-I 近似アルゴリズム 埼玉大学 理工学研究科 山田 敏規、 橋口 博樹、 堀山 貴史
サポートベクターマシン によるパターン認識
ネットワークトポロジーを考慮した効率的なバンド幅推定手法
MPIを用いた並列処理 ~GAによるTSPの解法~
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
ネットワーク上での社会的効用と個人的効用の対立問題に対するアルゴリズム的研究
決定木とランダムフォレスト 和田 俊和.
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
モデルの逆解析 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
Online Decoding of Markov Models under Latency Constraints
分散環境でのStableな ブロードキャストアルゴリズムの 提案と実装
WWW上の効率的な ハブ探索法の提案と実装
第7章 疎な解を持つカーネルマシン 修士2年 山川佳洋.
Internet広域分散協調サーチロボット の研究開発
決定木 Decision Tree DT 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
非対称リンクにおける ジャンボフレームの性能評価
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
ファジィ制約充足問題への 連続領域の導入 Introducing continuous domains to
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
VMMのソフトウェア若化を考慮した クラスタ性能の比較
盗聴・改ざんに対して耐性を持つ ネットワーク符号化について
知識科学研究科 知識システム構築論講座 林研究室 佛明 智
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
P2P ネットワーク上で 実時間ストリーミングを実現するための 分散制御プロトコルの提案
第4章 識別部の設計 4-5 識別部の最適化 発表日:2003年5月16日 発表者:時田 陽一
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
ネットワークトポロジを考慮した効率的なバンド幅推定手法
Data Clustering: A Review
マイグレーションを支援する分散集合オブジェクト
直並列グラフの連続多重彩色 西関研究室 吉田進太郎.
「マイグレーションを支援する分散集合オブジェクト」
大規模ネットワークにおける 効率的なバンド幅マップ構築アルゴリズム
メソッドの同時更新履歴を用いたクラスの機能別分類法
1ーQー18 音声特徴量抽出のための音素部分空間統合法の検討
衛星回線を含むネットワークにおける 動的経路制御に関する研究
分枝カット法に基づいた線形符号の復号法に関する一考察
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
マルチエージェントシステムにおける 通信コストの構造依存性に関する解析
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
インセンティブにより自律ユーザに 高品質なオーバーレイマルチキャスト木を 構築させるプロトコルの提案
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

トポロジを考慮する データ転送スケジュラー 高橋 慧 田浦健次朗 近山 隆 (東京大学 情報理工学系研究科)

データ転送計画の重要性 データ・インテンシブなアプリケーションが分散環境で実行される機会が増加している 大量のデータを処理することにより、従来得ることの出来なかった成果を上げている Web上のデータの分析・自然言語処理など ノード間でのデータ転送計画が重要になる 転送に無視できない割合の時間を占める 分散環境ではバンド幅が不均質なので、計画によって転送時間が大きく変化する OK

例: データ転送計画の重要性 クローラが集めたページが様々なノードに分散しているとき、これを多数のノードを用いてパージングする 一般的なバンド幅: 1Gbps-10Mbps Chasenパーザのスループット: 1.7MB/s = 14Mbps 転送計画によって処理時間が20%も変化する 10Mbpsのリンクを複数の転送が共有するとさらに転送速度が低下する OK computation computation Transfer Time

リンク共有による影響 複数の転送がリンクを共有すると、転送速度の合計は一定値(バンド幅)で制約される Σi∈全ての転送 (転送iの速度) ≤ (リンクのバンド幅) 4つの転送があれば、転送速度は25%に低下 100Mbps 50Mbps OK 50Mbps

トポロジ情報の利用 ネットワーク・トポロジの情報を用いると、リンクを共有しない転送計画を立てられる トポロジは高速(≈15sec)で推定可能[1] トポロジ情報を利用し、1ソースからのマルチキャストを効率よく行う例を次に示す OK [1] Shirai et al. A Fast Topology Inference --- A building block for network-aware parallel computing. (HPDC 2007)

1ノードからのマルチキャスト あるノード(source)から複数のノード(destination)に大きなデータを送信する ランダムにパイプラインを作ると多くのリンク共有が発生 3転送が100のリンクを共有 2転送が100のリンクを共有 200 100 200 100 OK 800 700 800 800 100 700 800 100 Destination Source Destination Source

Balanced Multicast [1]Burgerらは、クラスタ間のトポロジ及びバンド幅を考慮し、効率の良いマルチキャストを計画するアルゴリズムを示している 様々なツリーの候補を全て生成 各候補に線形計画法で重みを与え、重ね合わせる クラスタ内のリンクの共有は考慮されていない 考慮すると計算量がとても多くなってしまう [1] Burger et al. Balanced Multicasting: High-throughput Communication for Grid Applications (SC2005)

パイプライン・マルチキャスト トポロジを幅優先に辿ってパイプライン転送 ツリーの場合、全ノードが同期される時間が最短となる 各リンクを一方向につき一回ずつしか使わないため、 リンクの共有が起こらない: 転送時間は (size/min(bandwidth)) + RTT * Nとなる データが大きい場合 ノード数Nに対しO(1) 転送速度はパイプライン中の最も細いリンクに制約される OK 200 100 ←最も細いリンク 100 700 800 800 100 Destination Source

もっと複雑な転送問題 実際の環境では: トポロジ情報を用いて、効率的な転送計画を立てたい 多種類のデータの転送が同時に発生する 以前転送したデータを再び転送する場合、転送元に複数の候補がある (複数のソースがある) トポロジ情報を用いて、効率的な転送計画を立てたい OK Data2 Data1 Data3 Data2 Data1 Data1 Data3

本研究の貢献 トポロジを用い、分散環境で複数のデータ 転送を効率的に行うアルゴリズムを提案する 具体的には、 複数の転送があり、 それぞれの転送が複数のソースを持つとき、 各転送先に到着するスループットの合計が 最大になるような、  転送計画を立てるアルゴリズムを提案する。 OK

発表の流れ はじめに 問題設定 アルゴリズム 実験・考察 終わりに

問題の定式化 トポロジ・リンクのバンド幅が与えられる N種類のデータ転送がある リンクは上り下り別々に考える 非対称でも良い 各転送は複数の転送元(ソース)と転送先を持つ

目標: スループット最大化 全転送について、各ノードが受け取るデータのスループットの合計値を最大化したい 100 200 500 400 400 400 400 200 100 500 これらの合計値を最大化

最大スループット問題のNP完全性 最大スループット問題は1転送のみを考える場合でもNP完全 3-SATに帰着できる (付録をご覧下さい) 転送元がNs個, 転送先がNd個のとき、O(NsNd) 実際的な時間で解くためには、発見的手法を取る必要がある 本研究では、「ボトルネックリンク最大化問題」を利用して最適解に近づけることを考える OK パイプライン転送を行う あるソースから転送先を一直線につなぐ 転送速度は、パイプライン中の最小バンド幅のリンクで制約される

発表の流れ はじめに 問題設定 アルゴリズム より簡単な問題と、その解法 提案するアルゴリズム 実験・考察 終わりに

より簡単な問題: ボトルネック最大化 1種類のデータのマルチキャストにおいて、ボトルネック(最小のバンド幅)リンクを最大化 1種類のデータ・複数ソースの最大スループット問題の近似解が求まる Dynamic Programmingによって最適解が求まる 最小バンド幅 = 100 最小バンド幅 = 500 200 100 200 100 100 700 500 700 900 700 900 800 400 800 500 600 400 500 600 Destination Source Destination Source

ボトルネック最大化のアルゴリズム (1) 定義 順番にリンクを追加 A:ソースから到達できるノード集合 origin(l), end (l): リンクlの始点と終点 src(a): aに対し到達可能なソース 順番にリンクを追加 {l: origin(l)∈A} 中で最大のバンド幅を持つリンクlを選択 lを追加し、Aを更新 全部のdestinationが ソースに連結された (end(l)∈A かつ src(origin(l)) ≠ src(end (l))なら不採用

ボトルネック最大化のアルゴリズム (2) 各ソースについて、接続されたdestinationをパイプラインで辿れるまで追加を続ける 複数のソースを用いて効率的にマルチキャストできるパイプライン群が求まった 多くの場合、合計スループットも最大となる パイプラインが 構成できない パイプライン OK パイプライン OK

A B B = パイプラインが構成可能な条件 以下の2条件を考える 全てのsourceがBを満たせばよい A: 始点からdestinationを一直線で辿って戻れる B: 始点からdestinationを一直線で辿れる 全てのsourceがBを満たせばよい A B B Aを満たす条件: Destinationに至る子ノード全てが双方向リンクでつながっていて、かつAを満たす Bを満たす条件: Destinationに至る子ノードのうち たかだか一つは片方リンクでつながっているか、Bを満たす その他の子ノードは全て双方向リンクでつながっていて、Aを満たす A B B = A A A

提案するアルゴリズム 全destinationとsourceを結ぶ経路を作る 線形計画法で合計スループットを最大化する 1転送ずつ独立に最小スループット最大化問題を解いて、 パイプラインを構築する 線形計画法で合計スループットを最大化する 得られた計画に対し、近傍探索で改善を行う bw1 300 bw5 100 bw3 bw0 100 60 bw2 500 bw4 100

複数データの転送計画 1つのデータ転送ずつ、独立に「最小バンド幅最大化」問題を解いて、転送計画を立てる 複数のソースを利用してパイプライン群を構成 bw3 bw2

線形計画法でスループット最大化 線形計画法を用いて合計スループットを最大化するよう、各転送にバンド幅を割り当てる 目的関数: (bw0 + bw1 + bw2 * 3 + bw3 * 2 + bw4) 制約1: bw0 + bw1 ≤ (const) 制約2: bw1 + bw3 ≤ (const) … bw1 300 制約1 bw3 bw0 制約2 100 60 bw2 500 bw4 100 各ノードが 受け取るデータ bw0 bw2 bw2 bw3 bw1 bw4 bw3 これらの合計値を最大化

転送の再計画 (1) 1つずつ転送を再計画 ある転送に割り当てられたバンド幅と、使われていないバンド幅を加えたバンド幅マップTを作成 転送1に割り当てたバンド幅 100 200 700 700 500 500 200 100 500 900 800 300 600 400 550 700 100 使われていないバンド幅 500 100 200 100 300 400 50 再計画に用いるバンド幅 700

転送の再計画 (2) Tを元に最小バンド幅最大問題を解く 得られた計画に対し再び線形計画法を解く 合計スループットが改善された場合のみ、変更を採用する (山登り法) bw1 300 bw5 100 bw3 bw0 100 60 bw2 500 bw4 100

発表の流れ はじめに 問題設定 アルゴリズム 実験・考察 終わりに

実験・評価 ランダムに生成したバンド幅マップ・転送要件(srcs, dests)に基づいて、以下の4つのアルゴリズムを比較するシミュレーションを行った 各destinationがランダムにsourceを選択し、直接データを送信 (Random-flat tree) 各destinationは最も大きなバンド幅で接続できるsourceを選択し、同じsourceを用いるノード間でランダムなパイプラインを構築 (Random-pipeline) 各destinationは最も大きなバンド幅で接続できるsourceを選択し、トポロジに沿ってパイプラインを構築 (Topology-aware pipeline) 3の後、パイプラインの再計画を実行 (Improved pipeline, 提案手法)

各手法のイメージ Destination Source Destination Source Random-flat Tree Random-pipeline Destination Source Destination Source Improved (他の転送を考慮して再計画) Topology-aware Pipeline

実験結果(1) 36の条件で実験で10回ずつ実験した 提案手法が最も高い性能を示した Random-flatとのスループットの比率をプロット (■Random pipeline ■ Topology-aware pipeline ■ Improved pipeline) ランダムな手法は1問題につき10回の平均を取った 提案手法が最も高い性能を示した Random-flatに比べ最大2.9倍,平均1.7倍 Random-pipelineに比べ最大1.7倍,平均1.3倍 Topology-aware に最大1.3倍、平均1.1倍

実験結果(2) スループットは改善されたものの、予測したほどの性能向上は図れなかった 計算時間は50転送で10秒、100転送で32秒 極端に遅いホストをパイプラインから切り離すことで、 合計スループットは改善できる可能性がある 既存の最適化手法を活用したい 計算時間は50転送で10秒、100転送で32秒 50転送では十分な実行速度 転送群を局所性によってクラスタリングするなどの手法も考えたい

おわりに トポロジ情報を利用し、スループットを向上させるような転送計画アルゴリズムを提案した シミュレーションによって評価を行った 複数のデータ・複数のソース 複数ソースを活用し、ボトルネックバンド幅を最大化 複数転送間でのリンクの競合を検知し、回避する シミュレーションによって評価を行った トポロジの考慮によって、ランダムな手法に比べ平均1.7倍、パイプラインを用いるがトポロジを考慮しない方法に比べ1.3倍のスループット改善が図られた 実行時間は50転送で10秒であった

今後の計画 本転送計画スケジュラーを利用した、効率的なタスクスケジュラーを計画したい 本スケジューリングアルゴリズムにより、与えられた転送群に対し、実行時間の予測が可能になる タスク配置によって必要な転送群は変化する 様々なタスク配置のうち、最も効率よくデータ転送を行える配置を求めるスケジュラーを計画する