[W-HU-71] JMAG並列ソルバの性能評価とハードウェア選定の注意点

目次
1. 概要
2. 用語の説明
3. スレッド並列とプロセス並列
4. なぜ新しいスレッド並列ソルバは速いのか
5. 新プロセス並列ソルバが高並列で性能を発揮する理由
6. ハードウェアの性能と並列ソルバ速度向上の関係(スレッド並列・プロセス並列共通)
7. ハードウェアの性能と並列ソルバ速度向上の関係(プロセス並列)
8. まとめ
9. 参考文献

1. 概要

自動車や電気機器の設計に許される時間は、年々短くなっている。設計業務の時間を短縮するための施策の一つに、Computer Aided Engineering(CAE)の援用がある。特に電磁気に関するCAEには、電磁界有限要素解析(FEA)が用いられることが多い。その処理時間短縮が、FEA利用者からの強い要望となっている。
その解決策の一つに、並列処理による高速化が挙げられる。並列処理による速度向上を達成するための適切なソフトウェアアルゴリズムは、ハードウェアの構造に依存しやすいという特徴がある。近年のハードウェアの進歩は目覚ましいため、アルゴリズムも日進月歩で変わる必要がある。JMAGは常に最新のハードウェアに適したアルゴリズムを採用し、高い並列性能を得ている。
本ホワイトペーパーでは、新しいスレッド並列ソルバとプロセス並列ソルバが高速な理由を、アルゴリズムの視点から解説する。加えて、スレッド並列とプロセス並列それぞれについて、ハードウェアのシステム環境が与える影響を明らかにする。

2. 用語の説明

このホワイトペーパーでは、次の用語を用いる。

ノード:
ここでは「1台のコンピュータ」とする。

クラスタ:
2台以上のノードを高速なネットワークで接続したシステムのこと。

CPU:
各ノードの中に設置される、中央処理装置のこと。プロセッサと等価。
最近のCPUは複数のコアを有している。

コア:
演算処理装置。

プロセス:
プログラムの実行単位。
たとえば、JMAG-Designerを起動すると、”designer.exe”という名前のプロセスが
Windowsのタスクマネージャーに表示される。

スレッド:
プログラム実行においてコアを利用する処理の最小単位。
たとえばシングルスレッドの処理は、1プロセスあたり1つのスレッドがコアを動作させている。
マルチスレッドの場合は、1プロセスが複数のスレッドを有し、複数のコアを動作させる。

スレッド並列とプロセス並列

スレッド並列ソルバでは、図1のようにマルチスレッド処理により複数のコアを用いて並列処理を行う。一つのノード内でのみ並列処理が動作するため、そのノードに搭載されているコアの数を超える並列度での処理は不可である。
一方プロセス並列ソルバは、同一名の複数のプロセスを発生させ、プロセス間で通信をしながら並列処理をする。通信処理により、図2のようにノードをまたいだクラスタ上で並列処理をすることも可能となる。JMAGのスレッド並列ソルバとプロセス並列ソルバについて、それぞれ従来ソルバと新ソルバの特徴を表1のように整理をしておく。

図1 スレッド並列処理の概念(4並列の例)図1 スレッド並列処理の概念(4並列の例)
計算は単一プロセスで処理され、1ノード内で複数スレッドが並列に処理される。

図2 プロセス並列処理の概念(凡例は図1と同じ)図2 プロセス並列処理の概念(凡例は図1と同じ)
計算が複数のプロセスで処理されそれぞれが異なるコアに割り当てられる。

続きを読むには、サインインが必要です
こちらは会員限定コンテンツです。
『JMAGソフトウェア正規ユーザー(有償会員)』または『JMAG WEB MEMBER(無料会員)』でサインインが必要です。

『JMAG WEB MEMBER(無料会員)』へ登録することで、技術資料やそのほかの会員限定コンテンツを無料で閲覧できます。
登録されていない方は「新規会員登録」ボタンをクリックしてください。


新規会員登録 サインイン 


サインイン
新規会員登録(無料) JMAG WEBサイトの認証IDに関して

絞込み検索

  • カテゴリー 一覧