分散遺伝的アルゴリズムによる 各種クラスタのベンチマーク 廣安 三木 谷村 吉田 佐野 知之(同志社大学・工) 光範(同志社大学・工) 勇輔(同志社大学・大学院) 純一(同志社大学・大学院) 正樹(同志社大学) IBMのチャレンジ DEEP BLUE チェスの世界チャンピオン,カスパロフを破った 他の分野でもこれに比肩する偉業が達成される可能性 BLUE GENE (1PetaFLOPs) “タンパク質の構造解析”にチャレンジ!! コンピュータの設計およびアーキテクチャに対して従来と はまったく異なるタンパク質に適したアプローチをとる ハードウエアとソフトウエアの進化 •頭を使うよりも力技? •頭を使う場合も道具をよく知って... 道具を磨くと性能50%UP 頭を使うと性能5%UP システムの性能を左右する要因 •CPU,メモリ •ネットワークハードウエア •ネットワークソフトウエア(ドライバ,NFSその他) •OS •コンパイラ •並列ライブラリ •コンパイルオプション •その他 ベンチマークの分類 ・コンピュータの性能評価の難しさ コンピュータの挙動はプログラムによってさまざま 比較の指標を一意に決めることは困難 用途に応じたさまざまなベンチマークが存在 LINPACK / ScaLAPACK 世界のスーパーコンピュータのランキング 「TOP500 SUPER COMPUTER」 で用いられる由緒あるベンチマーク LU分解を行うためのサブルーチンを ベンチマークに利用 http://www.top500.org 数値演算能力(浮動小数点演算)を測定 するのに適している 姫野ベンチマーク ポアソン方程式をヤコビの反復法 で解く場合の主要なループの処理速度 を計測 → 流体計算の性能測定に向く コードが非常に小さく,実行が容易 理化学研究所の 姫野龍太郎氏が開発 WindowsやMac用のバイナリもある → 手軽にベンチマークが可能 NAS Parallel Benchmark NASA Ames Research Center で開発 された並列計算機のためのベンチマーク 8種類の対象問題と5種類のクラスによる 多角的な性能の評価が可能 並列コンピュータの実行性能を知る上で 権威あるベンチマークの一つ 使用クラスタ Fraulein Jupiter ruins sequence cluso CPU P3 500MHz P3 600MHz P2 400MHz P3 850MHz P3 700MHz SMP ○(2Procs) × × × ○(2Procs) #Node 8+1 8+1 16 8+1 32+1 #Proc 18 9 16 9 65 Memory 128MB 128MB 128MB 256MB 128MB Linux 2.2.12 Linux 2.2.? Linux 2.2.16 gcc 2.95.2 gcc 2.95.2 gcc 2.95.2 OS Linux 2.2.15 Linux 2.2.14 Compiler gcc 2.95.2 gcc 2.95.2 Network 100BASE-T +Switching Hub Myrinet 100BASE-T 100BASE-T 100BASE-T +Switching Hub +Switching Hub +Switching Hub 姫野ベンチマークの結果 MPICH(1.2.0) 姫野ベンチマークの結果 Sequence cluster Pentium 3 850MHz + 100BASE-T (TCP/IP) Jupiter cluster Pentium 3 600MHz + Myrinet (GM) 並列計算機の性能はCPUにだけに依存しない NPBの結果 MPICH(1.2.0) 分散GA 通常のGA 分散GA 選択 交叉 突然変異 評価 移住 分散GAでは母集団を複数に分割して解探索を行う 各島でそれぞれ独立に遺伝的操作を行う 一定間隔で移住を行い,個体の交換をする GAPPAベンチマーク (分散GAのベンチマーク) •計算負荷,ネットワーク負荷 (移住間隔)はパラメータによっ て設定 •個体数 640 •移住率 0.3 •交叉率 0.8 •ビット列の長さ 100 •終了世代 2000 計算負荷とトラス構造解析との比較 1× 5× 10× 50× 100× 10段~12段 500× 20段~24段 100段~120段 GAによる最適化で早いネット ワークが必要なのか? ノード数 プロセッサ メモリ OS Network Cluso コンパイラ:gcc(2.95.3), mpiCC オプション:-O2 –funroll-loops 30 20 15 20 15 10 10 5 5 0 0 0 1X 5X 10X 50X 100X 500X 25 Speedup Speedup 30 1X 5X 10X 50X 100X 500X 25 通信ライブラリ 10 20 30 32 PentiumⅢ 700MHz 128 Mbytes Linux 2.2.16 Fast Ethernet,TCP/IP Switching HUB MPICH 1.2.1 0 10 20 Number of Process Number of Process migration interval 1 migration interval 5 30 MPICHとLAMの比較(SMP) ノード数 プロセッサ メモリ OS Network Cluso 移住間隔1 コンパイラ:gcc(2.95.3), mpiCC オプション:-O2 –funroll-loops 60 40 30 40 30 20 20 10 10 0 0 0 1X 5X 10X 50X 100X 500X 50 Speedup 50 Speedup 60 1X 5X 10X 50X 100X 500X 20 40 60 32 × 2 PentiumⅢ 700MHz 128 Mbytes Linux 2.2.16 Fast Ethernet,TCP/IP Switching HUB 0 20 40 Number of Process Number of Process LAM (6.3.2) MPICH (1.2.1) 60 MPICHとLAMの比較(SMP) ノード数 プロセッサ メモリ OS Network Cluso 移住間隔5 コンパイラ:gcc(2.95.3), mpiCC オプション:-O2 –funroll-loops 60 40 30 40 30 20 20 10 10 0 0 0 1X 5X 10X 50X 100X 500X 50 Speedup 50 Speedup 60 1X 5X 10X 50X 100X 500X 20 40 60 32 × 2 PentiumⅢ 700MHz 128 Mbytes Linux 2.2.16 Fast Ethernet,TCP/IP Switching HUB 0 20 40 Number of Process Number of Process LAM (6.3.2) MPICH (1.2.1) 60 MPICHとLAMの比較 (プロセス数) ノード数 プロセッサ メモリ OS Network 8 8 6 6 4 Speedup Speedup sequence 移住間隔1 コンパイラ: gcc(2.95.2), mpiCC オプション:-O2 –funroll-loops 1X 5X 10X 50X 100X 500X 2 8 PentiumⅢ 850MHz 256 Mbytes Linux 2.2.17 Fast Ethernet,TCP/IP Switching HUB 4 2 0 0 0 10 20 30 0 10 20 Number of Process Number of Process LAM (6.4-a3) MPICH (1.2.0) 30 MPICHとLAMの比較 (プロセス数) ノード数 プロセッサ メモリ OS Network 8 8 6 6 4 Speedup Speedup Sequence コンパイラ: gcc(2.95.2), mpiCC オプション:-O2 –funroll-loops 1X 5X 10X 50X 100X 500X 2 8 PentiumⅢ 850MHz 256 Mbytes Linux 2.2.17 Fast Ethernet,TCP/IP Switching HUB 4 2 0 0 0 10 20 30 0 10 20 Number of Process Number of Process LAM (6.4-a3) MPICH (1.2.0) 30 システムの性能を左右する要因 •CPU,メモリ •ネットワークハードウエア •ネットワークソフトウエア(ドライバ,NFSその他) •OS •コンパイラ •並列ライブラリ •コンパイルオプション •その他
© Copyright 2024 ExpyDoc