ロングファットネットワーク上での 高速データ転送 「ATLAS地域解析センター Testbed環境の構築」

Slides:



Advertisements
Similar presentations
IP over DVB-RCS の設計と実装 研究背景 DVB-RCS 衛星回線を用いて受信局から送信局への狭帯域な戻り回線を提供 Forward Link Return Link HUB Terminal.
Advertisements

Timeout と再送 往復時間 予知が困難 他のトラフィックに依存 適応再送アルゴリズム データの採取.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
ATLAS実験データ解析に向けた、長距離広帯域ネットワークにおけるデータ転送
情報理工学系研究科 コンピュータ科学専攻 上嶋裕樹
前回の授業への質問 質問:プロトコルアナライザで測定できる範囲はどこまでか?
Webプロキシサーバにおける 動的資源管理方式の提案と実装
動画像品質調整機能を組み込んだ プロキシキャッシングシステムの 実装と評価
高エネルギー加速器研究機構 素粒子原子核研究所 濱田 英太郎
コンピュータ基礎(10) 11章 通信ネットワーク.
COPPER/FINESSE System構築
ATLAS実験における シミュレーション&解析環境
詳解TCP/IP TCPタイムアウトと再転送 れにうむ.
TCP (Transmission Control Protocol)
TCP Tahoeのウインドウ制御 (復習)
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
Step.4 基本IPネットワーク PC 1 PC 2 PC 3 PC
TCPデータ通信との公平性を考慮した 輻輳適応能力を有する MPEG動画像通信のための品質調整機構
詳解TCP/IP ACE B2 mewtwo.
心理学情報処理法Ⅰ コンピュータネットワーク概論.
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
コンテンツ配信 エンコード (符号化) CBR (Constant Bit Rate) VBR (Variable Bit Rate)
コンピュータ基礎(10) 11章 通信ネットワーク.
ノードの情報を動的に反映したオーバレイネットワークの構築
ノードの情報を動的に反映したオーバレイネットワークの構築
LHCのデータ量.
イーサネットについて 飯塚務.
Step.6 スタティック(静的)ルーティング
Copyright Yumiko OHTAKE
ギガビットネットワークに対応する ネットワークべンチマークテスト機の試作と ギガビットルータの性能評価
Ibaraki Univ. Dept of Electrical & Electronic Eng.
アトラス実験における データ解析用グリッド環境の構築
TCP/UDP プロセス間の通信のためのプロトコル TCP:信頼性高、処理時間大 UDP:信頼性低、処理時間小 ftp SMTP HTTP
Globusにおける GridFTPの性能評価
第9章 Error and Control Messages (ICMP)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
リモートホストの異常を検知するための GPUとの直接通信機構
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
LHC加速器の設計パラメーターと 2012年の運転実績
超高速ネットワークの弱点 光は速い 光は遅い 300km / 1msec (真空中) 180km / 1msec (光ファイバ中)
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
ネットワークの性能 牧野ゼミ3年 足立龍哉.
UDPマルチキャストチャット    空川幸司.
LHCでの発見へ向け 世界最大コンピューティンググリッドが始動
演習第6回 情報通信技術論 インターネット工学
Step.7 ダイナミック(動的)ルーティング
ATLAS実験イベントビルダへの 品質保証機能の適用と性能評価
非対称リンクにおける ジャンボフレームの性能評価
J-PARC E16実験におけるDAQ-Middleware を用いたDAQソフトウェアの開発
IP over DVB-RCSの設計と実装
超高速ネットワークの弱点 光は速い 光は遅い 300km / 1msec (真空中) 180km / 1msec (光ファイバ中)
前回の授業への質問 質問:プロトコルアナライザで測定できる範囲はどこまでか?
仮想ネットワークを考慮した SoftIRQ制御によるCPU割当ての手法
VMMのソフトウェア若化を考慮した クラスタ性能の比較
演習第4回 情報通信技術論 インターネット工学
Web(World Wide Web)の発祥地
レポート課題 レポートの提出は による。 提出期間を厳守する。 締切は2010年1月12日(火)
P2P ネットワーク上で 実時間ストリーミングを実現するための 分散制御プロトコルの提案
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
広島大学におけるHEPnet-J 利用状況
OSI7層に関係する機器、仕様、機能など 物理層 データリンク層 ネットワーク層 トランスポート層 セッション層 プレゼンテーション層
Step.8 ファイアウォール PC 3 PC 1 PC 2 許可したアクセス のみ通過させる アクセスする ファイアウォール
GbEにおける TCP/IP の研究について
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
レポート課題1 基本問題:  課題1. あるマシンまでのRTT (Round Trip Time)を測定したところ 128msec(ミリ秒)であった。このマシンに対してウィンドウサイズ64KByteでTCPの通信を行う場合のスループットの予想値を計算せよ。 ヒント1: 授業中に説明したように、スループットの値は、ウィンドウサイズを往復遅延時間で割れば良い。Byteとbitの換算に注意する。計算を簡単にするために1024≒1000として計算して良い(もちろん、この概算を使わなくても良い)。スループットは、ど
7月13日の演習問題・解答例 について ネットワーク長が 18、22、26、28 の場合の
東大素セ 松本浩,田中純一, 上田郁夫,坂本宏,真下哲郎
情報ネットワーク 岡村耕二.
TCP/IPの通信手順 (tcpdump)
ソケットの拡張によるJava用分散ミドルウエアの高信頼化
Presentation transcript:

ロングファットネットワーク上での 高速データ転送 「ATLAS地域解析センター Testbed環境の構築」 高エネルギー加速器研究機構 計算科学センター 佐藤博之 2001/09/28 Linux Conference 2001

始めにご注意 このpresentationは実際に存在するロングファットネットワーク上でデータ転送実験を行ったものではありません さらにHigh Throughputを達成するためのプログラム等を開発したわけでは(今のところ)ありません RTT/cwnd/ssthreshなどの用語を何の断りもなく使用します 2001/09/28 Linux Conference 2001

話の進み方 (1) 前回のおさらい (2) ネットワークシミュレータを利用した測定 (3) 結果に対する考察 LHC , ATLAS , 地域解析センター , WANとLAN , ネットワークシミュレータの構築 (2) ネットワークシミュレータを利用した測定 遅延 , 輻輳 , Window Size , Slow Start , パフォーマンス測定 (3) 結果に対する考察 何が足りないのか? 2001/09/28 Linux Conference 2001

Detector for LHCb experiment 次期陽子陽子衝突型実験 Detector for ALICE experiment Detector for LHCb experiment 取得データ量 100MB/sec ↓ 1PB/year これを34ヶ国の 1850人が利用する (ATLASの場合) 2001/09/28 Linux Conference 2001

物理データ解析のチャレンジ "干し草の山の中から針を探しだす" 毎秒 10億回の衝突事象  オンラインで選別 毎秒 100 事象を保存  1年あたり 10億事象 データサイズ 1 Mbyte/事象  4実験で年間数ペタバイト 事象再構築: ~ 300 SPECint95*秒/事象  事象再構築だけで 20万SPECint95 のCPUパワーが必要  データ解析にさらにその数倍が必要になる  データ解析も国際協力で!  "MONARC"プロジェクト 2001/09/28 High Throughput, Data-Intensive Computing Linux Conference 2001

Multi-Tier Regional Center Scheme 多階層型地域解析センターモデル Multi-Tier Regional Center Scheme Tier2 Center ~1 TIPS Online System Offline Farm ~20 TIPS CERN Computer Center >20 TIPS US Regional Center France Regional Center Italy Regional Center Germany Regional Center Institute Institute ~0.25TIPS Workstations ~100 MBytes/sec ~2.4 Gbits/sec 100 - 1000 Mbits/sec HPSS Bunch crossing per 25 nsecs. 100 triggers per second Event is ~1 MByte in size Physicists work on analysis “channels”. Each institute has ~10 physicists working on one or more channels Data for these channels should be cached by the institute server Physics data cache ~PBytes/sec ~622 Mbits/sec or Air Freight ~622 Mbits/sec Tier 0 Tier 1 Tier 3 Tier 4 1 TIPS = 25,000 SpecInt95 PC (1999) = ~15 SpecInt95 Tier 2 ~4 TIPS 2001/09/28 Linux Conference 2001 24 March 2000, WW A/C Panel, P. Capiluppi

アトラス日本グループの地域解析センター KEKと東大・素粒子国際研究センター(ICEPP)の共同で技術開発を推進 2006年までに 約6万SPECint95の計算機からなるTier-1データ解析システムを国内に構築、ストレージを約1ペタバイトまで段階的に増強 補完的役割を担うCERN分室を設立 2001年末から始まるアトラスのデータ・チャレンジに参加 NIIのSuperSINET計画にGrid/アトラスの専用回線 2001年度末に KEK-ICEPP間に 1 ~ 10 Gbps 2001/09/28 Linux Conference 2001

地域解析センター実現のための技術課題 広域広帯域ネットワークの利用 大規模データストレージと大規模CPUクラスター 今回はこれに特化した話です 広域広帯域ネットワークの利用 TCP/IPの技術的制約と効率的ファイル転送技術の必要性 サイト間にまたがる研究者の認証とセキュリティの確保 実験データの分配・複製機構 計算資源の効率的管理 大規模データストレージと大規模CPUクラスター スケーラブルでフォルトトレラントな大規模システム 共同研究者間で透過的に利用できる広域データ共有システム 2001/09/28 Linux Conference 2001

帯域幅の使われ方 普通(?)の場合 今回の目標 2001/09/28 Linux Conference 2001 ノード A ノード B ノード D ノード E ノード a ノード b ノード c ノード d ノード e ハブ 帯域幅 今回の目標 帯域幅 ノードA ハブ ハブ ノードa 2001/09/28 Linux Conference 2001

WANとLANの違い 遅延時間が長い 数百msec単位 / LANでは数msec単位かそれ以下 途中経路に広い回線から細い回線へのルータが存在している可能性が高く、そこでのキュー容量の制限によりパケットロスが生じ輻輳が発生する このため、TCPのようなコネクション指向のプロトコルにおいては、そのスループットを安全に最大へと誘導する通信メカニズムが必要 ⇒ 一般にはSlow Startの機構が動作する 2001/09/28 Linux Conference 2001

WANでのデータ転送(1) 標準設定 拡大図 RTT 25Mbps ( KEK-CERN Backup Network ) 2001/09/28 Linux Conference 2001

なぜ遅い? 送信側は受信側からの応答確認(ack)があるまで次のセグメントをネットワーク上へ流すことができない 一回に流すセグメント数(cwnd)が10Kbytesほどで頭打ちになっている LANだとRTTが小さいためほとんど気にならないがWANではその数百倍(100ms単位)にもなるためパフォーマンスが低下する 2001/09/28 Linux Conference 2001

じゃあどうする? 一回に流す(バーストさせる)パケット量を増やして1RTTあたりの転送レートを上げる そのためには受信側から告知されOffered Window Sizeを変えてcwndのとれる最大値を大きくしてやればよい ただしSlow Startによる輻輳回避戦略のため、cwndは確認応答を受信しながら徐々に大きくなっていく 2001/09/28 Linux Conference 2001

いろんなWindow Size いろいろ “cwnd” 2001/09/28 Linux Conference 2001

輻輳発生時 win = 256K “cwnd” 2001/09/28 Linux Conference 2001

RTTが大きい時に利用効率を上げるためには広いWindow Sizeが必要 time 5: (cwnd = 6) 送 → seg6 seg5 seg4 → 受 送 ← ack1 ack2 ack3 ← 受 RTTが大きいとき time 10: (cwnd = 6) seg6 seg5 seg4 → 受 ack1 ack2 ack3 ← 受 time 15: (cwnd = 16) 送 → seg16 seg15 seg14 seg13 seg12 seg11 seg10 seg9 → 受 送 ← ack1 ack2 ack3 ack4 ack5 ack6 ack7 ack8 ← 受 2001/09/28 Linux Conference 2001

KEKでのMONARC Testbed KEK⇔CERN回線 地上回線 4Mbps RTT~300ms (nacsis提供) 衛星回線 2Mbps RTT~600ms (crl提供) 両端にSolaris/Linux等を設置しOODB(Objectivity/DB)やファイル転送等の性能測定を行ってきた 将来、広帯域(数百Mbps~数Gbps)で接続された場合のTestbedも行いたい 接続先のマシン設定を自由に変更したい → 疑似遅延環境を構築してそこでTestbedを行う 2001/09/28 Linux Conference 2001

遅延の実現方法 一番簡単かつ確実な方法 市販の遅延器(?)を使う そこでお手軽にLinux PCのルーターに小細工をして自分で作ることにする ケーブルを必要なだけとぐろ巻きにする 数百msecだととてもじゃないがやってられない 市販の遅延器(?)を使う ATM用のがあるらしい コストが不明….. そこでお手軽にLinux PCのルーターに小細工をして自分で作ることにする 2001/09/28 Linux Conference 2001

遅延ルーティング用プログラム あるifからパケットをひたすら取り込みそれを分離スレッドにして遅延をかけた後でそれを別のifから送信する 必要なもの パケットキャプチャー パケットインジェクター 詳細は以下をどうぞ http://atlas.kek.jp/People/yuki/lc2k_fall/ 2001/09/28 Linux Conference 2001

Gigabit Ethernet 昔は高値の花だったが今は1万円を切るものもある 光ファイバーでなく銅線利用のものが多くなってきた 1000Mbps出すには 優秀なチップセット 64bitPCIバス ジャンボフレーム (MTU=9000) がおそらく必要 ただしジャンボフレームを通すハブはまだまだ高価なので、しばらくはFast Ethernetの2~3倍程度の速度での運用か (SuperSINETは?) 2001/09/28 Linux Conference 2001

ServerSetIIILEチップセット搭載機 Gigabit Ethernetの測定例 Message size in KB Transfer speed in Mbit/s 990Mbps ネットワーク性能 ServerSetIIILEチップセット搭載機 (64bitPCI付き) はっきし言って バケモンである 恐るべしServerSet..... 2001/09/28 Linux Conference 2001

で、Linuxでうまく行ったの? 数+Mbpsぐらいならうまくいったんですが それを超えると完全にアウトで、パケット落ちまくり うーん..…どうしよう そんなとき、悪魔の囁きによりFreeBSDへと浮気..................... 2001/09/28 Linux Conference 2001

DUMMYNET さまざまな条件下でのネットワークのシミュレーションを行う FreeBSDのカーネルに組み込んで使用 以下の様なものが制御できる 帯域幅 遅延 パケット損失 http://info.iet.unipi.it/~luigi/ip_dummynet/ 2001/09/28 Linux Conference 2001

Testbed セットアップ (1) Delay : 300msec PentiumIII 733MHz 128MB / SSIIILE 192.168.148.105:eth2 PentiumIII 733MHz 128MB / SSIIILE Router (FreeBSD) eth1:192.168.158.105 Gigabit-Ethernet Gigabit-Ethernet GB+FE Hub GB+FE Hub Fast-Ethernet Fast-Ethernet 192.168.148.101:eth1 eth1:192.168.158.103 PentiumIII 800MHz 256MB / P3B-F Host A (Linux) PentiumIII 800MHz 256MB / P3B-F Host a (Linux) Destination Gateway Iface default gw1.kek.jp eth0 192.168.158.0 192.168.148.105 eth1 Destination Gateway Iface default gw1.kek.jp eth0 192.168.148.0 192.168.158.105 eth1 2001/09/28 Linux Conference 2001

こうなってます FE(16)+GB(2) Hub ぼろい..... 2001/09/28 Linux Conference 2001 ルータマシン 2001/09/28 Linux Conference 2001

WANでのThroughput向上のために 標準的な手法としてよく採られるのは以下の2つ (1) Window Sizeの拡大 (2) Parallel Connectionにする しかしながらこれらの方法では十二分にパフォーマンスを上げることができないことがシミュレーションを利用した測定により判明 2001/09/28 Linux Conference 2001

シミュレータを利用した測定(1) Window SizeとThroughput (Linux2.2の場合) 700kbytesまでは上昇するがそのあとが伸びない 2001/09/28 Linux Conference 2001

パフォーマンスが伸びない理由 tcpdumpで追っかけてみると セグメント 2206753:2208201(1448) が抜けている 15:43:02.772309 > foo01.1133 > foo02.1338: P 2202409:2203857(1448) ack 1 15:43:02.772312 > foo01.1133 > foo02.1338: P 2203857:2205305(1448) ack 1 15:43:02.772315 > foo01.1133 > foo02.1338: P 2205305:2206753(1448) ack 1 15:43:02.772317 > foo01.1133 > foo02.1338: P 2208201:2209649(1448) ack 1 15:43:02.772320 > foo01.1133 > foo02.1338: P 2209649:2211097(1448) ack 1 セグメント 2206753:2208201(1448) が抜けている NICの種類を変えても再現するので、おそらくネットワークカーネルのバグ? 2001/09/28 Linux Conference 2001

シミュレータを利用した測定(2) Window SizeとThroughput (FreeBSD4.2の場合) Linuxよりかは伸びるがそれでも途中で息切れ 2001/09/28 Linux Conference 2001

Window Sizeを拡大する方法は Linuxではセグメント落ちのバグのため途中で頭打ち FreeBSDでもLinuxよりかは伸びるがそれでもCPUパワーでリミットがかかる さらに輻輳発生時の回復過程時のパフォーマンスの低下を考えると、Window Sizeを拡大しすぎるのも考えもの それではparallelにやる方法は? 2001/09/28 Linux Conference 2001

シミュレータを利用した測定(3) Window SizeとThroughput (Linux2.2の場合) Parallel ConnectionによりThroughputが上昇している 2001/09/28 Linux Conference 2001

実際にファイルを転送してみると Parallel Connectionの設定値(Window Size, Connection数)で実際にファイルからデータを読み込み、転送を行い、ファイルへと書き込むと これが全く性能が出ない 測定に再現性も無い なぜ? 2001/09/28 Linux Conference 2001

ファイルに書くと駄目な理由 ファイルとの入出力はメモリを介して行われる ところがメモリが一杯になりディスクへのフラッシュが発生した瞬間に輻輳が発生したのと同様な状態になる その結果として輻輳Window Sizeが縮小しThroughputが低下する 2001/09/28 Linux Conference 2001

さらにおまけ Parallel Connectionの各ソケットが同時にSlow Startを始めるとパフォーマンスが低下する 同時にやると次のプロットのようになる 世の中に存在するparallel指向のデータ転送プログラムがここんとこを考慮しているかは不明 2001/09/28 Linux Conference 2001

シミュレータを利用した測定(4) Window SizeとThroughput (Linux2.2の場合) 同時にSlow Startを始めるとパフォーマンスが出ない 2001/09/28 Linux Conference 2001

Testbed セットアップ (2) Delay : 300msec Gigabit Fast PentiumIII 733MHz 128MB / SSIIILE PentiumIII 800MHz 256MB / P3B-F PentiumIII 800MHz 256MB / P3B-F Router (FreeBSD) Host A (Linux) Host a (Linux) PentiumIII 800MHz 256MB / P2XBL PentiumIII 800MHz 256MB / P2XBL Host B (Linux) FE+GB Hub FE+GB Hub Host b (Linux) PentiumIII 600MHz 256MB / P6SBA PentiumIII 450MHz 128MB / P2B-F Host C (Linux) Host c (Linux) PentiumIII 800MHz x2 256MB / Tiger100 PentiumIII 800MHz x2 256MB / Tiger100 Host D (Linux) Host d (Linux) 2001/09/28 Linux Conference 2001

3台目までは順調に伸びるがそれを超えると落ちる シミュレータを利用した測定(5) PCの台数とThroughput (Linux2.2の場合) WindowSize:450Kbytes #’ connection:8 に固定 落ちる原因 ↓ ルータのCPUパワーが 足りないため 3台目までは順調に伸びるがそれを超えると落ちる 2001/09/28 Linux Conference 2001

2.4と2.2の違い Slow Startの立ち上がりは2.2よりも速い Window Sizeの自動コントロール ある意味「余計なことしてくれるな」 ssthreshをキャッシュして再利用 このため輻輳が発生した後はパフォーマンスが著しく低下する クリアするためにはifdownさせるかカーネルソースを直すしかない? (FreeBSDではコマンドで変更可) 2.2の方がよかった…..かも 2001/09/28 Linux Conference 2001

今後の予定 もうちょっとパフォーマンスを引っ張りたいので新しいPCが欲しいかなぁ、と (センター長さん、予算下さい.....) データグラムを用いたファイル転送 (教科書には「やるな!」と書いてある) 擬似的なprocedureを作り、データ生成→転送→データ読込の連続運転をしてみる 2001/09/28 Linux Conference 2001

まとめ 地域解析センター Testbeds環境構築のため、遅延時間300msのシミュレータを組みその上で各種測定を行った 現在あるTCP/ハードウェアで高遅延広帯域を効率よく利用するのは困難 もうちょと工夫が必要 TCPの見直し? 何か良い方法ないですか? 2001/09/28 Linux Conference 2001