HPC-ProServer DPeC410x
GPGPU対応のPCI Expressスロット拡張用の外付け筺体
最大16基のGPGPUをPCI Express Gen2 x16バスに搭載可能
最大8台のサーバと接続可能
Tesla M1060, Tesla M2050に対応
1400w x4 冗長化電源対応、冗長化冷却ファン対応
HIC (Host Interface Card) NVIDIA single-port HIC対応
HPCサーバ環境とのシステムインテグレーションサービスを実施
当日4時間の障害切り分けオンサイト保守を3年間無償提供
HPC-ProServer DPeC410x (GPGPU x16)
高密度・高自由度のGPGPU外付け筺体
海外では資源探査や気候予測、金融工学など多くの分野でGPGPUクラスタ計算機の現実的な利用が盛んなようです。そこで使われるGPGPUクラスタに要求れる課題は、速い計算速度、低い消費電力、高い実装密度、GPGPUの構成変更の自由度、高速なネットワーク、使い易い利用環境、優れた保守サービスなど、多岐にわたります。GPGPUクラスタは通常のクラスタによりも構造が複雑になるため、より多くの課題を達成することが求められます。
これらの課題を普通のサーバを使ったGPGPUクラスタで実現することは難問です。そのため、これらの課題を解決できる方法が求められています。それに応じて開発された製品が 「HPC-ProServer DPeC410x」 (以下DPeC410xと略) です。この製品を用いてGPGPU並列計算機を構築すると、上記の課題を一挙に解決し、最先端のGPGPU技術を安心して利用できる環境が実現できます。

1台のサーバに対して何台のGPGPUを接続することが最も適しているのかということは、ユーザが利用するアプリケーションや処理内容によって異なります。そのため効率良くGPGPUを使用するためには、サーバに接続するGPGPUの数をいつでも簡単に変更できる仕組みが必要です。DPeC410xこの仕組みを備えたGPGPU専用の外付け筺体です。
DPeC410xは16基のGPGPUを内蔵でき、それらのGPGPUと外部の8台のサーバの接続パターンを自由に変更できる仕組みを持っています。接続できる基本パターンは次の3種類です。さらにこれらの基本パターンは、同時に異なるパターンを組み合わせることも可能です。
・ サーバとGPGPUを1対1接続、このセットを8組搭載可能
・ サーバとGPGPUを1対2接続、このセットを8組搭載可能
・ サーバとGPGPUを1対4接続、この4セットを4組搭載可能
(同じ筺体に内に異なるセットを同時に搭載でき、柔軟な構成が可能)

1台のサーバに複数のGPGPUを接続する場合の問題点は、同じPCI Expressバスに複数のGPGPUを接続しているため、接続するGPGPUの台数に反比例してPCI Expressの帯域幅が減ることです。PCI Express 2.0 x16の帯域幅は8GB/sです。これを複数のGPGPUが共有すると帯域幅は次のように減少します。
・ 1対1なら帯域幅は8GB/s
・ 1対2なら帯域幅は4GB/s
・ 1対4なら帯域幅は2GB/s
もし、アプリケーションがPCI Expressの帯域幅に律速される性質を持つ場合は、サーバに接続するGPGPUの数を、アプリケーションやジョブの種類毎に調査しておく必要があります。そして、その情報に合わせてシステムの構成を変えられるようにしておくことが理想です。
DPeC410xは、GPGPUを専用のカートリッジに入れることで、剥き出しのGPGPUを保護し、安全に取り扱えるようにし、筺体への出し入れをワンタッチ化し、大型のヒートシンクで熱問題を封じ込め、独立した電源スイッチの実装に電気的に独立性を高めるなど、多くの機能を備えています。

さらに、DPeC410xは本体内部のPCI Expressバスの経路を電子的に変更する機能を備えています。この機能によって、PCI Expressの配線をソフト的に変更することができ、8台のサーバと16基のGPGPUの接続パターンをきめ細かく調整できます。
このようにHPC-ProServer DPeC410xは、利用するアプリケーションによってサーバとGPGPUとの最適な組み合わせを、柔軟に変更することのができます。
GPGPUを利用するメリットは単位演算性能毎の消費電力の少なさです。しかし、実際のシステムでそれを実現するためには、ホストサーバを含めたシステム全体の消費電力の低減が必要です。すなわち1台のサーバにより多くのGPGPUを搭載する必要があります。
しかし他方でGPGPUは消費電力が大きく、普通のサーバに多くのGPGPUを搭載すると電源問題が発生します。さらに、GPGPUは発熱が大きいため、搭載する台数が多くなると冷却問題も発生します。一般的なサーバには多くのGPGPUを搭載するためには十分な電源容量と冷却機構が必要です。
このような実装上の問題を解決するため、HPC-ProServer DPeC410xは、GPGPUをサーバから独立した専用筺体に搭載するスタイルを採用しています。さらにGPGPU専用として設計できるため多くの便利な機能を搭載しています。次にDPeC410xの主な特徴を示します。
・ 3Uのラック筺体に16基のGPGPUを搭載、高い実装密度を実現
・ 8個のPCI Express用コネクタを搭載、8台のサーバを接続可能
・ 8台のサーバと16基のGPGPUを1:1、1:2、1:4、の3パターンで接続可能
・ 内部のPCI Expressバスを4系統あるいは8系統にソフト的に分割できる
・ PCI Express Gen 2.0 x16に対応できる
・ GPGPUをカートリッジ化し、扱いを簡単にし、信頼性を向上させる
・ GPGPUカートリッジに電源スイッチを搭載しホットススワップ可能にする
・ 大容量 (3600W) の冗長化電源を搭載し安心できる電源環境を実現
・ 強力な冗長化ファンを搭載し熱問題を払拭
・ 組み合わせて利用するサーバと徹底的なバリデーションを実施、安定動作を実現
・ 納入日から即利用可能な完成度の高いシステムを提供
・ GPGPU並列計算機全体をカバーするオンサイト保守体制を整備
GPGPU専用筺体として不可欠な機能は凡そ網羅されています。これ以上のGPGPU用のソリューションを探しても他には見当たらないほど充実しています。次ではこれらの機能を詳しく紹介します。
DPeC410xは3Uの筺体に16基のGPGPU搭載し高い実装密度を実現しています。下の写真はDPeC410xの正面です。10基のGPGPUカートリッジが整然とならんでいます。カートリッジ前面には黄緑色の四角い電源スイッチがあります。このスイッチを押すと電源が切れます。

次の写真はDPeC410xの背面です。背面にも同じカートリッジが6基並んでいます。カートリッジを両面に実装することで16基のGPGPUを搭載でき高い実装密度を実現しています。

上写真の左側にはPCI Express Gen2 x16のコネクタが8個あります。このコネクタに最大8台までのサーバを接続できます。
DPeC410xの大きな特徴は、本体内部のPCI Expressバスの回路を電子的に変更できる点です。具体的には、1個のコネクタと2基のGPGPUソケットが2組セットになっています。両者を独立して使うと1個のコネクタと2基のGPGPUが接続されたセットが2組となり、両者を電子的に接続して使うと1個のコネクタと4基のGPGPUが接続されたセットが1組として利用できます。
さらにDPeC410xにはこの組みが4セット搭載されています。これら4セットは個々に設定を変更でき、様々なパターンの接続が可能です。
実際に各種の計算リソースがクリティカルな条件の下でGPGPUを効率良く動かそうとすると、あるいは、共同利用環境でGPGPUを利用しようとする場合に、DPeC410xが備える上記の機能は欠かせないものになります。
GPGPUを追加する場合は、GPGPUはカートリッジに搭載されてメーカーから届きます。そのカートリッジを本体に差し込み前面の電源スイッチを押すだけで搭載できます。増設も簡単です。
GPGPUを交換する場合もシステムから切り離し、該当カートリッジの電源スイッチを切るだけです。このようにDPeC410xを利用すると、GPGPUの増設や構成の変更が簡単にできます。

写真は側面カバーを取り外した状態のカートリッジです。内部にGPGPUカードが搭載されている様子がわかります。前面の四角が電源スイッチです。背面には本体側のバックプレーンと接続するための集合コネクタが実装されています。このコネクタを経由して電力の供給と、PCI Express Gen 2.0 x16とのデータ通信が行われます。
DPeC410xとサーバを接続する場合は、本体の背面にある8個のPCI Expressコネクタ (iPASSポート) と、サーバ側のPCI Expressバスに実装したHost Interface Card (HIC)との間をiPASSケーブルで結合します。サーバ側に搭載するHost Interface Card (HIC) はGPGPUで使用することを前提としてNVIDIA社でサポートされている製品を採用しています。

GPGPUの利用で最大のボトルネックはGPGPUとサーバ間のデータ転送帯域幅です。このボトルネックを最小にするため、HPC-ProServer DPeC410xではサーバからPCIeバスを経て、HIC、iPASSケーブル、DPeC410xのバックプレーン、GPGPUカートリッジ、GPGPUカードまでの全てのパスをPCI Express Gen 2.0 x16に対応させています。その結果、双方向で8GB/sの理論転送速度を誇っています。
複数のGPGPUと1台のサーバを接続する場合は、PCI Express 2.0 x16バスを共用していることに注意が必要です。1対1接続の場合は双方向で8GB/sの帯域幅が得られますが、1対2の場合は4GB/sの帯域幅に減少し、1対4の場合は2GB/sの帯域幅まで減少します。
・ 1対1なら帯域幅は8GB/s
・ 1対2なら帯域幅は4GB/s
・ 1対4なら帯域幅は2GB/s
しかし、アプリケーションの種類によっては、ホスト機とGPGPUとの間の通信が他のGPGPUの通信と同期せず、しかも間歇的な通信をする場合は、複数のGPGPUをサーバと接続した場合でも、8GB/sの帯域幅を利用できます。
このようにPCI Expressの性能は、サーバに搭載するGPGPUの数とアプリケーションの挙動に左右されます。
GPGPUデバイスは大きな電力を必要とします。下写真の左側には1400Wの電源モジュールが4基搭載されています。電源はN + 1 の冗長化構成を採用し3600Wの総電源容量を実現しています。これを16基で分割するとGPGPU一台あたり225Wの十分な容量を提供することができます。
しかもN+1の冗長化構成の電源を採用しているため、もし電源の1個が故障しても、残る3基の電源モジュールのみで運用を継続できます。
電源は写真のように冗長化され、さらにホットスワップにも対応しています。システムが動作中に電源に障害が発生してもシステムを停止させることなく交換が可能です。

GPGPUは自身ではファインを持たないパッシブ式の冷却です。そのためホスト側に強力なファンが必要です。DPeC410xは16基のGPGPUの搭載を前提としているため、大流量のファンを搭載しており、発熱量の大きなGPGPUを強力に冷却できます。
ファンは写真のように冗長化され、さらにホットスワップにも対応しています。システムが動作中にファンに障害が発生してもシステムを停止させることなく交換が可能です。

GPGPUには写真のような大型のヒートシンクが搭載されています。上の大型ファンと併せて使うことで熱問題を払拭できます。

DPeC410xには専用のIPMIポートを持ち、電源、温度、ファンなどシステム内の各種デバイスのステータスを外部からモニターできる端子を持っています。
HPC-ProServer DPeC6100 (以下DPeC6100と略) はDPeC410xと共に利用するために開発された2CPU Xeonサーバを2U筺体に4台も高密度搭載できる専用サーバです。下の写真はDPeC6100を背面から写したものです。右側に4台のサーバを上下左右にわかれて搭載しています。
4台のサーバはそれぞれPCI Express 2.0 x16スロットを1基持ち、ここにGPGPU専用のHost Interface Card (HIC) を搭載し、iPASSケーブルでC410xのPCI Express用のiPASSポートに接続することができ、GPGPUのホスト計算機として機能します。各サーバには最大で4基のGPGPUを接続することができるので、DPeC6100全体では16基のGPGPUまで接続することができます。
DPeC6100にはオプションでInfiniBand QDR HCA Mezzanine Cardをサポートしています。このカードを利用することで、複数のGPGPUサーバをネットワーク並列接続することができ、ネットワーク並列型のGPGPUクラスタを構築することができます。
ネットワーク並列型のGPGPUクラスタは、ホストサーバのPCIeバスにGPGPUだけでなく、InfiniBandを用いて通信するため、PCIeバスの帯域幅に対する要求が厳しくなります。そのためアプリケーションの動作に応じて、サーバに接続するGPGPUの数を調整することで、PCIeのボトルネックやネットワーク通信のボトルネックを改善することができます。
しかし共同利用環境下にあるネットワーク並列型GPGPUクラスタを頻繁にシャットダウンすることは望ましくありません。ところがDPeC410xは上記のような理由によるGPGPU構成の変更や交換の必要が生じても、システムをシャットダウンすることなく構成変更が可能です。

DPeC6100に内蔵する4台のサーバはCPUやメモリ、PCIバスなど計算機として中枢部分だけを搭載しています。それ以外の電源やハードディスク、冷却ファン、管理ツールなどの周辺部品は本体側に搭載しています。それらを4台のサーバで共有する仕組みです。
電源やファン、ハードディスクなどは回転部品であり、小型のサーバに搭載すると信頼性の確保が難しくなります。そこで、回転部品だけを共用化し集中管理することで信頼性の向上を図り、高密度化と信頼性の両立を図っています。
次の写真はDPeC6100の正面です。DPeC6100には3.5インチディスクを12基搭載できるタイプの製品と、2.5インチディスクを24基搭載できるタイプの製品が用意されています。
3.5インチタイプは12基のディスクを4台のノードに3基づづ割り当てることができ、通常のサーバとしての利用できます。
2.5インチタイプは24基のディスクを4台のノードに6基つづ割り当てることができるので、RAID0構成を設定することができ、高速なローカルのスクラッチディスクが利用できます。特に巨大なデータをローカルディスクに一時的に格納し、GPGPUを用いて分散並列処理するような用途に適しています。

DPeC410xにはGPGPUクラスタムを安定動作させるための包括的な保守サービスが提供されています。具体的には、DPeC410xと組み合わせて使用するGPGPUカード、HPC-ProServerシリーズのサーバや接続ケーブル、ストレージ、ラック、無停電電源装置などシステム全体についての一貫した保守サービスが行われてます。
このサービスによって部分的な障害に端を発した連鎖的な障害でもサービスは途切れません。連続的な障害切り分けサービスによってシステムレベルで障害箇所を特定し、一貫した部品交換サービスによって迅速にシステムを復旧させることができます。例えば、GPGPUの不具合からシステムをリブートした際に一緒に再起動したサーバが隠れていた不具合を顕在化させた場合でも、同じオンサイト保守サービスのスタッフが継続してフォーローアップすることで短期間のうちに障害を一掃することができます。
責任の所在が分散したマルチベンダーシステムでは一旦このような問題が発生すると、全ての障害が復旧するまでに長い期間を要する可能性があります。しかし、DPeC410xを採用した弊社のGPGPUクラスタではこのようなことは起こりえません。