• 検索結果がありません。

4.1 はじめに

本章では,汎用ベンチマークやテストプログラムの性能評 価結果に基づきNS-III(特にCeNSS)の性能上の基本特性 を探る.また,システムの特徴や運用方針について触れる.

NS-IIIの中核計算エンジンたる中央計算システムCeNSS は,市場からの調達とはいえ相当な規模ゆえに,その実効性 能(実測値)やシステム特性は,カタログスペック12だけで は推し量れない部分がある.また,当初予定していた性能が 実際に達成できているかという点も,経験がないだけに実際 に確かめる必要がある.次の調達に向けての客観的な基礎デ ータにもなる.そこで,よく用いられるベンチマークプログ ラムや簡単な試験プログラムを用いて性能測定をできるだ け多角的に実施し,主要な特性を調べた[1][2].

4.2 CeNSSの基本演算処理性能

CPUの基礎演算性能評価として,Eurobenベンチマーク13 を用いた.図4.1は,DotProd(s = s + x1(i)*x2(i), i=1,n)と呼 ばれるカーネル7の測定結果を,著名なCPUとCeNSSの CPU(SPARC64 V)とで比較(データは富士通より)した ものである.横軸に問題規模,縦軸に性能値の対数を取って ある.他のカーネルの測定結果も含めて,SPARC64 Vは,

同時代の他のCPUと比べて,単体性能としては遜色ないも のであることがわかる.(著名なCPUの値は,ホームページ からの抽出(2003年5月)であり実際に測定したものでは ないことに注意する.)なお,ここで,ベクトル計算機 VPP5000 の値も同時にプロットしている.ベクトル計算機 は,問題規模が小さいうちは,ベクトル演算器の立ち上がり のオーバーヘッドのためにスカラーCPU より性能は良くな いが,一定規模に達するとスカラーCPU を抜いている.こ れは,VPP5000の単体性能が9.6GFLOPSと高いことによ る.ベクトルの場合は,問題規模が大きくなっても一定の性 能を続けるが,スカラーCPU の場合には,データがキヤッ シュから溢れると性能が低下する.縦軸は対数なので,見た 目の差は小さいが半分以下になってしまう.逆にキャッシュ に載っていれば性能が落ちないのがスカラーCPU の特徴で もある.

図4.1 EurobenベンチマークKernel7の性能

12 http://primeserver.fujitsu.com/primepower/catalog/pdf/primepowerhpc2500.pdf 13 http://www.euroben.com

図4.2 STREAMベンチマークTriadの性能

表4.3 STREAM Triadの結果 条件 測定結果[MB/s] 性能比

単体CPU 2,254 1

8CPU 12,290 5.42

メモリ性能の測定には,良く知られたSTREAMベンチマ ーク14を用いた.そのうちからTriad15の測定結果を,図4.2 にはCPU台数による性能値の変化を,表4.3には単体CPU 及び8CPU 使用時における性能値及び性能比(=単体 CPU に対する比)を示した.単体CPUの性能が,ノード内の全 メモリバンド幅を使えるのにこの値に留まってしまうのは,

単体CPUから連続して発行できるメモリリクエスト数に制 約があるので,そこで律速されるためである.8CPU では,

SMP内のメモリ競合(メモリ・コンテンションと呼ばれる)

により,単体CPUの8倍の値に対し67.8%に低下している.

実運用上は1ノード1プロセスということはないので,メモ リバンド幅が低くなる,あるいはノードに配置するプロセス の数によって使えるメモリバンド幅が変わってしまうのは 実運用上問題となる可能性がある.

次に,結合ネットワークの基礎性能を示す.バンド幅(転 送性能)の計測には,MPI PingPong通信プログラム16を使用 し,通信プロセスを異なるノード間に配置した場合と同一ノ ード内に配置した場合とでそれぞれ実行し,メッセージ長に 対する通信時間から平均転送性能を算出した(図4.4(a)).ノ ード間転送性能に関しては,ピーク性能4GB/sに対し,最大 実効性能で3.88GB/sを記録した.実効効率は,ピークに対し て97%であり,極めて高い(効率の良い)ものであることが わかる.一方,ノード内(メモリコピー)性能は0.68GB/sで あり,ノード間とノード内でのデータ転送性能のアンバラン ス(数倍違う)が懸念材料として指摘される.一方,レイテ ンシ(遅延)に関しては,MPI Barrierの時間を測定(図4.4(b)) した.ソフトバリアでは,プロセス数の増大とともにレイテ ンシが増大してしまっているが,ハードバリアを使えばプロ セス数によるレイテンシはプロセス数によらずほぼ一定で

14 http://www.stream.com

15 STREAMベンチマークには,Copy[a(i)=b(i)]Scale[a(i)=q*b(i)] Sum[a(i)=b(i)+c(i)],Triad[a(i)=b(i)+q*c(i)]の4種類がある.

16 例えばhttp://software.intel.com/en-us/articles/intel-mpi-benchmarks/

32 宇宙航空研究開発機構研究開発報告 JAXA-RR-10-005

1 10 100 1000 10000

1.00E+00 1.00E+02 1.00E+04 1.00E+06 1.00E+08

メッセージ長 [Bytes]

性能[MB/s] ノード内

0.68GB/s ノード間 3.88GB/s

0 5000 10000 15000 20000 25000 30000 35000

0 20 40 60 80 100 120 140

CPU数

SPEC

PRIMEPOWER 1300MHz Old PRIMEPOWER 563MHz HP Superdome 875MHz HP Alpha GS1280 1150MHz Sun Fire 6800 1200MHz SGI Origin3800 600MHz

(a) MPI PingPong

(b) MPI Barrier 図4.4 結合ネットワークの性能

あり,最小値7秒という値が得られている.ハードバリアに より,多プロセス並列時の同期処理の高速化が期待できる.

有名な線形連立一次方程式を解くLinpackベンチマーク17 については,実効性能でRmax= 5.406TFLOPSという数値を 記録(2003年6月)した.このとき次元数はNmax=658,800 であり,すべての筐体を(64ウエイSMP)×2に構成し直 し,63スレッド×36プロセスという形態で計測した.ここ に,Rpeak=11.98TFLOPSである.計測には,10時間ほどを 要し,Linpackプログラムレベルではあるが,システムとし てきちんと動くことが確かめられた.表 4.7に,2003 年6 月におけるLinpackトップ10のリスト,図4.5にその時点 でのTop500サイト18の表示を示した.ここで,比 = Rmax /

Rpeak をあらわす.地球シミュレータや ASCIマシンといっ

たカスタムメイドの大規模システムが多い中で,ほぼ市販品 で構築したシステムとしては世界トップランクの性能に位 置 づ けら れる. た だ, 表から わか るよ うに 比 = Rmax / Rpeak=0.451 は他のシステムに比べて実効効率が低く,性能 向上に向けての関係者のより一層の努力が望まれるところ である.また,一般のアプリケーションの実効性能がLinpack を超えることはまずないことを考えると,実効性能の向上は 次期への課題の一つでもある.

17 http://www.netlib.org/benchmark/hpl/

18 http://www.top500.org

図4.5 Top500サイト(2003年6月)

図4.6 SpecOMP 2001Mの性能

筐体内のスレッド並列性能の評価には,SpecOMP 2001M ベンチマーク19を用いた.図4.6に2003年6月時点での,

PRIMEPOWER HPC2500 の性能及び他システムの性能の 比較を示す.横軸にスレッド数,縦軸にSPEC値を示してい る . 他 CPU の ク ロ ッ ク が そ の 時 点 で は HPC2500 の SPARC64 V よ り 低 か っ た た め , ま た 大 規 模 SMP が HPC2500 以外にないため,HPC2500 は数値的には良い性 能を示している.しかし,多スレッド時の直線性は良いとは いえない.

19 http://www.spec.org/omp/

0 50 100 150 200 250

0 128 256 384 512

プロセス数

micro sec

Hardware barrier Software barrier

0 10 20 30 40 50 60 70 80 90

0 4 8 12 16

プロセス数

性能

x 1thread x 2thread x 4thread x 8thread x 16thread

表4.7 Linpackの結果(2003年6月)

順位 システム /CPU 機関(国,年) 提供者 Rmax Rpeak 1 地球シミュレータ /5,120 ES(日本,2002) NEC 35,860 40,960 0.875 2 ASCI Q - AlphaServer SC ES 45 1.25GHz /8,192 LANL(米,2002) HP 13,880 20,480 0.678 3 MCR Linux Cluster Xeon 2.4GHz /2,304 LLNL(米,2002) Linux NW 7,634 11,060 0.690 4 ASCI White SP Power3 375MHz /8,192 LLNL(米,2000) IBM 7,304 12,288 0.594 5 SP Power3 375MHz16way /6,656 NERSC(米,2002) IBM 7,304 99,84 0.732 6 xSeries Cluster Xeon 2.4GHz Quadrics /1,920 LLNL(米,2003) IBM 6,586 9,216 0.715 7 PRIMEPOWER HPC2500 1.3GHz /2,304 NAL(日本,2002) 富士通 5,406 11,980 0.451 8 Rx2600 Itanium2 1GHz Cluster Quadrics /1,540 Pacific NW Lab. (米,2003) HP 4,881 6,160 0.792 9 AlphaServer SC ES45 1GHz /3,016 Pittsburgh SC(米,2001) HP 4,463 6,032 0.740 10 AlphaServer SC ES45 1GHz /2,560 CEA(仏,2001) HP 3,980 5,120 0.777

ES: 地球シミュレータセンター, LANL: Los Alamos National Lab., LLNL: Lawrence Livermore National Lab., NERSC: National Energy Research Scientific Computing Center, CEA: Commissariat à l’énergie atomique

図4.8 姫野ベンチマークの性能

図4.8に,良く知られたHimenoベンチマークMモデル の測定結果を示す.Himeno ベンチマーク20は,非圧縮流体 をMAC法で解く際に現れるポアソン方程式のプログラムの カーネル部分を取り出したものであり,メモリへのストライ ドアクセスがあり,裸のメモリ性能が現れる.問題規模は一 定で,プロセス数と並列数を変えている.プロセスに対して もスレッドに対しても比較的良い直線性を示しているのが わかる.ただし,良く見ると,同一CPU数の場合,スレッ ドをたくさん使った方が性能が高い場合があり,後の章でも 示すが,このあたりのスレッド選択の是非がSMPシステム の難しいところでもある.

図4.9に,アプリケーションのベンチマークプログラムと して良く知られているNAS Parallel Benchmarkの測定結 果を示した.NAS Parallel Benchmark21は,NASA Ames 研究所で開発されたCFDコードのいくつかをベンチマーク

20 http://accc.riken.jp/HPC/HimenoBMT.html

21 http://www.nas.nasa.gov/Resources/Software/npb.html

プログラムとして公開しているものであり,採用している解 法によってBT,CG,MGなど幾つかの種類がある.流体のコ ードという意味では JAXA のアプリケーションと特性上は 多くの共通点がある.図4.9は,CGとMGについて,クラ スB(中規模)とクラスC(大規模)のスケールアップ性能 を示したものである.クラスBでは,プロセス数の増加とと もに通信量が増加するので性能のスケール性が低下してい る.クラスCでは,規模が大きいので相対的な通信量の増加 が小さいのでスケール性の低下割合は小さい.

図4.9 NAS Parallel Benchmarkの性能 (a)CG

0 50 100 150 200

0 64 128 192 256

Number of processes Performance(1process=1) class B

class C

(b)MG

0 50 100 150 200

0 64 128 192 256

Number of processes Performance(1process=1) class B

class C

34 宇宙航空研究開発機構研究開発報告 JAXA-RR-10-005

0 500 1000 1500 2000 2500 3000 3500 4000 4500

0 10 20 30 40 50 60 70 80

Number of devices

Throughput [MB/s]

write read

4.3 入出力性能とストレージ特性

大容量ストレージへの基本(最大)入出力性能を調べるた めに,FC パス 80 本を用いた逐次読み書きのテストを,

SAM-QFS,SRFS,STF,Fortranのレベルで実施した.こ こに,SAM-QFS,SRFS は,それぞれ階層型ストレージ管 理,ノード間高速ファイルシステムのことであり(第3章参 照),STFとは,中央可視化システムからCeMSSのデータ を読み込むときに使うライブラリ(付録F参照)を指す.そ れぞれのレベルからの,I/O 長に対する入出力性能の実測結 果を図 4.10 に示す.ローカルファイルへのバンド幅の最大 は6.6GB/s,ノード間では最大は3.2GB/sであった.ノード 間では,結合ネットワーク(ピーク4GB/s)を介するために,

入出力性能は低下する.また,Fortranレベルからは,(処理 系にもよるが)Fortranバッファ(メモリコピー)が介在す るため,さらに入出力性能は低下することに注意する.また,

I/O長によって数倍の性能差がある.これらのベンチマーク により,入出力データのブロックサイズを 8MB(標準はは 64KB),Fortranバッファの標準値を64MB(標準)として 運用することとした.

図4.10 入出力性能ベンチマークの結果

b

図4.11 FCチャネル数による入出力性能値

当初予定していた 1GB/s という入出力性能を実現するた めに,図4.11に示したようにFCチャネル数による入出力性 能のベンチマークを実施し,この結果から 16ストライプと いう数字を決定した.ちなみに,32 ドライブを用いた SAM-QFSからの測定値は,アーカイブ358MB/s,ステージ 387MB/sであった.

一方,STFについては,GSNリンクを4本ストライプす ることにより500MB/sという入出力性能を実現している.

4.4 中央可視化システムCeViSの表示特性[3]

中央可視化システムCeViSの技術的側面については,付録 Fを参照されたいが,ここでは,NS-IIIによるCFD解析結 果の幾つかの可視化事例を紹介することにより,CeViSの大 画面表示装置による可視化表示の特性(得失)を示す.

まず,三次元表示(ステレオ表示)や大画面表示をするか らといって可視化表示の方法論が従来と様変わりするとい うことは基本的にはないことに注意したい.変わるのはむし ろ受け取り方,印象の方である.表示法としては,線画によ るコンター,ポリゴンによる等値面,新しいところではボリ ューム表示等が使われる.線画によるコンター表示では,解 析対象が複雑になって,線を多数表示するような場合に三次 元表示が有効である.図 4.12 は,航空機機体形状のまわり のCFD解析結果から,物体表面の圧力分布と,主翼のある 一定断面におけるマッハ数の分布を同時に示したものであ る.コンターの線が多くなると線の位置関係の把握が困難に なるが,三次元表示により,線の前後関係や空間構造を容易 に把握することができる.多数の線を表示した場合と同様に,

多数の粒子を表示した場合も三次元表示は有効に機能する.

図 4.13 は,重合格子を用いて遷移飛行するヘリコプタの回 転ブレード及び胴体まわりの流れを非定常的に解いたもの である.物体表面の色は圧力分布を示し,パーティクル粒子 は,ブレードと後流渦,胴体の干渉状況を表している.粒子 数が多いと空間位置把握が困難だが,三次元表示により流れ の構造をクリアにつかむことができる.

三次元大画面表示は,直感的理解の増進というメリットも ある.同じコンテンツでも,例えばノートパソコン上で見る のと,大画面上や三次元表示で見るのとでは感覚的にかなり 違った印象がある(図 4.14).アピール度,写実感,鮮明度 などこれほど違うものかと驚かされるものである.単に慣れ の問題なのかもしれないし,個人差もあるだろうが,スケー ル効果とか体験感とでも分析することができるのではなか ろうか.

また,このシステムは,Infinite Reality 3というグラフィ ックスエンジンを持っていて,26 億8800万ピクセル/秒,

680億色の描画性能を有する.この性能と,ボリューム表示 や半透明表示と組み合わせることにより,非常に高精細な画 像を実現することができる(図 4.15).こうした機能は,新 たな現象の発見や知見の蓄積に有効な場合もある.

一方,このような三次元表示のデメリットとしては,1) そ こに行かないと使えない,体感できない,2) 発表で使えない,

0 1,000 2,000 3,000 4,000 5,000 6,000 7,000 8,000

100 1,000 10,000

I/O length [MB]

I/O performance [MB/s]

SRFS write SRFS read SAM-QFS write SAM-QFS read STF write STF read Fortran-write Fortran-read SAM-QFS

SRFS

STF Fortran