新機能満載のCPUとTofuインターコネクト

http://itpro.nikkeibp.co.jp/article/COLUMN/20111104/372508/?ST=oss&P=1

「京」は、大規模並列環境でプログラムを高速に実行するために、様々な新しい技術を取り入れている。「京」のハードウエアの中で最も重要な構成要素であるCPUとネットワークについて解説しよう。

「京」のCPUは富士通が設計・製造した「SPARC64 VIIIfx」。このCPUは、45n(ナノ)mの半導体プロセス技術で製造した、8コアのスーパースカラー・マルチコアプロセッサで、チップ当たり128GFLOPSの性能を持つ。

高速化のため、このCPUは様々な新機能を取り入れている。SIMD*6と呼ばれる演算機構や、コア当たり256本の浮動小数点レジスタ、6Mバイト(12way)の共有2次キャッシュ、キャッシュを効率良く利用するための「セクターキャッシュ機構」、コア間の同期を高速に実行するための「バリア同期機構」などだ(図5)。

*6 SIMD(Single Instruction Multiple Data)とは1回の命令で、複数のデータに対して同時に同じ処理を実行できる機構のこと。SPARC64 VIIIfxでは、コア当たり2つのSIMD機構を持ち、チップ全体で積和演算を32個同時に実行できる。

図5 SPARC64 VIIIfxの仕様と構成
[画像のクリックで拡大表示]

セクターキャッシュ機構とは、ユーザーがアプリケーションからキャッシュメモリーを制御できる機構である。一般的なCPUではハードウエアがキャッシュ メモリーを制御し、ユーザーは直接コントロールできない。そのため、ユーザーが意図しないデータアクセスによって、繰り返し使われるデータがキャッシュメ モリー上から追い出されるという問題が起こる場合がある。

これを解決するための1つの手段として、SPARC64 VIIIfxでは、キャッシュメモリーを2つの領域(セクター)に分割し、データごとにキャッシュする領域をユーザーが選択できる機構を設けた(図6)。

図6 セクターキャッシュの利用イメージ
[画像のクリックで拡大表示]

例えば、セクター0には1度しか使わないデータを、セクター1には繰り返し使うデータをキャッシュするように指定する。繰り返し使うデータは、キャッ シュから追い出されにくくなる。このセクターキャッシュ機構は、コンパイラが自動的に活用するほか、ユーザーがソースコード中に指示行を記述して利用する こともできる。

バリア同期機構は、複数のコアで並列実行する処理の終了を待ち合わせるためのものだ。SPARC64 VIIIfxでは、バリア同期をハードウエアのレジスタを使うことで高速化している。ソフトウエアでメモリー上のデータをチェックして同期するよりも数倍 性能が高く、コア数が増えても処理時間が増えない。

低消費電力と高信頼性を実現

SPARC64 VIIIfxは、消費電力が低く、信頼性が高いという特徴もある。「京」では、冷却設備や周辺装置などを含むすべての装置の消費電力を、合計で30M(メガ)W以下にするという目標を設定している。

この目標を達成するために最も重要なのはCPUの消費電力を下げること。SPARC64 VIIIfxでは45nmの半導体プロセス技術を採用し、動作周波数は最近のCPUとしては比較的低速な2.0GHzに設定、さらに命令実行に必要ない回 路を動的にストップできる機能などを取り入れ、消費電力を低く抑えた*7

*7 一般的にCPUの消費電力は周波数に比例して増大する。

また、冷却には効率の良い水冷方式を採用し、CPU内トランジスタのジャンクション温度を30℃にまで下げている。これは故障率を下げることにも役立つ。

消費電力はLINPACK実行時で58Wと極めて低く、ワット当たりの演算性能は2.21GFLOPSである。これは汎用CPUとしては世界トップレベルの省電力性能になる。

信頼性向上の面では、メモリーおよびデータパスの「エラー検出機能」や「エラー訂正機能」、「命令再実行機能」などを備える。万一メモリーエラーやデータエラーが検出された場合でも自動的に回復することができる。

 

Tofuインターコネクト

並列計算機では、計算ノード間のネットワークも非常に重要な役割を果たす。ネットワークが十分な性能を持っていないと、いくらCPU単体が高性能でも、システム全体として見たときの性能を十分に発揮できない。

「京」では、Tofuインターコネクトと呼ぶ高性能・高信頼性の独自ネットワークを採用している。Tofuインターコネクトのネットワーク構成は6次元メッシュ/トーラスと呼ばれる方式である(図7)。

図7 ネットワークトポロジーの比較
[画像のクリックで拡大表示]

ユーザーからは論理的には通常の3次元トーラスネットワークと同じように、各計算ノードが6本のリンクで隣接する計算ノードに接続されているように見え る。しかし物理的には3次元トーラスネットワークよりも計算ノード間のリンクを多く持ち、計算ノード間の通信を最短経路で実行できる構成になっている。

Tofuインターコネクトの最大の特徴である耐故障性・可用性は、この6本の他に存在する冗長なリンクで実現している。例えば、論理的な3次元トーラス ネットワークをジョブ単位で構成したり、ノード故障が発生したりしても論理的な3次元トーラスネットワークを維持できる(図8)。ユーザーはTofuインターコネクトにより、論理的な3次元トーラスネットワークを常にジョブ単位で利用できる*8

*8 他の多くのシステムではシステム全体で3次元トーラスネットワークを構成するため、ジョブ単位ではメッシュネットワークになってしまうことが多い。

図8 Tofuインターコネクトの可用性と耐故障性 (1次元トーラスの例

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s