並列化のベンチマーク事例
並列化について
LS-DYNAでは、計算速度向上の為、2つの並列計算ロジックを用意しています。SMP(Shared Memory Parallel)とMPP(Massively Parallel Processing)です。SMPは、1つの筐体内にマルチCPUを搭載した1台のワークステーション、サーバ等を使用します。1つのジョブに対し同時に2つ以上のCPUを使用して計算が行われます。マシンの設定、使用方法が容易で、通常のシングルCPU版の全ての機能が使用できます。欠点としては、1つのメモリを共有していますので、プロセッサ数が多くなるとスケール効果が得られなくなってくる点です。
一方、MPPは一般にクラスターシステムと呼ばれ、1つの問題を複数の部分に分割し、それぞれをネットワーク接続された複数のコンピュータに分散して並列計算を行います。メモリは各ノードで管理されますので、大規模なプロセッサ数に向きます。欠点としては、SMP版の一部の機能が使用できない点になります。それぞれのコンピュータ(ノードと呼びます)は1プロセッサのみ搭載したマシンでも、複数プロセッサ搭載したものでも結構ですが、CPUの性能は極力揃える必要があります。また、各ノードを接続するネットワークには出来るだけ高速なもの(1000BASE-T以上)を用います。個々のPCのハードウエア価格は低下してきていますので、SMP型スーパーコンピュータに比べますと、比較的低価格で大規模なシステムを構築することが出来ます。
|
また、Dual coreのプロセッサにつきましても、1コアが1CPUと見なされますので2コア(CPU)を用いてSMPでの並列計算が可能です。システムの総CPU数は以下の様に、接続されているノード数(SMPの場合は1ノード)、プロセッサ数、コア数で決まります。
総CPU数=[ノード数]×[1ノード当りのプロセッサ数]×[1プロセッサ当りのコア数]
並列化の速度計測例
以下の様な2種類の解析に対して、マルチCPUによる計算時間を測定しました。板成形問題はnumisheet2002モデルによるフェンダーの成形加工計算になります。モデル規模は約62000節点、64000要素で、現象時間は6.5×10-2secです。また、衝突問題は自動車の衝突解析であり、モデル規模は約290000節点、535000要素、現象時間は0.03secです。
下図に速度比を示します。速度比は、1CPUでの計算時間を1とした場合の計算速度倍率です。
2CPUで1.6倍前後、4CPUで2.8倍程度の計算速度が得られていることが分かります。例えば、シングル版を用いて36時間かかっていた計算が、一晩(12時間)で終了することになります。
dual coreのプロセッサにつきましては、4CPUのSMPの場合速度比が余り伸びないことが分かります。一般的にシングルコアのプロセッサを用いた方がスケール効果が得られる様です。