演題 分子動力学計算とインターネット環境 II
発表者
(所属)
○林 治尚、山名一成、中野英彦 (姫路工大・工)
連絡先 〒671-2201 姫路市書写2167 姫路工業大学工学部応用化学科
TEL 0792-67-4884
キーワード molecular simulation, 並列化, Omni OpenMP
開発意図
適用分野
期待効果
特徴など
古典分子動力学シミュレーションの計算速度向上を目的とし、特別なハードを用いることなく、安価で入手可能なパーソナルコンピュータで、フリーに提供されているライブラリなどを利用して、分散システムの構築と並列化の検討を試みた
環境 適応機種名 ワークステーション
DOS/V(AT互換)機
OS 名 UNIX
ソース言語 Fortran, C, MPI, OpenMP
周辺機器
流通形態

右のいずれ
かに○をつけ
てください)

  • 化学ソフトウェア学会の
    無償利用ソフトとする
  • 独自に配布する
  • ソフトハウス、出版社等から市販
  • ソフトの頒布は行わない
  • その他
  • ○未定
具体的方法

1. はじめに

 様々な現象の解析などのため、対象系を構成する原子や分子の運動方程式を数値積分し、個々の粒子の運動を追跡し、種々のデータを算出する古典分子動力学(MD)計算では、その大半の計算時間を粒子にかかる力の計算部に費やしており、扱う粒子数に比例して計算量は極端に増大する。そのため様々な計算方法の改良や短縮化が試みられているが、大きな改良には至っていない。

 そこで、特にこの部分の並列化とネットワークを利用した計算の分散化を試みることで、計算時間の大幅な短縮を期待できる。本研究では、専用ハードウェアを必要とせず容易に構築可能な計算機システムと、また元々のMDプログラムの大幅な改編を必要としないソフトウェアを利用することで並列化・計算の分散化を目指した。

2. 方法など

 並列化には、MPI(Message Passing Interface) ライブラリを使用することによるものが主流であるが、共有メモリ上でのマルチスレッドプログラミングを支援するAPIである OpenMP を使用する手法もある。

 本研究では OpenMP の仕様に従った新情報処理開発機構(RWCP)の ``Omni OpenMP" を用いた。これは、 PMv2 を用いてユーザレベルでソフトウェア分散共有メモリシステムを実現する ``SCASH"を使用し、 OpenMP のプログラムをクラスタ上で実行するための言語処理系である。これには以下の利点がある。

 一つに、 分散共有メモリシステムでは、共有メモリ上でプロセッサによる複数の実行の流れを制御するプログラムを書く必要があるが、 OpenMP の特徴として、Detective(指示文)を加えることによる段階的並列化が行なえることである。これにより、元のプログラムを基に少しずつ並列化することが出来、 MPIのメッセージ通信を利用したプログラミングに比べ、大幅なプログラム改編を必要とせず非常に簡便に並列化を達成出来うる。

 次に、通常の OpenMP であれば計算ホスト間の通信には MPI などが必要となるが、Omni OpenMP にはクラスタで実行する際の共有データ通信を最適化するための拡張が提供されていることである。

 さらに、パーソナルコンピュータを複数組み合わせたクラスタシステムのリソースの管理に関しては、 Omni OpenMP と組み合わせ、 RWCP により開発された ``SCore" クラスタシステムソフトウェア群を利用することで可能となる。

 これらにより M2COTS の観点から、個人レベルでの安価なクラスタシステムの構築と分散型計算システムの可能性、プログラムの簡便な並列化について、分子動力学計算などの結果から、比較検討する。

 基本プログラムは Fortran もしくは C でコーディングされており、 RWCPの Omni OpenMP Compiler などを使用し、実行にあたっては PC-UNIX マシン (Pentium3/800MHz, 1GHz〜、Athlon、TurboLinux-8J 他) などを用いた。

参考文献

[1] M.P.Allen and D.J.Tildesley, ``Computer Simulation of Liquids'', Oxford (1987).
[2] P.S.Pacheco, ``Parallel Programming with MPI'', Morgan Kaufmann Pub. (1997).
[3] B.Wilkinson and M.Allen, ``Parallel Programming'', Prentice-Hall (1999).
[4] 「はじめての並列プログラミング」 湯浅太一 他編 共立出版 (1999).
[5] T.L.Sterling, D.J.Becker et al, ``How to Build a Beowulf'', MIT Press (1999).
[6] 「対称型マルチプロセッシング技術」 宇野俊夫 エーアイ出版 (2001).
[7] OpenMP… http://www.openmp.org/
[6] Omni OpenMP & SCore… http://www.pccluster.org/