Skip to main content
QUICK REVIEW

[論文レビュー] Asynchronous Execution of the Fast Multipole Method Using Charm++

Mustafa Abdulmajeed AbdulJabbar, Rio Yokota|arXiv (Cornell University)|May 29, 2014
Electromagnetic Scattering and Analysis参考文献 1被引用数 5
ひとこと要約

この論文では、分散メモリN体シミュレーションにおける負荷バランスと通信の重ね合わせを改善するために、Charm++を用いた非同期な高速多重法(FMM)を提案している。細粒度のデータ駆動型タスク割り当てと動的負荷バランスを活用することで、10⁸個の粒子を有する極めて非一様なPlummer分布において1,000倍以上の高速化を達成した。これは、オーバーヘッドを隠すのが難しいほど優れたシリアル性能を示すにもかかわらず、従来のバッチ同期的FMMを上回った。

ABSTRACT

Fast multipole methods (FMM) on distributed mem- ory have traditionally used a bulk-synchronous model of com- municating the local essential tree (LET) and overlapping it with computation of the local data. This could be perceived as an extreme case of data aggregation, where the whole LET is communicated at once. Charm++ allows a much finer control over the granularity of communication, and has a asynchronous execution model that fits well with the structure of our FMM code. Unlike previous work on asynchronous fast N-body methods such as ChaNGa and PEPC, the present work performs a direct comparison against the traditional bulk-synchronous approach and the asynchronous approach using Charm++. Furthermore, the serial performance of our FMM code is over an order of magnitude better than these previous codes, so it is much more challenging to hide the overhead of Charm++.

研究の動機と目的

  • 分散メモリFMMにおけるバッチ同期通信の制限を克服し、より細粒度で非同期的なタスク実行を可能にすること。
  • Charm++のようなデータ駆動型実行モデルが、優れたシリアル性能を示す高性能FMMコードにおいて通信遅延を効果的に隠すことができるかを評価すること。
  • 局所的およびグローバルな木構造を分離する二重木走査を用いた、新たな分割法を考案・検証すること。
  • 問題サイズが三桁のスケールにわたっても、問題サイズのオフセットなしに強スケーラビリティを示すことを実証すること。
  • 提案された分割用重み付け方式が、多様な粒子分布および2の累乗でないコア数においても低負荷不均衡を維持することを確認すること。

提案手法

  • 局所的必須木(LET)のバッチ同期的MPI_Alltoallv通信を置き換えるために、Charm++の非同期的でメッセージ駆動型の実行モデルを採用すること。
  • グローバルキーまたは立方体セルを必要としない二重木走査アプローチを用い、局所的およびグローバルな木構造の幾何的分離を実現すること。
  • 式(1)を用いて計算作業と通信負荷の両方を最適化する、新たな分割重み付け方式を設計し、プロセス間での作業負荷をバランスさせること。
  • 局所的およびグローバルな木構造の構造的独立性を活かして、木の接続処理を単純化することで、FMMコードとCharm++を統合すること。
  • 1,025コア(2の累乗ではない)を用いた強スケーリングテストを実施し、非理想的なプロセス数分布下での性能を評価すること。
  • 立方体、球、Plummer分布の複数の粒子分布に対して、非同期的Charm++ベースFMMと従来のバッチ同期的FMMを直接比較すること。

実験結果

リサーチクエスチョン

  • RQ1Charm++を用いた非同期実行モデルは、バッチ同期通信と比較して、高性能FMMにおける通信ボトルネックを効果的に低減できるか?
  • RQ2提案された分割法は、多様な粒子分布および2の累乗でないコア数においても低負荷不均衡を維持できるか?
  • RQ3シリアル性能が先行研究を10倍以上上回るFMMコードにおいて、非同期モデルが通信オーバーヘッドをどの程度隠すことができるか?
  • RQ4標準的な手法と比較して、新しい分割重み付け方式は、異なる分布において負荷バランスにどの程度優れているか?
  • RQ5動的負荷バランス、データプリフェッチ、データフロー実行の組み合わせによって、問題サイズが三桁のスケールにわたって強スケーリングを達成できるか?

主な発見

  • Charm++を用いた非同期FMMは、10⁸個の粒子を有する極めて非一様なPlummer分布において、1,000倍を超える高速化を達成し、顕著な性能向上を示した。
  • 通信オーバーヘッドを隠すのが難しいほど顕著な優れたシリアル性能を示すにもかかわらず、非同期アプローチは依然としてバッチ同期モデルを上回った。
  • 提案された分割用重み付け方式は、全テスト対象分布(立方体、球、Plummer)で類似した負荷不均衡を達成しており、分布の種別に強く依存しない堅牢性を示した。
  • 1,025コア(2の累乗ではない)でも負荷不均衡は低く保たれ、分割法の非理想的なプロセス数でも有効であることを確認した。
  • 初期の分割フェーズにおける通信ボトルネックは非同期実行によって軽減され、問題サイズが三桁のスケールにわたって強スケーリングが実現した。
  • 二重木走査により、局所的およびグローバルな木構造の明確な分離が可能になり、Charm++との統合を容易にし、コードの複雑さを低減した。

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

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

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

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