Skip to main content
QUICK REVIEW

[論文レビュー] On the Implementation of a Scalable Simulator for Multiscale Hybrid-Mixed Methods

Antônio Tadeu A. Gomes, Weslley da Silva Pereira|arXiv (Cornell University)|Mar 30, 2017
Advanced Mathematical Modeling in Engineering参考文献 8被引用数 5
ひとこと要約

本稿では、マルチスケールハイブリッドミックスド(MHM)有限要素法のスケーラブルなシミュレータプロトタイプを2つ提示している。それぞれMPI(C++/MPI)またはErlang(C++/Erlang)を用いて並列処理を分散している。Erlangベースのバージョンは、768コアまでで妥当なスルーブレイトを達成し、強力なフェイルオーバー対応を備えており、MPIに比べて原始性能は低いものの、クラウドおよびエクサスケールHPC環境への実用性を示している。

ABSTRACT

The family of Multiscale Hybrid-Mixed (MHM) finite element methods has received considerable attention from the mathematics and engineering community in the last few years. The MHM methods allow solving highly heterogeneous problems on coarse meshes while providing solutions with high-order precision. It embeds independent local problems which are responsible for upscaling unresolved scales into the numerical solution. These local contributions are brought together through a global problem defined on the skeleton of the coarse partition. Since the local problems are completely independent, they can be easily computed in parallel. In this paper, we present two simulator prototypes specifically crafted for the MHM methods, which adopt two different implementation strategies: (i) a multi-programming language approach, each language tackling different simulation issues; and (ii) a classical, single-programming language approach. Specifically, we use C++ for numerical computation of the global and local problems in a modular way; for process distribution in the simulator, we adopt the Erlang concurrent language in the first approach, and the MPI standard in the second approach. The aim of exploring these different approaches is twofold: (i) allow for the deployment of the simulator both in high-performance computing (with MPI) and in cloud computing environments (with Erlang); and (ii) pave the way for further exploration of quality attributes related to software productivity and fault-tolerance, which are key to Exascale systems. We present a performance evaluation of the two simulator prototypes taking into account their efficiency.

研究の動機と目的

  • マルチスケールハイブリッドミックスド(MHM)有限要素法に特化したスケーラブルで高性能なシミュレータの開発を目的とする。
  • Erlangを用いたフェイルセーフティを備えたクラウドデプロイメントを目的としたマルチ言語アプローチと、従来のHPCを想定した単一言語MPIベースのアプローチという、2つの異なる実装戦略を評価することを目的とする。
  • 2つのアプローチの間で、パフォーマンス、生産性、フェイルセーフティのトレードオフを評価することを目的とする。
  • 粗いメッシュ上で高次の精度を実現しつつ、極めて不均一なマルチスケール問題を効率的にシミュレートできるようにすることを目的とする。

提案手法

  • MHM法は、粗いメッシュの骨格上でグローバル問題を解き、各要素で独立して並列に局所問題を解くことで微細スケールの特徴を捉える。
  • グローバル問題と局所問題の数値計算は、両プロトタイプともモジュラーなC++コードで実装されている。
  • プロセスの分散は、最初のプロトタイプ(HPC最適化)ではMPI、2番目のプロトタイプ(クラウド最適化)ではErlangのアクター基盤の並行処理モデルによって管理されている。
  • Erlangバージョンには、フェイルセーフティを強化するための完全なノードおよびリンクのフェイルオーバー機構が含まれている。
  • 強スケーリングと弱スケーリングの両方を、四面体要素数が増加する3つの問題サイズ(724,992~74,293,248)を用いて評価している。
  • パフォーマンス指標には実行時間、スルーブレイト、効率性を含み、24コアでのマルチスレーディングのみをベースラインとして比較している。

実験結果

リサーチクエスチョン

  • RQ1MPIとErlangを併用したハイブリッドMHMシミュレータは、異なるHPCおよびクラウドデプロイメント環境を想定して効果的に実装可能か?
  • RQ2ErlangベースのMHMシミュレータは、従来のMPIベースの実装と比較して、スケーリング効率性においてどの程度の性能を示すか?
  • RQ3Erlangベースのアプローチは、パフォーマンスを犠牲にせずに、フェイルセーフティおよびソフトウェア生産性をどの程度サポートできるか?
  • RQ4コアあたりの負荷が一定であるように問題サイズを拡大した場合、MHMシミュレータの弱スケーリング効率性はどの程度か?

主な発見

  • MPIベースのシミュレータは、最大問題に対して768コアで92.60%の強スケーリング効率性を達成し、高い原始パフォーマンスを示している。
  • Erlangベースのシミュレータは、768コアで61.89%の強スケーリング効率性を達成しており、通信オーバーヘッドが高めでも、実用的なパフォーマンスを示している。
  • 12,288×59から12,288×6,046個の四面体にスケーリングした際、Erlangでは54.34%、MPIでは58.95%の弱スケーリング効率性を示し、良好な負荷スケーリングが確認された。
  • Erlangバージョンでは、問題サイズが102.47倍に拡大したのに対し、実行時間が1.84倍にしか増加しなかったため、効果的な弱スケーリングが実現された。
  • 高いオーバーヘッドがあるにもかかわらず、Erlang実装は良好な生産性を達成しており、1名の開発者が4か月で完全なフェイルセーフティを備えたシステムを完成させた。
  • 結果から、Erlangは特にクラウドおよびエクサスケール環境において、フェイルセーフティを備えたHPCアプリケーションのための実用的な協調言語であることが示唆された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。