片側通信を用いた並列フラグメント 分子軌道計算プログラムの実装 稲富雄一*,真木淳*,本田宏明*, 薄田竜太郎***,井上弘士**,青柳睦* *; 九州大学情報基盤研究開発センター **; 九州大学システム情報科学研究院 ***; 福岡県産業・科学技術振興財団 SWoPP2007 旭川 目次 • 研究目的 • フラグメント分子軌道(FMO)法について • スケルトンコードとPSI-SIMについて • FMOスケルトンコードを用いた性能評価 • まとめ SWoPP2007 旭川 研究目的 次世代スパコンで想定される大規模並列計算機で効率 よく動作する並列フラグメント分子軌道法プログラムを 作成する 現状は・・・ • プロトタイプ(スケルトンコード(後述))が完成した • きちんと計算できるコード(実コード)作成中 SWoPP2007 旭川 目次 • 研究目的 • フラグメント分子軌道(FMO)法について • スケルトンコードとPSI-SIMについて • FMOスケルトンコードを用いた性能評価 • まとめ SWoPP2007 旭川 フラグメント分子軌道(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万年 SWoPP2007 旭川 FMO法の計算手順 •対象分子をいくつかの小さなフラグメントに分割する R1 O R3 O H N H N NH2 OH N H O ペタコン時代の入力は 1万~10万フラグメント R5 N H R2 O R4 O •分子全体の電子状態を、フラグメント(モノマー)とフラグメントペア(ダイマー) の電子状態を用いて求める Nfrag FMO total E N EIJ ( Nfrag 2) EI , I J I FMO total D Nfrag N I J I DIJ ( Nfrag 2) DI •フラグメント(モノマー、ダイマー)電子状態は、該当フラグメントと、その近傍の モノマーの密度行列を基にして計算する EIn 1 DnI 1 f DnI , DnK K neighborhoot of monomer I , residues EIJ D IJ f D I , D J , D K Kneighborhoot of monomer I and J , residues •すべてのモノマーの電子状態が収束するまで、モノマー電子状態計算を繰り返す (Self-Consistent Charge, SCC) SWoPP2007 旭川 20~40回の繰り返し 計算 密度行列操作のタイミング D 0 I initial density calculation update monomer density matrices electronic structure calculation for monomer n1 I E D f D ,D n 1 I n I n K Kneighborhood of monomer I refer monomer matrices needed in electronic structure calculation not yet converged convergence check of SCC procedure SCC procedure already converged update monomer density matrices electronic structure calculation for SCF-dimer EIJ DIJ f DI , DJ , DK Kneighborhood of monomer I and J approximated electronic structure calculations for ES-dimer EIJ DIJ f EI , EJ , DI , DJ refer monomer matrices needed in electronic structure calculation refer two monomer matrices needed in dimer-ES calculation For all monomers evaluate approximated electronic structure of entire system Nfrag Nfrag I J I FMO Etotal EIJ Nfrag 2 EI , Nfrag Nfrag I J I DFMO total DIJ N frag 2 DI SWoPP2007 旭川 For all SCF-dimers For all separated dimers Update all monomer density matrices Refer some monomer density matrices 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) SWoPP2007 旭川 密度行列データの保存・参照方法 ①各MPIランクが、すべてのデータを保存する(非分散保存、従来法) 利点: • データ参照時のコストが軽い(メモリコピー程度) 欠点: • 各MPIランクが使用するメモリがネックになって、計算対象分子に対 するスケーラビリティーがない • データの更新処理に多くの通信コストがかかる ②すべてのMPIランクで分散して保存する(分散保存) 利点: • メモリ不足が起きにくい • FMO法の特性で、分散保存に伴う通信コスト増加は、それほど大き くない、と予想される(かも?) 欠点: • データ参照の効率を考えると、片側通信機構が必要である • データ参照時のコストが増加する SWoPP2007 旭川 目次 • 研究目的 • フラグメント分子軌道(FMO)法について • スケルトンコードとPSI-SIMについて • FMOスケルトンコードを用いた性能評価 • まとめ SWoPP2007 旭川 PSI-SIMのワークフロー 評価アプリ ケーション (実機実行:可能) 評価アプリ ケーション (実機実行:不可能) プログラムコード抽象化 (BSIM-Parser) 1. BSIM-Parser プロセッサ情報 データベース 2. BSIM-Logger スケルトン コード 通信プロファイル生成 (BSIM-Logger) 評価アプリケーションのプログラ ムコード抽象化(通信プロファイ ルの高速生成を目的) 通信プロファイルの生成(中規 模システムによる大規模システ ムの通信プロファイル生成を目 的) 評価イン ターコネク ト構成 通信プロファイル (ゼロ通信遅延) モデル化 インターコネクト シミュレーション (NSIM) インターコネクト コンフィグレーション (NDLファイル) 3. NSIM ネットワークシミュレーション(ゼ ロ通信遅延プロファイルへの実 遅延時間付加が目的) 4. ANA 予測実行時間 ネットワーク性能 通信プロファイル (通信遅延有) アプリケーションの可視化/解 析(アプリケーションの評価や開 発支援が目的) 可視化/解析 (ANA) 通信トラフィックの可視化 プログラム最適化の指針提供 SWoPP2007 旭川 スケルトンコード スケルトンコードとは・・・ プログラム中における主要な計算部分を削除して、その代わりに、 推定計算時間を埋め込んだコード 図: スケルトンコードの例 実コード スケルトンコード double foo(int n) { int i; double r=0.0; for (i=0; i<n; i++) { r += calculate_something(i); } return r; } SWoPP2007 旭川 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; } スケルトンコードとBSIM Logger スケルトン コード PSIプロジェクトで開発中のBSIM Loggerと、スケル トンコードを組み合わせて用いることで、ゼロ通信遅 延の通信プロファイル(clog2形式)が得られる 通信プロファイル作成 (BSIM Logger) 通信プロファイル (ゼロ通信遅延) 表:通常のMPE環境で得られるプロファイルとの相違点 通常のMPE BSIM Logger 通信イベントのタイム スタンプ 実際の計算時間、通信時間 を基に決められる BSIM_Add_timeで与えられた推 定実行時間を基に決められる 通信遅延 有限の値を持つ ゼロ SWoPP2007 旭川 目次 • 研究目的 • フラグメント分子軌道(FMO)法について • スケルトンコードとPSI-SIMについて • FMOスケルトンコードを用いた性能評価 • まとめ SWoPP2007 旭川 FMOプログラムの基本構造 全MPIランク(MPI_COMM_WORLD)をいくつかの単位 に分割して、分割された各単位で分担して計算を行う グループ=フラグメント(モノマー、ダイマー)電子状態計算を行う単位 マスター=各グループに対して、電子状態計算を行うフラグメントの割当て を行うMPIプロセス(動的負荷分散を行う場合) マスター グループ 0 グループ 1 グループ Ngroup-1 rank 0 rank 0 rank 0 rank 1 rank 1 ・ ・ ・ ・ ・ ・ ・ ・ ・ rank Pgroup-1 rank Pgroup-1 rank Pgroup-1 MPI_COMM_WORLD SWoPP2007 旭川 ・・・ rank 1 並列FMO計算のスケルトンコード • フラグメント(モノマー、ダイマー)の電子状態計算部分を BSIM_Add_time関数で置き換えた。 • 上記のBSIM_Add_timeに与える値(フラグメント電子状態計算の推定実 行時間は、 NAREGIプロジェクト*で、九州大学の高見氏らが実測値を基 に得た経験式)を基にした。 • モノマー密度行列の通信部分はスケルトンコードに埋め込んだ このようにして、非分散保存バージョン(OpenFMO-1)と、分散保存 バージョン(OpenFMO-2)のスケルトンコードを作成した。 *;文部科学省プロジェクト「超高速コンピュータ網形成プロジェクト(National Research Grid Initiative (NAREGI)」 SWoPP2007 旭川 2つのFMOスケルトンコードを用いた性能評価 OpenFMO-1とOpenFMO-2のスケルトンコードをBSIM Loggerを用いてそのまま実行すると、性能に差が出な い 通信遅延以外に両者に差がないのに、BSIM Loggerで得られたプロ ファイルには通信遅延0として記録されているから 実測値に即した通信遅延時間をBSIM_Add_time関数でログに加算することで、 通信遅延時間の「粗い推定」を行った。 •MPI_SendとMPI_Recvの通信遅延時間をデータサイズを変えて求め、1対1通 信の通信遅延時間の経験式を求めた •集団通信はbinomial treeライクの1対1通信の繰り返しで行うことを仮定した •MPI_Put, MPI_Getは、それぞれ、MPI_Send, MPI_Recvと同じ通信遅延とした SWoPP2007 旭川 性能評価環境 使用計算機: 理研スーパーコンバインドクラスタ(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) SWoPP2007 旭川 密度行列へのアクセスに関わる通信時間の比 OpenFMO-1 Ttotal OpenFMO-2 Ttotal Ngroup NSCC log 2 Ngroup log 2 Pgroup N N NSCC 1 log 2 Pgroup NSCC 1 Nifc4c, monomer SCF dimer ifc4c, dimer Nfrag 1 2 Ngroup グループ数, NSCC SCC繰り返し回数 Pgroup グループあたりランク数, Nifc4c, monomer モノマーあたりの近接モノマー数 NSCF dimer モノマーあたりSCFダイマー計算をする相手モノマーの数 Nifc4c, dimer ダイマーあたりの近接モノマー数 •フラグメント数Nfragが大きくなると、従来の非分散保存が有利 •グループ数Ngroup(計算機規模)が大きくなると、分散保存が有 利 SWoPP2007 旭川 OpenFMO-1とOpenFMO-2の通信コストの比 target molecule = Aquaporin (14,432 atoms, 492 fragments) 16 ranks/group 10 TOpenFMO-1/TOpenFMO-2 OpenFMO-2 is better 1 measured ratios estimated ratios OpenFMO-1 is better 0.1 8 16 32 number of group SWoPP2007 旭川 64 まとめ 大量のモノマー密度行列データを分散保存しても、通信コストの増加の 程度は小さく、使用する計算機資源が大きくなると、むしろ、従来の保存 方法より効率が良いことが分かった 密度行列を分散保存することで、スケーラビリ ティーのある並列FMO計算プログラムが作成でき る SWoPP2007 旭川 MPIライブラリに対する希望 1. MPI-2規格、特に、片側通信機構(MPI_Put, MPI_Get関数など) を実装して欲しい 2. MPI_THREAD_SERIALIZED以上のスレッドサポートを実装し て欲しい 2は、フラグメントの電子状態計算において、動的負荷分散を用いた細粒 度並列化を効率よく行うために必要 SWoPP2007 旭川 謝辞 •本研究は,文部科学省「次世代IT基盤構築のための研究開発」,研究開発 領域「将来のスーパーコンピューティングのための要素技術の研究開発」 (平成17年度~19年度)における研究開発課題「ペタスケール・システムイン ターコネクト技術の開発」による. •文部科学省プロジェクト「超高速コンピュータ網形成プロジェクト(National Research Grid Initiative:(NAREGI)」 で得られたデータを一部使用している. •計算機を用いた実験は,すべて,理研スーパーコンバインドクラスタ (RSCC)のLinuxクラスタを用いて行った. SWoPP2007 旭川
© Copyright 2025 ExpyDoc