この技術論文では、並列コンピューティングのスケーリング効率とその影響に焦点を当てて、並列処理で MoM および MLFMM ソルバーを効率的に使用する方法について説明します。

Yamakura
Yamakura
Altair Employee

この記事は、This technical paper explains how to efficiently use the MoM and MLFMM solvers in parallel processing focusing on parallel computing scaling efficiency and its implications. を翻訳したものです。

Feko は、複雑で電気的に大規模な問題を効率的に分析するための業界をリードするソルバーと高性能コンピューティング (HPC) テクノロジを提供します。並列スケーリングの効率は、エンジニアがこのような課題を効率的に解決できるようにするための重要な指標です。

並列スケーリングの効率とは何ですか?

「並列スケーリング効率」は、コンピューティング クラスターで問題を解決するときに頻繁に発生する概念です。大規模なサーバーやクラスター コンピューティング システムを使用すると、「コアの数はいくつあれば十分か」というよくある質問が出てきます。この概念を理解し、コンピューティング クラスターでの一般的なソルバーのパフォーマンスを知ることで、この質問に対処するのに役立ちます。

「並列スケーリング効率」という用語は、パフォーマンス基準に対して測定された、既存の計算リソースに計算リソースをどれだけ効率的に追加できるかとして定義できます。簡単に言えば、ユーザーの観点からは、コア数 (または並列プロセス数) が 2 倍になると、ソリューション時間が半分になると期待されます。さらに、メモリ消費量に関しては、メモリ消費量の増加は最小限になると期待されます。理想的なシナリオでは、並列プロセス数が増加してもメモリ消費量は一定のままです。この記事では、Feko が優れた並列スケーリング機能を備えており、メモリ節約アルゴリズムによってスケーリング パフォーマンスをほぼ理想に近づけることができることがわかります。

並列スケーリングのパフォーマンスは、次の 2 つの要素に大きく依存します。

  1. 選択されたソルバー
  2. モデルの電気的なサイズ

モデルを大規模と定義することは、必ずしもその物理的なサイズに依存するわけではありません。たとえば、船舶は物理的に大きな問題であると考えられますが、関心のある周波数がわずか数 MHz であれば、これは実際には電磁気学の観点からは電気的に「小さな」問題です。問題がどの程度大規模であるかは、主にその電気的サイズ (波長) に依存します。さらに考慮すべき事項として、RCS に対するレドームの熱変形の影響など、マルチフィジックス解析があります。 

Feko は、アンテナ配置や RCS における大規模な問題を解決するのに適しています。さらに、Feko は大規模なクラスターに導入でき、利用可能なコンピューティング リソースを効率的に活用できます。

アンテナ問題の並列スケーリング

モーメント法(MoM)ソルバー

MoM は、主にモデルの表面メッシュ表現で動作する、周波数領域におけるマクスウェル積分方程式のフルウェーブ解法です。

ケース1 - 小規模モデルMoM

まず、現代のラップトップ コンピューターで解けるほど小さいモデルを考えてみましょう。これは、有限の基板上の直列給電パッチ アレイです。最長の寸法は自由空間波長の約 10 倍で、モデルは 18,000 個の未知数で構成されます。

image

このモデルには、7 GB 強のメモリが必要です。このモデルは、2 から 16 まで 2 ずつ増加するさまざまな数の並列プロセスで計算されます。下のグラフには、2 つの重要なメトリックが表示されています。

まず、合計ウォールタイムは、Feko ソルバーを起動してから終了するまでの経過時間 (物理時計で表示) です。

次に、合計メモリです。これは、ソリューションの実行中に Feko が消費するピークの合計メモリです。実行時間とメモリは、並列効率 (青)、および実際の時間とメモリ使用量 (赤) の観点から表示されます。グラフの参照は、使用される並列プロセスの最小数であり、この場合は 2 つのプロセスです。したがって、2 つのプロセスの場合、効率は 100% として表示されます。

image

 

グラフは、並列プロセスを追加すると実行時間が短縮されることを示しています。ただし、実際の値の傾きが小さくなり、効率のパーセンテージも低いことから、このモデルでは 8 ~ 10 プロセス程度が適切な数であることがわかります (効率は約 60%)。マシンにアイドル プロセスが残っている場合は、別のモデルを解くために使用できる可能性があります。メモリは、並列プロセスの増加とともにわずかに増加します。したがって、メモリに関する並列スケーリング効率はほぼ 100% です。

異なる解析モデルの計算を実行できるようにするには、最適化検索の観点から、並列プロセスの数を 4 に設定し、4 つの異なる解析モデルを実行すると、1 つの解析モデルに 16 プロセスすべてを使用するよりも速く解決できます。

ケース2 - MoMを使用した大規模モデル

次に、2.6 GHz のルーフトップ アンテナ システムを備えた自動車という、はるかに大きなモデルについて考えてみましょう。最長の次元はおよそ 36 自由空間波長で、モデルは 246,000 個の未知数で構成されており、約 450 GByte のメモリが必要です。

image

並列プロセスの数が増えると、合計ウォールタイムも大幅にスケールします。このモデルは、コンピューティング クラスターで解くのに適しています。 

image

比較

ケース 1 とケース 2 を比較し、スケーリング効率が 60% と非常に優れていることを考慮すると、パッチ アレイモデルは約 14 の並列プロセスでこのしきい値に達しますが、自動車モデルでは 64 から 128 のプロセスで同じしきい値に達します。

マルチレベル高速多重極法(MLFMM)ソルバー

MLFMM は、電気的に大規模な問題に適用可能な MoM の加速技術です。

ケース3 - MLFMMを使用した小規模モデル

MLFMM については、まず、現代のラップトップ コンピューターで解くことができるほど電気的に小さいモデルを検討します。これは 400 MHz のヘリコプターです。コックピットと尾翼の間の距離はおよそ 24 自由空間波長で、95,000 個の未知数で構成され、1 ~ 3 GByte のメモリが必要です。

image

このモデルの並列効率は、実行時間の点で非常に優れており、全体を通じて 80% を超える効率です。ただし、MLFMM ソルバーでは、並列プロセスの増加に応じてメモリが増加します。それでも、十分なメモリを備えた 16 個のコアを備えたコンピューターの場合、すべてのコアをソリューションで効率的に使用できることは明らかです。

image

ケース4 - MLFMMを使用した大規模モデル

コックピット上部の胴体にスタック パッチ アンテナを搭載した、1.1 GHz の大型旅客機の大型モデルを考えてみましょう。翼幅は約 80 メートル、つまり自由空間波長の 293 倍です。image

モデル メッシュは約 2,300 万の未知数で構成され、メモリ要件は 400 ~ 700 GByte の範囲です。

image
実行時間または合計ウォールタイムの並列スケーリング効率は、16 プロセスまでは良好ですが、プロセス数が増えると低下します。ただし、実際の実行時間 (赤い曲線) を考慮すると、128 までのプロセスの追加は無駄ではありません。MLFMM の場合、反復ソリューション ステージがソリューションの他のステージと比較して短いモデルの方が一般的にパフォーマンスが優れていると言えます。その逆も同様です。

メモリ スケーリングのパフォーマンス効率はプロセス数の増加とともに低下しますが、32 プロセスで興味深い変曲点が見られます。これは、ソリューションの実行中に、ソリューションに使用可能なメモリが不足すると予測された場合、Feko が並列プロセス (MPI) をスレッド (openMP) に自動的に変換するためです。この自動切り替えにより、実行時のパフォーマンスへの影響が数パーセントほどポイント発生しますが、使用可能なリソース内で問題を解決できます。

比較

ケース 3 とケース 4 を比較すると、旅客機のメモリ効率は向上しているように見えます。ただし、旅客機に使用できるメモリがもっと多かった場合、スレッドへの変換は行われず、メモリ消費量が増加 (メモリ スケーリングは低下)する可能性があることに留意する必要があります。

レーダー反射断面積(RCS)シミュレーションの並列スケーリング

RCS、特にモノスタティック RCS の場合、ソリューションの所要時間は主に平面波の入射角の数によって決まることを述べておく必要があります。ソルバーは、各追加入射角を新しいソースと見なし、本質的に新しいソリューションをトリガーします。MoM の場合、追加角度は MLFMM ほど実行時間に影響を与えません。MoM の場合、ソリューションは基本的に完了していますが、新しい入射角ごとにわずかな変更1 が行われ、数秒しかかかりません。MLFMM は反復ソルバーであるため、追加の入射角に対して新しい反復セットがトリガーされます。

ケース5 - MoMを使用した中規模から大規模のモデル

F5 航空機のモデルを考えてみましょう。その長さは 14 メートル (または自由空間波長の 47 倍) です。航空機は、MoM ソルバーを使用して 1 GHz で解析されます。これは 245,000 個の未知数で構成され、500 GByte 弱のメモリを必要とします。合計 361 個の入射角が解析されます。

image

image

実行時間の効率は、64 プロセスから 128 プロセスに移行するときに興味深い変曲点を示しています。ノードあたり 64 コアの場合、コンピューティング クラスター内のノード数は 1 から 2 に増加し、128 プロセスで実行できるようになりました。分散マトリックス ソリューション アルゴリズムは、2 つのコンピューティング ノードを使用する場合に効率が向上するように自動的に調整されます。この調整の影響は、解決するモデルの特性によって異なる場合があることに注意してください。

ケース6 - MLFMM(およびSPAI前処理)を使用した大規模モデル

次に、層状誘電体でモデル化された窓を備えた大型の自動車モデルを考えてみましょう。自動車は、MLFMM を使用してモノスタティック RCS に対して 14 GHz で解析されます。

image

車のサイズはわずか数メートルですが、未知数の数が 2,300 万、最長の寸法が約 200 波長であるため、このモデルも大規模であると考えられます。メモリ要件は約 260 GByte です。

image

MLFMM ソルバーは、前の入射角の解を現在の角度の解の初期推定として使用します。上のグラフの時間は、単一の入射角を解く場合の代表値です。MLFMM ソルバーで CFIE 2を使用すると、反復解の速度が大幅に向上しますが、モデルが閉じた PEC オブジェクトである必要があります。車の構造と窓に隙間があるため、この例では CFIE を使用できませんでした。 

 この場合、 SPAI 3プリコンディショナーが採用されているため、メモリのスケーリングは優れています。

ウォールタイムのスケーリング効率は低いように見えますが、RCS の場合、後続の入射角に対して反復ソリューション段階のみが繰り返されることを覚えておく必要があります。また、初期推定値の使用を考慮し、反復ソリューション段階のみを考慮すると、MLFMM を使用したモノスタティック RCS に期待できる並列スケーリングをよりよく表すものになります。 

MLFMM ソルバーの RCS とは異なり、MoM マトリックスが解決されると、各入射角が非常に速く解決されます。多くの入射角では、マトリックス計算と LU 分解段階を考慮するよりも、MoM ソルバーのソリューションのこの部分に重点を置く方が賢明です。

比較

ケース 5 とケース 6 を比較すると、実行時間とメモリの両方の点で、MoM の方が MLFMM よりもスケーラビリティに優れていることがわかります。 

ワークロード管理

散乱および RCS の問題には、多数の独立したソリューションが必要です。単一のソリューション (たとえば、単一の入射角) に利用可能なすべてのリソースを使用する代わりに、利用可能なコンピューティング リソースの一部を使用して、入射角の合計数のサブセットを同時に解決する方がはるかに効率的なソリューションです。この目的のために、モデルを入射角の合計数のサブセットに分割し、Altair PBS Professional によって管理されるコンピューティング クラスターにジョブをアップロードする機能を備えたファーミング スクリプトをダウンロードできます。その後、PBS は、ファーミング スクリプトによって同時に送信されるすべての同時ジョブを管理します。

結論

MoM は MLFMM よりもスケールが優れていることが多いですが、MoM の欠点は、モデル サイズが大きくなるにつれてメモリ消費が増加することです。メモリは、未知数 (通常はメッシュ化された三角形の数) の 2 乗に比例します。ただし、フル ウェーブ ソルバーであるため、MLFMM などの反復ソルバーで時々発生する潜在的な収束の問題はありません。Feko の既定のソルバーは MoM であり、常に適切な開始点となります。

どちらのソルバーを使用するかは、モデルの MoM を適用したものと、MLFMM を適用したものとを一定時間実行し、ソルバーの進行状況を観察することで判断できます。また、メモリ不足のために MoM ソルバーがハード ドライブの領域を使用する場合 (この点については通知されます)、MLFMM に切り替えることをお勧めします。 

最近のコンピューティング リソースの急増により、これらのソルバーで巨大な問題を解決できるようになりました。当然、この記事の大型旅客機のような大規模な問題の場合は、大規模なサーバーまたはクラスターで解決することになります。2 つや 4 つといった少数のプロセスを使用するのは無意味です。ただし、並列スケーリングの効率を計算する目的では、これらのメトリックを含めることは有用です。

電気的に巨大な問題 (たとえば、MLFMM の未知数が 1 億~ 2 億を超える問題) の場合、より合理的なスケーリング テストは、コンピューティング クラスター上の 1 つのコンピューティング ノード (たとえば、32 コアまたは 64 コア) から開始し、それを並列スケーリングの参照として使用し、次にコンピューティング ノードの数を 2 倍にして並列スケーリングの効率を把握することです。

複数のソリューションや同じモデルのバリエーションを必要とするプロジェクトに着手する前に、この記事でアンテナ配置と RCS の例とともに説明した MoM および MLFMM ソルバーなどの並列スケーリング テストを実行することは、利用可能な特定のハードウェア上で適切な数の並列プロセスを選択するための情報を得るための良い方法です。

1 MoM行列への後方代入

2 複合場積分方程式 (CFIE) は、基底関数の設定で電場積分方程式 (EFIE) と
磁場積分方程式 (MFIE) の両方を使用します。これにより、条件の整った行列が生成され、収束が向上し
、解決時間が短縮されます。

3スパース近似逆行列前処理 (SPAI) はメモリ効率の高い前処理ですが、場合によっては
収束が悪くなる可能性があります。収束には前処理が必要であり、適切なデフォルト設定が自動的に適用されます。