JP2008123357A - 並列計算機システム、並列計算方法および並列計算機用プログラム - Google Patents

並列計算機システム、並列計算方法および並列計算機用プログラム Download PDF

Info

Publication number
JP2008123357A
JP2008123357A JP2006308108A JP2006308108A JP2008123357A JP 2008123357 A JP2008123357 A JP 2008123357A JP 2006308108 A JP2006308108 A JP 2006308108A JP 2006308108 A JP2006308108 A JP 2006308108A JP 2008123357 A JP2008123357 A JP 2008123357A
Authority
JP
Japan
Prior art keywords
calculation
node
program
abnormality
calculation program
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.)
Pending
Application number
JP2006308108A
Other languages
English (en)
Inventor
Tatsuya Okabe
達哉 岡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2006308108A priority Critical patent/JP2008123357A/ja
Priority to US11/984,047 priority patent/US7870424B2/en
Publication of JP2008123357A publication Critical patent/JP2008123357A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】進化的アルゴリズムを用いた設計最適化などのように1度の計算に長時間を要する環境において、並列計算機を用いた計算の際に生じるトラブルを自動的に検知し、それらのトラブルに自動的に対処することが可能な並列計算機を提供する。
【解決手段】本発明は、計算プログラムを実行する複数の計算ノードと、計算ノードにネットワークを介して接続されるマスターノードとを含み、進化的アルゴリズムを用いた設計最適化などのように1度の計算に長時間を要する環境において並列計算処理を行なうための並列計算機システムを提供する。このシステムは、計算プログラムのクラッシュまたはハングアップを定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける計算プログラムの実行を中止し、この計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなう異常処理手段を有する。
【選択図】図3

Description

本発明は、並列計算機、並列計算機用プログラムおよび並列計算方法に関し、特に、並列計算機を用いた計算の際に生じる様々なトラブルを自動的に検知し、それらのトラブルを自動的に回避することで、並列計算処理を途中で停止させることなく安定的に継続・完了させる並列計算機、並列計算機用プログラムおよび並列計算方法に関する。
近年、コンピュータの性能が劇的に向上してきているが、実際の設計現場ではその性能を遥かに上回る計算性能が必要となる場合が多い。自動車や航空機などの設計最適化を行う場合、部品の単純化を行った上に最新のマシン(例えば、Xeon(商標)3.6GHz搭載マシン)を使っても、数年から数百年の計算時間を要することがある。たとえば、進化的アルゴリズムを使った設計最適化において、当業分野で一般的な値である100個体、500世代で進化的最適化を行い、数値流体力学を用いて1個体の評価時間に1日を要するケースでは、1(日)×100(個体)×500(世代)=50000(日)、すなわち約137年もの計算時間がかかってしまう。
このような計算時間の問題を解決するために、並列計算機(PCクラスター等)が用いられることが多くなってきた。並列計算機は、複数のコンピュータをネットワークで接続して構成されており、大規模な計算を複数の小さな計算ブロックに分割し、これらの計算ブロックを別々のコンピュータに計算させることにより、計算結果を得るまでの時間を短縮化することができる。
並列計算機の性能や安定性は飛躍的に向上してきているが、並列計算機には「故障率」の問題が常に付きまとう。「故障率」は、システムのいずれかの箇所に故障が生じている可能性のことを意味するものであり、記号Pbrokenを用いて次式のように表される。
Pbroken=1−(1−p)
ここで、pはシステムを構成する各部品の故障率を表し、nはシステムを構成する部品点数を表す。
並列計算機は、複数のコンピュータ(マスターノード、スレーブノード)をネットワークで接続して構成されており、コンピュータやネットワーク用ケーブル等の部品点数が多くなるので、単体のコンピュータに比して故障率が高くなってしまう。また、計算機の規模が大きくなり接続されるコンピュータの台数が増えるほど、計算機全体の部品点数も増えるので、並列計算機全体の故障率は1、すなわちいつも何処かが必ず故障している状態に近くなってしまう。故障率の問題は、並列計算機による計算処理を不安定にする要因となる。
このような問題に対して従来は、並列計算機の修理後に人が手動で計算を再開させる、所謂チェックポイントリスタート機能によって解決する方法(例えば、特許文献1、特許文献2、特許文献3を参照)や異常を検知した場合には、異常が生じた計算ノードには計算を実行させない方法(例えば、特許文献4、特許文献5、特許文献6を参照)が採用されてきた。
特開2002−288149号 特開平10−116261号 特開2002―366535号 特開2003−203061号 特開2004−38654号 特開平6−161976号
しかしながら、チェックポイントリスタート機能を採用する場合、トラブルの監視や、トラブルからの復旧作業は計算機が自動的に行なうものではなく、管理者が行なう必要がある。また、トラブル発生時には計算機の処理を一旦停止するので、進化的最適化を用いた設計最適化のように並列計算機を用いても1度の計算に数ヶ月から数年程度の長時間を要する環境では特に非効率的である。
また、異常が生じた計算ノードには計算を実行させない方法では、計算ノードに通信できない等のハードウェア面に関する特定のトラブルについては、その計算ノードを切り離すことである程度は回避することができる。しかし、計算ノード・ネットワーク系のソフトウェア面に関する異常、計算プログラムのクラッシュやハングアップ、ハードディスク(HDD)のパンク、入出力系の異常、並列計算機用ソフトウェアである並列仮想マシン(parallel virtual machine:PVM)またはメッセージ・パッシング・インタフェース(message passing interface:MPI)の異常などのように、並列計算処理において発生する可能性の高いその他のトラブルの対応策については、特許文献4〜6では開示されていない。
本発明は、上記の点に鑑みてなされたものであり、進化的アルゴリズムを用いた設計最適化などのように1度の計算に長時間を要する環境において、並列計算機を用いた計算の際に生じる、ハードウェアおよびソフトウェアに関する様々なトラブルを自動的に検知し、それらのトラブルに自動的に対処することにより、並列計算処理を途中で停止させることなく安定的に継続・完了させる並列計算機、並列計算機用プログラムおよび並列計算方法を提供することを目的とする。
本発明は、計算プログラムを実行する複数の計算ノードと、計算ノードにネットワークを介して接続されるマスターノードとを含み、進化的アルゴリズムを用いた設計最適化などのように1度の計算に長時間を要する環境において並列計算処理を行なうための並列計算機システムを提供する。このシステムは、計算プログラムのクラッシュまたはハングアップを定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける計算プログラムの実行を中止し、この計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなう異常処理手段を有する。
この発明により、並列計算機を用いた計算処理の際に生じる、ハードウェアおよびソフトウェアに関する様々なトラブルを自動的に検知し、それらのトラブルに自動的に対処することで、並列計算処理を途中で停止させることなく安定的に継続・完了させることができる。
本発明の一実施形態によると、異常処理手段が、さらに、マスターノードと計算ノードとの通信状態、計算ノードの稼働状況、または計算ノードのハードディスクの空き容量を定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける計算プログラムの実行を中止し、この計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなう。
本発明の一実施形態によると、異常処理手段が、さらに、計算プログラムの実行前に、計算に必要な入出力ファイルの値またはフォーマットの異常検知および計算ノードに含まれる並列計算用ソフトウェアの異常検知を行い、計算プログラムの実行後に、計算結果が記録された出力ファイルの値またはフォーマットの異常検知を行い、異常が検知された計算ノードにおける計算プログラムの実行を中止し、この計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなう。
本発明の一実施形態によると、計算ノードが、計算プログラムの実行中に定期的または処理単位ごとに所定の内容をファイルに書き出す手段をさらに含み、異常処理手段が、定期的または処理単位ごとに前記ファイルの内容を解析して計算プログラムのクラッシュまたはハングアップを自動的に検知する。
本発明の一実施形態によると、計算ノードが、計算プログラムの実行中に定期的または処理単位ごとに所定の内容をファイルに書き出す手段をさらに含み、異常処理手段が、定期的または処理単位ごとに前記ファイルのタイムスタンプを解析して前記計算プログラムのクラッシュまたはハングアップを自動的に検知する。
また、本発明は、計算プログラムを実行する複数の計算ノードと、計算ノードにネットワークを介して接続されるマスターノードとを含む並列計算機を用いて、進化的アルゴリズムを用いた設計最適化のように1度の計算に長時間を要する環境において並列計算処理を行なう方法を提供する。この方法は、計算プログラムのクラッシュまたはハングアップを定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける計算プログラムの実行を中止し、この計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなうステップを含む。
さらに本発明は、計算プログラムを実行する複数の計算ノードと、計算ノードにネットワークを介して接続されるマスターノードとを含む並列計算機に、進化的アルゴリズムを用いた設計最適化のように1度の計算に長時間を要する環境において並列計算処理を実施させるためのプログラムを提供する。このプログラムは、計算プログラムのクラッシュまたはハングアップを定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける計算プログラムの実行を中止し、この計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなう機能を含む。
以下、図面を参照して本発明の実施形態について説明する。
図1は、本発明が適用された並列計算機10のシステム構成図である。
図1に示すように、並列計算機10は、マスターノード12、複数の計算(スレーブ)ノード14−1〜14−n、およびマスタ−ノード12と各計算ノード14とを接続するネットワーク16−1〜16−nを備える。
マスターノード12は、ネットワーク16−1〜16−nを介して全ての計算ノード14―1〜14−nと接続されており、システム全体で実行される計算処理の一部である計算プログラムが各計算ノード14−1〜14−nで実行されるように、ネットワーク16−1〜16−nを介して計算ノード14−1〜14―nを管理する。
計算ノード14−1〜14−nは、所与の計算プログラムを実行して、計算結果をネットワーク16−1〜16−nを介してマスターノード12に送る。
マスターノード12および計算ノード14−1〜14−nは、それぞれ汎用の中央処理装置(CPU)を備えるコンピュータで実現可能である。マスターノード12および計算ノード14−1〜14−nに適用されるコンピュータのCPUの処理速度は同一でなくとも良い。
計算ノード14―1〜14−nは、例えば180台程度の規模であるが、並列計算機の処理能力を高めるために、さらに大規模な構成をとっても良い。
マスターノード12と計算ノード14−1〜14−nとの接続は、マスターノード12が全ての計算ノードと通信できる状態であれば良く、例えば各計算ノードのCPU性能に応じて計算ノードをグループ化して、グループ単位でマスターノード12に接続するなど、任意の接続手法を用いて良い。
図2を参照して、並列計算機10による並列計算の概略について説明する。
並列計算機10は、大規模な計算を複数の小さな計算ブロックに分割し、それらを別々の計算ノード14−1〜14−nに計算させる。ここで、本発明の処理を説明するにあたり、説明の便宜上、並列計算機10に計算させる計算全体およびその計算自体を「全体計算A」と称し、分割された個々の計算ブロックおよびそれらの計算自体を「計算ブロックa(1)」、「計算ブロックa(2)」、・・・、「計算ブロックa(m)」と称する。図2は、全体計算Aと計算ブロックa(1)、a(2)、・・・、a(m)の関係を模式的に示す図である。
進化的アルゴリズムによる設計最適化問題の場合、計算ブロックの数mは計算ノードの数nよりもはるかに多くなる。その為に、n個の計算ノードで計算ブロックa(1)からa(n)までを計算した後に、次に計算ブロックa(n+1)からa(2n)を計算するように順に処理していくこととなる。また、計算ブロックに依存関係がある場合、例えばa(1)からa(n)の計算結果がないとa(n+1)からa(2n)が計算できないような場合は、計算のタイミング(同期)を取ることが必要となったり、依存関係の無い計算ブロックを先に計算させるなどの処理が必要となることもある。
ここで、設計最適化問題の具体例として、航空機のエンジンを構成する部品であるガスタービンファン(GTファン)を環境に最適な形状に設計する場合を考える。1個体は、GTファンの設計用パラメータから構成される。1世代は、複数の異なるパラメータをもつ個体群から形成される。個体群の全ての個体について、各個体のもつ設計用パラメータを用いて、数値流体力学や有限要素法などの手法によりGTファンの動作シミュレーションを行ない、設定された環境への適合度を評価して、最も適合度の高いGTファンを提供した個体が次世代の親となる。この親個体を交叉および突然変異させて子個体を生成し、再度上述の評価計算を行なう。このような処理ループを一般的に1世代当たり100個体で、500世代だけ繰り返して、最後に生き残った個体の設計用パラメータが、設定された環境に最適なGTファンを提供する。
ここで、上述のGTファンの評価時間は1個体につき3日程度かかるので、計算ノードが180台程度の規模の並列計算機では、数ヶ月から数年程度の計算時間が必要である。また、同規模の並列計算機では、1日当たり1台強に障害が生じることが知られている。
このような環境において、計算ノードの一部に異常が発生する毎に当該異常箇所を修復するためにシステム全体を停止することは、修復作業後に改めて最初から全体計算をやり直さなければならず、著しく非効率的であり、回避すべきである。そこで、本発明による並列計算機は、計算ノードにおける異常を自動的に検出して、トラブルに自動的に対処する機能を備えることにより、計算ノードの一部に異常が発生しても全体計算を継続して実行することを可能にする。
図3は、本発明の一実施形態による並列計算機の機能ブロック図である。本実施形態では、マスターノード12は、計算プログラムを含むソフトウェア及びハードウェアなど複数箇所の異常を自動検知し、トラブルに自動的に対処する。
図3に示すように、マスターノード12は、指令部21、計算ノード決定部22、ハードウェア・ソフトウェアチェック部23、入力ファイルチェック部24、計算開始指示部25、ハングアップ・クラッシュチェック部26、出力ファイルチェック部27および異常処理部28を備える。マスターノード12には複数の計算ノード14−1〜14−nが接続されているが、1つの計算ノード14のみを代表させて図示している。
本実施形態において、ハードウェア・ソフトウェアチェック部23、入力ファイルチェック部24、ハングアップ・クラッシュチェック部26、および出力ファイルチェック部27が異常検知を行ない、異常処理部28が検知された異常への対処を行なう。
以下、異常検知および対処に関する各機能ブロックの詳細を説明する。
ハードウェア・ソフトウェアチェック部23は、1)ネットワーク16−1〜16−nおよび計算ノード14―1〜14―nの異常検知、2)並列計算機用ソフトウェアの異常検知、3)ハードディスクの異常検知を行なう。
ネットワーク16−1〜16−nおよび計算ノード14―1〜14―nの異常検知については、例えば、計算ジョブをマスターノードから計算ノードに渡して実行する前に、通常の計算機から使うことができるpingなどのコマンドを使って、マスターノード12から計算ノード14にアクセスし、そのレスポンスをチェックして異常の有無を判定する。また、マスターノードから計算ノードにアクセスすることができれば、ping以外のコマンドを使っても良い。
並列計算機10を使う際に使われる並列計算機用ソフト(例えば、PVMやMPIなど)のソフトウェアの異常検知に関しては、例えば、計算プログラム投入の前に、並列計算が出来るかどうかの条件を調べておくことで可能である。並列計算機用ソフトは、ソフトウェア起動時に異常があったり、起動は出来たが並列計算プログラムを実行できなかったり、計算中に異常を示したりすることが良くある。特に長時間の計算を行う場合は、この異常の為に計算が止まってしまうことが良くある。そこで、計算プログラム投入の際に事前に並列計算が出来るかどうかの条件を調べておくことは非常に効果的である。並列計算が可能な条件として、並列計算ソフトウェア毎に若干異なるが、例えば、並列計算ソフトウェアのデーモンが走っている、ある特定のファイルが存在しないまたは存在しているなどがある。そこで、それらをチェックするプログラムを作成し、それを実行し、計算ノード14からのレスポンスを解析することで、計算ノード14の異常を判定できる。
ハードディスク(HDD)の異常検知に関しては、ファイルの書き込み前にHDDの容量と書き出す予定のファイルの容量を比較するなどで可能である。数値流体力学などを計算ノードで計算するような場合、入力ファイル、中間ファイル、結果ファイルが大きくなることは一般的である。HDDの容量が入力ファイル、中間ファイル、結果ファイルに対して足りない場合、プログラムが書き出せるまで計算ノード14が待機してしまい、非常に効率が悪い。しかも見かけ上は、計算プログラムがまだ計算しているかのように振舞ってしまい、その状態を検知するのが難しく、計算結果を待っても得られないという状態に陥る。このような状況を自動検知する仕組みとして、ファイルの書き込み前にHDDの状況をチェックするプログラムまたはコマンドを実行し、計算ノード14からのレスポンスを解析することで、マスターノード12や計算ノード14が入力ファイル、中間ファイル、結果ファイルが書き出せるかどうか検知可能である。
ハードディスクに異常があった場合の対処として、三つの方法が考えられる。一つはユーザにメールを送るなどしてHDDの容量をキープするように促す処理を入れる方法、もう一つはHDDの容量をキープするようにプログラム中に「不要ファイル削除」の処理を入れる方法、もう一つは出力する中間ファイルや結果ファイルのデータ量を削減する方法(出力しないも含む)が考えられる。これらは、ユーザの意思で事前に決定しておく。
入力ファイルチェック部24は、ファイルアクセス前に必ずファイルの有無や内容を調べてファイルの異常を検知する。ファイルアクセスの前に必ずファイルの有無などの状態を調べて、その状態を解析し、異常がなければ、ファイルの内容をチェックし、内容を解析する。ファイル内容のチェックは、計算ノード14に投入するプログラムと非常に密接な関係にある。計算プログラムの入出力系に適合したファイルフォーマットであることはもちろんのこと、データ内容もチェックする方が好ましい。
また、プログラム上は書き込みが終わったように見えても、キャッシュに入ってファイルにはきっちりと書き込みが出来ていないようなケースが有り得る。そこで、入出力ファイルの最後に特定の書き込み(例えば、「##### End of File」)をさせるようにし、それをマスターノード12からチェックすることで、キャッシュに入ってプログラム上は書き込みが終わっていてもファイルには書き込みが終わっていないような特殊な状態も自動検知可能である。異常があれば、異常処理部28でファイルの修理や再計算による出力ファイルの作り直しなどをするのが良い。
出力ファイルチェック部27は、各計算ブロックの計算終了後、入力ファイルチェック部24と同様の処理を行なう。
ハングアップ・クラッシュチェック部26は、計算ブロックの計算を実行中に定期的または処理単位ごとに計算ノードのクラッシュ(異常終了)およびハングアップ(計算ノード14に異常がなく、JobのIDからもプログラムが動いているように見えるが実際は計算が止まっている状態)を検知する。
クラッシュの検知については、計算プログラムがクラッシュすれば、計算機上からJobのIDがなくなることを利用することができる。例えば、psコマンドを使うことで計算ノード14上の全てのJobのリストを出し、そのリストの中から、計算プログラムのIDの有無をチェックすることにより、計算プログラムがクラッシュしているかどうかを検出する。もし、計算プログラムがクラッシュしてしまった場合は、異常処理部28で再度計算プログラムを計算ノード14に投入することで問題が解決する。検出の方法としては、それ以外にもCPU使用率などのCPU状態からも検出可能である。
ハングアップの検知については、計算ノードで実行される計算プログラムに定期的にプログラム情報をファイルなどに書き出す処理部分を加える。それをマスターノード12で定期的にチェックすることで、計算プログラムのハングアップを自動検知し、異常があれば計算プログラムを再実行するなどで自動回避することで問題が解決する。
図4は、このハングアップを自動検知する仕組みの具体的な手法の一つを示している。計算ノード14で実行されるプログラムに定期的に「異常なし」とファイル22に書き出す部分を足し、一方それをチェックする側のマスターノード12には、そのファイル22をチェックし、その後に「異常あり」とファイル22に書き出す部分を足す。計算プログラムに異常がなければ、マスターノード12で「異常あり」と書き直されたファイル22は、マスターノード12が次にチェックするまでに「異常なし」と書き直される。その為、マスターノード12からのチェックを無事通過できる。逆に計算プログラムに異常があれば、マスターノード12で異常ありと書き直されたファイル22を計算ノード14が書き直せないために、マスターノード12の次のチェックの時に「異常あり」となったままなので、マスターノード12のチェックを通過することが出来ず、プログラムがハングアップしたと判定される。
他の方法として、計算ノード14で実行されるプログラムが定期的に状況を時間と共に書き出し、マスターノード12が、その書き出された状況および時間をチェックすることが考えられる。これ以外にも、計算ノード14のプログラムが書き出すファイルのタイムスタンプ等をチェックする方法なども考えられる。
異常処理部28は、上述のハードウェア・ソフトウェアチェック部23、入力ファイルチェック部24、ハングアップ・クラッシュチェック部26、および出力ファイルチェック部27によって計算ノードに異常を検知したとき、当該計算ノードにおける計算プログラムの処理を中止させる。そして、その計算対象である計算ブロックaを計算させる計算ノード14を所定のルールに従って変更して他の計算ノード14を選択し、中止させた処理を再開させる。例えば、計算ブロックa(1)を計算させる計算ノード14を計算ノード14−1から計算ノード14−2に変更し、計算ノード14−2に計算ブロックa(1)を処理させるようにする。
計算ノード14の変更は、ランダムに行ってもよいし、計算ノード14の使用状況、計算ノード14が備えるCPUの使用率等に基づいたリストに従って行ってもよい。
なお、異常が生じた計算ノード14については処理を中止させるのみならず、その後、マスターノード12から計算ノード14をリブートして計算に復帰できるようにしたり、異常が生じた計算ノード14の電源を落としたり、ユーザや管理者にメール送信等で異常発生した旨を通知するようにすれば、非常に効率がよい(このような処理をされる計算ノードは今後も問題を生ずる可能性があるので、その計算ノードの特性を知っておくことで、計算ノードを選択する手法に反映させたり出来る。その為、並列計算機の利用の観点で効率が良いと考えられる)。異常が生じた計算ノード14がリブートによって計算に復帰できるようになった場合、本発明の並列計算機は、並列計算の環境を整えた上で、直処理を中止させていた計算ノード14を直ちに復帰させる。「並列計算の環境を整える」とは、例えば、並列計算用ソフトウェアの起動や異常入出力ファイルの整理などを行うことである。一方、処理を中止させていた計算ノード14が復帰できない場合には、マスターノード12は、その計算ノード14を並列計算機から切り離す。
なお、本実施形態において並列計算機の異常を検出するハードウェア・ソフトウェアチェック部23、入力ファイルチェック部24、ハングアップ・クラッシュチェック部26、および出力ファイルチェック部27は、計算環境やその他の条件に応じて、これらのうちから選択的に使用しても良い。
図5A〜Dは、本実施形態におけるマスターノード12による異常の検出および対処の流れを示すフローチャートである。
まず、ステップS101において、計算ノード決定部22によって、計算ブロックが割り当てられる計算ノードが決定される。ここでは、便宜上、計算ブロックa(1)が計算ノード14−1に割り当てられたものとして、以下の説明を続ける。
続いて、ステップS102〜S109において、ハードウェア・ソフトウェアチェック部23がハードウェアおよびソフトウェアの異常判定を行う。
ハードウェア・ソフトウェアチェック部23は、先ずマスターノード12から計算ノード14−1までのネットワーク16−1の状態を、pingなどのコマンドを利応してチェックする(ステップS102、S103)。このチェックでは、「通信が問題無く行える」、「応答に遅れが無い」等の項目が確認される。
ステップS103において異常が発見されない場合、ハードウェア・ソフトウェアチェック部23は、計算ノード14−1自体のチェックを行う(ステップS104、S105)。このチェックでは、計算ノード14−1のシステム自体、例えばCPU温度、計算負荷、他者のログイン状況(CPU利用率や仕様から計算が最も早く終了すると予測されても、他の使用者によってジョブが投入されると計算スピードが極度に遅くなるので、そのような恐れがある計算ノードを避ける方が良い)等が確認される。
そして、ステップS105において異常が発見されない場合、ハードウェア・ソフトウェアチェック部23は、並列計算機用のソフトウェア(例えば、周知のPVMやMPI等)をチェックする(ステップS106、S107)。この並列計算機用のソフトウェアは、図1のマスターノード12及び計算ノード14に格納されている。
通常、並列計算を実行させるためには市販、フリーウェアまたは専用の並列計算機用ソフトウェアが必要となるが、そのデーモン(並列計算機が使える環境を整える為に使用者から見えない形で常駐しているプログラム)やシステムファイルの条件(例えば、PVMの場合だとpvmlファイルやtemporaryファイル等)が整っていないと計算ノード14−1に対する計算ブロックa(1)の投入ができない。ステップS106、S107は、計算ブロックの投入ができるようなソフトウェアであるか否かを確認する処理である。
ステップS107の処理において異常が発見されない場合、ハードウェア・ソフトウェアチェック部23は、計算ノード14−1が使用するハードディスク(HDD)の容量をチェックする(ステップS108、S109)。更に、ハードウェア・ソフトウェアチェック部23は、HDDに入出力ファイルを出力することが可能かどうかのチェック(例えば、書き込みのパーミションなど)を行う(ステップS110、S111)。
ここで、HDDの容量不足が生じていると、計算ノード14−1における計算用の入力ファイル、中間ファイルおよび結果ファイルが書き出せないこととなり、計算ノード14−1での計算プログラムが停止してしまったり、HDDの容量が十分になるまで計算プログラムを待機させなければならなくなる。そこで、事前にHDDの容量チェックや入出力ファイルの出力チェックを行う。
ステップS111の処理において異常が発見されない場合、入力ファイルチェック部24は、計算ノード14−1が計算ブロックa(1)の計算を実行するのに必要な入力ファイルを計算ノード14−1に配り(ステップS112)、再び計算ノード14−1上の入力ファイルに異常が無いか否かをチェックする(ステップS113、S114)。ここで、配布前にファイルチェックをすることも考えられるが(チェックをしても良い)、配布前に異常がなくともファイル転送途中にファイル内容を失う等の異常が起こることも考えられるので、配布後にチェックするのが好ましい。仮に、入力ファイルの値やフォーマットに異常があった場合、計算プログラムが暴走を始め、得られた計算結果が全く無駄になってしまう。このような事態を回避するために、ステップS113、S114では入力ファイルの値やフォーマットのチェックを行う。
ステップS114の処理において異常が発見されない場合、計算開始指示部25は、計算ノード14−1に対して計算開始指示を出す(ステップS115)。これにより、計算ノード14−1における計算ブロックa(1)の投入(実行)が開始される(ステップS116)。
計算ブロックa(1)の実行中、ハングアップ・クラッシュチェック部26は、計算ブロックa(1)および計算ノード14−1に対して定期的または処理単位ごとにチェックを行う。これは、計算ブロックa(1)がクラッシュ(異常終了)していないか否かのチェック(ステップS117、S118)と、計算ブロックa(1)がハングアップ(見かけ上計算処理が動いているように見えるが、実際は計算がストップしてしまっている、又は、無限ループなどに入ってしまっている状態)していないか否かのチェックである(ステップS119、S120)。
ステップS117〜S120は、計算ブロックの計算が終了するまで定期的または処理単位ごとに実行される。
なお、計算ブロックa(1)の処理中、上述のネットワーク16のチェック(ステップS102)、計算ノード14のチェック(ステップS104)、並列計算機用ソフトウェアのチェック(ステップS106)、HDD容量のチェック(ステップS108)も定期的に行うようにしても良い。
ステップS121において、計算ブロックa(1)の処理が終了したことが検知されると、出力ファイルチェック部27は、出力ファイル(結果ファイル)が正常に出力されているか否か、出力ファイルのフォーマットや値に異常が無いか否かをチェックし(ステップS122、S123)、異常が無い場合には計算ノード14−1から計算結果(出力ファイルまたは計算した数値)を回収することで1つの計算が終了する(ステップS124)。すなわち、計算ノード14−1における計算ブロックa(1)の計算が終了する。そして、次は、図2に示す計算ブロックのうち、まだ処理されていない計算ブロックに対して、ステップS101の処理が実行されていく(ステップS125)。また、全ての計算ブロックについてのステップS124の処理が終了した場合、全体計算Aについての並列計算が終了することとなる。
ここで、上述のステップS103(ネットワーク)、S105(計算ノード)、S107(並列計算機ソフトウェア)、S109(HDD容量)、S111(入出力ファイル)、S114(入力ファイル)、S118(クラッシュ)、S120(ハングアップ)およびS123(出力ファイル)のいずれかにおいて異常が検出された場合、マスターノード12内の異常処理部28は異常が検出された処理を中止させる(ステップS126)。そして、その計算対象である計算ブロックaを計算させる計算ノード14を所定のルールに従って変更して他の計算ノード14を選択し(ステップS 127)、中止させた処理を再開させる(ステップS128)。
なお、ネットワークチェック(S102)、計算ノードのチェック(S104)、並列計算機用ソフトウェアのチェック(S106)、HDD容量チェック(S108)、入出力ファイルチェック(S110)、入力ファイルチェック(S113)、クラッシュチェック(S117)、ハングアップチェック(S119)、および出力ファイルチェック(S122)の各処理ステップは、全て使用しても良いし、一部を選択して使用しても良い。また、各処理ステップの順序を入れ替えても良い。
本発明では、並列計算機上での計算プログラムの停止を招くトラブルに対して、前述のような手法で自動検知し、問題がある場合は自動的に対処する機能を付加することで、並列計算機での計算を安定的に実行させることを可能とした。これは、進化的アルゴリズムによる設計最適化のような長時間の計算が必要な場合に特に効果を表すことは自明であろう。
本発明は、前述のチェック機能を計算システムやプログラム中に入れることで実施可能である。また、プログラムの中に入れなくとも、静的または動的なライブラリーとしてチェック機能を提供し、それを実行するプログラムからリンク等をすることでも容易に実施可能である。また、ハードウェア上にプログラムを焼き付けてしまうなどの方法でも、本発明を実施することが可能である。
本発明は、並列計算機10で計算を行う時に、並列計算機10の故障やソフトウェアの異常により生じるプログラムの異常停止を自動検知、自動回避できる。それにより既存の手法ではプログラムの停止を招き、計算リソースを無駄にしてしまうような計算でも、システム、プログラムが自動的に検出し、自動的に回避を行うことで、全く人が介さずとも計算を走らせ続けることが可能となる。長時間の計算が必要となるような実設計問題の解析やその最適化計算でも、プログラムを停止させることなく安定的に長時間計算ができるようになり、並列計算機10の信頼性や安定性を向上させることが出来るばかりか、ひいては異常停止による計算リソースの無駄を省け、結果を早く得るということが可能となる。
以上、本発明の実施の形態について説明したが、本発明はこのような実施形態に限定されることはなく、本発明の趣旨を逸脱しない範囲において改変して用いることができる。
本発明が適用された並列計算機のシステム構成図である。 並列計算機による並列計算の概略図である。 本発明の一実施形態による並列計算機の機能ブロック図である。 ハングアップを検知する手法を示す図である。 異常検出および対処の流れを示すフローチャートである。 異常検出および対処の流れを示すフローチャートである。 異常検出および対処の流れを示すフローチャートである。 異常検出および対処の流れを示すフローチャートである。
符号の説明
10 並列計算機
12 マスターノード
14 計算(スレーブ)ノード
16 ネットワーク
23 ハードウェア・ソフトウェアチェック部
24 入力ファイルチェック部
26 ハングアップ・クラッシュチェック部
27 出力ファイルチェック部
28 異常処理部

Claims (15)

  1. 計算プログラムを実行する複数の計算ノードと、前記計算ノードにネットワークを介して接続されるマスターノードとを含み、進化的アルゴリズムを用いた設計最適化のように1度の計算に長時間を要する環境において並列計算処理を行なう、並列計算機システムであって、
    前記計算プログラムのクラッシュまたはハングアップを定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける前記計算プログラムの実行を中止し、該計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなう異常処理手段を有する、システム。
  2. 前記異常処理手段が、さらに、前記マスターノードと前記計算ノードとの通信状態、前記計算ノードの稼働状況、または前記計算ノードのハードディスクの空き容量を定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける前記計算プログラムの実行を中止し、該計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなう、請求項1に記載のシステム。
  3. 前記異常処理手段が、さらに、前記計算プログラムの実行前に、計算に必要な入出力ファイルの値またはフォーマットの異常検知および前記計算ノードに含まれる並列計算用ソフトウェアの異常検知を行い、前記計算プログラムの実行後に、計算結果が記録された出力ファイルの値またはフォーマットの異常検知を行い、異常が検知された計算ノードにおける前記計算プログラムの実行を中止し、該計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなう、請求項1に記載のシステム。
  4. 前記計算ノードが、前記計算プログラムの実行中に定期的または処理単位ごとに所定の内容をファイルに書き出す手段をさらに含み、
    前記異常処理手段が、定期的または処理単位ごとに前記ファイルの内容を解析して前記計算プログラムのクラッシュまたはハングアップを自動的に検知する、
    請求項1に記載のシステム。
  5. 前記計算ノードが、前記計算プログラムの実行中に定期的または処理単位ごとに所定の内容をファイルに書き出す手段をさらに含み、
    前記異常処理手段が、定期的または処理単位ごとに前記ファイルのタイムスタンプを解析して前記計算プログラムのクラッシュまたはハングアップを自動的に検知する、
    請求項1に記載のシステム。
  6. 計算プログラムを実行する複数の計算ノードと、前記計算ノードにネットワークを介して接続されるマスターノードとを含む並列計算機を用いて、進化的アルゴリズムを用いた設計最適化のように1度の計算に長時間を要する環境において並列計算処理を行なう方法であって、
    前記計算プログラムのクラッシュまたはハングアップを定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける前記計算プログラムの実行を中止し、該計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなうステップ、
    を含む方法。
  7. 前記一連の処理を自動的におこなうステップが、さらに、前記マスターノードと前記計算ノードとの通信状態、前記計算ノードの稼働状況、または前記計算ノードのハードディスクの空き容量を定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける前記計算プログラムの実行を中止し、該計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなうことを含む、請求項6に記載の方法。
  8. 前記一連の処理を自動的におこなうステップが、さらに、前記計算プログラムの実行前に、計算に必要な入出力ファイルの値またはフォーマットの異常検知および前記計算ノードに含まれる並列計算用ソフトウェアの異常検知を行い、前記計算プログラムの実行後に、計算結果が記録された出力ファイルの値またはフォーマットの異常検知を行い、異常が検知された計算ノードにおける前記計算プログラムの実行を中止し、該計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなうことを含む、請求項6に記載の方法。
  9. 前記計算ノードが、前記計算プログラムの実行中に定期的または処理単位ごとに所定の内容をファイルに書き出す手段をさらに含み、
    前記一連の処理を自動的におこなうステップが、定期的または処理単位ごとに前記ファイルの内容を解析して前記計算プログラムのクラッシュまたはハングアップを自動的に検知することをさらに含む、
    請求項6に記載の方法。
  10. 前記計算ノードが、前記計算プログラムの実行中に定期的または処理単位ごとに所定の内容をファイルに書き出す手段をさらに含み、
    前記一連の処理を自動的におこなうステップが、定期的または処理単位ごとに前記ファイルのタイムスタンプを解析して前記計算プログラムのクラッシュまたはハングアップを自動的に検知することをさらに含む、
    請求項6に記載の方法。
  11. 計算プログラムを実行する複数の計算ノードと、前記計算ノードにネットワークを介して接続されるマスターノードとを含む並列計算機に、進化的アルゴリズムを用いた設計最適化などのように1度の計算に長時間を要する環境において並列計算処理を実行させるためのプログラムであって、
    前記計算プログラムのクラッシュまたはハングアップを定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける前記計算プログラムの実行を中止し、該計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなう機能、
    を含むプログラム。
  12. 前記一連の処理を自動的におこなう機能が、さらに、前記マスターノードと前記計算ノードとの通信状態、前記計算ノードの稼働状況、または前記計算ノードのハードディスクの空き容量を定期的または処理単位ごとに監視し、異常が検知された計算ノードにおける前記計算プログラムの実行を中止し、該計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなうことを含む、請求項11に記載のプログラム。
  13. 前記一連の処理を自動的におこなう機能が、さらに、前記計算プログラムの実行前に、計算に必要な入出力ファイルの値またはフォーマットの異常検知および前記計算ノードに含まれる並列計算用ソフトウェアの異常検知を行い、前記計算プログラムの実行後に、計算結果が記録された出力ファイルの値またはフォーマットの異常検知を行い、異常が検知された計算ノードにおける前記計算プログラムの実行を中止し、該計算プログラムを他の計算ノードに実行させる一連の処理を自動的におこなうことを含む、請求項11に記載のプログラム。
  14. 前記計算ノードが、前記計算プログラムの実行中に定期的または処理単位ごとに所定の内容をファイルに書き出す手段をさらに含み、
    前記一連の処理を自動的におこなう機能が、定期的または処理単位ごとに前記ファイルの内容を解析して前記計算プログラムのクラッシュまたはハングアップを自動的に検知することをさらに含む、
    請求項11に記載のプログラム。
  15. 前記計算ノードが、前記計算プログラムの実行中に定期的または処理単位ごとに所定の内容をファイルに書き出す手段をさらに含み、
    前記一連の処理を自動的におこなう機能が、定期的または処理単位ごとに前記ファイルのタイムスタンプを解析して前記計算プログラムのクラッシュまたはハングアップを自動的に検知することをさらに含む、
    請求項11に記載のプログラム。
JP2006308108A 2006-11-14 2006-11-14 並列計算機システム、並列計算方法および並列計算機用プログラム Pending JP2008123357A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006308108A JP2008123357A (ja) 2006-11-14 2006-11-14 並列計算機システム、並列計算方法および並列計算機用プログラム
US11/984,047 US7870424B2 (en) 2006-11-14 2007-11-13 Parallel computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006308108A JP2008123357A (ja) 2006-11-14 2006-11-14 並列計算機システム、並列計算方法および並列計算機用プログラム

Publications (1)

Publication Number Publication Date
JP2008123357A true JP2008123357A (ja) 2008-05-29

Family

ID=39499747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006308108A Pending JP2008123357A (ja) 2006-11-14 2006-11-14 並列計算機システム、並列計算方法および並列計算機用プログラム

Country Status (2)

Country Link
US (1) US7870424B2 (ja)
JP (1) JP2008123357A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012511784A (ja) * 2008-12-12 2012-05-24 アマゾン テクノロジーズ インコーポレイテッド プログラム実行状態の保存
US8819106B1 (en) 2008-12-12 2014-08-26 Amazon Technologies, Inc. Managing distributed execution of programs
US9329909B1 (en) 2009-03-31 2016-05-03 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
KR20170065497A (ko) * 2014-08-04 2017-06-13 요기테크 에스.피.에이. 복수의 프로세서를 포함하는 기능 안전이 있는 애플리케이션을 위한 전자 시스템에서 프로그램을 실행하는 방법, 대응되는 시스템 및 컴퓨터 프로그램 제품
CN107247635A (zh) * 2017-05-16 2017-10-13 北京龙鼎源科技股份有限公司 系统稳定性获取方法和装置
US9880888B2 (en) 2013-06-07 2018-01-30 Mitsubishi Electric Corporation Executing an operating system in a multiprocessor computer system

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009045526A1 (en) * 2007-10-03 2009-04-09 Scaleout Software, Inc. A method for implementing highly available parallel operations on a computational grip
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US11474874B2 (en) 2014-08-14 2022-10-18 Qubole, Inc. Systems and methods for auto-scaling a big data system
US11436667B2 (en) 2015-06-08 2022-09-06 Qubole, Inc. Pure-spot and dynamically rebalanced auto-scaling clusters
ITUB20154590A1 (it) * 2015-10-13 2017-04-13 Yogitech S P A Procedimento di esecuzione di programmi in un sistema elettronico per applicazioni in sicurezza funzionale comprendente una pluralita' di processori, relativo sistema e prodotto informatico
US11080207B2 (en) 2016-06-07 2021-08-03 Qubole, Inc. Caching framework for big-data engines in the cloud
US10606664B2 (en) 2016-09-07 2020-03-31 Qubole Inc. Heterogeneous auto-scaling big-data clusters in the cloud
US10733024B2 (en) 2017-05-24 2020-08-04 Qubole Inc. Task packing scheduling process for long running applications
US11228489B2 (en) 2018-01-23 2022-01-18 Qubole, Inc. System and methods for auto-tuning big data workloads on cloud platforms
US11144360B2 (en) 2019-05-31 2021-10-12 Qubole, Inc. System and method for scheduling and running interactive database queries with service level agreements in a multi-tenant processing system
US11704316B2 (en) 2019-05-31 2023-07-18 Qubole, Inc. Systems and methods for determining peak memory requirements in SQL processing engines with concurrent subtasks
CN110851294B (zh) * 2019-10-10 2023-06-30 上海上湖信息技术有限公司 一种程序运行崩溃补救的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1083321A (ja) * 1996-07-15 1998-03-31 Denso Corp データ処理装置及び電子制御装置
JPH10116261A (ja) * 1996-10-14 1998-05-06 Hitachi Ltd 並列計算機システムのチェックポイントリスタート方法
JP2005267434A (ja) * 2004-03-19 2005-09-29 Fujitsu Ltd アプリケーション監視装置、そのプログラム、及びその記録媒体。
JP2006079485A (ja) * 2004-09-13 2006-03-23 Nec Commun Syst Ltd 電子計算機における障害解析用情報収集方式
JP2006139621A (ja) * 2004-11-12 2006-06-01 Nec Electronics Corp マルチプロセッシングシステム及びマルチプロセッシング方法
JP2006285474A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 並列計算機及びその制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161976A (ja) 1992-11-24 1994-06-10 Hitachi Ltd 障害回避機能を有する格子結合形並列計算機
US5574849A (en) * 1992-12-17 1996-11-12 Tandem Computers Incorporated Synchronized data transmission between elements of a processing system
US6789213B2 (en) * 2000-01-10 2004-09-07 Sun Microsystems, Inc. Controlled take over of services by remaining nodes of clustered computing system
JP2002288149A (ja) 2001-03-26 2002-10-04 Hitachi Ltd 並列計算機のチェックポイントリスタートにおけるノード座標変換方法
US6971044B2 (en) * 2001-04-20 2005-11-29 Egenera, Inc. Service clusters and method in a processing system with failover capability
JP2002366535A (ja) 2001-06-13 2002-12-20 Hitachi Ltd 並列計算機の保守方式
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
JP2003203061A (ja) 2002-01-08 2003-07-18 Mitsubishi Heavy Ind Ltd 並列計算機システムおよび並列計算機システムにおける計算ノードの選択用プログラム
US7421478B1 (en) * 2002-03-07 2008-09-02 Cisco Technology, Inc. Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration
US20030177224A1 (en) * 2002-03-15 2003-09-18 Nguyen Minh Q. Clustered/fail-over remote hardware management system
JP2004038654A (ja) 2002-07-04 2004-02-05 Mitsubishi Heavy Ind Ltd 並列計算機の異常検出システムおよび異常検出方法
US7287180B1 (en) * 2003-03-20 2007-10-23 Info Value Computing, Inc. Hardware independent hierarchical cluster of heterogeneous media servers using a hierarchical command beat protocol to synchronize distributed parallel computing systems and employing a virtual dynamic network topology for distributed parallel computing system
US20050283658A1 (en) * 2004-05-21 2005-12-22 Clark Thomas K Method, apparatus and program storage device for providing failover for high availability in an N-way shared-nothing cluster system
JP4353005B2 (ja) * 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
US7444538B2 (en) * 2004-09-21 2008-10-28 International Business Machines Corporation Fail-over cluster with load-balancing capability
US7840852B2 (en) * 2004-10-19 2010-11-23 Honeywell International Inc. Method and system for environmentally adaptive fault tolerant computing
US7480827B2 (en) * 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
JP4809209B2 (ja) * 2006-12-28 2011-11-09 株式会社日立製作所 サーバ仮想化環境における系切り替え方法及び計算機システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1083321A (ja) * 1996-07-15 1998-03-31 Denso Corp データ処理装置及び電子制御装置
JPH10116261A (ja) * 1996-10-14 1998-05-06 Hitachi Ltd 並列計算機システムのチェックポイントリスタート方法
JP2005267434A (ja) * 2004-03-19 2005-09-29 Fujitsu Ltd アプリケーション監視装置、そのプログラム、及びその記録媒体。
JP2006079485A (ja) * 2004-09-13 2006-03-23 Nec Commun Syst Ltd 電子計算機における障害解析用情報収集方式
JP2006139621A (ja) * 2004-11-12 2006-06-01 Nec Electronics Corp マルチプロセッシングシステム及びマルチプロセッシング方法
JP2006285474A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 並列計算機及びその制御方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9826031B2 (en) 2008-12-12 2017-11-21 Amazon Technologies, Inc. Managing distributed execution of programs
US8819106B1 (en) 2008-12-12 2014-08-26 Amazon Technologies, Inc. Managing distributed execution of programs
US8935404B2 (en) 2008-12-12 2015-01-13 Amazon Technologies, Inc. Saving program execution state
US9207975B2 (en) 2008-12-12 2015-12-08 Amazon Technologies, Inc. Managing distributed execution of programs
US11263084B2 (en) 2008-12-12 2022-03-01 Amazon Technologies, Inc. Saving program execution state
JP2012511784A (ja) * 2008-12-12 2012-05-24 アマゾン テクノロジーズ インコーポレイテッド プログラム実行状態の保存
US10873623B2 (en) 2009-03-31 2020-12-22 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US9329909B1 (en) 2009-03-31 2016-05-03 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US11425194B1 (en) 2009-03-31 2022-08-23 Amazon Technologies, Inc. Dynamically modifying a cluster of computing nodes used for distributed execution of a program
US9880888B2 (en) 2013-06-07 2018-01-30 Mitsubishi Electric Corporation Executing an operating system in a multiprocessor computer system
KR20170065497A (ko) * 2014-08-04 2017-06-13 요기테크 에스.피.에이. 복수의 프로세서를 포함하는 기능 안전이 있는 애플리케이션을 위한 전자 시스템에서 프로그램을 실행하는 방법, 대응되는 시스템 및 컴퓨터 프로그램 제품
KR102352068B1 (ko) 2014-08-04 2022-01-17 인텔 코포레이션 복수의 프로세서를 포함하는 기능 안전이 있는 애플리케이션을 위한 전자 시스템에서 프로그램을 실행하는 방법, 대응되는 시스템 및 컴퓨터 프로그램 제품
CN107247635A (zh) * 2017-05-16 2017-10-13 北京龙鼎源科技股份有限公司 系统稳定性获取方法和装置

Also Published As

Publication number Publication date
US7870424B2 (en) 2011-01-11
US20080141065A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
JP2008123357A (ja) 並列計算機システム、並列計算方法および並列計算機用プログラム
JP5745077B2 (ja) 根本原因を解析する管理計算機及び方法
JP5532150B2 (ja) 運用管理装置、運用管理方法、及びプログラム
US8799709B2 (en) Snapshot management method, snapshot management apparatus, and computer-readable, non-transitory medium
JP5446167B2 (ja) ウイルス対策方法、コンピュータ、及びプログラム
JP5075736B2 (ja) 仮想サーバのシステム障害回復方法及びそのシステム
JP5140633B2 (ja) 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
US11157373B2 (en) Prioritized transfer of failure event log data
JP5657475B2 (ja) 運用管理装置、及び方法
JP4811830B1 (ja) コンピュータリソース制御システム
JP4506520B2 (ja) 管理サーバ、メッセージの抽出方法、及び、プログラム
JP4840670B2 (ja) 仮想マシンのデプロイ高速化システム、その方法及びそのプログラム
WO2015033433A1 (ja) ストレージ装置及び障害部位特定方法
US20100085871A1 (en) Resource leak recovery in a multi-node computer system
JP5440073B2 (ja) 情報処理装置,情報処理装置の制御方法および制御プログラム
US8537662B2 (en) Global detection of resource leaks in a multi-node computer system
WO2015019488A1 (ja) 管理システム及びその管理システムによるイベント解析方法
JP5466740B2 (ja) 仮想サーバのシステム障害回復方法及びそのシステム
JP5657096B2 (ja) アプリケーションの無進行状態の検出
JP5938495B2 (ja) 根本原因を解析する管理計算機、方法及び計算機システム
JP6555131B2 (ja) 並列処理装置、ジョブ監視方法及びジョブ監視プログラム
JP5832408B2 (ja) 仮想計算機システム及びその制御方法
JP2012089109A (ja) コンピュータリソース制御システム
KR101769779B1 (ko) 슈퍼컴퓨터 환경에서의 병렬 컴퓨팅 시스템 및 방법
CN114721715A (zh) 代码规范性检查的方法、装置、设备、存储介质和产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111018