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

Slides:



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

到着時刻と燃料消費量を同時に最適化する船速・航路計画
点対応の外れ値除去の最適化によるカメラの動的校正手法の精度向上
セキュアネットワーク符号化構成法に関する研究
ラベル付き区間グラフを列挙するBDDとその応用
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
ラウンドトリップタイムを指標とした 無線LAN のためのアクセスポイント選択手法
仮想ブロードキャストリンクを利用した 片方向通信路の透過的経路制御 藤枝 俊輔(慶應義塾大学)
スケールフリーネットワークにおける 経路制御のためのフラッディング手法の提案と評価
DNASシステム上のアプリケーション起動シーケンスのための基盤であるdsh部分の性能評価
神奈川大学大学院工学研究科 電気電子情報工学専攻
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
Observable modified Condition/Decision coverage
Copyright Yumiko OHTAKE
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
ノードの情報を動的に反映したオーバレイネットワークの構築
ノードの情報を動的に反映したオーバレイネットワークの構築
ネットワークとノードの情報を利用したオーバレイネットワークの最適化
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
大規模ネットワークにおける バンド幅測定アルゴリズム
IPv6アドレスによる RFIDシステム利用方式
大規模アドホックネットワークにおける 階層的な名前解決法
サーバ負荷分散におけるOpenFlowを用いた省電力法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
イーサネット.
大阪大学 大学院情報科学研究科 博士前期課程2年 宮原研究室 土居 聡
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
ネットワークトポロジーを考慮した効率的なバンド幅推定手法
DiffServにおけるクラスの新しい設定方法の提案
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
トポロジを考慮する データ転送スケジュラー
オーバレイ構築ツールキットOverlay Weaver
実行時情報に基づく OSカーネルのコンフィグ最小化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
分散環境でのStableな ブロードキャストアルゴリズムの 提案と実装
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
非対称リンクにおける ジャンボフレームの性能評価
Data Clustering: A Review
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
Diffservにおける 絶対的な品質保証法
複数ホストにまたがって動作する仮想マシンの障害対策
演習第4回 情報通信技術論 インターネット工学
片方向通信路を含む ネットワークアーキテクチャに於ける 動的な仮想リンク制御機構の設計と実装
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
P2P ネットワーク上で 実時間ストリーミングを実現するための 分散制御プロトコルの提案
InTriggerクラスタ環境の構築 i-explosion 支援班 クラスタ環境の概要 研究に使える「共有資源」を提供
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
ネットワークトポロジを考慮した効率的なバンド幅推定手法
福岡工業大学 情報工学部 情報工学科 種田研究室 于 聡
トラフィックプロファイラAGURIの設計と実装
保守請負時を対象とした 労力見積のためのメトリクスの提案
アスペクト指向言語のための視点に応じた編集を可能にするツール
オブジェクトの動的支配関係解析を 用いたシーケンス図の縮約
大規模ネットワークにおける 効率的なバンド幅マップ構築アルゴリズム
メソッドの同時更新履歴を用いたクラスの機能別分類法
GbEにおける TCP/IP の研究について
アドホックルーティングにおける 省電力フラッディング手法の提案
衛星回線を含むネットワークにおける 動的経路制御に関する研究
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
確率的フィルタリングを用いた アンサンブル学習の統計力学 三好 誠司 岡田 真人 神 戸 高 専 東 大, 理 研
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
まさ 2003/06/12 卒論その後の進捗 まさ 2003/06/12.
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 のモジュール 関連手法 TopoMon Network Weather Service のモジュール Network Weather Service: グリッド環境で広く用いられるネットワーク監視ツール ネットワークトポロジーとバンド幅行列を測定し、それらよりバンド幅マップを求め、出力する。

関連手法 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 の問題 形としてはバンド幅マップを求めているが、いくつかの中間エッジのバンド幅の情報が欠落している 構築に時間がかかり、スケールもしない TopoMon は環境中の全エンドホストで起動し、バンド幅行列を得る為にEnd-to-End バンド幅測定を全ての組み合わせについて一つ一つ行っている。 バンド幅測定の衝突を避けるため O(N2)

ミクロな視点でパケットの挙動を解析し、バンド幅を推定する バンド幅マップは、これを全てのエンドホストペアで実行すれば得られることになる 関連手法 Pathchar など End-to-End のバンド幅推定手法 経路中にある全ての中間エッジを推定可能としている ミクロな視点でパケットの挙動を解析し、バンド幅を推定する バンド幅マップは、これを全てのエンドホストペアで実行すれば得られることになる

関連手法 Pathchar の仕組み (1/2) 送信元のホストからn ホップ目のルータにサイズs のパケットが到着するまでにかかる時間Tn(s) Qk, dk, bk はそれぞれノードk のキュー待ち時間、機器固有の遅れ、次のルータに繋がるエッジのバンド幅 Q0(待ち時間) S/b0(転送時間) d0(機器の遅れ) d1

関連手法 Pathchar の仕組み (2/2) 全てのルータでキュー待ち無くパケットが通り抜けた場合、 となり、 これはパケットサイズとバンド幅の関数 dn はルータn に固有の値であり、定数 TTL (n) とサイズ(s) を変化させてパケットを送信し、ルータ(n+1) とルータ n の中間エッジのバンド幅 bn を算出

ICMP メッセージを返さない機器があると正しく計算できない 関連手法 Pathchar の問題 ICMP メッセージを返さない機器があると正しく計算できない レイヤー2 スイッチやICMP を返さないルータ root 権限が必要 エンドホストで高精度な計時が必要 10Gbps などパケット到着間隔の短い環境 WAN などのノイズの多い環境 構築に時間がかかり、スケールもしない O(N2)

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

関連手法 SNMP などの管理ツールを使う手法 管理者権限でネットワーク機器にログインし、管理情報を取得 管理者権限が必要であり、非対応の機器や未設定の機器も存在する 仮にできたとしても、高速化やスケーラビリティについては言及されなければならない 我々の研究とは想定する利用シーンの違う研究

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

実装 前提 提案手法 概要 入力: ルーティング情報を含むネットワークトポロジー 出力: バンド幅マップ ネットワークトポロジー情報 traceroute や既存のトポロジー推定手法で取得可能 [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 の処理が終われば、アルゴリズムは終了であり、それまで求めた部分バンド幅マップをマージしたものが出力である。

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

実験 バンド幅マップの可視化 WAN をまたぐ15クラスタ、311ホスト、640エッジの環境において、およそ50秒でバンド幅マップが得られた。 1つのストリームを流す時間は300ms とした。 1クラスタ内 はこだて未来大 – 九州大間

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

実験 所要時間の比較

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

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

本研究の中間エッジバンド幅測定の効果をみる実験 実験 正確さの検証 本研究の中間エッジバンド幅測定の効果をみる実験 シミュレーションにおいて、ランダムに生成したグラフに対する、正しいバンド幅を測定することができた割合 本手法 TopoMon-based

実験 正確さの検証

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

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

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

よりよいグラフ分割手順 ストリームを流す時間の動的調整 まとめ 今後の課題 グラフ分割の指標としてBetweenness に加えて新たなヒューリスティクスを考え、より並列度が高くなるようなグラフ分割 ストリームを流す時間の動的調整 現在は経験的な数字で300ms に固定している