超並列計算研究会 PCクラスタにおける ベンチマークと並列ツールの紹介 廣安 知之 三木 光範 大向 一輝 吉田 純一
発表の概要 ベンチマークの必要性 PCクラスタのためのベンチマーク 他の並列計算機との比較 並列ツール
Benchmark 背景 「安価で高速」とされているPCクラスタ CPU性能・メモリ容量の向上 価格の低下 実際の性能は? 価格の低下 実際の性能は? 汎用並列計算機との比較 コストパフォーマンス PCクラスタの性能を正確に知るためのベンチマーク
ScaLAPACK, 姫野ベンチ, NASPara... Benchmark さまざまなベンチマーク CPUベンチマーク I/Oベンチマーク グラフィックスベンチマーク アプリケーションベンチマーク ・・・ PCクラスタに要求される性能 並列計算ベンチマーク ScaLAPACK, 姫野ベンチ, NASPara... 並列計算性能 ネットワーク性能 ネットワークベンチマーク Netperf
CPU Pentium III 500MHz *2 (Dual) Mikilab Linux Cluster Mikilab Linux Cluster 2台故障中... マスター*1 スレーブ*8 CPU Pentium III 500MHz *2 (Dual) Memory 128MB OS Debian / Gnu Linux 2.2.12 並列ライブラリ MPICH / PVM3
ScaLAPACK http://www.top500.org/ 世界のスーパーコンピュータ ランキング 「TOP500 SUPERCOMPUTER」 で用いられるベンチマーク 「LINPACK」の並列版 http://www.top500.org/
ScaLAPACK 1 2 3 4 N N N * N行列に対してLU分解を行う 行列を複数に分割し,それぞれを 1つのプロセスが担当する プロセス間通信には並列ライブラリ MPI / PVMを用いる process 1 process 2 MPI / PVM process 3 process 4
NAS Parallel Benchmark(1) 特徴 NASA Ames Research Centerで開発された 並列コンピュータのためのベンチマーク 8種類の対象問題と5種類のクラスによる 多角的な性能測定が可能 並列コンピュータの実効性能を知る上で、 権威あるベンチマークの1つ
NAS Parallel Benchmark(2) 対象問題 Kernel EP 乗算合同法による一様乱数、正規乱数の生成 MG 簡略化されたマルチグリッド法のカーネル CG 正値対称な大規模疎行列の最小固有値を求めるための共役勾配法 FT FFTを用いた3次元偏微分方程式の解法 IS 大規模整数ソート Simulated CFD Application Benchmarks LU Synmetric SOR iterationによるCFDアプリケーション SP Scalar ADI iterationによるCFDアプリケーション BT 5x5 block size ADI iterationによるCFDアプリケーション サイズ 問題のサイズの異なる5つのクラス:S(ample), W(orkstation), A, B, C
HIMENO BENCHMARK 姫野ベンチマーク 特徴 ポアッソン方程式解法を ヤコビの反復法で解く場合の, 主要なループの処理速度を計測 流体計算結果に比較的近い値が出る コードが非常に短く,即座に 実測速度が求められる 並列計算機のサポート (MPI)
HIMENO BENCHMARK - result Mikilab Linux Clusterでの実行結果
HIMENO BENCHMARK - result 他の並列計算機との比較
HIMENO BENCHMARK - result コストパフォーマンス Fujitsu VPP5000 4137.30 MFLOPS ¥ 4,400,000 (月額レンタル料) Mikilab Linux Cluster 400 MFLOPS(8node) ¥ 1,000,000 ~ ¥ 1,600,000 ベンチマークによって,コストパフォーマンスがわかる VPP5000を4ヶ月借りる金額で,同等の性能のLinux Clusterが 手に入る(?)
Genetic Algorithms Benchmark 遺伝的アルゴリズム(GA) 生物の適応進化を工学的に模倣した 確率的最適化アルゴリズム 評価 選択 環境に適応できた個体(良い解)は生き残りやすく,適応できない個体(悪い解)は生き残りにくい 評価 このように進化を繰り返し,最適解にたどりつく 複数の個体=解候補による多点探索 選択 個体はそれぞれ染色体を持ち,交叉や突然変異に よって染色体を変化させていく 交叉 突然変異 交叉 突然変異 終了判定
Genetic Algorithms Benchmark 分散遺伝的アルゴリズム(DGA)と並列化 母集団を複数のサブ母集団に分割,独立にGAを実行 定期的に個体を交換する=移住 特徴: より早くより高品質な解を求めることが可能 並列実装しやすいモデル 各ノードがそれぞれサブ母集団を担当
Genetic Algorithms Benchmark GAベンチマーク 同志社大学工学部知的システムデザイン研究室 で開発中のPDC汎用GAコード(GAPPA)を応用 したベンチマーク 対象問題 : 10次元Rastrigin関数の最小化 並列ライブラリ: MPI 世代数とサブ母集団数を指定して分散GAを実行 実行時間で計算機の性能を測定 Rastrigin関数(2変数)
Network Performance Benchmark ネットワークベンチマークの目的 実ネットワークの性能評価 ネットワーク・スタックの性能評価 ネットワークの性能の決定要因 スプールネット : 単位時間における処理量を示す指標 遅延 : レイテンシ(待ち時間)とRTT(往復時間) PCクラスタのパフォーマンスに 大きな影響を与える
Netperf Benchmark ネットワークに接続された2ノード間におけるTCPおよびUDPを 利用した通信のスプールネットおよび,ネットワーク遅延を計測 TCP STREAM TEST to localhost Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 65535 65535 65535 10.00 530.89
並列ツール PCクラスタを利用する上での要望 ・多数のノードの状態を把握するのは困難 全ノードの状態が一覧表示できるツールがあると便利 ・並列プログラムはどのように実行されているかが分かりにくい 実行の様子を視覚的に表示してくれるツールがあると便利 PCクラスタのをもっと有効に使うための 便利なフリーウェアが開発されている
Beowulf Watch bWatch クラスタの各ノードのメモリやプロセスを一覧表示 Tcl/tk を利用した簡単なプログラム インストールや設定が簡単 全ユーザーが利用可能
XPVM XPVM PVMのためのグラフィカルなコンソールとモニタ PVMのプログラムの実行状況を簡単に確認 PVMの操作をGUIで行える 並列プログラムのデバッグなどをサポート
デモンストレーション ・姫野ベンチマーク ・NAS Parallel Benchmark ・GA Benchmark デモをご覧ください(予定) ・姫野ベンチマーク ・NAS Parallel Benchmark ・GA Benchmark ・Beowulf Watch
おわりに http://is.doshisha.ac.jp/SMPP/ 補足資料 本日紹介したベンチマークやツールの ・入手先 ・インストール方法 ・利用方法 などは・・・ 超並列計算研究会ホームページ http://is.doshisha.ac.jp/SMPP/