JPH07311712A - 障害復旧方法 - Google Patents

障害復旧方法

Info

Publication number
JPH07311712A
JPH07311712A JP6105546A JP10554694A JPH07311712A JP H07311712 A JPH07311712 A JP H07311712A JP 6105546 A JP6105546 A JP 6105546A JP 10554694 A JP10554694 A JP 10554694A JP H07311712 A JPH07311712 A JP H07311712A
Authority
JP
Japan
Prior art keywords
memory
cache
released
checkpoint
generation
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.)
Pending
Application number
JP6105546A
Other languages
English (en)
Inventor
Toshiki Kitsu
俊樹 岐津
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 JP6105546A priority Critical patent/JPH07311712A/ja
Publication of JPH07311712A publication Critical patent/JPH07311712A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】チェックポイントの作成による実行時の性能に
対する悪影響を低減し、処理性能の向上を図る。 【構成】コンピュータシステム上で動作するオペレーテ
ィングシステムがロックを解放する際に、実際にはロッ
クを解放せず、解放すべきロックとメモリに書き戻すべ
きキャッシュ中のキャッシュブロックとプロセッサのコ
ンテクストからなるチェックポイント情報を記録するこ
とにより、仮想的なチェックポイントを数世代に渡って
保持し、フラッシュすべき状況となった際に、チェック
ポイント情報を用いて、世代毎に、書き戻すべきキャッ
シュブロックをメモリに書き戻し、解放すべきロックを
実際に解放すことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
における障害復旧方法に関するものである。
【0002】
【従来の技術】従来、コンピュータシステムの障害復旧
方法の一つとして、予め障害発生時のためにリスタート
可能な情報(チェックポイントと呼ぶ)を、例えばメモ
リに作成しておく方法がある。この方法では、故障発生
時には、メモリ上に作成されたリスタート可能な情報に
基づいて、障害発生前の状態からシステムを再実行させ
ることにより故障回復を行なう。
【0003】一般に、前述のようなチェックポイントを
作成する方法は、次のようにして実行される(チェック
ポイント処理)。ここでは、複数のプロセッサエレメン
トが、バスを介して共有メモリに接続されたコンピュー
タシステムを例にして説明する。また、プロセッサエレ
メントには、プロセッサ、及びキャッシュが設けられて
いるものとする。
【0004】まず、プロセッサがメモリ上のデータを更
新する場合、メモリ上のデータをキャッシュに格納した
後、更新し、キャッシュ上で更新されたデータをメモリ
にフラッシュせずに保持する。
【0005】そして、オペレーティングシステムが、メ
モリ中のデータのロックを解放する際に、キャッシュ上
で更新されたデータを一括してメモリにフラッシュす
る。また、同時にプロセッサのコンテクストを、例えば
メモリ上の特定の領域に保存することにより、メモリ上
にリスタート可能な情報(チェックポイント)を作成す
る。
【0006】
【発明が解決しようとする課題】このように従来のコン
ピュータシステムの障害復旧方法において、前述のよう
なチェックポイントを作成する方法では、チェックポイ
ントを作成する際、 1.メモリに書き戻すべきキャッシュブロックをメモリ
に書き戻し、 2.解放すべきロックを解放し、 3.その時点でのプロセッサのコンテクストをメモリに
保存する、 処理を行なっていた。
【0007】すなわち、チェックポイント処理を実行す
るためのオーバヘッドが大きく、実行時の性能に悪影響
を及ぼすという問題があった。本発明は前記のような事
情を考慮してなされたもので、チェックポイントの作成
による実行時の性能に対する悪影響を低減し、処理性能
の向上を図ることが可能な障害復旧方法を提供すること
を目的とする。
【0008】
【課題を解決するための手段】本発明は、プロセッサが
メモリ上のデータを更新する場合、メモリ上のデータを
キャッシュに格納した後更新し、キャッシュ上で更新さ
れたデータをメモリにフラッシュさせずに保持し、オペ
レーティングシステムがロックを解放する際に、キャッ
シュ上で更新されたデータを一括してメモリにフラッシ
ュし、同時にプロセッサのコンテクストをメモリ上の特
定の領域に保存することにより、メモリ上にリスタート
可能な情報を作成し、故障発生時には前記リスタート可
能な情報に基づいて再実行することにより、故障回復を
行なうコンピュータシステムにおいて、前記コンピュー
タシステム上で動作するオペレーティングシステムがロ
ックを解放する際に、実際にはロックを解放せず、解放
すべきロックとメモリに書き戻すべき前記キャッシュ中
のキャッシュブロックとプロセッサのコンテクストから
なるチェックポイント情報を記録することにより、仮想
的なチェックポイントを数世代に渡って保持し、フラッ
シュすべき状況となった際に、前記チェックポイント情
報を用いて、世代毎に、書き戻すべきキャッシュブロッ
クをメモリに書き戻し、解放すべきロックを実際に解放
すことを特徴とする。
【0009】
【作用】このような構成によれば、解放すべきロックと
メモリに書き戻すべきキャッシュブロックとプロセッサ
のコンテクストをプロセッサボード上のローカルメモリ
内へ記録することにより、仮想的なチェックポイントを
数世代に渡って保持し、キャッシュオーバフローなどの
際に、プロセッサ上のローカルメモリ内に記録された仮
想的なチェックポイント情報を用いて、世代毎に書き戻
すべきキャッシュブロックをメモリに書き戻し、解放す
べきロックを実際に解放することを繰り返すことによ
り、チェックポイントのためのオーバヘッドが低減さ
れ、システム全体の性能が向上される。
【0010】
【実施例】以下、図面を参照して本発明の一実施例を説
明する。図1は本実施例に係わるコンピュータシステム
の構成を示すブロック図である。図1に示すように、本
実施例のコンピュータシステムは、複数のプロセッサエ
レメント11-1,11-2,…,11-nが設けられてい
る。
【0011】プロセッサエレメント11-1には、CPU
11-1a、キャッシュ11-1b、及びチェックポイント
情報(後述する)を格納するためのRAM11-1cが設
けられている。同様にプロセッサエレメント11-2に
は、CPU11-2a、キャッシュ11-2b、及びチェッ
クポイント情報を格納するためのRAM11-2cが設け
られている。他のプロセッサエレメント…,11-nも同
様の構成として説明を省略する。各プロセッサエレメン
ト11-1,11-2,…,11-nは、各プロセッサエレメ
ントと内部状態を記憶するための共有メモリ14と、バ
ス16で結合されている。図1に示すコンピュータシス
テムは、同システム上で動作するオペレーティングシス
テムによって、共有メモリ14に格納されたデータに対
するロック制御を含む基本的な動作が制御される。
【0012】また、図1に示すコンピュータシステムに
おいて、キャッシュ11-1b,11-2b,…,11-nb
は、non-write through 方式を用いているものとし、各
CPU11-1a,11-2a,…,11-naが、陽にキャ
ッシュフラッシュ操作をすることにより、キャッシュ1
1-1b,11-2b,…,11-nbと共有メモリ14との
間のデータの内容について一貫性を保つ。non-write th
rough 方式のキャッシュにおいては、通常はキャッシュ
の内容が共有メモリに反映されない。
【0013】なお、non-write through 方式について
は、例えば“Sequoia :A Fault-Tolerant Tightly Cou
pled Multiprocessor for Transaction Processing”,P
hilipA. Bernstein, IEEE COMPUTER, 1988 に記載され
ている。
【0014】すなわち、non-write through 方式のキャ
ッシュは、CPUがキャッシュに対して書き込みをした
時に、それが即座にメモリに書き戻されず、オペレーテ
ィングシステムが、あとで、陽にキャッシュ中のダーテ
ィな(更新された)データブロックをメモリに対してフ
ラッシュする方式である。
【0015】オペレーティングシステムがキャッシュを
メモリにフラッシュする場合には、2通りある。1つ
は、キャッシュ中のデータの、メモリに対するフラッシ
ュを選択的に行なうものであり、もう1つは、キャッシ
ュオーバーフローが起きた場合である。キャッシュオー
バーフローとは、新しく参照したメモリ中のデータを、
キャッシュに持ってこようとした時に、キャッシュブロ
ックが全てダーティなデータ埋まっている状態をいう。
この時、その新しく参照したデータを全てメモリ上にフ
ラッシュすることが必要となる。
【0016】次に、後述するチェックポイント処理おい
て、それぞれのプロセッサエレメント11-1,11-2,
…,11-nに設けられた、RAM11-1c,11-2c,
…,11-ncに格納されるチェックポイント情報につい
て説明する。
【0017】図2に示すように、チェックポイント情報
には、チェックポイントの各世代(後述する)を示す1
…N、各世代において解放すべきロックに関する情報A
1 ,B1 ,…,DN 、各世代において共有メモリ14に
書き戻すべき、キャッシュブロックa1 ,b1 ,…,m
N 、及び各世代におけるプロセッサのコンテクストX1
,Y1 ,Z1 ,…,XN ,YN ,ZN が格納される。
【0018】本発明のチェックポイント処理では、ある
時点でのチェックポイント処理に必要な情報のみを記録
し、実際に共有メモリ14への書き戻し、ロックの解
放、及びコンテクストの共有メモリ14の保存は行なわ
ない。
【0019】本実施例では、図2に示すチェックポイン
ト情報、すなわち、 1.メモリに書き戻すべきキャッシュブロック、 2.解放すべきロック、 3.その時点でのプロセッサのコンテクスト、 を各プロセッサエレメント11-1,11-2,…,11-n
上のRAM11-1c,11-2c,…,11-ncに記録し
ている。本実施例では、チェックポイント情報を記録す
るタイミングを各世代の区切りとする。
【0020】図2に示すようにチェックポイント情報を
記録しておくことにより、後であってもチェックポイン
ト情報に従って操作を行なえば、ある時点でのチェック
ポイント処理が後の時点で行なうことができる。その
際、操作を行なう上で必要なチェックポイント情報を各
世代毎の複数の時点において保存することで、各世代で
のチェックポイント処理が可能となる。
【0021】次に、本実施例におけるチェックポイント
処理の動作について、図3に示すフローチャートを参照
しながら説明する。本発明におけるチェックポイント処
理では、従来のチェックポイント処理とは異なり、変更
されたキャッシュブロックの内容とCPU11-1a,1
1-2a,…,11-naのコンテクストを共有メモリ14
にフラッシュすることはしない。
【0022】ここでは、プロセッサエレメント11−1
における動作として説明する。コンピュータシステム上
で動作するオペレーティングシステムがロックを解放す
べき状態となった際、まず、世代番号をRAM11-1c
に記録する(ステップS1)。世代番号は、例えば世代
数をカウントする増分カウンタの機能によって、RAM
11-1c に設けられた所定の領域にカウント値を記憶し
ておいても良いし、あるいはチェックポイントを取る際
の時刻を用いても良い。
【0023】次に、その世代において解放すべきロック
を調べ、その全てをRAM11-1cに記録する(ステッ
プS2)。次に、前回のチェックポイント処理より後で
変更されたキャッシュブロックを全て調べ出し、何れの
キャッシュブロックをフラッシュすべきかをRAM11
-1c に記録する(ステップS3)。
【0024】RAM11-1c に記録する場合には、各キ
ャッシュブロックにビットを対応させたビットマップを
持ち、フラッシュすべきキャッシュブロックに対応する
ビットを立てるようにすることにより、RAM11-1c
に要求される記憶容量を節約することができる。
【0025】最後にCPU11-1a のコンテクストをR
AM11-1c に記録する(ステップS4)。この結果、
図2に示すように、世代「1」では、解放すべきロック
が「A1 ,B1 」、共有メモリ14に書き戻すべきキャ
ッシュブロックが「a1 ,b1 ,c1 」、コンテクスト
が「X1 ,Y1 ,Z1 」として、RAM11-1c に格納
される。
【0026】通常は、以上の処理でチェックポイント処
理を終了するが、チェックポイント処理の際に、キャッ
シュオーバフローが起こっていた場合、及びチェックポ
イント記録用のRAM11-1c の使用量が、予め定めた
基準値を越えている場合には以下の処理を実行する。
【0027】CPU11-1a は、RAM11-1c を解放
するために、保存されている複数世代分のチェックポイ
ント情報のそれぞれに基づいて、 1.書き戻すべきキャッシュブロックを共有メモリ14
に書き戻し、 2.解放すべきロックを解放し、 3.その時点でのCPU11-1a のコンテクストをメモ
リに保存する、 操作を実際に行なう。
【0028】すなわち、RAM11-1C に格納されたチ
ェックポイント情報に基づき、古い世代から順番に、変
更された全キャッシュブロックのデータと、CPU11
-1aのコンテクストを共有メモリ14にフラッシュする
(ステップS6)。
【0029】共有メモリ14にフラッシュした後では、
RAM11-1C 中に保存されたチェックポイント情報は
不要になるため、これらを全てクリアする(ステップS
7)。フラッシュした後に、RAM11-1C 中のチェッ
クポイント情報を全てクリアすることにより、再び複数
世代分のチェックポイント情報を保存することが可能と
なる。
【0030】なお、前記実施例においては、自プロセッ
サエレメント内での処理として説明したが、他のプロセ
ッサエレメントのCPUからロックの解放要求があった
場合も、ロックが解放されるまでの世代のチェックポイ
ント処理を行なうことができる。
【0031】このようにして、解放すべきロックと、共
有メモリ14に書き戻すべきキャッシュブロックと、C
PUのコンテクストとからなるチェックポイント情報
を、プロセッサボード上のRAM内へ記録することによ
り、仮想的なチェックポイントを数世代に渡って保持
し、キャッシュオーバフローなどの際に、プロセッサ上
のローカルメモリ内に記録された仮想的なチェックポイ
ント情報を用いて、世代毎に書き戻すべきキャッシュブ
ロックをメモリに書き戻し、解放すべきロックを実際に
解放することを繰り返すことにより、チェックポイント
のためのオーバヘッドが低減され、システムの性能が向
上するなど、多大なる効果が得られる。
【0032】
【発明の効果】以上説明したように本発明によれば、チ
ェックポイントの作成による実行時の性能に対する悪影
響を低減し、処理性能の向上を図ることが可能となるも
のである。
【図面の簡単な説明】
【図1】本発明の一実施例に係わるコンピュータシステ
ムの構成を示すブロック図。
【図2】本実施例におけるRAM11-1c ,11-2c ,
…,11-nc に格納される情報の内容を示す図。
【図3】本実施例における各CPU11-1a ,11-2a
,…,11-na におけるチェックポイント処理の流れ
を示すフローチャート。
【符号の説明】
11-1,11-2,…,11-n…プロセッサエレメント、
11-1a ,11-2a ,…,11-na …CPU、11-1b
,11-2b ,…,11-nb …キャッシュ、11-1c ,
11-2c ,…,11-nc …RAM、14…共有メモリ、
16…バス。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサがメモリ上のデータを更新す
    る場合、メモリ上のデータをキャッシュに格納した後更
    新し、キャッシュ上で更新されたデータをメモリにフラ
    ッシュさせずに保持し、オペレーティングシステムがロ
    ックを解放する際に、キャッシュ上で更新されたデータ
    を一括してメモリにフラッシュし、 同時にプロセッサのコンテクストをメモリ上の特定の領
    域に保存することにより、メモリ上にリスタート可能な
    情報を作成し、 故障発生時には前記リスタート可能な情報に基づいて再
    実行することにより、故障回復を行なうコンピュータシ
    ステムにおいて、 前記コンピュータシステム上で動作するオペレーティン
    グシステムがロックを解放する際に、 実際にはロックを解放せず、解放すべきロックとメモリ
    に書き戻すべき前記キャッシュ中のキャッシュブロック
    とプロセッサのコンテクストからなるチェックポイント
    情報を記録することにより、仮想的なチェックポイント
    を数世代に渡って保持し、 フラッシュすべき状況となった際に、前記チェックポイ
    ント情報を用いて、世代毎に、書き戻すべきキャッシュ
    ブロックをメモリに書き戻し、解放すべきロックを実際
    に解放すことを特徴とする障害復旧方法。
  2. 【請求項2】 前記コンピュータシステムは、複数のプ
    ロセッサによってメモリが共有されるものであって、他
    のプロセッサからロックの解放要求があった場合に、そ
    のロックが解放されるまでの世代のチェックポイント処
    理を行なうことを特徴とする請求項1記載の障害復旧方
    法。
JP6105546A 1994-05-19 1994-05-19 障害復旧方法 Pending JPH07311712A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6105546A JPH07311712A (ja) 1994-05-19 1994-05-19 障害復旧方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6105546A JPH07311712A (ja) 1994-05-19 1994-05-19 障害復旧方法

Publications (1)

Publication Number Publication Date
JPH07311712A true JPH07311712A (ja) 1995-11-28

Family

ID=14410585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6105546A Pending JPH07311712A (ja) 1994-05-19 1994-05-19 障害復旧方法

Country Status (1)

Country Link
JP (1) JPH07311712A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064462A (ja) * 2008-10-27 2009-03-26 Toshiba Corp マイクロプロセッサ
US7673155B2 (en) 2001-09-28 2010-03-02 Kabushiki Kaisha Toshiba Microprocessor with improved task management and table management mechanism

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673155B2 (en) 2001-09-28 2010-03-02 Kabushiki Kaisha Toshiba Microprocessor with improved task management and table management mechanism
JP2009064462A (ja) * 2008-10-27 2009-03-26 Toshiba Corp マイクロプロセッサ
JP4643702B2 (ja) * 2008-10-27 2011-03-02 株式会社東芝 マイクロプロセッサ

Similar Documents

Publication Publication Date Title
US7085955B2 (en) Checkpointing with a write back controller
US6883069B2 (en) Cache control device and manufacturing method thereof
JP5964382B2 (ja) 無限トランザクション型メモリ(utm)システムにおけるモード切り替えの実行
CN1327336C (zh) 用于使用记录板机制处理加载锁定指令的方法
DE202007019502U1 (de) Globaler Überlauf für virtualisierten Transaktionsspeicher
JPH0812619B2 (ja) リカバリ制御システム及びエラー回復方法
CN108694231A (zh) 使用nvm并通过多个日志记录缓冲器来预写式日志记录
CA1234639A (en) Ports zone control
US10394641B2 (en) Apparatus and method for handling memory access operations
CN100480996C (zh) 在冗余多线程系统中管理外部存储器更新的方法和设备
US6675262B1 (en) Multi-processor computer system with cache-flushing system using memory recall
CN115408411A (zh) 数据写入方法、装置、电子设备及存储介质
Tamir et al. The implementation and application of micro rollback in fault-tolerant VLSI systems.
US6810489B1 (en) Checkpoint computer system utilizing a FIFO buffer to re-synchronize and recover the system on the detection of an error
US6701484B1 (en) Register file with delayed parity check
JP4180115B2 (ja) 処理システムおよびプログラム作成方法および処理ユニット
JPH07311712A (ja) 障害復旧方法
US20040049637A1 (en) Cache memory for invalidating data or writing back data to a main memory
JP3070453B2 (ja) 計算機システムのメモリ障害回復方法および回復システム
JPH06149485A (ja) データ完結性保証処理方法
EP0551528B1 (en) Method and apparatus for reducing lock period of shared buffer
IE911094A1 (en) A Data Processing Method
US11940914B2 (en) Performance aware partial cache collapse
JPH07101399B2 (ja) データベースのデッドロック処理方式
JPH07295883A (ja) 情報処理装置