元麻布春男の焦点
Intelの開発撤退がInfiniBandに与える影響
――サーバの次世代I/O技術「InfiniBand」の動向――

元麻布春男
2002/06/05


 海外での報道によると、IntelはInfiniBand対応の半導体製品の開発を中止したようだ。通常、Intelはこうした開発中止や事業撤退などのケースでニュースリリースを出さないため、公式に確認することはできないのだが、報道にIntelの広報担当者のコメントが引用されていることから、まず間違いないものと思われる。InfiniBandは、ブレード・サーバ間やクラスタ・システムの接続など、サーバ・システムにおける次世代のI/O技術として注目を集めていただけに、Intelが開発から撤退する影響は計りしれない。そこで今回は、IntelがInfiniBand対応の半導体製品の開発から撤退する理由と、この撤退がInfiniBandに与える影響を考えてみよう。

NGIOからInfiniBandへ

 のちにInfiniBandと呼ばれることになるI/O技術について、Intelが最初に言及したのは1998年秋のIDF Fall 1998のこと、ある程度の技術情報が公開されたのが1999年春のIDF Spring 1999だったと記憶している。当時は、まだInfiniBandという呼び名が決まっておらず、NGIO(Next Generation I/O)と呼ばれていた。下図は、1999年春のIDFで公開されたNGIOのブロック・ダイアグラムである。この図のポイントは2つある。1つは、メモリ・コントローラとHCA(ホスト・チャンネル・アダプタ:ホスト・コンピュータとInfiniBand間の接続を行うアダプタ)が極めて密接な関係にある、という点だ。この構成は、CompaqやIBMなどがNGIOと競合するI/O技術として提唱していたFuture I/Oを取り込んで、NGIOと一本化し、InfiniBandに名称が変更されてからも維持された(InfiniBandとなる前、System I/Oと呼ばれていた時期もあった)。こうしたほかのI/O技術を取り込むことで、NGIOでさえ高度だったこのI/O技術は、InfiniBandになってさらに複雑化したことは否めない。

大きな図へ
NGIOのブロック・ダイアグラム
IDF Spring 1999で公開されたNGIOのブロック・ダイアグラム。図のように当初は、メモリ・コントローラとHCAが密に結合する形態が考えられていた。

 もう1つは、すべてのI/OがNGIOのHCA経由で接続されている、という点だ。この時点でNGIOの用途として、SAN(Storage Area Network)やケース間の接続、クラスタリングといった現時点でのInfiniBandの用途(アプリケーション)もすでに想定されていたものの、大きな用途の1つとしてNGIOがPCIバスの置き換えを狙っていたことがうかがえる。つまりNGIOは、上位のサーバやワークステーション向けに、PCIバス、ファイバ・チャネル、さらには一部のギガビット・イーサネットのアプリケーションまでカバーし、ケースの内と外、オンボード、すべてのインターコネクトを提供する、極めて野心的なものだったのである。これは正式名称がInfiniBandに決まったあとも、しばらくの間は変わらなかったように思う。

 この路線がハッキリと変わったのは、2001年春のIDF Spring 2001で、PCIバスの後継となるチップ間のインターコネクト技術として3GIO(正式名称PCI Express)が発表されてからだ。下図は2001年秋のIDF Fall 2001で公開されたInfiniBandプラットフォームのブロック・ダイアグラムだが、これによるとフェイズ1ではInfiniBandのHCAは、PCI-X対応の拡張カードとしてサーバに実装されることになっている。フェイズ2になるとInfiniBandのHCAはマザーボード上に実装されるが、以前のようなチップセット(メモリ・コントローラ)と一体となるような強い結びつきではなく、PCI Expressにぶら下がる1つのI/Oブリッジという位置付けでしかない。もはや、すべてのI/OがInfiniBand HCAを経由するという姿はここにはない。少なくとも、サーバ・プラットフォームにおいても、オンボードでチップ間の相互接続という役割を担っているのはPCI Expressであり、PCI ExpressこそがPCIバスの後継となっている。ちょうどクライアントPCにおいて、外部機器を接続するインターフェイスがUSB 2.0であるように、サーバにおいて外部機器を接続するインターフェイスがInfiniBand、という位置付けに変わってしまったのである。

大きな図へ
InfiniBandのブロック・ダイアグラム
IDF Fall 2001で公開されたInfiniBandのブロック・ダイアグラム。InfiniBandは、フェイズ1でPCI-X対応の拡張カードとして、フェイズ2で3GIO(PCI Express)で接続されたI/Oブリッジという形で提供されるように計画が変更された。

 この間、IntelはInfiniBandについて、決して冷淡だったわけではない。当初のスケジュールからは遅れに遅れながらも、2001年1月にはホスト・チャネル・アダプタ(HCA)とInfiniBandスイッチ、ターゲット・チャネル・アダプタのサンプルの出荷を始めている(Intelの「InfiniBand製品のサンプル出荷に関するニュースリリース」)。また、IDFでは必ずといっていいほど、セッションと展示会の双方で、InfiniBandについて時間と面積が割かれていた。にもかかわらず、ついにInfiniBand関連半導体の開発を中止することになったのはなぜだろうか。

InfiniBand関連製品の中止の理由

 この理由について、海外の報道では、多数のベンダがInfiniBand製品のリリースを予定するなどInfiniBandをとりまく環境が成熟しつつあり、Intelが製品開発をしなくても良くなっていること、IntelはPCI Expressのようにチップセットに統合するI/O技術に専念すること、の2点を挙げている。しかし、これも変な話で、もしそうならIntelがイーサネット・コントローラの開発を続ける理由などなくなってしまう(ギガビット・イーサネット・コントローラには、Broadcomなど開発・製造ベンダがIntel以外に存在する)。Intel以外のベンダからInfiniBand対応の半導体が入手可能になるであろうことは本当だろうが、それとIntelがInfiniBand対応の半導体開発から手を引くことは、別の問題だと思えてならない。

 下図は1999年秋のIDF Fall 1999で公開されたNGIO(当時)の開発ロードマップだが、この時点で開発スケジュールが順調だったことを示している。しかし、図で1999年末から2000年冒頭を予定していたサンプルの出荷は、上記のように2001年1月にずれ込んだ。そして2000年内を予定していた製品の出荷は、2002年半ばの現時点においても行われていない。このような製品出荷のメドさえ立たないスケジュールの遅れこそ、InfiniBand対応の半導体製品の開発から撤退する真の理由ではないだろうか。

大きな図へ
NGIOの開発ロードマップ
IDF Fall 1999で公開されたNGIO(InfiniBand)の開発ロードマップ。予定よりもかなり遅れていることが分かる。

新しいI/O技術のボトルネックはソフトウェア・サポート?

 すでに述べたように、InfiniBandは極めて野心的なプログラムである。そうであるが故に、InfiniBandは非常に高度かつ複雑で、ハードウェアのインプリメント(実装)やソフトウェア・サポートが難しい。それを端的に物語る1つの例が、InfiniBandのホスト・インターフェイスだ。というより、InfiniBandの規格には、ホスト・インターフェイスの標準が定められていない。PCI-XやPCI ExpressのようなほかのバスにHCAをぶら下げることもアリなら、メモリ・コントローラとHCAを一体化することもアリなのである(実際、InfiniBandの初期にはメモリ・コントローラ一体型の構成が推奨されていた)。

 例えばIEEE 1394USBには、標準的なホスト・インターフェイスが存在する。IEEE 1394なら「OHCI(Open Host Controller Interface)」、USBでは「UHCI(Universal Host Controller Interface)」「OHCI」、そしてUSB 2.0のHigh Speedモードをサポートする「EHCI(Enhanced Host Controller Interface)」といったものだ*1。こうしたホスト・インターフェイスの標準が存在するため、これらのインターフェイスは、基本的に1つのドライバで動作する*2。どのようなメーカーのIEEE 1394ホスト・アダプタであろうと、基本的にはシステムにインストールしてWindowsが起動すれば、OSが内蔵するOHCI対応のドライバが自動的に組み込まれる。これはIEEE 1394ホスト・コントローラがOHCIに準拠しているおかげだ(一部、ビデオ編集専用のアダプタの中には、あえてOHCIに準拠しないものも例外的に存在するが)。

*1 OHCIとUHCI、EHCIは、いずれも各種ホスト・コントローラ(ホストつまりPC側に搭載されるI/Oコントローラ)とPCの間のインターフェイスを定めた規格である。コントローラ/OS/PCのベンダらによって策定された。
 
*2 現実には、OHCIやUHCI、EHCIに準拠のホスト・コントローラでも、その細かい実装の違いにより、個別のドライバが必要とされる場合もある。しかし、それでも標準のOHCI/UHCI/EHCIドライバをわずかに変更するだけだ。

 しかし、このような標準の存在しないInfiniBandでは、メーカーあるいはホスト・コントローラごとにデバイス・ドライバを用意しなければならない。これは、PC的な観点からするとマイナスでしかないが、ソフトウェア・サポート力を持つ大手サーバ・ベンダなら、逆に腕のふるいどころの多いインターフェイス、ということになる。実際には大手サーバ・ベンダは独自にInfiniBand対応製品を開発し、ソフトウェア・サポートを自ら行う姿勢でいる。一方で、Intelは自社のチップセットにInfiniBandを組み込むことで、規格上の標準がなくとも、デファクト・スタンダードが作られるハズ、というのが筆者が想定したInfiniBandのソフトウェア・サポートであった。だが、あまりにも複雑なことと、標準的なホスト・インターフェイスの欠如で、ソフトウェア・サポートが未だに追いつかない、という状況を生み出してしまった。ただでさえリリースが遅れているWindows .NET Serverが、いつInfiniBandをサポートできるのか予想さえできない。InfiniBandがチップセットに直接統合されるのではなく、PCI Expressの先に接続されるものとなったことで、InfiniBandのソフトウェア・サポートは現状のSCSIホスト・アダプタやRAIDコントローラと同じような形(メーカーあるいはコントローラごとに独自のドライバで対応)にならざるを得ないと思われるが、それにしても現在のところ先が見えていない。

 新しいI/O技術にとって、ソフトウェア・サポートがボトルネックとなって製品化が遅延するのは、InfiniBandに限った話ではない。USB 2.0も、対応チップができてからドライバ・サポートが提供されるまで、長い時間かかった。逆に、HyperTransportやシリアルATA、PCI Expressが、ソフトウェア・モデルでは既存のI/O技術を継承し、新たなソフトウェア・サポートを必要としないようになっているのは、開発スケジュールにおけるソフトウェア・サポートのボトルネックを回避するためだといって良いだろう。

Intel撤退の影響は?

 では、IntelがInfiniBandの半導体開発から撤退することの影響はどうなるのだろうか。過去にIntelがサポートを表明しておきながら、キャンセルしたものとしては、IEEEE 1394が挙げられる。最近になってチップセット・ベンダのSiSがサウスブリッジ・チップでIEEE 1394を標準サポートするといった動きが見られるものの、次世代の主力ストレージ・インターフェイスになる、といったイメージからはほど遠くなってしまったのは間違いない。実際、コンシューマ向けのPCでは、IEEE 1394をサポートしたPCがかなり増えているにもかかわらず、USBに比べてIEEE 1394を採用した周辺機器の数は少ない。IEEE 1394の場合、Intelがサポートをキャンセルしたことで、かなり盛り下がったことは否めない。

 IntelがInfiniBand対応の半導体開発から撤退したことは、InfiniBandの普及に対して決してプラスの影響を与えることはないだろう。半導体の提供というだけでなく、相互接続性の検証(互換性を検証するプラグフェスタの開催など)という点でもIntelが欠けたことの悪影響があるハズだ。しかし、IEEE 1394と異なり、InfiniBandはIntelが自ら開発した、Intelにルーツを持つ技術である。IntelがInfiniBandに正面からぶつかるような、競合技術の確立に動くことは考えにくい。PCI Expressの存在を考えれば、InfiniBandがNGIOと呼ばれていたころよりは応用分野は狭まるだろうが、サーバの重要なI/O技術として徐々に、ゆっくりと広まるのではないだろうか。記事の終わり

  関連リンク 
InfiniBand製品のサンプル出荷に関するニュースリリース
仕様書のダウンロード・ページ
 
 「System Insiderの連載」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間