1 / 23

片側通信を用いた並列フラグメント分子軌道計算プログラムの実装

片側通信を用いた並列フラグメント分子軌道計算プログラムの実装. 稲富雄一*,真木淳*,本田宏明*, 薄田竜太郎***,井上弘士**,青柳睦* * ; 九州大学情報基盤研究開発センター ** ; 九州大学システム情報科学研究院 *** ; 福岡県産業・科学技術振興財団. 目次. 研究目的 フラグメント分子軌道( FMO )法について スケルトンコードと PSI-SIM について FMO スケルトンコードを用いた性能評価 まとめ. 研究目的. 次世代スパコンで想定される大規模並列計算機で効率よく動作する並列フラグメント分子軌道法プログラムを作成する.

skylar
Télécharger la présentation

片側通信を用いた並列フラグメント分子軌道計算プログラムの実装

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 片側通信を用いた並列フラグメント分子軌道計算プログラムの実装片側通信を用いた並列フラグメント分子軌道計算プログラムの実装 稲富雄一*,真木淳*,本田宏明*, 薄田竜太郎***,井上弘士**,青柳睦* *; 九州大学情報基盤研究開発センター **; 九州大学システム情報科学研究院 ***; 福岡県産業・科学技術振興財団

  2. 目次 • 研究目的 • フラグメント分子軌道(FMO)法について • スケルトンコードとPSI-SIMについて • FMOスケルトンコードを用いた性能評価 • まとめ

  3. 研究目的 次世代スパコンで想定される大規模並列計算機で効率よく動作する並列フラグメント分子軌道法プログラムを作成する • 現状は・・・ • プロトタイプ(スケルトンコード(後述))が完成した • きちんと計算できるコード(実コード)作成中

  4. 目次 • 研究目的 • フラグメント分子軌道(FMO)法について • スケルトンコードとPSI-SIMについて • FMOスケルトンコードを用いた性能評価 • まとめ

  5. フラグメント分子軌道(FMO)法とは? • タンパク質、DNA、糖鎖などの大規模分子に対する電子状態計算を行うために開発された計算手法 • 並列処理向きである 20,581原子 77,754電子 164,442関数 1,398フラグメント 参考:SC|05, T. Ikegami et al., technical paper FMOでの計算時間=72.5時間(Opteron (model 246), 600プロセッサ使用時) cf. 従来分子軌道法(Hartree-Fock法)で計算した場合の予想計算時間=およそ20万年

  6. FMO法の計算手順 ペタコン時代の入力は 1万~10万フラグメント • 対象分子をいくつかの小さなフラグメントに分割する • 分子全体の電子状態を、フラグメント(モノマー)とフラグメントペア(ダイマー)の電子状態を用いて求める • フラグメント(モノマー、ダイマー)電子状態は、該当フラグメントと、その近傍のモノマーの密度行列を基にして計算する • すべてのモノマーの電子状態が収束するまで、モノマー電子状態計算を繰り返す • (Self-Consistent Charge, SCC) 20~40回の繰り返し計算

  7. initial density calculation electronic structure calculation for monomer update monomer density matrices refer monomer matrices needed in electronic structure calculation SCC procedure electronic structure calculation for SCF-dimer update monomer density matrices refer monomer matrices needed in electronic structure calculation approximated electronic structure calculations for ES-dimer refer two monomer matrices needed in dimer-ES calculation For all monomers For all SCF-dimers Update all monomer density matrices For all separated dimers Refer some monomer density matrices 密度行列操作のタイミング not yet converged convergence check of SCC procedure already converged evaluate approximated electronic structure of entire system

  8. MPI-2仕様(片側通信)の必要性 次世代スパコンでのFMO計算の入力として想定している10万フラグメントの場合・・・ 密度行列要素の保存に必要なメモリ容量≒43GB ! モノマー密度行列あたりの平均データサイズ≒450KB • このデータをすべてのMPIプロセスが保持することは、非常に大変なので、密度行列の分散保存が必要 • これまでの並列FMOプログラム(GAMESS[1]やABINIT-MP[2])では、すべてのMPIプロセス各々が、すべての密度行列データを保存する手段をとっている • 効率よくリモートメモリにアクセスするためには、片側通信機構が必須 [1] M.W.Schmidt et al., J. Comput. Chem., Vol.14, pp.1347-1363 (1993) [2] T. Nakano et al., Chem. Phys. Lett., Vol.318, pp.614-618 (2000)

  9. 密度行列データの保存・参照方法 • ①各MPIランクが、すべてのデータを保存する(非分散保存、従来法) • 利点: • データ参照時のコストが軽い(メモリコピー程度) • 欠点: • 各MPIランクが使用するメモリがネックになって、計算対象分子に対するスケーラビリティーがない • データの更新処理に多くの通信コストがかかる • ②すべてのMPIランクで分散して保存する(分散保存) • 利点: • メモリ不足が起きにくい • FMO法の特性で、分散保存に伴う通信コスト増加は、それほど大きくない、と予想される(かも?) • 欠点: • データ参照の効率を考えると、片側通信機構が必要である • データ参照時のコストが増加する

  10. 目次 • 研究目的 • フラグメント分子軌道(FMO)法について • スケルトンコードとPSI-SIMについて • FMOスケルトンコードを用いた性能評価 • まとめ

  11. 評価アプリケーション (実機実行:可能) 評価アプリケーション (実機実行:不可能) プログラムコード抽象化 (BSIM-Parser) プロセッサ情報データベース スケルトンコード 通信プロファイル生成 (BSIM-Logger) 評価インターコネクト構成 モデル化 通信プロファイル (ゼロ通信遅延) インターコネクトシミュレーション (NSIM) インターコネクトコンフィグレーション (NDLファイル) • 予測実行時間 • ネットワーク性能 通信プロファイル (通信遅延有) 可視化/解析 (ANA) • 通信トラフィックの可視化 • プログラム最適化の指針提供 PSI-SIMのワークフロー • BSIM-Parser • 評価アプリケーションのプログラムコード抽象化(通信プロファイルの高速生成を目的) • BSIM-Logger • 通信プロファイルの生成(中規模システムによる大規模システムの通信プロファイル生成を目的) • NSIM • ネットワークシミュレーション(ゼロ通信遅延プロファイルへの実遅延時間付加が目的) • ANA • アプリケーションの可視化/解析(アプリケーションの評価や開発支援が目的)

  12. 実コード スケルトンコード double foo(int n) { int i; double r=0.0; /* for (i=0; i<n; i++) { r += calculate_something(i); } */ BSIM_Add_time ( etime(n) ); return r; } double foo(int n) { int i; double r=0.0; for (i=0; i<n; i++) { r += calculate_something(i); } return r; } スケルトンコード スケルトンコードとは・・・ プログラム中における主要な計算部分を削除して、その代わりに、推定計算時間を埋め込んだコード 図: スケルトンコードの例

  13. スケルトン コード 通信プロファイル作成 (BSIM Logger) 通信プロファイル (ゼロ通信遅延) スケルトンコードとBSIM Logger PSIプロジェクトで開発中のBSIM Loggerと、スケルトンコードを組み合わせて用いることで、ゼロ通信遅延の通信プロファイル(clog2形式)が得られる

  14. 目次 • 研究目的 • フラグメント分子軌道(FMO)法について • スケルトンコードとPSI-SIMについて • FMOスケルトンコードを用いた性能評価 • まとめ

  15. MPI_COMM_WORLD マスター ・・・ グループ 1 グループ 0 グループ Ngroup-1 rank 0 rank 0 rank 0 rank 1 rank 1 rank 1 ・・・ ・・・ ・・・ rank Pgroup-1 rank Pgroup-1 rank Pgroup-1 FMOプログラムの基本構造 全MPIランク(MPI_COMM_WORLD)をいくつかの単位に分割して、分割された各単位で分担して計算を行う グループ=フラグメント(モノマー、ダイマー)電子状態計算を行う単位 マスター=各グループに対して、電子状態計算を行うフラグメントの割当てを行うMPIプロセス(動的負荷分散を行う場合)

  16. 並列FMO計算のスケルトンコード • フラグメント(モノマー、ダイマー)の電子状態計算部分をBSIM_Add_time関数で置き換えた。 • 上記のBSIM_Add_timeに与える値(フラグメント電子状態計算の推定実行時間は、 NAREGIプロジェクト*で、九州大学の高見氏らが実測値を基に得た経験式)を基にした。 • モノマー密度行列の通信部分はスケルトンコードに埋め込んだ このようにして、非分散保存バージョン(OpenFMO-1)と、分散保存バージョン(OpenFMO-2)のスケルトンコードを作成した。 *;文部科学省プロジェクト「超高速コンピュータ網形成プロジェクト(National Research Grid Initiative(NAREGI)」

  17. 2つのFMOスケルトンコードを用いた性能評価 OpenFMO-1とOpenFMO-2のスケルトンコードをBSIMLoggerを用いてそのまま実行すると、性能に差が出ない 通信遅延以外に両者に差がないのに、BSIM Loggerで得られたプロファイルには通信遅延0として記録されているから 実測値に即した通信遅延時間をBSIM_Add_time関数でログに加算することで、通信遅延時間の「粗い推定」を行った。 • MPI_SendとMPI_Recvの通信遅延時間をデータサイズを変えて求め、1対1通信の通信遅延時間の経験式を求めた • 集団通信はbinomial treeライクの1対1通信の繰り返しで行うことを仮定した • MPI_Put, MPI_Getは、それぞれ、MPI_Send, MPI_Recvと同じ通信遅延とした

  18. 性能評価環境 • 使用計算機: •   理研スーパーコンバインドクラスタ(RSCC)のLinuxクラスタ部分の一部 • プロセッサ: dual Xeon(3.06GHz)/node, 64 nodes • ネットワーク: Gigabit ether • コンパイラ: GCC version 3.2 • MPIライブラリ: BSIM loggerパッチをあてたMPICH2(version 1.0.4p1) • 使用プログラム: • OpenFMO-1とOpenFMO-2のスケルトンコード(フラグメント電子状態計算部分をスケルトン化してある) • 入力データ: • アクアポリン分子(PDB ID=2F2B, モノマー数=492)

  19. 密度行列へのアクセスに関わる通信時間の比 • フラグメント数Nfragが大きくなると、従来の非分散保存が有利 • グループ数Ngroup(計算機規模)が大きくなると、分散保存が有利

  20. OpenFMO-1とOpenFMO-2の通信コストの比 target molecule = Aquaporin (14,432 atoms, 492 fragments) 16 ranks/group OpenFMO-2 is better OpenFMO-1 is better

  21. まとめ 大量のモノマー密度行列データを分散保存しても、通信コストの増加の程度は小さく、使用する計算機資源が大きくなると、むしろ、従来の保存方法より効率が良いことが分かった 密度行列を分散保存することで、スケーラビリティーのある並列FMO計算プログラムが作成できる

  22. MPIライブラリに対する希望 • MPI-2規格、特に、片側通信機構(MPI_Put, MPI_Get関数など)を実装して欲しい • MPI_THREAD_SERIALIZED以上のスレッドサポートを実装して欲しい 2は、フラグメントの電子状態計算において、動的負荷分散を用いた細粒度並列化を効率よく行うために必要

  23. 謝辞 • 本研究は,文部科学省「次世代IT基盤構築のための研究開発」,研究開発領域「将来のスーパーコンピューティングのための要素技術の研究開発」(平成17年度~19年度)における研究開発課題「ペタスケール・システムインターコネクト技術の開発」による. • 文部科学省プロジェクト「超高速コンピュータ網形成プロジェクト(National Research Grid Initiative:(NAREGI)」 で得られたデータを一部使用している. • 計算機を用いた実験は,すべて,理研スーパーコンバインドクラスタ(RSCC)のLinuxクラスタを用いて行った.

More Related