JP4773715B2 - How to get checkpoint - Google Patents
How to get checkpoint Download PDFInfo
- Publication number
- JP4773715B2 JP4773715B2 JP2004348418A JP2004348418A JP4773715B2 JP 4773715 B2 JP4773715 B2 JP 4773715B2 JP 2004348418 A JP2004348418 A JP 2004348418A JP 2004348418 A JP2004348418 A JP 2004348418A JP 4773715 B2 JP4773715 B2 JP 4773715B2
- Authority
- JP
- Japan
- Prior art keywords
- checkpoint
- barrier synchronization
- processes
- flag
- request
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Retry When Errors Occur (AREA)
Description
本発明は、情報処理装置によるチェックポイント取得方法に関する。 The present invention relates to a checkpoint acquisition method by an information processing apparatus.
多数台のホスト計算機を用いて構築されたクラスタシステム上で実行される並列プログラムは、実行中に、一部のホスト計算機のハードウェア資源が故障しただけで、停止し、それまでの計算結果等は無駄になる。 A parallel program executed on a cluster system constructed using a large number of host computers stops during execution, even if some of the host computer hardware resources fail. Is wasted.
このような事故が発生した場合の復旧を容易にし、事故が発生するまでの計算結果を無駄にしないため、チェックポイント/リスタート機能が考案されており、多くのクラスタシステム上に組み込まれている。 A checkpoint / restart function has been devised and incorporated in many cluster systems in order to facilitate recovery in the event of such an accident and not to waste calculation results until the accident occurs. .
ここで、チェックポイント/リスタート機能とは、プログラムの実行中の任意の時点での実行状態をホスト計算機のローカルディスク上等に退避させておき、プログラムを実行しているホスト計算機が不意に故障等した場合等にプログラムを最初から実行しなおすことなく、退避させておいた情報から、プログラムの状態を復元し、実行を再開させる機能のことである。なお、従来は、以下に示す方法で、チェックポイントを採取していた。 Here, the checkpoint / restart function means that the execution status at any point during the execution of the program is saved on the local disk of the host computer, and the host computer executing the program unexpectedly fails. In this case, the function restores the state of the program from the saved information without restarting the program from the beginning and restarts the execution. Conventionally, checkpoints are collected by the following method.
初めに、一定時間毎のタイマ機能、又はオペレータ等からの指示により、実行中の各プロセスにチェックポイントの採取要求が届けられる。 First, a checkpoint collection request is sent to each process being executed by a timer function at regular intervals or an instruction from an operator or the like.
次に、チェックポイントの採取要求を受け取ったプロセスは、それまでの実行を一時中断し、チックポイント採取処理を呼び出す。 Next, the process that has received the checkpoint collection request suspends execution so far and calls the tickpoint collection process.
次に、チェックポイント採取処理は、プロセスの実行状態(例えば、メモリイメージや、使用中の資源のディスクリプタ等)を、ホスト計算機のローカルディスク上に書き出す。 Next, in the checkpoint collection process, the execution state of the process (for example, the memory image, the descriptor of the resource being used, etc.) is written on the local disk of the host computer.
次に、チェックポイント採取処理が終了すると、プロセスは一時中断していた実行を再開する。
しかしながら、上述したような処理では、並列プログラムの状態に関係なく、チェックポイントの採取処理が割り込まれるため、プロセスがチェックポイント採取処理を正常に呼び出すことができない状態であった場合、例えばプロセスがスレッドを持っていた場合等、チェックポイントが採取できない問題があった。 However, in the processing as described above, the checkpoint collection processing is interrupted regardless of the state of the parallel program. Therefore, if the process cannot call the checkpoint collection processing normally, for example, the process is a thread. There was a problem that checkpoints could not be collected.
また、並列プログラムの各プロセスにチェックポイントの採取要求が届くタイミングにはバラつきがあるため、タイミングによっては、記録しておいた実行状態を復元し、記録しておいて箇所から並列プログラムの実行を再開(リスタート)した際に、デッドロックが発生するような状態で、チェックポイントを採取してしまう問題があった。 Also, since the timing at which the checkpoint collection request arrives at each process of the parallel program varies, depending on the timing, the recorded execution state is restored, and the parallel program is executed from the recorded location. When restarting (restarting), there was a problem of collecting checkpoints in a state where a deadlock occurred.
図1は、従来の問題点を示す図である。図1に示されるように、例えばホスト計算機1で動作しているプロセス1には、バリア同期の後でチェックポイントの採取要求が届き、チェックポイントを採取しており、ホスト計算機2で動作しているプロセス2には、バリア同期の前でチェックポイントの採取要求が届き、チェックポイントを採取している。このような場合では、記録しておいた実行状態を復元し、記録しておいて箇所から並列プログラムの実行を再開(リスタート)した際に、デッドロックが発生する可能性が高い。
FIG. 1 is a diagram illustrating a conventional problem. As shown in FIG. 1, for example, the
本発明は、上記の点に鑑みなされたもので、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to safely collect checkpoints by capturing timing at which inconvenience such as deadlock does not occur.
また、本発明は、各プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることを目的とする。 Another object of the present invention is to enable checkpoint collection even in a parallel program in which each process has a thread.
そこで、上記課題を解決するため、本発明は、チェックポイントの取得要求を検出すると、並列プログラムとして動作する子プロセスは親プロセスが動作する情報処理装置にフラグをセットし、前記チェックポイントの取得要求とは独立して行われるバリア同期確立が検出されると、前記親プロセスが動作する情報処理装置においてバリア同期確立対象の全てのプロセスについてフラグがセットされているか否かの判定を行い、前記判定が肯定的な判定結果を示す場合に、今回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせ、前記判定が否定的な判定結果を示す場合に、次回のバリア同期確立の際にバリア同期確立対象の全てのプロセスについてフラグがセットされていると判定されると、該次回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせる、処理を情報処理装置に実行させることを特徴とする。 Therefore, in order to solve the above-described problem, the present invention detects a checkpoint acquisition request, a child process operating as a parallel program sets a flag in an information processing apparatus in which a parent process operates, and the checkpoint acquisition request When establishment of barrier synchronization that is performed independently of the process is detected, it is determined whether or not a flag is set for all processes that are targets of establishment of barrier synchronization in the information processing apparatus in which the parent process operates. Indicates a positive determination result, checkpoint acquisition is performed for all processes for which the current barrier synchronization is established, and when the determination indicates a negative determination result, the next barrier synchronization establishment is performed. If it is determined that the flag is set for all processes for which barrier synchronization is to be established, A synchronization establishment to perform acquisition of checkpoint for all processes that have been made, characterized in that to perform the processing to the information processing apparatus.
本発明によれば、チェックポイントの取得要求を検出すると、並列プログラムとして動作する子プロセスは親プロセスが動作する情報処理装置にフラグをセットし、前記チェックポイントの取得要求とは独立して行われるバリア同期確立が検出されると、前記親プロセスが動作する情報処理装置においてバリア同期確立対象の全てのプロセスについてフラグがセットされているか否かの判定を行い、前記判定が肯定的な判定結果を示す場合に、今回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせ、前記判定が否定的な判定結果を示す場合に、次回のバリア同期確立の際にバリア同期確立対象の全てのプロセスについてフラグがセットされていると判定されると、該次回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせる、処理を情報処理装置に実行させることにより、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。 According to the present invention, when a checkpoint acquisition request is detected, a child process operating as a parallel program sets a flag in the information processing apparatus in which the parent process operates, and is performed independently of the checkpoint acquisition request. When the establishment of barrier synchronization is detected, the information processing apparatus in which the parent process operates determines whether or not a flag is set for all processes targeted for establishment of barrier synchronization, and the determination is positive. If all the processes that have been established for barrier synchronization this time are checked, checkpoint acquisition is performed. When it is determined that the flag is set for all processes, all the next establishment of barrier synchronization is performed. Process to perform acquisition of checkpoint for, by executing the processing to the information processing apparatus can be collected safely checkpoint captures timing disadvantage of deadlock and the like does not occur.
本発明によれば、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。 According to the present invention, it is possible to safely collect checkpoints by capturing a timing at which inconvenience such as deadlock does not occur.
また、本発明によれば、各プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることができる。 Furthermore, according to the present invention, it is possible to collect checkpoints even in a parallel program in which each process has a thread.
以下、本発明の実施の形態について図面に基づいて説明する。図2は、クラスタシステムの一例を示す図である。図2に示されるように、本発明に係るクラスタシステムは、並列プログラムを実行する複数のホスト計算機1と、管理ホスト2と、がネットワークを介して接続されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 2 is a diagram illustrating an example of a cluster system. As shown in FIG. 2, in the cluster system according to the present invention, a plurality of
以下、ホスト計算機1の一例のハードウェア構成を、図3に示す。図3は、ホスト計算機の一例のハードウェア構成図である。
A hardware configuration of an example of the
図3に示されるホスト計算機1のハードウェア構成は、それぞれバスで相互に接続されているドライブ装置13と、ROM(Read Only Memory)15と、RAM(Random Access Memory)16と、CPU(Central Processing Unit)17と、インターフェース装置18と、HDD(Hard Disk Drive)19と、から構成されている。
The hardware configuration of the
インターフェース装置18は、ホスト計算機1をネットワーク等に接続するインターフェースである。
The
ホスト計算機1のプログラム(以下、単に並列計算プログラムという)は、例えば、管理ホスト2からネットワーク経由でHDD19上にファイル転送される。又は、並列計算プログラムをCD−ROM等の記録媒体14によってホスト計算機1に提供するか、ネットワークを通じてダウンロードするようにしても良い。記録媒体14は、ドライブ装置13にセットされ、並列計算プログラムが記録媒体14からドライブ装置13を介してHDD19にインストールされる。
A program of the host computer 1 (hereinafter simply referred to as a parallel computer program) is transferred from the management host 2 to the
ROM15は、データ等を格納する。RAM16は、例えばホスト計算機1の起動時等にHDD19から並列計算プログラム等を読み出して格納する。CPU17は、RAM16に読み出され格納された並列計算プログラム等に従って処理を実行する。
The
以下、ホスト計算機1の一例の機能構成を、図4に示す。図4は、ホスト計算機の一例の機能構成図である。
The functional configuration of an example of the
図4に示されるように、ホスト計算機1は、OS(Operating System)20と、PCクラスタシステムソフトウェア30と、言語ライブラリ50と、言語オブジェクト60と、を含む。また、OS20は、スレッドライブラリ21を含み、PCクラスタシステムソフトウェア30は、チェックポイント採取処理部30を含み、該チェックポイント採取処理部30は、シグナルハンドラ41と、フラグ域42と、チェックポイント採取手続き部43と、を含む。また、言語ライブラリ50は、バリア同期処理部51と、スレッド手続き部52と、を含む。
As shown in FIG. 4, the
ここで、シグナルハンドラ41は、PCクラスタシステムソフトウェア30の初期化等において、自身をOS20に登録し、RAM16等のフラグ域42に、フラグを確保し、初期化する。また、シグナルハンドラ41は、管理ホスト2等を介して、オペレータからのチェックポイントの採取要求を受け取るか、又は、OS20からのインターバルタイム割り込みによるチェックポイントの採取要求を受け取ると、フラグにON(オン)をセットする。
Here, the signal handler 41 registers itself with the
チェックポイント採取手続き部43は、要求された時点でのプロセスの実行状態をホスト計算機1のHDD19上等に退避させる。
The checkpoint
バリア同期処理部51は、例えば他のホスト計算機1に含まれるプロセスとバリア同期を取ると共に、バリア同期を取った際、フラグ域42のフラグにONがセットされており、且つ同期を取るべき全ての他のプロセスが動作する各々のホスト計算機1のフラグ域42のフラグにもONがセットされていると判定すると、チェックポイント採取手続き部43に、チェックポイントの採取を要求する。
For example, the barrier
ここで、チェックポイント採取処理を実行するタイミングの一例を、図5に示す。図5は、チェックポイント採取処理を実行するタイミングの一例を示す図である。 Here, an example of the timing for executing the checkpoint collection process is shown in FIG. FIG. 5 is a diagram illustrating an example of timing for executing the checkpoint collection process.
図5に示されるように、バリア同期処理部51は、他のプロセスとバリア同期が成立した際に、該他のプロセスの中の1つのプロセス(図5の例では、プロセス3)でもチェックポイント要求を受け取っていない、つまり該プロセスが実行されているホスト計算機1のフラグ域42のフラグにONがセットされていないと判定すると、チェックポイントの採取を要求せず、再び他のプロセスとバリア同期が成立した際に、各プロセスが、チェックポイント要求を受け取っているか否かを判定し、チェックポイント要求を受け取っている、つまり各プロセスが実行されているホスト計算機1のフラグ域42のフラグにONがセットされている、と判定すると、チェックポイント採取手続き部43に、チェックポイントの採取を要求する。
As shown in FIG. 5, when the barrier
また、図4に戻り、バリア同期処理部51は、プロセスが複数スレッドを有している場合、チェックポイントの採取を要求する前に、スレッド手続き部52に、メインスレッド以外のサブスレッドの停止を要求する。また、バリア同期処理部51は、チェックポイント採取手続き部43がチェックポイントの採取を行った後、スレッド手続き部52に、停止させたサブスレッドの再開を要求する。
Returning to FIG. 4, when the process has a plurality of threads, the barrier
スレッド手続き部52は、例えば要求に応じて、スレッドライブラリ21に含まれるライブラリを呼び出す等の、スレッドに係る手続きを行う。
The
以下、シグナルハンドラ41におけるシグナルハンドラ登録処理の一例を、図6に示す。図6は、シグナルハンドラ登録処理の一例を示すフローチャートである。なお、シグナルハンドラ41は、PCクラスタシステムソフトウェアの初期化等において以下の処理を実行する。 An example of the signal handler registration process in the signal handler 41 is shown in FIG. FIG. 6 is a flowchart illustrating an example of the signal handler registration process. The signal handler 41 executes the following processing in initialization of the PC cluster system software.
ステップS10において、シグナルハンドラ41は、自身をOS20に登録する。ステップS10に続いてステップS11に進み、シグナルハンドラ41は、RAM16等のフラグ域42に、フラグを確保し、初期化する。
In step S <b> 10, the signal handler 41 registers itself with the
以下、シグナルハンドラ41におけるフラグ登録処理の一例を、図7に示す。図7は、フラグ登録処理の一例を示すフローチャートである。なお、シグナルハンドラ41は、管理ホスト2等を介して、オペレータからのチェックポイントの採取要求を受け取るか、又は、OS20からのインターバルタイム割り込みによるチェックポイントの採取要求を受け取ると、以下の処理を実行する。
An example of flag registration processing in the signal handler 41 is shown in FIG. FIG. 7 is a flowchart illustrating an example of the flag registration process. When the signal handler 41 receives a checkpoint collection request from the operator via the management host 2 or the like, or receives a checkpoint collection request by an interval time interrupt from the
ステップS20において、シグナルハンドラ41は、フラグ域42のフラグにONをセットする。
In step S <b> 20, the signal handler 41 sets ON to the flag in the
以下、バリア同期処理部51等におけるバリア同期処理の一例を、図8に示す。図8は、バリア同期処理の一例を示すフローチャートである。なお、バリア同期処理部51は、言語オブジェクト60等からの同期処理要求に応じて、以下に示す処理を実行する。
Hereinafter, an example of the barrier synchronization processing in the barrier
ステップS30において、バリア同期処理部51は、例えば他のホスト計算機1に含まれるプロセスとバリア同期を取る。ステップS30に続いてステップS31に進み、バリア同期処理部51は、同期したプロセス数が、同期すべき全プロセス数と同じか否かを判定する。バリア同期処理部51は、同期したプロセス数が、同期すべき全プロセス数と同じであると判定すると(ステップS31においてYES)、ステップS32に進み、同期したプロセス数が、同期すべき全プロセス数と同じでないと判定すると(ステップS31においてNO)、バリア同期処理を終了する。
In step S30, the barrier
ステップS32では、バリア同期処理部51が、フラグ域42のフラグにONがセットされているか否かを判定する。バリア同期処理部51は、フラグ域42のフラグにONがセットされていると判定すると(ステップS32においてYES)、ステップS33に進み、フラグ域42のフラグにONがセットされていないと判定すると(ステップS32においてNO)、バリア同期処理を終了する。
In step S32, the barrier
ステップS33では、バリア同期処理部51が、当該バリア同期処理部51を呼び出した、又は実行中の当該バリア同期処理部51が含まれるプロセスは、親プロセスか否かを判定する。バリア同期処理部51は、当該バリア同期処理部51を呼び出した、又は実行中の当該バリア同期処理部51が含まれるプロセスは、親プロセスであると判定すると(ステップS33において親プロセス)、ステップS34に進み、当該バリア同期処理部51を呼び出した、又は実行中の当該バリア同期処理部51が含まれるプロセスは、子プロセスであると判定すると(ステップS33において子プロセス)、ステップS39に進む。
In step S33, the barrier
ステップS34では、バリア同期処理部51が、同期を取るべき全子プロセスからの、フラグにONがセットされていることを表すフラグ情報の書き込みを、一定時間待つ。ステップS34に続いてステップS35に進み、バリア同期処理部51は、同期を取るべき全子プロセスから、フラグ情報の書き込みがあったか否かを判定する。バリア同期処理部51は、同期を取るべき全子プロセスから、フラグ情報の書き込みがあったと判定すると(ステップS35においてYES)、ステップS37に進み、同期を取るべき全子プロセスから、フラグ情報の書き込みがなかったと判定すると(ステップS35においてNO)、ステップS36に進む。
In step S34, the barrier
ステップS36では、バリア同期処理部51が、フラグ情報の書き込みがあった子プロセスに対して、チェックポイントの採取を許可しない旨を意味するチェックポイント要求拒否を返答する。一方、ステップS37では、バリア同期処理部51が、同期を取るべき全子プロセスに対して、チェックポイントの採取を許可する旨を意味するチェックポイント要求受領を返答する。
In step S36, the barrier
ステップS37に続いてステップS38に進み、バリア同期処理部51は、チェックポイントの採取に係る処理を実行する。
Progressing to step S38 following step S37, the barrier
一方、ステップS39では、バリア同期処理部51が、親プロセスへフラグ情報の書き込みを行う。ステップS39に続いてステップS40に進み、バリア同期処理部51は、フラグ情報の書き込みに係る、親プロセスからの返答(返事)を一定時間待つ。
On the other hand, in step S39, the barrier
ステップS40に続いてステップS41に進み、バリア同期処理部51は、返答を待つ処理がタイムアウトしたか否かを判定する。バリア同期処理部51は、返答を待つ処理がタイムアウトしたと判定すると(ステップS41においてYES)、バリア同期処理を終了し、返答を待つ処理がタイムアウトする前に親プロセスからの返答があったと判定すると(ステップS41においてNO)、ステップS42に進む。
Progressing to step S41 following step S40, the barrier
ステップS42では、バリア同期処理部51が、親プロセスからの返答が、チェックポイント要求受領であるか否かを判定する。バリア同期処理部51は、親プロセスからの返答がチェックポイント要求受領であると判定すると(ステップS42においてYES)、ステップS43に進み、親プロセスからの返答がチェックポイント要求受領でないと判定すると(ステップS42においてNO)、バリア同期処理を終了する。
In step S42, the barrier
ステップS43では、バリア同期処理部51が、チェックポイントの採取に係る処理を実行する。
In step S43, the barrier
図6から図8に示したように、チェックポイントの採取要求が来たときにすぐチェックポイントを採取するのではなく、フラグをたてておいて、同期を取るべき他のプロセスと同期をとったときに、該同期を取るべき全ての他のプロセスが動作しているメモリにもフラグがたっているか否かを判定し、フラグがたっていたらチェックポイントを採取することにより、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。 As shown in FIG. 6 to FIG. 8, when a checkpoint collection request is received, a checkpoint is not collected immediately, but a flag is set to synchronize with other processes to be synchronized. It is determined whether or not the memory in which all other processes to be synchronized are running has a flag, and if the flag is raised, a checkpoint is taken to avoid inconvenience such as deadlock. It is possible to take checkpoints safely by capturing the timing that does not occur.
以下、バリア同期処理部51及びチェックポイント採取手続き部43等におけるチェックポイント採取処理の一例を、図9に示す。図9は、チェックポイント採取処理の一例を示すフローチャートである。なお、バリア同期処理部51は、図8のステップS38や、ステップS43において、以下に示す処理を実行する。
An example of checkpoint collection processing in the barrier
ステップS50において、バリア同期処理部51は、例えばスレッド手続き部52等に対して、メインスレッド以外のサブスレッドの停止を要求する。ステップS50に続いてステップS51に進み、バリア同期処理部51及び/又はスレッド手続き部52は、サブスレッドの停止を待つ。
In step S50, the barrier
ステップS51に続いてステップS52に進み、バリア同期処理部51は、サブスレッドが停止すると、チェックポイント採取手続き部43に対して、チェックポイントの採取を要求し、チェックポイント採取手続き部43は、チェックポイント採取処理を実行する。
Progressing to step S52 following step S51, when the sub-thread is stopped, the barrier
ステップS52に続いてステップS53に進み、バリア同期処理部51は、チェックポイント採取手続き部43よりチェックポイント採取処理が終了した旨の応答を受け取ると、例えばスレッド手続き部52等に対して、サブスレッドの再開を要求する。なお、バリア同期処理部51は、ステップS53において、サブスレッドを再開した後、フラグ域42のフラグにOFF(オフ)をセットするようにしてもよい。
Progressing to step S53 following step S52, when the barrier
図9に示したように、メインスレッド以外のサブスレッドを停止させ、チェックポイントの採取処理を実行し、該実行が終了した後で、停止させたサブスレッドを再開させることにより、プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることができる。 As shown in FIG. 9, the sub-thread other than the main thread is stopped, the checkpoint collection process is executed, and after the execution is completed, the stopped sub-thread is restarted so that the process Even in a parallel program, checkpoints can be collected.
上述したように、本発明によれば、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。また、本発明によれば、各プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることができる。 As described above, according to the present invention, it is possible to safely collect checkpoints by capturing the timing at which inconvenience such as deadlock does not occur. Furthermore, according to the present invention, it is possible to collect checkpoints even in a parallel program in which each process has a thread.
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.
なお、本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
を有し、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理装置。
(付記2)
前記同期実行手段は、プロセスが複数スレッドを有している場合、前記チェックポイント採取手段に、チェックポイントの採取を要求する前に、メインスレッド以外のサブスレッドに停止を要求することを特徴とする付記1記載の情報処理装置。
(付記3)
前記同期実行手段は、前記チェックポイント採取手段がチェックポイントを採取した後、前記サブスレッドに再開を要求することを特徴とする付記2記載の情報処理装置。
(付記4)
前記同期実行手段は、自身を呼び出したプロセスが親プロセスであった場合は、他の同期を取るべき全子プロセスからの識別情報に係る情報を一定時間待ち、前記全子プロセスから識別情報に係る情報を受け取った場合、全子プロセスに、チェックポイントの採取に係る許可情報を送り、自身と同じ装置内のチェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする付記1乃至3何れか一項記載の情報処理装置。
(付記5)
前記同期実行手段は、自身を呼び出したプロセスが子プロセスであった場合は、親プロセスへ識別情報に係る情報を送り、親プロセスからの返答を一定時間待ち、親プロセスからチェックポイントの採取に係る許可情報を受け取ると、自身と同じ装置内のチェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする付記1乃至4何れか一項記載の情報処理装置。
(付記6)
コンピュータを、
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
して動作させ、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理プログラム。
(付記7)
コンピュータを、
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
して動作させ、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記8)
情報処理装置におけるチェックポイント採取方法であって、該情報処理装置に、
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット段階と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行段階と、
前記同期実行段階後、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、チェックポイントを採取するチェックポイント採取手段に、チェックポイントの採取を要求するチェックポイント採取要求段階と、
を実行させることを特徴とするチェックポイント採取方法。
In addition, the structure like the additional remarks described below can be considered for this invention.
(Appendix 1)
An identification information setting means for setting identification information in the memory in response to a checkpoint collection request;
Synchronization execution means for synchronizing with other processes included in the information processing apparatus or other information processing apparatus connected to the information processing apparatus via a network;
Checkpoint collection means for collecting checkpoints;
Have
The synchronization execution means has identification information set in the memory at the time of synchronization, and identification information is also stored in the memory of each information processing apparatus in which all the other processes to be synchronized operate. If it is determined that the check point is set, the information processing apparatus requests the check point collecting means to collect a check point.
(Appendix 2)
When the process has a plurality of threads, the synchronous execution unit requests the sub thread other than the main thread to stop before requesting the check point collection unit to collect the check point. The information processing apparatus according to
(Appendix 3)
The information processing apparatus according to claim 2, wherein the synchronization execution unit requests the sub thread to resume after the check point collection unit has collected the check point.
(Appendix 4)
If the process that called itself is a parent process, the synchronization execution means waits for a certain period of time on information related to identification information from all child processes to be synchronized, and relates to identification information from all the child processes.
(Appendix 5)
If the process that called itself is a child process, the synchronous execution means sends information related to the identification information to the parent process, waits for a reply from the parent process for a certain period of time, and collects checkpoints from the parent process. 5. The information processing apparatus according to any one of
(Appendix 6)
Computer
An identification information setting means for setting identification information in the memory in response to a checkpoint collection request;
Synchronization execution means for synchronizing with other processes included in the information processing apparatus or other information processing apparatus connected to the information processing apparatus via a network;
Checkpoint collection means for collecting checkpoints;
And operate
The synchronization execution means has identification information set in the memory at the time of synchronization, and identification information is also stored in the memory of each information processing apparatus in which all the other processes to be synchronized operate. An information processing program that requests the checkpoint collecting means to collect a checkpoint when it is determined that the checkpoint is set.
(Appendix 7)
Computer
An identification information setting means for setting identification information in the memory in response to a checkpoint collection request;
Synchronization execution means for synchronizing with other processes included in the information processing apparatus or other information processing apparatus connected to the information processing apparatus via a network;
Checkpoint collection means for collecting checkpoints;
And operate
The synchronization execution means has identification information set in the memory at the time of synchronization, and identification information is also stored in the memory of each information processing apparatus in which all the other processes to be synchronized operate. A computer-readable recording medium on which an information processing program is recorded, wherein when it is determined that a checkpoint is set, the checkpoint collection means is requested to collect a checkpoint.
(Appendix 8)
A checkpoint collection method in an information processing device, wherein the information processing device includes:
In response to a checkpoint collection request, an identification information setting stage for setting identification information in a memory;
A synchronization execution stage that synchronizes with other processes included in the information processing apparatus or another information processing apparatus connected to the information processing apparatus via a network;
When it is determined that the identification information is set in the memory after the synchronization execution stage and the identification information is also set in the memory of each information processing apparatus in which all the other processes to be synchronized operate. A checkpoint collection request stage for requesting checkpoint collection to the checkpoint collection means for collecting checkpoints;
A checkpoint collection method, characterized in that:
1 ホスト計算機
2 管理ホスト
13 ドライブ装置
14 記録媒体
15 ROM
16 RAM
17 CPU
18 インターフェース装置
19 HDD
20 OS
21 スレッドライブラリ
30 PCクラスタシステムソフトウェア
40 チェックポイント採取処理部
41 シグナルハンドラ
42 フラグ域
43 チェックポイント採取手続き部
50 言語ライブラリ
51 バリア同期処理部
52 スレッド手続き部
60 言語オブジェクト
1 Host computer 2
16 RAM
17 CPU
18
20 OS
21
Claims (3)
前記チェックポイントの取得要求とは独立して行われるバリア同期確立が検出されると、前記親プロセスが動作する情報処理装置においてバリア同期確立対象の全てのプロセスについてフラグがセットされているか否かの判定を行い、 When the establishment of barrier synchronization that is performed independently of the checkpoint acquisition request is detected, whether or not flags are set for all processes that are targets of establishment of barrier synchronization in the information processing apparatus in which the parent process operates Make a decision,
前記判定が肯定的な判定結果を示す場合に、今回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせ、前記判定が否定的な判定結果を示す場合に、次回のバリア同期確立の際にバリア同期確立対象の全てのプロセスについてフラグがセットされていると判定されると、該次回のバリア同期確立がなされた全てのプロセスについてチェックポイントの取得を行わせる、 If the determination shows a positive determination result, checkpoint acquisition is performed for all processes for which the current barrier synchronization has been established, and if the determination indicates a negative determination result, the next barrier synchronization When it is determined at the time of establishment that the flag is set for all the processes for which barrier synchronization establishment is to be performed, checkpoint acquisition is performed for all the processes for which the next barrier synchronization establishment is performed.
処理を情報処理装置に実行させることを特徴とするチェックポイント取得方法。 A checkpoint acquisition method characterized by causing an information processing apparatus to execute processing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004348418A JP4773715B2 (en) | 2004-12-01 | 2004-12-01 | How to get checkpoint |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004348418A JP4773715B2 (en) | 2004-12-01 | 2004-12-01 | How to get checkpoint |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006155473A JP2006155473A (en) | 2006-06-15 |
| JP4773715B2 true JP4773715B2 (en) | 2011-09-14 |
Family
ID=36633657
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004348418A Expired - Fee Related JP4773715B2 (en) | 2004-12-01 | 2004-12-01 | How to get checkpoint |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4773715B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5251002B2 (en) * | 2007-05-25 | 2013-07-31 | 富士通株式会社 | Distributed processing program, distributed processing method, distributed processing apparatus, and distributed processing system |
| JP5419166B2 (en) * | 2010-07-22 | 2014-02-19 | 日本電信電話株式会社 | Checkpoint creation device, checkpoint creation system, checkpoint creation method, and checkpoint creation program |
| JP6318031B2 (en) * | 2014-07-08 | 2018-04-25 | 株式会社野村総合研究所 | Batch server maintenance method |
| JP7192388B2 (en) | 2018-10-22 | 2022-12-20 | 富士通株式会社 | Parallel processing device, parallel operation execution program and backup method |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0433127A (en) * | 1990-05-30 | 1992-02-04 | Nec Corp | Check point control system |
| JPH0922397A (en) * | 1995-07-07 | 1997-01-21 | Hitachi Ltd | Parallel computer |
| JP2713218B2 (en) * | 1995-03-27 | 1998-02-16 | 日本電気株式会社 | Checkpoint / restart processing method |
| JP3258228B2 (en) * | 1996-03-15 | 2002-02-18 | 株式会社東芝 | Checkpoint generation method |
| JP3120033B2 (en) * | 1996-03-19 | 2000-12-25 | 株式会社東芝 | Distributed memory multiprocessor system and fault recovery method |
| JP3253883B2 (en) * | 1997-01-31 | 2002-02-04 | 株式会社東芝 | Process restart method and process monitoring device |
| JP2004046356A (en) * | 2002-07-09 | 2004-02-12 | Fujitsu Ltd | Highly reliable cluster system and program for realizing it |
-
2004
- 2004-12-01 JP JP2004348418A patent/JP4773715B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006155473A (en) | 2006-06-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107491346B (en) | Application task processing method, device and system | |
| WO2017118334A1 (en) | Log collection client and updating method therefor | |
| EP2626786A1 (en) | Multicore processor system, method of monitoring control, and monitoring control program | |
| CN101236515B (en) | Recovery method for single-core exception in multi-core system | |
| US10379931B2 (en) | Computer system | |
| WO2016000298A1 (en) | System exception capturing method, main system, shadow system and intelligent device | |
| JP2010140290A (en) | Multiprocessor system and arbitration method for exclusive control thereof | |
| EP2816480A1 (en) | Processor system | |
| CN110895488A (en) | Task scheduling method and device | |
| WO2017188109A1 (en) | Vehicle control device and vehicle system | |
| CN103473135A (en) | Processing method for spinlock LHP (Lock-Holder Preemption) phenomenon under virtual environment | |
| CN110895483A (en) | Task recovery method and device | |
| CN110895485A (en) | task scheduling system | |
| JP2009080705A (en) | Virtual computer system and virtual computer restoration method in the same system | |
| JP4773715B2 (en) | How to get checkpoint | |
| JP5335552B2 (en) | Information processing apparatus, control method therefor, and computer program | |
| TW201828057A (en) | Log collection client and upgrading method thereof capable of preventing collected data from loss during upgrading, and allowing an automatic rollback when the new program is abnormal | |
| JP2009151440A (en) | Program hang detection method and computer apparatus using the same | |
| JP5557612B2 (en) | Computer and transfer program | |
| CN105487847B (en) | A function release method and device | |
| JP3122371B2 (en) | Computer system | |
| JP2006092055A (en) | Computer system | |
| JPH09212470A (en) | Multiprocessor system | |
| JP2005078123A (en) | Failure detection apparatus, failure detection method and program thereof | |
| JP2010044699A (en) | Information processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071004 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110201 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110404 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110531 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110624 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140701 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |