プログラムの高速化・並列化サービスの事例

チューニングレポート 要約:マルチスケール流体の分子動力学と直接数値シミュレーションのスケーラブルな連成:その2

*ここに掲載するのは、インペリアルカレッジロンドンのEdward Smith, David Trevelyan and Tamer A. Zaki両博士によるHECToRレポート「Scalable coupling of Molecular Dynamics (MD) and Direct Numerical Simulation (DNS) of Multi-scale Flows - Part 2, Edward Smith, David Trevelyan and Tamer A. Zaki, Mechanical Engineering, Imperial College London London SW7 2AZ, United Kingdom, May 31, 2013」を要約したものです。

[2016年10月掲載]



概要

大規模科学シミュレーションの継続的な開発は、複雑系の物理学において前例のないシミュレーションを可能にして来ました。こうしたシミュレーションは先進的な計算手法、特に数千コア上の正確性、効率およびスケーラビリティに対する開発に基礎を置いています。さらに、こうしたコードの数学的な詳細や、設計、実装あるいは最適化は対象に特化されています。よってマルチフィジクスの探究目的にこれらを適用することは方法論および計算科学的に極めて重大な課題です。このプロジェクトでは、大規模並列アルゴリズムに適用可能なカプラライブラリが開発されています。このライブラリが対象とするのは、連続系-分子系連成流体のマルチスケールシミュレーションです。

最新の技術の多くは、原子レベルからマクロなレベルまでの幅広い空間スケールを持つ流体現象に適用されています。このようなマルチスケールの流れにおいては、壁表面近傍の個々の原子の運動は流体の大まかな動きを決定し、6次以上のオーダーを超える動きを含んでいます。これに対して、マイクロ流体チャネルや疎水性表面上の濡れ性における動電学的流れのような、ナノスケールとマクロスケール間の複雑な相互作用に依存する様々な応用があります。よってこうしたマルチスケール現象のモデル化とそれを把握する機能は、マイクロ流体制御や、抗力減衰表面加工、また他のマルチスケール技術における大きな進歩を導くでしょう。

現状の計算手法は大規模原子集団の運動力学、あるいはマクロな流体の振る舞いのいずれかに独立してフォーカスされています。最小単位では分子動力学(MD)シミュレーションが、閉じた領域内での個々の相互作用に従う個別の原子の運動を追跡します。この手法は液体の輸送やせん断性の決定に成功を収めてきました[5,6]。他方、直接数値シミュレーション(DNS)は連続体の仮定を採用し、大きな計算領域内の各点における流速に対する非線形偏微分方程式を解きます。例えば、ZakiらによるDNSコード Transflow[13,14,15]は、乱流における渦モード相互作用のような純粋な流体現象に用いられてきました。しかしながら現状では、これら方法論を一つのフレームワークへ統合する、特に大規模並列科学計算の観点で幾つかの試みが成されています。

このプロジェクトの目標は、様々な物理現象の効率的な連成シミュレーションの最先端の計算フレームワークを開発、検証、最適化することです。特にこのプロジェクトでは、現実に近いシミュレーションのために高忠実度DNSをMDシミュレーションと連成することに焦点を当てています。このMD-DNS連成コードは、ミクロな表面やコーティングのような分子スケールの現象がどのようにマクロな流体運動に影響を及ぼすか、という点に関して新たな能力と洞察を提供します。この全スケールを解像する能力を用いることにより、簡略化され、時に不正確な分子スケールの構成的なモデルを不要となります。

連続体:Transflow

連続体の手法は、コントロールボリュームを用いた曲線座標系における非線形、非圧縮型Navier-Stokes方程式を解きます。数値計算の詳細はこの主題ではありませんが、MDコードとの連成に関連するソルバのアルゴリズムについて以下に記します。例えば、コントロールボリューム法は保存型を保ち、正確な連成を簡便にします。このアルゴリズムはこれまでにせん断流の安定性に関する高忠実度研究において用いられ、最も高い精度を示しています[13, 14]。計算コストの面においても楕円型圧力ソルバには効率的なアルゴリズムが求められます。

このコードは米国DoEのスーパーコンピュータや、ドイツスーパーコンピューティングセンタ(HLRB)およびHECToRにおいてベンチマークを実施されました。英国乱流コンソーシアム(UKTC)の一部として、デアズベリー研究所によりTransFlowはHECToR上の性能とスケーラビリティを検証されました。極最近にHECToR[7]において大規模並列乱流シミュレーションがに適用され、103コアまでスケーラビリティが観察されました。

並列化はMPIを用いています。MPIプロセスに渡って計算領域を分割する手法を用います。MPIプロセス当たりの領域サイズは、体積に対する表面積比を最小化することで決定します。これによりデータ交換に対して計算コストを最大化します。性能試験は、平坦表面上の乱流に対してカルテシアンメッシュを用いて行いました。シミュレーションはMPIタスク当たり106グリッドポイントを用いて行いました。このアルゴリズムは、64コアの性能との比較により1024コア上で約90%の並列効率を示しました。

MD:StreamMD

分子動力学のアルゴリズムは、個々の分子の集団に対してニュートンの運動方程式を解きます。もっと単純な場合の相互作用はLennard-Jonesポテンシャルですが、長い鎖状の分子も可能です。アルゴリズムの加速はセルリストの更新で行います。これは物理的に近接した分子の記録を行うものです。これらのセルは、セルリストの再構築を行う前に、相互作用をする分子が同じあるいは隣のセルに存在するステップの数を最大化する用に最適化されます。さらに、隣接する分子を記録する隣接リストによってさらに加速されます。
並列化はMPI領域分割で実装されています。物理領域はMPIプロセスに渡って、連続体ソルバと似たやり方で分割されます。隣接セル、つまり隣接分子は同じMPIプロセスに置かれます。ハロ、つまり境界におけるセルのコピーは、セルリストおよび隣接リストの更新前に計算量が最大化するように置かれます。 StreamMDの領域分割並列手法はTransFlowのものと似ています。これは連続体とMDの境界における境界処理間で、論理的な結合を容易にします。

StreamMDの性能はサンディア国立研究所のLAMMPSと比較され、最適化されて、多くの並列性能のテストが行われました。StreamMDのスケール性能はLAMMPSと同等であることが実証されました。さらにTransFlowと同様に、103コア上でスケーラビリティを検証しました。3.3*106分子を用いた場合、StreamMDはHECToR上の8コアの性能と比較して、1024コアを用いた場合に94%の並列効率を示しました。

マクロスケールにおけるMDシミュレーションの法外なコストがハイブリッド手法の開発動機となりました。MDシミュレーションの方が例えばインターフェイスのように空間的に小さな領域に制限されます。流体の残りの領域は連続体手法で解かれます。MD領域と連続領域間の重なる部分では、2つの状態の交換と2つの記述の結合が生じます。

CFDとMDの連成

マクロスケールにおけるMDシミュレーションの法外なコストがハイブリッド手法の開発動機となりました。MDシミュレーションの方が例えばインターフェイスのように空間的に小さな領域に制限されます。流体の残りの領域は連続体手法で解かれます。MD領域と連続領域間の重なる部分では、2つの状態の交換と2つの記述の結合が生じます。

MDと連続体の記述は各々独立では確立しています。困難は重なり部分で生じ、そこにおいて2つは連成しなくてはなりません。連成は保存則を満足させ、密度や、運動量、エネルギーおよび流速の連続性を保障しなくてはなりません。MDから連続体への当て嵌めは直裁的で、微視的な性質はローカルな空間で積分され、時間に関しては連続領域の境界条件を与えます。しかしながらその逆は自明で無く、実際にユニークに決まりません。連続体と分子の結合はこのプロジェクトでは、Flekkoyらによる流速交換を基礎にしています。これは一つの“flow”配置から他の配置へ流速を自然に満足させますが、状態変数の連続性については注意が必要です。

上述の連成手法はカノニカル問題で検証されました。例えば、平坦表面と2次元の人工的なラフネスを分子で表現した場合のCouette-Poiseuille層流をシミュレーションしました。

カプラの実装

カプラはMPIの思想に基づき改良を行いました。
カプラの対象とするクライアントアプリケーションのスコープとデータの整合性のを維持するため、カプラはインターフェイス独立なアプリケーションとして設計されました。これは以下にの議論だけでなくMPIのMPMD機能を利用して実現されます。

カプラはライブラリールーチンの集合として設計され、クライアントアプリケーション内の関数呼出しでアクセスされます。クライアントアプリケーションの変更を最小限にするために、これらの呼出しはクライアント内で“socket”あるいは“portal”モジュールとして纏められています。この呼び方は、クライアントがソケットモジュールを通してカプラへ差し込まれるやり方を表現するためのものです。

カプラは、(i)クライアント間のインターフェイスセットアップ、(ii)データ交換、および(iii)パラメータ設定の3つのカテゴリーから構成されました。

作業のまとめ

作業は以下の項目について実施しました:
・計算資リソースの適切な分割による、負荷バランスの改善。
・ノンブロッキングMPI通信の実装。
・TransFlowへのOpenMP/MPIハイブリッド並列化の実装
・MDファーミング手法の実装

結論

大規模並列計算手法の連成は困難な課題ですが、マルチフィジクスシミュレーションでは必須です。このプロジェクトで開発されたカプラはライブラリ形式であり、独立に計算を行う様々なアプリケーションから利用可能です。これはアプリケーションの実行に影響を与えることなく、データの交換のみを管理することで明確に区別されています。MPIライブラリのモデルに従ってアプリケーションのインターフェイスを取ります。

この連成ライブラリを用いる際に、クライアントアプリケーションには、カプラライブラリを通して通信を制御するソケットルーチンクラスを用いる以外は、いかなる変更も必要ありません。このやり方は、独立な大規模並列アプリケーションのインターフェイスを取る最も簡便な方法です。これは個々のアプリケーションデータ構造や、その管理、並列実装およびスコープと独立なため、開発者のにとっても扱いやすいものです。

カプラライブラリは連続体-分子流体の連成シミュレーションに適用されました。連続体にはTransFlow、分子動力学にはStreamMDが用いられました。これらは広範囲に検証され、並列スケーラビリティが最適化されました。検証にはCouette流とPoiseuille流シミュレーションを行いました。

謝辞

このプロジェクトは、NAG Ltd.が運営するHECToRの分散計算科学および工学(CSE)サービスの基に実行されました。英国の国立スーパーコンピューティング・サービスである、HECToR:英国リサーチ・カウンシル・ハイエンド計算サービスは、リサーチ・カウンシルを代行するEPSRCが管理しています。そのミッションは英国学術界の科学および工学の研究支援です。HECToRスーパーコンピューターは、UoE HPCx Ltd.およびNAG Ltd.のCSEサポートサービスにより管理運営されています。

文献

[1] M. K. Borg, G. B. Macpherson, and J. M. Reese. Controllers for imposing continuumto-molecular boundary conditions in arbitrary fluid flow geometries. Molec. Sims., 36:745, 2010.
[2] R. Delgado-Buscalioni and P.V. Coveney. Continuum-particle hybrid coupling for mass, momentum, and energy transfers in unsteady fluid flow. Phys. Rev. E, 67:046704, 2003.
[3] E. G. Flekkoy, G. Wagner, and J. Feder. Hybrid model for combined particle and continuum dynamics. Europhys. Lett., 52:271, 2000.
[4] N. G. Hadjiconstantinou. Hybrid atomistic-continuum formulations and the moving contactline problem. J. Comp. Phys., 154:245, 1999.
[5] D. M. Heyes. Shear thinning and thickening of the Lennard-Jones liquid. a molecular dynamics study. Journal of the Chemical Society, Faraday Transactions 2: Molecular and Chemical Physics 82, 13651383.
[6] D. M. Heyes. Transport coefficients of Lennard-Jones fluids: A molecular-dynamics and effective- hard-sphere treatment. Phys. Rev. B 37 (10), 56775696.
[7] J. Lee, S. Y. Jung, H. J. Sung and T. .A. Zaki Effect of wall heating on turbulent boundary layers with temperature-dependent viscosity. Journal of Fluid Mechanics 726, 196-225.
[8] J. Li, D. Liao, and S. Yip. Coupling continuum to molecular-dynamics simulation: Reflecting particle method and the field estimator. Phys. Rev. E, 57:7259, 1997.
[9] X. B. Nie, S.Y. Chen, W. N. E, and M.O. Robbins. A continuum and molecular dynamics hybrid method for micro- and nano-fluid flow. J. of Fluid Mech., 500:55, 2004.
[10] S. T. O’Connell and P. A. Thompson. Molecular dynamics-continuum hybrid computations: A tool for studying complex fluid flow. Phys. Rev., E 52:R5792, 1995.
[11] W. Ren. Analytical and numerical study of coupled atomistic-continuum methods for fluids. J. of Comp. Phys., 227:1353, 2007.
[12] T. Werder, J. H. Walther, and P. Koumoutsakos. Hybrid atomistic-continuum method for the simulation of dense fluid flows. J. of Comp. Phys., 205:373, 2005.
[13] T. .A. Zaki and P. A. Durbin Mode interaction and the bypass route to transition. Journal of Fluid Mechanics 531, 85111.
[14] T. .A. Zaki and P. A. Durbin Continuous mode transition and the effects of pressure gradient. Journal of Fluid Mechanics 563, 357388.
[15] T. .A. Zaki, J. Wissink, P. A. Durbin and W. Rodi DNS of transition to turbulence in a linear compressor cascade. In High Performance Computing in Science and Engineering. Springer.
関連情報
MENU
Privacy Policy  /  Trademarks