(57)【要約】【課題】  デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することを目的とする。【解決手段】  チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段４１と、当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段５１と、チェックポイントを採取するチェックポイント採取手段４３と、を有し、同期実行手段５１は、同期を取った際、メモリに識別情報がセットされており、且つ同期を取るべき全ての他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、チェックポイント採取手段４３に、チェックポイントの採取を要求することによって上記課題を解決する。【選択図】  図４
2006155473.tif 000002
【特許請求の範囲】
【請求項１】
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
を有し、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理装置。
【請求項２】
前記同期実行手段は、プロセスが複数スレッドを有している場合、前記チェックポイント採取手段に、チェックポイントの採取を要求する前に、メインスレッド以外のサブスレッドに停止を要求することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記同期実行手段は、前記チェックポイント採取手段がチェックポイントを採取した後、前記サブスレッドに再開を要求することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記同期実行手段は、自身を呼び出したプロセスが親プロセスであった場合は、他の同期を取るべき全子プロセスからの識別情報に係る情報を一定時間待ち、前記全子プロセスから識別情報に係る情報を受け取った場合、全子プロセスに、チェックポイントの採取に係る許可情報を送り、自身と同じ装置内のチェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする請求項１乃至３何れか一項記載の情報処理装置。
【請求項５】
前記同期実行手段は、自身を呼び出したプロセスが子プロセスであった場合は、親プロセスへ識別情報に係る情報を送り、親プロセスからの返答を一定時間待ち、親プロセスからチェックポイントの採取に係る許可情報を受け取ると、自身と同じ装置内のチェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする請求項１乃至４何れか一項記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
多数台のホスト計算機を用いて構築されたクラスタシステム上で実行される並列プログラムは、実行中に、一部のホスト計算機のハードウェア資源が故障しただけで、停止し、それまでの計算結果等は無駄になる。
【０００３】
このような事故が発生した場合の復旧を容易にし、事故が発生するまでの計算結果を無駄にしないため、チェックポイント／リスタート機能が考案されており、多くのクラスタシステム上に組み込まれている。
【０００４】
ここで、チェックポイント／リスタート機能とは、プログラムの実行中の任意の時点での実行状態をホスト計算機のローカルディスク上等に退避させておき、プログラムを実行しているホスト計算機が不意に故障等した場合等にプログラムを最初から実行しなおすことなく、退避させておいた情報から、プログラムの状態を復元し、実行を再開させる機能のことである。なお、従来は、以下に示す方法で、チェックポイントを採取していた。
【０００５】
初めに、一定時間毎のタイマ機能、又はオペレータ等からの指示により、実行中の各プロセスにチェックポイントの採取要求が届けられる。
【０００６】
次に、チェックポイントの採取要求を受け取ったプロセスは、それまでの実行を一時中断し、チックポイント採取処理を呼び出す。
【０００７】
次に、チェックポイント採取処理は、プロセスの実行状態（例えば、メモリイメージや、使用中の資源のディスクリプタ等）を、ホスト計算機のローカルディスク上に書き出す。
【０００８】
次に、チェックポイント採取処理が終了すると、プロセスは一時中断していた実行を再開する。
【特許文献１】特開平１１−４５２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述したような処理では、並列プログラムの状態に関係なく、チェックポイントの採取処理が割り込まれるため、プロセスがチェックポイント採取処理を正常に呼び出すことができない状態であった場合、例えばプロセスがスレッドを持っていた場合等、チェックポイントが採取できない問題があった。
【００１０】
また、並列プログラムの各プロセスにチェックポイントの採取要求が届くタイミングにはバラつきがあるため、タイミングによっては、記録しておいた実行状態を復元し、記録しておいて箇所から並列プログラムの実行を再開（リスタート）した際に、デッドロックが発生するような状態で、チェックポイントを採取してしまう問題があった。
【００１１】
図１は、従来の問題点を示す図である。図１に示されるように、例えばホスト計算機１で動作しているプロセス１には、バリア同期の後でチェックポイントの採取要求が届き、チェックポイントを採取しており、ホスト計算機２で動作しているプロセス２には、バリア同期の前でチェックポイントの採取要求が届き、チェックポイントを採取している。このような場合では、記録しておいた実行状態を復元し、記録しておいて箇所から並列プログラムの実行を再開（リスタート）した際に、デッドロックが発生する可能性が高い。
【００１２】
本発明は、上記の点に鑑みなされたもので、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することを目的とする。
【００１３】
また、本発明は、各プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることを目的とする。
【課題を解決するための手段】
【００１４】
そこで、上記課題を解決するため、本発明は、チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、チェックポイントを採取するチェックポイント採取手段と、を有し、前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする。
【００１５】
本発明によれば、チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、チェックポイントを採取するチェックポイント採取手段と、を有し、前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することにより、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。
【発明の効果】
【００１６】
本発明によれば、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。
【００１７】
また、本発明によれば、各プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面に基づいて説明する。図２は、クラスタシステムの一例を示す図である。図２に示されるように、本発明に係るクラスタシステムは、並列プログラムを実行する複数のホスト計算機１と、管理ホスト２と、がネットワークを介して接続されている。
【００１９】
以下、ホスト計算機１の一例のハードウェア構成を、図３に示す。図３は、ホスト計算機の一例のハードウェア構成図である。
【００２０】
図３に示されるホスト計算機１のハードウェア構成は、それぞれバスで相互に接続されているドライブ装置１３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１７と、インターフェース装置１８と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１９と、から構成されている。
【００２１】
インターフェース装置１８は、ホスト計算機１をネットワーク等に接続するインターフェースである。
【００２２】
ホスト計算機１のプログラム（以下、単に並列計算プログラムという）は、例えば、管理ホスト２からネットワーク経由でＨＤＤ１９上にファイル転送される。又は、並列計算プログラムをＣＤ−ＲＯＭ等の記録媒体１４によってホスト計算機１に提供するか、ネットワークを通じてダウンロードするようにしても良い。記録媒体１４は、ドライブ装置１３にセットされ、並列計算プログラムが記録媒体１４からドライブ装置１３を介してＨＤＤ１９にインストールされる。
【００２３】
ＲＯＭ１５は、データ等を格納する。ＲＡＭ１６は、例えばホスト計算機１の起動時等にＨＤＤ１９から並列計算プログラム等を読み出して格納する。ＣＰＵ１７は、ＲＡＭ１６に読み出され格納された並列計算プログラム等に従って処理を実行する。
【００２４】
以下、ホスト計算機１の一例の機能構成を、図４に示す。図４は、ホスト計算機の一例の機能構成図である。
【００２５】
図４に示されるように、ホスト計算機１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）２０と、ＰＣクラスタシステムソフトウェア３０と、言語ライブラリ５０と、言語オブジェクト６０と、を含む。また、ＯＳ２０は、スレッドライブラリ２１を含み、ＰＣクラスタシステムソフトウェア３０は、チェックポイント採取処理部３０を含み、該チェックポイント採取処理部３０は、シグナルハンドラ４１と、フラグ域４２と、チェックポイント採取手続き部４３と、を含む。また、言語ライブラリ５０は、バリア同期処理部５１と、スレッド手続き部５２と、を含む。
【００２６】
ここで、シグナルハンドラ４１は、ＰＣクラスタシステムソフトウェア３０の初期化等において、自身をＯＳ２０に登録し、ＲＡＭ１６等のフラグ域４２に、フラグを確保し、初期化する。また、シグナルハンドラ４１は、管理ホスト２等を介して、オペレータからのチェックポイントの採取要求を受け取るか、又は、ＯＳ２０からのインターバルタイム割り込みによるチェックポイントの採取要求を受け取ると、フラグにＯＮ（オン）をセットする。
【００２７】
チェックポイント採取手続き部４３は、要求された時点でのプロセスの実行状態をホスト計算機１のＨＤＤ１９上等に退避させる。
【００２８】
バリア同期処理部５１は、例えば他のホスト計算機１に含まれるプロセスとバリア同期を取ると共に、バリア同期を取った際、フラグ域４２のフラグにＯＮがセットされており、且つ同期を取るべき全ての他のプロセスが動作する各々のホスト計算機１のフラグ域４２のフラグにもＯＮがセットされていると判定すると、チェックポイント採取手続き部４３に、チェックポイントの採取を要求する。
【００２９】
ここで、チェックポイント採取処理を実行するタイミングの一例を、図５に示す。図５は、チェックポイント採取処理を実行するタイミングの一例を示す図である。
【００３０】
図５に示されるように、バリア同期処理部５１は、他のプロセスとバリア同期が成立した際に、該他のプロセスの中の１つのプロセス（図５の例では、プロセス３）でもチェックポイント要求を受け取っていない、つまり該プロセスが実行されているホスト計算機１のフラグ域４２のフラグにＯＮがセットされていないと判定すると、チェックポイントの採取を要求せず、再び他のプロセスとバリア同期が成立した際に、各プロセスが、チェックポイント要求を受け取っているか否かを判定し、チェックポイント要求を受け取っている、つまり各プロセスが実行されているホスト計算機１のフラグ域４２のフラグにＯＮがセットされている、と判定すると、チェックポイント採取手続き部４３に、チェックポイントの採取を要求する。
【００３１】
また、図４に戻り、バリア同期処理部５１は、プロセスが複数スレッドを有している場合、チェックポイントの採取を要求する前に、スレッド手続き部５２に、メインスレッド以外のサブスレッドの停止を要求する。また、バリア同期処理部５１は、チェックポイント採取手続き部４３がチェックポイントの採取を行った後、スレッド手続き部５２に、停止させたサブスレッドの再開を要求する。
【００３２】
スレッド手続き部５２は、例えば要求に応じて、スレッドライブラリ２１に含まれるライブラリを呼び出す等の、スレッドに係る手続きを行う。
【００３３】
以下、シグナルハンドラ４１におけるシグナルハンドラ登録処理の一例を、図６に示す。図６は、シグナルハンドラ登録処理の一例を示すフローチャートである。なお、シグナルハンドラ４１は、ＰＣクラスタシステムソフトウェアの初期化等において以下の処理を実行する。
【００３４】
ステップＳ１０において、シグナルハンドラ４１は、自身をＯＳ２０に登録する。ステップＳ１０に続いてステップＳ１１に進み、シグナルハンドラ４１は、ＲＡＭ１６等のフラグ域４２に、フラグを確保し、初期化する。
【００３５】
以下、シグナルハンドラ４１におけるフラグ登録処理の一例を、図７に示す。図７は、フラグ登録処理の一例を示すフローチャートである。なお、シグナルハンドラ４１は、管理ホスト２等を介して、オペレータからのチェックポイントの採取要求を受け取るか、又は、ＯＳ２０からのインターバルタイム割り込みによるチェックポイントの採取要求を受け取ると、以下の処理を実行する。
【００３６】
ステップＳ２０において、シグナルハンドラ４１は、フラグ域４２のフラグにＯＮをセットする。
【００３７】
以下、バリア同期処理部５１等におけるバリア同期処理の一例を、図８に示す。図８は、バリア同期処理の一例を示すフローチャートである。なお、バリア同期処理部５１は、言語オブジェクト６０等からの同期処理要求に応じて、以下に示す処理を実行する。
【００３８】
ステップＳ３０において、バリア同期処理部５１は、例えば他のホスト計算機１に含まれるプロセスとバリア同期を取る。ステップＳ３０に続いてステップＳ３１に進み、バリア同期処理部５１は、同期したプロセス数が、同期すべき全プロセス数と同じか否かを判定する。バリア同期処理部５１は、同期したプロセス数が、同期すべき全プロセス数と同じであると判定すると（ステップＳ３１においてＹＥＳ）、ステップＳ３２に進み、同期したプロセス数が、同期すべき全プロセス数と同じでないと判定すると（ステップＳ３１においてＮＯ）、バリア同期処理を終了する。
【００３９】
ステップＳ３２では、バリア同期処理部５１が、フラグ域４２のフラグにＯＮがセットされているか否かを判定する。バリア同期処理部５１は、フラグ域４２のフラグにＯＮがセットされていると判定すると（ステップＳ３２においてＹＥＳ）、ステップＳ３３に進み、フラグ域４２のフラグにＯＮがセットされていないと判定すると（ステップＳ３２においてＮＯ）、バリア同期処理を終了する。
【００４０】
ステップＳ３３では、バリア同期処理部５１が、当該バリア同期処理部５１を呼び出した、又は実行中の当該バリア同期処理部５１が含まれるプロセスは、親プロセスか否かを判定する。バリア同期処理部５１は、当該バリア同期処理部５１を呼び出した、又は実行中の当該バリア同期処理部５１が含まれるプロセスは、親プロセスであると判定すると（ステップＳ３３において親プロセス）、ステップＳ３４に進み、当該バリア同期処理部５１を呼び出した、又は実行中の当該バリア同期処理部５１が含まれるプロセスは、子プロセスであると判定すると（ステップＳ３３において子プロセス）、ステップＳ３９に進む。
【００４１】
ステップＳ３４では、バリア同期処理部５１が、同期を取るべき全子プロセスからの、フラグにＯＮがセットされていることを表すフラグ情報の書き込みを、一定時間待つ。ステップＳ３４に続いてステップＳ３５に進み、バリア同期処理部５１は、同期を取るべき全子プロセスから、フラグ情報の書き込みがあったか否かを判定する。バリア同期処理部５１は、同期を取るべき全子プロセスから、フラグ情報の書き込みがあったと判定すると（ステップＳ３５においてＹＥＳ）、ステップＳ３７に進み、同期を取るべき全子プロセスから、フラグ情報の書き込みがなかったと判定すると（ステップＳ３５においてＮＯ）、ステップＳ３６に進む。
【００４２】
ステップＳ３６では、バリア同期処理部５１が、フラグ情報の書き込みがあった子プロセスに対して、チェックポイントの採取を許可しない旨を意味するチェックポイント要求拒否を返答する。一方、ステップＳ３７では、バリア同期処理部５１が、同期を取るべき全子プロセスに対して、チェックポイントの採取を許可する旨を意味するチェックポイント要求受領を返答する。
【００４３】
ステップＳ３７に続いてステップＳ３８に進み、バリア同期処理部５１は、チェックポイントの採取に係る処理を実行する。
【００４４】
一方、ステップＳ３９では、バリア同期処理部５１が、親プロセスへフラグ情報の書き込みを行う。ステップＳ３９に続いてステップＳ４０に進み、バリア同期処理部５１は、フラグ情報の書き込みに係る、親プロセスからの返答（返事）を一定時間待つ。
【００４５】
ステップＳ４０に続いてステップＳ４１に進み、バリア同期処理部５１は、返答を待つ処理がタイムアウトしたか否かを判定する。バリア同期処理部５１は、返答を待つ処理がタイムアウトしたと判定すると（ステップＳ４１においてＹＥＳ）、バリア同期処理を終了し、返答を待つ処理がタイムアウトする前に親プロセスからの返答があったと判定すると（ステップＳ４１においてＮＯ）、ステップＳ４２に進む。
【００４６】
ステップＳ４２では、バリア同期処理部５１が、親プロセスからの返答が、チェックポイント要求受領であるか否かを判定する。バリア同期処理部５１は、親プロセスからの返答がチェックポイント要求受領であると判定すると（ステップＳ４２においてＹＥＳ）、ステップＳ４３に進み、親プロセスからの返答がチェックポイント要求受領でないと判定すると（ステップＳ４２においてＮＯ）、バリア同期処理を終了する。
【００４７】
ステップＳ４３では、バリア同期処理部５１が、チェックポイントの採取に係る処理を実行する。
【００４８】
図６から図８に示したように、チェックポイントの採取要求が来たときにすぐチェックポイントを採取するのではなく、フラグをたてておいて、同期を取るべき他のプロセスと同期をとったときに、該同期を取るべき全ての他のプロセスが動作しているメモリにもフラグがたっているか否かを判定し、フラグがたっていたらチェックポイントを採取することにより、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。
【００４９】
以下、バリア同期処理部５１及びチェックポイント採取手続き部４３等におけるチェックポイント採取処理の一例を、図９に示す。図９は、チェックポイント採取処理の一例を示すフローチャートである。なお、バリア同期処理部５１は、図８のステップＳ３８や、ステップＳ４３において、以下に示す処理を実行する。
【００５０】
ステップＳ５０において、バリア同期処理部５１は、例えばスレッド手続き部５２等に対して、メインスレッド以外のサブスレッドの停止を要求する。ステップＳ５０に続いてステップＳ５１に進み、バリア同期処理部５１及び／又はスレッド手続き部５２は、サブスレッドの停止を待つ。
【００５１】
ステップＳ５１に続いてステップＳ５２に進み、バリア同期処理部５１は、サブスレッドが停止すると、チェックポイント採取手続き部４３に対して、チェックポイントの採取を要求し、チェックポイント採取手続き部４３は、チェックポイント採取処理を実行する。
【００５２】
ステップＳ５２に続いてステップＳ５３に進み、バリア同期処理部５１は、チェックポイント採取手続き部４３よりチェックポイント採取処理が終了した旨の応答を受け取ると、例えばスレッド手続き部５２等に対して、サブスレッドの再開を要求する。なお、バリア同期処理部５１は、ステップＳ５３において、サブスレッドを再開した後、フラグ域４２のフラグにＯＦＦ（オフ）をセットするようにしてもよい。
【００５３】
図９に示したように、メインスレッド以外のサブスレッドを停止させ、チェックポイントの採取処理を実行し、該実行が終了した後で、停止させたサブスレッドを再開させることにより、プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることができる。
【００５４】
上述したように、本発明によれば、デッドロック等の不都合が発生しないタイミングを捉えて安全にチェックポイントを採取することができる。また、本発明によれば、各プロセスがスレッドを有する並列プログラムにおいても、チェックポイントの採取を可能とすることができる。
【００５５】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５６】
なお、本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
を有し、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理装置。
（付記２）
前記同期実行手段は、プロセスが複数スレッドを有している場合、前記チェックポイント採取手段に、チェックポイントの採取を要求する前に、メインスレッド以外のサブスレッドに停止を要求することを特徴とする付記１記載の情報処理装置。
（付記３）
前記同期実行手段は、前記チェックポイント採取手段がチェックポイントを採取した後、前記サブスレッドに再開を要求することを特徴とする付記２記載の情報処理装置。
（付記４）
前記同期実行手段は、自身を呼び出したプロセスが親プロセスであった場合は、他の同期を取るべき全子プロセスからの識別情報に係る情報を一定時間待ち、前記全子プロセスから識別情報に係る情報を受け取った場合、全子プロセスに、チェックポイントの採取に係る許可情報を送り、自身と同じ装置内のチェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする付記１乃至３何れか一項記載の情報処理装置。
（付記５）
前記同期実行手段は、自身を呼び出したプロセスが子プロセスであった場合は、親プロセスへ識別情報に係る情報を送り、親プロセスからの返答を一定時間待ち、親プロセスからチェックポイントの採取に係る許可情報を受け取ると、自身と同じ装置内のチェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする付記１乃至４何れか一項記載の情報処理装置。
（付記６）
コンピュータを、
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
して動作させ、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理プログラム。
（付記７）
コンピュータを、
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット手段と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行手段と、
チェックポイントを採取するチェックポイント採取手段と、
して動作させ、
前記同期実行手段は、前記同期を取った際、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、前記チェックポイント採取手段に、チェックポイントの採取を要求することを特徴とする情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
（付記８）
情報処理装置におけるチェックポイント採取方法であって、該情報処理装置に、
チェックポイントの採取要求に応じて、メモリに識別情報をセットする識別情報セット段階と、
当該情報処理装置又は当該情報処理装置とネットワークを介して接続された他の情報処理装置に含まれる他のプロセスと同期を取る同期実行段階と、
前記同期実行段階後、前記メモリに識別情報がセットされており、且つ同期を取るべき全ての前記他のプロセスが動作する各々の情報処理装置のメモリにも識別情報がセットされていると判定すると、チェックポイントを採取するチェックポイント採取手段に、チェックポイントの採取を要求するチェックポイント採取要求段階と、
を実行させることを特徴とするチェックポイント採取方法。
【図面の簡単な説明】
【００５７】
【図１】従来の問題点を示す図である。
【図２】クラスタシステムの一例を示す図である。
【図３】ホスト計算機の一例のハードウェア構成図である。
【図４】ホスト計算機の一例の機能構成図である。
【図５】チェックポイント採取処理を実行するタイミングの一例を示す図である。
【図６】シグナルハンドラ登録処理の一例を示すフローチャートである。
【図７】フラグ登録処理の一例を示すフローチャートである。
【図８】バリア同期処理の一例を示すフローチャートである。
【図９】チェックポイント採取処理の一例を示すフローチャートである。
【符号の説明】
【００５８】
１      ホスト計算機
２      管理ホスト
１３    ドライブ装置
１４    記録媒体
１５    ＲＯＭ
１６    ＲＡＭ
１７    ＣＰＵ
１８    インターフェース装置
１９    ＨＤＤ
２０    ＯＳ
２１    スレッドライブラリ
３０    ＰＣクラスタシステムソフトウェア
４０    チェックポイント採取処理部
４１    シグナルハンドラ
４２    フラグ域
４３    チェックポイント採取手続き部
５０    言語ライブラリ
５１    バリア同期処理部
５２    スレッド手続き部
６０    言語オブジェクト
【図１】
2006155473.tif 000003
【図２】
2006155473.tif 000004
【図３】
2006155473.tif 000005
【図４】
2006155473.tif 000006
【図５】
2006155473.tif 000007
【図６】
2006155473.tif 000008
【図７】
2006155473.tif 000009
【図８】
2006155473.tif 000010
【図９】
2006155473.tif 000011