|
Comet Delay |
概要
Comet Delay は Comet ネットワークアダプタに接続可能なネット ワーク媒体をブリッジしつつ、ブリッジングの際に任意の通信遅延を発生しま す。 この装置は、純粋な遅延の影響を調査する目的で作られました。実際の広域網 での各種応用の実験では、長距離による遅延の他、間に介在するルータや他の トラフィックなどの影響を受けます。それらの複雑な要因を排除し、遅延のみ の影響を調査することは広域実験の前段階として必要な実験です。

図1 遅延概念図
表 1 Comet Delay仕様

ハードウェア
ホストとなる PC の PCI バスに i-NIC-1 もしくは i-NIC-2 を装着して使用し ます。定常動作はすべて Comet 内で完結するため、ホストPCIバスは低速のも のでも構いません。ホスト PC とは起動時のファームウェア格納の他、動作時 の制御命令、統計情報をやりとりします。 ブリッジ動作を行うので、Comet には同時に2つのネットワークインタフェー スを装着します。現時点で装着実績があるのは、Lamix 1000-SX 2port と 1000-T 2port です。i-NIC-1、i-NIC-2 双方とも PMC スロットが一つ装着され ていることから、2port の NIC を使用していますが、旧来の Comet のように 複数の PMC スロットがある場合、delay ファームの構造からは同種のネット ワークである必要はなく、例えば ATM と Gigabit Ethernet という構成でも 構いません。
ファームウェア
遅延機構:
delay_efdはネットワークデバイスモジュールからパケットを受けとると、 自前の遅延キューに入れます。この際、パケット毎に外部タイマの現在のカウ ント値を付けます。 遅延キューからの出力は、遅延キューの先頭パケットのキューに入れた時刻と 現在のカウンタ値を比較し、差が与えられている遅延時間より大きな時に出力 します。
ホストからの制御命令:
pcipit スクリプトによって、統計情報のクリア、遅延時間設定をサポートし ています。命令の通信領域が i-NIC-1、i-NIC-2 で異なるので、現在の所、ボー ド毎にスクリプトを用意しています。
統計情報:
各ポートにつき送出バイト数積算値、送出パケット数積算値、遅延キュー内存
在パケット数の情報を計測しています。
これらは pcipit スクリプトで得られる他、pcipit を起動する snmp エージェ
ントを介して MRTG で情報を得られます。

遅延実験
図2 に示すように、遅延時間のTCP/IP転送性能への影響を実験しました。負荷はLinux Red Hat 7.2J で ftp、netperf を用い、TCP の window サイズを最適化して、転送性能の向上を観察しました。各系列名の括弧内に示しているのが window サイズです。

図2 遅延とTCP/IP転送性能