大規模ネットワークにおける 効率的なバンド幅マップ構築アルゴリズム

Slides:



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

到着時刻と燃料消費量を同時に最適化する船速・航路計画
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
点対応の外れ値除去の最適化によるカメラの動的校正手法の精度向上
セキュアネットワーク符号化構成法に関する研究
ラベル付き区間グラフを列挙するBDDとその応用
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
Capter9 Creating an Embedded Test Bench ( )
ラウンドトリップタイムを指標とした 無線LAN のためのアクセスポイント選択手法
DNASシステム上のアプリケーション起動シーケンスのための基盤であるdsh部分の性能評価
神奈川大学大学院工学研究科 電気電子情報工学専攻
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
Observable modified Condition/Decision coverage
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
ノードの情報を動的に反映したオーバレイネットワークの構築
ノードの情報を動的に反映したオーバレイネットワークの構築
ネットワークとノードの情報を利用したオーバレイネットワークの最適化
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
大規模ネットワークにおける バンド幅測定アルゴリズム
メッシュネットワークに関する研究 ーチャネル割り当ての一手法ー
IPv6アドレスによる RFIDシステム利用方式
サーバ負荷分散におけるOpenFlowを用いた省電力法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
Occam言語による マルチプリエンプティブシステムの 実装と検証
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
ネットワークトポロジーを考慮した効率的なバンド幅推定手法
決定木とランダムフォレスト 和田 俊和.
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
トポロジを考慮する データ転送スケジュラー
オーバレイ構築ツールキットOverlay Weaver
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
実行時情報に基づく OSカーネルのコンフィグ最小化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
分散環境でのStableな ブロードキャストアルゴリズムの 提案と実装
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
大規模ネットワークにおける 効率的なバンド幅マップ構築アルゴリズム
アンテナ最適化技術と電波伝搬シミュレーション技術の高速化と高精度化
早わかりアントコロニー最適化 (Ant Colony Optimization)
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
Data Clustering: A Review
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
複数ホストにまたがって動作する仮想マシンの障害対策
VMMのソフトウェア若化を考慮した クラスタ性能の比較
演習第4回 情報通信技術論 インターネット工学
片方向通信路を含む ネットワークアーキテクチャに於ける 動的な仮想リンク制御機構の設計と実装
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
P2P ネットワーク上で 実時間ストリーミングを実現するための 分散制御プロトコルの提案
Virtualizing a Multiprocessor Machine on a Network of Computers
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
ネットワークトポロジを考慮した効率的なバンド幅推定手法
福岡工業大学 情報工学部 情報工学科 種田研究室 于 聡
ISO23950による分散検索の課題と その解決案に関する検討
アスペクト指向言語のための視点に応じた編集を可能にするツール
オブジェクトの動的支配関係解析を 用いたシーケンス図の縮約
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
メソッドの同時更新履歴を用いたクラスの機能別分類法
半正定値計画問題(SDP)の 工学的応用について
衛星回線を含むネットワークにおける 動的経路制御に関する研究
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
P2P & JXTA Memo For Beginners
プログラム依存グラフを用いた ソースコードのパターン違反検出法
Presentation transcript:

大規模ネットワークにおける 効率的なバンド幅マップ構築アルゴリズム 東京大学 長沼翔,田浦健次朗

はじめに バンド幅の情報を利用するアプリケーション 並列分散アプリケーションのチューニング 最適なファイル転送スケジュール ネットワーク性能を考慮した負荷分散 ネットワークの管理、運用、モニタリング 高負荷な箇所の特定 可用帯域の確認 など多様化

広く使われている多ノード環境のバンド幅分布の表記方法 はじめに バンド幅行列 広く使われている多ノード環境のバンド幅分布の表記方法 環境U 環境U のバンド幅行列 A B snd\rcv A B C D - 1Gbps 2Gbps 3Gbps C D

実際のトポロジー上の中間エッジ情報の欠落 中間エッジ: エンドホストに直に接続していないエッジ はじめに バンド幅行列の限界 実際のトポロジー上の中間エッジ情報の欠落 中間エッジ: エンドホストに直に接続していないエッジ 環境U 環境U のバンド幅行列 A B snd\rcv A B C D - 1Gbps 2Gbps 3Gbps 2 1 10 3 4 C D

不正確なチューニング 不十分な管理情報 など はじめに バンド幅行列の問題 ファイル転送の衝突によるバンド幅低下 未使用のままの豊富なバンド幅 不十分な管理情報 情報の欠落 など

これらの問題を解決するためにはバンド幅マップを求めることが必要。 はじめに バンド幅マップ これらの問題を解決するためにはバンド幅マップを求めることが必要。 ネットワークトポロジーの全てのエッジにそのバンド幅の値が振られた情報 一般に、向きを考える。 バンド幅非対称のリンク A B 2 1 10 3 4 C D

並列分散アプリケーションのチューニングをする際の下地となる位置づけ はじめに 本研究の目的と貢献 バンド幅マップ構築アルゴリズムの考案 中間エッジのバンド幅 高速でスケーラブル 並列分散アプリケーションのチューニングをする際の下地となる位置づけ

発表の流れ はじめに 関連手法 提案手法 実験 まとめ

関連手法 Network Weather Service グリッド環境で広く用いられるネットワーク監視ツール 環境中の全エンドホストで起動し、End-to-End バンド幅測定を全ての組み合わせについて一つずつ行う。 O(N2) バンド幅測定の衝突を避けるため 出力はバンド幅行列

関連手法 Network Weather Service の問題 バンド幅行列しか得られない。 構築に時間がかかり、スケールもしない O(N2)

Network Weather Service の拡張 関連手法 TopoMon Network Weather Service の拡張 ネットワークトポロジーとバンド幅行列をNWS によって測定し、それらよりバンド幅マップを求め、出力する。

関連手法 TopoMon の仕組み 環境U A B 2 1 10 3 4 A B C D C D snd\rcv A B C D - snd\rcv A B C D - 1Gbps 2Gbps 3Gbps C D

関連手法 TopoMon の仕組み 環境U A B 2 1 10 3 4 A B C D 1 1 C D snd\rcv A B C D - 1 1 snd\rcv A B C D - 1Gbps 2Gbps 3Gbps C D

関連手法 TopoMon の仕組み 環境U A B 2 1 10 3 4 A B C D 1 1 1 1 C D snd\rcv A B C 1 1 snd\rcv A B C D - 1Gbps 2Gbps 3Gbps 1 1 C D

関連手法 TopoMon の仕組み 環境U A B 2 1 10 3 4 A B C D 1 1 1 1 1 C D snd\rcv A B 1 1 snd\rcv A B C D - 1Gbps 2Gbps 3Gbps 1 1 1 C D

関連手法 TopoMon の仕組み 環境U A B 2 1 10 3 4 A B C D 1 2 1 2 2 2 3 3 3 3 C D snd\rcv A B C D - 1Gbps 2Gbps 3Gbps 2 2 3 3 3 3 C D

形としてはバンド幅マップを求めているが、いくつかの中間エッジのバンド幅の情報が欠落している 関連手法 TopoMon の問題 形としてはバンド幅マップを求めているが、いくつかの中間エッジのバンド幅の情報が欠落している 構築に時間がかかり、スケールもしない O(N2)

ホスト数N に対してO(N2) であり、実行に時間がかかりスケールしない 関連手法 関連手法の問題点まとめ 中間エッジを意識して測定していない 大きなバンド幅を持つエッジはボトルネックリンクに隠れてしまうため測定できない ホスト数N に対してO(N2) であり、実行に時間がかかりスケールしない 我々の目標で対象としている大規模分散環境に対して使用することができない

発表の流れ はじめに 関連手法 提案手法 実験 まとめ

実装 前提 提案手法 概要 入力: ネットワークトポロジー 出力: バンド幅マップ ネットワークトポロジー情報 既存のトポロジー推定手法で容易に取得可能 [sirai et al, HPDC2007]

提案手法 課題の確認 中間エッジのバンド幅測定 多対多協調のバンド幅測定で実現 高速化 グラフ分割による測定の並列化で実現

発表の流れ はじめに 関連手法 提案手法 中間エッジのバンド幅測定 高速化 実験 まとめ

ネットワーク中のあるエッジ et の測り方 提案手法 中間エッジのバンド幅測定 (1/4) 経路中に et を含む通信ホストペアを列挙

この測り方の意味 提案手法 中間エッジのバンド幅測定 (2/4) 一対一のバンド幅測定では測ることのできない大きなバンド幅を持つエッジは、大勢のネットワークストリームでそのキャパシティを飽和させて測定する。 Receivers Bandwidth of et et Senders

Measurement of et := (s -- u) b c Pair Route Stream (a, h) a – p – q – s – u – h (b, h) b – t – q – s – u – h (c, h) c – t – q – s – u – h (d, h) d – s – u – h (e, h) e – s – u – h (f, h) f – r – s – u – h (g, h) g – r – s – u – h (a, i) a – p – q – s – u – i (b, i) b – t – q – s – u – i (c, i) c – t – q – s – u – i a t p q d r s g e f i u h j v ・・・ ・・・ l k この時の発生しているトラフィック量(bps) の総和が et のバンド幅

このままではネットワークにかかる負荷が大きいため、改善を行う。 提案手法 中間エッジのバンド幅測定 (3/4) このままではネットワークにかかる負荷が大きいため、改善を行う。 et を飽和させるための必要最小限のペアを用いるようにしたい。

ネットワーク中のあるエッジ et の測り方(改め) 提案手法 中間エッジのバンド幅測定 (4/4) ネットワーク中のあるエッジ et の測り方(改め) 経路中に et を含む通信ホストペアを列挙 1 ペアずつストリームを流し始める。あるストリームを流した時にバンド幅の総和に変化がなかった場合、それまでに共通して登場するパスを含むものは、バンド幅0の仮想的なストリームが既に流れているとする。 列挙した全てのペア間でバンド幅測定を実行している状態で、その時のそれらの合計が et のバンド幅

Measurement of et := (s -- u) b c Pair Route Stream (a, h) a – p – q – s – u – h (b, h) b – t – q – s – u – h (c, h) c – t – q – s – u – h (d, h) d – s – u – h (e, h) e – s – u – h (f, h) f – r – s – u – h (g, h) g – r – s – u – h (a, i) a – p – q – s – u – i (b, i) b – t – q – s – u – i (c, i) c – t – q – s – u – i a t p q d r s g e f i u h j v ・・・ l k Total BW # of streams

Measurement of et := (s -- u) b c Pair Route Stream (a, h) a – p – q – s – u – h (b, h) b – t – q – s – u – h (c, h) c – t – q – s – u – h (d, h) d – s – u – h (e, h) e – s – u – h (f, h) f – r – s – u – h (g, h) g – r – s – u – h (a, i) a – p – q – s – u – i (b, i) b – t – q – s – u – i (c, i) c – t – q – s – u – i a t p q d r s g e f i u h j v ・・・ l k Total BW Saturated. # of streams

Measurement of et := (s -- u) b c Pair Route Stream (a, h) a – p – q – s – u – h (b, h) b – t – q – s – u – h (c, h) c – t – q – s – u – h (d, h) d – s – u – h (e, h) e – s – u – h (f, h) f – r – s – u – h (g, h) g – r – s – u – h (a, i) a – p – q – s – u – i (b, i) b – t – q – s – u – i (c, i) c – t – q – s – u – i a t p q d r s g e f i u h j v ・・・ l k Total BW # of streams

Measurement of et := (s -- u) b c Pair Route Stream (a, h) a – p – q – s – u – h (b, h) b – t – q – s – u – h (c, h) c – t – q – s – u – h (d, h) d – s – u – h (e, h) e – s – u – h (f, h) f – r – s – u – h (g, h) g – r – s – u – h (a, i) a – p – q – s – u – i (b, i) b – t – q – s – u – i (c, i) c – t – q – s – u – i a t p q d r s g e f i u h j v ・・・ l k Total BW # of streams

Measurement of et := (s -- u) b c Pair Route Stream (a, h) a – p – q – s – u – h (b, h) b – t – q – s – u – h (c, h) c – t – q – s – u – h (d, h) d – s – u – h (e, h) e – s – u – h (f, h) f – r – s – u – h (g, h) g – r – s – u – h (a, i) a – p – q – s – u – i (b, i) b – t – q – s – u – i (c, i) c – t – q – s – u – i a t p q d r s g e f i u h j v ・・・ l k Total BW Saturated. # of streams

Measurement of et := (s -- u) b c Pair Route Stream (a, h) a – p – q – s – u – h (b, h) b – t – q – s – u – h (c, h) c – t – q – s – u – h (d, h) d – s – u – h (e, h) e – s – u – h (f, h) f – r – s – u – h (g, h) g – r – s – u – h (a, i) a – p – q – s – u – i (b, i) b – t – q – s – u – i (c, i) c – t – q – s – u – i a t p q d r s g e f i u h j v ・・・ l k Total BW # of streams

Measurement of et := (s -- u) b c Pair Route Stream (a, h) a – p – q – s – u – h (b, h) b – t – q – s – u – h (c, h) c – t – q – s – u – h (d, h) d – s – u – h (e, h) e – s – u – h (f, h) f – r – s – u – h (g, h) g – r – s – u – h (a, i) a – p – q – s – u – i (b, i) b – t – q – s – u – i (c, i) c – t – q – s – u – i a t p q d r s g e f i u ・・・ h j v ・・・ l k Total BW … Bandwidth of et # of streams

発表の流れ はじめに 関連手法 提案手法 中間エッジのバンド幅測定 高速化 実験 まとめ

中間エッジのバンド幅測定をトポロジー中の全てのエッジに適応すれば、目的に適うバンド幅マップを得ることができる(手法naïve_bwmap)。 提案手法 高速化の必要性 中間エッジのバンド幅測定をトポロジー中の全てのエッジに適応すれば、目的に適うバンド幅マップを得ることができる(手法naïve_bwmap)。 しかし、エッジの本数に比例した時間がかかりあまりスマートな手法とは言えず、スケーラブルとも言えない。 naïve_bwmap(G){     for all et in G.E {         measure_internal_edge(et);     } }

互いに干渉しないバンド幅測定は並列に実行できる。 提案手法 並列測定による高速化 互いに干渉しないバンド幅測定は並列に実行できる。 干渉しないバンド幅測定 = それらに伴い発生するストリームが同じエッジを通らない しかし、どのような組でどのような手順で並列測定を行えば最適なものになるかという問題を、与えられたトポロジーから計算することは難しい。

入力トポロジーを非連結の複数の部分トポロジーに分割し、それらに並列に先のnaïve_bwmap を適用し、後にマージする。 提案手法 グラフ分割による並列化 入力トポロジーを非連結の複数の部分トポロジーに分割し、それらに並列に先のnaïve_bwmap を適用し、後にマージする。 問題の簡略化 近似解法 naïve_bwmap G0 G naïve_bwmap G1 naïve_bwmap G2

提案手法 Betweenness Centrality そのエッジがどれほどグラフの中央に位置しているかを表す値 |P|はグラフ中に存在するパスの数、|Pet |はそのうちエッジet を通るパスの数

提案手法 Betweenness によるグラフ分割 ネットワークをグラフの中心からバランス良く分割ができるという利点 naïve_bwmap を適用する部分トポロジーの各大きさがほぼ同じになり、階層の幅が広くなるため、全体の処理の並列度が上がる

G(V, E) , ・・・ ・・・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ : Dividing edge : Subgraph , … naïve_bwmap naïve_bwmap naïve_bwmap naïve_bwmap

ある階層では飽和させることのできるエッジでも、それより下の階層では飽和させることができない場合がある。 提案手法 分割後の測定の進め方 ある階層では飽和させることのできるエッジでも、それより下の階層では飽和させることができない場合がある。 ストリームを発生させる為に使えるエンドホスト数が少なくなるため ある階層で飽和しなかったエッジについては「未確定」とし、上の階層でもう一度測定対象とする。 上の階層であれば飽和する可能性が上がるため 上層のnaïve_bwmap では、未確定のエッジのみを測定対象とすればよい。

階層をボトムアップ式に扱う。各階層において、その階層にある部分トポロジー群にnaïve_bwmap を並列に適用する。 提案手法 アルゴリズム全体像 入力トポロジーを階層的に分割する。 階層をボトムアップ式に扱う。各階層において、その階層にある部分トポロジー群にnaïve_bwmap を並列に適用する。 元の入力トポロジーに対するnaïve_bwmap の処理が終われば、アルゴリズムは終了であり、それまで求めた部分バンド幅マップをマージしたものが出力である。

発表の流れ はじめに 関連手法 提案手法 実験 まとめ

実験 バンド幅マップの可視化 15クラスタ、311ホスト、640エッジの環境において、およそ50秒でバンド幅マップが得られた

参加ノード数を変化させた時のバンド幅マップ構築に要する時間の比較 実験 所要時間の比較 本手法の並列化の効果をみる実験 参加ノード数を変化させた時のバンド幅マップ構築に要する時間の比較 並列化ありの本手法 並列化なしの本手法 TopoMon-based な手法

実験 所要時間の比較

実験 本手法の所要時間の変化

実験 所要時間についての考察 既存手法と比較して大幅に高速化が実現された 実験の後半ではグラフ分割が十分に機能していない傾向が見られる 所要時間は階層構造の深さに比例する。もしグラフ分割が常に平衡木状になるように行われれば、ノード追加に対する所要時間の増加はlog の特性を持つ 多数ホストを有するクラスタが追加されると、Betweenness で表されるグラフの中心が偏ることが原因

本研究の中間エッジバンド幅測定の効果をみる実験 実験 正確さの検証 本研究の中間エッジバンド幅測定の効果をみる実験 シミュレーションにおいてランダムに生成したグラフに各手法を適用し、正しいバンド幅を測定することができたエッジ数の割合 本手法 TopoMon-based な手法 ランダムグラフ ノード数とそれらの接続形態がランダム 各エッジのバンド幅は[10.0, 1000.0]

実験 正確さの検証

直径10、498ホストの環境において既存手法では70% の正解率にまで落ちているが、本手法は98% の正解率をもつ 実験 正確さについての考察 直径10、498ホストの環境において既存手法では70% の正解率にまで落ちているが、本手法は98% の正解率をもつ 本手法で誤ったものは、可能な限りのストリームを流しても飽和しきらなかったもの グラフの直径が大きくなるにつれて中間エッジ数が増えるので、TopoMon-based 手法の正解率は落ちていく

発表の流れ はじめに 関連手法 提案手法 実験 まとめ

15クラスタ、311ホスト、640エッジの環境において、およそ50秒でバンド幅マップが得られた まとめ バンド幅マップ構築アルゴリズム バンド幅マップ構築アルゴリズムの提案 多対多協調のバンド幅測定で、中間エッジの正しいバンド幅測定を実現 グラフ分割による測定の並列化で、高速化を実現 15クラスタ、311ホスト、640エッジの環境において、およそ50秒でバンド幅マップが得られた

まとめ 今後の課題 よりよいグラフ分割手順 グラフ分割の指標としてBetweenness に加えて新たなヒューリスティクスを考え、より並列度が高くなるようなグラフ分割