富士通

PRIMEPOWER本体装置は、(2008年5月に)販売終息いたしました。
なお、本製品の後継製品は、SPARC Enterpriseとなります。

各モデルの販売終息時期の詳細につきましては、「今までに発表した製品」をご参照ください。

前ページ |  1  |  2  |  3  | 次ページ

新プロセッサ「SPARC64 V」開発者からのメッセージ -ものづくりにかける想いと富士通の開発DNA-
2004年6月22日号
SPARC64 Vが誇る性能と信頼性
SPARC64 Vの特長を教えてください。

大きく分けて性能と信頼性の2点があります。
性能というと皆さんCPU周波数に着目しがちですが、実はそれだけで性能が決まるわけではありません。我々はプロセッサ内のボトルネックを解消することで、プロセッサ全体の性能向上を目指しました。ボトルネックがひとつ存在するとその部分が足かせとなってしまい、全体の性能が引っ張られてしまうからです。

イメージしやすいように、プロセッサの働きを料理に例えてみましょう。データを持ってきて処理することを、材料を買ってきて調理することに置き換えます。料理をするためには、まずお店(=メモリ)から材料(=データ)を買ってきて、調理する場所に近い冷蔵庫(=2次キャッシュ)に保管します。調理する際は冷蔵庫からキッチンの台上(=1次キャッシュ)に必要な材料を用意しておき、まな板やコンロ(=演算器)で調理を行います。

CPU周波数の向上は、料理におけるまな板やコンロでの調理スピードが速くなったことを意味します。例えば、コロッケを1分間に10個作ることができるとします。材料があらかじめキッチンの台に用意できていれば、1分間に10個作ることは可能です。しかし、材料がキッチンの台に用意されていなければ、冷蔵庫に取りに行く必要があります。

ここでもし、キッチンは1階にあるのに冷蔵庫が2階に置いてあったらどうでしょうか。冷蔵庫から材料を持ってくるためにとても時間がかかってしまいます。仮に冷蔵庫から材料を取り出すために3分もかかってしまったら、3分間に10個しかコロッケが作れないことになり、作業効率は1/3に落ちてしまいます。したがって、コロッケを1分間に10個作るためには、材料を用意する部分のスピードアップも必要になります。

つまり演算器の性能をフルに生かすためには、メモリアクセスやキャッシュアクセスなどを含めた全体のスループットを向上しなければなりません。PRIMEPOWERが導入されているミッションクリティカルシステムでは、24時間365日常に大量のデータ処理が行われています。そのため、ボトルネックを解消して全体最適を図ることは特に重要であると考えます。

他にも性能向上のために工夫した点はありますか。

Out-Of-Order(アウトオブオーダ)実行を強化しています。Out-Of-Order実行とは、プログラムに記述されている順序に関わらず、必要なデータが揃った命令を先行して実行することで性能を向上させる手法です。この機能は、SPARC64 GP(SPARC64 Vの一世代前のプロセッサ)でも演算器周りという限られた範囲では採用されていました。しかしSPARC64 Vでは、Out-Of-Order実行ができる範囲をメモリアクセスにまで広げました。

これもまた料理に置き換えて考えてみましょう。今日はまずコロッケを作り、その後サラダを作るとします。キッチンの台上にサラダの材料はありますがコロッケの材料は買いに行かないとない状態だったとします。従来はサラダの材料が揃っていたとしても、コロッケの材料を買ってきて先にコロッケを作ってからでないと、サラダは作れませんでした。コロッケの材料を買いに行っている間は調理がストップしてしまい、まな板やコンロは使われない状態になっていました。

しかしSPARC64 Vでは、材料が揃っているサラダを先に作り、材料が整い次第コロッケを作り始めることができるようになりました。

全体のスループット向上のために、さまざまな工夫が施されているのですね。では、信頼性という面ではどのような特長がありますか。

前世代であるSPARC64 GPも、競合製品と比べてRAS機能(信頼性、可用性、保守性)という点で非常に充実していたのですが、その部分にさらに磨きをかけました。

また料理を例に説明しますと、冷蔵庫やキッチンの台上には材料の品質をチェックする番人がいて、運ばれてきた材料が傷んでいないかどうかをチェックしています。しかし今までは、実際に調理し始めてから傷んでしまった場合はチェックできませんでした。この状況を改善して、材料を買ってきて、調理して、さらに食卓に送り出すまで、すべての段階でチェックできるようにしました。

具体的にはどのような改善を行ったのですか。

SPARC64 Vでは、演算器やレジスタも含めてすべてのデータパスにもれなくチェッカを設け、詳細にエラーをチェックしています。最新のSPARC64 Vの場合、チェッカの数はプロセッサあたり803個、システムあたり(PRIMEPOWER 2500, 128CPU)では実に約32万個になり、他社のプロセッサでここまで信頼性を考えているものはほとんどないと思います。これがメインフレームと同等のRAS機能、すなわち信頼性を実現するベースとなっているのです。PRIMEPOWERはお客様の基幹業務を支える大事なサーバですから、エラーを発見できずに間違ったまま処理が進んでしまうようなことは許されません。

プロセッサで起きたエラーは、チェッカで検出して、システム監視機構に集められます。

図:SPARC64 Vのデータ保護機能

もしエラーが発見された際の対処はどうなりますか。

エラーが発生した場合、検出するだけではなく修復しなければなりません。エラーを修復するためには、OSなどのソフトウェアで行う方法もありますが、SPARC64 Vではハードウェアが自己修復するという考え方を採用しています。そのひとつが「命令リトライ」と呼ばれる機能で、エラーを検出した命令処理をハードウェアが自動的に繰り返し再実行することで、エラーをできる限り救済します。

ハードウェアが自らエラーを訂正するメリットは、どのようなところにありますか。

ソフトウェアがエラーを修復すると考えた場合、そのソフトウェアが動くのはエラーが発生しているハードウェアの上です。これでは、病気の方が自分で自分を診療するようなもので、あまり適切な対処法とはいえません。そこでSPARC64 Vでは、プロセッサ内にエラーのチェックとリカバリーを実行する専用の機構を設置し、それを使って自己修復を行う方法を採用しました。これは、病気の方に専属のお医者さんをつけるイメージです。

この方法であれば、ソフトウェアが誤動作するような状況下にあってもエラーの報告や修復がきちんと行えます。この機構を設置するために使用するトランジスタの数はそれほど多くありません。安心して使ってもらえるプロセッサに仕上げるためには、このような機能は大変重要だと考えています。PRIMEPOWERでは他にもさまざまな信頼性を向上させる技術を採用しています。これまでメインフレーム開発で培ってきた技術やノウハウが、富士通のUNIXサーバ開発に生かされているのです。


2/3

前ページ |  1  |  2  |  3  | 次ページ