従来の分散並列処理では不可能とされていたところの問題サイズにより計算途中から「計算ノードを随時追加できる機能」と「障害ノードを動的に回避する機能」を持つ自律的な協調分散アルゴリズムについて研究開発を行い、フラグメント分子軌道計算手法を例としてシミュレーションエンジンから利用可能なミドルウェアとして実装を行った。また近年のシミュレーション対象は、系を構成する要素として均一な部分系だけではなく、境界や複数の異なる部分系の集団から構成される複雑系であり、全系を総括的に取り扱う手法として、例えば分子動力学とモンテカルロ法、構造力学と流体力学など、空間・時間スケールの異なる複数のシミュレーション手法を有機的に結合した「連成シミュレーション」の重要性が急速に高まっており、本研究ではこれらの連成シミュレーションにおいて共通に顕在化する「シミュレーションエンジン相互間のデータ交換」を自律分散処理に基づく連成シミュレーションのためのミドルウェアに内包することにより、従来のグリッド計算技術を利用した分散シミュレーションに比べてきわめて可塑性に富んだ分散シミュレーション環境の実現を試みた。結果として、MPIに代表される従来の分散計算のための通信ミドルウェアは、計算開始時に参加ノードを固定的に設定するしかなく、計算の途中でノードを追加あるいは削除する動的な構成変更は困難であるが、本研究においては個々のノードで機能するアプリケーションプログラムは、全てイベント駆動型でプログラミングし、ノード間通信メッセージの受信やノードの参加・離脱などのイベントの発生に応じてアプリケーションの各機能が駆動される。このフレームワークによって、分散処理の途中で参加した新しいノードに計算処理を配分する機能や、既存のノードが離脱する場合には離脱するノードが担当していた処理を他ノードへ再配分するなどの動的で「分散処理の再構成」を比較的容易に実現可能であることを示した。
|