JP3154942B2 - 分散チェックポイント生成方法および同方法が適用される計算機システム - Google Patents

分散チェックポイント生成方法および同方法が適用される計算機システム

Info

Publication number
JP3154942B2
JP3154942B2 JP20733996A JP20733996A JP3154942B2 JP 3154942 B2 JP3154942 B2 JP 3154942B2 JP 20733996 A JP20733996 A JP 20733996A JP 20733996 A JP20733996 A JP 20733996A JP 3154942 B2 JP3154942 B2 JP 3154942B2
Authority
JP
Japan
Prior art keywords
inter
checkpoint
communication
processes
computer
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 - Lifetime
Application number
JP20733996A
Other languages
English (en)
Other versions
JPH09138754A (ja
Inventor
敏雄 白木原
達徳 金井
秀昭 平山
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP20733996A priority Critical patent/JP3154942B2/ja
Priority to US08/711,846 priority patent/US5802267A/en
Publication of JPH09138754A publication Critical patent/JPH09138754A/ja
Application granted granted Critical
Publication of JP3154942B2 publication Critical patent/JP3154942B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/1407Checkpointing the instruction stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、分散処理環境下
でプロセス間通信を行いながら動作する複数のプロセス
それぞれのチェックポイントを生成するチェックポイン
ト生成方法およびそのチェックポイント生成方法が適用
される計算機システムに関する。
【0002】
【従来の技術】一般に、計算機システムにおいては、プ
ログラム実行の信頼性を高めるために、各種の回復機能
が設けられている。回復機能の1つとして、従来より、
チェックポイントリスタート方法が知られている。この
チェックポイントリスタート方法では、プロセスの実行
の途中の状態からの再実行に必要な情報が定期的に保存
される。この情報を保存する時点をチェックポイントと
呼び、その情報を保存することをチェックポイントの生
成と呼ぶ。障害発生によってプログラム実行が中断され
たとき、その中断されたプロセスの状態は障害発生前の
チェックポイントまでロールバックされ、そのチェック
ポイントから再実行される。
【0003】ある1つのプロセスが単独で動作するシス
テムにおいては、そのプロセスの途中状態のみのチェッ
クポイントを生成すればよいが、複数のプロセスが互い
にプロセス間通信を行いながら並行して動作する分散シ
ステムでは、チェックポイントは単一のプロセスについ
てとったのみでは不十分である。すなわち、プロセス間
通信によって関係ができた複数のプロセスについて、矛
盾なく再実行できるように、それらのチェックポイント
を生成する必要がある。以降では、プロセス毎に生成さ
れるチェックポイントをローカルチェックポイント、関
係のあるプロセスそれぞれの対応するローカルチェック
ポイントの集合を分散チェックポイントと呼ぶ。
【0004】分散環境におけるプロセス間のプロセス間
通信手段としては、メッセージ送受信、および共有メモ
リやファイルによるデータ交換がある。メッセージ送受
信はメッセージの送信側と受信側で同期してデータ交換
を行う手段である。共有メモリは複数のプロセス間で共
有されるメモリで、各プロセスから直接読み書きを行う
ことができ、書き込みの結果は他のプロセスからも見る
ことができる。ファイルは複数のプロセスからアクセス
可能であり、あるプロセスがファイルに情報を書き込
み、他のプロセスがそのファイルから情報を読み出すこ
とにより、情報交換を行うことができる。メッセージ送
受信は同期的なプロセス間通信であるのに対して、共有
メモリおよびファイルによる情報交換は非同期的なプロ
セス間通信である。
【0005】また、共有メモリは同一計算機内のプロセ
ス間で通信されるのに対し、メッセージ送受信は異なる
計算機間および同一計算機内のプロセス間通信に使用す
ることができる。ファイルは同一計算機内のプロセス間
で共有可能であり、またネットワークファイルシステム
を利用することにより、異なる計算機間のプロセス間で
も共有でき、計算機間のプロセス間通信に利用すること
もできる。ただし、あるプロセスが書き込んだ情報が即
時に他のプロセスに有効になることを保証しないファイ
ルシステムもある。以下では、計算機間で行われるプロ
セス間通信を計算機間IPC、同一計算機内で行われる
プロセス間通信を計算機内IPCと呼ぶ。
【0006】分散チェックポイントの生成時に保存しな
ければならない情報には、以下のものがある。 a)プロセスのアドレス空間の内容および実行状態をも
っているハードウェアレジスタの内容 b)ファイル入出力の状態 c)メッセージ送受信で使われる通信路の状態 d)共有メモリの状態 (a)はプロセスローカルな状態であり、(c),
(d)は他のプロセスから影響される状態である。
(b)は他のプロセスとファイル共有を行わない場合は
プロセスローカルな状態であり、共有する場合は他のプ
ロセスから影響される状態である。すなわち、他のプロ
セスとプロセス間通信を行わないプロセスについては
(a),(b)についての状態を保存すればよい。
(a),(b)についての状態保存の方法は、文献“M.
Litzkow and M.Solomon : Supporting checkpointing a
nd Process Migration Outsize The Unix Kernel,USENI
X Winter,Jan. 1992”、および“森山、多田:利用者レ
ベルで実現したプロセス移送ライブラリ、情報処理学会
研究報告、91-OS-51-6. Apr.1991”に開示されている。
【0007】通常、プロセスのアドレス空間は、実行コ
ードを格納するテキスト領域、実行のためのデータを格
納するデータ領域、実行中の一時変数を格納するための
スタック領域からなる。
【0008】上記文献の方法では、ローカルチェックポ
イント生成時には、通常の処理を停止後、アドレス空間
の内容を保存する。さらに、通常の処理停止時の実行場
所等を保存するために、ハードウェアレジスタの内容を
保存する。ファイル入出力に関してはオープンしたファ
イルパスおよび通常の処理停止時のファイルの操作位置
をしめすシークポインタを保存する。ローカルチェック
ポイントからの実行再開時には、 1)アドレス空間を回復し、 2)ファイルの再オープンおよびシークポインタをセッ
トし、 3)保存していたハードウェアレジスタの内容をセット
し、実行を再開する。
【0009】一方、(b),(c),(d)については
分散処理を行う複数のプロセスの状態を一貫性を保つよ
うにとらなければならない。メッセージ送受信によるプ
ロセス間通信を行うプロセスの分散チェックポイント生
成例を図25に示す。
【0010】図25では、3つのプロセスp1、p2、
p3がそれぞれメッセージ送受信を行いながら処理を進
めている場合における3種類の分散チェックポイントの
タイミングCH1、CH2、CH3の例が示されてい
る。これらタイミングCH1、CH2、CH3はそれぞ
れ同期型のチェックポイント生成タイミングであり、こ
のタイミングはプロセスp1、p2,p3に対してチェ
ックポイント生成を指示する管理プロセスによって与え
られる。また、図25において、記号mはメッセージを
示し、その記号mに付けられた2つの添字はメッセージ
送信側プロセスの番号、受信側プロセスの番号を示す。
【0011】図25(a)において、CH1では、プロ
セスp1、p2、p3はそれぞれch11、ch12、
ch13でローカルチェックポイントを生成するが、メ
ッセージm32について注目すると、ch13ではプロ
セスp3はまだメッセージを送っていない状態であるに
も関わらず、ch12ではプロセスp2はメッセージを
すでに受けた状態にある。そのため、どれかのプロセス
に障害が発生してCH1までロールバックして再実行を
行なう場合、メッセージm32に関して矛盾した状態に
なる。図25(c)のCH3に関しても、同様にメッセ
ージm23に関して矛盾した状態になる。
【0012】これらに対して、図25(b)のCH2で
は、各メッセージに関して矛盾した状態がなく、ロール
バックおよび再実行を正常に行う事ができる。分散チェ
ックポイントの一貫性を保証するための方式の一つとし
て、文献“K.M.Chandy and L.Lamport: Distributed Sn
apshots: Determining Global Statesof Distributed S
ystems , ACM Trans. Computer Syst., Vol. 3,No.
1, pp.63-75 ,Feb 1985”に開示されている方法があ
る。この方法は上記の例と同様に、プロセス間通信とし
てメッセージ送受信を対象にしており、一貫性のある分
散チェックポイントとは“未送信かつ受信済みのメッセ
ージが存在しない状態”であると定義している。CH1
のタイミングで分散チェックポイントを生成する図25
(a)におけるメッセージm32が未送信かつ受信済み
のメッセージであり、CH1は一貫性のないタイミング
である。また、この方法では、一貫性保持のためにメッ
セージの再送が行われる。例えば、図25(c)のメッ
セージm23はCH3にロールバックしたときに送信済
みで未受信のメッセージとなるが、このメッセージm2
3の再送によって一貫性のある障害回復が行われる。ま
た、この方法では、マーカと呼ばれるメッセージをプロ
セス間で送り合う事により、一貫性のある状態の実現を
図っている。これにより、メッセージ送受信を行なうプ
ロセスの分散チェックポイントを一貫性を保持した状態
で生成できる。
【0013】しかし、この方法では、メッセージ送受信
のような同期型のプロセス間通信を前提にしており、非
同期的なプロセス間通信である共通メモリやファイルに
よる情報交換には対応できないという問題点がある。
【0014】また、文献“J.S. Plank. K. Li: ickp: A
Consistent Checkpointer for Multicomputers, IEEE
Parallel Distrib.Technol., Syst.Appl., Vol.2., No.
2, pp.62-67, Summer 1994”には、Chandyらが提案して
いる方式の他に、2相コミットプロトコルにより同期を
とってローカルチェックポイントを生成する方法を提案
している。この方法では、1相目で関係しているプロセ
ス全てを停止して、メッセージに関する状態がない状態
にし、すべてのプロセスのローカルチェックポイント生
成後、2相目ですべてのプロセスの処理を再開させる。
【0015】すなわち、図25(b)に示したCH2の
状態で分散チェックポイントを生成することになる。こ
の方法では、1相目で共有メモリやファイルへのアクセ
スを禁止することにより、メッセージ送受信、共有メモ
リ/ファイルによる情報交換の双方に対応できるが、1
相目で互いに関係するプロセスの全ての処理が停止され
てしまうため、これによってプロセス停止時間が長くな
るという問題がある。
【0016】
【発明が解決しようとする課題】プロセス間通信を行い
ながら動作する複数のプロセスの分散チェックポイント
を生成する場合、Chandyらの方法では、メッセージ送受
信には対応できるが、共有メモリやファイルによる情報
交換には対応できないという問題点があった。また、 p
lankらの方法では、関係するプロセスの全ての処理を同
期して停止した後にローカルチェックポイントを生成す
るため、分散チェックポイント生成中に通常の処理が完
全に停止してしまうという問題があった。
【0017】この発明はこのような点に鑑みてなされた
もので、メッセージ送受信や共有メモリ、ファイル共有
による情報交換を行うプロセスの分散チェックポイント
生成が可能で、かつ、分散チェックポイント生成による
プロセスの停止時間を短縮することができるチェックポ
イント生成方法および計算機システムを提供することを
目的とする。
【0018】
【課題を解決するための手段】この発明は、分散処理環
境下でプロセス間通信を行いながら動作する複数のプロ
セスチェックポイントを生成するチェックポイント生
成方法において、前記各プロセスの通常処理を継続させ
た状態で前記各プロセスのプロセス間通信を停止し、全
てのプロセスがプロセス間通信を停止したとき、前記各
プロセスのチェックポイントを生成することを特徴とす
る。
【0019】このチェックポイント生成方法において
は、まず、複数のプロセスそれぞれのプロセス間通信の
実行を停止させる処理が行われ、すべてのプロセス間通
信が停止された事が確認されたときに、通常処理を停止
し、各プロセスのチェックポイント生成が開始される。
そして、チェックポイント生成が終了したプロセス毎に
通常処理およびプロセス間通信が再開される。この場
合、チェックポイント生成が開始されるまでの期間に停
止されるのはプロセス間通信だけである。このため、各
プロセスは、プロセス間通信を行うステップまでは正常
に処理を進めることができ、プロセス間通信を行うステ
ップまで到着したときに初めてウェイトステートとな
る。また、プロセスがマルチスレッド環境で動作してい
る場合には、プロセス間通信を行うスレッドがウェイト
状態になっても、プロセス間通信に関係しない他のスレ
ッドについては動作可能である。したがって、従来のよ
うに各プロセスの全ての動作を停止した後にチェックポ
イント生成を開始する方法に比べ、プロセス全体の動作
停止時間を短縮することができる。
【0020】また、プロセス間通信には、異なる計算機
上のプロセス間で行われるプロセス間通信(計算機間I
PC)と同一計算機上のプロセス間で行われるプロセス
間通信(計算機内IPC)とがある。通常、計算機間I
PCを停止するために要する時間に比べ計算機内IPC
を停止するために要する時間の方が短く、また複数の計
算機間で同期をとる処理に比べて、同一計算機内のプロ
セス間で同期をとる処理の方がその同期に要する時間が
短いことを考慮して、プロセス間通信を停止する処理に
おいては、最初にメッセージ送受信等の計算機間IPC
を停止し、その後、共有メモリ等を用いた計算機内IP
Cを停止することが好ましい。これにより、プロセス間
通信の内、計算機内IPCの停止時間を短縮することが
できる。
【0021】また、各プロセス等に通常処理で書き込み
が行われたダーティーページを記録しておき、各プロセ
スのチェックポイント生成処理では、プロセス毎に前記
記録されているダーティーページのみを保存するチェッ
クポイント生成処理を通常処理と並行して実行すること
が好ましい。これにより、チェックポイント生成処理に
要する時間を短縮できると共に、チェックポイント生成
に伴う通常処理およびプロセス間通信の停止時間も短縮
できるようになる。また、チェックポイント生成処理中
においては、通常処理によってダーティーページに対す
るアクセス要求が発行された時は、そのダーティーペー
ジが保存されるまでそのアクセスの実行が待たされるこ
とになるため、チェックポイント生成処理中に通常処理
によって未保存のダーティーページに対するアクセス要
求が発生した場合は、その部分を優先して保存すること
が好ましい。これにより、そのダーティーページに対す
るアクセス待ちが早く解放され、通常処理の停止時間を
さらに低減できる。
【0022】
【発明の実施の形態】以下、図面を参照してこの発明の
実施の形態について説明する。図1には、この発明の第
1の実施形態に係る分散チェックポイント生成方法を適
用した分散システムの機能構成が示されている。この分
散システムは、複数の計算機から構成されており、それ
ら計算機は互いに協調しながら動作する。それら複数の
計算機上では互いに関係をもった複数のプロセスP1〜
Pnが実行される。これらプロセスP1〜Pnそれぞれ
のチェックポイント生成タイミングは、チェックポイン
ト指示プロセスMによって与えられる。すなわち、ここ
では前述した同期型チェックポイントが採用されてい
る。
【0023】チェックポイント指示プロセスMは、この
分散システムのある計算機上で実行されるものであり、
例えばオペレーティングシステム、またはオペレーティ
ングシステムとは独立したプロセスとして実現されてい
る。チェックポイント指示プロセスMは、プロセスP1
〜Pnに対してローカルチェックポイントの生成タイミ
ングを指示する。チェックポイント生成指示は、例え
ば、数秒間隔で定期的に発行される。
【0024】チェックポイント生成のタイミング制御
は、2相方式を利用して行われる。1相目では、プロセ
スP1〜Pnそれぞれに対してプロセス間通信の停止指
示が発行される。全てのプロセス間通信の停止が確認さ
れると、2相目で、プロセスP1〜Pnそれぞれに対し
てローカルチェックポイントの生成が指示される。
【0025】プロセスP1〜Pnは、互いにプロセス間
通信を行いながら動作する。これら各プロセスは、チェ
ックポイント生成制御のための機能として、通信制御部
11、およびローカルチェックポイント生成部12を有
している。
【0026】通信制御部11は、例えば通信ライブラリ
やマイクロカーネル上の通信マネージャとして実現され
るものであり、プロセス間通信の停止および再開を行
う。この場合、プロセス間通信の停止はチェックポイン
ト指示プロセスMからの通信停止指示に応答して行わ
れ、またプロセス間通信の再開はローカルチェックポイ
ント生成部12からの通信再開指示に応答して行われ
る。ローカルチェックポイント生成部12は、チェック
ポイント指示プロセスMからのチェックポイント生成指
示に応答して、対応するプロセスのローカルチェックポ
イントを生成する。
【0027】以下、図2〜図4のフローチャートを参照
して、分散チェックポイント生成時におけるこれらチェ
ックポイント指示プロセスM、通信制御部11、および
ローカルチェックポイント生成部12による一連の動作
を説明する。図2、図3、図4は、それぞれチェックポ
イント指示プロセスM、通信制御部11、ローカルチェ
ックポイント生成部12のアルゴリズムを示したもので
ある。
【0028】チェックポイント指示プロセスMは、分散
チェックポイント生成時に、関係のあるプロセスP1〜
Pnそれぞれの通信制御部11に対して通信停止指示を
通知して、通信停止を要求する(ステップS11)。
【0029】各プロセスの通信制御部11は、通信制御
指示を待機しており(ステップS21)、通信停止指示
を受けると(ステップS22)、プロセス間通信を停止
する(ステップS2)。そして、チェックポイント指
示プロセスMに対して応答を返して、プロセス間通信を
停止したことを通知する(ステップS24)。
【0030】チェックポイント指示プロセスMは、すべ
ての通信制御部11から応答がかえってくるのを待ち
(ステップS12)、そして、すべての応答がそろった
ところで、各プロセスのローカルチェックポイント生成
部12にローカルチェックポイント生成要求を出す(ス
テップS13)。
【0031】ローカルチェックポイント生成部12は、
ローカルチェックポイント生成要求の発行を待機してお
り(ステップ31)、ローカルチェックポイント生成
要求を受けると、対応するプロセスの通常処理を停止し
(ステップS32)、ローカルチェックポイントの生成
を開始する(ステップS33)。ローカルチェックポイ
ント生成が終了すると、ローカルチェックポイント生成
部12は、通常の処理を再開するとともに通信制御部1
1に対して通信の再開を要求する(ステップS34、S
35)。
【0032】通信制御部11は、通信再開要求を受ける
と(ステップS25)、通信を再開する(ステップS2
6)。さらに、ローカルチェックポイント生成部12
は、チェックポイント指示プロセスMに応答を返して、
ローカルチェックポイント生成終了を通知する(ステッ
プS36)。
【0033】チェックポイント指示プロセスMは、すべ
てのローカルチェックポイント生成部12からの応答を
待機し(ステップS14)、そろった時点で分散チェッ
クポイント生成が完了する。
【0034】このように、実施形態1においては、1相
目でプロセスP1〜Pnそれぞれのプロセス間通信の実
行を停止させる処理が行われ、すべてのプロセス間通信
が停止された事が確認されたときに、2相目で通常処理
も停止させ、各プロセスのチェックポイント生成が開始
される。そして、チェックポイント生成が完了されたプ
ロセス毎にプロセス間通信および通常処理が再開され
る。この場合、チェックポイント生成が開始されるまで
の期間に停止されるのはプロセス間通信だけである。
【0035】このため、各プロセスは、プロセス間通信
を行うステップまでは正常に処理を進めることができ、
プロセス間通信を行うステップまで到着したときに初め
てウェイトステートとなる。また、プロセスがマルチス
レッド環境で動作している場合には、プロセス間通信を
行うスレッドがウェイト状態になっても、プロセス間
に関係しない他のスレッドについては動作可能であ
る。したがって、従来のように各プロセスの全ての動作
を停止した後にチェックポイント生成を開始し、そして
全てのプロセスのチェックポイント生成が終了したとき
に通常処理の再開を各プロセスに指示するplankらの方
法に比べ、プロセス全体の動作停止時間を短縮すること
ができる。
【0036】図5には、実施形態1における2つのプロ
セスP1,P2とチェックポイント指示プロセスMとの
間の動作の関係が模式的に示されている。図5におい
て、com stopは、分散チェックポイント生成処
理の第1相目で、チェックポイント指示プロセスMから
発行される通信停止指示であり、ACKはそれに対する
各プロセスからの応答である。また、CH crcat
eは、分散チェックポイント生成処理の第2相目で、チ
ェックポイント指示プロセスMから発行されるローカル
チェックポイント生成開始指示である。
【0037】したがって、時点AでプロセスP1からP
2へのメッセージm1の送信要求が発生しても、そのメ
ッセージm1の送信は行われず、チェックポイント生成
処理が完了して通常処理および通信が再開された後に、
時点Bでメッセージm1の送信が行われる。
【0038】よって、プロセスP1,P2それぞれのロ
ーカルチェックポイント設定タイミングchの間でそれ
らプロセスP1,P2が通信することがなくなり、一貫
性を保持した状態で分散チェックポイントを生成するこ
とができる。
【0039】また、前述したようにcom stopが
発行されてもプロセスP1,P2はプロセス間通信以外
の処理は実行できるので、通常処理全体が停止される時
間は大幅に短縮される。
【0040】次に、この発明の第2の実施形態に係る分
散チェックポイント生成方法について説明する。図6に
は、第2の実施形態に係る分散チェックポイント生成方
法を適用した分散システムの機能構成が示されている。
この分散システムにおいては、各プロセスP1〜Pnそ
れぞれには、図1の構成に加え、新たにページ管理部1
3が設けられており、またローカルチェックポイント生
成部12は通常処理と並行してローカルチェックポイン
ト生成処理を実行できるように構成されている。
【0041】ページ管理部13は、対応するプロセスの
通常処理でメモリアドレス空間内のどのページに書き込
みが行なわれたかを検出する機能を有しており、前回の
チェックポイントから現在までの間に書き換えられたペ
ージ(ダーティページ)のアドレスを記録するダーティ
ページリストを備える。
【0042】チェックポイント生成部12は、通常の処
理と並行してローカルチェックポイントを生成する機能
により、ダーティページリストに記録されたページのみ
をローカルチェックポイント情報として保存する。これ
により、ローカルチェックポイント生成時間が短縮され
ると共に、分散チェックポイント生成による通常処理お
よびプロセス間通信の停止時間の短縮を図ることができ
る。
【0043】次に、図7および図8のフローチャートを
参照して、実施形態2における分散チェックポイント生
成処理の手順を説明する。ここで、図7、図8は、それ
ぞれローカルチェックポイント生成部12、ページ管理
部13のアルゴリズムを示したものである。また、チェ
ックポイント指示プロセスM、通信制御部11について
は実施形態1と同様の処理を行う。
【0044】ページ管理部13は、対応するプロセスの
処理開始時にオペレーティングシステム(OS)の機能
を使って、アドレス空間を書き込み禁止の状態にする
(ステップS51)。通常処理時にあるページに対する
書き込みが行なわれた場合、OSの機能によりページ保
護違反が発生するため、ページ管理部13はそれを検知
し、そのページのアドレスをダーティページリストに記
録し、その後、そのページを書き込み可にして通常の処
理の書き込みを許可する(ステップS52,S54,S
55)。
【0045】また、ローカルチェックポイント生成部1
2からのダーティページリスト要求に対して、ページ管
理部13は、アドレス空間を書き込み禁止にし(ステッ
プS56)、ダーティページリストの内容を返した後、
ダーティページリストをクリアする(ステップS5
7)。
【0046】ローカルチェックポイント生成部12は、
チェックポイント指示プロセスMからのローカルチェッ
クポイント生成要求を受けて、プロセスの処理を停止す
る(ステップS41,S42)。停止後、ローカルチェ
ックポイント生成部12は、ぺージ管理部13にダーテ
ィページリストを要求し、それを取得する(ステップS
43)。この後、ローカルチェックポイント生成部12
は、ダーティページリストに記録されているページだけ
をローカルチェックポイント情報として保存する処理を
開始し(ステップS44)、ローカルチェックポイント
生成処理の実行(ステップS45)と並行して、通常処
理の再開、および通信制御部11への通信再開要求を行
う(ステップS46,S47)。
【0047】通常の処理と並行して行なったローカルチ
ェックポイント生成が終了した時点で、ローカルチェッ
クポイント生成部12は、チェックポイント指示プロセ
スMに対して応答を返す(ステップS48,S49)。
以上の手順により、通常の処理が停止する期間はダーテ
ィページリストを取得してローカルチェックポイント生
成を開始するまでであり、プロセス間通信およびそれ以
外の通常の処理の停止時間をさらに短縮することができ
る。
【0048】この実施形態2における2つのプロセスP
1,P2とチェックポイント指示プロセスMとの間の動
作の関係は、図9の通りである。図9から分かるよう
に、図5の場合と比べて停止時間が短縮されており、プ
ロセス間通信の遅延も小さくなっている。
【0049】次に、この発明の第3の実施形態に係る分
散チェックポイント生成方法について説明する。実施形
態2では、通常の処理と並行してローカルチェックポイ
ント生成処理を行っている間に通常の処理により書き込
みのあったダーティーページがチェックポイントに保存
されていない場合、そのダーティーページを保存するま
で通常の処理が停止される。そこで、実施形態3では、
未保存のダーティーページに通常の処理からの書き込み
要求が起こった場合、そのダーティーページを優先的に
保存する機能をローカルチェックポイント生成部12に
追加されている。
【0050】図10には、第3の実施形態に係る分散チ
ェックポイント生成方法を適用した分散システムの機能
構成が示されている。この分散システムにおいては、各
プロセスP1〜Pnそれぞれには、図6の実施形態2の
構成に加え、新たに優先保存キュー14が設けられてお
り、ここには優先して保存するページのアドレスが記録
される。
【0051】次に、図11および図12のフローチャー
トを参照して、実施形態3における分散チェックポイン
ト生成処理の手順を説明する。ここで、図11はページ
管理部13のアルゴリズムを示し、図12は図7のステ
ップS45に相当するローカルチェックポイント生成部
12のローカルチェックポイント生成処理のアルゴリズ
ムを示したものである。また、チェックポイント指示プ
ロセスM、通信制御部11については実施形態1,2と
同様の処理を行う。
【0052】ページ管理部13は、対応するプロセスの
処理開始時にオペレーティングシステム(OS)の機能
を使って、アドレス空間を書き込み禁止の状態にする
(ステップS61)。また、ローカルチェックポイント
生成部12からのダーティページリスト要求に対して
は、ページ管理部13は、実施形態2の場合と同様に、
アドレス空間を書き込み禁止にし(ステップS69)、
ダーティページリストの内容を返した後、ダーティペー
ジリストをクリアする(ステップS70)。
【0053】また、通常処理時にあるページに対する書
き込みが行なわれた場合、OSの機能によりページ保護
違反が発生するため、ページ管理部13はそれを検知す
る。保護違反を検知した場合、ページ管理部13は、ロ
ーカルチェックポイント生成部12がローカルチェック
ポイント生成中か否かを調べ(ステップS65)、生成
中ならば、検出したページのアドレスを優先保存キュー
14に記録し(ステップS66)、ローカルチェックポ
イント生成部12からの保存完了通信を待ち(ステップ
S67)、通知を受けた後、検出したページアドレスを
ダーティページリストに記録し、そのページを書き込み
可にする(ステップS68)。一方、ローカルチェック
ポイント生成中でないときは、ページ管理部13は、ス
テップS66、S67は行わず、検出したページアドレ
スをダーティページリストに記録しページを書き込み
可にするのみである(ステップS68)。
【0054】ローカルチェックポイント生成部12は、
ローカルチェックポイント生成中に、未保存ダーティー
ページが無くなった時点で生成を完了する。もし未保存
ダーティーページがあるならば(ステップS71)、優
先保存キュー14にページアドレスが登録されているか
否かを調べ(ステップS72)、あれば、それを優先し
て保存し(ステップS73)、ページ管理部13に保存
完了を通知する(ステップS74)。優先保存キュー1
4にページ情報が存在しない場合は、ダーティページリ
スト内のページを保存する(ステップS75)。
【0055】図13は本実施形態の効果を示したもので
ある。図13(a)の従来の方法は、前述した Plankら
の方法を示したものである。従来方法では、チェックポ
イント生成中に通信および通常の処理の全てが停止する
のに比べて、図13(b)の本実施形態の方法では、通
常処理の停止時間が大幅に短縮されていることがわか
る。また、通常の処理と並行してチェックポイントを生
成することで、通常処理、プロセス間通信ともに停止時
間がさらに短縮されている。
【0056】図14は、本発明の第4の実施形態の構成
を示したものである。図14では、複数の計算機がネッ
トワークで接続されており、これら計算機上には、その
計算機上のプロセスを管理するプロセス管理部PM1,
PM2,…がそれぞれ存在する。また、各プロセスは実
施形態1と同様に通信制御部11とチェックポイント生
成部12を持つ。また、ある計算機上には、複数の計算
機それぞれのプロセス管理部PM1,PM2…それぞれ
にチェックポイント生成要求を発行するシステム管理部
SMが存在する。
【0057】図15はシステム全体のチェックポイント
生成のためのメッセージの流れを示したものである。全
体のプロトコルは2相からなり、1相目でプロセス間通
信を停止し、2相目でローカルチェックポイントを生成
する。また、図16,図17はそれぞれシステム管理部
SM、プロセス管理部PM1,PM2,…の処理の流れ
を示したフローチャートである。なお、通信制御部11
およびチェックポイント生成部12は実施形態1で説明
した図3,4と同様の処理を行う。
【0058】システム管理部SMは各計算機上のプロセ
ス管理部PM1,PM2…に対して、チェックポイント
生成の1相目の要求を行う(ステップS101)。プロ
セス管理部PM1,PM2…の各々は、システム管理部
SMからの要求を待機しており(ステップS111)、
1相目の要求を受け取ると(ステップS112)、同一
計算機内部の対応する各プロセスの通信制御部11にプ
ロセス間通信の停止を要求する(ステップS113)。
各通信制御部11は、プロセス間通信を停止した後、応
答を返して、プロセス間通信を停止したことを通知す
る。
【0059】各プロセス管理部は、対応するすべての通
信制御部11から応答がかえってくるのを待ち(ステッ
プS114)、そして、すべての応答がそろったところ
で、システム管理部SMに対して1相目の要求に対する
応答を返す(ステップS115)。
【0060】システム管理部SMは、全てのプロセス管
理部PM1,PM2…からの応答を待機し(ステップS
102)、すべての応答がそろったところで、各計算機
上のプロセス管理部PM1,PM2…に対して、チェッ
クポイント生成の2相目の要求を行う(ステップS10
3)。
【0061】プロセス管理部PM1,PM2…の各々
は、システム管理部SMからの要求を待機しており(ス
テップS111)、2相目の要求を受け取ると(ステッ
プS116)、同一計算機内部の対応する各プロセスの
ローカルチェックポイント生成部12に対してローカル
チェックポイントの生成を要求する(ステップS11
7)。ローカルチェックポイント生成部12は、ローカ
ルチェックポイント生成要求を受けると、対応するプロ
セスの通常処理を停止し、ローカルチェックポイントの
生成を開始する。そして、ローカルチェックポイント生
成が終了すると、ローカルチェックポイント生成部12
は、通常の処理を再開するとともに通信制御部11に対
して通信の再開を要求する。さらに、ローカルチェック
ポイント生成部12は、プロセス管理部に応答を返し、
ローカルチェックポイントの生成終了を通知する。
【0062】プロセス管理部は、すべてのローカルチェ
ックポイント生成部12からの応答を待機し(ステップ
S118)、そろった時点でシステム管理部SMに対し
て2相目の要求に対する応答を返す(ステップS11
5)。
【0063】システム管理部SMは、全てのプロセス管
理部PM1,PM2…からの応答を待機し(ステップS
104)、すべての応答がそろったところで、チェック
ポイント処理を終了する。
【0064】以上の方法により、分散システム上の複数
のプロセスを効率的に管理し、分散チェックポイント生
成を可能にしている。以下では、各プロセス間通信の停
止方法について説明する。
【0065】各プロセスは通信停止フラグをもち、通信
制御部11は、プロセス管理部からの通信停止要求に対
し、通信停止フラグをセットし、チェックポイント生成
部12からの再開要求に対しては通信停止フラグをリセ
ットする。
【0066】各プロセスがメッセージ送受信、ファイル
入出力を行う場合、オペレーティングシステム(OS)
に対するシステムコールを発行する。これらの通信シス
テムコールを行う際に、上記通信停止フラグがセットさ
れていれば、リセットされるまで待機すればよい。ただ
し、メッセージ送受信に関してはメッセージ送信、ファ
イル入出力に関しては、ファイル出力のみを停止する。
【0067】共有メモリに関しては共有メモリへの書き
込みを禁止する。ただし、メッセージ送受信、ファイル
入出力と異なり、システムコールを発行するのではな
く、通常のメモリアクセスと同様にアクセスされる。そ
のため、通信停止フラグをセットする時点で、OSの提
供する機能により、共有メモリを書き込み禁止にする。
この状態で共有メモリに書き込みが発生すると、ページ
フォールトが発生するため、その処理ルーチンで上記通
信停止フラグがセットされていなければ、書き込み禁止
を解除し、書き込みを許可する。通信停止フラグがセッ
トされていれば、通信フラグがリセットされるまで待機
する。
【0068】また、メッセージ送受信では、メッセージ
送信を行うシステムコールを行っても、実際の送信はO
Sにより遅延されることがある。タイミングの例を図1
8に示す。
【0069】図18(a)は、プロセスAが送信システ
ムコールを発行した後に、チェックポイント生成が開始
され、チェックポイント生成、実際の送信がOS内で行
われ、プロセスBではメッセージを受信した後チェック
ポイントを生成した場合である。この場合、図に示すよ
うに“送信していないが、受信したメッセージ”が存在
するように見える。しかし、実際にチェックポイントか
らリスタートした場合を考えてみると、送信システムコ
ールを発行した後の状態からリスタートするため、破線
で示したタイミングで送られたのと同様の処理になり、
リスタート後には送信も受信も行われないため、矛盾し
た状態にはならない。
【0070】図18(b)では、プロセスAが送信後、
プロセスAとBの両方でチェックポイントが生成され、
その後で実際のメッセージ送信が行われた場合である。
障害が発生して、このチェックポイントからリスタート
した場合、プロセスAはメッセージ送信を完了し、プロ
セスBは受信状態にはいるため、このチェックポイント
は一貫性のないチェックポイントとなる。
【0071】図19は上記の問題を解決する方法を解決
するための処理を示したものである。プロセスAはチェ
ックポイント生成の1相目の応答時にプロセスBに送信
した送信量を通知する。送信量はプロセス管理部、シス
テム管理部を通じて、2相目の要求でプロセスBに通知
される。プロセスBは受信量が通知された送信量のデー
タを受信するまで、ローカルチェックポイント生成を遅
延させる。このような処理により、図18(b)のよう
なタイミングは発生しなくなるため、一貫性のある分散
チェックポイントの生成が可能になる。なお、図19で
は、プロセスA,Bが同一計算機上にある場合である。
異なる計算機上にある場合は、図15に示したプロトコ
ルによって同様の処理が行われる。
【0072】また、OSでは信頼性のあるプロトコルに
基づくメッセージ送受信と信頼性のないプロトコルに基
づくメッセージ送受信を提供していることが多い。すな
わち、前者はメッセージロストがなく、後者はメッセー
ジロストが起こり得るものである。信頼性のあるプロト
コルに対しては、上記の方法により、一貫性のあるチェ
ックポイントを生成すればよい。
【0073】信頼性のないプロトコルに関しても上記の
方法を用いてもよいが、メッセージロストを許している
ため、“送信したが、受信していないメッセージ”の存
在しないことを保証すればよい。そのため、上記の送信
量の交換を行うことなく、単に送信のみを停止してもよ
い。
【0074】図20は、本発明の第5の実施形態の構成
を示したものである。これまでの説明では、1相目です
べてのプロセス間通信を停止し、2相目でローカルチェ
ックポイントの生成を行っていた。しかし、共有メモリ
等の計算機内IPCに関しては、その計算機内でのみ同
期をとればよい。そのため、本実施形態では、各計算機
に計算機内のプロセスの同期をとる計算機内同期部10
1,102…を設け、1相目において、計算機間IPC
を停止し、2相目には最初に計算機内同期部を用いて、
計算機内IPCを停止したのち、ローカルチェックポイ
ントを生成する。これにより、プロセス間通信のうち、
計算機内IPCの停止時間をさらに短縮することができ
る。前述の実施形態4の1相目は計算機間での同期手段
を実現しているものであり、本実施形態5の計算機内同
期部は計算機間の同期に比べて要する時間が短いという
特徴を利用したものである。
【0075】以下、図21〜図23を参照して、この実
施形態5におけるチェックポイント生成処理を説明す
る。図21,22,23は通信制御部、ローカルチェッ
クポイント生成部、計算機内同期部の処理を示したフロ
ーチャートである。
【0076】通信制御部11は、通信制御指示を待機し
(ステップS121)、計算機間IPC停止要求が来た
場合は計算機間IPCを停止し(ステップS123,S
124)、計算機内IPC停止要求の場合は計算機内I
PCを停止し(ステップS125,S126)、通信再
開要求の場合はすべての通信を再開し(ステップS12
7,S128)、そしてそれぞれの処理を終えると、要
求に対する応答を返す(ステップS124)。
【0077】ローカルチェックポイント生成部12はロ
ーカルチェックポイント生成要求を受けて(ステップS
131)、通信制御部11に計算機内IPCの停止要求
をだす(ステップS132)。その後、計算機内同期部
を呼び出し計算機内での同期を行う(ステップS13
3)。その後、通常の処理の停止、ローカルチェックポ
イント生成、通常の処理の再開、通信制御部への通信再
開要求を行い(ステップS134、S135、S13
6、S137)、プロセス管理部に応答を返す(ステッ
プS138)。
【0078】ここで示したローカルチェックポイント生
成部の処理は、プロセスがマルチスレッド環境で動作す
ることを前提としている。すなわち、チェックポイント
生成中にもチェックポイント生成を行っているスレッド
以外のスレッドが動作しているため、計算機内IPCの
停止処理を行っている。しかし、プロセスがシングルス
レッドで動作している場合は、チェックポイント生成中
にはプロセス内の他の処理は行われないため、計算機内
IPCの停止は不必要で、単に計算機内同期部により同
期をとればよい。
【0079】計算機内同期部では、計算機内IPCを行
うプロセスがすべて待機状態に入っているかをチェック
し(ステップS141)、入っていれば待機しているプ
ロセスすべてを再開する(ステップS142)。すべて
のプロセスが待機状態になければ、待機状態に入る(ス
テップS143)。
【0080】図24は本実施形態5の効果を示したもの
である。実施形態5では、1相目で計算機間IPCだけ
を停止し、2相目で計算機内IPCの停止とローカルチ
ェックポイントの生成を行っており、またローカルチェ
ックポイントの生成処理では、実施形態2,3と同様に
ダーティーページの保存を通常処理と並行して行ってい
る。この方法においては、1相目で全てのプロセス間通
信を停止させる実施形態1〜4の方法に比べ、計算機内
IPCの停止時間がさらに短縮される。
【0081】
【発明の効果】以上説明したように、この発明によれ
ば、メッセージ送受信、共有メモリ、ファイル共有等に
よりプロセス間通信を行なう複数のプロセスの分散チェ
ックポイントを生成可能であり、かつ、分散チェックポ
イント生成に伴うプロセスの停止時間の短縮を図ること
ができる。
【図面の簡単な説明】
【図1】この発明の第1の実施形態に係る分散チェック
ポイント生成方法を適用した分散システムの機能構成を
示すブロック図。
【図2】同実施形態1におけるチェックポイント指示プ
ロセスの処理手順を示すフローチャート。
【図3】同実施形態1における通信制御部の処理手順を
示すフローチャート。
【図4】同実施形態1におけるローカルチェックポイン
ト生成部の処理手順を示すフローチャート。
【図5】同実施形態1における2つのプロセスとチェッ
クポイント指示プロセスとの間の動作の関係を模式的に
示す図。
【図6】この発明の第2の実施形態に係る分散チェック
ポイント生成方法を適用した分散システムの機能構成を
示すブロック図。
【図7】同実施形態2におけるローカルチェックポイン
ト生成部の処理手順を示すフローチャート。
【図8】同実施形態2におけるページ管理部の処理手順
を示すフローチャート。
【図9】同実施形態2における2つのプロセスとチェッ
クポイント指示プロセスとの間の動作の関係を模式的に
示す図。
【図10】この発明の第3の実施形態に係る分散チェッ
クポイント生成方法を適用した分散システムの機能構成
を示すブロック図。
【図11】同実施形態3におけるページ管理部の処理手
順を示すフローチャート。
【図12】同実施形態3におけるローカルチェックポイ
ント生成部の処理手順を示すフローチャート。
【図13】実施形態1から3のチェックポイント生成方
法の効果を説明するための図。
【図14】この発明の第4の実施形態に係る分散チェッ
クポイント生成方法を適用した分散システムの機能構成
を示すブロック図。
【図15】同実施形態4におけるシステム管理部とプロ
セス管理部とプロセスとの間の動作の関係を模式的に示
す図。
【図16】同実施形態4におけるシステム管理部の処理
手順を示すフローチャート。
【図17】同実施形態4におけるプロセス管理部の処理
手順を示すフローチャート。
【図18】メッセージ送受信が遅延された場合のタイミ
ング例を示す図。
【図19】遅延送信に対応するための処理の様子を示す
図。
【図20】この発明の第5の実施形態に係る分散チェッ
クポイント生成方法を適用した分散システムの機能構成
を示すブロック図。
【図21】同実施形態5における通信制御部の処理手順
を示すフローチャート。
【図22】同実施形態5におけるローカルチェックポイ
ント生成部の処理手順を示すフローチャート。
【図23】同実施形態5における計算機内同期部の処理
手順を示すフローチャート。
【図24】同実施形態5の効果を説明するための図。
【図25】従来の分散チェックポイント生成のタイミン
グを示す図。
【符号の説明】
M…チェックポイント指示プロセス、P1〜Pn…分散
処理プロセス、SM…システム管理部、PM1,PM2
…プロセス管理部、11…通信制御部、12…ローカル
チェックポイント生成部、13…ページ管理部、14…
優先保存キュー、101…計算機内同期部。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−287858(JP,A) 特開 平7−271620(JP,A) 情報処理 Vol.34 No.11 (1993.11)p.1366−1374 電子情報通信学会誌 Vol.73 N o.11(1990.11)p.1174−1178 (58)調査した分野(Int.Cl.7,DB名) G06F 11/14 G06F 15/16 - 15/177 G06F 9/46 JICSTファイル(JOIS)

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】 分散処理環境下でプロセス間通信を行い
    ながら動作する複数のプロセスのチェックポイントを生
    成するチェックポイント生成方法において、 前記各プロセスの通常処理を継続させた状態で前記各プ
    ロセスのプロセス間通信を停止し、 全てのプロセスがプロセス間通信を停止したとき、前記
    各プロセスのチェックポイントを生成することを特徴と
    するチェックポイント生成方法。
  2. 【請求項2】 分散処理環境下でプロセス間通信を行い
    ながら動作する複数のプロセスのチェックポイントを生
    成するチェックポイント生成方法において、 前記各プロセスの通常処理を継続させた状態で前記各プ
    ロセスにプロセス間通信の停止を指示し、 全てのプロセスのプロセス間通信の停止が確認されたと
    き、前記各プロセスにチェックポイント生成を指示する
    ことを特徴とするチェックポイント生成方法。
  3. 【請求項3】 分散処理環境下でプロセス間通信を行い
    ながら動作する複数のプロセスのチェックポイントを生
    成するチェックポイント生成方法において、 各プロセスは、 プロセス間通信の停止指示を受けて、通常処理を継続さ
    せた状態でプロセス間通信を停止し、 チェックポイントの生成指示を受けて、チェックポイン
    トの生成を開始することを特徴とするチェックポイント
    生成方法。
  4. 【請求項4】 分散処理下でプロセス間通信を行いなが
    ら動作する複数のプロセスのチェックポイントを生成す
    るチェックポイント生成方法において、 前記各プロセスの通常処理を継続させた状態で、前記各
    プロセスの計算機間でのプロセス間通信を停止し、 全てのプロセスが計算機間でのプロセス間通信を停止し
    たとき、前記各プロセスの計算機内でのプロセス間通信
    を停止させた後に、前記各プロセスのチェックポイント
    を生成することを特徴とするチェックポイント生成方法
  5. 【請求項5】 分散処理下でプロセス間通信を行いなが
    ら動作する複数のプロセスのチェックポイントを生成す
    るチェックポイント生成方法において、 前記各プロセスの通常処理を継続させた状態で、前記各
    プロセスに計算機間で行われるプロセス間通信の停止を
    指示し、 全てのプロセスの計算機間でのプロセス間通信の停止が
    確認されたとき、前記各プロセスに、計算機内で行われ
    るプロセス間通信の停止とチェックポイント生成を指示
    することを特徴とするチェックポイント生成方法。
  6. 【請求項6】 分散処理下でプロセス間通信を行いなが
    ら動作する複数のプロセスのチェックポイントを生成す
    るチェックポイント生成方法において、 各プロセスは、 計算機間で行われるプロセス間通信の停止指示を受け
    て、通常処理を継続させた状態で、計算機間でのプロセ
    ス間通信を停止し、 計算機内で行われるプロセス間通信の停止とチェックポ
    イント生成の指示を受けて、計算機内でのプロセス間通
    信を停止し、チェックポイントの生成を開始することを
    特徴とするチェックポイント生成方法。
  7. 【請求項7】 前記チェックポイントの生成処理を、前
    記各プロセスの通常処理を停止した状態で行うことを特
    徴とする請求項1乃至6のいずれか1項記載のチェック
    ポイント生成方法。
  8. 【請求項8】 前記チェックポイント生成処理が終了し
    たプロセス毎に、各プロセスの通常処理およびプロセス
    間通信を再開することを特徴とする請求項7記載のチェ
    ックポイント生成方法。
  9. 【請求項9】 前記各プロセスの通常処理ではその通常
    処理によって書き込みが実行されたダーティーページを
    記録し、 前記各プロセスのチェックポイント生成処理では、前記
    ダーティーページのみを保存する処理と、通常処理とを
    並行して実行することを特徴とする請求項1乃至6のい
    ずれか1項記載のチェックポイント生成方法。
  10. 【請求項10】 前記各プロセスのチェックポイント生
    成処理中に、各プロセスの通常処理によって未保存ダー
    ティーページへのアクセス要求が発生されたとき、前記
    アクセス要求された未保存ダーティーページをそれ以外
    の他のダーティーページよりも優先的に保存することを
    特徴とする請求項9記載のチェックポイント生成方法。
  11. 【請求項11】 複数のプロセスがプロセス間通信を行
    いながら動作する計算機システムにおいて、 プロセス間通信の停止を指示するプロセス間通信停止指
    示を各プロセスに発行し、前記複数のプロセスそれぞれ
    からの前記プロセス間通信停止指示に対する応答が揃っ
    たとき、チェックポイントの生成を指示するチェックポ
    イント生成指示を前記各プロセスに発行するチェックポ
    イント生成指示手段を具備し、 前記各プロセスは、 前記プロセス間通信停止指示を受けて、通常処理を継続
    させた状態でプロセス間通信を停止し、 プロセス間通信が停止されたときに、前記プロセス間通
    信停止指示に対する応答を返し、 前記チェックポイント生成指示を受けてチェックポイン
    トの生成を開始することを特徴とする計算機システム。
  12. 【請求項12】 前記計算機システムを構成する複数の
    計算機のうちの少なくとも一部の各計算機上に設けら
    れ、各計算機上で実行されるプロセスを管理するための
    プロセス管理手段をさらに具備し、 前記チェックポイント生成指示手段は、前記計算機シス
    テムを構成する複数の計算機のうちの少なくとも1つに
    設けられており、前記プロセス間通信停止指示および前
    記チェックポイント生成指示を前記各計算機のプロセス
    管理手段を介して発行することを特徴とする請求項13
    記載の計算機システム。
  13. 【請求項13】 複数のプロセスがプロセス間通信を行
    いながら動作する計算機システムにおいて、 前記プロセス間通信には、計算機間で行われる計算機間
    プロセス間通信と、1計算機内で行われる計算機内プロ
    セス間通信とがあり、 前記計算機間プロセス間通信の停止を指示する計算機間
    プロセス間通信停止指示を各プロセスに発行し、前記複
    数のプロセスそれぞれからの前記計算機間プロセス間通
    信停止指示に対する応答が揃ったとき、チェックポイン
    トの生成を指示するチェックポイント生成指示を前記各
    プロセスに発行し、各プロセスの計算機内でのプロセス
    間通信を停止させるチェックポイント生成指示手段を具
    備し、 前記各プロセスは、 前記計算機間プロセス間通信停止指示を受けて、通常処
    理および計算機内プロセス間通信を継続させた状態で前
    記計算機間プロセス間通信を停止し、 前記計算機間プロセス間通信が停止されたときに、前記
    計算機間プロセス間通信停止指示に対する応答を返し、 前記チェックポイント生成指示を受けて、前記計算機内
    プロセス間通信を停止させた状態でチェックポイントの
    生成を開始することを特徴とする計算機システム。
JP20733996A 1995-09-11 1996-08-06 分散チェックポイント生成方法および同方法が適用される計算機システム Expired - Lifetime JP3154942B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP20733996A JP3154942B2 (ja) 1995-09-11 1996-08-06 分散チェックポイント生成方法および同方法が適用される計算機システム
US08/711,846 US5802267A (en) 1995-09-11 1996-09-10 Method for checkpointing in computer system under distributed processing environment

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP23251795 1995-09-11
JP7-232517 1995-09-11
JP20733996A JP3154942B2 (ja) 1995-09-11 1996-08-06 分散チェックポイント生成方法および同方法が適用される計算機システム

Publications (2)

Publication Number Publication Date
JPH09138754A JPH09138754A (ja) 1997-05-27
JP3154942B2 true JP3154942B2 (ja) 2001-04-09

Family

ID=26516192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20733996A Expired - Lifetime JP3154942B2 (ja) 1995-09-11 1996-08-06 分散チェックポイント生成方法および同方法が適用される計算機システム

Country Status (2)

Country Link
US (1) US5802267A (ja)
JP (1) JP3154942B2 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3258228B2 (ja) * 1996-03-15 2002-02-18 株式会社東芝 チェックポイント生成方法
US6185702B1 (en) * 1997-01-24 2001-02-06 Kabushiki Kaisha Toshiba Method and system for process state management using checkpoints
JP3253883B2 (ja) * 1997-01-31 2002-02-04 株式会社東芝 プロセスリスタート方法及びプロセス監視装置
US6061714A (en) * 1997-05-07 2000-05-09 International Business Machines Corporation Persistent cache synchronization and start up system
JP3077669B2 (ja) * 1997-05-30 2000-08-14 日本電気株式会社 分散メモリ型マルチプロセッサシステムにおけるプロセスの停止方式
US6192391B1 (en) * 1997-05-30 2001-02-20 Nec Corporation Process stop method and apparatus for a distributed memory multi-processor system
US7159005B1 (en) 1998-10-16 2007-01-02 International Business Machines Corporation Methods, systems and computer program products for restartable multiplexed file transfers
US6279041B1 (en) 1998-11-13 2001-08-21 International Business Machines Corporation Methods, systems and computer program products for differencing data communications using a message queue
US6401136B1 (en) 1998-11-13 2002-06-04 International Business Machines Corporation Methods, systems and computer program products for synchronization of queue-to-queue communications
US7065540B2 (en) 1998-11-24 2006-06-20 Oracle International Corporation Managing checkpoint queues in a multiple node system
KR20010037622A (ko) * 1999-10-19 2001-05-15 정선종 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법
US6584581B1 (en) * 1999-12-06 2003-06-24 Ab Initio Software Corporation Continuous flow checkpointing data processing
JP3906010B2 (ja) * 2000-05-26 2007-04-18 株式会社東芝 トランザクション管理装置、トランザクション管理方法及び記録媒体
US6934755B1 (en) 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6854115B1 (en) * 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
JP4242155B2 (ja) * 2001-03-07 2009-03-18 オラクル・インターナショナル・コーポレイション 永続的記憶装置へのダーティデータ項目の書込を調整するための方法、当該方法をコンピュータに行なわせるためのプログラムを格納したコンピュータ読出可能な媒体、および、永続的記憶装置へのダーティデータ項目の書込を調整するための装置
US6834358B2 (en) * 2001-03-28 2004-12-21 Ncr Corporation Restartable database loads using parallel data streams
US7743126B2 (en) * 2001-06-28 2010-06-22 Hewlett-Packard Development Company, L.P. Migrating recovery modules in a distributed computing environment
US7082551B2 (en) * 2001-06-29 2006-07-25 Bull Hn Information Systems Inc. Method and data processing system providing checkpoint/restart across multiple heterogeneous computer systems
US7305582B1 (en) * 2002-08-30 2007-12-04 Availigent, Inc. Consistent asynchronous checkpointing of multithreaded application programs based on active replication
US7206964B2 (en) * 2002-08-30 2007-04-17 Availigent, Inc. Consistent asynchronous checkpointing of multithreaded application programs based on semi-active or passive replication
US7167850B2 (en) * 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7337444B2 (en) * 2003-01-09 2008-02-26 International Business Machines Corporation Method and apparatus for thread-safe handlers for checkpoints and restarts
WO2005050404A2 (en) 2003-11-17 2005-06-02 Virginia Tech Intellectual Properties, Inc. Transparent checkpointing and process migration in a distributed system
US7440553B2 (en) * 2004-02-04 2008-10-21 Samsung Electronics Co., Ltd. Apparatus and method for checkpointing a half-call model in redundant call application nodes
JP4315057B2 (ja) * 2004-06-02 2009-08-19 ソニー株式会社 情報処理装置および情報処理方法、並びに、プログラム
FR2881241B1 (fr) * 2005-01-24 2007-05-04 Meiosys Soc Par Actions Simpli Procede d'optimisation de la journalisation et du rejeu d'application multi-taches dans un systeme informatique mono-processeur ou multi-processeurs
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7516361B2 (en) * 2005-06-27 2009-04-07 Sun Microsystems, Inc. Method for automatic checkpoint of system and application software
US7779295B1 (en) * 2005-06-28 2010-08-17 Symantec Operating Corporation Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints
JP4597888B2 (ja) * 2006-03-23 2010-12-15 富士通株式会社 分散処理方法、マスタサーバ
US8572236B2 (en) 2006-08-10 2013-10-29 Ab Initio Technology Llc Distributing services in graph-based computations
US7937618B2 (en) * 2007-04-26 2011-05-03 International Business Machines Corporation Distributed, fault-tolerant and highly available computing system
CN101821721B (zh) 2007-07-26 2017-04-12 起元技术有限责任公司 具有误差处理的事务型基于图的计算
US8776018B2 (en) * 2008-01-11 2014-07-08 International Business Machines Corporation System and method for restartable provisioning of software components
CA2750279C (en) 2009-02-13 2019-03-26 Ab Initio Technology Llc Managing task execution
US8667329B2 (en) 2009-09-25 2014-03-04 Ab Initio Technology Llc Processing transactions in graph-based applications
US8654650B1 (en) 2010-04-30 2014-02-18 Amazon Technologies, Inc. System and method for determining node staleness in a distributed system
US8458517B1 (en) 2010-04-30 2013-06-04 Amazon Technologies, Inc. System and method for checkpointing state in a distributed system
US8719432B1 (en) 2010-04-30 2014-05-06 Amazon Technologies, Inc. System and method for determining staleness of data received from a distributed lock manager
EP3287896B1 (en) 2010-06-15 2023-04-26 Ab Initio Technology LLC Dynamically loading graph-based computations
JP5419166B2 (ja) * 2010-07-22 2014-02-19 日本電信電話株式会社 チェックポイント作成装置、チェックポイント作成システム、チェックポイント作成方法及びチェックポイント作成プログラム
US8694639B1 (en) 2010-09-21 2014-04-08 Amazon Technologies, Inc. Determining maximum amount of resource allowed to be allocated to client in distributed system
US8984531B2 (en) 2011-06-01 2015-03-17 Microsoft Technology Licensing, Llc Episodic coordination model for distributed applications
US10630566B1 (en) 2012-06-20 2020-04-21 Amazon Technologies, Inc. Tightly-coupled external cluster monitoring
US9578130B1 (en) 2012-06-20 2017-02-21 Amazon Technologies, Inc. Asynchronous and idempotent distributed lock interfaces
US10191959B1 (en) 2012-06-20 2019-01-29 Amazon Technologies, Inc. Versioned read-only snapshots of shared state in distributed computing environments
US10754710B1 (en) 2012-06-20 2020-08-25 Amazon Technologies, Inc. Transactional watch mechanism
US9632828B1 (en) 2012-09-24 2017-04-25 Amazon Technologies, Inc. Computing and tracking client staleness using transaction responses
US9507682B2 (en) 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph performance monitoring
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US9274926B2 (en) 2013-01-03 2016-03-01 Ab Initio Technology Llc Configurable testing of computer programs
US9553951B1 (en) 2013-04-24 2017-01-24 Amazon Technologies, Inc. Semaphores in distributed computing environments
US20160179627A1 (en) * 2013-07-30 2016-06-23 Nec Europe Ltd. Method and system for checkpointing a global state of a distributed system
US9754007B2 (en) 2013-09-16 2017-09-05 International Business Machines Corporation Checkpoint capture and tracking in a high availability system
SG11201604525TA (en) 2013-12-05 2016-07-28 Ab Initio Technology Llc Managing interfaces for dataflow graphs composed of sub-graphs
US9760529B1 (en) 2014-09-17 2017-09-12 Amazon Technologies, Inc. Distributed state manager bootstrapping
US9852221B1 (en) 2015-03-26 2017-12-26 Amazon Technologies, Inc. Distributed state manager jury selection
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
EP3394739B1 (en) 2015-12-21 2020-11-11 AB Initio Technology LLC Sub-graph interface generation
JP6972950B2 (ja) * 2017-11-13 2021-11-24 富士通株式会社 通信装置、通信システム及び通信装置制御方法
WO2019178839A1 (zh) * 2018-03-23 2019-09-26 华为技术有限公司 为分布式应用创建一致性快照的方法、装置和分布式系统
KR20230131017A (ko) * 2022-03-04 2023-09-12 삼성전자주식회사 가속기에 대해 온-디멘드 체크포인트를 수행하는 전자 장치 및 그 동작 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4665520A (en) * 1985-02-01 1987-05-12 International Business Machines Corporation Optimistic recovery in a distributed processing system
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US5065311A (en) * 1987-04-20 1991-11-12 Hitachi, Ltd. Distributed data base system of composite subsystem type, and method fault recovery for the system
JPH02287858A (ja) * 1989-04-28 1990-11-27 Toshiba Corp 分散処理システムのリスタート方式
US5333303A (en) * 1991-03-28 1994-07-26 International Business Machines Corporation Method for providing data availability in a transaction-oriented system during restart after a failure
US5590277A (en) * 1994-06-22 1996-12-31 Lucent Technologies Inc. Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
US5634096A (en) * 1994-10-31 1997-05-27 International Business Machines Corporation Using virtual disks for disk system checkpointing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
情報処理 Vol.34 No.11(1993.11)p.1366−1374
電子情報通信学会誌 Vol.73 No.11(1990.11)p.1174−1178

Also Published As

Publication number Publication date
JPH09138754A (ja) 1997-05-27
US5802267A (en) 1998-09-01

Similar Documents

Publication Publication Date Title
JP3154942B2 (ja) 分散チェックポイント生成方法および同方法が適用される計算機システム
JP3072048B2 (ja) 計算機システムおよび計算機システムのソフトウェア故障回復方法
US5530802A (en) Input sequence reordering method for software failure recovery
US5799305A (en) Method of commitment in a distributed database transaction
EP1116115B1 (en) Protocol for replicated servers
JP3675802B2 (ja) 計算の状態を再構成する方法ならびにシステム
EP2156307B1 (en) Distributed, fault-tolerant and highly available computing system
US5440726A (en) Progressive retry method and apparatus having reusable software modules for software failure recovery in multi-process message-passing applications
US5333314A (en) Distributed data base system of composite subsystem type, and method of fault recovery for the system
CN101377750B (zh) 一种用于机群容错的系统和方法
US7206964B2 (en) Consistent asynchronous checkpointing of multithreaded application programs based on semi-active or passive replication
US5590277A (en) Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
US7062676B2 (en) Method and system for installing program in multiple system
JP3258228B2 (ja) チェックポイント生成方法
US6393583B1 (en) Method of performing checkpoint/restart of a parallel program
US20060294435A1 (en) Method for automatic checkpoint of system and application software
JPH10214199A (ja) プロセスリスタート方法およびプロセスリスタートを実現するためのシステム
GB2256514A (en) Ordered processing of transactions.
KR19990082867A (ko) 갱신 트랜잭션 완성 방법 및 장치
US20110137874A1 (en) Methods to Minimize Communication in a Cluster Database System
US6192443B1 (en) Apparatus for fencing a member of a group of processes in a distributed processing environment
CN114756355B (zh) 一种计算机操作系统的进程自动快速恢复的方法和装置
JPH06274354A (ja) 破壊的なハードウェア動作を制御する方法及びシステム
JP3253473B2 (ja) 二重化された共用メモリの等価性回復処理方法および装置
US6205510B1 (en) Method for fencing a member of a group of processes in a distributed processing environment

Legal Events

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

Free format text: PAYMENT UNTIL: 20080202

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090202

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100202

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100202

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110202

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120202

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140202

Year of fee payment: 13

EXPY Cancellation because of completion of term