JPH09269905A - 計算機システム - Google Patents
計算機システムInfo
- Publication number
- JPH09269905A JPH09269905A JP8251041A JP25104196A JPH09269905A JP H09269905 A JPH09269905 A JP H09269905A JP 8251041 A JP8251041 A JP 8251041A JP 25104196 A JP25104196 A JP 25104196A JP H09269905 A JPH09269905 A JP H09269905A
- Authority
- JP
- Japan
- Prior art keywords
- checkpoint
- processor
- computer system
- processing
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
理を不要とすることによって構築コストを大幅に低減さ
せる耐障害性の計算機システムを提供する。 【解決手段】チェックポイントリスタート機能を備えた
耐障害性の計算機システムにおいて、チェックポイント
を取得するチェックポイント処理専用プロセス21を計
算機システムのもつプロセッサ10それぞれに対応して
設ける。チェックポイントの取得時に、ウェイクアップ
部23によってチェックポイント処理専用プロセス21
を実行可能状態にする。チェックポイント処理専用プロ
セス21がチェックポイントを取得した後に、スリープ
部22によってチェックポイント処理専用プロセス21
を再度待機状態とする。これにより任意のプロセス実行
時にチェックポイントが取得されることがなくなるた
め、リスタート時のロックランアウトを不要とすること
ができる。
Description
リスタート機能を備えた計算機システムに係り、チェッ
クポイント処理専用プロセスを設けることにより、リス
タート時のロックランアウト処理を不要にし構築コスト
を大幅に低減させる計算機システムに関する。また、本
発明は、チェックポイントリスタート機能を備えたマル
チプロセッサシステムにおいて一部のプロセッサに故障
が発生した場合にも残りのプロセッサで処理を継続させ
る計算機システムに関する。
取得しながら処理を進め、障害が発生した場合には最後
に取得したチェックポイントからシステムを再実行させ
ることによって、故障からの回復を行なう従来の計算機
システムについて説明する。
中においてはシステムのチェックポイントを取得しなが
ら処理を進めていく。そして、故障などが発生した場合
においては、最後に取得したチェックポイントからシス
テムを再実行させることによって、故障からの回復を行
なう。
合に取得される。 (1)コード中にチェックポイントの取得が明示的に指
示されている場合。 (2)最後にチェックポイントを取得した後、一定時間
が経過した場合。 (3)チェックポイントの取得を促すイベント(割り込
み)が発生した場合。
の時点で発生しうる。従来では、この条件が発生した時
点で、すなわち、プログラム実行中の任意の時点で、即
座にチェックポイントの取得を行なっていた。
している途中で、チェックポイント処理を実行している
様子を示している。時刻t1では、チェックポイントの
取得を促すようなイベントの発生に伴なう割り込み処理
(図14の(1))の中で、チェックポイント処理(図
14の(2))を行なっている。
ントが取得されてから一定時間が経過したときに生ずる
タイマ割り込みの処理(図14の(3))の中で、チェ
ックポイント処理(図14の(4))を行なっている。
すなわちチェックポイントは、任意のプロセス実行中に
取得されていた。
ら処理を進めていく途中で故障が発生し、最終チェック
ポイントから処理を再実行している様子を示している。
時刻t1およびt2でチェックポイントを取得した後に
故障が発生すると(図15の(1))、最後に取得した
チェックポイント(t2)から処理が再実行される(図
15の(2))。
実行を考慮すると、通常、処理の中には、「あるまとま
った単位で扱わなければならない処理」が存在する。こ
のような処理部分の1つにロックランアウト領域と呼ば
れるものがある。
ックポイントを取得しても構わないが、この間に取得さ
れたチェックポイントからシステムを再実行する場合に
は、正常状態に復帰する前に、故障回復処理の中で「走
り切らせる」必要がある区間のことを示す。これはスピ
ンロックを獲得している区間のことである。
状態ではスリープすることができず、ロックが獲得でき
るまでそのプロセッサ上でスピンし続けなければならな
いロックのことである。
ドロックが発生しないように注意する必要がある。通常
は各スピンロックにレベル付けされたロッククラスを付
加し、すでにスピンロックを獲得している状態でさらに
別のスピンロックを獲得する場合には、たとえば現在獲
得しているスピンロックのロッククラスのレベルの中で
最も低いレベルよりも、さらに低いレベルのロッククラ
スのスピンロックしか獲得できないように便宜的に設計
する。このようにスピンロックの獲得を管理することに
より、各プロセッサでのロック獲得の順序性を保証す
る。
スのレベルが設定され、ロック操作の伴なう「処理A」
と「処理D」とを同時に実行する場合であって、その双
方のロックを同時期に重複して獲得しなければならない
場合、各プロセッサは、必ず「処理D」のロック(レベ
ルL5)を獲得してから「処理A」のロック(レベルL
3)を獲得するといった順序を辿らなければならない。
ある理由を、図18および図19を参照して説明する。
図18には、ロックランアウトを実施しないためにデッ
ドロックを発生させてしまう例が示されている。
が、プロセッサ(1)ではプロセスT1が、それぞれ実
行されており、プロセスT0はスピンロックL5とL3
を、プロセスT1はスピンロックL4を獲得した状態で
チェックポイントが取得されたものとする。
故障が発生した場合を考える。この場合、正常に稼働す
るプロセッサは、プロセッサ(1)のみになってしまう
ので、プロセッサ(1)でプロセスT0とプロセスT1
を実行しなければならない。プロセスT0およびプロセ
スT1が現在獲得しているスピンロックは認識可能だ
が、プロセスT0およびプロセスT1がこれからどのよ
うな挙動を示すか、すなわち、これからどのようなスピ
ンロックの獲得を行なうのかは予測することができな
い。
サ(1)には現在低い方のレベルのスピンロックを獲得
しているプロセスT0がディスパッチされたとする。さ
らに、このプロセスT0は、すでに獲得しているスピン
ロックL3を解放した後、スピンロックL4を新たに獲
得しにいったとする。ところがこのスピンロックL4
は、故障発生前はプロセッサ(1)で実行されていたプ
ロセスT1が獲得しているため、プロセスT0はいつま
でたってもこのスピンロックを獲得できない。すなわ
ち、デッドロックの発生である。この問題は、故障前に
は2つのプロセッサでスピンロック獲得の順序性を保証
していたにも拘らず、1個のプロセッサが故障してしま
ったために、各プロセッサで保証していたスピンロック
獲得の順序性が崩れてしまったことに起因する。
ックのランアウト機能が知られている。この機能は、チ
ェックポイントからの再実行前に、チェックポイント取
得時に獲得していたすべてのスピンロックを解放させ、
全てのプロセスを特定のプロセッサに依存しない状態に
するものであり、以下の手順を踏む。
ったスピンロックの中で、最も低いレベルのスピンロッ
クを獲得しているプロセスを選択する。 (2)プロセッサを、選択されたプロセスを実行してい
たプロセッサにみせかけて、そのスピンロックを解放す
るまでそのプロセスを実行する。
ピンロックを獲得しているプロセスがまだ存在するかど
うか調べる。 (4)もし存在すれば、(1)の処理から繰り返す。も
し存在しなければ、ロックランアウトの処理を終える。
スピンロックが獲得されていた場合、まずプロセスT0
が選択され(L3が最もレベルが低い)、このプロセス
T0は、スピンロックL3が解放されるまで実行され
る。
るプロセスT1が選択され(図19B)、さらに、その
解放後にL5を獲得しているプロセスT0が選択されて
(図19C)、ロックランアウトが完了する。そしてこ
のロックランアウトが完了した後に、システムはリスタ
ートを実施する。
ウト処理を実現するためには、スピンロックの解放処理
が、ロックランアウト中は特殊なディスパッチ機構を呼
び出すようにする必要がある。
ェックポイントの取得方法では、ソフトウェア(OS:
オペレーティングシステム)において、ロックランアウ
ト領域といった処理部分を抽出し、それらの「まとまっ
た単位」を保護するために、前述したような特殊なディ
スパッチ機構を実装しなければならなかった。
が余儀なくされてしまうとソフトウェアの実装に制限を
うけてしまうという問題があった。そこで、本発明は上
記事情を考慮をして成されたものであり、チェックポイ
ント処理専用プロセスを設けることにより、リスタート
時のロックランアウト処理を不要にし構築コストを大幅
に低減させる計算機システムを提供することを目的とす
る。
ト機能を備えたマルチプロセッサシステムにおいて、一
部のプロセッサに故障が発生した場合にも残りのプロセ
ッサで処理を継続できる計算機システムを提供すること
を目的とする。
タート機能を備えたマルチプロセッサシステムにおい
て、一部のプロセッサに故障が発生した場合にも残りの
プロセッサで処理を継続させることのできる計算機シス
テムを提供することを目的とする。
成するため、少なくとも1つのプロセッサと、プロセッ
サに対応してそれぞれ設けられ、故障などによって中断
されたプロセスを再開始するためのチェックポイントを
取得するチェックポイント処理専用プロセスと、プロセ
スの実行中に割り込みを行ない、チェックポイント処理
専用プロセスを待機状態から実行可能状態にする割り込
み手段と、割り込み手段によって実行可能状態にされた
チェックポイント処理専用プロセスをディスパッチする
ディスパッチ手段と、ディスパッチ手段によりディスパ
ッチされたチェックポイント処理専用プロセスがチェッ
クポイントを取得後、チェックポイント処理専用プロセ
スを再度待機状態にする待機状態手段とを具備したこと
を特徴とする計算機システムにある。
み手段により、プロセスの実行中に割り込みを行ない、
チェックポイント処理専用プロセスを待機状態から実行
可能状態にする。次に、ディスパッチ手段により、割り
込み手段によって実行可能状態にされたチェックポイン
ト処理専用プロセスをディスパッチし、チェックポイン
トを取得する。これにより、チェックポイント取得時に
は、他の一切のプロセスはrunning状態にはない
ので、デッドロックを発生する可能性はない。
ッチされたチェックポイント処理専用プロセスがチェッ
クポイントを取得後、待機状態移行手段によりチェック
ポイント処理専用プロセスを再度待機状態にする。
に、少なくとも1つのプロセッサと、チェックポイント
取得条件が成立した場合に、故障などによって中断され
たプロセスを再開始するためのチェックポイントの取得
を指示するチェックポイント取得指示手段と、オペレー
ティングシステムのディスパッチャに設けられ、チェッ
クポイントを取得するチェックポイント取得手段と、チ
ェックポイント取得指示手段によりチェックポイントの
取得が指示された場合に、チェックポイント取得手段を
実行可能な状態にする実行可能手段と、実行可能手段に
よって実行可能状態にされたチェックポイント取得手段
をディスパッチするディスパッチ手段と、ディスパッチ
手段によりディスパッチされたチェックポイント取得手
段がチェックポイントを取得後、チェックポイント取得
手段を再度待機状態にする待機状態手段とを具備したこ
とを特徴とする計算機システムにある。
クポイント取得指示手段によりチェックポイントの取得
が指示された場合に、実行可能手段がチェックポイント
取得手段を実行可能な状態にする。次に、ディスパッチ
手段が実行可能手段によって実行可能状態にされたチェ
ックポイント取得手段をディスパッチする。これによ
り、チェックポイント取得時には、他の一切のプロセス
はrunning状態にはないので、デッドロックを発
生する可能性はない。
ッチされたチェックポイント取得手段がチェックポイン
トを取得後、待機状態移行手段によりチェックポイント
取得手段を再度待機状態にする。
トの取得時にrunning状態にあるプロセスは、チ
ェックポイント処理専用プロセスのみである。それ以外
の通常のプロセスは、全て、プロセッサに依存した状態
ではないので、マルチプロセッサシステムのうちの特定
のプロセッサで固定故障が発生したとしても、そのプロ
セッサ用のチェックポイント処理専用プロセスの実行を
行なわなければ、容易にシステムの再コンフィグレーシ
ョン(プロセッサの縮退)を行なうことが可能になる。
実施の形態を説明する。 (第1実施形態)図1は、本発明の一実施形態に係る計
算機システムの概略構成を示す図である。
接続されている。また、この内部バス11にはメモリ1
2、メモリ12の更新前のイメージデータを格納するB
IB(Before Image Buffer)13
が接続されている。
されるオペレーティングシステム(OS)を含めたソフ
トウェアが格納されている。図14は、計算機のチェッ
クポイント/ロールバック機能を説明するための図であ
る。
リの0,1,2,3番地の内容はa,b,c,dであ
り、BIBにデータは格納されていないものとする。こ
の状態をCKPとする。
1番地にxをstoreする命令が発行される。これに
より、メモリの1番地の内容は、xに変化する。このと
き、BIBは、メモリの更新前情報、すなわち、「1番
地がb」であったことを記憶する。
番地にYをstoreする命令が発行されると、メモリ
の2番地の内容がYに書き替えられる前にBIBは、メ
モリの更新情報を記憶する。その後、時刻t3におい
て、障害が発生したとする。
の更新情報を記憶された時とは逆の手順でメモリに反映
させれば、メモリの状態を更新前の状態、すなわち、時
刻t0のCKPの状態にロールバックすることができ
る。
処理が進んだ場合には、適当な時点でBIBに記憶され
ている情報をクリアし、その時点でのメモリの状態をC
KPとすれば、CKPの世代が進むことになる。
ェアの機能を説明するための機能ブロック図である。2
1はチェックポイント処理専用プロセスで、通常は、2
2に示されたスリープ部によって、待機状態になってい
る。
た場合には、23に示されたウェイクアップ部を用い
て、待機状態になっているチェックポイント処理専用プ
ロセス21を実行可能状態とする。
にデータが所定の量だけ格納された場合に成立するもの
とする。なお、チェックポイント取得条件は以下の場合
に成立するとしてもよい。
ータを格納するAIB(AfterImage Buf
fer)にデータが所定の量だけ格納された場合。 (2) コード中にチェックポイントの取得が明示的に
指示されている場合。
てから一定時間が経過した場合。実行可能状態となった
チェックポイント処理専用プロセス21は、ディスパッ
チャ24により選択される。これにより、チェックポイ
ント処理専用プロセス21は実行状態となり、チェック
ポイントの取得を行なう。
には、なるべく早くチェックポイントを取得するため
に、チェックポイント処理専用プロセス21のプライオ
リティ(実行優先度)を高くし、故障通知などの特殊な
割り込み以外は受け付けないようにしておく。
する。図3は、チェックポイント処理専用プロセス21
の処理の流れを示すフローチャートである。
は、通常は待機状態にあるが(ステップA1)、チェッ
クポイント取得条件が成立するとウェイクアップ部23
によってウェイクアップされ実行可能状態になる。そし
て、ディスパッチャ24によってチェックポイント処理
専用プロセスがディスパッチされることによってチェッ
クポイントが取得される(ステップA2)。それが終わ
ると、再び待機状態に戻される。
を通知し、待機状態にあるチェックポイント処理専用プ
ロセス21をウェイクアップさせる処理の流れを示すフ
ローチャートである。
条件が成立すると、割り込み処理あるいはサブルーチン
コールによって、チェックポイント取得条件の成立を通
知する処理を実行する(ステップB1)。ここでは待機
状態にあるチェックポイント処理専用プロセス21を実
行可能状態とする。
待機状態への移行や、実行可能状態への移行において
は、特定のプロセスのみについて行なうため、たとえば
UNIXでは、ウェイクアップさせるプロセスの特定化
のために、特定のウェイトチャネル(この場合はS)を
使用する。
ス21によって取得されたチェックポイントから、再実
行を行なう場合の処理の流れを示すフローチャートであ
る。この場合、最後に取得されたチェックポイントの状
態をまず復元し(ステップC1)、続いてチェックポイ
ント処理専用プロセス21をカレントプロセスとして、
その先頭から処理を実行させる(ステップC2)。ある
いは、チェックポイント中に保存されているチェックポ
イント処理専用プロセスのコンテクストを復元してよ
い。
形態の計算機システムの動作について説明する。図6
は、本実施の形態の計算機システムの動作を説明するた
めの図である。
いる最中に、BIB13に格納されるメモリ12の更新
前のイメージデータのデータ量が所定のデータ量に達す
ると、BIB13は、プロセッサ10にチェックポイン
ト採取要求割り込みをかける。
(1)に割り込みをかけるものとする。BIB13から
プロセッサ(1)に割り込みがかけられると、プロセッ
サ(1)は、実行中のプロセスxの処理を一時的に中断
して割り込み処理を行なう(図6の(1))。
ップ部23によって全ての待機(sleep)状態にあ
るチェックポイント処理専用プロセス21を実行可能
(ready)状態にする(図6の(2))。
イント処理専用プロセスをready状態にする場合を
説明するための図である。このとき、ready状態の
チェックポイント処理専用プロセスのプライオリティ
(実行優先度)を高くし、故障通知などの特殊な割り込
み以外は受け付けないようにしておく。
(1)は、一時中断していたプロセスxの実行を再開
し、このプロセスxの一実行単位が終了すると、続いて
ディスパッチャが呼び出される(図6の(3))。この
ディスパッチャの呼び出しは、タイムシェアリング処理
などの制御によって行なわれる。
プロセスを見つけ、running状態にしてプロセッ
サに実行させる。ここでは、優先度の高いチェックポイ
ント処理専用プロセスがウェイクアップされているの
で、ディスパッチャは、チェックポイント専用プロセス
21を選択して、プロセッサに実行させてチェックポイ
ントの取得を行なわせる(図6の(4))。
算機システムにおいては、任意のプロセスの任意の割り
込み処理において行なわれていたので、プロセスがスピ
ンロックを有していたり、プロセッサに依存したリソー
スにアクセスしている可能性があった。従って、これに
よりデッドロックを発生してしまう可能性があった。
テムにおいては、ディスパッチャによりディスパッチし
たチェックポイント処理専用プロセスによって、チェッ
クポイントを取得するので、他の一切のプロセスはru
nning状態にない。このため、従来の計算機システ
ムのように、リスタート時に、デッドロックが発生する
ことがない。
ると、チェックポイント処理専用プロセス21は、再び
待機(sleep)状態になり(図6の(5))、ディ
スパッチャが呼び出されて、再び任意の通常プロセスが
選択される(図6の(6))。
ロセス21を用いた場合には、チェックポイントの取得
は常にチェックポイント処理専用プロセス21の中での
み実行される。
ト処理が不要となり、チェックポイント取得機能を含む
オペレーティングシステムを大幅に簡単化できる結果、
構築コストを大幅に低減することが可能となる。
次に示すような効果も得ることができる。図8Aは、マ
ルチプロセッサシステムを示す図である。この例では、
プロセッサ(0)〜プロセッサ(3)の4つのプロセッ
サを有したマルチプロセッサシステムを前提としてお
り、各プロセッサ10は、チェックポイントを取得する
際、プロセッサに対応するチェックポイント処理専用プ
ロセス21をディスパッチして行なっている。
おいては、チェックポイントの取得の方法には、(1)
データの依存関係を有するプロセッサ同士が同期して
一斉にチェックポイントを採取する方法、(2) 全て
のプロセッサが同期して一斉にチェックポイントを採取
する方法、の2つの方法がある。
タ依存関係を管理することは難しく、且つオーバヘッド
が大きいため、(2)の方法、すなわち、全てのプロセ
ッサが同期して一斉にチェックポイントを採取すること
が多い。
においても全てのプロセッサが同期して一斉にチェック
ポイントを採取するものとする。このことは、チェック
ポイント取得時において実行中であるプロセスはチェッ
クポイント処理専用プロセス21のみであり、他のいか
なるプロセスも実行状態にはないことを示している。
間欠故障を発生させた場合を考える。この場合、故障回
復処理では、最後に取得したチェックポイントまでシス
テムの状態をロールバックし、後は各プロセッサがチェ
ックポイント取得時に実行していたチェックポイント処
理専用プロセス21をリジュームすればよい。
プロセッサ10が固定故障を発生させた場合を考える。
この場合、故障処理では、最後に取得したチェックポイ
ントまでシステムの状態をロールバックし、後は各プロ
セッサがチェックポイント取得時に実行していたチェッ
クポイント処理専用プロセス21をリジュームする。
10(図8Bではプロセッサ(1))は処理を実行でき
ない。これにより、その固定故障を発生させたプロセッ
サで実行されていたチェックポイント処理専用プロセス
21は、いかなるプロセッサからも実行されなくなり、
かつ他のいずれの通常プロセスも故障したプロセッサに
ディスパッチされることがないため、固定故障を発生さ
せたプロセッサの切り離し(プロセッサの縮退、再コン
フィグレーション)が容易に実現されることとなる。
施形態に係わる計算機システムの概略構成を示す図であ
る。
オペレーティングシステムを含めたソフトウェアを実行
する。24はディスパッチャで、チェックポイント処理
部25を有している。ディスパッチャ24は、常にチェ
ックポイント処理部25を呼び出すわけではなく、チェ
ックポイント処理実行指示部26がチェックポイント処
理の実行を指示している場合にだけ呼び出す。そしてチ
ェックポイント取得条件が成立した場合、チェックポイ
ント処理実行指示部26にてチェックポイント処理の実
行指示される。
ってチェックポイント処理の実行が指示されると、ディ
スパッチャ24は、チェックポイント処理部25を呼び
出す。
たとえばソフトウェアにおける変数をフラグとして用
い、チェックポイント処理の実行を指示する場合にフラ
グをセット(1)する。したがって、ディスパッチャ2
4は、このフラグがセット(1)されている場合にの
み、チェックポイント処理部25を呼び出せば良い。
の形態の計算機システムの動作手順を説明する。図10
は、チェックポイント処理部25を備えたディスパッチ
ャ24の処理の流れを示すフローチャートである。
スパッチャ24は、チェックポイント処理実行指示部2
6からの指示が通知されているか否かを監視し(ステッ
プD1)、チェックポイント処理部25の実行が指示さ
れている場合には、チェックポイント処理部25の実行
指示をクリアした後(ステップD2)、チェックポイン
トの採取を行なう(ステップD3)。
了すると、通常のディスパッチャの処理を実行する(ス
テップD4)。すなわち、優先度の高いプロセスを選択
してプロセッサにそのプロセスを実行させる。
立を通知し、ディスパッチャ24にチェックポイント処
理部26の実行を指示する処理の流れを示すフローチャ
ートである。
得条件が成立すると、割り込み処理あるいはサブルーチ
ンコールによって、チェックポイント取得条件の成立を
通知する処理を実行する(ステップE1)。ここではチ
ェックポイント処理部25の実行を指示する。
示は、前述したように、たとえばソフトウェアにおける
変数をフラグとして用い、チェックポイント処理部25
の実行を指示する場合にフラグをセット(1)する。し
たがって、ディスパッチャ24は、このフラグがセット
(1)されている場合にのみ、チェックポイント処理部
25を呼び出せば良い。
よって取得されたチェックポイントから、再実行を行な
う場合の処理の流れを示すフローチャートである。この
場合、最後に取得されたチェックポイントの状態をまず
復元し(ステップF1)、続いてディスパッチャ24を
先頭から呼び出す(ステップF2)。
計算機システムの動作を説明する。プロセッサが任意の
プロセスを実行している最中に、チェックポイント取得
条件が成立した旨の割り込みが発生すると(図13の
(1))、チェックポイント処理実行指示部26を介し
てチェックポイント処理部25の実行を指示する(図1
3の(2))。
プロセスの一実行単位が終了すると、続いてディスパッ
チャが呼び出されるが、すでにチェックポイント処理部
25の実行が指示されているので、ディスパッチャ24
は、チェックポイントの取得を行なう(図13の
(3))。
と、ディスパッチャ24は、優先度の高いプロセスを選
択し、プロセッサ10にそのプロセスを実行させるとい
う、通常のディスパッチャの処理に戻る(図13の
(4))。
を備えたディスパッチャ24を用いた場合には、チェッ
クポイントの取得は、常にディスパッチャの中でのみ実
行されるため、リスタート時のロックランアウトが不要
となる。従って、チェックポイント取得機能を含むオペ
レーティングシステムを大幅に簡単化でき、構築コスト
を大幅に低減することが可能となる。
によれば、チェックポイントは常に、チェックポイント
取得プロセスの中か、ディスパッチャの中でしか取得さ
れないこととなる。これにより、チェックポイント取得
時に、他のプロセスが実行されているといったことが一
切なくなり、従来のチェックポイントの取得方法では考
慮する必要のあった、上述の「まとまった単位」を考慮
することが不要になり、オペレーティングシステムが大
幅に簡単化できる。この結果、構築あるいは改良のコス
トを大幅に低減させることが可能となる。
は、1部のプロセッサに固定故障が発生した場合にも、
故障が発生したプロセッサ用のチェックポイント処理専
用プロセスの実行を抑止することにより、容易にシステ
ムの再コンフィグレーション(プロセッサの縮退、切り
離し)を実現することが可能になる。
ェックポイント処理専用プロセスを設けることにより、
リスタート時のロックランアウト処理を不要にし構築コ
ストを大幅に低減させることができる。また、チェック
ポイントリスタート機能を備えたマルチプロセッサシス
テムにおいて、一部のプロセッサに故障が発生した場合
にも残りのプロセッサで処理を継続させることができ
る。さらに、チェックポイントリスタート機能を備えた
マルチプロセッサシステムにおいて、一部のプロセッサ
に故障が発生した場合にも残りのプロセッサで処理を継
続させることができるという優れた効果を奏する。
ハードウェア構成を示すブロック図。
格納されるソフトウェアの機能を説明するための機能ブ
ロック図。
プロセスの処理の流れを示すフローチャート。
プロセスをウェイクアップさせる処理の流れを示すフロ
ーチャート。
プロセスによって取得されたチェックポイントから再実
行を行なう場合の処理の流れを示すフローチャート。
明するための図。
ックポイント処理専用プロセスをready状態にする
場合を説明するための図。
ムの構成を示すブロック図(8A)、及びそのシステム
に於いて固定故障が発生した場合のマルチプロセッサシ
ステムの動作を説明するための図(8B)。
示すブロック図。
部を備えたディスパッチャの処理の流れを示すフローチ
ャート。
ックポイント処理部の実行を指示する処理の流れを示す
フローチャート。
部によって取得されたチェックポイントから、再実行を
行なう場合の処理の流れを示すフローチャート。
を説明するための図。
ント/ロールバック機能を説明するための図。
ている途中で、チェックポイント処理を実行している様
子を示す図。
取得しながら処理を進めていく途中で故障が発生し、最
終チェックから再実行している様子を示す図。
図である。
る。
ある。
している途中で、チェックポイント処理を実行している
様子を示している。時刻t1では、チェックポイントの
取得を促すようなイベントの発生に伴なう割り込み処理
(図15の(1))の中で、チェックポイント処理(図
15の(2))を行なっている。
ントが取得されてから一定時間が経過したときに生ずる
タイマ割り込みの処理(図15の(3))の中で、チェ
ックポイント処理(図15の(4))を行なっている。
すなわちチェックポイントは、任意のプロセス実行中に
取得されていた。
ら処理を進めていく途中で故障が発生し、最終チェック
ポイントから処理を再実行している様子を示している。
時刻t1およびt2でチェックポイントを取得した後に
故障が発生すると(図16の(1))、最後に取得した
チェックポイント(t2)から処理が再実行される(図
16の(2))。
Claims (21)
- 【請求項1】 少なくとも1つのプロセッサと、 このプロセッサに対応してそれぞれ設けられ、故障など
によって中断されたプロセスを再開始するためのチェッ
クポイントを取得するチェックポイント処理専用プロセ
スと、 前記プロセスの実行中に割り込みを行ない、前記チェッ
クポイント処理専用プロセスを待機状態から実行可能状
態にする割り込み手段と、 この割り込み手段によって実行可能状態にされたチェッ
クポイント処理専用プロセスをディスパッチするディス
パッチ手段と、 このディスパッチ手段によりディスパッチされた前記チ
ェックポイント処理専用プロセスがチェックポイントを
取得後、前記チェックポイント処理専用プロセスを再度
待機状態にする待機状態移行手段とを具備したことを特
徴とする計算機システム。 - 【請求項2】 前記割り込み手段による割り込み処理
は、チェックポイント取得条件が成立した後に行なわれ
ることを特徴とする請求項1記載の計算機システム。 - 【請求項3】 前記チェックポイント取得条件は、プロ
セッサのコード中にチェックポイントの取得が指示され
ている場合に成立することを特徴とする請求項2記載の
計算機システム。 - 【請求項4】 前記チェックポイント取得条件は、前記
チェックポイント処理専用プロセスによってチェックポ
イントが取得された後、所定時間経過後に成立すること
を特徴とする請求項2記載の計算機システム。 - 【請求項5】 前記チェックポイント取得条件は、メモ
リの更新前のイメージデータを採取するBIBに格納さ
れるイメージデータのデータ量によって決定されること
を特徴とする請求項2記載の計算機システム。 - 【請求項6】 前記チェックポイント取得条件は、メモ
リの更新後のイメージデータを採取するAIBに格納さ
れるイメージデータのデータ量によって決定されること
を特徴とする請求項2記載の計算機システム。 - 【請求項7】 前記チェックポイント処理専用プロセス
の前記ディスパッチ手段によるディスパッチは、タイム
シェアリング処理により行なわれることを特徴とする請
求項1記載の計算機システム。 - 【請求項8】 前記プロセッサのいずれかに一時故障が
発生した場合に、前記チェックポイント処理専用プロセ
スによって最後に取得されたチェックポイント時のプロ
セッサの状態を復元する復元手段をさらに具備したこと
を特徴とする請求項1記載の計算機システム。 - 【請求項9】 前記復元手段によりプロセッサの状態が
復元された後、前記チェックポイント処理専用プロセス
をカレントプロセスとしてプロセッサの処理を実行させ
ることを特徴とする請求項8記載の計算機システム。 - 【請求項10】 前記プロセッサのいずれかに固定故障
が発生した場合に、前記固定故障が発生したプロセッサ
以外のプロセッサの状態を前記チェックポイント処理専
用プロセスによって最後に取得されたチェックポイント
時のプロセッサの状態に復元する復元手段をさらに具備
したことを特徴とする請求項1記載の計算機システム。 - 【請求項11】 前記復元手段によりプロセッサの状態
が復元された後、前記チェックポイント処理専用プロセ
スをカレントプロセスとして前記固定故障が発生したプ
ロセッサ以外のプロセッサの処理を実行させることを特
徴とする請求項10記載の計算機システム。 - 【請求項12】 少なくとも1つのプロセッサと、 チェックポイント取得条件が成立した場合に、故障など
によって中断されたプロセスを再開始するためのチェッ
クポイントの取得を指示するチェックポイント取得指示
手段と、 オペレーティングシステムのディスパッチャに設けら
れ、前記プロセッサに対応する各チェックポイントを取
得するチェックポイント取得手段と、 このチェックポイント取得指示手段によりチェックポイ
ントの取得が指示された場合に、前記チェックポイント
取得手段を実行可能な状態にする実行可能手段と、 この実行可能手段によって実行可能状態にされたチェッ
クポイント取得手段をディスパッチするディスパッチ手
段と、 このディスパッチ手段によりディスパッチされた前記チ
ェックポイント取得手段がチェックポイントを取得後、
前記チェックポイント取得手段を再度待機状態にする待
機状態移行手段とを具備したことを特徴とする計算機シ
ステム。 - 【請求項13】 前記チェックポイント取得条件は、プ
ロセッサのコード中にチェックポイントの取得が指示さ
れている場合に成立することを特徴とする請求項12記
載の計算機システム。 - 【請求項14】 前記チェックポイント取得条件は、前
記チェックポイント取得手段によってチェックポイント
が取得された後、所定時間経過後に成立することを特徴
とする請求項12記載の計算機システム。 - 【請求項15】 前記チェックポイント取得条件は、メ
モリの更新前のイメージデータを採取するBIBに格納
されるイメージデータのデータ量によって決定されるこ
とを特徴とする請求項12記載の計算機システム。 - 【請求項16】 前記チェックポイント取得条件は、メ
モリの更新後のイメージデータを採取するAIBに格納
されるイメージデータのデータ量によって決定されるこ
とを特徴とする請求項12記載の計算機システム。 - 【請求項17】 前記チェックポイント取得手段による
チェックポイントの取得は、タイムシェアリング処理に
より行なわれることを特徴とする請求項12記載の計算
機システム。 - 【請求項18】 前記プロセッサのいずれかに一時故障
が発生した場合に、前記チェックポイント取得手段によ
って最後に取得されたチェックポイント時のプロセッサ
の状態を復元する復元手段をさらに具備したことを特徴
とする請求項12記載の計算機システム。 - 【請求項19】 前記復元手段によりプロセッサの状態
が復元された後、前記チェックポイント取得手段による
チェックポイントの取得をカレントプロセスとしてプロ
セッサの処理を実行させることを特徴とする請求項18
記載の計算機システム。 - 【請求項20】 前記プロセッサのいずれかに固定故障
が発生した場合に、前記固定故障が発生したプロセッサ
以外のプロセッサの状態を前記チェックポイント取得手
段によって最後に取得されたチェックポイント時のプロ
セッサの状態に復元する復元手段をさらに具備したこと
を特徴とする請求項12記載の計算機システム。 - 【請求項21】 前記復元手段によりプロセッサの状態
が復元された後、前記チェックポイント取得手段による
チェックポイントの取得をカレントプロセスとして前記
固定故障が発生したプロセッサ以外のプロセッサの処理
を実行させることを特徴とする請求項20記載の計算機
システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP08251041A JP3122371B2 (ja) | 1996-01-31 | 1996-09-24 | 計算機システム |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8-15660 | 1996-01-31 | ||
| JP1566096 | 1996-01-31 | ||
| JP08251041A JP3122371B2 (ja) | 1996-01-31 | 1996-09-24 | 計算機システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09269905A true JPH09269905A (ja) | 1997-10-14 |
| JP3122371B2 JP3122371B2 (ja) | 2001-01-09 |
Family
ID=26351848
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP08251041A Expired - Lifetime JP3122371B2 (ja) | 1996-01-31 | 1996-09-24 | 計算機システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3122371B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
| JP2014505958A (ja) * | 2011-02-18 | 2014-03-06 | アビニシオ テクノロジー エルエルシー | データ処理システムの再開 |
| JP2014509012A (ja) * | 2011-02-18 | 2014-04-10 | アビニシオ テクノロジー エルエルシー | プロセスの再開 |
-
1996
- 1996-09-24 JP JP08251041A patent/JP3122371B2/ja not_active Expired - Lifetime
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10320274A (ja) * | 1997-03-19 | 1998-12-04 | Toshiba Corp | キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体 |
| JP2014505958A (ja) * | 2011-02-18 | 2014-03-06 | アビニシオ テクノロジー エルエルシー | データ処理システムの再開 |
| JP2014509012A (ja) * | 2011-02-18 | 2014-04-10 | アビニシオ テクノロジー エルエルシー | プロセスの再開 |
| JP2017041263A (ja) * | 2011-02-18 | 2017-02-23 | アビニシオ テクノロジー エルエルシー | プロセスの再開 |
| JP2017062838A (ja) * | 2011-02-18 | 2017-03-30 | アビニシオ テクノロジー エルエルシー | データ処理システムの再開 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3122371B2 (ja) | 2001-01-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3072048B2 (ja) | 計算機システムおよび計算機システムのソフトウェア故障回復方法 | |
| JP3120033B2 (ja) | 分散メモリ型マルチプロセッサシステム及び故障回復方法 | |
| EP1024430B1 (en) | Fault-tolerant Java virtual machine | |
| JP3573463B2 (ja) | 計算の状態を再構成する方法ならびにシステム | |
| EP0250847B1 (en) | Managing log data in a transaction-oriented system | |
| JPH096636A (ja) | チェックポイント取得システム | |
| US20010056438A1 (en) | Database system with backup and recovery mechanisms | |
| US20070288532A1 (en) | Method of updating an executable file for a redundant system with old and new files assured | |
| JPS62298839A (ja) | 障害時に計算機システムを再始動する方法 | |
| JPH09138754A (ja) | 分散チェックポイント生成方法および同方法が適用される計算機システム | |
| JP2785998B2 (ja) | 計算機システム | |
| JPH07311749A (ja) | マルチプロセッサシステム及びカーネル置換方法 | |
| KR100246120B1 (ko) | 컴퓨터 시스템 | |
| CN101093453A (zh) | 基于虚拟内核对象的Linux程序检查点用户级实现方法 | |
| JP4095139B2 (ja) | コンピュータシステムおよびファイル管理方法 | |
| JP3122371B2 (ja) | 計算機システム | |
| CN112559253A (zh) | 一种计算机系统数据备份与还原的方法及装置 | |
| JPH1139178A (ja) | 計算機システム及び計算機システムにおけるチェックポイントスレッド方法 | |
| JP3919274B2 (ja) | 状態記録再現機能を有する計算機システム及び状態記録再現プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| CN111580792A (zh) | 一种基于操作系统的高可靠星载软件架构设计方法 | |
| JPH11353284A (ja) | ジョブ再実行方法 | |
| JP2001109635A (ja) | 障害対処方法及びコンピュータシステム読み取り可能な記録媒体 | |
| JP3708891B2 (ja) | フォールトトレラントシステムにおけるプロセスペア実行制御方法、プロセスペア実行制御プログラム、及びフォールトトレラントシステム | |
| JP2006092055A (ja) | 計算機システム | |
| JP3604171B2 (ja) | プロセス自動再起動処理方式 |
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 |