TranSwitch:ネットワークフロー毎における最適な TCP への動的切替機構 総合政策学部4年 山下 勝司 親:政策・メディア研究科 高橋 ひとみ サブ親:政策・メディア研究科 斉藤 匡人
発表概要 研究背景・問題意識 TranSwitch 概要 設計、実装 評価 関連研究 今後の課題、まとめ
研究背景・問題意識
研究背景 1/2 ネットワーク環境の多様化 通信形態 帯域 有線通信 無線通信 狭帯域(数10Kbps~数100Kbps) ex. ISDN、モバイル通信 広帯域(数Mbps~10Gbps) ex. ADSL、FTTH、LAN 内通信 リンク性質
研究背景 2/2 特定環境に最適化された TCP 送信側の変更のみで利用可能な TCP の研究 無線ネットワーク用 TCP ex. Westwood+、Mobile TCP、M-TCP 広帯域ネットワーク用 TCP ex. BIC、FAST、Highspeed TCP、Scalable TCP etc. ex. NewReno、Vegas、P-TCP、Hybla 送信側の変更のみで利用可能な TCP の研究 送受信ホストに同一の TCP 導入は困難
問題意識 一つの TCP vs. 多様なネットワーク環境 汎用性を重視した TCP を利用する必要性 遅延、帯域、通信形態が多様なネットワーク環境 通常の OS は TCP を一つしか所持できない 汎用性を重視した TCP を利用する必要性 特定環境に特化した TCP の利用は難しい
TranSwitch の提案 OS へ複数の TCP を導入 ネットワークフロー毎に TCP を選択
TranSwitch 概要
TranSwitch 概要 OS へ複数の TCP を導入 ネットワークフロー毎に TCP の選択
想定シナリオ 特性が異なる複数のネットワークを同時に利用 各ネットワークの特性に合わせた TCP の選択 通常 TranSwitch を利用 ネットワーク フローA フローB フローC フローA フローB フローC NICが複数あってという説明、想定するユーザ フロー TranSwitch TCP TCP 広帯域用TCP 無線用TCP 汎用的TCP ネットワーク 広帯域 無線 不明 広帯域 無線 不明 環境
設計・実装
TranSwitch の設計 TranSwitch 機能要件 送信側変更のみで利用可能な TCP を想定 TCP 混在環境の実現
設計 1/3 TCP 混在環境の実現 追加 TCP はカーネルモジュールとして実装 設計 1/3 TCP 混在環境の実現 追加 TCP はカーネルモジュールとして実装 OS が当初から持つ TCP(オリジナル TCP)から追加 TCP へ差分の度に処理 を切替 差分は関数単位で実装 (置換関数) 追加 TCP は TranSwitch 用 TCP フォーマット に 沿って実装
設計 TranSwitch 用 TCP フォーマット TCP 名の表記 置換関数の実装 置換対応の表記 カーネル内の関数と置換する関数の実装 置換対応の表記 関数の置換対応を表記 TranSwitch への登録関数、削除関数の実装 TranSwitch へ TCP を登録および削除 かんけつな名前
設計 2/3 ネットワークフローと TCP の関連付け ネットワークの特性(遅延、帯域、通信形態)はネットワークフロー毎に異なる 設計 2/3 ネットワークフローと TCP の関連付け ネットワークの特性(遅延、帯域、通信形態)はネットワークフロー毎に異なる ネットワークの特性に最適化された TCP の開発 →ネットワークフロー毎の TCP 選択の必要性
設計 3/3 TCP 切替処理 TCP フロー生成の検知 ネットワークフロー、TCP の関連付け情報(定義情報)の参照 設計 3/3 TCP 切替処理 TCP フロー生成の検知 ネットワークフロー、TCP の関連付け情報(定義情報)の参照 該当ソケットへの TCP 関連付け ソケットに関連付けられた TCP をもとに関数を置換 連動
実装 TranSwitch 実装項目 実装環境 配布形式 TCP 混在環境(TranSwitch 用 TCP フォーマット) 実装 TranSwitch 実装項目 TCP 混在環境(TranSwitch 用 TCP フォーマット) ネットワークフローと TCP の関連付け(ユーザインタフェース) TCP 切替処理 実装環境 Linux 2.4.32 Fedora Core 1 配布形式 カーネルパッチ
TranSwitch 実装 1/3 TCP 混在環境 追加 TCP の実装形式として LKM(Loadable Kernel Module)を利用 →簡易な TCP の追加、削除 TCP の追加 % insmod LKM名 TCP の削除 % rmmod LKM名 TCP の参照 % lsmod LKM名 追加 TCP は TranSwitch 用 TCP フォーマットに準拠
TranSwitch 用 TCP フォーマット 置換対応の表記 置換関数の実装 TCP 関数の一部が置換可能 (プロトタイプでは25の関数)
TranSwitch 実装 2/3 ネットワークフローと TCP の関連付け(ユーザインタフェース) 定義情報の追加 定義情報の削除 送受信ホストの IP およびポート番号、定義情報 ID、TCP 名を用いて設定 ex. % trasw_add –si 192.168.1.3 westwood 定義情報の削除 削除する定義情報 ID を指定 ex. % trasw_del 10 定義情報の参照 ex. % trasw_list
TranSwitch 実装 3/3 TCP 切替処理 TCP フロー生成の検知 検知した TCP フローと一致する定義情報を検索 置換対応表を参照し、処理を置換 これだめ ソケット構造体見せる
評価
評価 1/3 評価項目 評価対象 TCP の切替えによるオーバヘッドの計測 通常のOS 通常のOS + TranSwitch スループット 評価 1/3 評価項目 TCP の切替えによるオーバヘッドの計測 スループット 30回計測時の平均値 Iperf 2.0.2 評価対象 通常のOS カーネル内に実装された Reno 通常のOS + TranSwitch カーネル実装の Reno → 同実装で LKM 化した Reno 全ての置換関数において置換を実行
評価 2/3 評価環境 利用機器 ネットワーク環境 PC: IBM ThinkPad T42p 評価 2/3 評価環境 利用機器 PC: IBM ThinkPad T42p CPU: Intel Pentium M 2GHz NIC: 1 Gigabit Ethernet RAM: PC2700 2GByte ネットワーク環境 Dummynet による遅延エミュレート RTT10ms
評価 3/3 評価結果 TranSwitch の利用により 0.85 Mbps(2.1%)減少 →スループットの微小な減少はあるが、実用可能
関連研究
関連研究 1/3 X-Kernel Norman C. Hutchinson and Larry L. Peterson(University of Arizona) マイクロカーネルとして設計 各プロトコルをモジュールとしてユーザランドで管理 モジュールの組み合わせによりプロトコルスタックを編集可能 →複数の TCP の導入が可能 ネットワークアーキテクチャ全体のマイクロカーネル化 X-Kernel 用 TCP 作成コスト X-kernelを用いてTCPだけを変えた場合との差分、Xkernelのどうにゅうによるこすと、TCP作成側のコスト、
関連研究 2/3 WAD(A TCP Tuning Daemon) Tom. Dunigan(ORNL), Matt. Mathis(PSC), and Brian Tierney(LBNL) ネットワークフロー毎にソケットの設定が可能 定義情報をユーザランドのデーモンで管理 ソケットの設定以外は不可 →TCP 自体の切替えは不可
関連研究 3/3 AS-TCP(Application Specific TCP) 小野祐介、斉藤俊介、田中康弘、寺岡文男(慶應大学), DICOMO2005 OS へ複数の TCP を導入 アプリケーション毎に TCP を選択 →ネットワークの特性を考慮できない
今後の課題・まとめ
今後の課題 通信途中での TCP 切替 定義情報の設定方法の向上 定義情報検索の高速化 TCP 選択補助機構 ネットワークインタフェース、プロセス名、etc… →より柔軟な TCP の選択が可能 定義情報検索の高速化 →オーバヘッドの削減 TCP 選択補助機構 →不適切な TCP 選択の防止
まとめ 問題意識 提案 評価 通常の OS は TCP を一つしか所持できないため、特定環境に最適化された TCP の利用は難しい TranSwtich は OS に複数の TCP を導入可能にし、ネットワークフロー毎に異なる TCP が利用可能 評価 類似技術との比較では TranSwitch が優位 オーバヘッドは存在するが微小
発表論文 “TranSwitch:トランスポート層におけるプロトコル切替機構” 山下 勝司, 高橋 ひとみ, 斉藤 匡人, 徳田 英幸 日本ソフトウェア科学会 第4回 SPA サマーワークショップ, Aug. 2005 “TranSwitch:ネットワークフロー毎における最適な TCP への動的切替機構” 情報処理学会 第10回ユビキタスコンピューティング研究会, Feb. 2006