超高速ネットワーク向け 適応型制御技術の研究
Research on Adaptive Control Technologies for Ultra-high-speed Networks
2007 年 2 月
早稲田大学大学院情報生産システム研究科 情報生産システム工学専攻 知能化ネットワーク研究
清水 健司
i
目次
第 1 章 序論... 1
1.1 研究の背景と動機... 1
1.1.1 本論文の扱う課題... 1
1.1.2 課題に対する本論文のアプローチ ... 2
1.2 要求条件と課題 ... 2
1.3 本論文の構成と,各章の概要... 3
1.3.1 第2章の概要... 4
1.3.2 第3章の概要... 5
1.3.3 第4章の概要... 5
1.3.4 第5章の概要... 6
1.3.5 第 6 章の概要... 7
第 2 章 超高速ネットワークシステムにおける適応制御の構成技術 ... 8
2.1 高速ネットワークプロトコル処理の適応制御の実現技術 ... 8
2.1.1 ネットワークプロトコル... 8
2.1.2 プロトコル処理の高速化に対する技術分野 ... 9
2.1.3 近年提案されたプロトコル処理高速化技術 ... 10
2.1.4 コンテンツ配信サーバに対する効果 ... 11
2.1.5 従来技術の課題... 12
2.2 超高速ネットワークにおける高精度トラヒックモニタ技術 ... 13
2.2.1 ネットワークモニタ... 13
2.2.2 近年提案されたネットワークモニタ技術 ... 13
2.2.3 従来技術の課題... 17
2.3 サーバにおける適応型トラヒック制御技術 ... 17
2.3.1 ソフトウェアによるトラヒック制御技術の課題 ... 18
2.3.2 ハードウェアによるトラヒック制御技術の課題 ... 18
第 3 章 高速ネットワークプロトコル処理の適応制御の実現技術 ... 20
3.1 本論文における位置付け... 20
3.2 研究の背景 ... 21
3.2.1 ジャンボパケットによる高速プロトコル処理 ... 21
3.2.2 広帯域ネットワークを活用したアプリケーションの登場 ... 22
3.2.3 MAPOS 対応 OC-48c 通信カードの開発 ... 22
3.2.4 検証項目 ... 22
3.2.5 本章の構成 ... 23
ii
3.3 MAPOS 対応 OC-48c 通信カードの実装 ... 24
3.3.1 MAPOS の特徴 ... 24
3.3.2 フレームフォーマット... 25
3.3.3 ハードウェア... 26
3.3.4 デバイスドライバ... 28
3.4 パケットの送受信アルゴリズムの検討 ... 28
3.4.1 送信アルゴリズム... 28
3.4.2 送信アルゴリズムの解析... 31
3.4.3 受信アルゴリズム... 33
3.4.4 受信アルゴリズムの解析... 35
3.5 プロトコル処理の高速化手法... 36
3.5.1 非割り込み駆動型送信処理アルゴリズム ... 36
3.5.2 適応型デバイスドライバの提案... 38
3.5.3 適応型アルゴリズム切り替え手法 ... 38
3.5.4 割り込みバッチ受信処理アルゴリズム ... 39
3.5.5 適応型割り込みバッチ手法... 40
3.6 基本評価 ... 41
3.6.1 実験環境 ... 41
3.6.2 パケット送信性能... 43
3.6.3 パケット受信性能... 48
3.7 TCP/IP を用いたプロトコル処理性能の測定 ... 50
3.7.1 実験環境 ... 51
3.7.2 ポイントツーポイント型接続... 52
3.7.3 トライアンギュラー型接続... 53
3.8 高速プロトコル処理技術と適応型デバイスドライバのまとめ ... 55
3.9 BSD UNIX における高速プロトコル処理 ... 56
3.9.1 適応型デバイスドライバの拡張... 56
3.9.2 BSD UNIX を用いた送信性能の一次評価 ... 57
3.9.3 適応型バウンスバッファ手法... 63
3.9.4 評価 ... 65
3.10 BSD UNIX における高速プロトコル処理のまとめ ... 70
3.11 本章の総括 ... 71
第 4 章 超高速ネットワークにおける高精度トラヒックモニタ技術 ... 72
4.1 本論文における位置付け... 72
4.2 研究の背景 ... 73
4.2.1 ネットワークモニタ技術への需要の高まり ... 73
iii
4.2.2 アプリケーション共存型ネットワークモニタ ... 74
4.2.3 APCM 対応ネットワークインターフェースカード ... 74
4.2.4 本章の構成 ... 75
4.3 既存のネットワークモニタ技術... 75
4.3.1 アクティブモニタ(AM)... 75
4.3.2 パッシブモニタ(PM)... 75
4.3.3 課題 ... 76
4.4 アプリケーション共存型ネットワークモニタ ... 77
4.4.1 コンセプト ... 77
4.4.2 実現する為の課題... 77
4.4.3 タイムスタンプの生成... 79
4.4.4 ワイヤーレートトラヒック処理... 80
4.5 AWING NIC のネットワークモニタ用拡張機能 ... 82
4.5.1 高精度タイムスタンプ付加機能... 86
4.5.2 ワイヤーレートトラヒックキャプチャ機能の実現 ... 90
4.5.3 ワイヤーレートトラヒックジェネレータ機能の実現 ... 95
4.6 評価 ... 98
4.6.1 ネットワークモニタ用拡張機能の単体評価 ... 98
4.6.2 AM と PM としての APCM 測定例 ... 102
4.6.3 実アプリケーション,実ネットワーク環境における APCM 測定例 .... 105
4.7 本章の総括 ... 111
第 5 章 サーバにおける適応型トラヒック制御技術 ... 112
5.1 本論文における位置付け... 112
5.2 研究の背景 ... 113
5.3 従来のトラヒック制御技術... 114
5.3.1 ソフトウェアによるトラヒック制御技術 ... 114
5.3.2 フィードバック機構によるトラヒック制御技術 ... 116
5.3.3 課題 ... 116
5.4 適応型トラヒック制御技術... 117
5.4.1 パケット粒度のシェーピング機構 ... 117
5.4.2 適応型トラヒック制御のシーケンス ... 121
5.5 評価 ... 123
5.5.1 非圧縮 HDTV 映像の 6 多重伝送の実現 ... 123
5.5.2 非圧縮 4K 映像のストリーミング伝送の安定化 ... 125
5.5.3 まとめ ... 128
5.6 本章の総括 ... 129
iv
第 6 章 総括... 130
6.1 超高速ネットワークプロトコル処理の適応制御の実現技術 ... 130
6.2 超高速ネットワークにおける高精度トラヒックモニタ技術 ... 131
6.3 サーバにおける適応型トラヒック制御技術 ... 132
付録 A 研究成果の実用化 ... 133
付録 B APCM 対応 NIC の必要メモリ量の推定... 137
参考文献 ... 141
図目次 ... 145
表目次 ... 147
研究業績一覧 ... 148
謝辞 ... 151
v
1
第1章 序論
【関連論文[A1]-[A11]】
1.1
研究の背景と動機
インターネットの普及により,世界中の地域,組織があらゆる隔たりを超えてコネクテ ィビティを持つネットワーク社会が到来している.すでにインターネットは,その創世当 初の軍事,研究目的のネットワークから,日常的通信手段,ライフラインとしての地位を 獲得している.更に,IP (Internet protocol) 技術を利用した様々な機器は,次々と新たな技 術を取り込み発展して行くとともに,低価格が進み,あらゆる物がネットワークに接続さ れるユビキタスネットワークの到来が予見されている.また,ネットワークを一般ユーザ に浸透させる原動力となったPC (Personal computer) に関しても,現在では,映像や音響機 器などへのプロセッサの組み込みが進み,アプリケーションの充実とともに,処理能力の 高速化や,ネットワーク,ストレージインターフェース帯域幅の向上が行われてきた.
このようなネットワークのブロードバンド化,計算機の高性能化の波が一般家庭に広が り,日常生活における情報の価値が高まると共に,インターネットを介した様々なサービ スが提供されるようになった.例えば, Webの閲覧が主であった従来と比較して,HDTV (High-definition television)のような高精細映像のストリーミングサービスを利用するユーザ 数が増加している.更に,ユーザ参加型ネットワークサービスの発展系であるWeb2.0サー ビスの広がりとともに,ネットワーク上で形成されたコミュニティ間で動画を共有するサ ービスが爆発的な人気となっている.
このようにネットワークや汎用 PC 等の計算プラットホームにとっては,扱うデータの 種類が多様化しているために,サービスを提供する環境全体で,必要な処理能力,ネット ワークバンド幅をあらかじめ見積もる事が困難となっている.この為に,サーバやネット ワークへの負荷増大に対応する事が急務となっている.しかし,サービスの多様化は,ビ ジネスチャンスを狙う企業や,利便性の良いサービスの選択が可能となることからユーザ にとって有益であり,今後も引き続き発展して行くものと考える.
1.1.1 本論文の扱う課題
サービスの多様化により,それらを提供する計算機 (サーバ) 性能やネットワーク品質に 対しても,様々な要求条件が存在する.例えば,CPUの処理能力,ネットワークの特性(低
2
遅延性,バンド幅)への要求条件はサービスによって異なる.つまりサーバへの単一のリ ソース割当やネットワーク運用ポリシーでは対応する事が困難となる.この様な問題を解 決するために,近年,計算機の仮想化技術やネットワークバンド幅をオンデマンドで割り 当てる技術が盛んに議論されている.しかし,このような対応だけでは多様化するサービ スに対して,管理者への負担を増加する事なくして,柔軟なシステムを構築することがで きない.システムがネットワークやサーバの状況に応じて,自動設定 (チューニング) を行 うフレームワークが必須になると考える.
一方,サーバの処理するネットワークトラヒック量は,「ギガビット毎秒」を超える事が 珍しくなく,システムパフォーマンスのチューニングを更に困難にしている.つまりデー タ処理量の増加により,サーバへの負荷やネットワークバンド幅がより大きな変動幅を持 つ事になり,イベント時のトラヒック負荷急増に対応できないケースが想定される.また,
このようなサーバは,安価な汎用OSやPCによって構築されるのが一般であり,高負荷環 境に対応するためには,高度な専門知識によりハードウェアやOS の深部にわたってチュ ーニングを行う事が必要となるという問題が生じている.
1.1.2 課題に対する本論文のアプローチ
この様な背景のもとで,本論文は超高速ネットワークとサーバにより構築されたシステ ムに適用可能であり,サーバやネットワークの負荷状況に応じて自律的,適応的に設定,
チューニングを行う事が可能な適応制御技術を,特にネットワークプロトコル処理に着目 して検討し,明らかにしている.具体的には,サーバやネットワークの状況に対して,ハ ードウェアやOS の深部にわたり適応的に自動チューニングを行い,高トラヒック負荷時 もサーバの安定的な運用を実現するネットワークプロトコル処理の適応制御技術を明らか にする(課題1).適応制御を行う為のトリガとなるネットワークの状況を,正確且つリアル タイムに観測可能とするネットワークモニタ技術を明らかにする(課題2).高速ネットワー クに対して,サーバからの送出トラヒック量の厳密な制御を可能とするハードウェアアシ スト技術を明らかにする(課題3).
本論文内で検討に用いているハードウェアやソフトウェアは,プロトタイプを構築して 評価を実施すると共に,商用システムとしての運用評価を行い,その技術の高信頼性を示 している.これにより提案技術が今後の高速ネットワークをベースとしたサーバシステム の中核技術として利用可能な実用的技術である事を明らかにしている.
1.2
要求条件と課題
本節では,「ギガビット毎秒」以上の超高速ネットワークで接続されたサーバ環境におい
3
て,ネットワーク上で提供されるサービスの多様化にも対応可能なコンテンツサーバを実 現するための要求条件と,その課題について説明を行う.
① 汎用PC,汎用OSで構築されたサーバシステムでも,「ギガビット毎秒」を超える 超高速ネットワークプロトコル処理を実現可能である必要がある.またそれと同時 に,サービスの多様化にも対応可能なよう,異なるプラットホーム,CPU処理性能,
ネットワークのトラヒック特性においても安定したパフォーマンスを提供できる事 が不可欠となる.
② 汎用PC,汎用OSで構築されたサーバシステムにおいて,サービスの多様化によっ てもたらされるネットワーク特性の変化を正確に把握する必要がある.また,超高 速ネットワークにおける大幅な特性変動も厳密に把握できる事が不可欠となる.
③ 汎用PC,汎用OSで構築されたサーバシステムにおいて,超高速ネットワークプロ トコル処理を行いながらも,使用しているネットワークのトラヒック特性を,サー ビスの要求に合わせて厳密に制御可能である必要がある.
上記のような要求条件を満足するためには,以下に示すように,対応する3つの課題を 検討する必要がある.
z 課題 1:「ギガビット毎秒」以上の超高速ネットワーク処理に対応可能で,サーバや ネットワークの状態の変化に適応して動作を動的に変更可能な適応制御技術の明確 化
z 課題 2:「ギガビット毎秒」以上の超高速ネットワークの状態を正確かつリアルタイ ムに観測可能とするネットワークモニタ技術の明確化
z 課題 3:「ギガビット毎秒」以上のネットワークトラヒックを処理するアプリケーシ ョンにも適応でき,送出トラヒック量の厳密な制御を可能とするハードウェアアシス ト技術の明確化
1.3
本論文の構成と,各章の概要
本論文は,2.4 [Gbps]や10 [Gbps]といった,超高速ネットワークによって接続され,かつ 汎用PCや汎用OSにより構築されたコンテンツサーバシステムに適用可能で,ネットワー
4
クやサーバリソースの状態に応じて,動作を適応的に動的に変更する適応制御技術におけ る構成技術に関する研究成果をまとめたものである.
ネットワークモニタ技術によ りネットワークを正確に,リ アルタイムに観測
観測した情報を元に,サーバ やネットワークのパラメータを 適応的,動的に制御
サーバの動作環境(計算機 資源やネットワーク特性)に 適応して,最高性能を達成.
コンテンツ配信システムのリ ソース(計算機資源やネット ワーク帯域)を適切に割当.
超高速ネットワークならではチューニングの困難さ
計算機環境やネットワークの多様性に対応
観測と適応型制 御のループ
第5章 「サーバにおける適 応型トラヒック制御技術」
第4章 「超高速ネットワークにおけ る高精度トラヒックモニタ技術」
第3章 「高速ネットワークプロトコ ル処理の適応制御技術」
図 1-1 各章の関わり
各章の関わりは図 1-1の様になる.本論文で明らかにする超高速ネットワーク向けの適 応制御技術の構成要素は,大きく適応型制御の実行部と,ネットワークやリソースの観測 部に分けられる.このうち,サーバにおける動作アルゴリズムや,ネットワークのバンド 幅制御を行うのが,適応型制御の実行部であり,これを第3章,第5章で扱う.また,適 応型制御が行われたサーバやネットワーク環境において,その特性を観測するのが観測部 である.観測部に関しての新規提案や議論を第4章で行う.
適応型制御の実行部と観測部は,それぞれお互いにフィードバックする関係となり,観 測部の観測結果に基づいて適応型制御を実行し,実行された環境に対して更に観測を行う という関係である.これを,「観測と適応制御のループ」と呼ぶ.本論文ではこの,「観測 と適応制御のループ」における構成要素の実現技術を明らかにする事を目的とし,更に近 年のネットワーク環境の進歩に対する有用性の観点から,超高速ネットワーク上で実現す るにあたっての困難さにも対応している.本研究の全体構成を以下にまとめる.
1.3.1 第2章の概要
ここでは,近年の動向を踏まえて,汎用 PC をベースとしたサーバにおける適応制御の
5
構成技術について,これまでの到達点を示している.構成技術とは,高速ネットワークプ ロトコル処理技術,ネットワークモニタ技術,ネットワークトラヒック制御技術である.
本章では,従来の構成技術が本論文で対象としている様なサーバシステムに対して適用可 能か否かの観点から整理を行うと共に,実運用システムへの適用性の観点から第1章で設 定した課題の妥当性を示す.
1.3.2 第3章の概要
ここでは,課題1に関し,高速ネットワークプロトコル処理において,ハードウェアや OS の深部にわたり適応的に自動チューニングを行うネットワークプロトコル処理の適応 制御技術を明らかにする.まず筆者が開発した MAPOS(Multiple Access Protocol over SONET/SDH)プロトコル対応のOC-48c(2.4Gbps) PCI(Peripheral Component Interconnect)通信 カードを用いて,汎用 PC をベースとしたシステムにおける,ネットワークプロトコル処 理性能の最大値を明らかにした.それと共に,チューニング項目の明確化を行った.特に 64Kbyteもの長大なMTU(Maximum transmission unit)サイズが,汎用PCをベースとしたシ ステムにおけるプロトコル処理性能に与える影響を世界で初めて明らかにし,ネットワー クベンチマークにおいて当時の世界最高スループットを達成した.チューニング項目の明 確化により明らかとなった成果をもとにして,汎用OSのカーネルにおけるソケット層や,
ネットワークトラヒックの特性に応じて,デバイスドライバに実装された複数のアルゴリ ズムから,最も適したものを適応的に選択する「適応型デバイスドライバ」を世界で初め て提案し,異なるCPU環境,OS環境においても,高速なプロトコル処理性能を引き出す 適応制御技術を明らかにした.
従来,「ギガビット毎秒」クラスの高速ネットワーク上のサーバにおいて,デバイスドラ イバやカーネル,またハードウェアのレベルまで踏み込み,動的にアルゴリズムを切り替 える制御技術は提案されておらず,筆者が世界で初めて提案したものである.またこれら の技術は,実際に商用化された OC-48c PCI 通信カードにも実装され,世界初の非圧縮 HDTV映像のIP伝送システム(付録 A)実現の為のキーデバイスとして使用された.これら の事から,本技術が高い信頼性をもつ事が示され,且つ特定のハードウェア,OSに限定さ れない事から,広い適用先が期待できる.
1.3.3 第4章の概要
ここでは,課題2に関し,汎用PCをベースとし,10Gbpsもの超高速ネットワークにお けるトラヒック特性を正確に,且つリアルタイムに観測可能なネットワークモニタ技術を 明らかにする.筆者が開発した,10GbE/OC-192c (10Gbps) POS(Packet over SONET/SDH)対
6
応PCI-X通信カードに対して,ネットワークモニタ用の拡張機能を提案,実装した.この
拡張機能により,従来のサーバが,高速ネットワークインターフェースを備えた専用測定 器と同等性能のネットワークモニタとして動作可能な事を明らかにした.またアプリケー ションが送受信するパケット自身にモニタ用の情報をリアルタイムに付加する事が可能と なり,この情報を用いたネットワークモニタ技術「アプリケーション共存型ネットワーク モニタ」を提案した.本技術によりアプリケーションが処理するトラヒックの振る舞いを 正確に観測する事が可能である事を明らかにした.
従来,10Gbpsもの高速ネットワークにおけるトラヒックモニタシステムは,専用測定シ
ステムを別途構築する必要があり,高コストであった.またアプリケーショントラヒック をリアルタイムに且つ正確に観測する事は不可能であった.汎用PC ベースでこのような 要求条件をすべて満たすモニタ技術は筆者が世界で初めて提案したものである.また本技 術も,商用化システムとしての運用評価を実施し,その高い信頼性と実用性を明らかにし た.
1.3.4 第5章の概要
ここでは,課題3に関し,高速ネットワークに対して,サーバからの送出トラヒック量 を,ハードウェアとソフトウェアが協調して動作する事で,適応的に制御可能なトラヒッ ク制御技術を明らかにする.具体的には,送出する個々のパケットに対して,パケット間 ギャプを5ナノ秒もの細粒度で設定できる,高精度シェーピング機能を提案し,第4章で も用いた10GbE/OC-192c (10Gbps) PCI-X通信カードに実装し評価を実施した.本シェーピ ング機能による厳密なバーストトラヒック抑制効果と,PCの持つクロックを活用した低い 精度のレート制御方式を組み合わせる適応的なトラヒック制御技術を提案し,その効果を 明らかにした.特に本トラヒック制御技術を適用する事で,6.4Gbpsもの帯域を消費する非 圧縮4K映像ストリームのIP転送システムを開発し,実ネットワークにおいてその効果を 定量的に明らかにした.
従来,トラヒックのレート制御は,ソフトウェアのみで行われ,PCの持つクロック精度 のみに頼っており,本論文で扱うような高速ネットワークへ適用する事は困難であった.
本技術のような,ソフトウェアとハードウェアが協調することで,パケット粒度のトラヒ ック制御を可能とする例はなく,筆者が世界で初めて提案したものである.また,今後も 多様化するサービスに対して,ネットワークへの要求条件を満たす為に,広く活用される 技術であると考えられる.
7 1.3.5 第6章の概要
ここでは,2.4Gbpsや10Gbpsといった超高速ネットワークに接続されたサーバに対して 適用可能な,高速ネットワークプロトコル処理の適応制御技術,高精度トラヒックモニタ 技術,適応型トラヒック制御技術の3つの技術を提案し,これらの提案技術の実装および 評価を通じて,それらの実現性を検証した結果について総括する.更に.本研究が将来の 高速ネットワークにおけるサーバシステムにおいて,柔軟なシステム構築,ひいては安定 したサービスが可能なサーバ構築に果たす役割を述べる.
8
第2章 超高速ネットワークシステムにおける適応制御の構 成技術
【関連論文[A1],[A2],[A5]-[A9],[A11],[B1]-[B6]】
ここでは,第1章であげた超高速ネットワークシステムにおける適応制御技術の構成要 素技術に関して,各技術分野でとられている従来のアプローチを説明すると共に,それら が実際のアプリケーションを提供するサーバにおいてどのような効果を発揮するかについ て解説を行う.さらに,本論文で取り扱う課題に適用する上での現状の技術の到達点を説 明することで,本論文で設定した課題の妥当性を明らかにする.
2.1
高速ネットワークプロトコル処理の適応制御の実現技術
ネットワークプロトコル処理の高速化に対しては,これまで,OSIのプロトコル7階層 モデルにおける各層が分離されて議論されてきた.特に近年ではIPプロトコルの普及によ り,レイヤ4より下の階層では特定のプロトコルを対象に高速化手法が議論されるように なった.
2.1.1 ネットワークプロトコル
アプリケーションサーバで用いられるネットワークプロトコルは,従来,レイヤモデル のもとに,厳密に分類されてきた.すなわち,レイヤ1) 物理層(Phisical layer),レイヤ2) リ ンク層(Link layer),レイヤ3) ネットワーク層(Network layer),レイヤ4) トランスポート層,
レイヤ5) セッション層,レイヤ6) プレゼンテーション層,7) アプリケーション層,の7 層モデルである.しかし,現状では,インターネット上における高信頼なコネクションを 提供するプロトコルとしてTCP/IPが,そして,信頼性にかけるが軽量で映像ストリームな どの連続メディアの転送に用いられる UDP/IP が,ほぼ全てのアプリケーションに用いら れるようになった.レイヤ2,レイヤ1 に関しては,ネットワークを構築するハードウェ アの構成法にまで議論が及ぶために,過去のプロトコルとの互換性やハードウェアの製造 のしやすさ,また,構築するためのコストなどの要因から,現在,Ethernetがもっとも多く 用いられている.また,ネットワークの中核を構成するルータでは,POS (Packet over
SONET/SDH)とよばれる高効率なパケット転送技術が用いられるのが一般的である.
9
2.1.2 プロトコル処理の高速化に対する技術分野
プロトコル処理の高速化へのアプローチは,以下に分類される.
z プロトコルのアルゴリズムを改良することにより,高速化を目指す.
TCP の輻輳制御の改良に代表される,プロトコル動作自体を改良するアプローチ.
例えば,インターネット上で最も広く用いられている高信頼なプロトコルである TCP は,当初,遅延時間が大きくパケット廃棄率の高い,品質の悪いネットワークを想定 して設計された.その為,受信ノードからパケットを受信した事を確認する為の制御 パケット(Ack:Acknowledge)を送信ノードへと返信する機構が設けられており,ネッ トワーク中でパケットドロップやパケットリオーダが発生したり,RTT(Round trip time)が増加すると,ウィンドウサイズと呼ばれる送信可能な最大データ量を減少さ せる機構(ウィンドウ制御)が実装されている.しかし,現在のネットワークではパケ ットドロップは少なく,RTT も小さいことから,従来のウィンドウ制御手法 AIMD(Additively increase multiplically descrease)を改良して,ネットワークの 輻輳時にも,パケット転送速度を高速に保つことが可能な HS-TCP(High speed TCP) などが提案されている【1】.
z OS,ハードウェア,デバイスドライバ,ネットワークプロトコルにおける一連の処理 を高速化する.
アプリケーションサーバは,汎用 OS と汎用 PC により構築される事が一般的である.
しかし,従来の高価な専用ハードウェアと比較すると,プロトコル処理性能が劣る.
これは汎用 OS では様々なアプリケーションが動作する事を想定している為に,プロ セス間のスケジューリングやネットワークプロトコルスタックの複雑化に加えて,レ イヤ間のパケットコピーといった処理が必要となる為である.また,汎用 PC プラッ トホームには,ユーザが拡張を容易に行えるよう,規格化された拡張バスが搭載され いるが,必ずしも高速ネットワークの為にチューニングされていない.
近年,これらの汎用 OS,汎用 PC の構造に由来するネットワークプロトコル処理性能 のボトルネックを解消する技術が盛んに提案されており,たとえば,データコピー回 数を極力削減し,アプリケーション層から直接ネットワークデバイスに対してデータ をコピーする,ゼロコピー通信処理が提案されている【43】.
近年のネットワークでは「ギガビット毎秒」を超えるビットレートでトラヒックを処理 する事が必須である為,上記アプローチのみで得られる効果では不十分である.よって,
プロトコルスタックの改良と同時に,プロトコル処理の一部のアルゴリズムをハードウェ ア上に実装することで,汎用 PC アーキテクチャのボトルネックを解消し,プロトコル処
10
理を高速化する手法が数多く提案されている.また汎用OS 内部でのパケット処理を駆動 するために利用する「割り込み処理」による負荷を軽減することによって,プロトコル処 理の高速化を目指す手法も用いられる様になり,前者のアプローチと後者のアプローチが 融合して用られるようになった.以降,この様な近年提案されたプロトコル処理の高速化 技術について述べる.
2.1.3 近年提案されたプロトコル処理高速化技術
NAPI (New API)
NAPI【2】は,汎用PC,汎用OSで構築されたシステムにおいて,パケット受信性能を 改善するべく導入された手法であり,ネットワークインターフェースカードなどのハード ウェアから,汎用PCのメインメモリに受信パケットを転送し,その上位のIP層のプロト コル処理を起動する一連の流れを改良する手法である.従来の汎用OS では,受信したパ ケットを処理するための処理はハードウェア割り込みの発生がトリガとなって起動される.
このハードウェア割り込みの処理にかかるCPU負荷が,ネットワークの高速化に伴って増 大する課題を解決するために提案された.
本手法では,ネットワークインターフェースのデバイスドライバが,パケットを受信し た事を示すハードウェア割り込みを検知すると,一時的にハードウェア割り込みの発生を 禁止し,ポーリングによりパケットの受信処理を行う.ポーリングで受信している期間中 は,複数のネットワークインターフェースから平等にデータを受け取るためにデータ受信 量の制御が行われる.受信したデータ量が,この割り当てられた値を超えると,再びハー ドウェア割り込みにより受信処理をトリガする動作へと戻る.
TSO (TCP Segmentation offloading),LRO (Large Receive Offloading)
従来,汎用OS のプロトコルスタック上で行われていた一部の処理をネットワークイン ターフェースカードなどのハードウェア上に実装する手法の一つである.
IPv4パケットの最大長は64 [kbyte]であるが,TCP層では,ウィンドウ制御により一度に 送出する事が可能なデータ量が厳密に制御されており,アプリケーションから転送要求の あったデータが,ウィンドウ制御により転送許可されたデータ量よりも大きい場合,TCP 層でのデータ分割処理が必要となる.この分割処理をネットワークインターフェースカー ド上で行う技術がTSOである.本技術により,汎用OS内部で処理されるパケットの大き さが,最大で IPパケットの最大長(IP version4では64 [kbyte])となる為に,プロトコル処理 負荷を軽減することができる.
11
同様の発想で,同一のTCPフローに属する複数の受信パケットを,一つのデータに再構 成する過程をネットワークインターフェース上に実装したのがLROである.本機能によっ ても,汎用OSで処理されるパケットのサイズが最大で64 [kbyte]となり,プロトコル処理 に伴う負荷の軽減が実現できる.
マルチフローによるパイプライン,パケット間ギャップ制御
HPC(High-performance computer)や高速ネットワーク,ストレージの展示が行われる国際
会議SuperComputing【3】では,如何にネットワーク上で高速なデータ転送を実現するかを
競うInternet2 Land Speed Contestが行われている.2004年にRecordを獲得した技術は,も っとも広く用いられている標準的なTCPに対して,マルチフロー,ペーシングとよばれる 技術を適用している【11】.
まず,パケットの送受信ノード間で複数のTCPセッションを構築し,送受信性能のパイ プライン性を高める.特に,マルチプロセッサ環境においては,単一のセッションにおい て負荷の高いプロトコル処理を行っている間も,別のセッションにてパケットの送受信を 行う事が可能となり,パイプライン効果が更に向上する.また,全ての送出パケットに対 するパケット間ギャップの調整が,ネットワークインターフェースカードのハードウェア 上で行われる.TCPでは,ネットワークのボトルネック帯域以上のスループットでパケッ トを送出すると,パケットドロップが発生し,TCPウィンドウ制御が行われスループット が大幅に低下する.パケット間ギャップ調整により,パケット送信速度をネットワークボ トルネック帯域以下に押え,このパケットドロップの発生を回避している.
TOE (TCP Offload Engine)
TCPにおけるプロトコル処理の一部,もしくは全てをネットワークインターフェースカ ード上に実装する技術である.Chelsio【4】の提供するLSI(Large scale integration)では,全 てのTCP処理がハードウェア化されており,デバイスドライバは,既にプロトコル処理が 完了したデータを,ユーザアプリケーションにより作成されたソケットへと割り当てる処 理のみを行う.ソフトウェアが実行する処理が単純化され,汎用PC アーキテクチャの限 界性能でのプロトコル処理性能を実現する事ができる.
2.1.4 コンテンツ配信サーバに対する効果
NAPI,TSO/LRO,TOE といった技術はいずれも,ソフトウェアでプロトコル処理を行
う事に起因するCPU負荷を削減することを目的としている.これらの技術によりパケット
12
処理能力が向上する為,アプリケーションサーバが同時に接続し処理する事ができるクラ イアント数が増加する効果がある他,アプリケーションの処理にCPU時間をより多く割り 当てる事が可能となるために,トランザクションあたりの処理時間も減少する効果が見込 まれる.すなわち,サーバへの処理クエリに対する応答時間が短縮する事になる.
更に,TCPマルチフロー,パケット間ギャップ制御技術は,プロトコル処理をパイプラ イン化し,パケット処理能力を向上させる事によって,より効率的にCPUの処理時間をネ ットワークプロトコル処理に割り当てる事ができる.この事により,ネットワークを介し たファイル転送や映像ストリーミングサービスのように,継続的にネットワークの帯域を 消費するアプリケーションにおいて,ファイル転送完了までの時間短縮や,ネットワーク バンド幅の安定的確保を実現する事ができる.
2.1.5 従来技術の課題
いずれの手法も,ハードウェア,およびデバイスドライバにおける細かなチューニング が必要であり,また「ギガビット毎秒」を超えるネットワークにおいては,パラメータを 適正値へと設定する作業には,高度な専門知識が必要となる.
たとえば,NAPIでは,カーネルの受信処理において,ポーリングにより設定された個数 のパケットを受信した後は,再びハードウェア割り込みを待機する動作となる.このポー リング期間を適正値よりも短くすると,割り込み負荷の削減効果が得られない.また,適 正値よりも長くすると,ポーリング処理にCPUの時間が占有される事になる為,ネットワ ークプロトコル処理にCPUの処理時間が割り当てられなくなり,かえって受信性能が悪化 するケースがある.また,単一のネットワークインターフェースからのポーリングを長期 間行うと,その他のインターフェースとの公平性が保てなくなる.
また,LROでは,設定した期間だけネットワークインターフェースカード上に到着した パケットを保持し,各パケットのプロトコルヘッダを解析し,一つのパケットへと結合す る処理を行う.この設定期間を短くしすぎると,ハードウェア割り込みが頻繁に発生する ため,ショートパケットに対する受信性能が低下する.また,設定期間を長くしすぎると,
ネットワークからパケットを一度に多量に受信した際に,ハードウェア上のメモリが溢れ たり,デバイスドライバが用意したバッファが不足し,受信性能が低下する原因となる.
また,クライアントからの処理クエリに対する応答に遅延が生ずる.
このように,各技術のチューニングパラメータの適正値は,インストールされたシステ ムの処理性能やメモリの使用率,またネットワークから到着するトラヒックの特性に応じ て変動する.更に,超高速ネットワークにおいては,チューニングパラメータの変更によ る影響が,低速ネットワークと比較して大きく,既存のネットワークプロトコルの高速化 技術を,そのまま本論文におけるシステム環境に適用することは不可能である.また,こ
13
のようなプロトコル処理の高速化手法において,ハードウェアやOS の深部にわたり,動 的,適応的にチューニングを行う技術は提案されておらず,新たな適応型制御技術の提案 が必要となる.
2.2
超高速ネットワークにおける高精度トラヒックモニタ技術
従来のネットワークモニタ技術は,アクティブモニタとパッシブモニタの2種類に大別 することができる.まず,両者のスキームの概略を説明する.更に,各スキームに対して,
近年提案されたネットワークモニタ技術の到達点を説明するとともに,それらの技術が,
本論文であげた課題を解決するためには不十分であることを明らかにする.
2.2.1 ネットワークモニタ
ネットワークの状態を監視する為の手法としては,従来からアクティブモニタ (AM:
Active monitor) や パッシブモニタ (PM: Passive monitor) と呼ばれる技術の研究開発が進 められてきた.
アクティブモニタとは,タイムスタンプなどのネットワーク測定用の情報が付加された 特別な測定用プローブパケットをネットワークに送出し,ネットワークを通過した後にこ のプローブパケットを取得し,解析するという技術である.たとえば,ネットワーク送出 前と送出後のタイムスタンプを比較することにより,ネットワークの通過に要した時間(デ ィレイ)や,ディレイのばらつき(ジッタ)を測定する事ができる.もう一つのモニタスキー ムは,パッシブモニタである.パッシブモニタに分類されるネットワークモニタは,自ら パケットを被測定ネットワークに対して送出することは行わず,測定対象ネットワークの エッジでパケットをキャプチャするという動作を行う.パッシブモニタは,ディレイやジ ッタの測定も可能であるが,パケットのヘッダ内部を詳細に解析してフロー毎の統計をと ったり,上位プロトコル毎の利用頻度を調査したりするような解析に用いられる.
2.2.2 近年提案されたネットワークモニタ技術
本論文では,汎用PCや汎用OSのように,一般的に用いられているシステムを対象とし ているために,高価なネットワーク測定用の専用装置に関する動向の解説は省略する.更 に,Webサーバや映像ストリーミングサーバといった,実際のアプリケーションが生成す るトラヒックの特性解析に適用可能と考えられるモニタ技術を抽出して,近年提案された 技術を解説する.
14 モニタ
測定用パケット送信機 測定用パケット受信機
タイムスタンプ
低遅延タイムスタンパ 測定用パケット
図 2-1 アクティブモニタの現状技術
通過型タイムスタンパ
文献【5】で提案されているアクティブモニタ技術では,汎用PCの持つPCIスロットに インストール可能なハードウェアを用いて,ネットワークから入力されたパケットに高精 度なタイムスタンプを付加し,それをほぼ無遅延でネットワークへ再送出するというアー キテクチャを実現している (図 2-1).この装置をネットワークのリンク毎に挿入すること によって,全てのリンクを通過した時刻のタイムスタンプ値が測定用パケットに埋め込ま れ,測定用パケット受信機に届けられる.測定用パケット受信機は,このパケットに埋め 込まれたタイムスタンプにより,リンク毎のネットワーク特性を把握することができる.
図中の低遅延タイムスタンパは,カットスルーアーキテクチャにより,ネットワークの特 性に影響を与えない様な工夫がされている.
通過型タイムスタンパの課題
本装置が分類されるAMには,共通して,ネットワークの測定を測定用の特殊なプロー ブパケットを用いて行うという特徴がある.このような測定では,アプリケーションが実 際に送受信しているパケットがネットワーク内で如何に振る舞うかを厳密に測定する事は 困難である.ネットワークを介して転送されるトラヒックのビットレートが低く,高精度 な測定結果が必要でない場合には問題とならないが,本論文が対象としているような超高 速ネットワーク環境下では,実際のアプリケーションが生成するトラヒックは,プローブ
パ ケ ッ ト と 比 較 し て 複 雑 な 特 性 を 持 つ た め , 測 定 結 果 に 誤 差 が 生 ず る .
15
アプリケーション サーバ
アプリケーションが 送出したパケット
タイムスタンプ
受信時に更にタイ ムスタンプを付加
クライアント
図 2-2 タイムスタンプ付加機能搭載ネットワークインターフェースカード
また,ネットワークのリンク毎に低遅延タイムスタンパを挿入する必要があり,更に測 定データを収集する為の専用ネットワークが必要となる為,管理やコストの面でも導入の 容易性には課題が残る.また,本論文で対象とする10 [Gbps]のような高速ネットワークの 特性評価を行うためには,別途10 [Gbps]のトラヒック生成能力を持ったプローブパケット 生成器が必要となるという課題も存在する.
タイムスタンプ付加機能搭載ネットワークインターフェースカード
文献【6】で提案されているHOTSは,アクティブモニタ技術に分類され,ネットワーク インターフェースカードにタイムスタンプ付加機能を搭載している(図 2-2).本機構により,
サーバから送出するパケットのUDPヘッダにおける宛先ポート番号が,あらかじめ設定さ れた値と等しい場合に限りパケットにタイムスタンプを埋め込む事ができる.HOTS をサ ーバのネットワークインターフェースとして使用し,更に既存のアプリケーションを修正 する事によって,アプリケーションが送受信するパケットがネットワーク内で如何に振る 舞うかを観測する事ができる.
タイムスタンプ付加機能搭載ネットワークインターフェースカードの課題
HOTSでは,アプリケーションが指定する宛先ポート番号を修正し,更にパケットのペ イロード内にタイムスタンプを埋め込む為のフィールドを用意する事が必要となる為,既
16
アプリケーション サーバ
クライアント
分岐装置 分岐装置
DAG DAG
図 2-3 ワイヤーレートパッシブモニタ DAG
存のアプリケーションの修正が必須となる.よって導入の容易性に課題があり,更に修正 が施されていないアプリケーションが動作するサーバとの相互接続性にも課題がある.
またHOTSは,現状,OC-3c (155 [Mbps]) のネットワークにのみ対応しており,本論文 が対象としているネットワークのバンド幅と比較すると,大幅に低速である.その為,ネ ットワークモニタ装置においては必須となる,ワイヤーレートでのトラヒック処理を実現 する高速処理の観点では特別な機構は搭載されていない.よって本論文が対象とする高速 ネットワークへ適用しても,高精度な測定結果を得ることは不可能である.
ワイヤーレートパッシブモニタ DAG
文献【7】,【8】にて用いられているDAGはパッシブモニタ技術に分類され,10 [Gbps]
の高速ネットワークでも,ワイヤーレートでトラヒックをキャプチャする事ができる.図 2-3に示すように,ネットワークのサーバ側,クライアント側にそれぞれパケットを分岐さ せる為の装置を挿入し,分岐させたパケットを DAG を用いてキャプチャする.その後,
送受信側の双方でキャプチャしたパケットを比較解析することでネットワークの特性を詳 細に解析する事ができる.特に,DAGはワイヤーレートでのトラヒックの処理技術に優れ ている.通常のトラヒックキャプチャ装置では,ショートパケットが多量,かつバースト 的に到着するとパケットの取りこぼしが発生するが,DAGではパケットサイズに依存する ことなく全てのパケットをキャプチャする事ができる.
17 ワイヤーレートパッシブモニタ DAGの課題
DAGに代表される全てのPMは,パケットのキャプチャに特化しており,パケットを送 信する為のハードウェアを持たない場合も有る.その為,ネットワーク内の遅延やジッタ を算出したり,複数拠点間でトラヒック特性を比較するような解析を行うには,複数拠点 のそれぞれの装置がキャプチャしたパケットをネットワーク越しに収集・マージし,比較 する等の複雑な処理が必要となる.その為,キャプチャした情報を共有する為のネットワ ーク構築が必要となり,管理の困難化やコスト負担が課題となる.更に,解析をリアルタ イムに行う事はできないので,本論文で実現する適応型制御に適用することは困難である.
2.2.3 従来技術の課題
上記の様に,汎用PCをベースとして提案されている現状のAMとPMでは,以下の課 題があるために,本論文の対象とする超高速ネットワークに適用することは困難であると 考える.
z AM においては,プローブパケットを用いてネットワーク特性の解析をするために,
測定精度が低下する.
z PM においては,トラヒックのキャプチャのみに特化しているために,キャプチャし たパケットの収集・マージ,比較解析といった複雑な処理が必要となり,リアルタイ ムな解析は不可能.
z AM,PM に共通な課題として,ネットワークモニタ用の追加装置を用意する事が不可 欠であり,コスト面での導入の容易性に課題が残る.
以上の課題を解決する事が,超高速ネットワークにおける適応型制御技術に適用可能な ネットワーク測定技術を実現する為には必須となる.
2.3
サーバにおける適応型トラヒック制御技術
従来の映像ストリーミングサービスなどを提供するサーバでは,ソフトウェアベースの ビットレート制御によるトラヒック制御が行われてきた.これは,汎用PC のマザーボー ド上に実装されているクロックを基準として,カーネルが生成した時刻情報により実現さ れており,アプリケーションは,カーネルのタイマ機能を用いて,一定周期でソケットAPI
18
等のインターフェースを実行し,データをネットワークへ送出する.この実行周期,或い は一周期あたりに送出するデータ量を調整することで,送出するトラヒックのビットレー トを変化させる事ができる.
例えば,論文【9】では,ストリームあたり1.5 [Gbps]という高速なビットレートで映像 データを転送するストリーミングサーバを,ソフトウェアによるビットレート制御により 実現している.本サーバは,カーネルのタイマ機能を活用して,アプリケーション層で仮 想的なリアルタイムスケジューラを実現しており,ストレージからのデータ読み出しとネ ットワークへのデータ送出の全てのタイミングを汎用 PC のクロックに依存して決定して いる.更に,論文【10】では,本サーバを拡張し,送信サーバと受信クライアントにおい て,受信側のバッファの増減を観測し,その変動に応じて送信サーバのビットレートを増 減させる制御を行っている.これにより,汎用 PC の持つ精度の低いクロックでも,バッ ファのオーバーフローやアンダーフローによるデータ欠損がなく,安定した映像サーバの 運用を可能としている.
2.3.1 ソフトウェアによるトラヒック制御技術の課題
ソフトウェアによるビットレート制御では,本論文が対象としている「ギガビット毎秒」
を超える高速なネットワークでは,トラヒックのバースト性によりパケットドロップなど の障害が発生すると考えられる.例えば,10 [Gbps]のインターフェースを持つストリーミ ングサーバを想定した場合,カーネルタイマにより与えられた周期の間は,サーバのパケ ット送信性能の限界速度でパケットを送出する.つまり,例え,ソフトウェア的に1.5 [Gbps]
のビットレートに制御したとしても,短いタイムスロットでトラヒックを観測すると,瞬 間的には,それよりも高ビットレートでパケットを送出している.この時,複数の映像ス トリームを,ルータやスイッチなどのネットワーク中継機器で多重すると,集約したトラ ヒックの合計ビットレートが瞬間的に回線速度を超えてしまい,スイッチのポートに備え られているポートバッファがオーバーフローしパケットドロップが発生する.
2.3.2 ハードウェアによるトラヒック制御技術の課題
ソフトウェアによるビットレート制御の他に,ハードウェアによるシェーピング機能を トラヒック制御技術として用いるケースも存在する.論文【11】では,レイヤ4プロトコ ルとしてTCPを用いた場合のバースト性を削減するために,ネットワークインターフェー スの持つハードウェアシェーピング機能を利用している.つまり,EthernetのMAC (Media Access Controller) LSIにおいて,パケットの間隔をある一定間隔に設定し,トラヒックのバ ースト性を抑制する事により,パケットドロップの発生と,それに伴うTCPウィンドウサ
19 イズの縮小を防ぐことを狙っている.
しかし,MAC LSIによるパケット間隔の制御方式では,映像ストリームなどのビットレ
ート制御の対象となるパケットだけでなく,TCPのACKといったプロトコル制御パケッ トやデータベースのクエリなど,ビットレート制御の対象とならないパケットに対しても パケット間隔が調整される為,サーバの応答速度に影響を及ぼす.
以上の課題を解決する事が,超高速ネットワークにおける適応型制御技術の実行部とし て動作するトラヒック制御技術には必須となる.
20
第3章 高速ネットワークプロトコル処理の適応制御の実現 技術
【関連論文[A2], [A5], [A9], [B5],[C3],[C5],[C10]】
3.1
本論文における位置付け
本章では,適応制御の実行部として,サーバにおけるリソース消費量やネットワークの 状態を元に,適応的に動作を変更するプロトコル処理技術を明らかにしている.
ネットワークモニタ技術によ りネットワークを正確に,リ アルタイムに観測
観測した情報を元に,サーバ やネットワークのパラメータを 適応的,動的に制御
サーバの動作環境(計算機 資源やネットワーク特性)に 適応して,最高性能を達成.
コンテンツ配信システムのリ ソース(計算機資源やネット ワーク帯域)を適切に割当.
観測と適応型制 御のループ
第5章 「サーバにおける適 応型トラヒック制御技術」
第4章 「超高速ネットワークにおけ る高精度トラヒックモニタ技術」
第3章 「高速ネットワークプロトコ ル処理の適応制御技術」
図 3-1 本章の位置づけ
初めに著者が実装したネットワークインターフェースカードと,新たなリンクレイヤプ ロトコルを組み合わせた高速プロトコル処理システムを構築し,汎用OS,汎用PCの組み 合わせによって達成可能なプロトコル処理性能の最大値を明らかにする.更に,その成果 に関連して,システムの持つ計算資源やネットワークリソース,OS環境において,プロト コル処理の最大性能を安定して発揮する為,ハードウェアや,OS内部のチューニングパラ メータを,適応的,動的に変更する「適応型デバイスドライバ」の新規提案を行っている.
達成されたプロトコル処理性能は「ギガビット毎秒」を超える高速性をもつ事から 第1章 であげた本論文の要求条件を満たす技術を明確化している.即ちサービスの多様化にも対
21
応可能な,安定した高速プロトコル処理技術を実現している.
3.2
研究の背景
近年,ADSL (Asymmetric Digital Subscriber Line) や FTTH (Fiber-To-The-Home) 等の高速 アクセス回線が安価な料金で利用できるようになり,企業のみならず一般ユーザもインタ ーネットを介した高度なサービスを利用できるようになった.例えば,6 [Mbps]もの帯域を 必要とするDVD (Digital Video Disk)品質の映像をオンデマンドで,家庭にいながら試聴で きるビデオオンデマンドサービスがその一つとして挙げられる.
このような状況の元で,サービスを提供するサービスプロバイダも,低コストでありな がら,安定してサービスを提供可能なシステムを構築する必要ある.特に,高品質なサー ビスを提供するにあたっての鍵となる,ネットワークプロトコル処理性能の高速化とチュ ーニング技術の課題が重要であると考える.
著者は,安価な汎用 PC をベースとして構築されたサーバシステムにおいても,高速な ネットワーク処理性能を達成可能なジャンボパケットの効率性に注目してきた.本章では,
まずパケットサイズがシステムのネットワーク性能にあたえる影響を明らかにすると共に,
パケットサイズによらない,つまりジャンボパケットやショートパケットのように様々な サイズのパケットが混在したネットワーク環境においても,高速なプロトコル処理性能を 保つ為の,ネットワークインターフェースの実装法を明らかにする.
更に,その過程において,サーバやネットワークの状態に適応して動作アルゴリズムを 動的に変更する適応型制御技術の新規提案を行っている.また,この適応型制御技術を拡 張し,一般的に使用されているUNIX互換のサーバOSであるLinuxとBSD系OSの持つ,
プロトコル処理実装の相違を吸収し,異なる環境でも安定して高速なプロトコル処理性能 を実現する事が可能な適応型制御技術を提案している.
3.2.1 ジャンボパケットによる高速プロトコル処理
ジャンボパケットがシステムに与える影響に関しては,ネットワークの中継装置におけ る伝送遅延が増大する問題が長く議論されてきた.つまり,ルータやスイッチではストア アンドフォワード方式によりパケットが中継される為,パケット長に比例した遅延が発生 する.この為,遅延時間に敏感なサービスでは,品質の低下につながると考えられてきた.
また同時に,パケットは一時的に中継装置が備えるFIFO (First In First Out) メモリにストア されるため,ジャンボパケットではメモリの占有量が多くなり,ポートバッファ不足によ るパケット廃棄が引き起こされるといった事象が問題視されてきた.しかし,本論文で扱 う,「ギガビット毎秒」を超える帯域をもつ高速ネットワークでは,従来の10 [Mbps]とい
22
った低速なネットワークとは異なり,ジャンボパケットの伝送に伴う遅延時間も実用上問 題ないほど小さくなっていると考えられる.
3.2.2 広帯域ネットワークを活用したアプリケーションの登場
近年,プロトコル処理負荷を低減し,システムのネットワーク性能を向上させる効果を 持つ,ジャンボパケットを活用したブロードバンドアプリケーションが数々登場している.
これらのアプリケーションは,例えば高品質なビデオストリーミングサービスの様に,従 来のWWWとは異なり,高速なプロトコル処理性能を必要とし,ディレイやジッタのよう なネットワークの特性に敏感なアプリケーションである.特に【12】や【13】では,1.5[Gbps]
という「ギガビット毎秒」を大きく超える帯域を必要とする「非圧縮HDTV映像のIP伝 送システム」を開発しており,このような高速なネットワーク性能を達成するには,ジャ ンボパケットの利用が必須である.
3.2.3 MAPOS対応OC-48c通信カードの開発
このような背景の下,著者は新たなリンクレイヤプロトコル MAPOS (Multiple Access Protocol Over Synchronous Optical Network/Synchronous Digital Hierarchy) を活用し,高速プロ トコル処理の実現性の評価を行っている.本プロトコルは,IETF (Internet Engineering Task Force) のRFC (Request For Comment) 標準として登録され,RFC-2171【14】からRFC-2176
【19】として,その基本部分が定義されている.MAPOS の特徴としては,最大 64[kbyte]
もの長大なMTU (Maximum Transfer Unit) サイズが利用可能であるという点が挙げられる.
このような特徴をもつMAPOSを,汎用PCベースのシステムで利用する為に,MAPOS に対応し,かつOC-48cの高速回線に対応した,PCI (Peripheral Component interonnect) ネッ トワークインターフェースカード,及びデバイスドライバを開発した.本ネットワークイ ンターフェースカードを利用する事により,汎用PC により構築されたサーバにおいて,
最大 64 [Kbyte]もの長大パケットを利用したネットワーク性能の評価を行う事が可能とな
る.当時,OC-48cもの高速な回線でこの様な長大なパケットを用いた性能評価を行った例 はなく,著者が世界で初めて明らかにした事柄である.
3.2.4 検証項目
本章では,MAPOS をリンクレイヤプロトコルとして実装し,そのプロトコル処理性能 に与える影響を,特に64 [kbyte]というMTUサイズの効果に着目して明らかにする.
また,新たに開発したネットワークインターフェースは,2.4 [Gbps]という高速な回線に
23
対応するもので,今日,企業や一般家庭のユーザに浸透しはじめたGbE (Gigabit Ethernet) の2倍以上もの回線速度をもっている.このような高速なネットワークインターフェース が実際のサーバやユーザ PC に搭載された際の実用的なハードウェアおよびデバイスドラ イバの実装法にも注意を払い,検討を行った.
特に,送受信するパケットにショートパケットが混在している場合,ハードウェアと,
それを制御するデバイスドライバ間のイベントの伝達手法により,ネットワーク性能が大 きく影響を受ける.つまり,ショートパケットではハードウェア割り込みが多量に生成さ れる為に,その処理負荷によりネットワーク性能が低下する傾向にある.本章ではこのハ ードウェア割り込みの制御手法にも着目し,新たなハードウェア割り込み処理アルゴリズ ムの提案,評価を行う.
更に,商用システムにも適用できるよう,安定性を確保した高速プロトコル処理技術の 検討,提案も行っている.特に本章では,最新のシステム環境でも,低いパフォーマンス のシステム環境でも,安定して高いネットワーク性能を提供できるよう,システムの状態 に適応して動的にアルゴリズムを変更する,適応型アルゴリズム切り替え手法を提案して いる.OSやハードウェアの深部にわたり,動的,適応的にチューニングを実行する本手法 を用い,実システムにおいて評価することで,一般的なトランスポート層プロトコルであ る UDP (User Datagram Protocol) および TCP (Transmission Control Protocol) を用いたネッ トワーク性能を向上させる効果があることを明らかにした.
3.2.5 本章の構成
本章の構成は以下の通りである.まず,3.3 節で,MAPOS の概要を解説するとともに,
MAPOS対応OC-48c通信カードのハードウェア,及びソフトウェアについて解説する.こ
こで,ソフトウェアとはデバイスドライバを指している.次に3.4節において,パケットの 送受信それぞれの処理プロセスに着目し,一般的なデバイスドライバ実装における課題を 明らかにする.この課題を解決するために,新たに提案した,非割り込み駆動型送信アル ゴリズム,割り込みバッチ型受信アルゴリズムを3.5節で解説する.新規開発したハードウ ェア,デバイスドライバを搭載したシステムによる,ネットワーク性能の評価結果を3.6節 に示す.評価結果を詳細に解析すると共に,インターネット上のサーバで一般的に用いら れるトランスポート層プロトコルである,TCP/IP によるネットワーク性能評価を3.7 節で 行う.特にTCP/IPでは,Ackパケットによるパケットの受信応答制御が行われ,送受信共 に高いプロトコル処理性能が要求される.
更に導入した適応型制御技術を拡張し,異なる OS 間のプロトコル処理手法の相違を吸 収する新たな適応型制御技術を明らかにする.その為に,3.9節においてLinuxとFreeBSD 双方のOSと「ギガビット毎秒」を超える回線速度を持つ2種類のネットワークインター
24
図 3-2 MAPOS verion 1 のフレームフォーマット
図 3-3 MAPOS verion 2 のフレームフォーマット
フェースカードを使用しスループットの一次評価実験を行った.その結果,FreeBSD では ジャンボパケットを用いた際に,Linuxと比較してネットワーク性能が劣る事を確認した.
更に,FreeBSDにおけるプロトコル処理性能の低下原因の明確化を行い,その影響を定量 的に明らかにするとともに,これらの要因を解消し,ネットワーク性能を改善する為の新 たな「適応型デバイスドライバ」を提案した.本手法の効果は実験を通して明らかにする.
3.3 MAPOS
対応
OC-48c通信カードの実装
ここでは,リンクレイヤプロトコル MAPOS の概要を述べるとともに,MAPOS 対応
OC-48c通信カードのハードウェア,およびソフトウェアに関して説明する.
3.3.1 MAPOSの特徴
MAPOSは,超高速IPネットワーク通信に適したリンクレイヤプロトコルとして提案さ
れ,RFC (Request For Comment) 2171-2176 (【14】-【19】)に基本的なプロトコル仕様が定義 されている.
MAPOS は,主に WAN (Wide Area Network) で用いられている POS (Packet over
SONET/SDH) 互換のプロトコルに分類されることから,POSに共通する以下の特徴を有す
る.
z SONET/SDH の速度階梯に準拠した回線速度に対応している.OC-3c/STM-1 (155.52 Mbps) から OC-192c/STM-64 (9953.28 Mbps) の回線速度に対する仕様が既に標準化 されている.