ミッションクリティカル分野での運用を前提としたエラー対策

POWER7は広い用途をカバーするCPUとして設計されているが、運用が止まると多くの人が迷惑をこうむり新聞に取り沙汰されるような社会インフラのシステムに使われることを念頭に置いて設計されている。このため、メモリエラーの対策も厳重であるが、図7に示すようにプロセサのロジック回路に対してもエラーを検出する回路を設け、エラーが検出された場合には直前のエラーが無かった状態まで戻って命令を再実行する機能を備えている。近年では断線やトランジスタの破損というような固定的な故障よりも宇宙線に起因する中性子のヒットの方がエラー頻度が高いので、命令の再実行は有効なエラー回復方法であり、富士通のSPARC64でもこの方法を採用している。

また、POWER7では命令の再実行でもエラーから回復できない場合には、断線やショート、あるいはトランジスタの故障のような固定故障とみなし、故障したプロセサコアのアーキテクチャ状態を他のプロセサコアにコピーして実行を継続するCP Sparingという機能を持っている。この機能はPOWER7のコア同士だけではなく、POWER6コアからPOWER7コアに状態をコピーして実行を継続できるとのことである。

同一チップ内の他のコアにコピーする場合は簡単であるが、POWER6からPOWER7のようにメモリ空間も異なるサーバノード間での移動に関してはメモリのコピーや使用しているMACアドレスの引き継ぎなどが必要となるが、これらは仮想化でのライブマイグレーションで必要な機能であり、仮想化の機構を使って実現できると思われる。

図7 POWER7の命令リトライによる信頼性の向上

そして、メモリに関しては1個の×8 DRAMチップの全ビットが故障してもエラー訂正が可能なChip Kill機能を持ち、メモリチャネルに故障ビットが発生しても代替ができるなど、部品が故障してもシステムダウンにならず運用を続けられるように設計されている。

IBMは4個のPOWER7 CPUを搭載するPower 750、そしてHPC向けと銘打ったPower 755を発売している。これらのシステムでは図8のようなプロセサモジュールが4枚挿入出来るようになっている。図8では左端にPOWER7 CPUモジュール、そしてCPU用の電源モジュールがあり、その右の中央に4個のメモリバッファLSIが横方向に並んでいる。そしてこれらのメモリバッファLSIの上下に各4枚の専用DIMMが搭載され、各メモリバッファLSIが2枚のDIMMを担当するという構成である。

図8 IBMの中型サーバに使用されるPOWER7プロセサカード

CPUチップとメモリバッファチップの間は6.4GT/sの高速インタフェースで結ばれており、距離を短くするためには電源モジュールとPOWER7プロセサの位置を反対に配置したいところであるが、POWER 750ではプロセサ側に隣接して冷却用ファンがあり、メモリバッファLSIへの配線長よりも冷却効率を重視したレイアウトとなっていると考えられる。そしてPOWER 750サーバでは4枚のプロセサカード間をシステムボードで接続して4ソケットシステムを構成している。また、講演の中では、図9の4チップ搭載のMCMを8個使用する次世代スパコン用の計算ノードも紹介された。

図9 次世代スパコン用計算ノードの外観