JPH08263317A - チェックポイント/リスタート処理方式 - Google Patents

チェックポイント/リスタート処理方式

Info

Publication number
JPH08263317A
JPH08263317A JP7094579A JP9457995A JPH08263317A JP H08263317 A JPH08263317 A JP H08263317A JP 7094579 A JP7094579 A JP 7094579A JP 9457995 A JP9457995 A JP 9457995A JP H08263317 A JPH08263317 A JP H08263317A
Authority
JP
Japan
Prior art keywords
restart
checkpoint
freezing
target
execution
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.)
Granted
Application number
JP7094579A
Other languages
English (en)
Other versions
JP2713218B2 (ja
Inventor
Atsuhisa Ootani
敦久 大谷
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7094579A priority Critical patent/JP2713218B2/ja
Publication of JPH08263317A publication Critical patent/JPH08263317A/ja
Application granted granted Critical
Publication of JP2713218B2 publication Critical patent/JP2713218B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】 【目的】 同期または排他制御を行うプロセスを含むプ
ロセス群に対するチェックポイント/リスタートを実行
することのできるチェックポイント/リスタート処理方
式を提供する。 【構成】 チェックポイント処理実行部10と、リスタ
ートファイル20と、リスタート処理実行部30とを備
えるチェックポイント/リスタート処理方式において、
前記チェックポイント処理実行部10が、同期または排
他制御により関係付けられた複数のプロセスを凍結する
順序を制御するプロセス凍結部13、凍結判別部14、
および凍結解除部15を備え、前記リスタート処理実行
部30が、凍結時に実行中だったプロセスと停止中だっ
たプロセスとのリスタートの順序を制御するリスタート
停止部34、リスタート再開部35およびリスタート終
了部36を備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
におけるチェックポイント/リスタートの処理方式に関
し、特にプロセス間の同期または排他制御によるプロセ
スの相互の動作を考慮したチェックポイント/リスター
ト処理方式に関する。
【0002】
【従来の技術】コンピュータシステムでは、プログラム
の実行中にトラブルが発生することを考慮し、チェック
ポイント/リスタートを実行することでプログラムのす
べての内容が失われることを防いでいる。すなわち、プ
ログラムの途中数箇所にチェックポイントを設け、その
時点でのデータの内容を凍結(当該プログラムに関する
すべての情報の書き換えや参照を差し止めること)して
保存する。これにより、コンピュータシステムに何らか
のトラブルが発生したときは、チェックポイントの位置
から再スタート(リスタート)することができる。
【0003】従来、この種のチェックポイント/リスタ
ート処理方式は、プログラムを構成する各プロセス間の
同期または排他制御、例えば、プログラムデバッグ時の
デバッグプロセスと被デバッグプロセス間の同期制御や
イベントによる同期制御、マルチプロセッサシステムに
おける並列処理によるプロセス間等での同期または排他
制御を行うプロセス間の相互の動作を考慮していなかっ
た。したがって、チェックポイント時は、これらのプロ
セス間相互の動作に関わらずに順次プロセスを凍結さ
せ、ファイルに保存していた。また、リスタート時も、
プロセス間相互の動作に関わらず、ファイルに記録され
た順番に各プロセスのリスタートを行っていた。
【0004】このため、相互に関連する複数のプロセス
において、同期または排他制御によって停止していた1
つのプロセスが先にチェックポイントによる凍結状態に
なった後、まだ実行中の他のプロセスが、先に凍結状態
になったはずの上記プロセスの実行を再開してしまう場
合があった。
【0005】また、リスタートの処理の際には、凍結時
に実行中であったプロセスが先にリスタートされてプロ
セスの実行を開始してしまったために、この実行開始さ
れたプロセスが、まだリスタートされていない凍結時に
停止していたプロセスの実行を再開させてしまう場合が
あった。
【0006】
【発明が解決しようとする課題】上述したように、従来
のチェックポイント/リスタート処理方式は、プロセス
間の同期または排他制御による相互の動作を考慮してい
ないため、チェックポイントの処理において、実行中の
プロセスが先に凍結状態になったプロセスの実行を再開
してしまうという可能性があった。また、リスタートの
処理において、先にリスタートされたプロセスが、まだ
リスタートされていないプロセスの実行を再開させてし
まうという可能性があった。
【0007】このため、リスタート後のプロセス間の動
作の整合性を保つことができなくなる場合があり、同期
または排他制御を行うプロセスを含むプロセス群に対す
るチェックポイント/リスタートを確実に行うことはで
きなかった。
【0008】本発明は、上記従来の欠点を解消し、同期
または排他制御を行うプロセスを含むプロセス群に対す
るチェックポイント/リスタートを実行することのでき
るチェックポイント/リスタート処理方式を提供するこ
とを目的とする。
【0009】
【課題を解決するための手段】上記の目的を達成するた
め、本発明は、コンピュータシステムのプログラム途中
に設けられたチェックポイントにおける処理を行うチェ
ックポイント処理実行部と、該チェックポイント処理実
行部によって得られた情報を格納するリスタートファイ
ルと、該リスタートファイルに格納された情報に基づい
てプログラムをリスタートするリスタート処理実行部と
を備えるチェックポイント/リスタート処理方式におい
て、前記チェックポイント処理実行部が、同期または排
他制御により関係付けられた複数のプロセスを凍結する
順序を制御する手段を備え、前記リスタート処理実行部
が、凍結時に実行中だったプロセスと停止中だったプロ
セスとのリスタートの順序を制御する手段を備える構成
としている。
【0010】また、他の態様では、前記チェックポイン
ト処理実行部が、チェックポイントにおける処理の対象
となるチェックポイント対象プロセスを特定するチェッ
クポイント対象プロセス特定手段と、前記チェックポイ
ント対象プロセスのチェックポイントにおける管理情報
を格納するチェックポイント管理情報格納手段と、前記
チェックポイント対象プロセスをチェックポイントの状
態で凍結するプロセス凍結手段と、同期または排他制御
により停止中のチェックポイント対象プロセスが他のチ
ェックポイント対象プロセスによって実行を再開するこ
とを要求された場合に、当該停止中のチェックポイント
対象プロセスが凍結されているかどうか判別する凍結判
別手段と、前記凍結判別手段によって凍結されていると
判断されたチェックポイント対象プロセスの凍結を解除
する凍結解除手段と、前記凍結されたチェックポイント
対象プロセスに関する情報を前記リスタートファイルに
格納する書込手段とを備え、前記リスタート処理実行部
が、前記リスタートファイルから情報を読み出す読取手
段と、前記読取手段によって読み出した情報に基づいて
リスタート処理の対象となるリスタート対象プロセスを
特定するリスタート対象プロセス特定手段と、前記リス
タート対象プロセスについての管理情報を格納するリス
タート管理情報格納手段と、リスタートしようとするリ
スタート対象プロセスの実行を必要に応じて一時的に停
止させるリスタート停止手段と、前記リスタート停止手
段によって実行を停止しているリスタート対象プロセス
の実行を再開させるリスタート再開手段と、リスタート
処理を終了したプロセスについて所定のリスタート終了
処理を行うリスタート終了処理手段とを備える構成とし
ている。
【0011】また、他の態様では、前記チェックポイン
ト管理情報格納手段が、少なくとも、各チェックポイン
ト対象プロセスについて、当該プロセスがチェックポイ
ント要求中を示すチェックポイント要求フラグと、チェ
ックポイントによる凍結中であることをを示すプロセス
凍結フラグと、凍結時の該プロセスのステータスとを格
納すると共に、凍結されたチェックポイント対象プロセ
スのプロセス数を格納し、前記プロセス凍結手段が、停
止中のプロセスおよびプロセス凍結地点にあるプロセス
について、前記チェックポイント管理情報格納手段の該
プロセスに関する項目に凍結中であることを示すプロセ
ス凍結フラグを立てる手段と、凍結時の該プロセスのス
テータスを格納する手段と、凍結されたプロセスのプロ
セス数の値を1増加する手段とを備え、前記凍結判別手
段が、前記プロセス凍結フラグを参照してプロセスが凍
結されているかどうかを判別する手段を備え、前記凍結
解除手段が、前記チェックポイント管理情報格納手段の
当該プロセスに関する項目のプロセス凍結フラグと凍結
時のステータスとをクリアする手段と、凍結されたプロ
セスのプロセス数の値を1減らす手段とを備える構成と
している。
【0012】また、他の態様では、前記リスタート管理
情報格納手段が、少なくとも、各リスタート対象プロセ
スについて、リスタートして実行を開始したことを示す
リスタート終了フラグと、凍結時の該プロセスのステー
タスと、リスタートによる実行を停止していることを示
すリスタート停止フラグとを格納し、前記リスタート停
止手段が、必要に応じて、前記リスタート管理情報格納
手段の該プロセスに関する項目にリスタート停止フラグ
を立ててプロセスのリスタートによる実行再開を停止す
る手段を備え、前記リスタート再開手段が、リスタート
対象プロセスをリスタートさせるたびに、前記リスター
ト停止手段によってリスタートを停止させられているプ
ロセスを検索する手段と、リスタートを停止させられて
いるプロセスがある場合に、該プロセスの停止を解除し
て前記リスタート管理情報格納手段の該プロセスのリス
タート停止フラグをクリアし、実行を再開させる手段と
を備え、前記リスタート終了手段が、リスタートを終了
したプロセスについて、前記リスタート管理情報格納手
段の当該プロセスのリスタート終了フラグを立てる手段
を備える構成としている。
【0013】上記目的を達成する他のチェックポイント
/リスタート処理方式では、コンピュータシステムのプ
ログラム途中に設けられたチェックポイントにおける凍
結処理と、該凍結処理によって得られた情報をリスター
トファイルに格納する書込処理と、該リスタートファイ
ルに格納された情報に基づいてプログラムをリスタート
するリスタート処理とを備えるチェックポイント/リス
タート処理方式において、前記凍結処理が、チェックポ
イントにおける処理の対象となるチェックポイント対象
プロセスを該チェックポイントの状態で凍結するステッ
プと、同期または排他制御により停止中のチェックポイ
ント対象プロセスが他のチェックポイント対象プロセス
によって実行を再開することを要求された場合に、当該
停止中のチェックポイント対象プロセスが凍結されてい
るかどうか判別するステップと、前記凍結されていると
判断されたチェックポイント対象プロセスの凍結を解除
するステップとを備え、前記リスタート処理が、前記リ
スタートファイルから情報を読み出すステップと、前記
読取手段によって読み出した情報に基づいてリスタート
処理の対象となるリスタート対象プロセスを特定するス
テップと、リスタートしようとするリスタート対象プロ
セスの実行を必要に応じて一時的に停止させるステップ
と、前記実行を停止しているリスタート対象プロセスの
実行を再開させるステップと、リスタート処理を終了し
たプロセスについて所定のリスタート終了処理を行うス
テップとを備える構成としている。
【0014】
【作 用】本発明によれば、チェックポイント管理情報
およびリスタート管理情報として各プロセスの凍結時の
状態に関する情報を管理し、凍結手段、凍結判別手段、
および凍結解除手段によって同期または排他制御を行う
プロセスの凍結の順序を制御すると共に、リスタート停
止手段およびリスタート再開手段によってプロセスのリ
スタートの順序を制御することにより、同期または排他
制御を行うプロセスを含むプロセス群に対してもチェッ
クポイント/リスタート処理を行うことが可能になる。
【0015】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。図1は、本発明の1実施例によるチェック
ポイント/リスタート処理方式の構成を示すブロック図
である。
【0016】図示のように、本実施例のチェックポイン
ト/リスタート処理方式は、チェックポイントにおける
データの保存を行うチェックポイント処理実行部10
と、チェックポイントで取得したデータを保存するリス
タートファイル20と、コンピュータシステムにトラブ
ルが発生した場合にリスタートファイル20に保存され
たデータを用いてリスタート処理を行うリスタート処理
実行部30とを備えて構成される。
【0017】チェックポイント処理実行部10は、パー
ソナルコンピュータやワークステーションのプログラム
制御されたCPUとメモリ等で実現され、チェックポイ
ントにおける処理の対象プロセスを示すチェックポイン
ト対象プロセス群11と、チェックポイント対象プロセ
ス群11の各プロセスについての情報を格納したチェッ
クポイント管理情報格納部12と、チェックポイント対
象プロセスの凍結を行うプロセス凍結部13と、プロセ
スが凍結されているか判別する凍結判別部14と、所定
の凍結されたプロセスの凍結を解除する凍結解除部15
と、凍結後のプロセスについての情報をリスタートファ
イル20に書き込むプロセス情報書込部16を備える。
【0018】チェックポイント対象プロセス群11は、
適当なタイミングで行われるチェックポイントにおける
処理の対象となるプロセスである。チェックポイント対
象プロセス群11には、同期または排他制御を行うプロ
セスを含む。
【0019】チェックポイント管理情報格納部12は、
図4に示すように、少なくとも、各チェックポイント対
象プロセスについて、当該プロセスがチェックポイント
要求中を示すチェックポイント要求フラグ、チェックポ
イントによる凍結中であることをを示すプロセス凍結フ
ラグ、および凍結時の当該プロセスのステータスを格納
する。また、凍結されたチェックポイント対象プロセス
のプロセス数を格納する。
【0020】プロセス凍結部13は、チェックポイント
対象プロセス群11のプロセスのうち、停止中のプロセ
スおよびプロセス凍結地点にあるプロセスを凍結する。
すなわち、チェックポイント管理情報格納部12の当該
プロセスに関する項目に凍結中であることを示すプロセ
ス凍結フラグを立て、凍結時のステータスを格納する。
そして、凍結されたプロセスのプロセス数を1カウント
アップする。ここで、プロセス凍結地点にあるプロセス
とは、システムコールや割込処理からユーザモードへ戻
る直前の位置にあるプロセスである。
【0021】凍結判別部14は、同期制御されている複
数のプロセスにおいて実行中のプロセスが停止中のプロ
セスの実行を再開させようとする場合に、当該停止中の
プロセスがプロセス凍結部13によってすでに凍結され
ているかどうか判断する。
【0022】凍結解除部15は、凍結判別部14によっ
てすでに凍結されていると判断されたプロセスの実行を
再開させる必要がある場合に、当該プロセスの凍結を解
除する。すなわち、チェックポイント管理情報格納部1
2の当該プロセスに関する項目のプロセス凍結フラグと
凍結時のステータスとをクリアし、凍結プロセスのプロ
セス数を1カウントダウンする。プロセスの実行を再開
させるのは、例えば、実行中のプロセスがプロセス凍結
地点に到達する前にプロセス間同期制御による同期点に
到達した時、既に同期点に到達して同期待ちで停止して
いる状態で凍結されているプロセスの実行を再開させよ
うとする場合等である。
【0023】プロセス情報書込手段16は、チェックポ
イント対象プロセス群11に含まれるすべてのプロセス
が凍結された場合に、当該すべてのプロセスの管理情報
をリスタートファイル20に書き込む。
【0024】リスタートファイル20は、磁気ディスク
装置等の外部記憶装置で実現され、チェックポイント処
理実行部10のプロセス情報書込手段16によって書き
込まれたプロセス情報を保持する。
【0025】リスタート処理実行部30は、パーソナル
コンピュータやワークステーションのプログラム制御さ
れたCPUとメモリ等で実現され、リスタートファイル
20へ書き込まれたプロセス情報を読み取るプロセス情
報読取部33と、プロセス情報読取部33によって読み
取った情報に基づいて生成されるリスタート対象プロセ
ス群31と、リスタート対象プロセス群31の各プロセ
スについての情報を格納したリスタート管理情報格納部
32と、必要に応じてリスタートしようとするプロセス
の実行を一時的に停止させるリスタート停止部34と、
リスタート停止部34によって実行を停止しているプロ
セスの実行を再開させるリスタート再開部35と、リス
タート処理を終了したプロセスについて所定のリスター
ト終了処理を行うリスタート終了処理部36を備える。
【0026】リスタート対象プロセス群31は、リスタ
ートの対象となるプロセス、すなわち、チェックポイン
トの処理の対象となってリスタートファイル20に情報
を格納されているプロセスである。
【0027】リスタート管理情報格納部32は、図6に
示すように、少なくとも、各リスタート対象プロセスに
ついて、リスタートして実行開始したことを示すリスタ
ート終了フラグ、凍結時のステータス、リスタートによ
る実行を停止していることを示すリスタート停止フラグ
を格納する。
【0028】リスタート停止部34は、必要に応じてプ
ロセスのリスタートによる実行再開を停止する。そし
て、リスタート管理情報格納部32の当該プロセスに関
する項目にリスタート停止フラグを立てる。リスタート
を停止するのは、例えば、凍結時に実行中であったプロ
セスをリスタートする際、凍結時に停止中であったプロ
セスであって未だリスタートしていないプロセスがある
場合等である。
【0029】リスタート再開部35は、リスタート対象
プロセスをリスタートさせるたびに、リスタート停止部
34によってリスタートを停止させられているプロセス
を検索する。そのようなプロセスがあるときは、当該プ
ロセスの停止を解除してリスタート管理情報格納部32
の当該プロセスのリスタート停止フラグをクリアし、実
行を再開させる。
【0030】リスタート終了処理部36は、リスタート
を終了したプロセスについて、リスタート管理情報格納
部32の当該プロセスのリスタート終了フラグを立て
る。これによって、当該プロセスがすでにリスタートし
て実行されていることを知ることができる。
【0031】次に、図2、図3、図5、および図7のフ
ローチャートを参照して本実施例の動作について説明す
る。図2は、本実施例によるチェックポイントにおける
処理を示すフローチャートである。
【0032】初期条件として、チェックポイントの処理
開始時点において、チェックポイント管理情報格納部1
2に、チェックポイント対象プロセス群11の各プロセ
スについてチェックポイント要求フラグが立てられてお
り、チェックポイントの処理によって凍結されたプロセ
ス数の値として0が格納されている。
【0033】まず、チェックポイント対象プロセス群1
1内の停止中のプロセスがある時は、直ちにプロセス凍
結部13によって、チェックポイント管理情報格納部1
2の凍結されたプロセスのプロセス数として当該停止中
のプロセスのプロセス数を格納する(ステップ201、
202)。そして、これらのプロセスに関する項目にプ
ロセス凍結フラグを立て(ステップ206)、これらの
プロセスの凍結時のステータスを格納する(ステップ2
07)。
【0034】上記停止中のプロセス以外の実行中(実行
待ち状態を含む)のチェックポイント対象プロセス群1
1内のプロセスは、チェックポイント要求後直ちに凍結
することはできない。したがって、通常それらのプロセ
スが停止する時、またはプロセス凍結地点に到達した時
に(ステップ203、204)、プロセス凍結部13に
よって、チェックポイント管理情報格納部12の凍結プ
ロセス数を1カウントアップし(ステップ205)、当
該プロセスに関する項目にプロセス凍結フラグを立て
(ステップ206)、凍結時のステータスを格納する
(ステップ207)。これによって、これらのプロセス
は凍結される。
【0035】しかし、上記実行中のプロセスがプロセス
凍結地点に到達する前にプロセス間同期制御による同期
点に到達した時、既に同期点に到達して同期待ちで停止
している状態で凍結されているプロセスの実行を再開さ
せようとする場合がある。すなわち、実行要求のあった
プロセスが、凍結判別部14によって、チェックポイン
ト対象プロセス群11内のプロセスであるかを判別し、
さらにチェックポイント管理情報格納部12内のプロセ
ス凍結フラグから当該プロセスが既にチェックポイント
による凍結された状態になっているかを判別し、凍結さ
れていると判別された場合である(ステップ203、2
11、212、213)。
【0036】このような場合、凍結解除部15によっ
て、チェックポイント管理情報格納部12の当該プロセ
スのプロセス凍結フラグをクリアし(ステップ21
4)、凍結プロセス数を1カウントダウンし(ステップ
215)、このプロセスの凍結時のステータスをクリア
することで凍結を解除し(ステップ216)、このプロ
セスの実行を再開できるようにする。実行再開されたプ
ロセスは、次にプロセス凍結地点に到達した時に、再び
プロセス凍結部13よって凍結される。
【0037】また、凍結される前に排他的に実行されな
ければならない区間を終えて、排他制御により停止して
いる他のプロセスの実行を再開させる場合がある。この
場合も、上記の同期制御の場合と同様に、凍結判別判別
部14よって、当該プロセスがすでに凍結されているか
を判別し、凍結解除部15によって、凍結を解除して実
行を再開できるようにする。これらの処理については、
後で図5のフローチャートを参照して詳述する。
【0038】このようにして、すべてのチェックポイン
ト対象プロセスが凍結された時点、すなわち、チェック
ポイント管理情報格納部12の凍結プロセス数がチェッ
クポイント対象プロセス群11のプロセス数に等しくな
った時点で(ステップ208、209)、プロセス情報
書込部16によって、プロセス情報をリスタートファイ
ル20へ書き込む(ステップ210)。
【0039】図3は、本実施例によるリスタート処理を
示すフローチャートである。まず、プロセス情報読取部
33によって、リスタートファイル20からリスタート
対象プロセス群31の各プロセス情報を読取り、メモリ
へ格納する(ステップ301)。次に、リスタート管理
情報格納部32ヘ、リスタート対象プロセス群31の各
プロセスのチェックポイントによる凍結時のステータス
が格納される(ステップ302)。そして、リスタート
停止フラグ及びリスタート終了フラグをクリアした後
(ステップ303)、上記各プロセスのリスタートを開
始する(ステップ304)。
【0040】次に、リスタート停止部34よって、各プ
ロセスについて、リスタート管理情報格納部32から当
該プロセスの凍結時のステータスを参照して、当該プロ
セスが実行中であったかどうか調べる(ステップ30
5)。当該プロセスが実行中であった場合、リスタート
終了処理部36によって、リスタート管理情報格納部3
2に当該プロセスのリスタート終了フラグを立てる(ス
テップ312)。この時点で、まだ他にリスタート終了
フラグの立っていないプロセスがある場合は、リスター
ト停止部34によって、リスタート停止フラグを立てて
当該プロセスのリスタートを停止する(ステップ31
3、314)。そして、凍結時に停止中であった全プロ
セスのリスタート終了フラグが立つまでリスタート再開
を待つ。
【0041】一方、凍結時のステータスが停止中であっ
たプロセスについては、当該プロセスのリスタートが行
われた時に、リスタート終了処理部36によって、リス
タート管理情報格納部32に当該プロセスのリスタート
終了フラグを立てる(ステップ305、306、30
7)。
【0042】次に、リスタート再開部35によって、リ
スタート管理情報格納部32内のリスタート停止フラグ
が立っているプロセスを検索し、そのようなプロセスが
あれば、リスタート停止フラグをクリアし(ステップ3
08、309)、停止しているすべてのプロセスの実行
を再開させる(ステップ310)。そして、再度リスタ
ート停止部34によって、リスタート終了フラグが立っ
ていないプロセスがあるかを調べ、そのようなプロセス
がある場合は、リスタート再開部35によって実行を再
開されたプロセスについて、リスタート停止フラグをリ
スタート管理情報格納部32に立て再び停止する(ステ
ップ311、314)。リスタート終了フラグがすべて
のプロセスについて立っている場合は、リスタート対象
プロセス群31内のすべてのプロセスのリスタートが完
了する。
【0043】図4は、チェックポイント処理において、
同期または排他制御を行うプロセスを含むチェックポイ
ント対象プロセス群11とチェックポイント管理情報1
2の関係を示した図である。また、図5は、チェックポ
イントの処理開始後、同期または排他制御による停止中
のプロセスP2が、停止中のままチェックポイントによ
る凍結状態になった場合の処理を示すフローチャートで
ある。
【0044】まず、プロセス凍結地点にまだ到達してい
ない実行中のプロセスP1が、同地点に到達するより先
に同期点または排他的に実行される区間の終わりに到達
した時(ステップ501)、実行中のプロセスP1は、
停止中のプロセスP2の実行を再開させる前に、凍結判
別部14によって、チェックポイント管理情報1内のプ
ロセス凍結フラグを参照する(ステップ502)。そし
て、プロセス凍結フラグが立っている場合は、凍結解除
部15によってチェックポイント管理情報格納部12の
上記停止中のプロセスP2のプロセス凍結フラグをクリ
アし(ステップ503、504)、凍結プロセスのプロ
セス数を1減らし(ステップ505)、凍結時のステー
タスをクリアして凍結を解除する(ステップ506)。
【0045】図6は、リスタート処理において、リスタ
ート対象プロセス群31とリスタート管理情報格納部3
2の関係を示した図である。また、図7は、リスタート
処理開始後、リスタート対象プロセス群31内の凍結時
ステータスが実行中であったプロセスP3が、凍結時ス
テータスが停止中のプロセスP4よりも先に、リスター
ト終了直前まで達した場合の処理を示すフローチャート
である。
【0046】まず、凍結時に実行中であったプロセスP
3は、リスタート停止部34によって、リスタート管理
情報格納部32における当該プロセスP3の凍結時のス
テータスを調べる(ステップ701)。そして、当該プ
ロセスP3が凍結時に実行中であったことを知り、リス
タート終了処理部36によって、プロセスP3のリスタ
ート終了フラグを立てる(ステップ702、703)。
そして、まだリスタート終了フラグが立っていないリス
タート対象プロセスP4があるので、リスタート停止部
34によって、リスタート停止フラグを立て、凍結時停
止中であったプロセスP4のリスタート終了フラグが立
つまで停止する(ステップ704)。
【0047】一方、上記の凍結時に停止中であったプロ
セスP4は、リスタート停止部34よって、凍結時停止
中であったことを知った後、リスタート終了処理部36
によって、プロセスP4のリスタート終了フラグを立て
る(ステップ705)。そして、プロセスP4は、リス
タート再開部35によって、リスタート停止フラグが立
っていることを知って、リスタート終了直前で停止して
いるプロセスP3の実行を再開させる(ステップ70
6)。
【0048】以上好ましい実施例をあげて本発明を説明
したが、本発明は必ずしも上記実施例に限定されるもの
ではない。
【0049】
【発明の効果】以上説明したように、本発明は、同期ま
たは排他制御を行うプロセス間におけるプロセスを凍結
する順序、およびリスタートをする順序を制御すること
により、以下のような問題を解消することができる。 1)チェックポイントの処理において、同期または排他
制御を行うプロセス間で、先に停止中のプロセスが凍結
された後、まだ実行中のプロセスが、この凍結されたプ
ロセスの実行を再開してしまう。 2)リスタート処理において、実行中のプロセスのリス
タートが先に終了して、まだリスタートが終了していな
い凍結時に停止していたプロセスを実行再開させようと
して、不正動作を起こす。 これらの問題を解消することにより、リスタート後の同
期または排他制御の性合成を保つことができる。したが
って、同期または排他制御を行うプロセスを含むプロセ
ス群に対してチェックポイント/リスタートが可能にな
るという効果がある。
【図面の簡単な説明】
【図1】 本発明の1実施例にかかるチェックポイント
/リスタート処理方式の構成を示すブロック図である。
【図2】 本実施例のチェックポイントにおける処理を
示すフローチャートである。
【図3】 本実施例のリスタート処理を示すフローチャ
ートである。
【図4】 同期または排他制御を行うプロセスを含むチ
ェックポイント対象プロセス群とチェックポイント管理
情報との関係を示したブロック図である。
【図5】 同期または排他制御による停止中のプロセス
が停止中の状態のままチェックポイントによる凍結状態
になった場合の処理を示すフローチャートである。
【図6】 リスタート対象プロセス群とリスタート管理
情報格納部の関係を示したブロック図である。
【図7】 凍結時に実行中であったプロセスが凍結時に
停止中のプロセスよりも先にリスタート直前まで達した
場合の処理を示すフローチャートである。
【符号の説明】
10 チェックポイント処理実行部 11 チェックポイント対象プロセス群 12 チェックポイント管理情報格納部 13 プロセス凍結部 14 凍結判別部 15 凍結解除部 16 プロセス情報書込部 20 リスタートファイル 30 リスタート処理実行部 31 リスタート対象プロセス群 32 リスタート管理情報格納部 33 プロセス情報読取部 34 リスタート停止部 35 リスタート再開部 36 リスタート終了部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムのプログラム途中
    に設けられたチェックポイントにおける処理を行うチェ
    ックポイント処理実行部と、該チェックポイント処理実
    行部によって得られた情報を格納するリスタートファイ
    ルと、該リスタートファイルに格納された情報に基づい
    てプログラムをリスタートするリスタート処理実行部と
    を備えるチェックポイント/リスタート処理方式におい
    て、 前記チェックポイント処理実行部が、同期または排他制
    御により関係付けられた複数のプロセスを凍結する順序
    を制御する手段を備え、 前記リスタート処理実行部が、凍結時に実行中だったプ
    ロセスと停止中だったプロセスとのリスタートの順序を
    制御する手段を備えることを特徴とするチェックポイン
    ト/リスタート処理方式。
  2. 【請求項2】 前記チェックポイント処理実行部が、 チェックポイントにおける処理の対象となるチェックポ
    イント対象プロセスを特定するチェックポイント対象プ
    ロセス特定手段と、 前記チェックポイント対象プロセスのチェックポイント
    における管理情報を格納するチェックポイント管理情報
    格納手段と、 前記チェックポイント対象プロセスをチェックポイント
    の状態で凍結するプロセス凍結手段と、 同期または排他制御により停止中のチェックポイント対
    象プロセスが他のチェックポイント対象プロセスによっ
    て実行を再開することを要求された場合に、当該停止中
    のチェックポイント対象プロセスが凍結されているかど
    うか判別する凍結判別手段と、 前記凍結判別手段によって凍結されていると判断された
    チェックポイント対象プロセスの凍結を解除する凍結解
    除手段と、 前記凍結されたチェックポイント対象プロセスに関する
    情報を前記リスタートファイルに格納する書込手段とを
    備え、 前記リスタート処理実行部が、 前記リスタートファイルから情報を読み出す読取手段
    と、 前記読取手段によって読み出した情報に基づいてリスタ
    ート処理の対象となるリスタート対象プロセスを特定す
    るリスタート対象プロセス特定手段と、 前記リスタート対象プロセスについての管理情報を格納
    するリスタート管理情報格納手段と、 リスタートしようとするリスタート対象プロセスの実行
    を必要に応じて一時的に停止させるリスタート停止手段
    と、 前記リスタート停止手段によって実行を停止しているリ
    スタート対象プロセスの実行を再開させるリスタート再
    開手段と、 リスタート処理を終了したプロセスについて所定のリス
    タート終了処理を行うリスタート終了処理手段とを備え
    ることを特徴とする請求項1に記載されたチェックポイ
    ント/リスタート処理方式。
  3. 【請求項3】 前記チェックポイント管理情報格納手段
    が、 少なくとも、各チェックポイント対象プロセスについ
    て、当該プロセスがチェックポイント要求中を示すチェ
    ックポイント要求フラグと、チェックポイントによる凍
    結中であることをを示すプロセス凍結フラグと、凍結時
    の該プロセスのステータスとを格納すると共に、凍結さ
    れたチェックポイント対象プロセスのプロセス数を格納
    し、 前記プロセス凍結手段が、 停止中のプロセスおよびプロセス凍結地点にあるプロセ
    スについて、前記チェックポイント管理情報格納手段の
    該プロセスに関する項目に凍結中であることを示すプロ
    セス凍結フラグを立てる手段と、 凍結時の該プロセスのステータスを格納する手段と、 凍結されたプロセスのプロセス数の値を1増加する手段
    とを備え、 前記凍結判別手段が、 前記プロセス凍結フラグを参照してプロセスが凍結され
    ているかどうかを判別する手段を備え、 前記凍結解除手段が、 前記チェックポイント管理情報格納手段の当該プロセス
    に関する項目のプロセス凍結フラグと凍結時のステータ
    スとをクリアする手段と、 凍結されたプロセスのプロセス数の値を1減らす手段と
    を備えることを特徴とする請求項2に記載されたチェッ
    クポイント/リスタート処理方式。
  4. 【請求項4】 前記リスタート管理情報格納手段が、 少なくとも、各リスタート対象プロセスについて、リス
    タートして実行を開始したことを示すリスタート終了フ
    ラグと、凍結時の該プロセスのステータスと、リスター
    トによる実行を停止していることを示すリスタート停止
    フラグとを格納し、 前記リスタート停止手段が、 必要に応じて、前記リスタート管理情報格納手段の該プ
    ロセスに関する項目にリスタート停止フラグを立ててプ
    ロセスのリスタートによる実行再開を停止する手段を備
    え、 前記リスタート再開手段が、 リスタート対象プロセスをリスタートさせるたびに、前
    記リスタート停止手段によってリスタートを停止させら
    れているプロセスを検索する手段と、 リスタートを停止させられているプロセスがある場合
    に、該プロセスの停止を解除して前記リスタート管理情
    報格納手段の該プロセスのリスタート停止フラグをクリ
    アし、実行を再開させる手段とを備え、 前記リスタート終了手段が、 リスタートを終了したプロセスについて、前記リスター
    ト管理情報格納手段の当該プロセスのリスタート終了フ
    ラグを立てる手段を備えることを特徴とする請求項2に
    記載されたチェックポイント/リスタート処理方式。
  5. 【請求項5】 コンピュータシステムのプログラム途中
    に設けられたチェックポイントにおける凍結処理と、該
    凍結処理によって得られた情報をリスタートファイルに
    格納する書込処理と、該リスタートファイルに格納され
    た情報に基づいてプログラムをリスタートするリスター
    ト処理とを備えるチェックポイント/リスタート処理方
    式において、 前記凍結処理が、 チェックポイントにおける処理の対象となるチェックポ
    イント対象プロセスを該チェックポイントの状態で凍結
    するステップと、 同期または排他制御により停止中のチェックポイント対
    象プロセスが他のチェックポイント対象プロセスによっ
    て実行を再開することを要求された場合に、当該停止中
    のチェックポイント対象プロセスが凍結されているかど
    うか判別するステップと、 前記凍結されていると判断されたチェックポイント対象
    プロセスの凍結を解除するステップとを備え、 前記リスタート処理が、 前記リスタートファイルから情報を読み出すステップ
    と、 前記読取手段によって読み出した情報に基づいてリスタ
    ート処理の対象となるリスタート対象プロセスを特定す
    るステップと、 リスタートしようとするリスタート対象プロセスの実行
    を必要に応じて一時的に停止させるステップと、 前記実行を停止しているリスタート対象プロセスの実行
    を再開させるステップと、 リスタート処理を終了したプロセスについて所定のリス
    タート終了処理を行うステップとを備えることを特徴と
    するチェックポイント/リスタート処理方式。
JP7094579A 1995-03-27 1995-03-27 チェックポイント/リスタート処理方式 Expired - Fee Related JP2713218B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7094579A JP2713218B2 (ja) 1995-03-27 1995-03-27 チェックポイント/リスタート処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7094579A JP2713218B2 (ja) 1995-03-27 1995-03-27 チェックポイント/リスタート処理方式

Publications (2)

Publication Number Publication Date
JPH08263317A true JPH08263317A (ja) 1996-10-11
JP2713218B2 JP2713218B2 (ja) 1998-02-16

Family

ID=14114199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7094579A Expired - Fee Related JP2713218B2 (ja) 1995-03-27 1995-03-27 チェックポイント/リスタート処理方式

Country Status (1)

Country Link
JP (1) JP2713218B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155473A (ja) * 2004-12-01 2006-06-15 Fujitsu Ltd 情報処理装置
WO2012049794A1 (ja) * 2010-10-14 2012-04-19 日本電気株式会社 分散処理装置及び分散処理システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155473A (ja) * 2004-12-01 2006-06-15 Fujitsu Ltd 情報処理装置
WO2012049794A1 (ja) * 2010-10-14 2012-04-19 日本電気株式会社 分散処理装置及び分散処理システム
JP5966927B2 (ja) * 2010-10-14 2016-08-10 日本電気株式会社 分散処理装置及び分散処理システム
US9946582B2 (en) 2010-10-14 2018-04-17 Nec Corporation Distributed processing device and distributed processing system

Also Published As

Publication number Publication date
JP2713218B2 (ja) 1998-02-16

Similar Documents

Publication Publication Date Title
US20150154045A1 (en) Contention management for a hardware transactional memory
US5752268A (en) Minimum-delay recoverable disk control system using checkpoints and nonvolatile memory
US7032099B1 (en) Parallel processor, parallel processing method, and storing medium
CN107003897B (zh) 监控事务处理资源的利用率
JPH08263317A (ja) チェックポイント/リスタート処理方式
CN114756355B (zh) 一种计算机操作系统的进程自动快速恢复的方法和装置
US5860098A (en) Process for running a computer program subject to interrupt
US10678595B2 (en) Dynamic saving of registers in transactions
JP2003216449A (ja) パッチ処理システム
JPH04307641A (ja) マルチタスク・システムの障害診断装置
CN112307067B (zh) 一种数据处理方法及装置
JP4457577B2 (ja) マルチプロセッサシステム
JP3598528B2 (ja) データ引き継ぎ方法
JP3123871B2 (ja) キュー検索方式
JP3079238B2 (ja) デバッグ装置
JPH09330253A (ja) メモリダンプ方法及びそれを適用したメモリダンプシステム
JPH03158936A (ja) プログラムのテスト方法
KR20020068651A (ko) 제자리 실행(eXecute In Place: XIP) 태스크의 실행과플래시 메모리의 재생과정을 고려한 확장된 태스크스케줄링 알고리즘
JP2001005689A (ja) トレース採取回路
JP2853458B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ
JPH04105159A (ja) 業務代行方式
JP2000315162A (ja) 制御ブロック処理装置及び制御ブロック処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004005139A (ja) 中間コード実行装置
JPH04338852A (ja) 中断再開機構を有するファイル転送プログラム
JPH04332050A (ja) 再起動時中断点からの再開可能なデバガ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071031

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081031

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091031

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091031

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101031

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees