380 likes | 463 Views
高速なトポロジー推定 - ネットワークを考慮した並列計 算の基盤として. 電子情報学専攻 田浦研究室 白井達也 2007. 2. 14. ネットワークを考慮した並列計算. プロセス間の通信量に偏りがある処理の通信コスト削減 e.g. 集合通信,行列演算 プロセス割り当てによって通信コストが小さくできる 別の LAN のホスト間ではできるだけ通信しない LAN 内でも通信路を共有するとバンド幅が得られない ネットワークの接続関係(トポロジー)の情報が必要. ネットワーク情報の与え方. 既存研究のアプローチ WAN と LAN だけを区別
E N D
高速なトポロジー推定 -ネットワークを考慮した並列計 算の基盤として高速なトポロジー推定 -ネットワークを考慮した並列計 算の基盤として 電子情報学専攻 田浦研究室 白井達也 2007. 2. 14
ネットワークを考慮した並列計算 • プロセス間の通信量に偏りがある処理の通信コスト削減 • e.g. 集合通信,行列演算 • プロセス割り当てによって通信コストが小さくできる • 別のLANのホスト間ではできるだけ通信しない • LAN内でも通信路を共有するとバンド幅が得られない • ネットワークの接続関係(トポロジー)の情報が必要
ネットワーク情報の与え方 • 既存研究のアプローチ • WANとLANだけを区別 • 必要な情報を手動で設定する • 手動設定が困難な環境 • 複数の管理者に分かれるクラスタ群 • 資源が動的に変化する • 仮想化された環境 • ホスト名やIPアドレスもネットワークを反映しない • ネットワークトポロジーの推定機構が必要
並列計算のためのトポロジー推定 • 動作環境が幅広い • TCP/IPのような一般的なプロトコルだけで動作 • 管理者権限が不要 • ネットワーク負荷が低い • 他のプロセスの邪魔をしない • 他のプロセスに邪魔されない • 短時間で推定 • CPU負荷が刻々と変化する • 「計算開始時に」負荷の低いホストを使いたい
本研究の貢献 • 与えられた計算環境のトポロジーを「End-EndのRTTの測定だけ」を用いて「高速に」推定するシステムを提案 • 4クラスタ256ホストを15秒程度で推定 • ホスト数に対してスケーラブル • 既存手法と比べて非常に高速
発表の流れ • 背景 • 関連研究 • 提案手法 • 評価 • トポロジーを用いた通信最適化 • まとめと今後の課題
発表の流れ • 背景 • 関連研究 • 管理プロトコルを用いた研究 • End-to-Endの測定を用いた研究 • 提案手法 • 評価 • トポロジーを用いた通信最適化 • まとめと今後の課題
管理プロトコルを用いた研究 • プロトコル • traceroute[Benoit et al. ACM SIGMETRICS ’05] • SNMP[Yuri et al. IEEE/ACM Trans. ’04, Bruce et al. ACM SIGCOMM ’01] • プロトコルが動作する環境で常に接続情報を交換し,正確な推定ができる • 主な目的はネットワーク管理 • 動作環境が限られる • インテリジェントスイッチを仮定 • 管理者権限が必要 • セキュリティポリシーによっては,LAN外のユーザはその情報を得られない
End-End間の測定を用いた研究 • 測定方法 • パケットロス率 [Duffield et al. IEEE Trans. 2002] バンド幅 [Coates et al. SIGMETRICS 2002] 遅延 (RTT) [金田ら. SWoPP 2004] • 長所 • どんな環境でも動作する • TCP/IP・UDP/IP で動作 • 管理者権限が不要 • 短所 • 推定結果は非決定的 • 測定の変動が大きいと正確に推定できない • 推定に時間がかかる • トポロジーを木構造と仮定する研究が多い
バンド幅を用いた推定 [Coates et al. ACM SIGMETRICS ’03] • 測定方法 • 1つのソースホストから他のホストペアに測定パケットを送信し,共通の通信路のバンド幅を得る • 成果 • WANの11ホスト,6スイッチのトポロジーをほぼ正確に推定 • ただし,8分程度かかった • 長時間の測定が必要 • 全ホストペアを測定 → O(n2) • srcから遠いホスト群の精度が低い • srcを固定したことが原因 src dest2 dest1
発表の流れ • 背景 • 関連研究 • 提案手法 • 基本アルゴリズム • 実ネットワークへの適用 • 評価 • トポロジーを用いた通信最適化 • まとめと今後の課題
提案手法の概要 • ホスト間のRTTの測定を用いる • ホストを1つずつ追加する • 3ホストのトポロジーを組み合わせて全体を構成する • 構築中のトポロジー情報を用いることで短時間に推定する • 全対全ではなく,必要なホストペアのみ測定する • トポロジーは木構造モデルで表す • LAN内のトポロジーは木構造が多い • WANで物理トポロジーにループがあっても,短時間の通信路は木構造であることが多い
3ホストのトポロジー • ホスト間のRTTを枝の重みの和で表す • どのホスト間でも同じリンク,同じスイッチで同じ遅延が生じると仮定 • 3ホストでは枝の数とRTTの数が同じなので,一意に決まる AB A a B b AB = a+b AC = a+c BC = b+c c AC BC C 3ホストのトポロジー
S1 S1 S2 ホストの追加 –Addition –(1) • ホストを1つずつ追加する • 分岐位置を絞り込む • 初めに2ホストを選択 • 3ホストのトポロジーの分岐位置を求める • 推定中のトポロジーの分岐位置と同じなら測定したホストまでは分岐位置の候補から外れる H N1 N3 N6 N7 N5 N0 S S2 S3 S3 N9 N10 N8 N2 N4
H S1 S2 ホストの追加 –Addition –(2) • 測定回数は分岐した枝の数 • 分岐点の数 = グラフの直径 O(logN) • 各分岐での枝の数 = ポート数 M ⇒ O(MlogMN) N3 N1 N6 N7 N5 N0 S3 N9 N8 N10 N4 N2
測定の変動を考慮した工夫 • 分岐の一致区間を動的に決定する • Addition の初めの2ホストの選択で,近いホストを選択する • Addition フェーズの前に Selection フェーズを設ける
H h A B a’ b’ | a’- a |< r A B a b c C 分岐位置の一致区間 • 測定の変動によって細かいリンクが生じてしまう • 分岐位置の区間を設定して,区間内であれば分岐に加える H H A B A B C C
分岐位置の一致区間の適切な値 • 区間を静的に設定したときの推定結果 Cluster 3: 2~4μsが適切 Cluster 4: 6~7μsが適切 1μs 1μs 5μs 8μs • 適切な値は環境によって異なる
H h A B a’ b’ | a’- a |< r A B a b c C 分岐位置の一致区間の動的決定 • 複数回の測定で得られる測定結果の変動を分岐位置の一致の区間(r)とする • 測定の変動より小さい遅延には意味がない
S3 S1 S2 Additionの測定ホストの選択 -Selection- • Additionの最初で近くのホストを選択する • 遠いホストを選ぶと,誤りの距離が大きい • Additionフェーズの前にSelectionフェーズを設けて,近いホストを選択する H N1 N3 N6 N7 N5 N0 H N9 N10 N8 N2 N4
近いホストを選択する効果 • 4クラスタ32ホスト 近いホストを選択 ランダムに選択 • 遠いホストを選択すると大きく誤る
Selectionのための測定 • 近くのホストを見つけるための測定 • 測定しながら不要なホストを対象からはずす • 測定したホスト (J) より十分遠いホスト(K)は追加するホスト(H)から遠い • 測定したホスト (J) と十分近いホスト(K)はどちらを選択しても同じ • JK間の値は構築中のトポロジーから求められる • 特にマルチクラスタ環境で効果的 • 他のクラスタとはそれぞれ高々1ホストずつしか測定しない J J JK > 3x x JK < 1/3x x H K H K J と同程度の距離 >2x :遠い
AdditionとSelectionの並列化 • ホストを追加する手順 • k ホスト前から受け取ったトポロジーを使って近いホストを選択 • 1ホスト前から受け取ったトポロジーを使って自ホストを追加 • Selectionは他ホストのAdditionと並行して行う • Selectionの時間的コストはゼロ Tn-1 Tn n-k n-1 n n+1 n+k ・・・ ・・・ ・・・ ・・・ Tn-k Tn
発表の流れ • 背景 • 関連研究 • 提案手法 • 評価 • 推定精度 • 推定時間 • トポロジーを用いた通信最適化 • まとめと今後の課題
実験環境 • 4クラスタ256ホストを使用 • 実験中も他のユーザのプロセスが動作 Cluster 1 (遅延: 20~30μs) 6ポートのハブのスタック 6 6 2 6 2 6 Cluster 3 (遅延: 25~35μs) 2ms 25μs 14 14 14 14 14 45μs 5μs 6 6 6 6 6 6 3ms 14 14 14 14 14 16 16 16 16 Cluster 2 (遅延: 25~40μs) Cluster 4 (遅延: 50~65μs)
Cluster 1 Cluster 3 Cluster 1 Cluster 3 2ms 5μs 3ms Cluster 2 Cluster 4 Cluster 2 Cluster 4 推定結果 • Cluster 2, 3は正確 • 同じスイッチにつながるホスト群を近くに推定した • ただし,特にCluster 1, 4はそれらが分散してしまった • Cluster 1, 4はスイッチ間が不正確 • 大きな遅延のリンクに隣接する小さな遅延のリンクが隠されてしまった
定量的な評価 1/2 • 通信路の共有情報の正確さ:1クラスタ • 2つのホストペアの通信路が1つ以上のリンクを共有するかどうかの正確さ • ランダムに100万ペア選択し,誤り率を求めた 共有するのにしないと推定された確率 (false positive) 共有しないのにすると推定された確率 (false negative) • 一つのスイッチにつながるホスト群が分離したため, false negativeが高かった
定量的な評価 2/2 • 通信路の共有情報の正確さ: 4クラスタ 共有するのにしないと推定された確率 (false negative) 共有しないのにすると推定された確率 (false positive) • Cluster 1,2と3,4の間の5μsのリンクを見つけられなかったため,false negativeも上昇してしまった
推定時間 • Selection時に全ホストと測定した場合(non-reduction)と比較 • non-reductionではホスト数の増加に対して推定時間が増加 • 本手法はホストの増加に対して推定時間がそれほど増加せず高いスケーラビリティを持つ
測定回数 • クラスタ内,クラスタ間で行った測定の回数 • 全対全に対する割合を示す • クラスタ内の測定は35~50% • クラスタ間の測定は2%程度と非常に少ない
発表の流れ • 背景 • 関連研究 • 提案手法 • 評価 • トポロジーを用いた通信最適化 • まとめと今後の課題
トポロジーを用いた通信最適化 • バンド幅測定 • 長いメッセージのブロードキャスト • MPIアプリケーションのプロセス割り当て
長いメッセージのブロードキャスト 1/2 • バンド幅の最適化 • パイプライン転送を行う • 転送する順番によっては一つのリンクを何度も使ってしまう • ツリートポロジーでは,トポロジー上で深さ優先順に転送する • 各リンクを片方向一度ずつしか通らない • ただし,トポロジーがツリーでない場合は冗長なパスを用いることでより高いバンド幅を得られる 0 0 1 3 4 2 1 3 2 4 ×片方向2回 ○片方向1回
長いメッセージのブロードキャスト 2/2 • Cluster 4の64ホストを用いて実験を行った • スイッチ間は4本のトランク • 各リンクは1Gbps • 実際のツリー上の深さ優先順(optimal)と,ランダム順(random)と比較 • randomでは何往復もしてしまい,23%の性能しか得られなかった • oursは2往復するものはあったが,平均88%の性能を得られた
発表の流れ • 背景 • 関連研究 • 提案手法 • 評価 • トポロジーを用いた通信最適化 • まとめと今後の課題
まとめ • RTTの測定だけを用いたネットワークトポロジー推定手法を提案した • 4クラスタ256ホストのトポロジーを15秒程度で推定 • 既存の手法より一桁以上高速 • ホスト数に対してスケーラブル • ネットワーク的にヘテロな環境で動作 • ネットワーク負荷が低い • トポロジーを用いた通信効率化手法を提示した • 長いメッセージのブロードキャスト
今後の課題 • 推定精度の向上 • 分岐位置の区間のよりよい基準 • RTTの測定では推定できない部分の補完 • バンド幅など他の測定を使う • 使えるときは traceroute なども用いる • 推定時間の向上 • ホストの追加の並列化
発表文献 • 投稿中 • A Fast Topology Inference – A building block for network-aware parallel processing. High Performance Distributed Computing, 2007. • 高速なトポロジー推定 – ネットワークを考慮した並列計算の基盤として. 先進的計算基盤システムシンポジウム(SACSIS2007), 2007年. • 論文誌 • 高いヒープ使用率の下で高速なインクリメンタルGC.In IPSJ Transactions on Programming.Vol.47 No.SIG 2 (PRO28), 2006年2月. • 研究会発表 • 並列処理のための効率的なトポロジ推定. 2006年並列/分散/協調処理に関するサマー・ワークショップ(SWoPP2006), 2006年8月. • RTTを用いたネットワークトポロジの推定. 先進的計算基盤システムシンポジウム(SACSIS2006), pp. 267-268, 2006年5月. (ポスター発表) • 高いヒープ使用率のもとで高速なインクリメンタルGC. 2005年並列/分散/協調処理に関するサマー・ワークショップ(SWoPP2005), 2005年8月. • 高いヒープ使用率のもとで高速なインクリメンタルGC. 先進的計算基盤システムシンポジウム(SACSIS2005), 2005年5月. (ポスター発表) • その他,情報理工COEプロジェクトに関連する発表5件