図2 ギガビット・イーサネットを使ってファイルをコピーしてみた<BR>LANスイッチを介してサーバー役のパソコンとクライアント役のパソコンをギガビット・イーサネットで1対1接続し,526Mバイトのファイルをコピーしてみた。パソコン内蔵のギガイーサ対応ポートを使った方がUSB2.0接続のLANアダプタを使うより速いが,スループットは100メガ・イーサネットの2倍に満たない。
図2 ギガビット・イーサネットを使ってファイルをコピーしてみた<BR>LANスイッチを介してサーバー役のパソコンとクライアント役のパソコンをギガビット・イーサネットで1対1接続し,526Mバイトのファイルをコピーしてみた。パソコン内蔵のギガイーサ対応ポートを使った方がUSB2.0接続のLANアダプタを使うより速いが,スループットは100メガ・イーサネットの2倍に満たない。
[画像のクリックで拡大表示]
図3 パソコンのハードウエアに潜むギガビット・イーサネットのボトルネック&lt;BR&gt;一般的なパソコンでギガビット・イーサネットを利用する場合,パソコン内部の拡張バスやインタフェースの速度が不足する。そこでサーバー装置などでは,ギガビット・イーサネット専用の接続ポートを持ったチップセットを使ったり,高速な拡張インタフェースを装備して,ボトルネックが生じないようにしている。
図3 パソコンのハードウエアに潜むギガビット・イーサネットのボトルネック<BR>一般的なパソコンでギガビット・イーサネットを利用する場合,パソコン内部の拡張バスやインタフェースの速度が不足する。そこでサーバー装置などでは,ギガビット・イーサネット専用の接続ポートを持ったチップセットを使ったり,高速な拡張インタフェースを装備して,ボトルネックが生じないようにしている。
[画像のクリックで拡大表示]

ファイル転送のスループットは2倍弱

 それではいよいよギガビット・イーサネットのスループットを測る。

 最初は,パソコン2台*をギガビット・イーサネットで接続し,ファイルをコピーする時間を測る実験からだ(図2[拡大表示])。具体的には,サーバー役のWindowsパソコンの共有フォルダに526Mバイトのファイルを置き,クライアント・パソコンがそのファイルをコピーして,終了するまでの時間をストップウォッチで測定した。

 ギガイーサの接続は,サーバーとクライアントの両方とも内蔵のLANポートを使って調べたあと,クライアント側をUSB2.0接続のアダプタ*に取り替えて同じ測定を行った。また,参考データを得るため,中間に置くLANスイッチを100BASE-TX対応品に取り替えて,100メガ・イーサネットのケースも調べた。実験は5回ずつ行い,中間の3回分の平均値を見た。

 この結果わかったのは,ギガビット・イーサネットのスループットが予想外に低いことだ。内蔵ポートで123Mビット/秒,USB2.0接続に至っては92Mビット/秒しか出ていない。伝送速度が10分の1しかない100メガ・イーサのスループットが67Mビット/秒だったから,どちらも2倍に満たない。

 では,100メガと1ギガの間にある10倍の伝送速度の差はどこへ消えたのだろうか。わからないことを専門家に聞きに行くのも調査隊の仕事。ということで,まずはLAN機器のベンダーであるアライドテレシスに話を聞きに出かけた。

パソコン内部にボトルネック

 「アダプタをギガイーサ対応のものに替えてもファイル転送のスループットは10倍速くなりません。テスト環境でも600Mビット/秒のスループットが出ればいい方ですから」と話してくれたのは,プロダクトマーケティング部課長の坂田晃己氏だ。普及価格帯のパソコンを使ったファイル転送の実験では,ギガビット・イーサネットの能力を100%引き出すのは難しいという。

 理由は,大容量ファイルをコピーする方法でスループットを測定すると,LANの速度以外の要素が結果に大きく影響するから。送信側でファイルをディスクから読み取ったり,受信側で書き込む処理でスループットが大きく左右されるという。

 また,パソコン内部とイーサネットの処理回路を接続する部分のボトルネックもある。LANスイッチからイーサネット・ポートまでは1Gビット/秒で通信できても,パソコンがそれを受け取れないかもしれないのだ。

 例えば,普及価格帯のパソコンでは,周辺機器制御チップとギガビット・イーサネット・チップを32ビットのPCIバスで接続するケースが多い。この部分の転送速度が足りなくなる。PCI拡張バスに普及品のギガビット対応のLANアダプタを挿して使うケースがこれに当たる。安価なパソコンの内蔵ギガイーサ・ポートでは,イーサネット・チップが拡張スロットと同じPCIバスに接続されていることがある*。この場合も話は同じだ。

 32ビットのPCIバスの容量は約1Gビット/秒しかない。ギガビット・イーサネット・チップが片方向の通信をするだけでいっぱいになってしまう。これより速度の遅いUSB2.0ではもちろん,1Gビット/秒に近いスループットが出るわけがない。

 サーバーや高性能パソコンでは,この問題を解決するためにいくつかの工夫を施している(図3[拡大表示])。その一つが,パソコン内部にギガビット・イーサネット専用の接続ポートを設ける手法である。インテルは,CSA*と呼ぶポートを一部の高性能パソコン用チップセット*に採用済み。CSAは最大2Gビット/秒の転送能力があるので,ギガイーサの通信に耐えられる。

 一方,サーバー・マシンでよく使われているのが,64ビットPCIやPCI-X,PCI Express(エクスプレス)*といった高速な拡張スロットを採用するという方法である。64ビットPCIなら32ビットPCIバスの約4倍の転送速度を持つから,ギガビット・イーサネットで全2重の通信を行っても十分足りる。PCI-X,PCI Expressはさらに高速だ。