今回のSC11では、BG/Qのインタコネクトに関する論文が発表され、初めて、インタコネクトの詳細が明らかにされた。
これまでのBG/L、BG/Pのインタコネクトは3次元トーラスであったが、BG/Qのインタコネクトは5次元のトーラスとなっている。5次元のトーラスを採用した理由は、以下のように述べられている。
- 3次元トーラスと比較して、バンド幅が増加し、ノード間の距離も短くなる。従って、通信速度が向上する
- トーラスは、大きなマシンを独立の小さなトーラスに分割して使用することが容易である
- トーラスは、ノード間の接続の多くをミッドプレーン内の電気配線で行うことができ、ミッドプレーン間をつなぐ光リンクの本数が減り、コストを下げられる
3次元から5次元のトーラスとなったことにより、各チップからのリンクの本数は6本から10本に増加しただけでなく、リンク自体のバンド幅も向上している。BG/Lのリンクの転送速度は175MB/s、BG/Pは425MB/sであるが、BG/Qのリンクは2GB/sとなり、BG/Lと比較すると11.4倍、BG/Pと比較しても4.7倍のバンド幅となっている。
BG/QのA、B、C、D、E軸の5次元のトーラスであるが、1枚のノードカードに含まれる32枚のコンピュートカードは2×2×2×2×2の5次元の立方体になっており、この立方体の内部の配線はノードカードのプリント配線で実現される。そして、ミッドプレーンは、この立方体をA~D軸方向に2×2×2×2配置して、全体として4×4×4×4×2の直方体とする。このミッドプレーン内の接続も電気である。
そして、20PFlopsのSequoiaシステムの場合、A~C軸方向に4ミッドプレーン、D軸方向には3ミッドプレーンを配置し、全体で16×16×16×12×2の直方体となっている。これらのミッドプレーン間の信号は、ノードカード内のリンクチップと光モジュールを経由して光ファイバで接続されている。
リンクチップは光モジュールとのインタフェースに加え、光通信のための信号のエンコード/デコードや伝送エラーの検出や訂正、故障した光ファイバの切り替えなどの機能を持っている。
そして、BG/Qのインタコネクトの遅延時間は、ショートメッセージを隣のノード(コンピュートカード)に送る場合は0.62μs、13ホップ離れたノードに送る場合でも1.17μsである。ただし、ミッドプレーンをまたぐ場合は、リンクチップと光モジュールとファイバの遅延時間が加わる。隣接ノード間の通信スループットは、メッセージのサイズが4KBの場合は17GB/sで、1MBのメッセージの場合は35.4GB/sが得られている。5次元すべてで送信と受信を行った場合のピークバンド幅は40GB/sであるので、1MBのメッセージの場合は88.5%のスループットが得られている。
各BG/QチップからはA~E軸の10本のリンク以外にもう一本のリンクが出ており、一部の計算ノードではこのリンクでI/Oカードへの接続を行っている。I/Oカードに直接の接続を持たないBG/Qチップがファイルアクセスなどを行う場合は、5次元トーラスを通って、I/Oカードが接続されているBG/Qチップまで行き、そこからI/OカードとPCIe経由でファイルをアクセスするということになる。
BG/LやBG/Pでは3次元トーラスの他にリダクション(全ノードの値の合計を求めるなどの処理)用のツリー構造のネットワークと、バリアや割り込み用のネットワークを持っていたが、BG/Qではこれらの専用ネットワークは物理的には存在せず、5次元トーラスを伝送路として使う論理的なネットワークとして実現されている。
IBMと富士通が相談したとは考えられないが、BG/Qと「京」の設計には、共通点が多い。まず、プロセサコアであるが、両社とも新たにSIMD演算を導入し、1サイクルに4つのFMA(Floating Point Multiply Add:浮動小数点積和計算)を実行できるようになっている。そして、プロセサチップは、コア数を多くしてクロックは低めという設計になっている。
また、インタコネクトもBG/Qは5次元トーラス、「京」は6次元メッシュ、トーラスと従来の3次元トーラスに比べて次元数を高くとった設計となっている。そして、リダクションなども専用のネットワークを持つのではなく、メインのトーラスネットワーク上に仮想ネットワークとして実現している。さらに、浮動小数点数のリダクションは、BG/L、BG/Pでは、1回目は最大値の桁を求め、2回目に桁を揃えてリダクションを行うという2パスの処理であったが、BG/Qも「京」もこれを1パスで行う方式となっている。
もちろん、異なる点も多く、BG/Qが1筐体に1024プロセサチップを詰め込んでいるのに対して、「京」は96チップと筐体あたりのチップ数は10倍違う、「京」ではプロセサとインタコネクトは別チップであるのに対して、BG/Qでは両方を1チップにまとめているなどの点は大きく違う。また、BG/Qではミッドプレーン間は光伝送を行っているが、「京」では筐体間も含めて全ての信号の伝送を電気で行っているのも異なる点である。
SC11のBlue GeneのBoFで聞いたところでは、現状では、IBM社内の基本ソフトウェア開発部門でも、最大でも4筐体のシステムしか使えていないということで、2012年の前半に20PFlopsのSequoiaが動くという感じではなかった。従って、筆者としては2012年6月のTop500では「京」の1位が継続するのではないかと思うが、11月のTop500では、Sequoiaがアメリカに1位を取り戻す可能性が高いと思われる。