JP3122371B2 - Computer system - Google Patents

Computer system

Info

Publication number
JP3122371B2
JP3122371B2 JP08251041A JP25104196A JP3122371B2 JP 3122371 B2 JP3122371 B2 JP 3122371B2 JP 08251041 A JP08251041 A JP 08251041A JP 25104196 A JP25104196 A JP 25104196A JP 3122371 B2 JP3122371 B2 JP 3122371B2
Authority
JP
Japan
Prior art keywords
checkpoint
processor
processing
computer system
dedicated
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
JP08251041A
Other languages
Japanese (ja)
Other versions
JPH09269905A (en
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 JP08251041A priority Critical patent/JP3122371B2/en
Publication of JPH09269905A publication Critical patent/JPH09269905A/en
Application granted granted Critical
Publication of JP3122371B2 publication Critical patent/JP3122371B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、チェックポイント
リスタート機能を備えた計算機システムに係り、チェッ
クポイント処理専用プロセスを設けることにより、リス
タート時のロックランアウト処理を不要にし構築コスト
を大幅に低減させる計算機システムに関する。また、本
発明は、チェックポイントリスタート機能を備えたマル
チプロセッサシステムにおいて一部のプロセッサに故障
が発生した場合にも残りのプロセッサで処理を継続させ
る計算機システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system having a checkpoint restart function. By providing a process dedicated to checkpoint processing, lock runout processing at the time of restart is not required and construction cost is greatly reduced. To a computer system that causes Further, the present invention relates to a computer system in which, even if a failure occurs in some of the processors in a multiprocessor system having a checkpoint restart function, the remaining processors continue processing.

【0002】[0002]

【従来の技術】例えば、通常時にはチェックポイントを
取得しながら処理を進め、障害が発生した場合には最後
に取得したチェックポイントからシステムを再実行させ
ることによって、故障からの回復を行なう従来の計算機
システムについて説明する。
2. Description of the Related Art For example, a conventional computer that recovers from a failure by performing processing while acquiring checkpoints during normal times and re-executing the system from the last acquired checkpoint when a failure occurs. The system will be described.

【0003】この計算機システムにおいては、通常稼働
中においてはシステムのチェックポイントを取得しなが
ら処理を進めていく。そして、故障などが発生した場合
においては、最後に取得したチェックポイントからシス
テムを再実行させることによって、故障からの回復を行
なう。
In this computer system, during normal operation, processing proceeds while acquiring a checkpoint of the system. When a failure or the like occurs, the system is re-executed from the last acquired checkpoint, thereby recovering from the failure.

【0004】このチェックポイントは、以下のような場
合に取得される。 (1)コード中にチェックポイントの取得が明示的に指
示されている場合。 (2)最後にチェックポイントを取得した後、一定時間
が経過した場合。 (3)チェックポイントの取得を促すイベント(割り込
み)が発生した場合。
[0004] This checkpoint is obtained in the following cases. (1) When the acquisition of a checkpoint is explicitly instructed in the code. (2) When a certain time has elapsed since the last checkpoint was obtained. (3) When an event (interruption) prompting acquisition of a checkpoint occurs.

【0005】これらの条件は、プログラム実行中の任意
の時点で発生しうる。従来では、この条件が発生した時
点で、すなわち、プログラム実行中の任意の時点で、即
座にチェックポイントの取得を行なっていた。
[0005] These conditions can occur at any point during program execution. Conventionally, a checkpoint is obtained immediately when this condition occurs, that is, at an arbitrary time during the execution of a program.

【0006】図15は、プロセッサが通常の処理を実行
している途中で、チェックポイント処理を実行している
様子を示している。時刻t1では、チェックポイントの
取得を促すようなイベントの発生に伴なう割り込み処理
(図15の(1))の中で、チェックポイント処理(図
15の(2))を行なっている。
FIG. 15 shows a state where a checkpoint process is being performed while the processor is performing a normal process. At time t1, in the occurrence of an event, such as prompting the acquisition of checkpoint accompanied interrupt processing (FIG. 15 (1)) of the check point processing (Fig.
15 (2)) is performed.

【0007】また、時刻t2では、最後にチェックポイ
ントが取得されてから一定時間が経過したときに生ずる
タイマ割り込みの処理(図15の(3))の中で、チェ
ックポイント処理(図15の(4))を行なっている。
すなわちチェックポイントは、任意のプロセス実行中に
取得されていた。
[0007] At time t2, in the end processing of the timer interrupt occurs when the checkpoint predetermined time has elapsed since the acquisition (Fig. 15 (3)), the checkpoint processing (FIG. 15 ( 4)).
That is, the checkpoint was obtained during execution of an arbitrary process.

【0008】図16は、チェックポイントを取得しなが
ら処理を進めていく途中で故障が発生し、最終チェック
ポイントから処理を再実行している様子を示している。
時刻t1およびt2でチェックポイントを取得した後に
故障が発生すると(図16の(1))、最後に取得した
チェックポイント(t2)から処理が再実行される(図
16の(2))。
FIG. 16 shows a situation in which a failure occurs during the processing while acquiring checkpoints, and the processing is re-executed from the last checkpoint.
When a failure occurs after the checkpoint is acquired at times t1 and t2 ((1) in FIG. 16 ), the process is executed again from the last acquired checkpoint (t2) (FIG. 16 ).
16 (2)).

【0009】しかし、一般に、故障が発生した場合の再
実行を考慮すると、通常、処理の中には、「あるまとま
った単位で扱わなければならない処理」が存在する。こ
のような処理部分の1つにロックランアウト領域と呼ば
れるものがある。
However, in general, in consideration of re-execution in the event of a failure, there is usually a "process that must be handled in a certain unit" in the process. One of such processing parts is called a lock runout area.

【0010】ロックランアウト領域とは、この間にチェ
ックポイントを取得しても構わないが、この間に取得さ
れたチェックポイントからシステムを再実行する場合に
は、正常状態に復帰する前に、故障回復処理の中で「走
り切らせる」必要がある区間のことを示す。これはスピ
ンロックを獲得している区間のことである。
In the lock run-out area, a checkpoint may be acquired during this time. However, when the system is re-executed from the checkpoint acquired during this time, a failure recovery process is performed before returning to a normal state. Indicates the section that needs to be "run off". This is the section where the spin lock is acquired.

【0011】スピンロックとは、そのロックを獲得した
状態ではスリープすることができず、ロックが獲得でき
るまでそのプロセッサ上でスピンし続けなければならな
いロックのことである。
[0011] A spin lock is a lock that cannot sleep when the lock is acquired and must continue to spin on the processor until the lock can be acquired.

【0012】このスピンロックを獲得する際には、デッ
ドロックが発生しないように注意する必要がある。通常
は各スピンロックにレベル付けされたロッククラスを付
加し、すでにスピンロックを獲得している状態でさらに
別のスピンロックを獲得する場合には、たとえば現在獲
得しているスピンロックのロッククラスのレベルの中で
最も低いレベルよりも、さらに低いレベルのロッククラ
スのスピンロックしか獲得できないように便宜的に設計
する。このようにスピンロックの獲得を管理することに
より、各プロセッサでのロック獲得の順序性を保証す
る。
When acquiring this spin lock, care must be taken so that deadlock does not occur. Normally, when a lock class with a level is added to each spin lock and another spin lock is acquired while the spin lock has already been acquired, for example, the lock class of the currently acquired spin lock is It is designed so that only spin locks of a lock class of a lower level than the lowest one of the levels can be acquired. By managing the acquisition of spin locks in this way, the order of lock acquisition by each processor is guaranteed.

【0013】たとえば、図17に示すようにロッククラ
スのレベルが設定され、ロック操作の伴なう「処理A」
と「処理D」とを同時に実行する場合であって、その双
方のロックを同時期に重複して獲得しなければならない
場合、各プロセッサは、必ず「処理D」のロック(レベ
ルL5)を獲得してから「処理A」のロック(レベルL
3)を獲得するといった順序を辿らなければならない。
For example, as shown in FIG. 17, the level of the lock class is set, and "Processing A" accompanying the lock operation is performed.
When the processor and the "process D" are executed simultaneously and both locks must be acquired at the same time, each processor always acquires the lock of the "process D" (level L5). And then lock the "process A" (level L
3) must be followed.

【0014】ここで、ロックをランアウトさせる必要が
ある理由を、図18および図19を参照して説明する。
図18には、ロックランアウトを実施しないためにデッ
ドロックを発生させてしまう例が示されている。
Here, the reason why the lock needs to be run out will be described with reference to FIGS.
FIG. 18 shows an example in which deadlock occurs because lock runout is not performed.

【0015】いま、プロセッサ(0)ではプロセスT0
が、プロセッサ(1)ではプロセスT1が、それぞれ実
行されており、プロセスT0はスピンロックL5とL3
を、プロセスT1はスピンロックL4を獲得した状態で
チェックポイントが取得されたものとする。
Now, in the processor (0), the process T0
However, in the processor (1), the process T1 is being executed, and the process T0 has the spin locks L5 and L3.
It is assumed that the process T1 has acquired the checkpoint while acquiring the spin lock L4.

【0016】そして、この後、プロセッサ(0)で固定
故障が発生した場合を考える。この場合、正常に稼働す
るプロセッサは、プロセッサ(1)のみになってしまう
ので、プロセッサ(1)でプロセスT0とプロセスT1
を実行しなければならない。プロセスT0およびプロセ
スT1が現在獲得しているスピンロックは認識可能だ
が、プロセスT0およびプロセスT1がこれからどのよ
うな挙動を示すか、すなわち、これからどのようなスピ
ンロックの獲得を行なうのかは予測することができな
い。
Then, consider a case where a fixed fault occurs in the processor (0). In this case, only the processor (1) operates normally, so that the processor (1) processes the process T0 and the process T1.
Must be performed. Although the spin locks currently acquired by the process T0 and the process T1 can be recognized, it is necessary to predict what behavior the process T0 and the process T1 will exhibit, that is, what spin lock will be acquired. Can not.

【0017】そこで、リカバリを実行した後、プロセッ
サ(1)には現在低い方のレベルのスピンロックを獲得
しているプロセスT0がディスパッチされたとする。さ
らに、このプロセスT0は、すでに獲得しているスピン
ロックL3を解放した後、スピンロックL4を新たに獲
得しにいったとする。ところがこのスピンロックL4
は、故障発生前はプロセッサ(1)で実行されていたプ
ロセスT1が獲得しているため、プロセスT0はいつま
でたってもこのスピンロックを獲得できない。すなわ
ち、デッドロックの発生である。この問題は、故障前に
は2つのプロセッサでスピンロック獲得の順序性を保証
していたにも拘らず、1個のプロセッサが故障してしま
ったために、各プロセッサで保証していたスピンロック
獲得の順序性が崩れてしまったことに起因する。
Therefore, it is assumed that after the recovery is executed, the process T0 which has acquired the lower level spin lock is dispatched to the processor (1). Further, it is assumed that the process T0 releases the spin lock L3 that has already been acquired, and then newly acquires the spin lock L4. However, this spin lock L4
Since the process T1 executed by the processor (1) before the occurrence of the failure has acquired the process, the process T0 cannot acquire the spin lock forever. That is, a deadlock occurs. This problem is caused by the fact that although two processors guarantee the order of spin lock acquisition before the failure, one processor has failed, and the spin lock acquisition guaranteed by each processor has failed. Is lost.

【0018】この問題を解決するための手法として、ロ
ックのランアウト機能が知られている。この機能は、チ
ェックポイントからの再実行前に、チェックポイント取
得時に獲得していたすべてのスピンロックを解放させ、
全てのプロセスを特定のプロセッサに依存しない状態に
するものであり、以下の手順を踏む。
As a method for solving this problem, a lock run-out function is known. This function releases all spinlocks acquired at the time of the checkpoint before re-executing from the checkpoint,
This is to make all processes independent of a specific processor, and takes the following steps.

【0019】(1)チェックポイント取得時に獲得中だ
ったスピンロックの中で、最も低いレベルのスピンロッ
クを獲得しているプロセスを選択する。 (2)プロセッサを、選択されたプロセスを実行してい
たプロセッサにみせかけて、そのスピンロックを解放す
るまでそのプロセスを実行する。
(1) Select the process that has acquired the lowest level of spin lock from the spin locks that had been acquired when the checkpoint was acquired. (2) Make the processor appear to the processor that was executing the selected process and execute that process until the spinlock is released.

【0020】(3)スピンロックの解放処理の中で、ス
ピンロックを獲得しているプロセスがまだ存在するかど
うか調べる。 (4)もし存在すれば、(1)の処理から繰り返す。も
し存在しなければ、ロックランアウトの処理を終える。
(3) During the release processing of the spin lock, it is checked whether or not a process that has acquired the spin lock still exists. (4) If present, repeat from the processing of (1). If it does not exist, the lock runout processing ends.

【0021】すなわち、たとえば図19Aに示すように
スピンロックが獲得されていた場合、まずプロセスT0
が選択され(L3が最もレベルが低い)、このプロセス
T0は、スピンロックL3が解放されるまで実行され
る。
That is, for example, when the spin lock has been acquired as shown in FIG.
Is selected (L3 is the lowest level), and this process T0 is executed until the spin lock L3 is released.

【0022】次に、最もレベルが低いL4を獲得してい
るプロセスT1が選択され(図19B)、さらに、その
解放後にL5を獲得しているプロセスT0が選択されて
(図19C)、ロックランアウトが完了する。そしてこ
のロックランアウトが完了した後に、システムはリスタ
ートを実施する。
Next, the process T1 acquiring the lowest level L4 is selected (FIG. 19B), and the process T0 acquiring L5 after its release is selected (FIG. 19C), and the lock run-out is performed. Is completed. After the lock run-out is completed, the system performs a restart.

【0023】このような手順で実行されるロックランア
ウト処理を実現するためには、スピンロックの解放処理
が、ロックランアウト中は特殊なディスパッチ機構を呼
び出すようにする必要がある。
In order to realize the lock run-out process executed in such a procedure, it is necessary that the spin lock release process calls a special dispatch mechanism during the lock run-out.

【0024】[0024]

【発明が解決しようとする課題】このように、従来のチ
ェックポイントの取得方法では、ソフトウェア(OS:
オペレーティングシステム)において、ロックランアウ
ト領域といった処理部分を抽出し、それらの「まとまっ
た単位」を保護するために、前述したような特殊なディ
スパッチ機構を実装しなければならなかった。
As described above, according to the conventional checkpoint acquisition method, software (OS:
In the operating system), a special dispatch mechanism as described above had to be implemented in order to extract a processing portion such as a lock runout area and protect those "units".

【0025】このため、計算機システムのコストアップ
が余儀なくされてしまうとソフトウェアの実装に制限を
うけてしまうという問題があった。そこで、本発明は上
記事情を考慮をして成されたものであり、チェックポイ
ント処理専用プロセスを設けることにより、リスタート
時のロックランアウト処理を不要にし構築コストを大幅
に低減させる計算機システムを提供することを目的とす
る。
For this reason, if the cost of the computer system must be increased, there is a problem that the software implementation is restricted. Accordingly, the present invention has been made in view of the above circumstances, and provides a computer system that does not require a lock runout process at the time of restart by providing a process dedicated to checkpoint processing, thereby greatly reducing the construction cost. The purpose is to do.

【0026】また、本発明はチェックポイントリスター
ト機能を備えたマルチプロセッサシステムにおいて、一
部のプロセッサに故障が発生した場合にも残りのプロセ
ッサで処理を継続できる計算機システムを提供すること
を目的とする。
Another object of the present invention is to provide, in a multiprocessor system having a checkpoint restart function, a computer system which can continue processing on the remaining processors even if some of the processors fail. I do.

【0027】[0027]

【0028】[0028]

【課題を解決するための手段】本発明は、上記目的を達
成するため、少なくとも1つのプロセッサと、プロセッ
サに対応してそれぞれ設けられ、故障などによって中断
されたプロセスを再開始するためのチェックポイントを
取得するチェックポイント処理専用プロセスと、実行中
のプロセスに割り込みを行ない、チェックポイント処理
専用プロセスを待機状態から実行可能状態にする割り込
み手段と、割り込み手段によって実行可能状態にされた
チェックポイント処理専用プロセスをディスパッチする
ディスパッチ手段と、ディスパッチ手段によりディスパ
ッチされたチェックポイント処理専用プロセスがチェッ
クポイントを取得後、チェックポイント処理専用プロセ
スを再度待機状態にする待機状態手段とを具備したこと
を特徴とする計算機システムにある。
In order to achieve the above object, the present invention provides at least one processor and a checkpoint for restarting a process provided corresponding to the processor and interrupted due to a failure or the like. and checkpoints dedicated to processing the process of obtaining, during execution
Interrupt means for interrupting the process of step (a) , and changing the process dedicated to checkpoint processing from a standby state to an executable state, dispatching means for dispatching the process dedicated to checkpoint processing made executable by the interrupt means, and dispatching by the dispatching means And a standby state unit for resuming the checkpoint process only after the obtained checkpoint process obtains the checkpoint.

【0029】従って、このような構成によれば、割り込
み手段により、実行中のプロセスに割り込みを行ない、
チェックポイント処理専用プロセスを待機状態から実行
可能状態にする。次に、ディスパッチ手段により、割り
込み手段によって実行可能状態にされたチェックポイン
ト処理専用プロセスをディスパッチし、チェックポイン
トを取得する。これにより、チェックポイント取得時に
は、他の一切のプロセスはrunning状態にはない
ので、デッドロックを発生する可能性はない。
Therefore, according to such a configuration, the interrupting means interrupts the running process ,
Change the process dedicated to checkpoint processing from the standby state to the executable state. Next, the dispatching unit dispatches the checkpoint processing dedicated process which has been made executable by the interrupting unit, and acquires a checkpoint. As a result, at the time of checkpoint acquisition, no other processes are in the running state, so there is no possibility that a deadlock will occur.

【0030】そして、ディスパッチ手段によりディスパ
ッチされたチェックポイント処理専用プロセスがチェッ
クポイントを取得後、待機状態移行手段によりチェック
ポイント処理専用プロセスを再度待機状態にする。
Then, after the checkpoint processing dedicated process dispatched by the dispatching means acquires the checkpoint, the standby state shifting means sets the checkpoint processing dedicated process again to the standby state.

【0031】また、本発明は上記目的を達成するため
に、少なくとも1つのプロセッサと、チェックポイント
取得条件が成立した場合に、故障などによって中断され
たプロセスを再開始するためのチェックポイントの取得
を指示するチェックポイント処理実行指示手段と、オペ
レーティングシステムのディスパッチャに設けられ、前
チェックポイント処理実行指示手段から前記ディスパ
ッチャにチェックポイントの取得が指示された場合に、
前記ディスパッチャより呼び出され、前記プロセッサに
対応する各チェックポイントを取得するチェックポイン
ト処理手段と、前記チェックポイント取得後に前記チェ
ックポイント処理手段を再度待機状態にする待機状態移
行手段とを具備することを特徴とする計算機システムに
ある。
Further, in order to achieve the above object, the present invention provides at least one processor and, when a checkpoint acquisition condition is satisfied, acquisition of a checkpoint for restarting a process interrupted due to a failure or the like. and checkpointing execution instruction means for instructing, provided to the dispatcher operating system, the from the check point processing execution instruction means disperser
Is instructed to take a checkpoint,
Called by the dispatcher and sent to the processor
Checkpoint to get each corresponding checkpoint
A preparative process unit, the check after the checkpoint
In the computer system, characterized by comprising a standby state means that the standby state again the Kkupointo processing means.

【0032】従って、このような構成によれば、チェッ
クポイント取得指示手段によりチェックポイントの取得
が指示された場合に、実行可能手段がチェックポイント
取得手段を実行可能な状態にする。次に、ディスパッチ
手段が実行可能手段によって実行可能状態にされたチェ
ックポイント取得手段をディスパッチする。これによ
り、チェックポイント取得時には、他の一切のプロセス
はrunning状態にはないので、デッドロックを発
生する可能性はない。
Therefore, according to such a configuration, when acquisition of a checkpoint is instructed by the checkpoint acquisition instructing means, the executable means makes the checkpoint acquiring means executable. Next, the dispatch unit dispatches the checkpoint acquisition unit that has been made executable by the executable unit. As a result, at the time of checkpoint acquisition, no other processes are in the running state, so there is no possibility that a deadlock will occur.

【0033】そして、ディスパッチ手段によりディスパ
ッチされたチェックポイント取得手段がチェックポイン
トを取得後、待機状態移行手段によりチェックポイント
取得手段を再度待機状態にする。
Then, after the checkpoint obtaining means dispatched by the dispatching means obtains the checkpoint, the standby state shifting means sets the checkpoint obtaining means to the standby state again.

【0034】さらに、本発明によれば、チェックポイン
トの取得時にrunning状態にあるプロセスは、チ
ェックポイント処理専用プロセスのみである。それ以外
の通常のプロセスは、全て、プロセッサに依存した状態
ではないので、マルチプロセッサシステムのうちの特定
のプロセッサで固定故障が発生したとしても、そのプロ
セッサ用のチェックポイント処理専用プロセスの実行を
行なわなければ、容易にシステムの再コンフィグレーシ
ョン(プロセッサの縮退)を行なうことが可能になる。
Further, according to the present invention, the process in the running state at the time of acquiring the checkpoint is only the process dedicated to the checkpoint processing. Since all other normal processes are not dependent on the processor, even if a fixed failure occurs in a specific processor of the multiprocessor system, the process dedicated to the checkpoint processing for that processor is executed. Otherwise, the system can be easily reconfigured (processor degeneration).

【0035】[0035]

【発明の実施の形態】以下、図面を参照して本発明の一
実施の形態を説明する。 (第1実施形態)図1は、本発明の一実施形態に係る計
算機システムの概略構成を示す図である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. (First Embodiment) FIG. 1 is a diagram showing a schematic configuration of a computer system according to one embodiment of the present invention.

【0036】10はプロセッサであり、内部バス11に
接続されている。また、この内部バス11にはメモリ1
2、メモリ12の更新前のイメージデータを格納するB
IB(Before Image Buffer)13
が接続されている。
A processor 10 is connected to the internal bus 11. The internal bus 11 has a memory 1
2. B for storing the image data before updating of the memory 12
IB (Before Image Buffer) 13
Is connected.

【0037】メモリ12には、プロセッサによって実行
されるオペレーティングシステム(OS)を含めたソフ
トウェアが格納されている。図14は、計算機のチェッ
クポイント/ロールバック機能を説明するための図であ
る。
The memory 12 stores software including an operating system (OS) executed by the processor. FIG. 14 is a diagram for explaining the checkpoint / rollback function of the computer.

【0038】同図に示すように、時刻t0においてメモ
リの0,1,2,3番地の内容はa,b,c,dであ
り、BIBにデータは格納されていないものとする。こ
の状態をCKPとする。
As shown in FIG. 5, at time t0, the contents of addresses 0, 1, 2, and 3 in the memory are a, b, c, and d, and it is assumed that no data is stored in the BIB. This state is referred to as CKP.

【0039】その後、時刻t1においてプロセッサから
1番地にxをstoreする命令が発行される。これに
より、メモリの1番地の内容は、xに変化する。このと
き、BIBは、メモリの更新前情報、すなわち、「1番
地がb」であったことを記憶する。
Thereafter, at time t1, the processor issues an instruction to store x at address 1. As a result, the content of the address 1 in the memory changes to x. At this time, the BIB stores the pre-update information of the memory, that is, the fact that “address 1 is b”.

【0040】次に、時刻t2においてプロセッサから2
番地にYをstoreする命令が発行されると、メモリ
の2番地の内容がYに書き替えられる前にBIBは、メ
モリの更新情報、すなわち「2番地がC」であったこと
を記憶する。その後、時刻t3において、障害が発生し
たとする。
Next, at time t2, the processor
When the instruction to store Y at the address is issued, BIB is the update information of the memory , that is, "address 2 is C" before the contents of address 2 of the memory are rewritten to Y. Is stored. Thereafter, it is assumed that a failure has occurred at time t3.

【0041】この場合、BIBに記憶されているメモリ
の更新情報を記憶された時とは逆の手順でメモリに反映
させれば、メモリの状態を更新前の状態、すなわち、時
刻t0のCKPの状態にロールバックすることができ
る。
In this case, if the update information of the memory stored in the BIB is reflected in the memory in a procedure reverse to that when the information is stored, the state of the memory is changed to the state before the update, that is, the CKP at the time t0. You can roll back to the state.

【0042】また、時刻t3の時点で障害が発生せずに
処理が進んだ場合には、適当な時点でBIBに記憶され
ている情報をクリアし、その時点でのメモリの状態をC
KPとすれば、CKPの世代が進むことになる。
If the process proceeds without a failure at time t3, the information stored in the BIB is cleared at an appropriate time and the state of the memory at that time is changed to C3.
In the case of KP, the generation of CKP will advance.

【0043】図2は、メモリ12に格納されるソフトウ
ェアの機能を説明するための機能ブロック図である。2
1はチェックポイント処理専用プロセスで、通常は、2
2に示されたスリープ部によって、待機状態になってい
る。
FIG. 2 is a functional block diagram for explaining functions of software stored in the memory 12. 2
1 is a process dedicated to checkpoint processing.
2 is in the standby state.

【0044】また、チェックポイント取得条件が成立し
た場合には、23に示されたウェイクアップ部を用い
て、待機状態になっているチェックポイント処理専用プ
ロセス21を実行可能状態とする。
When the checkpoint acquisition condition is satisfied, the checkpoint processing dedicated process 21 in the standby state is made executable by using the wake-up unit 23.

【0045】チェックポイント取得条件は、BIB13
にデータが所定の量だけ格納された場合に成立するもの
とする。なお、チェックポイント取得条件は以下の場合
に成立するとしてもよい。
The checkpoint acquisition condition is BIB13
Is stored when a predetermined amount of data is stored in the. Note that the checkpoint acquisition condition may be satisfied in the following cases.

【0046】(1) メモリ12の更新後のイメージデ
ータを格納するAIB(AfterImage Buf
fer)にデータが所定の量だけ格納された場合。 (2) コード中にチェックポイントの取得が明示的に
指示されている場合。
(1) An AIB (After Image Buf) for storing the updated image data in the memory 12
fer) when a predetermined amount of data is stored. (2) When a checkpoint is explicitly specified in the code.

【0047】(3) 最後のチェックポイントを取得し
てから一定時間が経過した場合。実行可能状態となった
チェックポイント処理専用プロセス21は、ディスパッ
チャ24により選択される。これにより、チェックポイ
ント処理専用プロセス21は実行状態となり、チェック
ポイントの取得を行なう。
(3) When a certain time has elapsed since the last checkpoint was obtained. The checkpoint process-dedicated process 21 in the executable state is selected by the dispatcher 24. As a result, the checkpoint processing dedicated process 21 enters an execution state, and acquires a checkpoint.

【0048】チェックポイント取得条件が成立した場合
には、なるべく早くチェックポイントを取得するため
に、チェックポイント処理専用プロセス21のプライオ
リティ(実行優先度)を高くし、故障通知などの特殊な
割り込み以外は受け付けないようにしておく。
If the checkpoint acquisition condition is satisfied, the priority (execution priority) of the checkpoint processing dedicated process 21 is increased in order to acquire the checkpoint as soon as possible. We do not accept.

【0049】次に、図3乃至図5を参照して動作を説明
する。図3は、チェックポイント処理専用プロセス21
の処理の流れを示すフローチャートである。
Next, the operation will be described with reference to FIGS. FIG. 3 shows a process 21 dedicated to checkpoint processing.
3 is a flowchart showing the flow of the processing of FIG.

【0050】チェックポイント処理専用プロセス21
は、通常は待機状態にあるが(ステップA1)、チェッ
クポイント取得条件が成立するとウェイクアップ部23
によってウェイクアップされ実行可能状態になる。そし
て、ディスパッチャ24によってチェックポイント処理
専用プロセスがディスパッチされることによってチェッ
クポイントが取得される(ステップA2)。それが終わ
ると、再び待機状態に戻される。
Check Point Processing Dedicated Process 21
Is normally in a standby state (step A1), but when the checkpoint acquisition condition is satisfied, the wake-up unit 23
Wakes up and becomes executable. Then, a checkpoint process is dispatched by the dispatcher 24 to acquire a checkpoint (step A2). When it is over, it returns to the standby state again.

【0051】図4は、チェックポイント取得条件の成立
を通知し、待機状態にあるチェックポイント処理専用プ
ロセス21をウェイクアップさせる処理の流れを示すフ
ローチャートである。
FIG. 4 is a flowchart showing the flow of processing for notifying the establishment of the checkpoint acquisition condition and waking up the checkpoint processing dedicated process 21 in the standby state.

【0052】図4で示すように、チェックポイント取得
条件が成立すると、割り込み処理あるいはサブルーチン
コールによって、チェックポイント取得条件の成立を通
知する処理を実行する(ステップB1)。ここでは待機
状態にあるチェックポイント処理専用プロセス21を実
行可能状態とする。
As shown in FIG. 4, when the checkpoint acquisition condition is satisfied, a process for notifying the establishment of the checkpoint acquisition condition is executed by interruption processing or a subroutine call (step B1). Here, the checkpoint processing dedicated process 21 in the standby state is set in the executable state.

【0053】チェックポイント処理専用プロセス21の
待機状態への移行や、実行可能状態への移行において
は、特定のプロセスのみについて行なうため、たとえば
UNIXでは、ウェイクアップさせるプロセスの特定化
のために、特定のウェイトチャネル(この場合はS)を
使用する。
The transition of the checkpoint processing dedicated process 21 to the standby state or the executable state is performed only for a specific process. For example, in UNIX, for the purpose of specifying the process to be woken up, a specific process is performed. (In this case, S) is used.

【0054】図5は、チェックポイント処理専用プロセ
ス21によって取得されたチェックポイントから、再実
行を行なう場合の処理の流れを示すフローチャートであ
る。この場合、最後に取得されたチェックポイントの状
態をまず復元し(ステップC1)、続いてチェックポイ
ント処理専用プロセス21をカレントプロセスとして、
その先頭から処理を実行させる(ステップC2)。ある
いは、チェックポイント中に保存されているチェックポ
イント処理専用プロセスのコンテクストを復元してよ
い。
FIG. 5 is a flowchart showing the flow of processing when re-executing from a checkpoint acquired by the checkpoint processing dedicated process 21. In this case, the state of the checkpoint acquired last is first restored (step C1), and then the process 21 dedicated to checkpoint processing is set as the current process.
The process is executed from the top (step C2). Alternatively, the context of the process dedicated to checkpoint processing saved during the checkpoint may be restored.

【0055】次に、図1乃至図7を参照して、本実施の
形態の計算機システムの動作について説明する。図6
は、本実施の形態の計算機システムの動作を説明するた
めの図である。
Next, the operation of the computer system according to the present embodiment will be described with reference to FIGS. FIG.
Is a diagram for explaining the operation of the computer system of the present embodiment.

【0056】プロセッサが任意のプロセスxを実行して
いる最中に、BIB13に格納されるメモリ12の更新
前のイメージデータのデータ量が所定のデータ量に達す
ると、BIB13は、プロセッサ10にチェックポイン
ト採取要求割り込みをかける。
While the processor is executing an arbitrary process x, if the data amount of the image data before updating of the memory 12 stored in the BIB 13 reaches a predetermined data amount, the BIB 13 checks with the processor 10. Issue a point collection request interrupt.

【0057】ここでは、BIB13は、プロセッサ
(1)に割り込みをかけるものとする。BIB13から
プロセッサ(1)に割り込みがかけられると、プロセッ
サ(1)は、実行中のプロセスxの処理を一時的に中断
して割り込み処理を行なう(図6の(1))。
Here, it is assumed that the BIB 13 interrupts the processor (1). When an interrupt is issued from the BIB 13 to the processor (1), the processor (1) temporarily interrupts the process of the process x being executed and performs an interrupt process ((1) in FIG. 6).

【0058】この割り込み処理においては、ウェイクア
ップ部23によって全ての待機(sleep)状態にあ
るチェックポイント処理専用プロセス21を実行可能
(ready)状態にする(図6の(2))。
In this interrupt processing, the wake-up section 23 makes all the checkpoint processing dedicated processes 21 in the standby state executable (ready) (FIG. 6 (2)).

【0059】図7は、sleep状態にあるチェックポ
イント処理専用プロセスをready状態にする場合を
説明するための図である。このとき、ready状態の
チェックポイント処理専用プロセス21のプライオリテ
ィ(実行優先度)を高くし、故障通知などの特殊な割り
込み以外は受け付けないようにしておく。
FIG. 7 is a diagram for explaining a case where a checkpoint processing dedicated process in the sleep state is set to the ready state. At this time, the priority (execution priority) of the checkpoint process dedicated process 21 in the ready state is set to be high so that it can accept only a special interrupt such as a failure notification.

【0060】割り込み処理を終えると、プロセッサ
(1)は、一時中断していたプロセスxの実行を再開
し、このプロセスxの一実行単位が終了すると、続いて
ディスパッチャ24が呼び出される(図6の(3))。
このディスパッチャ24の呼び出しは、タイムシェアリ
ング処理などの制御によって行なわれる。
When the interrupt processing is completed, the processor (1) resumes the execution of the process x which has been suspended, and when one execution unit of the process x is completed, the dispatcher 24 is subsequently called (FIG. 6). (3)).
The call of the dispatcher 24 is performed by control such as time sharing processing.

【0061】ディスパッチャ24は、プライオリティの
高いプロセスを見つけ、running状態にしてプロ
セッサに実行させる。ここでは、優先度の高いチェック
ポイント処理専用プロセス21がウェイクアップされて
いるので、ディスパッチャ24は、チェックポイント専
用プロセス21を選択して、プロセッサに実行させてチ
ェックポイントの取得を行なわせる(図6の(4))。
The dispatcher 24 finds a high-priority process and causes the processor to execute the process in a running state. Here, since the checkpoint processing dedicated process 21 having a high priority has been woken up, the dispatcher 24 selects the checkpoint dedicated process 21 and causes the processor to execute the process to acquire the checkpoint (FIG. 6). (4)).

【0062】このチェックポイントの取得は、従来の計
算機システムにおいては、任意のプロセスの任意の割り
込み処理において行なわれていたので、プロセスがスピ
ンロックを有していたり、プロセッサに依存したリソー
スにアクセスしている可能性があった。従って、これに
よりデッドロックを発生してしまう可能性があった。
In the conventional computer system, the acquisition of the checkpoint is performed in an arbitrary interrupt process of an arbitrary process. Therefore, the process has a spin lock or accesses a processor-dependent resource. Could have been. Therefore, this may cause a deadlock.

【0063】これに対して、本実施の形態の計算機シス
テムにおいては、ディスパッチャ24によりディスパッ
チしたチェックポイント処理専用プロセス21によっ
て、チェックポイントを取得するので、他の一切のプロ
セスはrunning状態にない。このため、従来の計
算機システムのように、リスタート時に、デッドロック
が発生することがない。
On the other hand, in the computer system according to the present embodiment, since the checkpoint is acquired by the checkpoint processing dedicated process 21 dispatched by the dispatcher 24 , no other processes are in the running state. For this reason, deadlock does not occur at the time of restart as in the conventional computer system.

【0064】そして、チェックポイントの取得が終了す
ると、チェックポイント処理専用プロセス21は、再び
待機(sleep)状態になり(図6の(5))、ディ
スパッチャが呼び出されて、再び任意の通常プロセスが
選択される(図6の(6))。
When the acquisition of the checkpoint is completed, the checkpoint processing dedicated process 21 enters the sleep state again ((5) in FIG. 6), the dispatcher is called, and an arbitrary normal process starts again. Is selected ((6) in FIG. 6).

【0065】このように、チェックポイント処理専用プ
ロセス21を用いた場合には、チェックポイントの取得
は常にチェックポイント処理専用プロセス21の中での
み実行される。
As described above, when the checkpoint processing dedicated process 21 is used, the checkpoint is always acquired only in the checkpoint processing dedicated process 21.

【0066】このため、リスタート時のロックランアウ
ト処理が不要となり、チェックポイント取得機能を含む
オペレーティングシステムを大幅に簡単化できる結果、
構築コストを大幅に低減することが可能となる。
As a result, the lock run-out process at the time of restart is not required, and the operating system including the checkpoint acquisition function can be greatly simplified.
The construction cost can be significantly reduced.

【0067】また、このような構成とすることにより、
次に示すような効果も得ることができる。図8Aは、マ
ルチプロセッサシステムを示す図である。この例では、
プロセッサ(0)〜プロセッサ(3)の4つのプロセッ
サを有したマルチプロセッサシステムを前提としてお
り、各プロセッサ10は、チェックポイントを取得する
際、プロセッサに対応するチェックポイント処理専用プ
ロセス21をディスパッチして行なっている。
Also, by adopting such a configuration,
The following effects can also be obtained. FIG. 8A is a diagram illustrating a multiprocessor system. In this example,
It is assumed that the multiprocessor system has four processors of processor (0) to processor (3). When acquiring a checkpoint, each processor 10 dispatches a checkpoint processing dedicated process 21 corresponding to the processor. I do.

【0068】具体的には、マルチプロセッサシステムに
おいては、チェックポイントの取得の方法には、(1)
データの依存関係を有するプロセッサ同士が同期して
一斉にチェックポイントを採取する方法、(2) 全て
のプロセッサが同期して一斉にチェックポイントを採取
する方法、の2つの方法がある。
Specifically, in a multiprocessor system, the checkpoint acquisition method includes (1)
There are two methods: a method in which processors having a data dependency are synchronized to collect checkpoints simultaneously, and a method (2) in which all processors synchronously collect checkpoints simultaneously.

【0069】しかし、一般的には、プロセッサ間のデー
タ依存関係を管理することは難しく、且つオーバヘッド
が大きいため、(2)の方法、すなわち、全てのプロセ
ッサが同期して一斉にチェックポイントを採取すること
が多い。
However, since it is generally difficult to manage the data dependence between processors and the overhead is large, the method (2), ie, all the processors collect checkpoints simultaneously and synchronously Often do.

【0070】本実施の形態のマルチプロセッサシステム
においても全てのプロセッサが同期して一斉にチェック
ポイントを採取するものとする。このことは、チェック
ポイント取得時において実行中であるプロセスはチェッ
クポイント処理専用プロセス21のみであり、他のいか
なるプロセスも実行状態にはないことを示している。
In the multiprocessor system according to the present embodiment, it is assumed that all processors simultaneously take checkpoints in synchronization. This indicates that only the process 21 dedicated to the checkpoint process is being executed at the time of obtaining the checkpoint, and that no other process is in the execution state.

【0071】ここで、たとえば特定のプロセッサ10
間欠故障発生した場合を考える。この場合、故障回
復処理では、最後に取得したチェックポイントまでシス
テムの状態をロールバックし、後は各プロセッサがチェ
ックポイント取得時に実行していたチェックポイント処
理専用プロセス21をリジュームすればよい。
[0071] In this case, for example, to a specific processor 10
Consider a case where an intermittent failure occurs. In this case, in the failure recovery processing, the state of the system is rolled back to the last acquired checkpoint, and then the checkpoint processing dedicated process 21 executed by each processor at the time of acquiring the checkpoint may be resumed.

【0072】次に、図8Bを参照して、たとえば特定の
プロセッサ10にて固定故障発生した場合を考える。
この場合、故障処理では、最後に取得したチェックポイ
ントまでシステムの状態をロールバックし、後は各プロ
セッサがチェックポイント取得時に実行していたチェッ
クポイント処理専用プロセス21をリジュームする。
Next, with reference to FIG. 8B, for example, consider the case where permanent fault in a particular processor 10 occurs.
In this case, in the failure processing, the state of the system is rolled back to the last acquired checkpoint, and thereafter, the checkpoint processing dedicated process 21 executed by each processor at the time of acquiring the checkpoint is resumed.

【0073】ただし、固定故障発生したプロセッサ1
0(図8Bではプロセッサ(1))は処理を実行できな
い。これにより、その固定故障発生したプロセッサで
実行されていたチェックポイント処理専用プロセス21
(i)は、いかなるプロセッサからも実行されなくな
り、かつ他のいずれの通常プロセスも故障したプロセッ
サにディスパッチされることがないため、固定故障を発
生させたプロセッサの切り離し(プロセッサの縮退、再
コンフィグレーション)が容易に実現されることとな
る。
However, the processor 1 in which the fixed failure has occurred
0 (the processor (1) in FIG. 8B) cannot execute the process. As a result, the checkpoint processing dedicated process 21 executed by the processor in which the fixed failure has occurred.
Since (i) is not executed by any processor and no other normal process is dispatched to the failed processor, the detachment of the processor that caused the fixed failure (processor degeneration, reconfiguration ) Can be easily realized.

【0074】(第2実施形態)図9は、本発明の第2実
施形態に係わる計算機システムの概略構成を示す図であ
る。
(Second Embodiment) FIG. 9 is a diagram showing a schematic configuration of a computer system according to a second embodiment of the present invention.

【0075】10はプロセッサであり、20に示された
オペレーティングシステムを含めたソフトウェアを実行
する。24はディスパッチャで、チェックポイント処理
部25を有している。ディスパッチャ24は、常にチェ
ックポイント処理部25を呼び出すわけではなく、チェ
ックポイント処理実行指示部26がチェックポイント処
理の実行を指示している場合にだけ呼び出す。そしてチ
ェックポイント取得条件が成立した場合、チェックポイ
ント処理実行指示部26にてチェックポイント処理の実
指示される。
A processor 10 executes software including the operating system 20. Reference numeral 24 denotes a dispatcher having a checkpoint processing unit 25. The dispatcher 24 does not always call the checkpoint processing unit 25, but calls it only when the checkpoint processing execution instructing unit 26 instructs execution of the checkpoint processing. And if the checkpoint acquisition condition is satisfied, execution of the check point processing is instructed by the check point processing execution instruction portion 26.

【0076】チェックポイント処理実行指示部26によ
ってチェックポイント処理の実行が指示されると、ディ
スパッチャ24は、チェックポイント処理部25を呼び
出す。
When the execution of the checkpoint processing is instructed by the checkpoint processing execution instructing section 26, the dispatcher 24 calls the checkpoint processing section 25.

【0077】このチェックポイント処理の実行指示は、
たとえばソフトウェアにおける変数をフラグとして用
い、チェックポイント処理の実行を指示する場合にフラ
グをセット(1)する。したがって、ディスパッチャ2
4は、このフラグがセット(1)されている場合にの
み、チェックポイント処理部25を呼び出せば良い。
The checkpoint processing execution instruction is
For example, when a variable in software is used as a flag and execution of checkpoint processing is instructed, the flag is set (1). Therefore, dispatcher 2
4 only needs to call the checkpoint processing unit 25 only when this flag is set (1).

【0078】次に、図10乃至図12を参照して本実施
の形態の計算機システムの動作手順を説明する。図10
は、チェックポイント処理部25を備えたディスパッチ
ャ24の処理の流れを示すフローチャートである。
Next, an operation procedure of the computer system according to the present embodiment will be described with reference to FIGS. FIG.
5 is a flowchart showing a flow of processing of the dispatcher 24 including the checkpoint processing unit 25.

【0079】チェックポイント処理部25を備えたディ
スパッチャ24は、チェックポイント処理実行指示部2
6からの指示が通知されているか否かを監視し(ステッ
プD1)、チェックポイント処理部25の実行が指示さ
れている場合には、チェックポイント処理部25の実行
指示をクリアした後(ステップD2)、チェックポイン
トの採取を行なう(ステップD3)。
The dispatcher 24 having the checkpoint processing unit 25 is the checkpoint processing execution instructing unit 2
6 is monitored (step D1). If execution of the checkpoint processing unit 25 is instructed, the execution instruction of the checkpoint processing unit 25 is cleared (step D2). Then, checkpoints are collected (step D3).

【0080】そして、このチェックポイントの採取が完
了すると、通常のディスパッチャの処理を実行する(ス
テップD4)。すなわち、優先度の高いプロセスを選択
してプロセッサにそのプロセスを実行させる。
When the collection of the checkpoint is completed, a normal dispatcher process is executed (step D4). That is, a process with a higher priority is selected, and the processor executes the process.

【0081】図11は、チェックポイント取得条件の成
立を通知し、ディスパッチャ24にチェックポイント処
理部25の実行を指示する処理の流れを示すフローチャ
ートである。
FIG. 11 is a flowchart showing the flow of processing for notifying the establishment of the checkpoint acquisition condition and instructing the dispatcher 24 to execute the checkpoint processing section 25 .

【0082】図11に示すように、チェックポイント取
得条件が成立すると、割り込み処理あるいはサブルーチ
ンコールによって、チェックポイント取得条件の成立を
通知する処理を実行する(ステップE1)。ここではチ
ェックポイント処理部25の実行を指示する。
As shown in FIG. 11, when the checkpoint acquisition condition is satisfied, a process for notifying the establishment of the checkpoint acquisition condition is executed by interruption processing or a subroutine call (step E1). Here, execution of the checkpoint processing unit 25 is instructed.

【0083】このチェックポイント処理部25の実行指
示は、前述したように、たとえばソフトウェアにおける
変数をフラグとして用い、チェックポイント処理部25
の実行を指示する場合にフラグをセット(1)する。し
たがって、ディスパッチャ24は、このフラグがセット
(1)されている場合にのみ、チェックポイント処理部
25を呼び出せば良い。
As described above, the execution instruction of the checkpoint processing unit 25 uses, for example, a variable in software as a flag, and
Is set (1) when the execution of the instruction is instructed. Therefore, the dispatcher 24 may call the checkpoint processing unit 25 only when this flag is set (1).

【0084】図12は、チェックポイント処理部25に
よって取得されたチェックポイントから、再実行を行な
う場合の処理の流れを示すフローチャートである。この
場合、最後に取得されたチェックポイントの状態をまず
復元し(ステップF1)、続いてディスパッチャ24を
先頭から呼び出す(ステップF2)。
FIG. 12 is a flowchart showing the flow of processing when re-execution is performed from a check point acquired by the check point processing unit 25. In this case, the state of the checkpoint acquired last is restored first (step F1), and then the dispatcher 24 is called from the top (step F2).

【0085】ここで、図13を参照して本実施の形態の
計算機システムの動作を説明する。プロセッサが任意の
プロセスを実行している最中に、チェックポイント取得
条件が成立した旨の割り込みが発生すると(図13の
(1))、チェックポイント処理実行指示部26を介し
てチェックポイント処理部25の実行を指示する(図1
3の(2))。
Here, the operation of the computer system according to the present embodiment will be described with reference to FIG. While the processor is executing an arbitrary process, if an interrupt is generated to the effect that the checkpoint acquisition condition is satisfied ((1) in FIG. 13), the checkpoint processing unit 26 is instructed via the checkpoint processing execution instruction unit 26. 25 (see FIG. 1).
3 (2)).

【0086】この後、元のプロセスに制御が戻り、この
プロセスの一実行単位が終了すると、続いてディスパッ
チャ24が呼び出されるが、すでにチェックポイント処
理部25の実行が指示されているので、ディスパッチャ
24は、チェックポイント処理部25の実行を指示し、
チェックポイントの取得を行なう(図13の(3))。
Thereafter, control returns to the original process, and when one execution unit of this process ends, the dispatcher 24 is subsequently called. However, since execution of the checkpoint processing unit 25 has already been instructed, the dispatcher 24 Instructs execution of the checkpoint processing unit 25,
A checkpoint is obtained ((3) in FIG. 13).

【0087】このチェックポイントの取得が終了する
と、ディスパッチャ24は、優先度の高いプロセスを選
択し、プロセッサ10にそのプロセスを実行させるとい
う、通常のディスパッチャの処理に戻る(図13の
(4))。
When the acquisition of the checkpoint is completed, the dispatcher 24 returns to the normal dispatcher processing of selecting a process with a high priority and causing the processor 10 to execute the process ((4) in FIG. 13). .

【0088】このように、チェックポイント処理部25
を備えたディスパッチャ24を用いた場合には、チェッ
クポイントの取得は、常にディスパッチャの中でのみ実
行されるため、リスタート時のロックランアウトが不要
となる。従って、チェックポイント取得機能を含むオペ
レーティングシステムを大幅に簡単化でき、構築コスト
を大幅に低減することが可能となる。
As described above, the checkpoint processing unit 25
In the case where the dispatcher 24 provided with is used, the acquisition of the checkpoint is always executed only in the dispatcher, so that the lock runout at the time of restart is not required. Therefore, the operating system including the checkpoint acquisition function can be greatly simplified, and the construction cost can be significantly reduced.

【0089】従って、上述実施の形態の計算機システム
によれば、チェックポイントは常に、チェックポイント
取得プロセスの中か、ディスパッチャの中でしか取得さ
れないこととなる。これにより、チェックポイント取得
時に、他のプロセスが実行されているといったことが一
切なくなり、従来のチェックポイントの取得方法では考
慮する必要のあった、上述の「まとまった単位」を考慮
することが不要になり、オペレーティングシステムが大
幅に簡単化できる。この結果、構築あるいは改良のコス
トを大幅に低減させることが可能となる。
Therefore, according to the computer system of the above embodiment, a checkpoint is always acquired only in the checkpoint acquisition process or in the dispatcher. This eliminates any other process being executed at the time of checkpoint acquisition, eliminating the need to consider the "units" described above, which had to be considered in the conventional checkpoint acquisition method. Operating system can be greatly simplified. As a result, the cost of construction or improvement can be significantly reduced.

【0090】また、マルチプロセッサシステムにおいて
は、1部のプロセッサに固定故障が発生した場合にも、
故障が発生したプロセッサ用のチェックポイント処理専
用プロセスの実行を抑止することにより、容易にシステ
ムの再コンフィグレーション(プロセッサの縮退、切り
離し)を実現することが可能になる。
In a multiprocessor system, even if a fixed failure occurs in one of the processors,
By suppressing the execution of the process dedicated to the checkpoint process for the processor in which the failure has occurred, it is possible to easily realize the reconfiguration of the system (degeneration and separation of the processor).

【0091】[0091]

【発明の効果】以上詳記したように本発明によれば、チ
ェックポイント処理専用プロセスを設けることにより、
リスタート時のロックランアウト処理を不要にし構築コ
ストを大幅に低減させることができる。また、チェック
ポイントリスタート機能を備えたマルチプロセッサシス
テムにおいて、一部のプロセッサに故障が発生した場合
にも残りのプロセッサで処理を継続させることができ
る。さらに、チェックポイントリスタート機能を備えた
マルチプロセッサシステムにおいて、一部のプロセッサ
に故障が発生した場合にも残りのプロセッサで処理を継
続させることができるという優れた効果を奏する。
As described above, according to the present invention, by providing a process dedicated to checkpoint processing,
The lock runout process at the time of restart is not required, and the construction cost can be significantly reduced. Further, in a multiprocessor system having a checkpoint restart function, even when a failure occurs in some of the processors, processing can be continued in the remaining processors. Further, in a multiprocessor system having a checkpoint restart function, even when a failure occurs in some of the processors, there is an excellent effect that processing can be continued in the remaining processors.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施の形態に係る計算機システムの
ハードウェア構成を示すブロック図。
FIG. 1 is a block diagram showing a hardware configuration of a computer system according to an embodiment of the present invention.

【図2】同実施の形態に係る計算機システムのメモリに
格納されるソフトウェアの機能を説明するための機能ブ
ロック図。
FIG. 2 is an exemplary functional block diagram for explaining functions of software stored in a memory of the computer system according to the embodiment;

【図3】同実施の形態に係るチェックポイント処理専用
プロセスの処理の流れを示すフローチャート。
FIG. 3 is an exemplary flowchart showing the flow of the process of a checkpoint process dedicated process according to the embodiment;

【図4】同実施の形態に係るチェックポイント処理専用
プロセスをウェイクアップさせる処理の流れを示すフロ
ーチャート。
FIG. 4 is an exemplary flowchart showing the flow of a process for waking up a process dedicated to checkpoint processing according to the embodiment.

【図5】同実施の形態に係るチェックポイント処理専用
プロセスによって取得されたチェックポイントから再実
行を行なう場合の処理の流れを示すフローチャート。
FIG. 5 is an exemplary flowchart showing the flow of processing when re-execution is performed from a checkpoint acquired by a checkpoint processing dedicated process according to the embodiment;

【図6】同実施の形態に係る計算機システムの動作を説
明するための図。
FIG. 6 is an exemplary view for explaining the operation of the computer system according to the embodiment;

【図7】同実施の形態に係るsleep状態にあるチェ
ックポイント処理専用プロセスをready状態にする
場合を説明するための図。
FIG. 7 is an exemplary view for explaining a case where a checkpoint processing dedicated process in a sleep state according to the embodiment is set to a ready state;

【図8】同実施の形態に係る、マルチプロセッサシステ
ムの構成を示すブロック図(8A)、及びそのシステム
に於いて固定故障が発生した場合のマルチプロセッサシ
ステムの動作を説明するための図(8B)。
FIG. 8 is a block diagram (8A) showing the configuration of the multiprocessor system according to the embodiment, and a diagram (8B) for explaining the operation of the multiprocessor system when a fixed failure occurs in the system; ).

【図9】第2実施の形態に係る計算機システムの構成を
示すブロック図。
FIG. 9 is a block diagram showing a configuration of a computer system according to a second embodiment.

【図10】同実施の形態に係る、チェックポイント処理
部を備えたディスパッチャの処理の流れを示すフローチ
ャート。
FIG. 10 is a flowchart showing a processing flow of a dispatcher having a checkpoint processing unit according to the embodiment;

【図11】同実施の形態に係る、ディスパッチャにチェ
ックポイント処理部の実行を指示する処理の流れを示す
フローチャート。
FIG. 11 is a flowchart showing a flow of a process for instructing a dispatcher to execute a checkpoint processing unit according to the embodiment;

【図12】同実施の形態に係る、チェックポイント処理
部によって取得されたチェックポイントから、再実行を
行なう場合の処理の流れを示すフローチャート。
FIG. 12 is a flowchart showing a flow of processing when re-executing from a checkpoint acquired by a checkpoint processing unit according to the embodiment;

【図13】同実施の形態に係る、計算機システムの動作
を説明するための図。
FIG. 13 is an exemplary view for explaining the operation of the computer system according to the embodiment;

【図14】同実施の形態に係る、計算機のチェックポイ
ント/ロールバック機能を説明するための図。
FIG. 14 is an exemplary view for explaining a checkpoint / rollback function of the computer according to the embodiment;

【図15】従来の計算機システムが通常の処理を実行し
ている途中で、チェックポイント処理を実行している様
子を示す図。
FIG. 15 is a diagram showing a state where a conventional computer system is executing a checkpoint process while performing a normal process.

【図16】従来の計算機システムがチェックポイントを
取得しながら処理を進めていく途中で故障が発生し、最
終チェックから再実行している様子を示す図。
FIG. 16 is a diagram showing a state in which a failure has occurred while a conventional computer system is proceeding with processing while acquiring checkpoints, and the computer system is re-executing from the last check.

【図17】従来のロッククラスのレベルの設定例を示す
図である。
FIG. 17 is a diagram showing a conventional example of setting a lock class level.

【図18】デッドロックの発生を説明するための図であ
る。
FIG. 18 is a diagram for explaining occurrence of a deadlock.

【図19】ロックランアウト処理を説明するための図で
ある。
FIG. 19 is a diagram for explaining a lock run-out process.

【符号の説明】[Explanation of symbols]

10…プロセッサ、 12…メモリ、 13…BIB、 21…チェックポイント処理専用プロセス、 22…スリープ部、 23…ウェイクアップ部、 24…ディスパッチャ、 25…チェックポイント処理部。 DESCRIPTION OF SYMBOLS 10 ... Processor, 12 ... Memory, 13 ... BIB, 21 ... Checkpoint processing dedicated process, 22 ... Sleep part, 23 ... Wakeup part, 24 ... Dispatcher, 25 ... Checkpoint processing part.

Claims (12)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 少なくとも1つのプロセッサと、 このプロセッサに対応してそれぞれ設けられ、故障など
によって中断されたプロセスを再開始するためのチェッ
クポイントを取得するチェックポイント処理専用プロセ
スと、 実行中のプロセスに割り込みを行ない、前記チェックポ
イント処理専用プロセスを待機状態から実行可能状態に
する割り込み手段と、 この割り込み手段によって実行可能状態にされたチェッ
クポイント処理専用プロセスをディスパッチするディス
パッチ手段と、 このディスパッチ手段によりディスパッチされた前記チ
ェックポイント処理専用プロセスがチェックポイントを
取得後、前記チェックポイント処理専用プロセスを再度
待機状態にする待機状態移行手段とを具備したことを特
徴とする計算機システム。
At least one processor, a process dedicated to a checkpoint process provided for the processor and acquiring a checkpoint for restarting a process interrupted due to a failure, and a process being executed Interrupting means for interrupting the checkpoint processing process from a standby state to an executable state; dispatching means for dispatching the checkpoint processing process enabled by the interrupting means; and A computer system comprising: a standby state transition unit that, after the dispatched process dedicated to checkpoint processing acquires a checkpoint, sets the process dedicated to checkpoint processing to a standby state again.
【請求項2】 前記割り込み手段による割り込み処理
は、チェックポイント取得条件が成立した後に行なわれ
ることを特徴とする請求項1記載の計算機システム。
2. The computer system according to claim 1, wherein the interruption processing by said interruption means is performed after a checkpoint acquisition condition is satisfied.
【請求項3】 前記チェックポイント取得条件は、プロ
セッサのコード中にチェックポイントの取得が指示され
ている場合に成立することを特徴とする請求項2記載の
計算機システム。
3. The computer system according to claim 2, wherein the checkpoint acquisition condition is satisfied when a checkpoint acquisition is instructed in the code of the processor.
【請求項4】 前記チェックポイント取得条件は、前記
チェックポイント処理専用プロセスによってチェックポ
イントが取得された後、所定時間経過後に成立すること
を特徴とする請求項2記載の計算機システム。
4. The computer system according to claim 2, wherein the checkpoint acquisition condition is satisfied after a predetermined time has elapsed after the checkpoint is acquired by the checkpoint processing dedicated process.
【請求項5】 前記チェックポイント取得条件は、メモ
リの更新前のイメージデータを採取するビフォアイメー
ジバッファに格納されるイメージデータのデータ量によ
って決定されることを特徴とする請求項2記載の計算機
システム。
5. The computer system according to claim 2, wherein the checkpoint acquisition condition is determined by a data amount of image data stored in a before image buffer for acquiring image data before updating the memory. .
【請求項6】 前記チェックポイント取得条件は、メモ
リの更新後のイメージデータを採取するアフターイメー
ジバッファに格納されるイメージデータのデータ量によ
って決定されることを特徴とする請求項2記載の計算機
システム。
6. The computer system according to claim 2, wherein the checkpoint acquisition condition is determined by a data amount of image data stored in an after-image buffer for collecting image data after updating the memory. .
【請求項7】 前記チェックポイント処理専用プロセス
の前記ディスパッチ手段によるディスパッチは、タイム
シェアリング処理により行なわれることを特徴とする請
求項1記載の計算機システム。
7. The computer system according to claim 1, wherein the dispatching of the process dedicated to the checkpoint process by the dispatching unit is performed by a time sharing process.
【請求項8】 前記プロセッサのいずれかに一時故障が
発生した場合に、前記チェックポイント処理専用プロセ
スによって最後に取得されたチェックポイント時のプロ
セッサの状態を復元する復元手段をさらに具備したこと
を特徴とする請求項1記載の計算機システム。
8. The apparatus according to claim 1, further comprising a restoring means for restoring the state of the processor at the time of the last checkpoint acquired by the process dedicated to checkpoint processing when a temporary failure occurs in any of the processors. The computer system according to claim 1, wherein
【請求項9】 前記復元手段によりプロセッサの状態が
復元された後、前記チェックポイント処理専用プロセス
をカレントプロセスとしてプロセッサの処理を実行させ
ることを特徴とする請求項8記載の計算機システム。
9. The computer system according to claim 8, wherein, after the state of the processor is restored by the restoring unit, the process of the processor is executed with the checkpoint processing dedicated process as a current process.
【請求項10】 前記プロセッサのいずれかに固定故障
が発生した場合に、前記固定故障が発生したプロセッサ
以外のプロセッサの状態を前記チェックポイント処理専
用プロセスによって最後に取得されたチェックポイント
時のプロセッサの状態に復元する復元手段をさらに具備
したことを特徴とする請求項1記載の計算機システム。
10. When a fixed failure occurs in any of the processors, the state of the processor other than the processor in which the fixed failure has occurred is changed by the checkpoint processing processor which was last acquired by the checkpoint processing dedicated process. 2. The computer system according to claim 1, further comprising restoring means for restoring the state.
【請求項11】 前記復元手段によりプロセッサの状態
が復元された後、前記チェックポイント処理専用プロセ
スをカレントプロセスとして前記固定故障が発生したプ
ロセッサ以外のプロセッサの処理を実行させることを特
徴とする請求項10記載の計算機システム。
11. The processor according to claim 7, wherein after the restoration of the state of the processor by the restoration unit, the process other than the processor in which the fixed failure has occurred is executed by using the checkpoint processing dedicated process as a current process. 10. The computer system according to 10.
【請求項12】 少なくとも1つのプロセッサと、 チェックポイント取得条件が成立した場合に、故障など
によって中断されたプロセスを再開始するためのチェッ
クポイントの取得を指示するチェックポイント処理実行
指示手段と、 オペレーティングシステムのディスパッチャに設けら
れ、前記チェックポイント処理実行指示手段から前記デ
ィスパッチャにチェックポイントの取得が指示された場
合に、前記ディスパッチャより呼び出され、前記プロセ
ッサに対応する各チェックポイントを取得するチェック
ポイント処理手段と、 前記チェックポイント取得後に前記チェックポイント処
理手段を再度待機状態にする待機状態移行手段とを具備
したことを特徴とする計算機システム。
12. At least one processor and, when a checkpoint acquisition condition is satisfied, execution of a checkpoint process for instructing acquisition of a checkpoint for restarting a process interrupted due to a failure or the like.
Instruction means , provided in a dispatcher of the operating system, and transmitted from the checkpoint processing execution instruction means to the
When a dispatcher is instructed to acquire a checkpoint
Is called by the dispatcher and
Check to get each checkpoint corresponding to the checker
And point processing unit, the checkpoint processing after the checkpoint
And a standby state transition unit for setting the management unit to a standby state again.
JP08251041A 1996-01-31 1996-09-24 Computer system Expired - Lifetime JP3122371B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08251041A JP3122371B2 (en) 1996-01-31 1996-09-24 Computer system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1566096 1996-01-31
JP8-15660 1996-01-31
JP08251041A JP3122371B2 (en) 1996-01-31 1996-09-24 Computer system

Publications (2)

Publication Number Publication Date
JPH09269905A JPH09269905A (en) 1997-10-14
JP3122371B2 true JP3122371B2 (en) 2001-01-09

Family

ID=26351848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08251041A Expired - Lifetime JP3122371B2 (en) 1996-01-31 1996-09-24 Computer system

Country Status (1)

Country Link
JP (1) JP3122371B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320274A (en) * 1997-03-19 1998-12-04 Toshiba Corp Cache flashing device, computer system provided with the device and recording medium
US9021299B2 (en) * 2011-02-18 2015-04-28 Ab Initio Technology Llc Restarting processes
US9116759B2 (en) * 2011-02-18 2015-08-25 Ab Initio Technology Llc Restarting data processing systems

Also Published As

Publication number Publication date
JPH09269905A (en) 1997-10-14

Similar Documents

Publication Publication Date Title
JP3072048B2 (en) Computer system and software failure recovery method for computer system
JP3154942B2 (en) Distributed checkpoint generation method and computer system to which the method is applied
JP3120033B2 (en) Distributed memory multiprocessor system and fault recovery method
JPH096636A (en) Check point acquisition system
JPS62298839A (en) Restarting of computer system in case of disturbance
US7305578B2 (en) Failover method in a clustered computer system
KR100246120B1 (en) Computer system
JP5352299B2 (en) High reliability computer system and configuration method thereof
JP3122371B2 (en) Computer system
CN105988885B (en) Operating system failure self-recovery method based on compensation rollback
JP2011186606A (en) Computer system and checkpoint restart method thereof
JPH1139178A (en) Computer system and check point threading method in computer system
JP2002149437A (en) Method for restarting software
JP3919274B2 (en) Computer system having state recording reproduction function and computer-readable recording medium recording state recording reproduction program
JPH117431A (en) Failure recovery system for job executed by plural computers
JP4773715B2 (en) How to get checkpoint
CN104516778A (en) System and method for saving and restoring process checkpoint in multi-task environment
JP3604171B2 (en) Process automatic restart processing method
JP2005182594A (en) Computer and program
JPH09251393A (en) Computer system
JP6891545B2 (en) Data management equipment, information processing systems, data management methods, and programs
JP2001034489A (en) Method for executing and controlling object-oriented program execution environment
JP2002244885A (en) Computer system monitoring system
JPH0793173A (en) Computer network system and process allocating method for computer therein
JP2809174B2 (en) Debug device

Legal Events

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

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081020

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091020

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111020

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111020

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20131020

Year of fee payment: 13

EXPY Cancellation because of completion of term