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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing 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
でプロセス間通信を行いながら動作する複数のプロセス
それぞれのチェックポイントを生成するチェックポイン
ト生成方法およびそのチェックポイント生成方法が適用
される計算機システムに関する。
ログラム実行の信頼性を高めるために、各種の回復機能
が設けられている。回復機能の1つとして、従来より、
チェックポイントリスタート方法が知られている。この
チェックポイントリスタート方法では、プロセスの実行
の途中の状態からの再実行に必要な情報が定期的に保存
される。この情報を保存する時点をチェックポイントと
呼び、その情報を保存することをチェックポイントの生
成と呼ぶ。障害発生によってプログラム実行が中断され
たとき、その中断されたプロセスの状態は障害発生前の
チェックポイントまでロールバックされ、そのチェック
ポイントから再実行される。
テムにおいては、そのプロセスの途中状態のみのチェッ
クポイントを生成すればよいが、複数のプロセスが互い
にプロセス間通信を行いながら並行して動作する分散シ
ステムでは、チェックポイントは単一のプロセスについ
てとったのみでは不十分である。すなわち、プロセス間
通信によって関係ができた複数のプロセスについて、矛
盾なく再実行できるように、それらのチェックポイント
を生成する必要がある。以降では、プロセス毎に生成さ
れるチェックポイントをローカルチェックポイント、関
係のあるプロセスそれぞれの対応するローカルチェック
ポイントの集合を分散チェックポイントと呼ぶ。
通信手段としては、メッセージ送受信、および共有メモ
リやファイルによるデータ交換がある。メッセージ送受
信はメッセージの送信側と受信側で同期してデータ交換
を行う手段である。共有メモリは複数のプロセス間で共
有されるメモリで、各プロセスから直接読み書きを行う
ことができ、書き込みの結果は他のプロセスからも見る
ことができる。ファイルは複数のプロセスからアクセス
可能であり、あるプロセスがファイルに情報を書き込
み、他のプロセスがそのファイルから情報を読み出すこ
とにより、情報交換を行うことができる。メッセージ送
受信は同期的なプロセス間通信であるのに対して、共有
メモリおよびファイルによる情報交換は非同期的なプロ
セス間通信である。
ス間で通信されるのに対し、メッセージ送受信は異なる
計算機間および同一計算機内のプロセス間通信に使用す
ることができる。ファイルは同一計算機内のプロセス間
で共有可能であり、またネットワークファイルシステム
を利用することにより、異なる計算機間のプロセス間で
も共有でき、計算機間のプロセス間通信に利用すること
もできる。ただし、あるプロセスが書き込んだ情報が即
時に他のプロセスに有効になることを保証しないファイ
ルシステムもある。以下では、計算機間で行われるプロ
セス間通信を計算機間IPC、同一計算機内で行われる
プロセス間通信を計算機内IPCと呼ぶ。
ければならない情報には、以下のものがある。 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”に開示されている。
ードを格納するテキスト領域、実行のためのデータを格
納するデータ領域、実行中の一時変数を格納するための
スタック領域からなる。
イント生成時には、通常の処理を停止後、アドレス空間
の内容を保存する。さらに、通常の処理停止時の実行場
所等を保存するために、ハードウェアレジスタの内容を
保存する。ファイル入出力に関してはオープンしたファ
イルパスおよび通常の処理停止時のファイルの操作位置
をしめすシークポインタを保存する。ローカルチェック
ポイントからの実行再開時には、 1)アドレス空間を回復し、 2)ファイルの再オープンおよびシークポインタをセッ
トし、 3)保存していたハードウェアレジスタの内容をセット
し、実行を再開する。
分散処理を行う複数のプロセスの状態を一貫性を保つよ
うにとらなければならない。メッセージ送受信によるプ
ロセス間通信を行うプロセスの分散チェックポイント生
成例を図25に示す。
p3がそれぞれメッセージ送受信を行いながら処理を進
めている場合における3種類の分散チェックポイントの
タイミングCH1、CH2、CH3の例が示されてい
る。これらタイミングCH1、CH2、CH3はそれぞ
れ同期型のチェックポイント生成タイミングであり、こ
のタイミングはプロセスp1、p2,p3に対してチェ
ックポイント生成を指示する管理プロセスによって与え
られる。また、図25において、記号mはメッセージを
示し、その記号mに付けられた2つの添字はメッセージ
送信側プロセスの番号、受信側プロセスの番号を示す。
セスp1、p2、p3はそれぞれch11、ch12、
ch13でローカルチェックポイントを生成するが、メ
ッセージm32について注目すると、ch13ではプロ
セスp3はまだメッセージを送っていない状態であるに
も関わらず、ch12ではプロセスp2はメッセージを
すでに受けた状態にある。そのため、どれかのプロセス
に障害が発生してCH1までロールバックして再実行を
行なう場合、メッセージm32に関して矛盾した状態に
なる。図25(c)のCH3に関しても、同様にメッセ
ージm23に関して矛盾した状態になる。
は、各メッセージに関して矛盾した状態がなく、ロール
バックおよび再実行を正常に行う事ができる。分散チェ
ックポイントの一貫性を保証するための方式の一つとし
て、文献“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の再送によって一貫性のある障害回復が行われる。ま
た、この方法では、マーカと呼ばれるメッセージをプロ
セス間で送り合う事により、一貫性のある状態の実現を
図っている。これにより、メッセージ送受信を行なうプ
ロセスの分散チェックポイントを一貫性を保持した状態
で生成できる。
のような同期型のプロセス間通信を前提にしており、非
同期的なプロセス間通信である共通メモリやファイルに
よる情報交換には対応できないという問題点がある。
Consistent Checkpointer for Multicomputers, IEEE
Parallel Distrib.Technol., Syst.Appl., Vol.2., No.
2, pp.62-67, Summer 1994”には、Chandyらが提案して
いる方式の他に、2相コミットプロトコルにより同期を
とってローカルチェックポイントを生成する方法を提案
している。この方法では、1相目で関係しているプロセ
ス全てを停止して、メッセージに関する状態がない状態
にし、すべてのプロセスのローカルチェックポイント生
成後、2相目ですべてのプロセスの処理を再開させる。
状態で分散チェックポイントを生成することになる。こ
の方法では、1相目で共有メモリやファイルへのアクセ
スを禁止することにより、メッセージ送受信、共有メモ
リ/ファイルによる情報交換の双方に対応できるが、1
相目で互いに関係するプロセスの全ての処理が停止され
てしまうため、これによってプロセス停止時間が長くな
るという問題がある。
ながら動作する複数のプロセスの分散チェックポイント
を生成する場合、Chandyらの方法では、メッセージ送受
信には対応できるが、共有メモリやファイルによる情報
交換には対応できないという問題点があった。また、 p
lankらの方法では、関係するプロセスの全ての処理を同
期して停止した後にローカルチェックポイントを生成す
るため、分散チェックポイント生成中に通常の処理が完
全に停止してしまうという問題があった。
もので、メッセージ送受信や共有メモリ、ファイル共有
による情報交換を行うプロセスの分散チェックポイント
生成が可能で、かつ、分散チェックポイント生成による
プロセスの停止時間を短縮することができるチェックポ
イント生成方法および計算機システムを提供することを
目的とする。
境下でプロセス間通信を行いながら動作する複数のプロ
セスのチェックポイントを生成するチェックポイント生
成方法において、前記各プロセスの通常処理を継続させ
た状態で前記各プロセスのプロセス間通信を停止し、全
てのプロセスがプロセス間通信を停止したとき、前記各
プロセスのチェックポイントを生成することを特徴とす
る。
は、まず、複数のプロセスそれぞれのプロセス間通信の
実行を停止させる処理が行われ、すべてのプロセス間通
信が停止された事が確認されたときに、通常処理を停止
し、各プロセスのチェックポイント生成が開始される。
そして、チェックポイント生成が終了したプロセス毎に
通常処理およびプロセス間通信が再開される。この場
合、チェックポイント生成が開始されるまでの期間に停
止されるのはプロセス間通信だけである。このため、各
プロセスは、プロセス間通信を行うステップまでは正常
に処理を進めることができ、プロセス間通信を行うステ
ップまで到着したときに初めてウェイトステートとな
る。また、プロセスがマルチスレッド環境で動作してい
る場合には、プロセス間通信を行うスレッドがウェイト
状態になっても、プロセス間通信に関係しない他のスレ
ッドについては動作可能である。したがって、従来のよ
うに各プロセスの全ての動作を停止した後にチェックポ
イント生成を開始する方法に比べ、プロセス全体の動作
停止時間を短縮することができる。
上のプロセス間で行われるプロセス間通信(計算機間I
PC)と同一計算機上のプロセス間で行われるプロセス
間通信(計算機内IPC)とがある。通常、計算機間I
PCを停止するために要する時間に比べ計算機内IPC
を停止するために要する時間の方が短く、また複数の計
算機間で同期をとる処理に比べて、同一計算機内のプロ
セス間で同期をとる処理の方がその同期に要する時間が
短いことを考慮して、プロセス間通信を停止する処理に
おいては、最初にメッセージ送受信等の計算機間IPC
を停止し、その後、共有メモリ等を用いた計算機内IP
Cを停止することが好ましい。これにより、プロセス間
通信の内、計算機内IPCの停止時間を短縮することが
できる。
が行われたダーティーページを記録しておき、各プロセ
スのチェックポイント生成処理では、プロセス毎に前記
記録されているダーティーページのみを保存するチェッ
クポイント生成処理を通常処理と並行して実行すること
が好ましい。これにより、チェックポイント生成処理に
要する時間を短縮できると共に、チェックポイント生成
に伴う通常処理およびプロセス間通信の停止時間も短縮
できるようになる。また、チェックポイント生成処理中
においては、通常処理によってダーティーページに対す
るアクセス要求が発行された時は、そのダーティーペー
ジが保存されるまでそのアクセスの実行が待たされるこ
とになるため、チェックポイント生成処理中に通常処理
によって未保存のダーティーページに対するアクセス要
求が発生した場合は、その部分を優先して保存すること
が好ましい。これにより、そのダーティーページに対す
るアクセス待ちが早く解放され、通常処理の停止時間を
さらに低減できる。
実施の形態について説明する。図1には、この発明の第
1の実施形態に係る分散チェックポイント生成方法を適
用した分散システムの機能構成が示されている。この分
散システムは、複数の計算機から構成されており、それ
ら計算機は互いに協調しながら動作する。それら複数の
計算機上では互いに関係をもった複数のプロセスP1〜
Pnが実行される。これらプロセスP1〜Pnそれぞれ
のチェックポイント生成タイミングは、チェックポイン
ト指示プロセスMによって与えられる。すなわち、ここ
では前述した同期型チェックポイントが採用されてい
る。
分散システムのある計算機上で実行されるものであり、
例えばオペレーティングシステム、またはオペレーティ
ングシステムとは独立したプロセスとして実現されてい
る。チェックポイント指示プロセスMは、プロセスP1
〜Pnに対してローカルチェックポイントの生成タイミ
ングを指示する。チェックポイント生成指示は、例え
ば、数秒間隔で定期的に発行される。
は、2相方式を利用して行われる。1相目では、プロセ
スP1〜Pnそれぞれに対してプロセス間通信の停止指
示が発行される。全てのプロセス間通信の停止が確認さ
れると、2相目で、プロセスP1〜Pnそれぞれに対し
てローカルチェックポイントの生成が指示される。
通信を行いながら動作する。これら各プロセスは、チェ
ックポイント生成制御のための機能として、通信制御部
11、およびローカルチェックポイント生成部12を有
している。
やマイクロカーネル上の通信マネージャとして実現され
るものであり、プロセス間通信の停止および再開を行
う。この場合、プロセス間通信の停止はチェックポイン
ト指示プロセスMからの通信停止指示に応答して行わ
れ、またプロセス間通信の再開はローカルチェックポイ
ント生成部12からの通信再開指示に応答して行われ
る。ローカルチェックポイント生成部12は、チェック
ポイント指示プロセスMからのチェックポイント生成指
示に応答して、対応するプロセスのローカルチェックポ
イントを生成する。
して、分散チェックポイント生成時におけるこれらチェ
ックポイント指示プロセスM、通信制御部11、および
ローカルチェックポイント生成部12による一連の動作
を説明する。図2、図3、図4は、それぞれチェックポ
イント指示プロセスM、通信制御部11、ローカルチェ
ックポイント生成部12のアルゴリズムを示したもので
ある。
チェックポイント生成時に、関係のあるプロセスP1〜
Pnそれぞれの通信制御部11に対して通信停止指示を
通知して、通信停止を要求する(ステップS11)。
指示を待機しており(ステップS21)、通信停止指示
を受けると(ステップS22)、プロセス間通信を停止
する(ステップS23)。そして、チェックポイント指
示プロセスMに対して応答を返して、プロセス間通信を
停止したことを通知する(ステップS24)。
ての通信制御部11から応答がかえってくるのを待ち
(ステップS12)、そして、すべての応答がそろった
ところで、各プロセスのローカルチェックポイント生成
部12にローカルチェックポイント生成要求を出す(ス
テップS13)。
ローカルチェックポイント生成要求の発行を待機してお
り(ステップS31)、ローカルチェックポイント生成
要求を受けると、対応するプロセスの通常処理を停止し
(ステップS32)、ローカルチェックポイントの生成
を開始する(ステップS33)。ローカルチェックポイ
ント生成が終了すると、ローカルチェックポイント生成
部12は、通常の処理を再開するとともに通信制御部1
1に対して通信の再開を要求する(ステップS34、S
35)。
と(ステップS25)、通信を再開する(ステップS2
6)。さらに、ローカルチェックポイント生成部12
は、チェックポイント指示プロセスMに応答を返して、
ローカルチェックポイント生成終了を通知する(ステッ
プS36)。
てのローカルチェックポイント生成部12からの応答を
待機し(ステップS14)、そろった時点で分散チェッ
クポイント生成が完了する。
目でプロセスP1〜Pnそれぞれのプロセス間通信の実
行を停止させる処理が行われ、すべてのプロセス間通信
が停止された事が確認されたときに、2相目で通常処理
も停止させ、各プロセスのチェックポイント生成が開始
される。そして、チェックポイント生成が完了されたプ
ロセス毎にプロセス間通信および通常処理が再開され
る。この場合、チェックポイント生成が開始されるまで
の期間に停止されるのはプロセス間通信だけである。
を行うステップまでは正常に処理を進めることができ、
プロセス間通信を行うステップまで到着したときに初め
てウェイトステートとなる。また、プロセスがマルチス
レッド環境で動作している場合には、プロセス間通信を
行うスレッドがウェイト状態になっても、プロセス間通
信に関係しない他のスレッドについては動作可能であ
る。したがって、従来のように各プロセスの全ての動作
を停止した後にチェックポイント生成を開始し、そして
全てのプロセスのチェックポイント生成が終了したとき
に通常処理の再開を各プロセスに指示するplankらの方
法に比べ、プロセス全体の動作停止時間を短縮すること
ができる。
セスP1,P2とチェックポイント指示プロセスMとの
間の動作の関係が模式的に示されている。図5におい
て、com stopは、分散チェックポイント生成処
理の第1相目で、チェックポイント指示プロセスMから
発行される通信停止指示であり、ACKはそれに対する
各プロセスからの応答である。また、CH crcat
eは、分散チェックポイント生成処理の第2相目で、チ
ェックポイント指示プロセスMから発行されるローカル
チェックポイント生成開始指示である。
2へのメッセージm1の送信要求が発生しても、そのメ
ッセージm1の送信は行われず、チェックポイント生成
処理が完了して通常処理および通信が再開された後に、
時点Bでメッセージm1の送信が行われる。
ーカルチェックポイント設定タイミングchの間でそれ
らプロセスP1,P2が通信することがなくなり、一貫
性を保持した状態で分散チェックポイントを生成するこ
とができる。
発行されてもプロセスP1,P2はプロセス間通信以外
の処理は実行できるので、通常処理全体が停止される時
間は大幅に短縮される。
散チェックポイント生成方法について説明する。図6に
は、第2の実施形態に係る分散チェックポイント生成方
法を適用した分散システムの機能構成が示されている。
この分散システムにおいては、各プロセスP1〜Pnそ
れぞれには、図1の構成に加え、新たにページ管理部1
3が設けられており、またローカルチェックポイント生
成部12は通常処理と並行してローカルチェックポイン
ト生成処理を実行できるように構成されている。
通常処理でメモリアドレス空間内のどのページに書き込
みが行なわれたかを検出する機能を有しており、前回の
チェックポイントから現在までの間に書き換えられたペ
ージ(ダーティページ)のアドレスを記録するダーティ
ページリストを備える。
理と並行してローカルチェックポイントを生成する機能
により、ダーティページリストに記録されたページのみ
をローカルチェックポイント情報として保存する。これ
により、ローカルチェックポイント生成時間が短縮され
ると共に、分散チェックポイント生成による通常処理お
よびプロセス間通信の停止時間の短縮を図ることができ
る。
参照して、実施形態2における分散チェックポイント生
成処理の手順を説明する。ここで、図7、図8は、それ
ぞれローカルチェックポイント生成部12、ページ管理
部13のアルゴリズムを示したものである。また、チェ
ックポイント指示プロセスM、通信制御部11について
は実施形態1と同様の処理を行う。
処理開始時にオペレーティングシステム(OS)の機能
を使って、アドレス空間を書き込み禁止の状態にする
(ステップS51)。通常処理時にあるページに対する
書き込みが行なわれた場合、OSの機能によりページ保
護違反が発生するため、ページ管理部13はそれを検知
し、そのページのアドレスをダーティページリストに記
録し、その後、そのページを書き込み可にして通常の処
理の書き込みを許可する(ステップS52,S54,S
55)。
2からのダーティページリスト要求に対して、ページ管
理部13は、アドレス空間を書き込み禁止にし(ステッ
プS56)、ダーティページリストの内容を返した後、
ダーティページリストをクリアする(ステップS5
7)。
チェックポイント指示プロセスMからのローカルチェッ
クポイント生成要求を受けて、プロセスの処理を停止す
る(ステップS41,S42)。停止後、ローカルチェ
ックポイント生成部12は、ぺージ管理部13にダーテ
ィページリストを要求し、それを取得する(ステップS
43)。この後、ローカルチェックポイント生成部12
は、ダーティページリストに記録されているページだけ
をローカルチェックポイント情報として保存する処理を
開始し(ステップS44)、ローカルチェックポイント
生成処理の実行(ステップS45)と並行して、通常処
理の再開、および通信制御部11への通信再開要求を行
う(ステップS46,S47)。
ェックポイント生成が終了した時点で、ローカルチェッ
クポイント生成部12は、チェックポイント指示プロセ
スMに対して応答を返す(ステップS48,S49)。
以上の手順により、通常の処理が停止する期間はダーテ
ィページリストを取得してローカルチェックポイント生
成を開始するまでであり、プロセス間通信およびそれ以
外の通常の処理の停止時間をさらに短縮することができ
る。
1,P2とチェックポイント指示プロセスMとの間の動
作の関係は、図9の通りである。図9から分かるよう
に、図5の場合と比べて停止時間が短縮されており、プ
ロセス間通信の遅延も小さくなっている。
散チェックポイント生成方法について説明する。実施形
態2では、通常の処理と並行してローカルチェックポイ
ント生成処理を行っている間に通常の処理により書き込
みのあったダーティーページがチェックポイントに保存
されていない場合、そのダーティーページを保存するま
で通常の処理が停止される。そこで、実施形態3では、
未保存のダーティーページに通常の処理からの書き込み
要求が起こった場合、そのダーティーページを優先的に
保存する機能をローカルチェックポイント生成部12に
追加されている。
ェックポイント生成方法を適用した分散システムの機能
構成が示されている。この分散システムにおいては、各
プロセスP1〜Pnそれぞれには、図6の実施形態2の
構成に加え、新たに優先保存キュー14が設けられてお
り、ここには優先して保存するページのアドレスが記録
される。
トを参照して、実施形態3における分散チェックポイン
ト生成処理の手順を説明する。ここで、図11はページ
管理部13のアルゴリズムを示し、図12は図7のステ
ップS45に相当するローカルチェックポイント生成部
12のローカルチェックポイント生成処理のアルゴリズ
ムを示したものである。また、チェックポイント指示プ
ロセスM、通信制御部11については実施形態1,2と
同様の処理を行う。
処理開始時にオペレーティングシステム(OS)の機能
を使って、アドレス空間を書き込み禁止の状態にする
(ステップS61)。また、ローカルチェックポイント
生成部12からのダーティページリスト要求に対して
は、ページ管理部13は、実施形態2の場合と同様に、
アドレス空間を書き込み禁止にし(ステップS69)、
ダーティページリストの内容を返した後、ダーティペー
ジリストをクリアする(ステップS70)。
き込みが行なわれた場合、OSの機能によりページ保護
違反が発生するため、ページ管理部13はそれを検知す
る。保護違反を検知した場合、ページ管理部13は、ロ
ーカルチェックポイント生成部12がローカルチェック
ポイント生成中か否かを調べ(ステップS65)、生成
中ならば、検出したページのアドレスを優先保存キュー
14に記録し(ステップS66)、ローカルチェックポ
イント生成部12からの保存完了通信を待ち(ステップ
S67)、通知を受けた後、検出したページアドレスを
ダーティページリストに記録し、そのページを書き込み
可にする(ステップS68)。一方、ローカルチェック
ポイント生成中でないときは、ページ管理部13は、ス
テップS66、S67は行わず、検出したページアドレ
スをダーティページリストに記録し、ページを書き込み
可にするのみである(ステップS68)。
ローカルチェックポイント生成中に、未保存ダーティー
ページが無くなった時点で生成を完了する。もし未保存
ダーティーページがあるならば(ステップS71)、優
先保存キュー14にページアドレスが登録されているか
否かを調べ(ステップS72)、あれば、それを優先し
て保存し(ステップS73)、ページ管理部13に保存
完了を通知する(ステップS74)。優先保存キュー1
4にページ情報が存在しない場合は、ダーティページリ
スト内のページを保存する(ステップS75)。
ある。図13(a)の従来の方法は、前述した Plankら
の方法を示したものである。従来方法では、チェックポ
イント生成中に通信および通常の処理の全てが停止する
のに比べて、図13(b)の本実施形態の方法では、通
常処理の停止時間が大幅に短縮されていることがわか
る。また、通常の処理と並行してチェックポイントを生
成することで、通常処理、プロセス間通信ともに停止時
間がさらに短縮されている。
を示したものである。図14では、複数の計算機がネッ
トワークで接続されており、これら計算機上には、その
計算機上のプロセスを管理するプロセス管理部PM1,
PM2,…がそれぞれ存在する。また、各プロセスは実
施形態1と同様に通信制御部11とチェックポイント生
成部12を持つ。また、ある計算機上には、複数の計算
機それぞれのプロセス管理部PM1,PM2…それぞれ
にチェックポイント生成要求を発行するシステム管理部
SMが存在する。
生成のためのメッセージの流れを示したものである。全
体のプロトコルは2相からなり、1相目でプロセス間通
信を停止し、2相目でローカルチェックポイントを生成
する。また、図16,図17はそれぞれシステム管理部
SM、プロセス管理部PM1,PM2,…の処理の流れ
を示したフローチャートである。なお、通信制御部11
およびチェックポイント生成部12は実施形態1で説明
した図3,4と同様の処理を行う。
ス管理部PM1,PM2…に対して、チェックポイント
生成の1相目の要求を行う(ステップS101)。プロ
セス管理部PM1,PM2…の各々は、システム管理部
SMからの要求を待機しており(ステップS111)、
1相目の要求を受け取ると(ステップS112)、同一
計算機内部の対応する各プロセスの通信制御部11にプ
ロセス間通信の停止を要求する(ステップS113)。
各通信制御部11は、プロセス間通信を停止した後、応
答を返して、プロセス間通信を停止したことを通知す
る。
信制御部11から応答がかえってくるのを待ち(ステッ
プS114)、そして、すべての応答がそろったところ
で、システム管理部SMに対して1相目の要求に対する
応答を返す(ステップS115)。
理部PM1,PM2…からの応答を待機し(ステップS
102)、すべての応答がそろったところで、各計算機
上のプロセス管理部PM1,PM2…に対して、チェッ
クポイント生成の2相目の要求を行う(ステップS10
3)。
は、システム管理部SMからの要求を待機しており(ス
テップS111)、2相目の要求を受け取ると(ステッ
プS116)、同一計算機内部の対応する各プロセスの
ローカルチェックポイント生成部12に対してローカル
チェックポイントの生成を要求する(ステップS11
7)。ローカルチェックポイント生成部12は、ローカ
ルチェックポイント生成要求を受けると、対応するプロ
セスの通常処理を停止し、ローカルチェックポイントの
生成を開始する。そして、ローカルチェックポイント生
成が終了すると、ローカルチェックポイント生成部12
は、通常の処理を再開するとともに通信制御部11に対
して通信の再開を要求する。さらに、ローカルチェック
ポイント生成部12は、プロセス管理部に応答を返し、
ローカルチェックポイントの生成終了を通知する。
ックポイント生成部12からの応答を待機し(ステップ
S118)、そろった時点でシステム管理部SMに対し
て2相目の要求に対する応答を返す(ステップS11
5)。
理部PM1,PM2…からの応答を待機し(ステップS
104)、すべての応答がそろったところで、チェック
ポイント処理を終了する。
のプロセスを効率的に管理し、分散チェックポイント生
成を可能にしている。以下では、各プロセス間通信の停
止方法について説明する。
制御部11は、プロセス管理部からの通信停止要求に対
し、通信停止フラグをセットし、チェックポイント生成
部12からの再開要求に対しては通信停止フラグをリセ
ットする。
入出力を行う場合、オペレーティングシステム(OS)
に対するシステムコールを発行する。これらの通信シス
テムコールを行う際に、上記通信停止フラグがセットさ
れていれば、リセットされるまで待機すればよい。ただ
し、メッセージ送受信に関してはメッセージ送信、ファ
イル入出力に関しては、ファイル出力のみを停止する。
込みを禁止する。ただし、メッセージ送受信、ファイル
入出力と異なり、システムコールを発行するのではな
く、通常のメモリアクセスと同様にアクセスされる。そ
のため、通信停止フラグをセットする時点で、OSの提
供する機能により、共有メモリを書き込み禁止にする。
この状態で共有メモリに書き込みが発生すると、ページ
フォールトが発生するため、その処理ルーチンで上記通
信停止フラグがセットされていなければ、書き込み禁止
を解除し、書き込みを許可する。通信停止フラグがセッ
トされていれば、通信フラグがリセットされるまで待機
する。
送信を行うシステムコールを行っても、実際の送信はO
Sにより遅延されることがある。タイミングの例を図1
8に示す。
ムコールを発行した後に、チェックポイント生成が開始
され、チェックポイント生成、実際の送信がOS内で行
われ、プロセスBではメッセージを受信した後チェック
ポイントを生成した場合である。この場合、図に示すよ
うに“送信していないが、受信したメッセージ”が存在
するように見える。しかし、実際にチェックポイントか
らリスタートした場合を考えてみると、送信システムコ
ールを発行した後の状態からリスタートするため、破線
で示したタイミングで送られたのと同様の処理になり、
リスタート後には送信も受信も行われないため、矛盾し
た状態にはならない。
プロセスAとBの両方でチェックポイントが生成され、
その後で実際のメッセージ送信が行われた場合である。
障害が発生して、このチェックポイントからリスタート
した場合、プロセスAはメッセージ送信を完了し、プロ
セスBは受信状態にはいるため、このチェックポイント
は一貫性のないチェックポイントとなる。
するための処理を示したものである。プロセスAはチェ
ックポイント生成の1相目の応答時にプロセスBに送信
した送信量を通知する。送信量はプロセス管理部、シス
テム管理部を通じて、2相目の要求でプロセスBに通知
される。プロセスBは受信量が通知された送信量のデー
タを受信するまで、ローカルチェックポイント生成を遅
延させる。このような処理により、図18(b)のよう
なタイミングは発生しなくなるため、一貫性のある分散
チェックポイントの生成が可能になる。なお、図19で
は、プロセスA,Bが同一計算機上にある場合である。
異なる計算機上にある場合は、図15に示したプロトコ
ルによって同様の処理が行われる。
基づくメッセージ送受信と信頼性のないプロトコルに基
づくメッセージ送受信を提供していることが多い。すな
わち、前者はメッセージロストがなく、後者はメッセー
ジロストが起こり得るものである。信頼性のあるプロト
コルに対しては、上記の方法により、一貫性のあるチェ
ックポイントを生成すればよい。
方法を用いてもよいが、メッセージロストを許している
ため、“送信したが、受信していないメッセージ”の存
在しないことを保証すればよい。そのため、上記の送信
量の交換を行うことなく、単に送信のみを停止してもよ
い。
を示したものである。これまでの説明では、1相目です
べてのプロセス間通信を停止し、2相目でローカルチェ
ックポイントの生成を行っていた。しかし、共有メモリ
等の計算機内IPCに関しては、その計算機内でのみ同
期をとればよい。そのため、本実施形態では、各計算機
に計算機内のプロセスの同期をとる計算機内同期部10
1,102…を設け、1相目において、計算機間IPC
を停止し、2相目には最初に計算機内同期部を用いて、
計算機内IPCを停止したのち、ローカルチェックポイ
ントを生成する。これにより、プロセス間通信のうち、
計算機内IPCの停止時間をさらに短縮することができ
る。前述の実施形態4の1相目は計算機間での同期手段
を実現しているものであり、本実施形態5の計算機内同
期部は計算機間の同期に比べて要する時間が短いという
特徴を利用したものである。
施形態5におけるチェックポイント生成処理を説明す
る。図21,22,23は通信制御部、ローカルチェッ
クポイント生成部、計算機内同期部の処理を示したフロ
ーチャートである。
(ステップS121)、計算機間IPC停止要求が来た
場合は計算機間IPCを停止し(ステップS123,S
124)、計算機内IPC停止要求の場合は計算機内I
PCを停止し(ステップS125,S126)、通信再
開要求の場合はすべての通信を再開し(ステップS12
7,S128)、そしてそれぞれの処理を終えると、要
求に対する応答を返す(ステップS124)。
ーカルチェックポイント生成要求を受けて(ステップS
131)、通信制御部11に計算機内IPCの停止要求
をだす(ステップS132)。その後、計算機内同期部
を呼び出し計算機内での同期を行う(ステップS13
3)。その後、通常の処理の停止、ローカルチェックポ
イント生成、通常の処理の再開、通信制御部への通信再
開要求を行い(ステップS134、S135、S13
6、S137)、プロセス管理部に応答を返す(ステッ
プS138)。
成部の処理は、プロセスがマルチスレッド環境で動作す
ることを前提としている。すなわち、チェックポイント
生成中にもチェックポイント生成を行っているスレッド
以外のスレッドが動作しているため、計算機内IPCの
停止処理を行っている。しかし、プロセスがシングルス
レッドで動作している場合は、チェックポイント生成中
にはプロセス内の他の処理は行われないため、計算機内
IPCの停止は不必要で、単に計算機内同期部により同
期をとればよい。
うプロセスがすべて待機状態に入っているかをチェック
し(ステップS141)、入っていれば待機しているプ
ロセスすべてを再開する(ステップS142)。すべて
のプロセスが待機状態になければ、待機状態に入る(ス
テップS143)。
である。実施形態5では、1相目で計算機間IPCだけ
を停止し、2相目で計算機内IPCの停止とローカルチ
ェックポイントの生成を行っており、またローカルチェ
ックポイントの生成処理では、実施形態2,3と同様に
ダーティーページの保存を通常処理と並行して行ってい
る。この方法においては、1相目で全てのプロセス間通
信を停止させる実施形態1〜4の方法に比べ、計算機内
IPCの停止時間がさらに短縮される。
ば、メッセージ送受信、共有メモリ、ファイル共有等に
よりプロセス間通信を行なう複数のプロセスの分散チェ
ックポイントを生成可能であり、かつ、分散チェックポ
イント生成に伴うプロセスの停止時間の短縮を図ること
ができる。
ポイント生成方法を適用した分散システムの機能構成を
示すブロック図。
ロセスの処理手順を示すフローチャート。
示すフローチャート。
ト生成部の処理手順を示すフローチャート。
クポイント指示プロセスとの間の動作の関係を模式的に
示す図。
ポイント生成方法を適用した分散システムの機能構成を
示すブロック図。
ト生成部の処理手順を示すフローチャート。
を示すフローチャート。
クポイント指示プロセスとの間の動作の関係を模式的に
示す図。
クポイント生成方法を適用した分散システムの機能構成
を示すブロック図。
順を示すフローチャート。
ント生成部の処理手順を示すフローチャート。
法の効果を説明するための図。
クポイント生成方法を適用した分散システムの機能構成
を示すブロック図。
セス管理部とプロセスとの間の動作の関係を模式的に示
す図。
手順を示すフローチャート。
手順を示すフローチャート。
ング例を示す図。
図。
クポイント生成方法を適用した分散システムの機能構成
を示すブロック図。
を示すフローチャート。
ント生成部の処理手順を示すフローチャート。
手順を示すフローチャート。
グを示す図。
処理プロセス、SM…システム管理部、PM1,PM2
…プロセス管理部、11…通信制御部、12…ローカル
チェックポイント生成部、13…ページ管理部、14…
優先保存キュー、101…計算機内同期部。
Claims (13)
- 【請求項1】 分散処理環境下でプロセス間通信を行い
ながら動作する複数のプロセスのチェックポイントを生
成するチェックポイント生成方法において、 前記各プロセスの通常処理を継続させた状態で前記各プ
ロセスのプロセス間通信を停止し、 全てのプロセスがプロセス間通信を停止したとき、前記
各プロセスのチェックポイントを生成することを特徴と
するチェックポイント生成方法。 - 【請求項2】 分散処理環境下でプロセス間通信を行い
ながら動作する複数のプロセスのチェックポイントを生
成するチェックポイント生成方法において、 前記各プロセスの通常処理を継続させた状態で前記各プ
ロセスにプロセス間通信の停止を指示し、 全てのプロセスのプロセス間通信の停止が確認されたと
き、前記各プロセスにチェックポイント生成を指示する
ことを特徴とするチェックポイント生成方法。 - 【請求項3】 分散処理環境下でプロセス間通信を行い
ながら動作する複数のプロセスのチェックポイントを生
成するチェックポイント生成方法において、 各プロセスは、 プロセス間通信の停止指示を受けて、通常処理を継続さ
せた状態でプロセス間通信を停止し、 チェックポイントの生成指示を受けて、チェックポイン
トの生成を開始することを特徴とするチェックポイント
生成方法。 - 【請求項4】 分散処理下でプロセス間通信を行いなが
ら動作する複数のプロセスのチェックポイントを生成す
るチェックポイント生成方法において、 前記各プロセスの通常処理を継続させた状態で、前記各
プロセスの計算機間でのプロセス間通信を停止し、 全てのプロセスが計算機間でのプロセス間通信を停止し
たとき、前記各プロセスの計算機内でのプロセス間通信
を停止させた後に、前記各プロセスのチェックポイント
を生成することを特徴とするチェックポイント生成方法 - 【請求項5】 分散処理下でプロセス間通信を行いなが
ら動作する複数のプロセスのチェックポイントを生成す
るチェックポイント生成方法において、 前記各プロセスの通常処理を継続させた状態で、前記各
プロセスに計算機間で行われるプロセス間通信の停止を
指示し、 全てのプロセスの計算機間でのプロセス間通信の停止が
確認されたとき、前記各プロセスに、計算機内で行われ
るプロセス間通信の停止とチェックポイント生成を指示
することを特徴とするチェックポイント生成方法。 - 【請求項6】 分散処理下でプロセス間通信を行いなが
ら動作する複数のプロセスのチェックポイントを生成す
るチェックポイント生成方法において、 各プロセスは、 計算機間で行われるプロセス間通信の停止指示を受け
て、通常処理を継続させた状態で、計算機間でのプロセ
ス間通信を停止し、 計算機内で行われるプロセス間通信の停止とチェックポ
イント生成の指示を受けて、計算機内でのプロセス間通
信を停止し、チェックポイントの生成を開始することを
特徴とするチェックポイント生成方法。 - 【請求項7】 前記チェックポイントの生成処理を、前
記各プロセスの通常処理を停止した状態で行うことを特
徴とする請求項1乃至6のいずれか1項記載のチェック
ポイント生成方法。 - 【請求項8】 前記チェックポイント生成処理が終了し
たプロセス毎に、各プロセスの通常処理およびプロセス
間通信を再開することを特徴とする請求項7記載のチェ
ックポイント生成方法。 - 【請求項9】 前記各プロセスの通常処理ではその通常
処理によって書き込みが実行されたダーティーページを
記録し、 前記各プロセスのチェックポイント生成処理では、前記
ダーティーページのみを保存する処理と、通常処理とを
並行して実行することを特徴とする請求項1乃至6のい
ずれか1項記載のチェックポイント生成方法。 - 【請求項10】 前記各プロセスのチェックポイント生
成処理中に、各プロセスの通常処理によって未保存ダー
ティーページへのアクセス要求が発生されたとき、前記
アクセス要求された未保存ダーティーページをそれ以外
の他のダーティーページよりも優先的に保存することを
特徴とする請求項9記載のチェックポイント生成方法。 - 【請求項11】 複数のプロセスがプロセス間通信を行
いながら動作する計算機システムにおいて、 プロセス間通信の停止を指示するプロセス間通信停止指
示を各プロセスに発行し、前記複数のプロセスそれぞれ
からの前記プロセス間通信停止指示に対する応答が揃っ
たとき、チェックポイントの生成を指示するチェックポ
イント生成指示を前記各プロセスに発行するチェックポ
イント生成指示手段を具備し、 前記各プロセスは、 前記プロセス間通信停止指示を受けて、通常処理を継続
させた状態でプロセス間通信を停止し、 プロセス間通信が停止されたときに、前記プロセス間通
信停止指示に対する応答を返し、 前記チェックポイント生成指示を受けてチェックポイン
トの生成を開始することを特徴とする計算機システム。 - 【請求項12】 前記計算機システムを構成する複数の
計算機のうちの少なくとも一部の各計算機上に設けら
れ、各計算機上で実行されるプロセスを管理するための
プロセス管理手段をさらに具備し、 前記チェックポイント生成指示手段は、前記計算機シス
テムを構成する複数の計算機のうちの少なくとも1つに
設けられており、前記プロセス間通信停止指示および前
記チェックポイント生成指示を前記各計算機のプロセス
管理手段を介して発行することを特徴とする請求項13
記載の計算機システム。 - 【請求項13】 複数のプロセスがプロセス間通信を行
いながら動作する計算機システムにおいて、 前記プロセス間通信には、計算機間で行われる計算機間
プロセス間通信と、1計算機内で行われる計算機内プロ
セス間通信とがあり、 前記計算機間プロセス間通信の停止を指示する計算機間
プロセス間通信停止指示を各プロセスに発行し、前記複
数のプロセスそれぞれからの前記計算機間プロセス間通
信停止指示に対する応答が揃ったとき、チェックポイン
トの生成を指示するチェックポイント生成指示を前記各
プロセスに発行し、各プロセスの計算機内でのプロセス
間通信を停止させるチェックポイント生成指示手段を具
備し、 前記各プロセスは、 前記計算機間プロセス間通信停止指示を受けて、通常処
理および計算機内プロセス間通信を継続させた状態で前
記計算機間プロセス間通信を停止し、 前記計算機間プロセス間通信が停止されたときに、前記
計算機間プロセス間通信停止指示に対する応答を返し、 前記チェックポイント生成指示を受けて、前記計算機内
プロセス間通信を停止させた状態でチェックポイントの
生成を開始することを特徴とする計算機システム。
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)
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)
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 |
-
1996
- 1996-08-06 JP JP20733996A patent/JP3154942B2/ja not_active Expired - Lifetime
- 1996-09-10 US US08/711,846 patent/US5802267A/en not_active Expired - Lifetime
Non-Patent Citations (2)
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 |