大規模ネットワークにおける バンド幅測定アルゴリズム

Slides:



Advertisements
Similar presentations
G ゼミ 2010/5/14 渡辺健人. パフォーマンスの測定 CUDA Visual Profiler CUDA の SDK に標準でついているパフォーマン ス測定用のツール 使い方: exe ファイルのパスと作業ディレクトリ指定して実 行するだけ 注意点 : GPU のコード実行後にプログラム終了前に,
Advertisements

多目的GAに対する パレート最適個体の分布制御 九州大学大学院工学府知能機械システム専攻徳井 宏司.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータプラクティス I 再現性 水野嘉明
最新ファイルの提供を保証する代理FTPサーバの開発
NFCを利用した登山者間DTNの構築 Building DTN for Climbers by using NFC
セキュアネットワーク符号化構成法に関する研究
ラウンドトリップタイムを指標とした 無線LAN のためのアクセスポイント選択手法
スケールフリーネットワークにおける 経路制御のためのフラッディング手法の提案と評価
神奈川大学大学院工学研究科 電気電子情報工学専攻
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
センサノード 時刻同期と位置測定 浅川 和久 2008/11/16 センサノード 時刻同期と位置測定.
ネストした仮想化を用いた VMの安全な帯域外リモート管理
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
予備親探索機能を有した アプリケーションレベルマルチキャスト
ネットワークとノードの情報を利用したオーバレイネットワークの最適化
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
IPv6アドレスによる RFIDシステム利用方式
大規模アドホックネットワークにおける 階層的な名前解決法
サーバ負荷分散におけるOpenFlowを用いた省電力法
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
Occam言語による マルチプリエンプティブシステムの 実装と検証
Ibaraki Univ. Dept of Electrical & Electronic Eng.
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
ネットワークトポロジーを考慮した効率的なバンド幅推定手法
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
トポロジを考慮する データ転送スケジュラー
オーバレイ構築ツールキットOverlay Weaver
混合ガウスモデルによる回帰分析および 逆解析 Gaussian Mixture Regression GMR
実行時情報に基づく OSカーネルのコンフィグ最小化
分散環境でのStableな ブロードキャストアルゴリズムの 提案と実装
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
大規模ネットワークにおける 効率的なバンド幅マップ構築アルゴリズム
マルチホーミングを利用した Proxy Mobile IPv6の ハンドオーバー
アンテナ最適化技術と電波伝搬シミュレーション技術の高速化と高精度化
Internet広域分散協調サーチロボット の研究開発
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
計算量理論輪講 chap5-3 M1 高井唯史.
非対称リンクにおける ジャンボフレームの性能評価
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
IP over DVB-RCSの設計と実装
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
片方向通信路を含む ネットワークアーキテクチャに於ける 動的な仮想リンク制御機構の設計と実装
盗聴・改ざんに対して耐性を持つ ネットワーク符号化について
実空間における関連本アウェアネス 支援システム
P2P ネットワーク上で 実時間ストリーミングを実現するための 分散制御プロトコルの提案
Virtualizing a Multiprocessor Machine on a Network of Computers
ネットワークトポロジを考慮した効率的なバンド幅推定手法
トラフィックプロファイラAGURIの設計と実装
保守請負時を対象とした 労力見積のためのメトリクスの提案
「マイグレーションを支援する分散集合オブジェクト」
オブジェクトの動的支配関係解析を 用いたシーケンス図の縮約
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
大規模ネットワークにおける 効率的なバンド幅マップ構築アルゴリズム
メソッドの同時更新履歴を用いたクラスの機能別分類法
卒業研究 JCSPを用いたプログラム開発  池部理奈.
衛星回線を含むネットワークにおける 動的経路制御に関する研究
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
MAUI Project 2009 インターネットにおける近接性
Jh ISJ 柏崎礼生 (大阪大学) 耐災害性・耐障害性の自己検証機能を具備した広域分散プラットフォームの国際的展開とHPCI-JHPCNシステム資源との柔軟な連携 目的 広域に分散した研究組織が計算機資源を提供し合うことにより構築される広域分散プラットフォームを拡大するとともに、運用にかかる人的負荷を軽減する仕組みとスモールスタートでこのプラットフォームに参画できる仕組みを作る。
まさ 2003/06/12 卒論その後の進捗 まさ 2003/06/12.
アルゴリズム ~すべてのプログラムの基礎~.
P2Pによる協調学習システム 唐澤 信介   北海道工業大学 電気工学専攻.
プログラミング 2 静的変数.
Presentation transcript:

大規模ネットワークにおける バンド幅測定アルゴリズム 長沼 翔、田浦 健次朗(東大)

イントロダクション バンド幅を知ることの意味 ネットワークの管理、運用、モニタリングのために 設計通りのバンド幅が出ているか・・・ 並列分散アプリケーションのチューニングパラメータとして 効率の良いファイル転送スケジュール・・・

イントロダクション バンド幅情報の二つの記述方法 バンド幅行列 N × N 行列 (N はネットワーク中のエンドホスト数) バンド幅マップ 重み付き有向グラフ

N × N 行列 イントロダクション バンド幅行列とは 行: 送信ノード 列: 受信ノード 要素: バンド幅の値 Snd \ Rcv A B 行: 送信ノード 列: 受信ノード 要素: バンド幅の値 Snd \ Rcv A B C - 1Mbps 3Mbps 5Mbps 2Mbps

重み付き有向グラフ イントロダクション バンド幅マップとは ノード: エンドホストやスイッチ エッジ: リンク(上下流) ノード: エンドホストやスイッチ エッジ: リンク(上下流) コスト: バンド幅の値 6Mbps A 1Mbps 5Mbps 2Mbps sw B C 3Mbps 4Mbps

このネットワークの バンド幅情報は? A sw B C 6Mbps A 1Mbps 5Mbps 2Mbps sw B C 3Mbps Snd \ Rcv A B C - 1Mbps 3Mbps 5Mbps 2Mbps 5Mbps 2Mbps sw B C 3Mbps 4Mbps

一般的に情報量はバンド幅マップの方が多いが、バンド幅行列より取得することが難しい。 イントロダクション 行列とマップの比較 一般的に情報量はバンド幅マップの方が多いが、バンド幅行列より取得することが難しい。 分散アプリケーションの性能向上を追求するためにはバンド幅マップのような詳細な情報が必要。 1 Gbps D A E B sw sw F C 10 Gbps

一般的に情報量はバンド幅マップの方が多いが、バンド幅行列より取得することが難しい。 イントロダクション 行列とマップの比較 一般的に情報量はバンド幅マップの方が多いが、バンド幅行列より取得することが難しい。 分散アプリケーションの性能向上を追求するためにはバンド幅マップのような詳細な情報が必要。 1 Gbps これをバンド幅行列で表現すると、全要素が1Gbps となる D A E B sw sw F C 10 Gbps

一般的に情報量はバンド幅マップの方が多いが、バンド幅行列より取得することが難しい。 イントロダクション 行列とマップの比較 一般的に情報量はバンド幅マップの方が多いが、バンド幅行列より取得することが難しい。 分散アプリケーションの性能向上を追求するためにはバンド幅マップのような詳細な情報が必要。 矢印の通信を同時に行っても、どれも干渉せずに1Gbps 出ると予想がたてられる。 D A E B sw sw F C

大規模ネットワークのバンド幅マップを取得する イントロダクション 本研究の目的 大規模ネットワークのバンド幅マップを取得する 分散アプリケーションのチューニングなどをする際の下地となる位置づけ 最終的に実装するシステムとしては、 入力: ネットワークトポロジー 出力: バンド幅マップ

発表の流れ イントロダクション 既存手法とその問題 新手法の提案と検証 まとめ

二つのエンドホスト間の通信スループットを測定する。最もよく使われるバンド幅測定ツールの一つ 既存手法の紹介 Iperf 二つのエンドホスト間の通信スループットを測定する。最もよく使われるバンド幅測定ツールの一つ 相手ホストにパケットを送信し続け、送受信できたバイトをかかった時間で割ることでバンド幅[bps]を得るという原理

難点 既存手法の紹介 Iperf の難点 二つのホスト間の経路中のボトルネックリンクの値以外は見えない そのリンクがどれなのかもわからない A このような単純なネットワークでもバンド幅マップを構築するという目的は果たせない sw B C

既存手法の紹介 bhtree [sacsis2008] トポロジーを入力し、バンド幅マップを出力するツール 複数のIperf を組み合わせた測定により単独のIperf の難点を克服し、さらに並列測定によって大規模ネットワークにも対応した A sw B C

既存手法の紹介 bhtree で残された課題 ツリーネットワークしか扱えない リンクのバンド幅は上下対称としている ネットワークの形にしたがった複雑な場合分けが多い 問題や実装を単純にするための仮定・設定だったが実ネットワークに適用するには無理がある 実ネットワークに適用可能なように考え直したい。実用的な結果を出したい 統一的なアルゴリズムにしたい

InTrigger2009の接続の簡略図 広島大、九州大、神戸大あたりにループが見える

九州大 <-> 千葉NII のバンド幅行列 InTrigger2009のバンド幅 九州大 <-> 千葉NII のバンド幅行列 Snd \ Rcv 九州大 千葉NII - 50.8Mbps 595Mbps

発表の流れ イントロダクション 既存手法とその問題 新手法の提案と検証 まとめ

システム ネットワークグラフは既知とする 提案手法 新手法の概要 入力: ネットワークグラフ 入力: ネットワークグラフ 出力: バンド幅マップ(入力のネットワークグ ラフの全エッジにバンド幅の値を割り 振ったもの) ネットワークグラフは既知とする これはtraceroute や既存のトポロジー推定手法で取得可能 [Shirai et al, HPDC2007]

各エッジ一つ一つに着目し、そのバンド幅を決定させるという手順をとることで、あらゆるネットワークにも適応 提案手法 新手法の概要 大枠のアルゴリズム 各エッジ一つ一つに着目し、そのバンド幅を決定させるという手順をとることで、あらゆるネットワークにも適応 Input: Network Graph G := (V, E) for each edge in E:    determine_bw_of_edge(edge) endfor

これまでの手法ではバンド幅を測定するといっても何の値が得られるのかが明確ではなかった 提案手法 エッジのバンド幅の決定の仕方 これまでの手法ではバンド幅を測定するといっても何の値が得られるのかが明確ではなかった 何をして得られた結果をバンド幅とするかを定義する必要がある

一つのエッジに着目する。そのエッジを通過するようなIperf を全て同時に実行する。それぞれ得られた結果の和をそのエッジのバンド幅とする。 提案手法 本研究でのバンド幅の定義 一つのエッジに着目する。そのエッジを通過するようなIperf を全て同時に実行する。それぞれ得られた結果の和をそのエッジのバンド幅とする。 receivers: m nodes senders: n nodes Edge with a direction Iperfs: nm connections

以後、この定義に沿って決定した値が正しいバンド幅の値であるとし、話を進める 提案手法 本研究でのバンド幅の定義 妥当性 一本でもIperf を欠かすと、エッジのキャパシティを埋め切れないかもしれない 全てのIperf を以てしても埋め切れないキャパシティを持つエッジであっても、それを答えとする 以後、この定義に沿って決定した値が正しいバンド幅の値であるとし、話を進める

一つのエッジのバンド幅を求める度にシステム全体を導引することになってしまう 定義に反しない範囲で手間を削減する必要がある 提案手法 Naïve な方法 一つのエッジのバンド幅を求める度にシステム全体を導引することになってしまう 定義に反しない範囲で手間を削減する必要がある Input: Network Graph G := (V, E) for each edge in E:    naïve_bundle_iperfs(edge) endfor

定義に沿った測定を各エッジに適用するnaïve な方法ではネットワークへの負荷と所要時間が多大に 提案手法 ここまでの話の流れ バンド幅測定の定義 定義に沿った測定を各エッジに適用するnaïve な方法ではネットワークへの負荷と所要時間が多大に 定義に反しない範囲でいかに処理を削減するか ←これが本手法の追求のしどころ

全Iperf を最初から全部流し始める必要はなく、一本ずつ加えていき、それまでの和が頭打ちになった本数で止めてもよい これにより測定に伴うネットワークへの負荷軽減が期待できる

Bandwidth of (d->e) is Target edge: d -> e Iperfs routing flowing I0 a -> b -> c -> d -> e -> f -> g I1 h -> i -> c -> d -> e -> f -> j I2 l -> m -> n -> o -> c -> d -> e -> f -> p I3 q-> m -> n -> r -> d -> e -> f -> g I4 r -> t -> o -> c -> d -> e -> u -> p I5 s -> m -> n -> v -> o -> c -> d -> e -> f -> j I6 w -> d -> e -> z I7 x -> d -> e -> z I8 k -> t -> c -> d -> e -> f -> z I9 u -> c -> d -> e -> f -> z Saturated! ・・・ Bandwidth of (d->e) is

Bandwidth of (d->e) is Target edge: d -> e Iperfs routing flowing I0 a -> b -> c -> d -> e -> f -> g I1 h -> i -> c -> d -> e -> f -> j I2 l -> m -> n -> o -> c -> d -> e -> f -> p I3 q-> m -> n -> r -> d -> e -> f -> g I4 r -> t -> o -> c -> d -> e -> u -> p I5 s -> m -> n -> v -> o -> c -> d -> e -> f -> j I6 w -> d -> e -> z I7 x -> d -> e -> z I8 k -> t -> c -> d -> e -> f -> z I9 u -> c -> d -> e -> f -> z ・・・ Bandwidth of (d->e) is

Bandwidth of (d->e) is Target edge: d -> e Iperfs routing flowing I0 a -> b -> c -> d -> e -> f -> g I1 h -> i -> c -> d -> e -> f -> j I2 l -> m -> n -> o -> c -> d -> e -> f -> p I3 q-> m -> n -> r -> d -> e -> f -> g I4 r -> t -> o -> c -> d -> e -> u -> p I5 s -> m -> n -> v -> o -> c -> d -> e -> f -> j I6 w -> d -> e -> z I7 x -> d -> e -> z I8 k -> t -> c -> d -> e -> f -> z I9 u -> c -> d -> e -> f -> z ・・・ Bandwidth of (d->e) is

Bandwidth of (d->e) is Target edge: d -> e Iperfs routing flowing I0 a -> b -> c -> d -> e -> f -> g I1 h -> i -> c -> d -> e -> f -> j I2 l -> m -> n -> o -> c -> d -> e -> f -> p I3 q-> m -> n -> r -> d -> e -> f -> g I4 r -> t -> o -> c -> d -> e -> u -> p I5 s -> m -> n -> v -> o -> c -> d -> e -> f -> j I6 w -> d -> e -> z I7 x -> d -> e -> z I8 k -> t -> c -> d -> e -> f -> z I9 u -> c -> d -> e -> f -> z Saturated! ・・・ Bandwidth of (d->e) is

Bandwidth of (d->e) is Target edge: d -> e Iperfs routing flowing I0 a -> b -> c -> d -> e -> f -> g I1 h -> i -> c -> d -> e -> f -> j I2 l -> m -> n -> o -> c -> d -> e -> f -> p I3 q-> m -> n -> r -> d -> e -> f -> g I4 r -> t -> o -> c -> d -> e -> u -> p I5 s -> m -> n -> v -> o -> c -> d -> e -> f -> j I6 w -> d -> e -> z I7 x -> d -> e -> z I8 k -> t -> c -> d -> e -> f -> z I9 u -> c -> d -> e -> f -> z ・・・ Bandwidth of (d->e) is

Bandwidth of (d->e) is Target edge: d -> e Iperfs routing flowing I0 a -> b -> c -> d -> e -> f -> g I1 h -> i -> c -> d -> e -> f -> j I2 l -> m -> n -> o -> c -> d -> e -> f -> p I3 q-> m -> n -> r -> d -> e -> f -> g I4 r -> t -> o -> c -> d -> e -> u -> p I5 s -> m -> n -> v -> o -> c -> d -> e -> f -> j I6 w -> d -> e -> z I7 x -> d -> e -> z I8 k -> t -> c -> d -> e -> f -> z I9 u -> c -> d -> e -> f -> z ・・・ Bandwidth of (d->e) is

提案手法 アルゴリズム書き直し Input: Network Graph G := (V, E) for each edge in E:    # naïve_bundle_iperfs(edge)    selective_iperfs(edge) endfor

冗長なIperf 流を削減することで、どれ程ネットワークへの負荷を軽減できるか 提案手法 書き直したアルゴリズムの検証 冗長なIperf 流を削減することで、どれ程ネットワークへの負荷を軽減できるか ネットワーク中を往来するIperf 流本数を、naïve な手法と比較

以下の様な環境をシミュレータ上で再現 提案手法 検証環境 1Gbps 500Mbps 14 nodes 14 nodes 14 nodes

提案手法 検証結果 97% の削減

少々強引な設定を最初においたが、工夫次第で通用する見通しがある 提案手法 考察 少々強引な設定を最初においたが、工夫次第で通用する見通しがある Naïve な手法では冗長な手順が多数存在し、アルゴリズムの意味を崩さずにそれらを取り除くことができる 考えられる課題 実用可能なレベルまでコストを削減する工夫を様々な視点から考案する そもそもどれほどまで削減すれば実用可能だといえるか定量的に示す

発表の流れ イントロダクション 既存手法とその問題 新手法の提案と検証 まとめ

まとめ 求めるべきバンド幅マップを定式化し問題設定を明確にした 1)エッジのバンド幅を定義 2)定義通りの測定を全エッジについて実行するとい うnaïve なアルゴリズムを考案、これを正解とする Naïve なアルゴリズムでは現実的ではないため、処理量削減の工夫を加えていく必要がある 一つの案として冗長Iperf 流の削減を提案

今後の課題 様々な視点からnaïve な手法の(時空間共に)コスト削減の工夫を考案する コスト削減の定量的分析 実環境での実験と評価