260 likes | 393 Vues
PSockets: The Case for Application-level Network Striping for Data Intensive Applications using High Speed Wide Area Networks H. Sivakumar, S. Bailey, R. L. Grossman Proceedings of Supercomputing 2000, IEEE and ACM. 2003/8/11 M2 兼子 譲. 発表手順. 背景 TCP の特徴と問題点 PSockets について 実験、評価
E N D
PSockets: The Case for Application-level Network Striping for Data Intensive Applications using High Speed Wide Area NetworksH. Sivakumar, S. Bailey, R. L. GrossmanProceedings of Supercomputing 2000, IEEE and ACM 2003/8/11 M2 兼子 譲
発表手順 • 背景 • TCPの特徴と問題点 • PSocketsについて • 実験、評価 • PSocketsを用いたアプリケーション • まとめ
研究背景 • ネットワーク技術の向上 • Abilene, vBNS (very high speed backbone network service)などの普及 • 大きなスループットを必要とするアプリケーション • 分散型データマイニング • データインテンシブコンピューティング • ネットワークの調整によりパフォーマンスを向上 • 本論文では・・ • 既存のネットワークに手を加えずに最適なスループットを得ることを目標とする
TCP(Transmission Control Protocol) • 順序正しいデータ転送を保証 • 100bps~10Mbpsの転送速度、1ms~100sのラウンドトリップ遅延に適応 • 多くのデータアプリケーションは信頼性のあるデータ転送を行うためにTCPを利用
TCPの問題点 • 光ファイバーなど、超高速ネットワークの普及 • TCPがネットワークパフォーマンスを最大限利用することができない • TCPのパフォーマンスはバンド幅とラウンドトリップ遅延の積に依存する • bandwidth*delay が大きいネットワークをLFN(long fat network)と呼ぶ
TCP over LFN • 遅延の削減、バンド幅の向上の手段として • パフォーマンスに大きく関わるTCPウィンドウサイズを調整 • TCPウィンドウサイズはシステム管理者でないと変更できない • TCPウィンドウサイズの変更、解析に数時間~数週間かかってしまう • TCPの拡張機能としてRFC1323にウィンドウサイズを大きくするオプションが規定されてはいる ※RFC1323:TCP Extensions for High Performance
研究目的 • 大きなネットワークバンド幅を活用する • TCPウィンドウサイズをチューニングする必要なしにアプリケーションが使用できるライブラリの開発 • C++のライブラリで提供
PSocketsの概要 • ウィンドウサイズ制限は1つのソケットに対して • 複数のソケットを利用し、制限を克服 • データを均等なパーティションに分ける • 複数のソケットを開き、データをストライプ状にして送信する • 送信先においてデータを再結合 • この手法をネットワークストライピングという
TCPパケットの様子 ACK待ちのために スループットが 満たされない WindowSize=192KB ACK待ちすることなく 通信路を満たす 3ソケットを使用 (b)と同等の性能 デフォルトウィンドウサイズ=64KB bandwidth*delay=192KB それぞれ192KBのデータを送信
PSocketsとウィンドウサイズ調整 • PSocketsは、RFC1323によって調整されたネットワークとほぼ同等の性能を実現 • 高速広域ネットワークでは、ネットワークの複雑さのためにパケットロスが起きる可能性が高い • ウィンドウサイズを大きくすると、パケットロスが起こったときに再送信にコストがかかる • PSocketsでは再送信のパケットが少ない
PSocketsの特徴 • TCPウィンドウサイズを変更する必要がない • オープンするソケットの数、データの分割、再結合の情報は隠蔽 • 標準のソケット通信関数に類似したAPI
評価実験 • Chicago~Ann Arbor間:OS3 line(155Mb/s) • パス間にあるスイッチによって100Mb/sに制限
実験a • ソケット数を変えて実験 • 特定のバッファサイズでの最適ソケット数を見つける • ウィンドウサイズ:64KB • データ転送量:64KB
実験結果a • ソケット数12のときに スループット最大 (76Mb/s) ※一定のウィンドウサイズ、データ量で行った別の実験において、ソケット数6~16でスループット最大となった
実験b • データ転送量を変えて実験 • ウィンドウサイズ:64KB • データ転送量:1KB~4MB • ネットワーク性能テストツールIperfと比較
実験結果b • データを1KB~4MBまで増やしてもほとんど効果はない
実験c • ネットワークの調整を行ったものとの比較 • PSocketsとIperfでウィンドウサイズ64,256KBについて実験 • データ転送量:64KB
実験結果c • PSocketsではウィンドウサイズを調整しなくても高いスループットを得ることができる
実験d • 様々なTCPウィンドウサイズで実験 • ソケット数:8 • ウィンドウサイズ:1KB~4MB • bandwidth*delay=245KB • データ転送単位:8KB
実験結果d • ウィンドウサイズが 512KBのときに スループット最大 • ウィンドウサイズが bandwidth*delay の時に最大になっていない
実験e • PSocketsを動かすクライアントの数を変えて実験 • ソケット数:8 • ウィンドウサイズ:64KB • データ転送量:各クライアント2MB • クライアント数:1~8
実験結果e • クライアント数が8のときは64のソケットを処理 →これがオーバヘッドとなってスループットが落ちた • それぞれのクライアントは近いスループットを得た
PSocketsを用いたアプリケーション • 高エネルギー物理学データマイニングのためのアプリケーションを開発 • データはChicago、Ann Arbor、Arlingtonに分散 • Arlington:DS3リンク(45Mb/s) • Ann Arbor:100Mb/s(ethernet switch) • Chicago:OC3リンク(155Mb/s) • Portland, ORにある6台のマシンからデータを参照 • 最大スループット:30~35Mb/s
現在の活動 • Osirisの開発 • 高性能広域データストレージアプリケーション • PSocketsを使って高速広域ネットワークに地理分散したノード間でデータ転送 • 大量のデータからすばやく検索するようなアプリケーション向け
まとめ • 大量データを高速広域ネットワークで転送するアプリケーションのためのPSocketsライブラリの開発 • RFC1323の拡張を有効にした場合に近いパフォーマンスを獲得 • 容易に利用可能 • ネットワークのチューニングが不要 • 標準のソケット関数と類似したAPI
参考 • Abilene • 米国のUCAID(大学連合/University Corporation for Advanced Internet Development)が米国のQwest社が保有する光ファイバー・ケーブル・ネットワークと、Cisco Systems社やNorthern Telecom社の技術を利用して開発 • 高速インターネット・プロトコル・ネットワーク・バックボーン • 次世代インターネット研究プロジェクト「Internet2」を実 • vBNS • 誰でもスーパーコンピュータが使える環境を提供するためにNSF(National Science Foundation/全米科学財団)の要請でMCI Communications社が開設し、コムネットで発表したネットワーク・サービス