JP2006285474A - 並列計算機及びその制御方法 - Google Patents
並列計算機及びその制御方法 Download PDFInfo
- Publication number
- JP2006285474A JP2006285474A JP2005102580A JP2005102580A JP2006285474A JP 2006285474 A JP2006285474 A JP 2006285474A JP 2005102580 A JP2005102580 A JP 2005102580A JP 2005102580 A JP2005102580 A JP 2005102580A JP 2006285474 A JP2006285474 A JP 2006285474A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- master node
- parallel computer
- task object
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】 分散並列環境で実行されるシミュレーションにて障害が発生してもシミュレーションデータの整合性を保障できるようにする。
【解決手段】 シミュレーションに係るタスクオブジェクト13−iのなかにシミュレーションデータをカプセル化して、複数のワーカーノード12−iに分散させ、多数のシミュレーションを並列して実行する。これらのワーカーノードはマスターノード11に設けたタスクオブジェクト13−iのプロキシを介して制御する。このようにマスターノードにシミュレーション全体を管理制御させることで、障害が発生してもマスターノードからタスクオブジェクトにカプセル化されたデータ更新処理を呼び出してシミュレーションデータの整合性を取り戻すことができるようにする。
【選択図】 図1
【解決手段】 シミュレーションに係るタスクオブジェクト13−iのなかにシミュレーションデータをカプセル化して、複数のワーカーノード12−iに分散させ、多数のシミュレーションを並列して実行する。これらのワーカーノードはマスターノード11に設けたタスクオブジェクト13−iのプロキシを介して制御する。このようにマスターノードにシミュレーション全体を管理制御させることで、障害が発生してもマスターノードからタスクオブジェクトにカプセル化されたデータ更新処理を呼び出してシミュレーションデータの整合性を取り戻すことができるようにする。
【選択図】 図1
Description
本発明は、並列計算機及びその制御方法に関し、詳しくは分散並列計算環境でのデータ保護技術に関する。
医薬品開発においては、例えば特許文献1等に示されるように、コンピュータ・シミュレーションを利用し、その結果に基づいて薬物候補分子(薬物候補物質)のスクリーニングを行う方法がある。これは、バーチャルスクリーニングと呼ばれ、新薬等の開発期間を短縮するための有効な手法の1つである。
近年、分散並列環境で、様々なパラメーターの組み合わせに対し分子動力学(Molecular Dynamics、以下「MD」とも称す。)シミュレーションを繰り返し実行し、その結果に基づいて薬物候補分子のランク付けを行うバーチャルスクリーニングが試みられている。こうした多数のシミュレーションを効率的に実行し、利用者の待ち時間を短縮するためには、シミュレーションにおいて発生する障害(エラー等)に対して、それからの回復及び分子構造データの保護が即時的に行われる必要がある。
図8は、分散並列環境でMDシミュレーションを繰り返し実行してバーチャルスクリーニングを行うための従来の並列計算機の構成を概念的に示した図である。図8において、81は並列計算機にて全てのシミュレーションを制御するとともに結果解析を行うマスターノードであり、82−i(iは添え字であり、i=1、2、3、…)はマスターノード81に従属してMD計算をもっぱら行うワーカーノードである。
図8に示すように従来の並列計算機では、例えばシミュレーションに係るタスク83−iをワーカーノード82−iにそれぞれ分散して並列実行する。このように多数のシミュレーションに係る処理を分散並列環境で実行することにより、高速化を図ることが可能である。
しかし、分散並列環境でシミュレーションに係る処理実行中、すなわちバーチャルスクリーニングの途上で障害(エラー等)が発生した場合には、図8に示したマスターノード81とワーカーノード82−iとの間でデータの整合性が失われやすい。そのため、図8に示したような従来の並列計算機においては、障害からの回復が煩雑であった。
また、従来の並列計算機では、図8に示したようにエラー感知とエラー処理とをプログラムの別々の箇所で、薬物候補分子のランク付けに影響を及ぼさないようにして行わなければならないことが、シミュレーションデータである分子構造データの保護を難しくしている。エラーの多くは、MD計算の途上で検出されるのに対して、エラーへの対処方法はMD計算を呼び出す側で、収集された分子構造データ間の整合性が保たれるように決めなければならない。
例えば、シミュレーションデータである分子構造データの保護を従来技術により実現しようとすると、回復処理(エラー処理)が複雑になってしまい、かえってエラー等が発生する頻度を高くしてしまう。
本発明は、このような事情に鑑みてなされたものであり、分散並列環境で実行されるシミュレーションにて障害が発生してもシミュレーションデータの整合性を保障できるようにすることを目的とする。
本発明の並列計算機は、多数のシミュレーションの計算処理を並列して実行する複数のワーカーノードと、それらを制御してシミュレーション全体を管理制御するマスターノードとを備え、シミュレーションに係るタスクオブジェクトにシミュレーションデータをカプセル化して複数のワーカーノードに分散させるとともに、そのプロキシをマスターノードに設けることを特徴とする。
また、本発明の並列計算機の制御方法は、マスターノードと複数のワーカーノードとを有する並列計算機にて、マスターノードによる制御に従って多数のシミュレーションの計算処理を並列して実行可能な複数のワーカーノードにシミュレーションデータをタスクオブジェクトにカプセル化して分散させるとともに、マスターノードに設けたタスクオブジェクトのプロキシを介して全てのシミュレーションを管理することを特徴とする。
また、本発明の並列計算機の制御方法は、マスターノードと複数のワーカーノードとを有する並列計算機にて、マスターノードによる制御に従って多数のシミュレーションの計算処理を並列して実行可能な複数のワーカーノードにシミュレーションデータをタスクオブジェクトにカプセル化して分散させるとともに、マスターノードに設けたタスクオブジェクトのプロキシを介して全てのシミュレーションを管理することを特徴とする。
本発明によれば、シミュレーションデータをタスクオブジェクトにカプセル化して複数のワーカーノードに分散させ、そのプロキシをマスターノードに設けることにより、シミュレーションにおけるデータ更新処理をカプセル化し、障害が発生してもシミュレーションデータの整合性を容易に保つことができる。
以下、本発明の実施形態を図面に基づいて説明する。
以下に説明する本発明の実施形態による並列計算機は、バーチャルスクリーニングのための多数のMD(分子動力学)シミュレーションを分散並列環境で実行し、エラーやハードウェアの故障などの障害からの迅速な回復を可能とし、薬物候補分子のランク付けの一意性を保障するものである。さらに、様々なタイプの(任意の種類の)MD計算プログラムに適用可能なように、後述するマスターノードに実装されるシミュレーションを統合する機能及び障害対処機能については共通化されたインタフェースを提供し、MD計算の実装方法に依存しない一般性を有するものである。
以下に説明する本発明の実施形態による並列計算機は、バーチャルスクリーニングのための多数のMD(分子動力学)シミュレーションを分散並列環境で実行し、エラーやハードウェアの故障などの障害からの迅速な回復を可能とし、薬物候補分子のランク付けの一意性を保障するものである。さらに、様々なタイプの(任意の種類の)MD計算プログラムに適用可能なように、後述するマスターノードに実装されるシミュレーションを統合する機能及び障害対処機能については共通化されたインタフェースを提供し、MD計算の実装方法に依存しない一般性を有するものである。
図1は、本発明の実施形態による並列計算機1の構成例を示す概念図である。
図1に示すように並列計算機1は、複数のCPU(プロセッサエレメント:PE)を有する。1つのCPU(PE)がマスターノード11として機能し、他のCPU(PE)がワーカーノード12−i(iは添え字であり、i=1、2、3、…)としてそれぞれ機能する。
図1に示すように並列計算機1は、複数のCPU(プロセッサエレメント:PE)を有する。1つのCPU(PE)がマスターノード11として機能し、他のCPU(PE)がワーカーノード12−i(iは添え字であり、i=1、2、3、…)としてそれぞれ機能する。
マスターノード11は、並列計算機1にてシミュレーション全体を制御するとともに、ワーカーノード12−iから結果を集めて最終的な結果解析(一連のシミュレーションデータ解析を含む。)を行う。つまり、マスターノード11は、分散並列環境で実行されるシミュレーション全体を統合するものである。
ワーカーノード12−iは、マスターノード11に従属してMD計算を行う。すなわち、各ワーカーノード12−iは、マスターノード11による制御に従って、多数のシミュレーションにおける実際の計算処理を行う。
ここで、本実施形態による並列計算機1は、いわゆる分散オブジェクト技術を利用して、シミュレーションデータ(分子構造データ)の保護を図っている。具体的には、図1に示すように、シミュレーションデータを、シミュレーションに係るタスクオブジェクト13−iのなかにカプセル化して、ワーカーノード12−iに分散させる。また、ワーカーノード12−iに分散させた各タスクオブジェクト13−iのプロキシ(代理オブジェクト)14−iをマスターノード11に配置する。
そして、タスクオブジェクト12−iとその代理オブジェクト13−iとの間でのシミュレーションデータ等の整合性を保つために、トランザクション(コマンド)パターンを使用し、所定のタイミングでタスクオブジェクト12−iと代理オブジェクト13−iとの同期をとる。
このようにタスクオブジェクト12−iのなかにシミュレーションデータをカプセル化してワーカーノード12−iに分散させ、その代理オブジェクト14−iをマスターノード11に置くことで、シミュレーションデータの更新処理をカプセル化でき、エラーやハードウェア故障などの障害が発生してもシミュレーションデータの整合性を保ち、かつ障害から迅速に回復させることができる。
図2は、本実施形態による並列計算機のハードウェア構成の一例を示すブロック図である。この図2において、図1に示した構成要素と同一の構成要素には同一の符号を付している。
マスターノード11は、CPU21、ROM22、RAM23、及び外部インタフェース(IF)24を有する。CPU21は、ROM22およびRAM23に記憶された処理プログラムを実行することでバス25を介して接続されたマスターノード11内部の各構成部を制御する。また、CPU21は、後述する図4及び図5に示すような動作を行うための処理プログラムを、ROM22から読み出して実行することで、その動作を実現するための制御を行う。RAM23は、CPU21の主メモリあるいはワークエリア等としても機能する。
同様に、ワーカーノード12−iのそれぞれは、CPU26、ROM27、RAM28、及び外部インタフェース(IF)29を有する。CPU26は、マスターノード11からの指示等に基づいてROM27およびRAM28に記憶された処理プログラム等を実行しバス30を介して接続されたワーカーノード12−i内部の各構成部を制御する。つまり、CPU26は、マスターノード11からの指示等に基づいてROM27に記憶された処理プログラム等を実行することでMD計算を行う。RAM28は、CPU26の主メモリあるいはワークエリア等としても機能する。
また、マスターノード11と各ワーカーノード12−iとは、それぞれが有する外部インタフェース24、29によりバス等を用いて構成された通信線COMを介して通信可能に接続されている。なお、マスターノード11及びワーカーノード12−iの構成はこれに限定されるものではなく、必要に応じて入力装置や出力装置等を備えていても良い。
本実施形態では図3のようにコマンドパターンに基づくソフトウェアフレームワークを利用する。図3に示す構成により、MD計算プログラムの違いを吸収することで、MD計算の実装方法に依存することなく、様々なタイプのMD計算プログラムに対して本発明を実施することが可能となる。
図3に示すように、本実施形態による並列計算機で行われるバーチャルスクリーニングをトランザクションの集まりとするために、薬物候補分子のランク付けを行うプログラム(Screeningパッケージ)31、既存のMDプログラム32を、コマンドパターンとして知られるクラス階層(Task33、Concrete Task34、Client35、及びReceiver36)のなかに組み込んでいる。
Taskクラス33は、MDシミュレーションを起動するために共通化されたインタフェースを提供する。Concrete Taskクラス34は、異なったタイプのMDプログラムとフレームワークとの繋がりを保持し、タスクへの要求に応じてそれに該当するトランザクションを呼び出す機能を有する。このクラスのインスタンス(タスクオブジェクト)はワーカーノードへ、その代理オブジェクトはマスターノードに配置される。
Clientクラスは35は、マスターノードで様々なタスクのインスタンスを生成し、それらとMDシミュレーションの対応関係を設定する機能を有する。Receiver36は、分子構造データを保持し、タスクから受信した要求に応じてMDシミュレーションを実行し、データを更新する機能を有する。
ここで、Screeningパッケージ31は、マスターノードでタスクオブジェクトのプロキシを呼び出してバーチャルスクリーニングを開始し、そのスクリーニング途上においてシミュレーションデータの整合性を保つために以下の機能(a)〜機能(e)を有する。
機能(a)…シミュレーションデータの整合性を保つために、タスクオブジェクトの起動順序を制御する機能。
機能(b)…一連のシミュレーションデータを解析する、あるいは低位のライブラリからの例外オブジェクトを受け取ることで、障害を検知する機能。
機能(c)…障害を検知した場合、タスクオブジェクトに計算の取り消しと再計算を要求する機能。
機能(d)…再計算中のタスクオブジェクトから例外オブジェクトを受け取った場合、そのタスクオブジェクトを別のワーカーノードに移動させて、計算の取り消しと再計算を要求する機能。
機能(e)…タスクオブジェクトの移動回数が所定の閾値を超えた場合、一連のシミュレーションデータの整合性が回復されるまでタスクの実行を取り消し、バーチャルスクリーニングの処理を停止する機能。
機能(a)…シミュレーションデータの整合性を保つために、タスクオブジェクトの起動順序を制御する機能。
機能(b)…一連のシミュレーションデータを解析する、あるいは低位のライブラリからの例外オブジェクトを受け取ることで、障害を検知する機能。
機能(c)…障害を検知した場合、タスクオブジェクトに計算の取り消しと再計算を要求する機能。
機能(d)…再計算中のタスクオブジェクトから例外オブジェクトを受け取った場合、そのタスクオブジェクトを別のワーカーノードに移動させて、計算の取り消しと再計算を要求する機能。
機能(e)…タスクオブジェクトの移動回数が所定の閾値を超えた場合、一連のシミュレーションデータの整合性が回復されるまでタスクの実行を取り消し、バーチャルスクリーニングの処理を停止する機能。
このような機能を備え、上述したソフトウェアフレームワークに従って処理を行うことで、様々なタイプのMD計算プログラムを用いたバーチャルスクリーニングシステムに対して、シミュレーションデータである分子構造データの整合性を保障し、データ保護及び障害からの即時的な回復が実現される。また、本実施形態におけるシミュレーションデータの保護機構を一般的なフレームワークとして提供することができる。
次に、動作について説明する。
図4は、本実施形態による並列計算機の動作の一例を示すフローチャートである。
まず、動作を開始すると、マスターノード11(Screeningパッケージ31)の制御に基づいて、タスクオブジェクトが起動され、バーチャルスクリーニングのためのシミュレーションが開始される(ステップS1)。
図4は、本実施形態による並列計算機の動作の一例を示すフローチャートである。
まず、動作を開始すると、マスターノード11(Screeningパッケージ31)の制御に基づいて、タスクオブジェクトが起動され、バーチャルスクリーニングのためのシミュレーションが開始される(ステップS1)。
次に、マスターノード11は、エラーやハードウェア故障などのMD計算に影響しうる障害に係る例外オブジェクトを受け取ったか否かを判断する(ステップS2)。その結果、例外オブジェクトを受け取った場合(ステップS2のYES)には、例外オブジェクトのタイプ(障害の種別)に応じた回復処理を例外処理として実行する(ステップS3)。そうでない場合(ステップS2のNO)には、ステップS3をスキップする。
続いて、マスターノード11は、バーチャルスクリーニングを行うためのすべてのシミュレーションが終了したか否かを判断する(ステップS4)。その判断の結果、すべてのシミュレーションが終了していない、すなわち未終了のシミュレーションがある場合(ステップS4のNO)には、ステップS2に戻る。
一方、ステップS4での判断の結果、すべてのシミュレーションが終了している場合(YES)には、シミュレーションにより得られた結果に基づいて最終的な結果解析を行い(ステップS5)、バーチャルスクリーニングに係る動作を終了する。
なお、上述した説明では、例外オブジェクトを受け取ることにより障害を検知する場合を示しているが、一連のシミュレーションデータを解析することにより障害が検知される場合もあり、その場合に検知された障害に応じた回復処理を実行すればよい。
図5は、図4のステップS3における回復処理の一例を示すフローチャートである。
回復処理では、まず、マスターノード11は、発生した障害の種別を判断する(ステップS11)。
回復処理では、まず、マスターノード11は、発生した障害の種別を判断する(ステップS11)。
その結果、障害がMD計算における運動方程式の積分失敗である場合には、その直前までのトラジェクトリーをマスターノード11に保存する(ステップS12)。トラジェクトリーはワーカーノード12−iからタスクオブジェクト13−iのプロキシ14−iを介してマスターノード11に転送される。ここで、トラジェクトリーとは、MD計算により得られた一連の分子構造の時系列であり、複数のトラジェクトリーをまとめて解析することで、候補分子がどの位薬物として有用であるか(結合エネルギー)を評価することができる。
次に、マスターノード11は、ユーザーの設定に応じて、例外を投げてシミュレーション全体を停止させる、あるいは初期条件を変えてトラジェクトリーを再計算(MD計算を再試行)させ(ステップS13)、回復処理を終了する。
一方、ステップS11での判断の結果、発生した障害がワーカーノードのCPUからの不正な結果に由来する場合には、当該タスクオブジェクトを実行前の状態に戻す<undo>(ステップS14)。そして、マスターノード11は、そのタスクオブジェクトを他のワーカーノード12−iに転送し、トラジェクトリーを再計算(MD計算を再実行)させる<redo>(ステップS15)。
ステップS15での再計算の結果、同じような不正な結果が得られたか否か、言い換えれば再計算により結果が変わったか否かを判定する。その結果、再計算で同じような不正な結果が得られなかった、すなわち結果が変わった場合(ステップS16のNO)には、不正な結果を応答したワーカーノード12−iが故障したと判断し、当該ワーカーノード12−iへのタスクオブジェクトの割付を禁止し(ステップS17)、回復処理を終了する。
一方、ステップS16での判定の結果、再計算で同じような不正な結果が得られた、すなわち結果が変わらなかった場合(ステップS16のYES)には、ユーザーの設定に応じて、例外を投げてシミュレーション全体を停止させる、あるいは初期条件を変えてトラジェクトリーを再計算(MD計算を再試行)させ(ステップS13)、回復処理を終了する。
図6は、本実施形態による並列計算機での障害発生時の処理例を示す図である。なお、図6においては、MD計算における運動方程式の積分失敗に対応する障害が発生した場合について示している。
まず、ワーカーノード12−iのタスクオブジェクト13−iにてエラーが検知されると(P1)、ワーカーノード12−iのタスクオブジェクト13−iからマスターノード11の代理オブジェクト14−iに例外オブジェクトが投げられる(P2)。さらに、代理オブジェクト14−iからスクリーニングオブジェクトに例外オブジェクトが投げられる(P3)。
マスターノード11のスクリーニングオブジェクトは、投げられた例外オブジェクトを受け取ると、その例外オブジェクトの種別を判断し、判断結果に基づいて以下の処理を実行する。ここでは、上述したように運動方程式の積分失敗に対応する例外オブジェクトであるとする。
マスターノード11のスクリーニングオブジェクトが代理オブジェクト14−iに対してタスクオブジェクトの状態を実行前に戻すように指示する<undo>ことで(P4)、ワーカーノード12−iのタスクオブジェクト13−iの状態が実行前の状態に戻る<undo>(P5)。その後、マスターノード11のスクリーニングオブジェクトが代理オブジェクト14−iに対してMD計算の初期条件を僅かに変えるように指示する<error−handle>ことで(P6)、ワーカーノード12−iにて実行されるMD計算の初期条件が変更される<error−handle>(P7)。
以上のようにしてMD計算の初期条件を変更した後、マスターノード11のスクリーニングオブジェクトが代理オブジェクト14−iに対してMD計算の再実行を指示する<redo>ことで(P8)、ワーカーノード12−iにて初期条件を変えた状態でのMD計算が再実行される<redo>(P9)。
図7は、本実施形態による並列計算機の動作を説明するための図である。図7(A)〜図7(C)においては、MD計算が実行される様子を模式的に示している。
図7(A)は、何ら障害が発生することなくMD計算が完了する場合を示している。ワーカーノードN1〜N3にて実行されるMD計算の結果として得られる複数のトラジェクトリー71A〜71Cをまとめて解析することで、候補分子の薬物としての有用性が評価される。
図7(A)は、何ら障害が発生することなくMD計算が完了する場合を示している。ワーカーノードN1〜N3にて実行されるMD計算の結果として得られる複数のトラジェクトリー71A〜71Cをまとめて解析することで、候補分子の薬物としての有用性が評価される。
図7(B)は、MD計算における運動方程式の積分失敗による障害が発生した場合を示している。図7(B)に示した例では、障害が発生した時点でその直前のトラジェクトリー72A〜72Cを保存し、ワーカーノードN1〜N3にて実行されるMD計算を停止することでシミュレーション全体を停止している。なお、上述したように初期条件を僅かにずらすことで変更し、MD計算を再実行するようにしても良い。
図7(C)は、ワーカーノードに障害が発生した場合、例えばワーカーノードのタスクオブジェクトから不正結果が応答として返された場合を示している。図7(C)に示した例では、ワーカーノードN1にて障害が発生し、そのタスクオブジェクトをワーカーノードN4に転送してMD計算を継続している。このようにすれば、効率的にMD計算によるシミュレーションを実行することが可能となる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
本発明の諸態様を付記として以下に示す。
(付記1)多数のシミュレーションを並列して実行する並列計算機であって、
上記多数のシミュレーションの計算処理を行う複数のワーカーノードと、
上記複数のワーカーノードを制御し、シミュレーション全体を管理制御するマスターノードとを備え、
上記シミュレーションに係るタスクオブジェクトにシミュレーションデータをカプセル化して上記複数のワーカーノードに分散させるとともに、上記タスクオブジェクトのプロキシを上記マスターノードに設けることを特徴とする並列計算機。
(付記2)上記マスターノードは、一連のシミュレーションデータの解析、又は上記タスクオブジェクトからの例外オブジェクトの通知の少なくとも一方に基づいて、障害を検知することを特徴とする付記1記載の並列計算機。
(付記3)上記多数のシミュレーションは、バーチャルスクリーニングのための分子動力学シミュレーションであり、
上記障害を検知した場合には、検知した障害に応じた回復処理を上記マスターノードが実行することを特徴とする付記2記載の並列計算機。
(付記4)上記回復処理として、シミュレーション全体を停止させる、あるいは初期条件を変更してシミュレーションに係る計算処理を再実行させることを特徴とする付記3記載の並列計算機。
(付記5)上記回復処理として、障害が発生したタスクオブジェクトを実行前の状態に戻し、当該タスクオブジェクトに係る処理を他のワーカーノードで再実行させることを特徴とする付記3記載の並列計算機。
(付記6)分子動力学シミュレーションにおける任意の種類の分子動力学計算プログラムに対応可能なインタフェースを有することを特徴とする付記3〜5の何れか1項に記載の並列計算機。
(付記7)シミュレーション全体を管理制御するマスターノードと、上記マスターノードによる制御に従って、多数のシミュレーションの計算処理を並列して実行可能な複数のワーカーノードとを有する並列計算機の制御方法であって、
シミュレーションデータをタスクオブジェクトにカプセル化して上記複数のワーカーノードに分散させるとともに、上記マスターノードに設けた当該タスクオブジェクトのプロキシを介して、上記シミュレーションをそれぞれ制御することを特徴とする方法。
(付記8)上記多数のシミュレーションは、バーチャルスクリーニングのための分子動力学シミュレーションであり、
上記マスターノードにて上記シミュレーションの実行中に障害を検知した場合には、検知した障害に応じた回復処理が実行されることを特徴とする付記7記載の制御方法。
上記多数のシミュレーションの計算処理を行う複数のワーカーノードと、
上記複数のワーカーノードを制御し、シミュレーション全体を管理制御するマスターノードとを備え、
上記シミュレーションに係るタスクオブジェクトにシミュレーションデータをカプセル化して上記複数のワーカーノードに分散させるとともに、上記タスクオブジェクトのプロキシを上記マスターノードに設けることを特徴とする並列計算機。
(付記2)上記マスターノードは、一連のシミュレーションデータの解析、又は上記タスクオブジェクトからの例外オブジェクトの通知の少なくとも一方に基づいて、障害を検知することを特徴とする付記1記載の並列計算機。
(付記3)上記多数のシミュレーションは、バーチャルスクリーニングのための分子動力学シミュレーションであり、
上記障害を検知した場合には、検知した障害に応じた回復処理を上記マスターノードが実行することを特徴とする付記2記載の並列計算機。
(付記4)上記回復処理として、シミュレーション全体を停止させる、あるいは初期条件を変更してシミュレーションに係る計算処理を再実行させることを特徴とする付記3記載の並列計算機。
(付記5)上記回復処理として、障害が発生したタスクオブジェクトを実行前の状態に戻し、当該タスクオブジェクトに係る処理を他のワーカーノードで再実行させることを特徴とする付記3記載の並列計算機。
(付記6)分子動力学シミュレーションにおける任意の種類の分子動力学計算プログラムに対応可能なインタフェースを有することを特徴とする付記3〜5の何れか1項に記載の並列計算機。
(付記7)シミュレーション全体を管理制御するマスターノードと、上記マスターノードによる制御に従って、多数のシミュレーションの計算処理を並列して実行可能な複数のワーカーノードとを有する並列計算機の制御方法であって、
シミュレーションデータをタスクオブジェクトにカプセル化して上記複数のワーカーノードに分散させるとともに、上記マスターノードに設けた当該タスクオブジェクトのプロキシを介して、上記シミュレーションをそれぞれ制御することを特徴とする方法。
(付記8)上記多数のシミュレーションは、バーチャルスクリーニングのための分子動力学シミュレーションであり、
上記マスターノードにて上記シミュレーションの実行中に障害を検知した場合には、検知した障害に応じた回復処理が実行されることを特徴とする付記7記載の制御方法。
1 並列計算機
11 マスターノード
12−i ワーカーノード
13−i タスクオブジェクト
14−i 代理オブジェクト
21、26 CPU
22、27 ROM
23、28 RAM
24、29 外部インタフェース
25、30 バス
11 マスターノード
12−i ワーカーノード
13−i タスクオブジェクト
14−i 代理オブジェクト
21、26 CPU
22、27 ROM
23、28 RAM
24、29 外部インタフェース
25、30 バス
Claims (5)
- 多数のシミュレーションを並列して実行する並列計算機であって、
上記多数のシミュレーションの計算処理を行う複数のワーカーノードと、
上記複数のワーカーノードを制御し、シミュレーション全体を管理制御するマスターノードとを備え、
上記シミュレーションに係るタスクオブジェクトにシミュレーションデータをカプセル化して上記複数のワーカーノードに分散させるとともに、上記タスクオブジェクトのプロキシを上記マスターノードに設けることを特徴とする並列計算機。 - 上記マスターノードは、一連のシミュレーションデータの解析、又は上記タスクオブジェクトからの例外オブジェクトの通知の少なくとも一方に基づいて、障害を検知することを特徴とする請求項1記載の並列計算機。
- 上記多数のシミュレーションは、バーチャルスクリーニングのための分子動力学シミュレーションであり、
上記障害を検知した場合には、検知した障害に応じた回復処理を上記マスターノードが実行することを特徴とする請求項2記載の並列計算機。 - 分子動力学シミュレーションにおける任意の種類の分子動力学計算プログラムに対応可能なインタフェースを有することを特徴とする請求項3記載の並列計算機。
- シミュレーション全体を管理制御するマスターノードと、上記マスターノードによる制御に従って、多数のシミュレーションの計算処理を並列して実行可能な複数のワーカーノードとを有する並列計算機の制御方法であって、
シミュレーションデータをタスクオブジェクトにカプセル化して上記複数のワーカーノードに分散させるとともに、上記マスターノードに設けた当該タスクオブジェクトのプロキシを介して、上記シミュレーションをそれぞれ制御することを特徴とする方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005102580A JP2006285474A (ja) | 2005-03-31 | 2005-03-31 | 並列計算機及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005102580A JP2006285474A (ja) | 2005-03-31 | 2005-03-31 | 並列計算機及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006285474A true JP2006285474A (ja) | 2006-10-19 |
Family
ID=37407357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005102580A Withdrawn JP2006285474A (ja) | 2005-03-31 | 2005-03-31 | 並列計算機及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006285474A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008123357A (ja) * | 2006-11-14 | 2008-05-29 | Honda Motor Co Ltd | 並列計算機システム、並列計算方法および並列計算機用プログラム |
JP2010092471A (ja) * | 2008-10-09 | 2010-04-22 | Internatl Business Mach Corp <Ibm> | 並列コンピュータ・システム上の分析ルーチンを呼び出す方法、プログラム、及びシステム(クエリ・インターフェースから並列コンピュータ・システムに対するプログラム呼び出し) |
WO2011039762A2 (en) * | 2009-09-07 | 2011-04-07 | Tata Consultancy Services Ltd. | System for real-time radio / physical layer simulation |
WO2012053243A1 (ja) * | 2010-10-20 | 2012-04-26 | 株式会社日立製作所 | 仮想サーバ管理装置 |
KR101496368B1 (ko) | 2007-06-20 | 2015-02-26 | 앵리아 앵스티튀 나시오날 드 르쉐르슈 엉 앵포르마티크 에 엉 오토마티크 | 상호작용하는 오브젝트들의 집합을 시뮬레이션하기 위한 컴퓨터 기기 및 그에 상응하는 방법 |
US11000760B2 (en) * | 2017-01-11 | 2021-05-11 | Sony Interactive Entertainment Inc. | Controller |
-
2005
- 2005-03-31 JP JP2005102580A patent/JP2006285474A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008123357A (ja) * | 2006-11-14 | 2008-05-29 | Honda Motor Co Ltd | 並列計算機システム、並列計算方法および並列計算機用プログラム |
KR101496368B1 (ko) | 2007-06-20 | 2015-02-26 | 앵리아 앵스티튀 나시오날 드 르쉐르슈 엉 앵포르마티크 에 엉 오토마티크 | 상호작용하는 오브젝트들의 집합을 시뮬레이션하기 위한 컴퓨터 기기 및 그에 상응하는 방법 |
JP2010092471A (ja) * | 2008-10-09 | 2010-04-22 | Internatl Business Mach Corp <Ibm> | 並列コンピュータ・システム上の分析ルーチンを呼び出す方法、プログラム、及びシステム(クエリ・インターフェースから並列コンピュータ・システムに対するプログラム呼び出し) |
US8650205B2 (en) | 2008-10-09 | 2014-02-11 | International Business Machines Corporation | Program invocation from a query interface to parallel computing system |
WO2011039762A2 (en) * | 2009-09-07 | 2011-04-07 | Tata Consultancy Services Ltd. | System for real-time radio / physical layer simulation |
WO2011039762A3 (en) * | 2009-09-07 | 2011-06-16 | Tata Consultancy Services Ltd. | System for real-time radio / physical layer simulation |
WO2012053243A1 (ja) * | 2010-10-20 | 2012-04-26 | 株式会社日立製作所 | 仮想サーバ管理装置 |
US11000760B2 (en) * | 2017-01-11 | 2021-05-11 | Sony Interactive Entertainment Inc. | Controller |
US11400366B2 (en) | 2017-01-11 | 2022-08-02 | Sony Interactive Entertainment Inc. | Controller |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7516361B2 (en) | Method for automatic checkpoint of system and application software | |
EP1784727B1 (en) | Method and system for providing transparent incremental and multiprocess check-pointing to computer applications | |
US7760743B2 (en) | Effective high availability cluster management and effective state propagation for failure recovery in high availability clusters | |
CN107122270B (zh) | 一种在服务的次要位置重放作业的方法、系统及存储介质 | |
WO2002084479A2 (en) | Method and apparatus for performing online application upgrades in a java platform | |
JP2006285474A (ja) | 並列計算機及びその制御方法 | |
Ganga et al. | A fault tolerent approach in scientific workflow systems based on cloud computing | |
US6922796B1 (en) | Method and apparatus for performing failure recovery in a Java platform | |
JP2013508839A5 (ja) | ||
JP2005242404A (ja) | コンピュータシステムの系切替方法 | |
Sultana et al. | Failure recovery for bulk synchronous applications with MPI stages | |
JP3901060B2 (ja) | アプリケーションの更新処理方法、更新処理システム及び更新処理プログラム | |
CN111147541B (zh) | 基于参数服务器的节点处理方法、装置、设备及存储介质 | |
Hursey et al. | A composable runtime recovery policy framework supporting resilient HPC applications | |
US10108505B2 (en) | Mobile agent based memory replication | |
JP2015210812A (ja) | アプリケーション・データを回復する方法 | |
JP2011186606A (ja) | コンピュータシステム、およびそのチェックポイントリスタート方法 | |
Bialek | The architecture of a dynamically updatable, component-based system | |
Garbacki et al. | Transparent fault tolerance for grid applications | |
Schäfer et al. | Replication schemes for highly available workflow engines | |
JP3022768B2 (ja) | 仮想計算機システム | |
Zhou et al. | Delta execution for software reliability | |
Kovács et al. | Application and middleware transparent checkpointing with TCKPT on ClusterGrids | |
JP3708891B2 (ja) | フォールトトレラントシステムにおけるプロセスペア実行制御方法、プロセスペア実行制御プログラム、及びフォールトトレラントシステム | |
Bland | Enabling Application Resilience with and without the MPI Standard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |