PR
図4 CPUが高速になるとスループットも上がる<BR>Netperfという測定ツールを使って,CPUの性能の差がギガビット・イーサネットのスループットにどう影響するのか調べてみた。性能の高いCPUを使うとスループットは向上した。Celeronマシンでは,測定中のCPU使用率の表示がほぼ100%だったが,Pentium4では50%前後で推移した。
図4 CPUが高速になるとスループットも上がる<BR>Netperfという測定ツールを使って,CPUの性能の差がギガビット・イーサネットのスループットにどう影響するのか調べてみた。性能の高いCPUを使うとスループットは向上した。Celeronマシンでは,測定中のCPU使用率の表示がほぼ100%だったが,Pentium4では50%前後で推移した。
[画像のクリックで拡大表示]

CPUの処理能力が大きく影響する

 とはいえ,これだけでは冒頭の実験でギガイーサのスループットが200Mビット/秒に満たなかった理由にはならない。標準的な32ビットPCIの拡張スロットを使っても,ギガビット・イーサネットの恩恵を受けられるはずだ。

 なぜなら,標準的な32ビットPCIの拡張スロットの速度は約1Gビット/秒で,ファイルのダウンロードのように片方向の通信が主なら,トータルの通信量は1Gビット/秒をやや超える程度になるからである。つまり,バスの速度は大きな障害にはならない。

 実は,スループットが伸びない要因は別のところにある。

 「ギガイーサの通信はCPUに大きな負荷をかけるのです。そのため,スループットはパソコンの性能でかなり変わります」と教えてくれたのは,コレガの製品推進本部の白沢博幸担当部長だ。コレガ内部のテストでは,32ビットPCIで接続したギガイーサ対応LANアダプタの最大スループットは500Mビット/秒前後だったという。ただし,CPU性能の低いパソコンでは,その他の条件が同じでも,その半分以下しか出ないケースもあったようだ。

 パソコンは,データを細切れにしてイーサネット・フレームに載せて送り出す。逆に,受け取ったフレームから元のデータを取り出す。こうした処理にCPUの能力を使う。双方向合わせて最大200Mビット/秒の100メガ・イーサネットの処理なら,最近のパソコンは難なくこなす。しかし,ギガイーサになると,「ちょっと苦しいパソコンも出てくる」(白沢氏)のである。つまり,パソコンの処理能力がボトルネックになってくる。

 では,パソコンの処理能力の違いで,スループットがどれくらい変化するのか,実際に調べてみることにした。

速いCPUを使うと57%の速度向上

 今度の実験には「Netperf(ネットパーフ)」という測定ソフトを使う。これは,米ヒューレット・パッカードが開発し,無料で公開している測定ツールである。通信相手のマシンで動かしたサーバー・ソフトへ,クライアントのソフトがTCPでデータを送り出す*速度を測定するしくみである。ファイル転送の実験と違って,メモリー内に置いたデータを送り出すため,テスト結果がディスクの読み書き速度の影響を受けない。

 ファイル転送の実験と同じように,サーバーとパソコンを1対1で接続して,スループットを測定する(図4[拡大表示])。先ほどクライアントとして使ったCeleron(セレロン)(動作周波数2.4GHz)を搭載したパソコンに加え,サーバー役と同じPentium4(ペンティアムフォー)(動作周波数3GHz)のパソコンを用意した。ギガイーサ・アダプタは32ビットPCI型*とUSB2.0型を使った。

 測定結果は図4の通り。CPUがCeleronかPentium4かの違いで,32ビットPCIアダプタを使った場合で36%,USB2.0接続のアダプタでは57%ものスループット向上が見られた。確かに高速なCPUを搭載したパソコンの方が,ギガビット・イーサネットのスループットが高くなっている。

 実験中に,Windows標準のタスクマネージャで表示したCPU使用率を見比べると,さらに興味深い。Pentium4パソコンでは,CPU使用率は50%前後で推移した。一方のCeleronパソコンは,ずっとCPU使用率が100%近辺を指していた。Celeronパソコンではイーサネットの処理でCPUの能力を使い切ってしまい,スループット向上の足かせになっていたようだ。

 とはいえ,高速なPentium4パソコンの場合でもスループットは約300Mビット/秒。まだまだギガビット・イーサネットの能力を出し切っているとはいえない。アライドテレシスの坂田氏やコレガの白沢氏が教えてくれた数値にもほど遠い。まだどこかにボトルネックが潜んでいるのかもしれない。

 Netperfの測定データを見ながら頭をひねっていると,デスクが助け船を出してくれた。「バッファ・サイズを変えて測定すればどうだろう?」。