富士通 PRIMEHPC FX10 チューニング連載講座
1. ハードウェア概要
大島聡史
東京大学情報基盤センター 助教

1

はじめに
本稿では富士通 PRIMEHPC FX10（以下 FX10）のハードウェア概要について解説します。

プログラムを最適化するためには対象ハードウェアについて理解することが非常に重要です。
また FX10 は既設の HITACHI SR16000/M1(以下 SR16000) とは大きく構成や特徴が異なります。
システム間の違いも含めて正しく理解したうえで最適化プログラミングに挑んでください。

2

全体構成
図 1 に FX10 の全体構成図を示します。また表 1 には FX10 の性能諸元を示します。FX10 は 4800の計算ノード、3.2PB のストレージ (ローカルファイルシステム 1.1PB+ 共有ファイルシステム2.1PB)、高速な計算ノード間ネットワーク（Tofu）、そしてログインノードや各種管理用ノードから構成される計算機システムです。

図1

3

FX10 の全体構成図

CPU 構成FX10は計算ノードの CPUとして富士通が開発した SPARC64IXfxを搭載しています。CPUアー

キテクチャ は本 セン ター の既存のシステム とは異 なる SPARC64 系 (SPARC64V9+HPC-ACE)です。プログラムの作成方法・最適化方法については本連載中に別の記事で解説しますが、既存の x86 系や Power 系とは異なる最適化手法やパラメタが重要となることが考えられます。

1表 1 FX10 の性能諸元

FX10SR16000（参考）CPU

SPARC64IXfx 1.848 GHz

Power7 3.83 GHz

ノード数

4800

56

コア数/計算ノード1632

理論演算性能/1 コア

14.784 GFLOPS

30.64 GFLOPS

理論演算性能/1 計算ノード

236.5 GFLOPS

980.48 GFLOPS

理論演算性能/全計算ノード

1.13 PFLOPS

54906.88 GFLOPS

主記憶容量/1 計算ノード

32 GByte

200 GByte

主記憶容量/全計算ノード

150 TByte

11.2 TByte

物理転送性能/1 計算ノード85 GByte/sec

512 GByte/sec

Byte/FLOPS 値

0.36

0.52

SMT 機能-最大 4 スレッド/1 コア

6 次元メッシュ/トーラス

階層型完全結合

計算ノード間ネットワーク構成
計算ノード間転送性能

20GB/s（単方向）× 双方向

ストレージ容量

1.1 PByte + 2.1 PByte（4 方向同時通信可能）

96GB/s（単方向）× 双方向
556 TByte

SPARC64IXfx と計算ノードの構成を図 2 に示します。SPARC64IXfx は 16 つのコアによって構 成 さ れ て い る マ ル チ コ ア プ ロ セ ッ サ で あ り 、1 ノ ー ド に は 本 CPU が 1 基 搭 載 さ れ て い ま す 。
ラ ッ ク へ の 搭 載 に つ い て は 、4CPU お よ び メ イ ン メ モ リ と ICC(イ ン タ ー コ ネ ク ト コ ン ト ロ ーラ) からなる「システムボード」を 1 単位として行われています。

図2

SPARC64IXfx と計算ノードの構成

FX10 に搭載されている SPARC64IXfx の動作周波数は 1.848GHz であり、理論倍精度浮動小数2点演算性能は• 1 コアあたり 14.784GFLOPS (1.848GHz×8 回=14.784FLOPS)• 1CPU あたり 14.784GFLOPS×16 コア=236.5GFLOPS• 計算ノード群全体 236.5GFLOPS×4800 ノード=1.13PFLOPSです。本センターの計算機システムとして初めて 1PFLOPS を超えるシステムとなります。な
お ノ ー ド あ た り の FLOPS 値 を 見 て み る と 、HA8000(T2K 東 大 版) と 比 べ る と 2 倍 近 い で す が 、SR16000 と比べると 4 分の 1 程度しかありません。そのため、FX10 の高い演算性能を有効に活用するには多数のノードを適切に活用せねばなりません。
キャッシュについては、L1 キャッシュをデータと命令それぞれにコアごとに 32KB、L2 キャッシ ュ を 1CPU ご と に 12MB 搭 載 し て い ま す 。既 に 運 用 し て い る HA8000 や SR16000 と 異 な り L3キャッシュは搭載されていませんが、L2 キャッシュのサイズは HA8000 より大きく、また再利用性のあるデータを選択的にキャッシュに残すセクターキャッシュ機能があります。

FX10 も既存の他のシステムと同様に、一般ユーザはログインノードを介して計算ノードを利用します。本システムのログインノードは CPU として Intel 社の Xeon プロセッサを搭載しており、ログインノードが x86 系アーキテクチャ (x86 64 アーキテクチャ) なのに対して計算ノード（およびインタラクティブノード）では SPARC64 系アーキテクチャとなります。そのため、プログラム開発の際にはクロスコンパイラの使用が必須となります。

CPU の演算性能に関するベンチマークの結果などは今後のスパコンニュースの記事にて紹介予定です。

4

メモリ構成
SPARC64IXfx CPU と メ イ ン メ モ リ（ 主 記 憶 ）の 接 続 に つ い て は 、図 2 中 に 示 す よ う に 計 算

ノード上に搭載されているメモリアクセスコントローラ (MAC) を介して行います。FX10 の計算ノードには 1 ノードあたり 32GByte、計算ノード群全体では 150TB のメインメモリが搭載されています。メインメモリの種別については DDR3 SDRAM メモリ (DDR3-1333) が搭載されています。メモリ帯域幅は 85GByte/sec(8Byte×1333MHz×8Channel)、B/F 値については 0.36 とな
り ま す 。B/F 値 を 他 の シ ス テ ム と 比 較 し て み る と 、SR11000/J2(1.39) や SR16000(0.52) に は 及
びませんが、HA8000(0.29, 0.17) と比べると向上しており、大規模計算における良好なスケーラビリティが期待できます。
なお、FX10 には HA8000 のように大容量のメモリを搭載したノードが用意されていません。
そのため、大規模なプリ・ポスト処理など大容量のメモリを必要とする計算を行いたい場合には HA8000 の 128GB ノードを利用していただくことになります。（本件の詳細については後日改めてご案内する予定です。）
メモリの性能を測定する STREAM ベンチマーク*1 の結果としては、計算ノード 1 ノードあたり 60GByte/秒の値が得られています。

*1 http://www.cs.virginia.edu/stream/3

5

ノード間ネットワーク構成
FX10 の ノ ー ド 間 ネ ッ ト ワ ー ク 構 成 の 概 要 を 図 3 に 示 し ま す 。FX10 の ネ ッ ト ワ ー ク 構 成 は 6次元メッシュ/トーラスネットワーク（Tofu ネットワーク）という独自のネットワーク構成となっています。
実際にネットワークを制御しているのは各計算ノードに搭載されている ICC であり、各 ICCから同一計算ノード上の CPU や他計算ノード上の ICC へ接続しています。各ノードは 6 次元座
標 を 持 ち (X,Y,Z,a,b,c)、x,y,z 全 て が 一 致 す る 12 計 算 ノ ー ド を Tofu 単 位 と 呼 び ま す*2 。1Tofu 単位内では各ノードが 4 本ずつのリンク (a,b+,b-,c) によって接続されており、Tofu 単位間は 3 次元(X+,X-,Y+,Y-,Z+,Z-) に接続されています。これらの構成により、低レイテンシ、広帯域、高信頼性を達成しています。
理論性能については、各 ICC と同一ノード上の CPU との接続については 20GByte/秒（× 双方向）、ICC 間の接続については 5GByte/秒（× 双方向）です。ノード間の通信性能については、隣接ノード間の物理転送遅延が 1 マイクロ秒、ノード間の理論通信速度が 20GByte/秒（× 双方向、4 方向同時通信可能）、バイセクションバンド幅が 6TByte/秒となっています。

図3

6計算ノード間ネットワーク構成（Tofu ネットワーク）

ストレージ構成
FX10 は容量 1.1PB のローカルストレージと容量 2.1PB の共有ストレージの 2 種類のストレージを備えています。ローカルストレージは ETERNUS DX80 S2 と PRIMERGY RX300 S6 を用
い て 構 築 さ れ て お り 、共 有 ス ト レ ー ジ は ETERNUS DX410 S2、ETERNUS DX80 S2 そ し てPRIMERGY RX300 S6 を用いて構成されています。いずれも計算ノード群と FibreChannel やInﬁniBand によって高速に接続されており、RAID や機器の多重化による冗長構成をとっています。ファイルシステムについては Lustre をベースとした富士通製のファイルシステム FEFS

(Fujitsu Exabyte File System) を採用しています。想定されている用途としては、共有ストレージについてはいわゆるストレージとしてユーザ毎のデータを保持するために、一方のローカル*2 本システムの利用において 2 のべき乗ではなく 12（もしくは 12 の倍数）を単位とした設定や制限があるのは Tofu

ネットワークが 12 計算ノードを単位として構成されていることによるものが多いです。

4

ストレージについてはステージング用として使用されます。

以 上 、本 稿 で は FX10 の ハ ー ド ウ ェ ア 概 要 に つ い て 、一 部 ベ ン チ マ ー ク の 結 果 等 を 交 え て
紹 介 し ま し た 。FX10 に 関 す る さ ら に 詳 し い 情 報 や ベ ン チ マ ー ク の 結 果 等 に つ い て は 、本 連載 に お け る 他 の 記 事 や 、当 セ ン タ ー の web サ イ ト に 掲 載 さ れ て い る 資 料（http://www.cc.u-tokyo.ac.jp/system/fx10/、今 後 も 必 要 に 応 じ て 情 報 を 追 加 し て い く 予 定 で す ）も ご 覧 く ださい。

5