DSN 2008では、IBMと富士通が、それぞれのサーバプロセサに強力な放射線を当てて意図的にエラーを発生させ、どれだけのエラーが検出されるか、どれだけのエラーが回復されるかを測定した結果を発表した。

IBMのPOWER6プロセサと富士通のSPARC64 Vプロセサは、z10と同様なエラー検出、回復機構を実装しているが、通常の動作状態では、宇宙線起因の中性子によるエラーの発生頻度はそれほど高くはないので、その効果を実測するには非常に長い時間が掛かってしまう。このため、エラー検出、回復機構の有効性を実用的な時間で実測するには、強力な放射線を使った実験行うことが必須である。

富士通は、同社のPRIMEPOWER 650サーバを大阪大学の核物理研究センターに持ち込み、自然界の宇宙線に近いエネルギー分布をもつ中性子ビームをプロセサチップに当ててエラーを発生させた。大阪大学の核物理研究センターは陽子を300MeVに加速するシンクロトロンをもっており、この加速された陽子をターゲットにぶつけて各種の2次粒子を発生させる。そして、荷電粒子は磁界で除き、中性子のビームを作る。それをコリメータと呼ばれる鉛のブロックに開けられた穴を通して、直径10cmのビームを取り出している。ビームの強度は自然界の中性子の2億倍という。

大阪大学核物理研究センターでの測定風景。左の鉛ブロックの中央の穴から中性子ビームが出てくる。右側はラックの最上段に搭載されたPRIMEPOWER 650サーバ

このようにビームが強力なので、4個のプロセサモジュールを串刺しにする形でビームを照射している。自然界のように色々な方向から中性子が来ている場合は、弾性衝突により中性子の方向が変わってもどこかには当たるのであるが、富士通の実験のような場合には、方向がそれると次のCPUチップには当たらなくなってしまう。このため、自然界では、CPUモジュール1個を通過しても数%しかビームは減衰しないが、実験では20%あまり減衰したという。しかし、それでも、4個目のCPUでも自然界の5000万倍以上のビーム強度である。

富士通のSPARC64 Vプロセサは、次の表に示すように、大容量のキャッシュにはECCを付け、小容量のメモリはパリティーチェックでエラーを検出して、各種のメカニズムでエラー回復を行う構成になっている。そして、論理回路のレジスタにはパリティーチェック、演算器はパリティー予測、乗除算器はレジジューチェックでエラーをチェックし、エラーが検出されると命令を再実行して回復を図る。

富士通のSPARC64 Vプロセサのエラー検出と回復機構の一覧

富士通はSPECmarkなどから6つのプログラムを選択し、これらのプログラムをこのSPARC64 Vプロセサで、中性子ビームを照射しながら実行した。その結果、論理回路のフリップフロップに発生した筈のエラーの93.6%は、全く影響が無かったという。そして、残りの6.4%の内の3/4あまりは回復に成功し、システムダウンなどのエラーになったのは、注入されたエラー全体の1.5%であると報告された。

一方、IBMはPOWER6プロセサを使うサーバをMass General Hospitalに持ち込み、同病院の癌治療用の陽子線ビームを照射した。米国では、通称LANSCEと呼ばれるロスアラモス国立研究所の中性子ビーム施設が有名であるが、著者らの所属するニューヨーク付近の事業所から遠いので不便であるので、比較的近所にある同病院の陽子線施設を、治療が休みになる週末に、格安で借りることにしたという。

中性子ビームの場合は、陽子線をターゲットにぶつけて発生した2次粒子のごく一部を中性子ビームとして取り出すので、元の陽子ビームの一部のエネルギーしか有効利用されないが、陽子線を直接使うと、格段に強力なビームが得られ短時間に多くのエラーを発生させられるので、効率が良い。但し、IBMが用いた陽子ビームは全粒子が~150MeVのエネルギーを持つ単色ビームであり、大阪大学やロスアラモス研究所のように自然界の中性子と同様な連続的なエネルギースペクトルの粒子を含むホワイトビームではない。このため、IBMの実験では、自然界でのエラーの発生頻度を求めることは出来ない。

IBM POWER6での注入エラーとその結果の内訳

この注入エラーとその結果の図に見られるように、IBMの実験では、95.7%のフリップフロップのエラーは消失し、全く影響が無かった。例えば、POWER6プロセサは32個の汎用レジスタを持っているが、その全てのレジスタが使われているとは限らない。また、浮動小数点演算を使わないSPECintプログラムの実行中は浮動小数点レジスタは使われていない。中性子により、このような使っていないレジスタにエラーが発生してもプロセサの動作には影響がない。このため、多くのエラーが影響なし(消失)となるのである。前述のように、富士通のSPARC64 Vでは93.6%の注入エラーが影響なしであり、両方のプロセサともに90%を上回る注入エラーが消失している点が興味深い。

IBMはフリップフロップのエラー全体の0.73%がシステムダウンになったと報告している。この値は富士通のSPARC64 Vのシステムダウン率の1.5%の約半分であるが、IBMの結果はbzip2の実行の場合、富士通の結果は6種のプログラムの平均という違いがある。富士通の結果では、bzip2は使用した6種のプログラムの内で一番エラー頻度が低いプログラムであり、平均の半分程度の頻度でしかないので、大雑把であるが、IBMのPOWER6と富士通のSPARC64 Vとはシステムダウン率に大差は無いと思われる。

以上のように、富士通のSPARC64 VやIBMのPOWER6、z10という最先端の高信頼プロセサでは、ソフトエラーの回復機構を実装することにより中性子ヒットによるエラー率を1/4~1/5程度に低減している。このようなソフトエラーの回復テクノロジは、微細化が進むにつれて増加するソフトエラーに対する有効な手段であり、微細化により増加するトランジスタを利用して、プロセサにエラー検出、回復機構を実装する事例が増加していくものと考えられる。