「InfiniBandの現在」では、規格としての歴史と現状、今後の動向をまとめて紹介している。大半の読者にとっては「InfiniBandって何?」というところだろうが、僚誌クラウドWatchをご覧になっておられる読者の中には「何で今さら」という方も居られるかもしれない。
 そう、InfiniBandという規格は、1999年に作業が始まり、2000年に最初の規格策定が行われたという「えらく古い」規格なのである。 「InfiniBandの現在」記事一覧汎用的なInterconnectへ進化しつつあるInfiniBandの成り立ちは?ラック間やサーバー間で2.5GT/sの転送速度を実現する「InfiniBand 1.0」Intelが開発中止、発熱対処に難、サーバー間接続一本化は実現せず低コスト低レイテンシーでHPC向け分散型構成に活路InfiniBandで高性能を実現するMPIの仕様策定と、その実装「MPICH」HBAとMPIとの組み合わせで、低レイテンシーを安価に実現する「RDMA」RDMAでパケットを高速転送する「SDP」、これをiSCSIで実現する「iSER」売上から見るInfiniBand市場規模の推移、急速な世代交代もポイントSDRの2.5GT/secに加え、DDRの5GT/secとQDRの10GT/secを2004年に追加低レイテンシ―かつ高速なMellanox初のDDR対応HCA「InfiniHost III Ex/Lx」「QDR」に初対応のInfiniBand HCA「ConnectX IB」と10GbEカード「ConnectX EN」InfiniBand QDR/Ethernet両対応「ConnectX-2」、324ポートスイッチ「MTS3610」14GT/secの「FDR」と25GT/secの「EDR」、64b66bでのエラー増に「FEC」で対応InfiniBand FDR対応の「ConnectX-3 VPI」カード、HPC向けが中心SANスイッチ向けにInfiniBand市場へ参入したQLogic、撤退の後、2006年にはHCA向けに再参入QLogic、市場シェアを拡大も2012年にInfiniBand部門をIntelへ売却Intel、QLogicから買収したInfiniBandからOmni-Path FabricへInfiniBandが主戦場のMellanox、独自の56GbEでイーサーネット関連を拡大するも……Mellanox、100Gbpsの「EDR」製品を2014年リリース、2017年は売上の中心に4x構成で200Gbps超の「InfiniBand HDR」、Mellanoxが2018年後半に製品化データ量と演算性能増によるメモリ帯域不足解消へ、Gen-Z Consortiumへ参画Gen-Zに加え、競合InterconnectのCAPI、CCIX、CXLにも参画するMellanoxPCIeの処理オーバーヘッドを36分の1に、IBM独自の「CAPI」から「OpenCAPI」へDRAMサポートを追加、メモリI/F統合も考慮した「OpenCAPI 3.1」3種類の接続形態をサポートする「Gen-Z Ver.1.1」HDRは好スタート、InfiniBandのこの先は?#series-contents .current-page { font-weight: bold; }
PCIe 3.0で13μsのオーバーヘッドを0.36μsへと引き下げる「CAPI 1.0」
 今回は脇道に逸れるが、Gen-Zの競合規格の1つとして、前回も少しだけ触れた「OpenCAPI」について紹介したい。“メモリ拡張”という意味では、現時点でGen-Zへの最有力の競合候補の1つと言えるものだ。
 OpenCAPIは元々、「CAPI(Coherent Accelerator Processor Interface)」としてIBMのPOWER8プロセッサーで搭載されたメカニズムである。
最後の行はちょっと手前味噌すぎる気もしなくはない。出典はOpenCAPI ConsortiumプレジデントであるMyron Slota氏の\”OpenCAPI and its Roadmap\”(PDF)
 このときはまだ、IBMが開発したPOWER8における独自規格であり、そのメリットも限られたものだった。そして、IBMの説明によれば、このときのCAPIは汎用のアクセラレーター接続用で、PCI Express Gen 3よりも帯域が広く、かつキャッシュコヒーレンシを提供できるというものだった。しかし、事実上の対応製品は、NVIDIAのNVLinkを搭載したGPUと、FPGAボードに限られていた。
 IBMはこのCAPIを利用し、「Sierra」と「Summit」というスーパーコンピューターを構築、ORNL(米オークリッジ国立研究所)とLLNL(米ローレンス・リバモア国立研究所)に納入している。最終的に納入されたSierraとSummitは、IBM POWER9とNVIDIA「Volta(Tesla V100)」の組み合わせだったが、本格納入に先立つアプリケーションの移植などに向け、POWER8に「Pascal(Tesla P100)」を組み合わせたパイロットシステムが2016年あたりから納入され、これがCAPIベースでPOWER8とPascalを接続するかたちとなっていた。
 物理的な意味では、PCI Express Gen 3の配線やPHYをそのまま利用していたが、その上位層は、PCI ExpressではなくCAPI独自のものとなっている。
 ちなみにCAPIを利用した場合のメリットについて、IBMでは処理におけるオーバーヘッドの引き下げとしていた。従来型のSNAP Frameworkを利用し、CPUからGPUへデータを送るのは以下右のような構成となるが、CAPI(とCAPI SNAP)を利用すると、アプリケーションはメモリへ書き込むだけで、その領域を外部のデバイス(GPU/FPGA)を直接参照できるので、右下のように余分な処理は必要なくなるわけだ。
アプリケーションからは、まずデバイスドライバー経由で外部デバイス(GPU/FPGA)のメモリがマッピングされているアドレスを取得し、そこへメモリコピーを行う必要がある。この処理のうちデバイスドライバーだけでおよそ1000命令を消費する
PCI Express経由だと合、メインメモリと外部デバイス(GPU/FPGA)のメモリが完全に分離されていて、CPUコアから直接プロセスが外部デバイスのメモリを操作できない(逆もしかり)が、CAPIではこうした垣根がなくなる
 その結果として、例えばFPGAなりGPUに何か処理を投げ、その結果を返してもらうという処理におけるオーバーヘッドが、従来型では13μsにも及ぶのに対し、CAPIではこれを0.36μs程度まで引き下げることが可能になる、との数字が示されている。
これはCAPIだけが高速と言うわけではなく、InfiniBandでも似たような数字になる。出典はPOWER System CAPI Hardware Acceleration, Montpellier Cognitive Systems LabのAlexandre Castellance氏/Bruno Mesnet氏による\”CAPI SNAP\”(PDF)
倍速化した「CAPI 2.0」のリリースと並行し、「OpenCAPI Consortium」を設立
 そんなわけで、CAPI(CAPI 1.0)は完全にPOWERアーキテクチャの独自規格であったが、これをもう少し汎用化したものが、2016年10月に登場したOpenCAPIである。正確に言えば、IBMは2017年に登場したPOWER9プロセッサーとともに「CAPI 2.0」をリリースする。
 このCAPI 2.0ではInterconnectがPCI Express Gen4 x16(正確には2×PCI Express Gen4 x8)へと切り替わって速度が倍増しているほか、いくつかの新機能(CPU側でのAddress Translation、アクセラレーターからのDMA実行並びにアトミック命令、アクセラレーターからCPU側のスレッドへの通知)が追加されてはいるが、基本的には速度を倍増した「だけ」の仕様である。
 このCAPI 2.0は、CAPI 1.0と同じくIBMの独自仕様となるが、これと並行してIBMはCAPIのオープン化を図り、具体的には前述した2016年10月に「OpenCAPI Consortium」を設立した。創立メンバーはAMD・Dell EMC・Google・HPE・IBM・Mellanox Technologies・Micron・NVIDIA・Xilinxに加え、何とCCIX ConsortiumとGen-Z Consortiumまでが加盟している。
 オープン化ということは、仕様の策定のレベルからConsortium内で行われるという意味であり、理屈から言えば、例えばOpenCAPI対応のデバイスをGen-Zで接続したり、CCIXと相互接続するといったこともあり得るわけで、2者の加盟は、そうした可能性を見据えてのことではないかと思われる。
 ただ、OpenCAPI Consortiumに戦略的なレベルで現状でも残っているのは、Google・IBM・Mellanox Technologies・NVIDIA・Xilinxの5社とWDだけで、ControbutorとしてもMicronが残っている程度。AMD・Dell EMC・HPEの3社とCCIX Consortium・Gen-Z Consortiumはすでに脱退しているようだ。参加してみたものの、メリットが見い出せなかった、というあたりではないだろうか。
独自Interconnectで25GT/secを実現、汎用化も進んだ「OpenCAPI 3.0」
 OpenCAPI Consortiumでは、CAPI 2.0(のドラフト)をベースに、最初のOpenCAPIの仕様となる「OpenCAPI 3.0」を2016年10月にリリースする。もっとも、DataLink Layerこそ、この2016年10月のリリースのものが最終であるが、Transaction Layerに関しては、2017年1月に改訂版であるVersion 1.1がリリースされ、これが最新となっている。
 主な特徴をまとめたのが以下となるが、このうち特筆すべきはPHYがPCI Express 4.0互換の16GT/secから、独自の25GT/secのものに変わった(厳密には両対応で、このあたりはCCIXも似たようなかたちとなっている)ことで、これによってさらなる高速化が可能、というものだ。
3倍、というのはCAPI 1.0(8GT/sec)との比較であって、CAPI 2.0とのものではない
 さらに詳細な説明が以下だ。CAPI 1.0/2.0はPOWERアーキテクチャーと厳密に結び付いた仕様となっていたが、OpenCAPIではこのあたりが完全にアーキテクチャ非依存化され、汎用的な利用も可能となっている。
 このOpenCAPI 3.0では、OpenCAPI側に、メモリとそのメモリを管理するHome Agentという機能を実装することがサポートされている。ただ、この時点でのメモリというのは、主にSCM(Storage Class Memory)であった。
 細かいところでは、CAPI 1.0/2.0で可能だった「PSL(Power Service Layer)」におけるホスト側メモリのキャッシング機能が、OpenCAPI 3.0では落とされているなど、単純にCAPI 2.0をそのまま置き換えたわけではない。
 これはおそらくアーキテクチャ非依存化のために行われた変更と思われる。ただOpenCAPI 3.1では、Standard DRAMをサポートするような変更が施されることになった。次回は、このOpenCAPI 3.1における「OMI(OpenCAPI Memory Interface)」の話を紹介していきたい。 「InfiniBandの現在」記事一覧汎用的なInterconnectへ進化しつつあるInfiniBandの成り立ちは?ラック間やサーバー間で2.5GT/sの転送速度を実現する「InfiniBand 1.0」Intelが開発中止、発熱対処に難、サーバー間接続一本化は実現せず低コスト低レイテンシーでHPC向け分散型構成に活路InfiniBandで高性能を実現するMPIの仕様策定と、その実装「MPICH」HBAとMPIとの組み合わせで、低レイテンシーを安価に実現する「RDMA」RDMAでパケットを高速転送する「SDP」、これをiSCSIで実現する「iSER」売上から見るInfiniBand市場規模の推移、急速な世代交代もポイントSDRの2.5GT/secに加え、DDRの5GT/secとQDRの10GT/secを2004年に追加低レイテンシ―かつ高速なMellanox初のDDR対応HCA「InfiniHost III Ex/Lx」「QDR」に初対応のInfiniBand HCA「ConnectX IB」と10GbEカード「ConnectX EN」InfiniBand QDR/Ethernet両対応「ConnectX-2」、324ポートスイッチ「MTS3610」14GT/secの「FDR」と25GT/secの「EDR」、64b66bでのエラー増に「FEC」で対応InfiniBand FDR対応の「ConnectX-3 VPI」カード、HPC向けが中心SANスイッチ向けにInfiniBand市場へ参入したQLogic、撤退の後、2006年にはHCA向けに再参入QLogic、市場シェアを拡大も2012年にInfiniBand部門をIntelへ売却Intel、QLogicから買収したInfiniBandからOmni-Path FabricへInfiniBandが主戦場のMellanox、独自の56GbEでイーサーネット関連を拡大するも……Mellanox、100Gbpsの「EDR」製品を2014年リリース、2017年は売上の中心に4x構成で200Gbps超の「InfiniBand HDR」、Mellanoxが2018年後半に製品化データ量と演算性能増によるメモリ帯域不足解消へ、Gen-Z Consortiumへ参画Gen-Zに加え、競合InterconnectのCAPI、CCIX、CXLにも参画するMellanoxPCIeの処理オーバーヘッドを36分の1に、IBM独自の「CAPI」から「OpenCAPI」へDRAMサポートを追加、メモリI/F統合も考慮した「OpenCAPI 3.1」3種類の接続形態をサポートする「Gen-Z Ver.1.1」HDRは好スタート、InfiniBandのこの先は?#series-contents .current-page { font-weight: bold; }
大原 雄介
フリーのテクニカルライター。CPUやメモリ、チップセットから通信関係、OS、データベース、医療関係まで得意分野は多岐に渡る。ホームページはhttp://www.yusuke-ohara.com/

InfinityFabricを前提にしたGen-Zに加え、競合InterconnectのCAPI、CCIX、CXLにも参画するMellanox

DRAMサポートを追加した「OpenCAPI 3.1」、メモリインターフェース統合を考慮も、Gen-Z競合にはなり得ず?
▲[期待のネット新技術]の他の記事を見る

関連リンク OpenCAPI Consortium CAPI SNAP OpenCAPI and its Roadmap(OpenCAPI Consortium、PDF) CAPI SNAP(POWER System CAPI Hardware Acceleration, Montpellier Cognitive Systems Lab、PDF)

投稿者 Akibano

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です