横浜で開催されたCool Chips XVにおいて、IBMワトソン研究所のGeorge Chiu氏がBlueGene/Q(BG/Q)について基調講演を行った。学会でマーケティングスライドのような発表をする会社もあるが、IBMの学会発表はその質の高さには定評がある。今回の基調講演もその例に違わず、多くの新しい技術情報が盛り込まれた素晴らしい講演であった。
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と半分以下になっている。
これとほぼ同じスライドは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に下げて低消費電力化を図っている。