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

HECToRプロジェクト DL_POLYの速度改善

対象プログラム 分子動力学シミュレーション
アプリケーション名 DL_POLY
チューニング方法 ロードバランシング,剛体力学の実装
成果 速度改善
[2014年4月掲載]

HECToR dCSE Teamによる分子動力学コード (DL_POLY_3) の改善

Ilian Todorov, Bill Smith, Laurence Ellison, STFC Daresbury Laboratory
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)

DL_POLY_loadbalancing

NAG のHECToR(英国の国立の学術スーパーコンピュータ設備)向けの計算化学技術(CSE)サポートサービスのもとで業務を行うSTFC Daresbury のHPC開発者は、DL_POLY分子動力学パッケージを改善し、並列利用可能なプロセッサ数を2桁増やしました。 さらに大きな生体分子に対するDL_POLYの実行時間が短縮され、現状の計算に掛かる予算内でより大きく複雑な系の研究が可能になりました。

コードに対して2つの改善を行うことで著しい進展がありました。それらは不均一な系やより大きな生体分子の計算効率を改善します。

本プロジェクトでは次の2つの改善を取り込むことに焦点を当てました。それは (i) 空間的に不均一な原子密度を持つ系のモデリングの際にコードの効率性を改善するロードバランシングスキーマ、そして (ii) 力や運動方程式をより良く記述する剛体力学です。

dCSEプロジェクトに言及して, STFC Daresbury 研究所のIlian Todorov博士 は次のように述べています。 「特定のロードバランサの理解を改め、その可能性や能力を正当に評価するという点で役に立ったプロジェクトでした。しかしながら、労力は限られておりその複雑さから、この開発は実際のCSEの有用性よりもより学術的な価値が求められました。コストがとても高すぎるため、繰り返し資金を調達すること無しには、既に大規模になったコードに対して開発して組み込む作業はとても困難です。このdCSEプロジェクトが剛体力学アルゴリズム開発に対して行った尽力は、広範囲に渡ったテストのための非常に貴重な時間でした。そしてトポロジーオブジェクトの動的な結合や領域分解フレームワークをもつ様々な自由度の処理について学びました。全体として、このプロジェクトで私たちはこうした開発に必要とされた努力をいかに著しく過小評価をしていたかを認識しました。」

HECToR
HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはNAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとNAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。

これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているDL_POLYプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。

プロジェクトの背景

DL_POLY は汎用の古典分子動力学(MD)パッケージで、HECToRなどのマルチコアマシンを用いた大規模系のモデリングを目的としています。DL_POLY_3 は並列化において静的かつ擬似空間的な領域分割スキームを使用しており、約1,000,000の原子系について512コアまでスケールします。しかしながら、空間的不均一性が大きな系を扱う際にはコア間に不均等な作業配分が生じるため、こうしたスキームでは非効率的になります。このプロジェクトの主な目的は、動的ロードバランシングを追加することによりこの問題を回避することでした。定期的にコアのワークロード間の不均衡をチェックし、使用中のコアの原子を空いているコアに移動させることによってこの問題に対処します。もう一つのプロジェクトの目的は、DL_POLY_3に剛体力学を実装することでした。これは原子間力と運動方程式をより効率的なやり方で記述し、大きな生体分子を扱う実行時間を削減します。

STFC Daresbury 研究所のIlian Todorov はプロジェクトの主任研究員でした。彼はBill Smith や Lawrence Ellison (両者ともSTFC Daresbury) とともにNAG CSE teamと密接に協力して18 人月のプロジェクトを実行しました。

DL_POLY を用いた計算には、1年につき約 50,000 kAUs (千アロケーションユニット)(注) がHECToR上で使用されています。

プロジェクトの結果

計算領域(物理領域でない)全体で、原子密度の分散を最小限にするロードバランシングアルゴリズムのプロトタイプを作成しました。これはスタンドアロンコードとして実装され、HECToR上で5,000,000 原子系で2744コアまで実行を可能にしました。 このロードバランス手法の組込みにより全体的に高速化されましたが、このテストのスケール性能に対しては、コア数の増加に対して僅かな向上を示すのみでした。これはアイドルする膨大な数のコアに渡って原子を分配する時の通信オーバーヘッドによるものです。DL_POLYにこのコードを組み込む前にさらに一工夫が必要となります。

これに加えて、剛体力学がDL_POLYに組み込まれました。領域分割フレームワーク内の分子の様々な自由度をどのように扱ったらよいかの理解が、このプロジェクトを通じて得られた洞察の一つでした。


(注)アロケーションユニット(allocation unit, AU)はHECToRにおけるノード課金単位です。大まかに言えばLinpackベンチマーク(Rmax)を基にした1時間当たり1Tflopsの実行量がkAUに相当します。例えば60Tflopsのプロセッサ群は60kAU/時間に相当します。

詳細なテクニカルレポートは以下で参照いただけます。
http://www.hector.ac.uk/cse/distributedcse/reports/

さらに詳しくお知りになりたい場合は、日本NAG株式会社 コンサルティンググループご相談窓口 https://www.nag-j.co.jp/nagconsul/toiawase.htm (あるいはメール:consul@nag-j.co.jp)までお問い合わせください。

関連情報
MENU
Privacy Policy  /  Trademarks