ソリューション

より優れた設計

マイクロプロセッサ設計の最前線では、より少ないエネルギーで計算を行うための優れた方法を模索しています。中で最も有望視されているのは、低速のクロックで動作するマルチコアプロセッサの出現です。マイクロプロセッサのクロックレートを下げてプロセッサ数を2倍にするごとに、消費電力が減る一方で実効性能が向上します。

マイクロプロセッサ技術は目覚ましい進歩を見せていますが、依然としてコンピュータをあらゆるアプリケーション向けに設計するか、あるいは浮動小数点の演算が特に多い技術的アプリケーション向けに設計するかというトレードオフが存在します。高性能計算(HPC)のために必要な追加ハードウェアは、プロセッサの価格を非常に上げてしまうため、汎用チップには組み込めません。

ATIやNVIDIA(R) が供給するグラフィックアクセラレータの普及がこの状況を表しています。グラフィックカードよりも低速にはなりますが、マイクロプロセッサでももちろんグラフィック処理が可能です。設計者はマイクロプロセッサ上のトランジスタのうち、現在キャッシュや全体的な性能向上に使っている部分をグラフィック処理に割り当てることができます。しかし、多くのマイクロプロセッサ向けアプリケーションはキャッシュやルック・アヘッド機能などから恩恵を受けますが、ほとんどあるいは全くグラフィック処理機能がありません。グラフィック処理やHPCの機能を別のハードウェアで行えるようにすることで、その選択をチップ設計者ではなくユーザに委ねることにつながり、難しいトレードオフの問題を回避することができます。

性能を向上させる代替アプローチ

HPCコミュニティが極めて多岐にわたる要件を含んでいることはよく知られています。「万人受け」という考え方が誤りであることを証明できる数少ない市場のひとつなのです。

HPCシステムの性能を測定するための主要な数的指標として、浮動小数点演算(FLOPS)と倍精度がよく引き合いに出されます。しかし現実的には、これらは特性の一部でしかありません。またHPCアプリケーションの中には、主に整数計算の性能に依存しているものもあります。

また、メモリーやネットワークの遅れ時間や帯域幅、データアクセス等のボトルネックによる制限を受ける場合もあります。

倍精度浮動小数点演算の性能が強調されるのは、それが最も重要な特性だからではなく、最も実現するのが難しいシステム特性の1つで、多くのHPC分野における要件だからです。

実用的な性能を発揮可能なシステムを構築する上で、HPCの処理負荷の特性を理解し、これを利用可能な代替アプローチにどのように関係付けるかということが極めて重要になります。

多数の標準サーバによるクラスタ

多くのユーザにとって、これが最良のソリューションとなります。業界標準サーバは経済性に優れ、また広い範囲の課題に対応できます。大きなソフトウェアのエコシステムが利用できるため、極めて多用途に対応可能です。

エネルギーコストや施設上の制限のため標準システムを多用することに問題が多いと考えられる場合のみ、アクセラレータ技術が有効な選択肢として浮上します。浮動小数点演算の高速化に必要なデータの並列処理をサポートする技術は多数あります。

フィールド・プログラマブル・ゲートアレイ(FPGA)

FPGAはアクセラレータを選択した場合のコア部品としてよく使われます。安価で消費電力も比較的小さなデバイスで、基本的には半完成の特定用途向けICです。その意図する用途に対しては非常に有効ですが、プログラミングのモデルはソフトウェア設計者向けというよりむしろ回路設計者の要求に合わせているため、開発にはかなりの期間と費用を要する場合があります。現世代のFPGAは単精度アプリケーションの高速化には適応可能ですが、倍精度の性能には限界があります。

グラフィック処理ユニット(GPU)

GPUはアクセラレータ技術の中でも最も普及しており、汎用浮動小数点計算の高速化に使える可能性があります。また大量生産されているため安価です。妥協を許さないゲーム市場向けのハイエンドGPUは性能面が中心となるため、HPC市場で求められるその他の要件を満たさない場合が少なくありません。通常は単精度で最適化されており、またIEEE 754の浮動小数点対応の丸め規約に適合しない場合があり、さらに標準的な最新プロセッサの数倍の電力を消費する場合もあります。つい最近まで、OpenGLなどグラフィック中心のインタフェースによるプログラミングが必要だったため適切な開発ツールの範囲が限定されていました。

ゲームプロセッサ

ソニー、東芝、IBMが共同開発したCell Broadband Engine™は、HPCアプリケーションのアクセラレーションを対象とする最も良く知られたゲームプロセッサです。大量生産とその結果としての低コスト化の可能性から、ゲームプロセッサはHPCコミュニティの大きな関心を集めています。

多くの設計基準がGPUとの間で共有されているため、単精度性能や消費電力の問題などを含めGPUと同様の特性を多く持っています。

ClearSpeed Technology CSX600

ClearSpeedのCSX600チップは、96個の処理要素を持つ210MHz動作のマルチコアプロセッサで、エネルギー効率が高く、現時点では最も先進のデバイスです。ClearSpeedのチップは真のコプロセッサで、ホストとなる汎用プロセッサに依存しています。そのため64ビット浮動小数点では最速で、同時に消費電力の平均値も約10ワットと、最も低消費電力のタイプに入ります。現在利用可能なアクセラレータ技術のうち、HPCコミュニティのニーズに合わせて特別に設計された唯一のデバイスです。

未来に向けた高速化

利用可能な各技術はそれぞれ意図された目的での動作に優れており、その仕様に良く一致したHPCアプリケーションに利用すれば良好な結果を得ることができます。設備費用を軽減するために現在可能なことは、標準の汎用プロセッサと組合せて特定のアプリケーション領域向けに最適化したアクセラレータを使用することです。

際限のない計算サイクル増の要求を満足させることはその定義上からも不可能ですが、従来のスーパーコンピュータ・アーキテクチャーから新たなハイブリッド方式へと転換を図ることにより、HPCコミュニティは床面積やエネルギー消費上の制限といった課題を克服する道が拓けるのです。