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
Application number
JP8251041A
Other languages
English (en)
Other versions
JP3122371B2 (ja
Inventor
Hideaki Hirayama
秀昭 平山
Kuniyasu Shimizu
邦保 清水
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/ja
Publication of JPH09269905A publication Critical patent/JPH09269905A/ja
Application granted granted Critical
Publication of JP3122371B2 publication Critical patent/JP3122371B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】本発明は、リスタート時のロックランアウト処
理を不要とすることによって構築コストを大幅に低減さ
せる耐障害性の計算機システムを提供する。 【解決手段】チェックポイントリスタート機能を備えた
耐障害性の計算機システムにおいて、チェックポイント
を取得するチェックポイント処理専用プロセス21を計
算機システムのもつプロセッサ10それぞれに対応して
設ける。チェックポイントの取得時に、ウェイクアップ
部23によってチェックポイント処理専用プロセス21
を実行可能状態にする。チェックポイント処理専用プロ
セス21がチェックポイントを取得した後に、スリープ
部22によってチェックポイント処理専用プロセス21
を再度待機状態とする。これにより任意のプロセス実行
時にチェックポイントが取得されることがなくなるた
め、リスタート時のロックランアウトを不要とすること
ができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、チェックポイント
リスタート機能を備えた計算機システムに係り、チェッ
クポイント処理専用プロセスを設けることにより、リス
タート時のロックランアウト処理を不要にし構築コスト
を大幅に低減させる計算機システムに関する。また、本
発明は、チェックポイントリスタート機能を備えたマル
チプロセッサシステムにおいて一部のプロセッサに故障
が発生した場合にも残りのプロセッサで処理を継続させ
る計算機システムに関する。
【0002】
【従来の技術】例えば、通常時にはチェックポイントを
取得しながら処理を進め、障害が発生した場合には最後
に取得したチェックポイントからシステムを再実行させ
ることによって、故障からの回復を行なう従来の計算機
システムについて説明する。
【0003】この計算機システムにおいては、通常稼働
中においてはシステムのチェックポイントを取得しなが
ら処理を進めていく。そして、故障などが発生した場合
においては、最後に取得したチェックポイントからシス
テムを再実行させることによって、故障からの回復を行
なう。
【0004】このチェックポイントは、以下のような場
合に取得される。 (1)コード中にチェックポイントの取得が明示的に指
示されている場合。 (2)最後にチェックポイントを取得した後、一定時間
が経過した場合。 (3)チェックポイントの取得を促すイベント(割り込
み)が発生した場合。
【0005】これらの条件は、プログラム実行中の任意
の時点で発生しうる。従来では、この条件が発生した時
点で、すなわち、プログラム実行中の任意の時点で、即
座にチェックポイントの取得を行なっていた。
【0006】図14は、プロセッサが通常の処理を実行
している途中で、チェックポイント処理を実行している
様子を示している。時刻t1では、チェックポイントの
取得を促すようなイベントの発生に伴なう割り込み処理
(図14の(1))の中で、チェックポイント処理(図
14の(2))を行なっている。
【0007】また、時刻t2では、最後にチェックポイ
ントが取得されてから一定時間が経過したときに生ずる
タイマ割り込みの処理(図14の(3))の中で、チェ
ックポイント処理(図14の(4))を行なっている。
すなわちチェックポイントは、任意のプロセス実行中に
取得されていた。
【0008】図15は、チェックポイントを取得しなが
ら処理を進めていく途中で故障が発生し、最終チェック
ポイントから処理を再実行している様子を示している。
時刻t1およびt2でチェックポイントを取得した後に
故障が発生すると(図15の(1))、最後に取得した
チェックポイント(t2)から処理が再実行される(図
15の(2))。
【0009】しかし、一般に、故障が発生した場合の再
実行を考慮すると、通常、処理の中には、「あるまとま
った単位で扱わなければならない処理」が存在する。こ
のような処理部分の1つにロックランアウト領域と呼ば
れるものがある。
【0010】ロックランアウト領域とは、この間にチェ
ックポイントを取得しても構わないが、この間に取得さ
れたチェックポイントからシステムを再実行する場合に
は、正常状態に復帰する前に、故障回復処理の中で「走
り切らせる」必要がある区間のことを示す。これはスピ
ンロックを獲得している区間のことである。
【0011】スピンロックとは、そのロックを獲得した
状態ではスリープすることができず、ロックが獲得でき
るまでそのプロセッサ上でスピンし続けなければならな
いロックのことである。
【0012】このスピンロックを獲得する際には、デッ
ドロックが発生しないように注意する必要がある。通常
は各スピンロックにレベル付けされたロッククラスを付
加し、すでにスピンロックを獲得している状態でさらに
別のスピンロックを獲得する場合には、たとえば現在獲
得しているスピンロックのロッククラスのレベルの中で
最も低いレベルよりも、さらに低いレベルのロッククラ
スのスピンロックしか獲得できないように便宜的に設計
する。このようにスピンロックの獲得を管理することに
より、各プロセッサでのロック獲得の順序性を保証す
る。
【0013】たとえば、図17に示すようにロッククラ
スのレベルが設定され、ロック操作の伴なう「処理A」
と「処理D」とを同時に実行する場合であって、その双
方のロックを同時期に重複して獲得しなければならない
場合、各プロセッサは、必ず「処理D」のロック(レベ
ルL5)を獲得してから「処理A」のロック(レベルL
3)を獲得するといった順序を辿らなければならない。
【0014】ここで、ロックをランアウトさせる必要が
ある理由を、図18および図19を参照して説明する。
図18には、ロックランアウトを実施しないためにデッ
ドロックを発生させてしまう例が示されている。
【0015】いま、プロセッサ(0)ではプロセスT0
が、プロセッサ(1)ではプロセスT1が、それぞれ実
行されており、プロセスT0はスピンロックL5とL3
を、プロセスT1はスピンロックL4を獲得した状態で
チェックポイントが取得されたものとする。
【0016】そして、この後、プロセッサ(0)で固定
故障が発生した場合を考える。この場合、正常に稼働す
るプロセッサは、プロセッサ(1)のみになってしまう
ので、プロセッサ(1)でプロセスT0とプロセスT1
を実行しなければならない。プロセスT0およびプロセ
スT1が現在獲得しているスピンロックは認識可能だ
が、プロセスT0およびプロセスT1がこれからどのよ
うな挙動を示すか、すなわち、これからどのようなスピ
ンロックの獲得を行なうのかは予測することができな
い。
【0017】そこで、リカバリを実行した後、プロセッ
サ(1)には現在低い方のレベルのスピンロックを獲得
しているプロセスT0がディスパッチされたとする。さ
らに、このプロセスT0は、すでに獲得しているスピン
ロックL3を解放した後、スピンロックL4を新たに獲
得しにいったとする。ところがこのスピンロックL4
は、故障発生前はプロセッサ(1)で実行されていたプ
ロセスT1が獲得しているため、プロセスT0はいつま
でたってもこのスピンロックを獲得できない。すなわ
ち、デッドロックの発生である。この問題は、故障前に
は2つのプロセッサでスピンロック獲得の順序性を保証
していたにも拘らず、1個のプロセッサが故障してしま
ったために、各プロセッサで保証していたスピンロック
獲得の順序性が崩れてしまったことに起因する。
【0018】この問題を解決するための手法として、ロ
ックのランアウト機能が知られている。この機能は、チ
ェックポイントからの再実行前に、チェックポイント取
得時に獲得していたすべてのスピンロックを解放させ、
全てのプロセスを特定のプロセッサに依存しない状態に
するものであり、以下の手順を踏む。
【0019】(1)チェックポイント取得時に獲得中だ
ったスピンロックの中で、最も低いレベルのスピンロッ
クを獲得しているプロセスを選択する。 (2)プロセッサを、選択されたプロセスを実行してい
たプロセッサにみせかけて、そのスピンロックを解放す
るまでそのプロセスを実行する。
【0020】(3)スピンロックの解放処理の中で、ス
ピンロックを獲得しているプロセスがまだ存在するかど
うか調べる。 (4)もし存在すれば、(1)の処理から繰り返す。も
し存在しなければ、ロックランアウトの処理を終える。
【0021】すなわち、たとえば図19Aに示すように
スピンロックが獲得されていた場合、まずプロセスT0
が選択され(L3が最もレベルが低い)、このプロセス
T0は、スピンロックL3が解放されるまで実行され
る。
【0022】次に、最もレベルが低いL4を獲得してい
るプロセスT1が選択され(図19B)、さらに、その
解放後にL5を獲得しているプロセスT0が選択されて
(図19C)、ロックランアウトが完了する。そしてこ
のロックランアウトが完了した後に、システムはリスタ
ートを実施する。
【0023】このような手順で実行されるロックランア
ウト処理を実現するためには、スピンロックの解放処理
が、ロックランアウト中は特殊なディスパッチ機構を呼
び出すようにする必要がある。
【0024】
【発明が解決しようとする課題】このように、従来のチ
ェックポイントの取得方法では、ソフトウェア(OS:
オペレーティングシステム)において、ロックランアウ
ト領域といった処理部分を抽出し、それらの「まとまっ
た単位」を保護するために、前述したような特殊なディ
スパッチ機構を実装しなければならなかった。
【0025】このため、計算機システムのコストアップ
が余儀なくされてしまうとソフトウェアの実装に制限を
うけてしまうという問題があった。そこで、本発明は上
記事情を考慮をして成されたものであり、チェックポイ
ント処理専用プロセスを設けることにより、リスタート
時のロックランアウト処理を不要にし構築コストを大幅
に低減させる計算機システムを提供することを目的とす
る。
【0026】また、本発明はチェックポイントリスター
ト機能を備えたマルチプロセッサシステムにおいて、一
部のプロセッサに故障が発生した場合にも残りのプロセ
ッサで処理を継続できる計算機システムを提供すること
を目的とする。
【0027】さらに、本発明は、チェックポイントリス
タート機能を備えたマルチプロセッサシステムにおい
て、一部のプロセッサに故障が発生した場合にも残りの
プロセッサで処理を継続させることのできる計算機シス
テムを提供することを目的とする。
【0028】
【課題を解決するための手段】本発明は、上記目的を達
成するため、少なくとも1つのプロセッサと、プロセッ
サに対応してそれぞれ設けられ、故障などによって中断
されたプロセスを再開始するためのチェックポイントを
取得するチェックポイント処理専用プロセスと、プロセ
スの実行中に割り込みを行ない、チェックポイント処理
専用プロセスを待機状態から実行可能状態にする割り込
み手段と、割り込み手段によって実行可能状態にされた
チェックポイント処理専用プロセスをディスパッチする
ディスパッチ手段と、ディスパッチ手段によりディスパ
ッチされたチェックポイント処理専用プロセスがチェッ
クポイントを取得後、チェックポイント処理専用プロセ
スを再度待機状態にする待機状態手段とを具備したこと
を特徴とする計算機システムにある。
【0029】従って、このような構成によれば、割り込
み手段により、プロセスの実行中に割り込みを行ない、
チェックポイント処理専用プロセスを待機状態から実行
可能状態にする。次に、ディスパッチ手段により、割り
込み手段によって実行可能状態にされたチェックポイン
ト処理専用プロセスをディスパッチし、チェックポイン
トを取得する。これにより、チェックポイント取得時に
は、他の一切のプロセスはrunning状態にはない
ので、デッドロックを発生する可能性はない。
【0030】そして、ディスパッチ手段によりディスパ
ッチされたチェックポイント処理専用プロセスがチェッ
クポイントを取得後、待機状態移行手段によりチェック
ポイント処理専用プロセスを再度待機状態にする。
【0031】また、本発明は上記目的を達成するため
に、少なくとも1つのプロセッサと、チェックポイント
取得条件が成立した場合に、故障などによって中断され
たプロセスを再開始するためのチェックポイントの取得
を指示するチェックポイント取得指示手段と、オペレー
ティングシステムのディスパッチャに設けられ、チェッ
クポイントを取得するチェックポイント取得手段と、チ
ェックポイント取得指示手段によりチェックポイントの
取得が指示された場合に、チェックポイント取得手段を
実行可能な状態にする実行可能手段と、実行可能手段に
よって実行可能状態にされたチェックポイント取得手段
をディスパッチするディスパッチ手段と、ディスパッチ
手段によりディスパッチされたチェックポイント取得手
段がチェックポイントを取得後、チェックポイント取得
手段を再度待機状態にする待機状態手段とを具備したこ
とを特徴とする計算機システムにある。
【0032】従って、このような構成によれば、チェッ
クポイント取得指示手段によりチェックポイントの取得
が指示された場合に、実行可能手段がチェックポイント
取得手段を実行可能な状態にする。次に、ディスパッチ
手段が実行可能手段によって実行可能状態にされたチェ
ックポイント取得手段をディスパッチする。これによ
り、チェックポイント取得時には、他の一切のプロセス
はrunning状態にはないので、デッドロックを発
生する可能性はない。
【0033】そして、ディスパッチ手段によりディスパ
ッチされたチェックポイント取得手段がチェックポイン
トを取得後、待機状態移行手段によりチェックポイント
取得手段を再度待機状態にする。
【0034】さらに、本発明によれば、チェックポイン
トの取得時にrunning状態にあるプロセスは、チ
ェックポイント処理専用プロセスのみである。それ以外
の通常のプロセスは、全て、プロセッサに依存した状態
ではないので、マルチプロセッサシステムのうちの特定
のプロセッサで固定故障が発生したとしても、そのプロ
セッサ用のチェックポイント処理専用プロセスの実行を
行なわなければ、容易にシステムの再コンフィグレーシ
ョン(プロセッサの縮退)を行なうことが可能になる。
【0035】
【発明の実施の形態】以下、図面を参照して本発明の一
実施の形態を説明する。 (第1実施形態)図1は、本発明の一実施形態に係る計
算機システムの概略構成を示す図である。
【0036】10はプロセッサであり、内部バス11に
接続されている。また、この内部バス11にはメモリ1
2、メモリ12の更新前のイメージデータを格納するB
IB(Before Image Buffer)13
が接続されている。
【0037】メモリ12には、プロセッサによって実行
されるオペレーティングシステム(OS)を含めたソフ
トウェアが格納されている。図14は、計算機のチェッ
クポイント/ロールバック機能を説明するための図であ
る。
【0038】同図に示すように、時刻t0においてメモ
リの0,1,2,3番地の内容はa,b,c,dであ
り、BIBにデータは格納されていないものとする。こ
の状態をCKPとする。
【0039】その後、時刻t1においてプロセッサから
1番地にxをstoreする命令が発行される。これに
より、メモリの1番地の内容は、xに変化する。このと
き、BIBは、メモリの更新前情報、すなわち、「1番
地がb」であったことを記憶する。
【0040】次に、時刻t2においてプロセッサから2
番地にYをstoreする命令が発行されると、メモリ
の2番地の内容がYに書き替えられる前にBIBは、メ
モリの更新情報を記憶する。その後、時刻t3におい
て、障害が発生したとする。
【0041】この場合、BIBに記憶されているメモリ
の更新情報を記憶された時とは逆の手順でメモリに反映
させれば、メモリの状態を更新前の状態、すなわち、時
刻t0のCKPの状態にロールバックすることができ
る。
【0042】また、時刻t3の時点で障害が発生せずに
処理が進んだ場合には、適当な時点でBIBに記憶され
ている情報をクリアし、その時点でのメモリの状態をC
KPとすれば、CKPの世代が進むことになる。
【0043】図2は、メモリ12に格納されるソフトウ
ェアの機能を説明するための機能ブロック図である。2
1はチェックポイント処理専用プロセスで、通常は、2
2に示されたスリープ部によって、待機状態になってい
る。
【0044】また、チェックポイント取得条件が成立し
た場合には、23に示されたウェイクアップ部を用い
て、待機状態になっているチェックポイント処理専用プ
ロセス21を実行可能状態とする。
【0045】チェックポイント取得条件は、BIB13
にデータが所定の量だけ格納された場合に成立するもの
とする。なお、チェックポイント取得条件は以下の場合
に成立するとしてもよい。
【0046】(1) メモリ12の更新後のイメージデ
ータを格納するAIB(AfterImage Buf
fer)にデータが所定の量だけ格納された場合。 (2) コード中にチェックポイントの取得が明示的に
指示されている場合。
【0047】(3) 最後のチェックポイントを取得し
てから一定時間が経過した場合。実行可能状態となった
チェックポイント処理専用プロセス21は、ディスパッ
チャ24により選択される。これにより、チェックポイ
ント処理専用プロセス21は実行状態となり、チェック
ポイントの取得を行なう。
【0048】チェックポイント取得条件が成立した場合
には、なるべく早くチェックポイントを取得するため
に、チェックポイント処理専用プロセス21のプライオ
リティ(実行優先度)を高くし、故障通知などの特殊な
割り込み以外は受け付けないようにしておく。
【0049】次に、図3乃至図5を参照して動作を説明
する。図3は、チェックポイント処理専用プロセス21
の処理の流れを示すフローチャートである。
【0050】チェックポイント処理専用プロセス21
は、通常は待機状態にあるが(ステップA1)、チェッ
クポイント取得条件が成立するとウェイクアップ部23
によってウェイクアップされ実行可能状態になる。そし
て、ディスパッチャ24によってチェックポイント処理
専用プロセスがディスパッチされることによってチェッ
クポイントが取得される(ステップA2)。それが終わ
ると、再び待機状態に戻される。
【0051】図4は、チェックポイント取得条件の成立
を通知し、待機状態にあるチェックポイント処理専用プ
ロセス21をウェイクアップさせる処理の流れを示すフ
ローチャートである。
【0052】図4で示すように、チェックポイント取得
条件が成立すると、割り込み処理あるいはサブルーチン
コールによって、チェックポイント取得条件の成立を通
知する処理を実行する(ステップB1)。ここでは待機
状態にあるチェックポイント処理専用プロセス21を実
行可能状態とする。
【0053】チェックポイント処理専用プロセス21の
待機状態への移行や、実行可能状態への移行において
は、特定のプロセスのみについて行なうため、たとえば
UNIXでは、ウェイクアップさせるプロセスの特定化
のために、特定のウェイトチャネル(この場合はS)を
使用する。
【0054】図5は、チェックポイント処理専用プロセ
ス21によって取得されたチェックポイントから、再実
行を行なう場合の処理の流れを示すフローチャートであ
る。この場合、最後に取得されたチェックポイントの状
態をまず復元し(ステップC1)、続いてチェックポイ
ント処理専用プロセス21をカレントプロセスとして、
その先頭から処理を実行させる(ステップC2)。ある
いは、チェックポイント中に保存されているチェックポ
イント処理専用プロセスのコンテクストを復元してよ
い。
【0055】次に、図1乃至図7を参照して、本実施の
形態の計算機システムの動作について説明する。図6
は、本実施の形態の計算機システムの動作を説明するた
めの図である。
【0056】プロセッサが任意のプロセスxを実行して
いる最中に、BIB13に格納されるメモリ12の更新
前のイメージデータのデータ量が所定のデータ量に達す
ると、BIB13は、プロセッサ10にチェックポイン
ト採取要求割り込みをかける。
【0057】ここでは、BIB13は、プロセッサ
(1)に割り込みをかけるものとする。BIB13から
プロセッサ(1)に割り込みがかけられると、プロセッ
サ(1)は、実行中のプロセスxの処理を一時的に中断
して割り込み処理を行なう(図6の(1))。
【0058】この割り込み処理においては、ウェイクア
ップ部23によって全ての待機(sleep)状態にあ
るチェックポイント処理専用プロセス21を実行可能
(ready)状態にする(図6の(2))。
【0059】図7は、sleep状態にあるチェックポ
イント処理専用プロセスをready状態にする場合を
説明するための図である。このとき、ready状態の
チェックポイント処理専用プロセスのプライオリティ
(実行優先度)を高くし、故障通知などの特殊な割り込
み以外は受け付けないようにしておく。
【0060】割り込み処理を終えると、プロセッサ
(1)は、一時中断していたプロセスxの実行を再開
し、このプロセスxの一実行単位が終了すると、続いて
ディスパッチャが呼び出される(図6の(3))。この
ディスパッチャの呼び出しは、タイムシェアリング処理
などの制御によって行なわれる。
【0061】ディスパッチャは、プライオリティの高い
プロセスを見つけ、running状態にしてプロセッ
サに実行させる。ここでは、優先度の高いチェックポイ
ント処理専用プロセスがウェイクアップされているの
で、ディスパッチャは、チェックポイント専用プロセス
21を選択して、プロセッサに実行させてチェックポイ
ントの取得を行なわせる(図6の(4))。
【0062】このチェックポイントの取得は、従来の計
算機システムにおいては、任意のプロセスの任意の割り
込み処理において行なわれていたので、プロセスがスピ
ンロックを有していたり、プロセッサに依存したリソー
スにアクセスしている可能性があった。従って、これに
よりデッドロックを発生してしまう可能性があった。
【0063】これに対して、本実施の形態の計算機シス
テムにおいては、ディスパッチャによりディスパッチし
たチェックポイント処理専用プロセスによって、チェッ
クポイントを取得するので、他の一切のプロセスはru
nning状態にない。このため、従来の計算機システ
ムのように、リスタート時に、デッドロックが発生する
ことがない。
【0064】そして、チェックポイントの取得が終了す
ると、チェックポイント処理専用プロセス21は、再び
待機(sleep)状態になり(図6の(5))、ディ
スパッチャが呼び出されて、再び任意の通常プロセスが
選択される(図6の(6))。
【0065】このように、チェックポイント処理専用プ
ロセス21を用いた場合には、チェックポイントの取得
は常にチェックポイント処理専用プロセス21の中での
み実行される。
【0066】このため、リスタート時のロックランアウ
ト処理が不要となり、チェックポイント取得機能を含む
オペレーティングシステムを大幅に簡単化できる結果、
構築コストを大幅に低減することが可能となる。
【0067】また、このような構成とすることにより、
次に示すような効果も得ることができる。図8Aは、マ
ルチプロセッサシステムを示す図である。この例では、
プロセッサ(0)〜プロセッサ(3)の4つのプロセッ
サを有したマルチプロセッサシステムを前提としてお
り、各プロセッサ10は、チェックポイントを取得する
際、プロセッサに対応するチェックポイント処理専用プ
ロセス21をディスパッチして行なっている。
【0068】具体的には、マルチプロセッサシステムに
おいては、チェックポイントの取得の方法には、(1)
データの依存関係を有するプロセッサ同士が同期して
一斉にチェックポイントを採取する方法、(2) 全て
のプロセッサが同期して一斉にチェックポイントを採取
する方法、の2つの方法がある。
【0069】しかし、一般的には、プロセッサ間のデー
タ依存関係を管理することは難しく、且つオーバヘッド
が大きいため、(2)の方法、すなわち、全てのプロセ
ッサが同期して一斉にチェックポイントを採取すること
が多い。
【0070】本実施の形態のマルチプロセッサシステム
においても全てのプロセッサが同期して一斉にチェック
ポイントを採取するものとする。このことは、チェック
ポイント取得時において実行中であるプロセスはチェッ
クポイント処理専用プロセス21のみであり、他のいか
なるプロセスも実行状態にはないことを示している。
【0071】ここで、たとえば特定のプロセッサ10が
間欠故障を発生させた場合を考える。この場合、故障回
復処理では、最後に取得したチェックポイントまでシス
テムの状態をロールバックし、後は各プロセッサがチェ
ックポイント取得時に実行していたチェックポイント処
理専用プロセス21をリジュームすればよい。
【0072】次に、図8Bを参照して、たとえば特定の
プロセッサ10が固定故障を発生させた場合を考える。
この場合、故障処理では、最後に取得したチェックポイ
ントまでシステムの状態をロールバックし、後は各プロ
セッサがチェックポイント取得時に実行していたチェッ
クポイント処理専用プロセス21をリジュームする。
【0073】ただし、固定故障を発生させたプロセッサ
10(図8Bではプロセッサ(1))は処理を実行でき
ない。これにより、その固定故障を発生させたプロセッ
サで実行されていたチェックポイント処理専用プロセス
21は、いかなるプロセッサからも実行されなくなり、
かつ他のいずれの通常プロセスも故障したプロセッサに
ディスパッチされることがないため、固定故障を発生さ
せたプロセッサの切り離し(プロセッサの縮退、再コン
フィグレーション)が容易に実現されることとなる。
【0074】(第2実施形態)図9は、本発明の第2実
施形態に係わる計算機システムの概略構成を示す図であ
る。
【0075】10はプロセッサであり、20に示された
オペレーティングシステムを含めたソフトウェアを実行
する。24はディスパッチャで、チェックポイント処理
部25を有している。ディスパッチャ24は、常にチェ
ックポイント処理部25を呼び出すわけではなく、チェ
ックポイント処理実行指示部26がチェックポイント処
理の実行を指示している場合にだけ呼び出す。そしてチ
ェックポイント取得条件が成立した場合、チェックポイ
ント処理実行指示部26にてチェックポイント処理の実
行指示される。
【0076】チェックポイント処理実行指示部26によ
ってチェックポイント処理の実行が指示されると、ディ
スパッチャ24は、チェックポイント処理部25を呼び
出す。
【0077】このチェックポイント処理の実行指示は、
たとえばソフトウェアにおける変数をフラグとして用
い、チェックポイント処理の実行を指示する場合にフラ
グをセット(1)する。したがって、ディスパッチャ2
4は、このフラグがセット(1)されている場合にの
み、チェックポイント処理部25を呼び出せば良い。
【0078】次に、図10乃至図12を参照して本実施
の形態の計算機システムの動作手順を説明する。図10
は、チェックポイント処理部25を備えたディスパッチ
ャ24の処理の流れを示すフローチャートである。
【0079】チェックポイント処理部25を備えたディ
スパッチャ24は、チェックポイント処理実行指示部2
6からの指示が通知されているか否かを監視し(ステッ
プD1)、チェックポイント処理部25の実行が指示さ
れている場合には、チェックポイント処理部25の実行
指示をクリアした後(ステップD2)、チェックポイン
トの採取を行なう(ステップD3)。
【0080】そして、このチェックポイントの採取が完
了すると、通常のディスパッチャの処理を実行する(ス
テップD4)。すなわち、優先度の高いプロセスを選択
してプロセッサにそのプロセスを実行させる。
【0081】図11は、チェックポイント取得条件の成
立を通知し、ディスパッチャ24にチェックポイント処
理部26の実行を指示する処理の流れを示すフローチャ
ートである。
【0082】図11に示すように、チェックポイント取
得条件が成立すると、割り込み処理あるいはサブルーチ
ンコールによって、チェックポイント取得条件の成立を
通知する処理を実行する(ステップE1)。ここではチ
ェックポイント処理部25の実行を指示する。
【0083】このチェックポイント処理部25の実行指
示は、前述したように、たとえばソフトウェアにおける
変数をフラグとして用い、チェックポイント処理部25
の実行を指示する場合にフラグをセット(1)する。し
たがって、ディスパッチャ24は、このフラグがセット
(1)されている場合にのみ、チェックポイント処理部
25を呼び出せば良い。
【0084】図12は、チェックポイント処理部25に
よって取得されたチェックポイントから、再実行を行な
う場合の処理の流れを示すフローチャートである。この
場合、最後に取得されたチェックポイントの状態をまず
復元し(ステップF1)、続いてディスパッチャ24を
先頭から呼び出す(ステップF2)。
【0085】ここで、図13を参照して本実施の形態の
計算機システムの動作を説明する。プロセッサが任意の
プロセスを実行している最中に、チェックポイント取得
条件が成立した旨の割り込みが発生すると(図13の
(1))、チェックポイント処理実行指示部26を介し
てチェックポイント処理部25の実行を指示する(図1
3の(2))。
【0086】この後、元のプロセスに制御が戻り、この
プロセスの一実行単位が終了すると、続いてディスパッ
チャが呼び出されるが、すでにチェックポイント処理部
25の実行が指示されているので、ディスパッチャ24
は、チェックポイントの取得を行なう(図13の
(3))。
【0087】このチェックポイントの取得が終了する
と、ディスパッチャ24は、優先度の高いプロセスを選
択し、プロセッサ10にそのプロセスを実行させるとい
う、通常のディスパッチャの処理に戻る(図13の
(4))。
【0088】このように、チェックポイント処理部25
を備えたディスパッチャ24を用いた場合には、チェッ
クポイントの取得は、常にディスパッチャの中でのみ実
行されるため、リスタート時のロックランアウトが不要
となる。従って、チェックポイント取得機能を含むオペ
レーティングシステムを大幅に簡単化でき、構築コスト
を大幅に低減することが可能となる。
【0089】従って、上述実施の形態の計算機システム
によれば、チェックポイントは常に、チェックポイント
取得プロセスの中か、ディスパッチャの中でしか取得さ
れないこととなる。これにより、チェックポイント取得
時に、他のプロセスが実行されているといったことが一
切なくなり、従来のチェックポイントの取得方法では考
慮する必要のあった、上述の「まとまった単位」を考慮
することが不要になり、オペレーティングシステムが大
幅に簡単化できる。この結果、構築あるいは改良のコス
トを大幅に低減させることが可能となる。
【0090】また、マルチプロセッサシステムにおいて
は、1部のプロセッサに固定故障が発生した場合にも、
故障が発生したプロセッサ用のチェックポイント処理専
用プロセスの実行を抑止することにより、容易にシステ
ムの再コンフィグレーション(プロセッサの縮退、切り
離し)を実現することが可能になる。
【0091】
【発明の効果】以上詳記したように本発明によれば、チ
ェックポイント処理専用プロセスを設けることにより、
リスタート時のロックランアウト処理を不要にし構築コ
ストを大幅に低減させることができる。また、チェック
ポイントリスタート機能を備えたマルチプロセッサシス
テムにおいて、一部のプロセッサに故障が発生した場合
にも残りのプロセッサで処理を継続させることができ
る。さらに、チェックポイントリスタート機能を備えた
マルチプロセッサシステムにおいて、一部のプロセッサ
に故障が発生した場合にも残りのプロセッサで処理を継
続させることができるという優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係る計算機システムの
ハードウェア構成を示すブロック図。
【図2】同実施の形態に係る計算機システムのメモリに
格納されるソフトウェアの機能を説明するための機能ブ
ロック図。
【図3】同実施の形態に係るチェックポイント処理専用
プロセスの処理の流れを示すフローチャート。
【図4】同実施の形態に係るチェックポイント処理専用
プロセスをウェイクアップさせる処理の流れを示すフロ
ーチャート。
【図5】同実施の形態に係るチェックポイント処理専用
プロセスによって取得されたチェックポイントから再実
行を行なう場合の処理の流れを示すフローチャート。
【図6】同実施の形態に係る計算機システムの動作を説
明するための図。
【図7】同実施の形態に係るsleep状態にあるチェ
ックポイント処理専用プロセスをready状態にする
場合を説明するための図。
【図8】同実施の形態に係る、マルチプロセッサシステ
ムの構成を示すブロック図(8A)、及びそのシステム
に於いて固定故障が発生した場合のマルチプロセッサシ
ステムの動作を説明するための図(8B)。
【図9】第2実施の形態に係る計算機システムの構成を
示すブロック図。
【図10】同実施の形態に係る、チェックポイント処理
部を備えたディスパッチャの処理の流れを示すフローチ
ャート。
【図11】同実施の形態に係る、ディスパッチャにチェ
ックポイント処理部の実行を指示する処理の流れを示す
フローチャート。
【図12】同実施の形態に係る、チェックポイント処理
部によって取得されたチェックポイントから、再実行を
行なう場合の処理の流れを示すフローチャート。
【図13】同実施の形態に係る、計算機システムの動作
を説明するための図。
【図14】同実施の形態に係る、計算機のチェックポイ
ント/ロールバック機能を説明するための図。
【図15】従来の計算機システムが通常の処理を実行し
ている途中で、チェックポイント処理を実行している様
子を示す図。
【図16】従来の計算機システムがチェックポイントを
取得しながら処理を進めていく途中で故障が発生し、最
終チェックから再実行している様子を示す図。
【図17】従来のロッククラスのレベルの設定例を示す
図である。
【図18】デッドロックの発生を説明するための図であ
る。
【図19】ロックランアウト処理を説明するための図で
ある。
【符号の説明】
10…プロセッサ、 12…メモリ、 13…BIB、 21…チェックポイント処理専用プロセス、 22…スリープ部、 23…ウェイクアップ部、 24…ディスパッチャ、 25…チェックポイント処理部。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成8年10月22日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正内容】
【0006】図15は、プロセッサが通常の処理を実行
している途中で、チェックポイント処理を実行している
様子を示している。時刻t1では、チェックポイントの
取得を促すようなイベントの発生に伴なう割り込み処理
(図15の(1))の中で、チェックポイント処理(図
15の(2))を行なっている。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正内容】
【0007】また、時刻t2では、最後にチェックポイ
ントが取得されてから一定時間が経過したときに生ずる
タイマ割り込みの処理(図15の(3))の中で、チェ
ックポイント処理(図15の(4))を行なっている。
すなわちチェックポイントは、任意のプロセス実行中に
取得されていた。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正内容】
【0008】図16は、チェックポイントを取得しなが
ら処理を進めていく途中で故障が発生し、最終チェック
ポイントから処理を再実行している様子を示している。
時刻t1およびt2でチェックポイントを取得した後に
故障が発生すると(図16の(1))、最後に取得した
チェックポイント(t2)から処理が再実行される(図
16の(2))。

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのプロセッサと、 このプロセッサに対応してそれぞれ設けられ、故障など
    によって中断されたプロセスを再開始するためのチェッ
    クポイントを取得するチェックポイント処理専用プロセ
    スと、 前記プロセスの実行中に割り込みを行ない、前記チェッ
    クポイント処理専用プロセスを待機状態から実行可能状
    態にする割り込み手段と、 この割り込み手段によって実行可能状態にされたチェッ
    クポイント処理専用プロセスをディスパッチするディス
    パッチ手段と、 このディスパッチ手段によりディスパッチされた前記チ
    ェックポイント処理専用プロセスがチェックポイントを
    取得後、前記チェックポイント処理専用プロセスを再度
    待機状態にする待機状態移行手段とを具備したことを特
    徴とする計算機システム。
  2. 【請求項2】 前記割り込み手段による割り込み処理
    は、チェックポイント取得条件が成立した後に行なわれ
    ることを特徴とする請求項1記載の計算機システム。
  3. 【請求項3】 前記チェックポイント取得条件は、プロ
    セッサのコード中にチェックポイントの取得が指示され
    ている場合に成立することを特徴とする請求項2記載の
    計算機システム。
  4. 【請求項4】 前記チェックポイント取得条件は、前記
    チェックポイント処理専用プロセスによってチェックポ
    イントが取得された後、所定時間経過後に成立すること
    を特徴とする請求項2記載の計算機システム。
  5. 【請求項5】 前記チェックポイント取得条件は、メモ
    リの更新前のイメージデータを採取するBIBに格納さ
    れるイメージデータのデータ量によって決定されること
    を特徴とする請求項2記載の計算機システム。
  6. 【請求項6】 前記チェックポイント取得条件は、メモ
    リの更新後のイメージデータを採取するAIBに格納さ
    れるイメージデータのデータ量によって決定されること
    を特徴とする請求項2記載の計算機システム。
  7. 【請求項7】 前記チェックポイント処理専用プロセス
    の前記ディスパッチ手段によるディスパッチは、タイム
    シェアリング処理により行なわれることを特徴とする請
    求項1記載の計算機システム。
  8. 【請求項8】 前記プロセッサのいずれかに一時故障が
    発生した場合に、前記チェックポイント処理専用プロセ
    スによって最後に取得されたチェックポイント時のプロ
    セッサの状態を復元する復元手段をさらに具備したこと
    を特徴とする請求項1記載の計算機システム。
  9. 【請求項9】 前記復元手段によりプロセッサの状態が
    復元された後、前記チェックポイント処理専用プロセス
    をカレントプロセスとしてプロセッサの処理を実行させ
    ることを特徴とする請求項8記載の計算機システム。
  10. 【請求項10】 前記プロセッサのいずれかに固定故障
    が発生した場合に、前記固定故障が発生したプロセッサ
    以外のプロセッサの状態を前記チェックポイント処理専
    用プロセスによって最後に取得されたチェックポイント
    時のプロセッサの状態に復元する復元手段をさらに具備
    したことを特徴とする請求項1記載の計算機システム。
  11. 【請求項11】 前記復元手段によりプロセッサの状態
    が復元された後、前記チェックポイント処理専用プロセ
    スをカレントプロセスとして前記固定故障が発生したプ
    ロセッサ以外のプロセッサの処理を実行させることを特
    徴とする請求項10記載の計算機システム。
  12. 【請求項12】 少なくとも1つのプロセッサと、 チェックポイント取得条件が成立した場合に、故障など
    によって中断されたプロセスを再開始するためのチェッ
    クポイントの取得を指示するチェックポイント取得指示
    手段と、 オペレーティングシステムのディスパッチャに設けら
    れ、前記プロセッサに対応する各チェックポイントを取
    得するチェックポイント取得手段と、 このチェックポイント取得指示手段によりチェックポイ
    ントの取得が指示された場合に、前記チェックポイント
    取得手段を実行可能な状態にする実行可能手段と、 この実行可能手段によって実行可能状態にされたチェッ
    クポイント取得手段をディスパッチするディスパッチ手
    段と、 このディスパッチ手段によりディスパッチされた前記チ
    ェックポイント取得手段がチェックポイントを取得後、
    前記チェックポイント取得手段を再度待機状態にする待
    機状態移行手段とを具備したことを特徴とする計算機シ
    ステム。
  13. 【請求項13】 前記チェックポイント取得条件は、プ
    ロセッサのコード中にチェックポイントの取得が指示さ
    れている場合に成立することを特徴とする請求項12記
    載の計算機システム。
  14. 【請求項14】 前記チェックポイント取得条件は、前
    記チェックポイント取得手段によってチェックポイント
    が取得された後、所定時間経過後に成立することを特徴
    とする請求項12記載の計算機システム。
  15. 【請求項15】 前記チェックポイント取得条件は、メ
    モリの更新前のイメージデータを採取するBIBに格納
    されるイメージデータのデータ量によって決定されるこ
    とを特徴とする請求項12記載の計算機システム。
  16. 【請求項16】 前記チェックポイント取得条件は、メ
    モリの更新後のイメージデータを採取するAIBに格納
    されるイメージデータのデータ量によって決定されるこ
    とを特徴とする請求項12記載の計算機システム。
  17. 【請求項17】 前記チェックポイント取得手段による
    チェックポイントの取得は、タイムシェアリング処理に
    より行なわれることを特徴とする請求項12記載の計算
    機システム。
  18. 【請求項18】 前記プロセッサのいずれかに一時故障
    が発生した場合に、前記チェックポイント取得手段によ
    って最後に取得されたチェックポイント時のプロセッサ
    の状態を復元する復元手段をさらに具備したことを特徴
    とする請求項12記載の計算機システム。
  19. 【請求項19】 前記復元手段によりプロセッサの状態
    が復元された後、前記チェックポイント取得手段による
    チェックポイントの取得をカレントプロセスとしてプロ
    セッサの処理を実行させることを特徴とする請求項18
    記載の計算機システム。
  20. 【請求項20】 前記プロセッサのいずれかに固定故障
    が発生した場合に、前記固定故障が発生したプロセッサ
    以外のプロセッサの状態を前記チェックポイント取得手
    段によって最後に取得されたチェックポイント時のプロ
    セッサの状態に復元する復元手段をさらに具備したこと
    を特徴とする請求項12記載の計算機システム。
  21. 【請求項21】 前記復元手段によりプロセッサの状態
    が復元された後、前記チェックポイント取得手段による
    チェックポイントの取得をカレントプロセスとして前記
    固定故障が発生したプロセッサ以外のプロセッサの処理
    を実行させることを特徴とする請求項20記載の計算機
    システム。
JP08251041A 1996-01-31 1996-09-24 計算機システム Expired - Lifetime JP3122371B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 アビニシオ テクノロジー エルエルシー プロセスの再開

Cited By (5)

* Cited by examiner, † Cited by third party
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