IBMのPOWER7 HUB Module

IBMのBlue Watersシステムの計算ノード間の接続構成は、富士通のTofuとはまったく異なる。3Dトーラスで10万ノードを接続すると、立方体としても一辺が46ノード程度になる。したがって最も遠いノードとの通信には各次元で約23個のICCを通過しなければならない。これに対してBlue Watersでは数個のHUB Moduleを経由するだけでシステム内のどのノードでも到達できる構成となっている。

IBMのPOWER7 HUB Moduleについて発表するBaba Arimilli氏

Blue Watersの最小の構成単位はHPCノードと呼ぶ2Uサイズの薄型サーバで、この中に4個のPOWER7を搭載するMCMと今回発表されたHUB Moduleのペアを8組収容している。そして、4個のHPCノードのまとまりをスーパーノードと呼んでいる。

POWER7 HPCシステムの階層構造

そして複数のスーパーノードの集まりがシステムとなる。次の図のように、IBMのHPCノードはPOWER7 MCMとHUB Moduleが1対1に接続されたユニットが8個あり、さらに8個のHUB Module間はLLリンクで1対1に完全接続されている。そして、各HUB Moduleからはスーパーノード内の他のHPCノードとの接続を行うLRリンク群と、他のスーパーノードとの接続を行うDリンク群が出ている。

IBMのHPCノードの構造

HUBチップは各POWER7 CPUチップに対してそれぞれ24GB/s×2のバンド幅のリンクを持ち、HPCノード内の他のHUBチップに対してもそれぞれ24GB/s×2のLLリンクを持っている。そしてスーパーノード内の他の3つHPCノードの各HUBチップに対して6bit×2の幅で10Gb/sの伝送速度のLRリンクが合計24本ある。さらに、他のスーパーノードとの接続のための16本のDリンクがあり、これは12bit×2の幅で10Gbpsの伝送速度である。また、HUBチップからは3本のPCI Expressが出ており、これらのバンド幅を合計するとHUBチップを出入りする総情報転送速度は1.128TB/sという膨大なバンド幅となる。

HUBチップのブロックダイヤグラムと各ポートのバンド幅

HUBチップの中で通信プロトコルを担当するのはHFIと呼ばれるブロックであるが、このブロックはスパコンでは一般的なMPIに加えてGlobal Shared Memory(GSM)とIPをサポートしている。GSMはHPCSプロジェクトでIBMが開発しているX10などのPGAS(Partitioned Global Address Space)言語をサポートするグローバルアドレスの処理機能で、ハードウェア的にはNMMU(Network MMU)と書かれたブロックでアドレス変換を行っていると考えられる。PGAS言語は、今後、プログラム開発の容易性の観点から重要度を増すと思われるが、「京」スパコンプロジェクトでは開発ターゲットに入っておらず、心配なところである。

当然であるが、HFIは富士通のICCと同様にRDMAをサポートしている。HFIのRDMAは通常のメモリ-メモリのDMAに加えてメモリ-FIFOの通信を行うHalf RDMA、そしてターゲット側でFIFOからメモリへの書き込みをアトミックに行うSmall RDMAと、Small RDMAを並列に実行するGUPS RDMAという動作モードを持っている。GUPS RDMAはその名前から見て、暗号解読アプリをモデル化したといわれるHPC ChallengeのRandom Accessベンチマークの性能向上を狙った機能と考えられる。また、CAUと書かれたユニットは集団通信などをサポートするブロックで、レイテンシの長い集団通信の高速化を行う機構である。

データの転送を担当するISR(Integrated Switch Router)は3GHzで動作する56×56のクロスバと説明され、少なくともこの部分は3GHzクロックであり、312.5MHzという富士通のICCの10倍に近いクロックで動いている。

IBMのHUBチップの諸元とチップのレイアウト図

HUBチップは、POWER7 CPUと同じIBMの45nm SOIプロセスで製造され、富士通のICCよりも1世代進んだプロセスを使っているが、ポート数が多いので、ICCが18.2mm×18.1mmであるのに対して26.7mm×21.8mmの巨大チップである。これは単純な面積比較では1.8倍であり、微細化のレベルの違いを考慮すると3.5倍大きいサイズである。つまり、IBMのインターコネクトでは通信の半径を小さくするためにポート数を増やし、HUBチップの面積にお金をかけているのに対して、富士通のTofuでは通信の半径は大きくなるが、ポート数が少なくインターコネクトチップが小さくなり、かつ、ケーブル接続も規則的となるトーラスを選んだためにこのような結果になっている。

IBMのHUB Moduleの図とMCMの写真

本発表のタイトルとなっているHUB Moduleであるが、この図の右側のように、中央にHUBチップがあり、上下に32個ずつの光通信モジュールをマウントするパッドが設けられたMCMで、左側の絵のように、このHUB Module MCMから直接光ファイバが引き出されるという凄い構造となっている。IBMの発表では明確ではないが、それぞれの光モジュールは10Gb/s×6チャネルで、12bit×16本のDリンクは32個の光モジュールを使い、6bit×24本のLRリンクはそれそれ1個の光モジュールを使い、8個分のLRリンクの光モジュールスペースは空きになっていると思われる。

この解釈が正しいとすると、10Gbpsの12芯(送り6bitと受け6bit分)光ファイバを56本HUB Moduleから引き出していることになる。このPOWER7 HUB Moduleは他社に例を見ない高密度の光インタフェースを持つモジュールであり、Blue Watersシステムのバックボーンとなるものである。

なお、各HUBチップからDリンクが16本出ているので、1つのスーパーノードからは512本のDリンクが出ている。これで直接接続できるのは最大513スーパーノードであり、513×4×8×4=65664個のPOWER7チップを含むシステムが作れる計算になる。POWER7各CPUチップのピークFlopsは256GFlopsであるので、このインターコネクトで最大16.8PFlopsまでスケールアップ可能となっており、10PFlops程度と言われるBlue Watersの規模をカバーしている。

このインターコネクトでは、異なるスーパーノード間で通信を行おうとすると、それらのスーパーノード間を接続するDリンクを持つHUBチップまで接続する必要がある。しかし、スーパーノード内では各HUBチップはLRリンクで直結されているので、どのPOWER7 CPUからも2個のHUBチップを経由すれば任意のDリンクに到達できる。したがって、最大4個のHUBチップを経由すればシステム内のどのPOWER7チップとも通信できるという通信半径の小さい構造となっている。