横浜で開催されたCool Chips XVにおいて、IBMワトソン研究所のGeorge Chiu氏がBlueGene/Q(BG/Q)について基調講演を行った。学会でマーケティングスライドのような発表をする会社もあるが、IBMの学会発表はその質の高さには定評がある。今回の基調講演もその例に違わず、多くの新しい技術情報が盛り込まれた素晴らしい講演であった。

Cool Chips XVで基調講演を行うIBMのChiu氏

Chiu氏は、BlueGeneプロジェクトを立ち上げた3人の中の1人であり、初代のBlueGene/L、BlueGene/P、そして今回のBlueGene/QとすべてのBlueGeneの開発に中心的役割を果たしてきた人物である。

BlueGene/Qコンピュートチップは18個のプロセサコアと32MBのL2キャッシュ、そしてメモリコントローラと11ポートのネットワークポートとPCI Expressの×8ポートを集積した高密度チップである。

チップには18個のプロセサコアが搭載されているが、1個のコアが不良でもそれを切り離して良品にすることができ、製造歩留りを改善することができるようになっている。そして、17個のプロセサコアの内、計算に使用するコアは16個で、1個はI/Oや通信などの処理を行う。I/Oなどを担当するコアはLinux OSを搭載しているが、16個の計算コアは単純なモニタで動いている。このような使い方をすることにより、計算用コアの処理がI/Oや通信の割り込みなどで邪魔をされて計算時間がバラつくというOSジッタ(OS jitter)をほぼ完全に排除できるという。

プロセサのクロックは1.6GHzであり、チップの倍精度浮動小数点演算のピーク性能は204.8GFlopsとなる。このBG/Qコンピュートチップと富士通の京スパコン用のSPARC64 VIIIfx、その商用機であるFX10に使われるSPARC64 IXfxの諸元を比較すると次の表のようになる。

テクノロジ コア数 L2キャッシュ(MB) クロック(GHz) ピーク演算性能(GFlops) メモリバンド幅(GB/s) 消費電力(W)
BG/Q 45nm 16+1 32 1.6 204.8 42.6 55
SPARC64 VIIIfx 45nm 8 6 2.0 128 64 58
SPARC64 IXfx 40nm 16 12 1.848 236.5 85 110
BG/Qと富士通のSPARC64プロセサチップの比較

富士通のSPARC64 IXfxの2次キャッシュが12MBであるのに対して、BG/Qチップは32MBという大きな2次キャッシュを搭載している。これは面積の大きなSRAMでは無く、IBMのeDRAM技術を使うことで実現されている。

京スパコンではインタコネクトを構成するICCは別チップであるが、BG/Qチップは、5次元のトーラスネットワークを構成するルータを内蔵している。5次元のトーラスであるので5次元の各方向に+側と-側の腕があり10本のポートが必要となる。それに加えて、11番目のポートを持っており、11ポートの内の2ポートはPCI Express 2.0 ×8ポートとしても使用できるようになっている。通常は10ポートを5次元トーラス接続に使い、1ポートをI/Oノードとの接続に使う。各ポートのデータ伝送速度は2GB/sであり、2GB/sの送信と受信を並行して実行できるようになっている。

メモリインタフェースはDDR3-1333を2チャネル持っており、ECCをサポートしている。BlueGeneでは、 DIMMのカードエッジのコネクタは信頼度が低いということで、初代から一貫してDIMMは使わず、ECC用を含めた36個のDRAMチップをCPUと同じプリント基板の表裏に直接はんだ付けしている。

富士通のSPARC64 IXfxとICCチップの消費電力の合計は136Wとなる。SPARC64 IXfxの方がクロックが15.5%高く、インタコネクトのバンド幅もBG/Qの2GB/sに対してICCは5GB/sという違いはあるが、同程度の機能を持つBG/Qチップの消費電力は55Wと半分以下になっている。

BlueGene/Qのコンピュートチップの写真と諸元(出典:Cool Chips XVでのChiu氏の発表スライド)

これとほぼ同じスライドは2011年8月のHot Chipsでも発表されているのであるが、このスライドには大きな追加がある。それは、電源電圧が~0.8Vと明記されている点である。消費電力は電源電圧の2乗に比例するので、電源電圧を0.8Vに下げると、消費電力は1.0Vの電源電圧の場合の64%になる。それ以外にもIBMのSOIプロセスでは通常のバルクプロセスに比べて20%くらい消費電力を減らせるとか、各種、省電力技術を使うとかが組み合わされて55Wが実現されているのであろうが、やはり、BG/Qの消費電力が小さいのは電源電圧を~0.8Vに下げたことが大きく貢献していると考えられる。

しかし、電源電圧を下げるとVtバラつきの影響が大きくなってしまうという問題があり、0.8Vで1.6GHzクロックで動くLSIを作れるというのは大した実力である。

BG/Qのプロセサは組み込み用のPowerENコアをベースにして、4個の倍精度浮動小数点の積和演算を行うSIMDユニットを追加し、毎サイクル8演算を実行できる構成になっている。以前のBlueGeneプロセサでは4演算/サイクルであったので、これは2倍の演算性能向上である。また、PowerENコアは2.4GHzクロックで動作するように設計されているが、BG/Qでは電源電圧を~0.8Vに落とし、クロックを1.6GHzに下げて低消費電力化を図っている。

BG/Qのプロセサコア(出典:Cool Chips XVでのChiu氏の発表スライド)