| システム | ノード 数 |
CPU 数 |
コア 数 |
algorithm | RHF | DFT | MP2 | Ave. | |||
| direct | conv. | direct | conv. | ap | bp | ||||||
| Athlon64 2.4GHz Sysrem & Swap HDD: 120GB + 320GB + 250GB if 10.0、MKL 9.1、gms07jul |
シリアル計算 (reference) | ||||||||||
| 1 | 1 | 1 | cpu time | 662 | 532 | 2125 | 2036 | 534 | 5497 | ||
| ratio | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | ||||
| wall time | 667 | 721 | 2407 | 2037 | 535 | 5564 | |||||
| ratio | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | ||||
| Xeon 5160
3.0GHz Sysrem HDD: 250GB Swap HDD: 250GB if 9.1、MKL 8.1 |
SMP並列 | ||||||||||
| 1 | 1 | 1 | cpu time | 414 | 231 | 783 | 596 | 259 | 2614 | ||
| ratio | 1.6 | 2.3 | 2.7 | 3.4 | 2.1 | 2.1 | 2.4 | ||||
| wall time | 418 | 259 | 786 | 654 | 264 | 2751 | |||||
| ratio | 1.6 | 2.8 | 3.1 | 3.1 | 2 | 2 | 2.4 | ||||
| 2 | cpu time | 214 | 129 | 495 | 379 | 180 | 1241 | ||||
| ratio | 3.1 | 4.1 | 4.3 | 5.4 | 3 | 4.4 | 4.1 | ||||
| wall time | 220 | 219 | 647 | 477 | 191 | 1277 | |||||
| ratio | 3 | 3.3 | 3.7 | 4.3 | 2.8 | 4.3 | 3.6 | ||||
| 2 | 4 | cpu time | 105 | 69 | 513 | 259 | 91 | 638 | |||
| ratio | 6.3 | 7.7 | 4.1 | 7.9 | 5.9 | 8.6 | 6.8 | ||||
| wall time | 110 | 151 | 521 | 319 | 106 | 708 | |||||
| ratio | 6.1 | 4.8 | 4.6 | 6.4 | 5 | 7.8 | 5.8 | ||||
| ネットワーク並列 | |||||||||||
| 1 | 1 | 1 | cpu time | 413 | 223 | 763 | 570 | 255 | 2606 | ||
| ratio | 1.6 | 2.4 | 2.8 | 3.6 | 2.1 | 2.1 | 2.4 | ||||
| wall time | 413 | 236 | 763 | 604 | 255 | 2728 | |||||
| ratio | 1.6 | 3.1 | 3.2 | 3.4 | 2.1 | 2. | 2.6 | ||||
| 2 | 2 | 2 | cpu time | ||||||||
| ratio | |||||||||||
| wall time | 213 | 149 | 399 | 303 | 203 | 1345 | |||||
| ratio | 3.1 | 4.8 | 6 | 6.7 | 2.6 | 4.1 | 4.6 | ||||
| 4 | 4 | 4 | cpu time | ||||||||
| ratio | |||||||||||
| wall time | 110 | 64 | 230 | 195 | 127 | 848 | |||||
| ratio | 6.1 | 11.3 | 10.5 | 10.4 | 4.2 | 6.5 | 8.2 | ||||
| システム | ノード 数 |
CPU 数 |
コア 数 |
algorithm | MCSCF | MRMP2 | Ave. | ||||
| det,soscf | det,NR | guga,soscf | guga,NR | ap | bp | ||||||
| Athlon64 2.4GHz
Sysrem & Swap HDD: 120GB + 320GB + 250GB if 10.0、MKL 9.1、gms07jul |
シリアル計算 (reference) | ||||||||||
| 1 | 1 | 1 | cpu time | 658 | 2191 | 1275 | 2816 | 943 | 2137 | ||
| ratio | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | ||||
| wall time | 718 | 2507 | 1358 | 3166 | 961 | 2150 | |||||
| ratio | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | ||||
| Xeon 5160
3.0GHz Sysrem HDD: 250GB Swap HDD: 250GB if 9.1、MKL 8.1 |
SMP並列 | ||||||||||
| 1 | 1 | 1 | cpu time | 317 | 866 | 476 | 1014 | 433 | 1023 | ||
| ratio | 2.1 | 2.5 | 2.7 | 2.8 | 2.2 | 2.1 | 2.4 | ||||
| wall time | 325 | 914 | 504 | 1138 | 441 | 1029 | |||||
| ratio | 2.2 | 2.7 | 2.7 | 2.8 | 2.2 | 2.1 | 2.5 | ||||
| 2 | cpu time | ||||||||||
| ratio | |||||||||||
| wall time | 70 | 554 | 2008 | 807 | 294 | 665 | |||||
| ratio | 10.3 | 4.5 | 0.7 | 3.9 | 3.3 | 3.2 | 4.3 | ||||
| 4 | 4 | cpu time | |||||||||
| ratio | |||||||||||
| wall time | 125 | 374 | 125 | 546 | 495 | 690 | |||||
| ratio | 5.7 | 6.7 | 10.9 | 5.8 | 1.9 | 3.1 | 5.7 | ||||
| ネットワーク並列 | |||||||||||
| 1 | 1 | 1 | cpu time | 310 | 825 | 457 | 977 | 423 | 996 | ||
| ratio | 2.1 | 2.7 | 2.8 | 2.9 | 2.2 | 2.1 | 2.5 | ||||
| wall time | 311 | 829 | 459 | 1118 | 425 | 1001 | |||||
| ratio | 2.3 | 3 | 3 | 2.8 | 2.3 | 2.1 | 2.6 | ||||
| 2 | 2 | 2 | cpu time | ||||||||
| ratio | |||||||||||
| wall time | 244 | 725 | 346 | 820 | 255 | 583 | |||||
| ratio | 2.9 | 3.5 | 3.9 | 3.9 | 3.8 | 3.7 | 3.6 | ||||
| 4 | 4 | 4 | cpu time | ||||||||
| ratio | |||||||||||
| wall time | 246 | 533 | 325 | 593 | 159 | 355 | |||||
| ratio | 2.9 | 4.7 | 4.2 | 5.3 | 6 | 6.1 | 4.9 | ||||
◆ 計算機の構成
System : HPC-ProServer DPr490 4ノード
CPU : Dual-Core Xeon 5160 3.0GHz FSB1333MHz 2CPU 4Core
Memory : DDRII-667 FB-DIMM 8GB
System HDD : SATA 250GB 7200rpm x1
スクラッチ HDD : SATA 250GB 7200rpm x1
OS : RedHat EL WS4 Update3 EM64T
Kernel : 2.6.9-34
Compiler : Intel Fortran Compiler Version9.1
Math lib : Intel Math Kernel Library Version8.1
GAMESSは高速なスクラッチディスクが必要です。またGAMESSの分散並列システムでは、各計算機に高速なRAID0スクラッチディスクを搭載し、各計算ノード毎にディスクI/Oさせることでの総合バンド幅が絶大な効果を発揮することが知られています。ところが、マルチコア環境ではCPUコアの集約により、スクラッチディスクも集約されるため、より高速なディスクが求められます。この点を踏まえたうえでのベンチマークを網羅的に行いました。
なお、テストではスクラッチディスクにRAID0構成を用いず、単体の250GBのSATAドライブでテストを行いディスクの影響を受けやすくしています。
このテストには大阪府立大学小関先生が公開されているGAMESSベンチマークの入力ファイルを先生のご厚意によりご提供いただき使用しました。
◆ 小関先生のベンチマークページ
HF-based methods (小関先生のベンチマークページを新ウインドウで開く)
MCSCF-based methods (小関先生のベンチマークページを新ウインドウで開く)
(いずれのベンチマークでもPentium 4、3.2GHz 1CPU 2000MB RAM、240GB HDD、Red Hat Linux 8.0、ifc、ATLAS、gms03julという実行条件が性能の基準 [1.00]
となっております。)
◆ SMP並列計算 (smpと表記) は1台のみによる2CPU 4Core構成としています。コンベンショナル計算の場合 (グラフではconvと表記) SMP並列計算でのスクラッチスペースはローカルの250GBディスクを1基のみでテストしています。
◆ 分散並列計算 (distribと表記) では計算機を4台用いて各ノードの1CPU 1Coreのみを用いての計算です。コンベンショナル計算の場合 (convと表記) 分散並列計算でのスクラッチスペースは各ノードに実装されている250GBディスクを並列度の数だけ複数並列動作させてテストを行っています。4ノード並列動作時のスクラッチファイルI/Oはシステムとして4基のディスクに分散されるので4倍高速です。さらに、各ノードには4CPUコアが搭載されているため、計算が割り当てられていないフリーのCPUコアがI/O処理を行うのでファイルI/OでのCPU待ち時間が抑えられています。加えてメモリも総計で32GB (8GB x4) 搭載されており、ディスクキャッシュとして機能していると考えられます。
SMP並列計算のチューニングに関しては、多数のディスクを用いてRAID0を構成しディスクI/O速度の高速化、RAIDコントローラを用いてCPUコアに変わってディスクI/Oを処理させること、大容量のメモリを搭載し、ディスクキャッシュの効果を積極利用することなどが考えられます。
■ 参考 RAID0のテスト
GAMESS用計算機システム構築では、SMP並列環境か分散並列環境かの選択は大きな検討課題です。GAMESSがアクセスするデータ階層は複雑であり、分類するとローカルメモリ上のメインプロセス、分散共有メモリ上のDDIプロセス、ディスク上のスクラッチデータに分かれており、計算規模及び計算手法に応じて、これらを使い分けて計算が行われるからです。
以下は、大阪府立大学小関先生が公開されているGAMESSベンチマークテストを利用させて頂き、「SMP」構成では1台の2CPU 4Core 8GBメモリ 1ディスクの計算機を用い、これに対してネットワーク並列では4台の同じ計算機上で、各1、2、4並列演算を実行させ、その結果をグラフにプロットしたものです。
GAMESSの計算では、ノードやコアを増やすと順調に性能があがるものもあれば、そうでないものもあります。ノード数を増やすと時間は減るけれど並列効率はあまり良くないものもあります。現状の測定では分散並列実行に関しては並列数を増やせば実行時間が短くなるという傾向がありますが、SMP並列計算は、一概にどうだと結論づけられない挙動を示しているものがあります(MCSCF、MRMP2)。CPUキャッシュ競合、メモリアクセス競合、ディスクI/O競合が複雑に絡み合っていることがこのような複雑な挙動を示す原因と予想されます。