JPH05108391A - プログラムの実行を続行する方法 - Google Patents

プログラムの実行を続行する方法

Info

Publication number
JPH05108391A
JPH05108391A JP4020741A JP2074192A JPH05108391A JP H05108391 A JPH05108391 A JP H05108391A JP 4020741 A JP4020741 A JP 4020741A JP 2074192 A JP2074192 A JP 2074192A JP H05108391 A JPH05108391 A JP H05108391A
Authority
JP
Japan
Prior art keywords
processor
program
error
execution
cpu
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
JP4020741A
Other languages
English (en)
Other versions
JPH0820965B2 (ja
Inventor
Arthur J Sutton
アーサー・ジエームス・サツトン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05108391A publication Critical patent/JPH05108391A/ja
Publication of JPH0820965B2 publication Critical patent/JPH0820965B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 複数のCPUのシステムにおける1つのCP
Uの誤動作によつて中止されたプログラムのタスクの実
行を、組み込まれた訂正コードを使用することなく、他
のCPUで完了させる方法を与える。 【構成】 誤動作を起したCPU中の予め決められたレ
ジスタ中の情報が、誤動作を起したCPUによつて、予
め決められたストレージ位置にストアされるか、また
は、誤動作を起したCPUが上述の情報をストアできな
い場合には、サービス・プロセツサ(SP)が予め決め
られたストレージ位置に上述の情報をストアする。誤動
作を起したCPUが検出された時、SPはシステム中の
他のCPUに外部割込みを発生する。必要な情報がスト
アされた後、他のCPUは誤動作のCPUのタスクを続
行する。SPでアクセスできるシステム、またはマイク
ロコードのメモリ中の所定の位置に、特別の表示子がス
トアされている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセツサ(M
P)で構成されたシステムにおいて、プログラムを実行
しているプロセツサ(CPU)が実行中に誤動作を起し
た時、そのプログラムが完了する前に、チエツクポイン
ト・リトライとか、プログラムの再実行とか、プログラ
ムの実行の反復等の動作を行なうことなく、プログラム
の実行を他のプロセツサによつて続行させることに関す
る。
【0002】
【従来の技術】1台以上のプロセツサ(CPU)によつ
て動作するように設計された最近のコンピユータ・シス
テムにおいて、エラーが発生したインストラクシヨンを
リトライ(再試行)するとか、または、エラーが発生し
たプログラムを再実行することによつて、問題を訂正す
ることが行われている。プログラムの実行中の幾つかの
時点でチエツクポイントのデータをストアするようにプ
ログラムが指定されている場合だけに、チエツクポイン
ト・リトライ復旧が利用可能である。リトライ技術は、
間欠的に生じるエラーに限定されており、ハードウエア
中においてソリツド・エラー(回復不可能なエラー)が
発生した場合、ソリツド・エラーはすべてのリトライの
処理を通して持続され、最大回数のリトライが行なわれ
た後でも、エラーが残存しているので、ソリツド・エラ
ーが宣言される。ソリツド・エラーの検出は、CPUに
マシン・チエツク(machine check-MC)割込みを発生
させる。
【0003】MC割込みはシステム制御プログラムに信
号を送り、そして、システム制御プログラムの復旧管理
プログラム中のリトライ・インストラクシヨンをアドレ
スするMCの新しいプログラム・ステータス・ワード
(programstatus word-PSW)を与える。次に、シス
テム制御プログラムは、エラー状態が無くなるか否かを
見るために、割込みインストラクシヨンを再実行する。
若し、エラー状態が無くなつたならば、システム制御プ
ログラムは、実行したプロセツサ中でエラー状態によつ
て中止されたプロセツサの実行を持つタスクに対して異
常終了(abnormalend-ABEND)を宣言する。そのプ
ログラムは復旧可能であるか、あるいは、復旧不能であ
るかは、中止されたプログラム中に組み込まれた復旧サ
ポートのタイプに応じる。プログラムがその入力データ
を喪失していない時であつてさえも、プログラムが計画
していない実行位置で中止された場合、そのプログラム
は、復旧能力を持つていないことがしばしばある。ま
た、プログラムの実行が完了する前に、計画されていな
い中止によつて、入力データが失われた時、実時間デー
タ(テラー・マシンとか、プロセス制御のセンサからな
どのデータ)を使用するプログラムは、それらの入力デ
ータを復旧することができないので、間欠的に発生され
るハードウエア・エラーが訂正された時でも、リトライ
による復旧はできない。
【0004】指名されたタスクを実行する通常のプロセ
ツサ(CPU)動作は、若し、インストラクシヨンの再
実行が連続して誤動作を生じて、ハードウエアのソリツ
ド・エラーが存在することが決定されたならば、CPU
がチエツク停止された状態(プロセツサの内部サイクル
・クロツクが停止された状態)にすることによつて中止
される。オペレーテイング・システムのソフトウエア
は、CPUがチエツク停止された後に、リトライ閾値を
維持することができる。
【0005】チエツク停止されたCPUはシステム制御
プログラムによつて、誤動作を起したCPUとしてマー
クされるので、誤動作を起したCPUは、指名されたプ
ログラムのタスクを持つていない。
【0006】
【発明が解決しようとする課題】本発明は、ハードウエ
アのリトライのすべての試行が失敗した後に、プロセツ
サの誤動作によつて割り込まれた殆どのプログラムのタ
スクの実行を続行することを可能にすることができる。
従つて、本発明は、プログラムの実行中において、異常
終了(ABEND)を与えることなく、オペレーテイン
グ・システム、またはアプリケーシヨン・プログラムの
ハードウエアで中止される実行を成功裡に完結するよう
続けるのに用いられる。本発明を使用すると、すべての
組み込まれた復旧コード、または訂正コードを持つ中止
プログラムは無関係になる。
【0007】本発明を使用することにより、プロセツサ
のエラーによつて中止されたプログラムのタスクにおい
て、成功裡に完了されるインストラクシヨンの再実行処
理が回避され、あるいは、プロセツサのエラーによつて
中止されたプログラムのタスクを、チエツクポイント・
リトライする処理動作がすべて回避される。換言すれ
ば、本発明は、タスクの中止を生じる殆どのエラーに対
して、中止されたタスクを他のCPU中において完結さ
せることが可能であるということを意味する。
【0008】然しながら、プログラムの実行を中止した
エラーが非常に重大でなければ、本発明に従つて、プロ
セツサはシステムの動作から取り除かれないのが望まし
い。特に、短時間で消滅するような間欠的に発生するエ
ラーは、コンピユータ・システムにおいて共通した問題
であり、しばしば、アルフア粒子によつて発生される。
本発明において、ハードウエアのエラー状態が短時間で
消滅するタイプであつて、エラーが間欠的に生じるタイ
プであれば、エラーを消滅させるのに十分な時間の間、
つまり、ある閾値を持つリトライの反復回数まで、エラ
ーを持つインストラクシヨンのリトライを行なわせるこ
とを考慮している。従つて、若し、エラーが消滅するな
らば、そのCPUはシステムのリソースとして保管する
ことができ、コンピユータ・システムによつてそのリソ
ースの使用を続行することができる。
【0009】更に、本発明は中止されたタスクによつて
使用されたシステム・リソースを識別するための、前に
利用可能ではなかつた情報を得ることができるので、そ
のCPUの誤動作の後に、中止されたタスクを続行する
ことができない時でも、コンピユータ・システムの動作
効率は、本発明によつて向上される。本発明はオペレー
テイング・システムに上述の情報を与えるので、オペレ
ーテイング・システムは、解放されたこれらのシステム
・リソースを、他のタスクによつて使用されうるように
システム・リソースを解放することができる(復旧する
ことのできないタスクに拘束し続けることによつて、リ
ソースを使用できない状態に持続するのではなく)。シ
ステムの効率はシステム・リソースの効率的な使用に依
存する。
【0010】本発明は、本発明によつて必要とされる新
規な方法を遂行するために、サービス・プロセツサ(S
P)と、オペレーテイング・システム(OS)のソフト
ウエアを修正することが必要である。システム中のCP
Uのハードウエア、またはマイクロコードを修正するこ
とは、CPUのアーキテクチヤに従つて付加的なもので
ある。
【0011】他のプロセツサによる誤動作をSPが検知
することは、1つ、またはそれ以上の他のプロセツサに
特別な信号を送ることによつて誤動作を生じたプロセツ
サがSPに信号を送ることにより、または、或るプロセ
ツサが特別な要求に応答しないことをOSが検出するこ
とにより、または、或るプロセツサがタスクに必要な動
作を遂行するのに予め決められた時間内に何もしないこ
とをOSが検出することによるなどの幾つかの方法によ
つて検出することができる。
【0012】
【課題を解決するための手段】本発明は、従来殆どの場
合に異常終了(ABEND)処理を使用しなければなら
なかつたプロセツサの誤動作によつて中止されたタスク
に対して、ABEND処理を回避することができる。そ
の代わりに、中止されたタスクによつて示されたタスク
は、SPによる割込みによつて、他のプロセツサで続け
られる。上述の割込みを起すSPは、誤動作を起したプ
ロセツサ中の予め決められたレジスタをアクセスし、そ
して、誤動作を生じたプロセツサが、中止されるタスク
の情報をストアすることが不可能な時に、予め決められ
たメモリ位置にそのタスクの内容をストアする。誤動作
を起したプロセツサ中のこれらの予め決められたレジス
タは、プログラムによる割込みの後、プログラムの実行
を続行することができるように、プログラムの割込みに
関するメモリ中にストアされるための、システム・アー
キテクチヤによつて要求されるすべてのレジスタである
(例えば、CPUのPSW、CR、FPR、GPR、A
R等のすべてのレジスタの内容をストアし、復帰するも
のである)。
【0013】誤動作を生じたプロセツサをSPが検出し
た時、SPは、誤動作を生じたタスクの実行を続行する
ために使用することのできるシステム中の他のプロセツ
サに対して外部割込みを発生する。SPか、または誤動
作を生じたプロセツサが必要とする割込み情報及び特別
の表示子がシステム中の所定の位置にストアされた後
か、または、SPと、タスクの実行を続行するために選
択可能なシステム中の健康な(異常のない)プロセツサ
とにアクセス可能なマイクロコードのメモリ中にストア
された後に、外部割込み信号が送られる。
【0014】誤動作を起したプロセツサのタスクの中止
の後、システム中の健康なプロセツサが、タスクの実行
を続けるために選択される。選択された健康なプロセツ
サは、誤動作を起したプロセツサを制御するオペレーテ
イング・システム(OS)と同じOSによつて動作さ
れ、または共有されるシステム中の任意のプロセツサで
あつてよい。
【0015】プロセツサの選択処理はシステムの通常の
割込み動作を含んでおり、これにより、外部割込みを受
け取ることのできる第1の健康的なプロセツサが検知さ
れ、タスクが完了するか、または、次の割り込みが生じ
るまで、誤動作を起したCPUのタスクを割込みの時点
から続行するように、検知された健康なプロセツサ(C
PU)がその割込みを処理する。ABENDされたこと
により通常は喪失されるタスクが、タスクを喪失するこ
となく、本発明によつて成功裡に完了することができる
ことが、本発明によつて見い出されている。
【0016】誤動作を起したプロセツサのレジスタの内
容は、それらの内容がSPによつてストアされた時に検
証され、そして、中止されたタスクを続行することがで
きるか否かを決定するために、それらの内容の有効性が
表示される。検証は、例えば、誤動作を生じたプロセツ
サがストアされる時に、誤動作を生じたプロセツサの各
レジスタの内容をパリテイ・チエツクし、ストアされる
各タイプのレジスタのための特別のメモリ領域中に有効
ビツトを設定することによつて行なわれる。
【0017】誤動作を起したプロセツサのこれらの幾つ
かのレジスタの内容が有効ではないとしても(有効でな
ければ、中止されたプロセツサのプログラムの実行を続
行はできない)、システム・リソースを自由に利用でき
るよう解放するために、本発明は中止されたプログラム
に割り当てられた幾つかの、またはすべてのシステム・
リソースを識別するために、有効にストアされたレジス
タの情報の使用を可能とし、これにより、次に続くタス
クにより使用される予備的なリソースの数を増加して、
後続するシステムの動作効率を向上する。
【0018】本発明はシステムのハードウエア、マイク
ロコード、またはオペレーテイング・システム(例え
ば、MVS、VM、またはPR/SM)に特別なサポー
トを必要とする場合があり、かつ、他のプロセツサによ
りプログラムの実行を続行するのに必要とする、誤動作
を生じたプロセツサの未完成のタスクの存在を知らせる
ために、システムのストレージ中の誤動作プロセツサの
PSA(プログラム記憶領域)のログアウト領域中に特
別な「チエツク停止ログアウト・ビツト」を与える必要
がある。
【0019】また、性能を低下する訂正(例えば、CP
Uのキヤツシユ・メモリの誤動作部分が再構成される訂
正)を生じる過去のエラーによつて、ハードウエアは性
能が低下するので、許容限界を越えてハードウエアが更
に性能低下したことにより、CPUがソリツド・エラー
状態に到達する前に、サービス・プロセツサ(SP)
は、CPUのチエツク停止を決定し、そして、CPUの
マシン・チエツク停止を行なつて、性能の低下の問題を
訂正する部分を置き換える。これは、エラーを事前に防
止する動作(上述のSPの動作は、プロセツサがエラー
を持つ前に、エラーの訂正を行なうので)をする問題の
事前排除の役目を持つことになり、高い確率でCPUの
エラー発生を防止する。この決定は、他のCPUでタス
クを完了する本発明を用いることによつてタスクを実行
している間で行なうことができる。
【0020】
【実施例】本発明の実施例は図1で開始し、図10乃至
図11に続く処理方法の流れ図によつて説明される。図
1乃至図3に示した大部分のステツプは、本発明の背景
となる従来の技術による処理方法の流れ図であつて、本
発明の理解を助けるために示したものである。本発明
は、複数プロセツサ(MP)システム中のいずれかのC
PUに、そのCPUの現在のプログラムが実行できない
ハードウエアの状態が発生している場合において、MP
システム中の任意のCPUで実行するプログラムを取り
扱つている。ハードウエアの状態(ハードウエア・エラ
ー状態と呼ばれる)はハードウエア回路の誤動作か、あ
るいは、CPUのマイクロ・コードの誤動作である。こ
の誤動作はプログラム中の或るインストラクシヨンの実
行中に生じるけれども、誤動作はインストラクシヨンの
実行の間の割込みの実行の間でも発生することがある。
【0021】エラーを持つプロセツサ(CPU)は、誤
動作(failure)を生じたCPUを意味するCPUfと
いう記号で表わす。システム中のエラーを持たないオペ
レーテイングCPUは、健康な(helthy)CPUを意味
するCPUhという記号で表わす。
【0022】大型のコンピユータ・システムは、タスク
と呼ばれるプログラムの実行の仕事単位中のプログラム
を指名する。各タスクは、一緒に実行する1つ、または
それ以上のプログラム及びデータを含んでいる。本発明
の良好な実施例は、IBM社のESA/370システム
で開発されたものであつて、「ESA/370の動作原
理」(ESA/370 principle of Operation)と題するIB
M社の刊行物、フオーム番号SA22−7200に記載
されたアーキテクチヤを持つており、この刊行物の第
4、5、6及び11章が特に本発明と関連深い技術を記
載している。
【0023】図4は本発明の実施例を使用することので
きるMPシステムを示している。このMPシステムは複
数個のCPU1乃至Nとサービス・プロセツサ(SP)
とを含んでいる。然しながら、SPの機能は独立したプ
ロセツサの必要を避けるために、CPU1乃至Nのうち
の任意のCPUで遂行することができる。然しながら、
本発明において、サービス・プロセツサを持つことなく
幾つかのCPUのうちの1つのCPUを使用して本発明
のサービス・プロセツサ(SP)のステツプを遂行する
1つの実施例を含んでいるけれども、本発明の良好な実
施例においてはサービス・プロセツサとして独立したプ
ロセツサを持つのが望ましい。
【0024】図4のMPは、オペレーテイング・システ
ム(OS)のソフトウエアによつて使用可能な任意の絶
対的なアドレスと、オペレーテイング・システムで動作
する任意のアプリケーシヨン・プログラム(アプリケー
シヨン)とを含んでいるシステムの主メモリ、即ち主記
憶(MS)と呼ばれるハードウエアの部分41を含んで
いる。マイクロコード領域(microcode area-MA)と
呼ばれる他のハードウエア部分42は、CPU及びシス
テムによつて使用されるマイクロコードをストアしてい
る。MSはOSによつてアクセスされるシステムの夫々
のCPUのための接頭部領域を含んでいる。MAは夫々
のCPUのマイクロコードによつてアクセスされるCP
Uのために夫々のハードウエアの記憶領域を含んでい
る。
【0025】図5は、各CPU中にある最も重要なレジ
スタを表しており、それらのレジスタの内容は、CPU
動作の割込みのときに、夫々のCPUのMSのプログラ
ム記憶領域(program save area-PSA)中にストア
(保管)される必要がある。これらのレジスタは、割込
みのときにストアするのに必要とするレジスタだけでは
なく、上述したESAのアーキテクチヤの刊行物の第1
1章の「マシン・チエツク停止状態」、「マシン・チエ
ツク割込み」及び「マシン・チエツク割込みコード」と
題する部分に、より詳細に定義されているレジスタを含
む。図7はマシン・チエツク(MC)割込みが発生した
時に、CPUのプログラム記憶領域(PSA)の一部
と、PSA中のマシン・チエツク割込みコード(MCI
C)のフイールドの拡大図を示している。図7の表示
は、単なる例示であつて、完全なMCICの表示は上述
の刊行物の「マシン・チエツク割込みコード」と題する
部分に記載されている。
【0026】プロセツサのPSAに割込み信号を送るこ
とは、上述の刊行物、ESA/370の第6章の「外部
割込み」と題する部分に記載されている。また、信号プ
ロセツサ(signal processor-SIGP)のインストラ
クシヨン動作は、上述の刊行物の「CPUの信号発生及
びその応答」と題する第4章に記載されている。
【0027】図8は任意の1つのCPUfのためのハー
ドウエアのストレージ領域(hardware storage area-H
SA)ブロツク中の信号プロセツサ(SIGP)のステ
ータス・ブロツクを示している。誤動作を起した任意の
CPUfのHSAブロツク中のチエツク停止フイールド
はサービス・プロセツサ(SP)によつてセツトされ
る。CPUfへのSIGPのインストラクシヨンは、関
連するCPUがチエツク停止状態にあることを表示す
る。
【0028】図9は任意の1つのCPUhのためのハー
ドウエアのストレージ領域(HSA)中にある外部割込
みCPUの識別ブロツクを示している。このブロツク中
のCPU識別フイールドはサービス・プロセツサ(S
P)によつてセツトされた誤動作CPUfのCPU識別
子を受け取る。
【0029】本発明の処理ステツプを説明するための流
れ図(図1乃至図3と、図10及び図11)において、
各ステツプには参照数字が与えられており、参照数字の
左側は図面の番号と同じ(ただし、図1は除く)であ
り、残りの右側の数字は夫々の図に特有の一連番号であ
る。
【0030】図1のステツプ1は複数プロセツサ・シス
テム中にある任意の1つのCPUによつて任意の1つの
プログラムのタスク中の任意の1つのインストラクシヨ
ン、または任意の1つの割込みの実行を表わしている。
ステツプ2は、任意の1つのCPU中のハードウエア・
エラーの状態を示しており、従つて、そのCPUは、複
数プロセツサ・システムの中のCPUfになる。
【0031】すべてのハードウエア・エラーはサービス
・プロセツサ(SP)によつて複数プロセツサ(MP)
システム中で追跡される。ステツプ3において、CPU
中でハードウエア・エラーが検出される度に、そのハー
ドウエア・エラーは、サービス・プロセツサ(SP)に
エラー信号を送るCPUによつて報告される。
【0032】図6において、インストラクシヨンの実行
中に発生したハードウエア・エラーが、オペランドの取
り出し及び実行の間で発生したことが示されている。
【0033】ステツプ3において、CPUfがSPにイ
ンストラクシヨンの処理中に生じたエラーを報告したと
きに、SPは、リトライ可能なエラー、またはリトライ
不能なエラー、またはチエツク停止エラーの3つの範疇
のエラーのうちの1つにそのエラーを類別する。大部分
のエラーはリトライ可能なエラーであるから、ステツプ
5に入り、CPUfによつて処理される。然しながら、
例えば、アドレスのエラーがCPUfの接頭部レジスタ
中に発生した場合のようなリトライ不能なエラー状態が
ある場合、そのプログラム記憶領域(PSA)は見い出
すことができず、このことは、そのCPUfのためのす
べての割込み処理が阻止され、そのCPUに対するリト
ライは不可能となり、そのPSAは見い出すことが不可
能となるから、ステツプ17において、直ちに、CPU
fのチエツク停止に入る。若し、接頭部アドレスが有効
ならば、エラーがインストラクシヨンのリトライを阻止
したとしても、割込みを設定することができ、CPUf
は知ることができる。従つて、ステツプ10において、
サービス・プロセツサ(SP)は、プロセツサ・ダメー
ジ(processor damage-PD)ビツトがオンにセツトさ
れているか否かをチエツクする処理が遂行され、若し、
PDビツトがオンにセツトされていれば、SPはCPU
fをチエツク停止させるが、若し、リトライの閾値を越
えていなければ、ステツプ11において、サービス・プ
ロセツサ(SP)は単に、プロセツサ・ダメージ(P
D)ビツトをオンに設定し、バツクアツプ(B)ビツト
をオフにセツトする。
【0034】ステツプ5において、エラーを持つインス
トラクシヨンをCPUfによりリトライさせて、ソリツ
ド・エラーか、または間欠的なエラーかを決定する。若
し、エラーが間欠的なエラーであれば、エラーはリトラ
イのループの1つの中で消失し、次のインストラクシヨ
ンが実行され、若し、その後エラーが検出されなけれ
ば、そのタスクは成功裡に完了する。
【0035】ステツプ5においてテストされ、呼び出さ
れるインストラクシヨンのリトライの閾値を、何回かの
リトライ動作数を越えるまで、エラーがインストラクヨ
ンの各リトライの間で続くならば、ソリツド・エラーで
あると決定される。従つて、若し、上述のリトライの閾
値に達した時にエラーが続いていれば(時間の経過によ
つて訂正されることがあり得ない)、そのエラーはソリ
ツド・エラーであると見做される。
【0036】若し、ソリツドなCPUのハードウエア・
エラーがCPUの割込み動作の間で発生するならば、割
込みはインストラクシヨンの実行の中間で発生するの
で、リトライするための未完成のインストラクシヨンは
ない。そして、この処理は、インストラクシヨンのリト
ライの動作をするために、ステツプ1に分岐することは
ない。その代わりに、システム中のハードウエアは、同
等な従来の技術によつて割込みを回復するための動作を
して、同じようにソリツド・エラーであることを決定す
る。然しながら、ソリツド・エラーが、インストラクシ
ヨンの動作の間で発生しても、または割込み動作の間で
発生しても、誤動作を起したCPUfのその時のプログ
ラムは、誤動作をしたCPUf中で終了する。
【0037】ソリツド・エラーの状態が決定された後、
従来の処理はステツプ6に入ることによつて続行される
か、または、図10に示した本発明の良好な実施例の新
規な処理によつて遂行される。然しながら、先ず、従来
の処理方法を説明したほうが、本発明を理解するのが容
易になるので、ここではステツプ6に入るものと仮定す
る。
【0038】ソリツド・エラーが存在することを従来の
処理方法が決定した時、ステツプ6は、プロセツサ・ダ
メージ(processor damage-PD)のカウントを増加し
て、そのカウントをPDカウントの閾値と比較する。P
Dカウントは、例えば8時間以上のような或る時間の間
で検出されたソリツド・エラーの数である。PDカウン
トは、ソリツド・エラーであると決定される度に1だけ
増加され、そして、その結果の数が、例えば8時間のよ
うな選ばれた時間の間でCPUに許容されたソリツド・
エラーの最大数であるPD閾値と比較される。若し、ス
テツプ6において、PDカウントが閾値を越えなけれ
ば、ステツプ7が実行される。若し、PDカウントが閾
値を越えたならば、ステツプ12に入る。
【0039】ステツプ12において、サービス・プロセ
ツサ(SP)はCPUfをチエツク停止する。ステツプ
13において、SPは故障警告(mulfunction alart-M
FA)信号をシステム中の他のCPUに送り、CPUf
が誤動作したことを他のCPUに知らせる。ステツプ1
3のMFAの信号の発生は図3に詳しく示されている。
ステツプ14において、SPによつてMFA信号を送る
ことは、他のCPUのうちの任意の1つのCPUの外部
割込みを発生して、任意の1つのCPUの主メモリ(M
S)中のプログラム記憶領域(PSA)における外部割
込み領域において、通常のプログラム・ステータス・ワ
ード(program status word-PSW)の交換が行なわれ
る。システム中の任意の割込み可能CPUは、CPUf
の現在のタスクをABENDするOSルーチンをアドレ
スするために、任意の他のCPUのPSA中の新しいP
SWを使用する通常の外部割込みを取ることができる。
【0040】次に、ステツプ15において、OSルーチ
ンは、残りの健康なCPU(CPUfを除く)だけでシ
ステムの動作を続行する。
【0041】通常、殆どのプログラムは全く復旧能力を
もたないか、または、充分でない復旧能力を持つている
けれども、幾つかのプログラムは、或るタイプのエラー
状態を復旧するための能力を、それらのコード中に含ま
せているので、ステツプ16を付加的に示している。若
し、中止されたプログラムが、プログラムに組み込んだ
内部的な復旧能力を持つているならば、そのプログラム
はその能力を使用して実行を完了する。
【0042】本発明は、組み込まれた内部的な復旧能力
とは独立してプログラムの実行を続けることができるの
で、本発明はプログラムの中に組み込まれた内部復旧能
力を使用しない。
【0043】然しながら、若し、ステツプ6において、
プロセツサ・ダメージ(PD)の閾値が超過されなかつ
たことが見い出されたならば、ステツプ7において、サ
ービス・プロセツサ(SP)はCPUfのPSA中のM
CIC(マシン・チエツク割込みコード)フイールド内
のPDビツトと、バツクアツプ(B)ビツトとをセツト
する。次に、ステツプ8において、サービス・プロセツ
サ(SP)は、古いマシン・チエツク(MC)のプログ
ラム・ステータス・ワード(PSW)としてCPUfの
現在のPSWをストアすることによつてMC割込みを与
え、そして、図2のステツプ21を呼び出す新しいMC
のPSWにアクセスするためにCPUfに信号を送る。
【0044】ステツプ9において、CPUf中の主要な
すべての貯蔵内容(CPUfによつて記憶処理が完了さ
れたデータの内容)がMS中にストアされることを保証
することが要求される。この保証は、CPUfの動作が
チエツク停止された時に影響を受けないCPUfの外側
のMSへのバスに重要な貯蔵内容のすべてを送ることに
よつて、CPUfによつて達成することができる。ステ
ツプ9は図1の中の処理の終り部分に示されているけれ
ども、ステツプ9はSPのステツプ6、7及び8のいず
れか1つ、またはそれ以上のステツプと並行して行なう
ことができる。
【0045】図2において、ステツプ21はCPUfの
終了されたプログラムを復旧するための処理を行なうオ
ペレーテイング・システム(OS)の復旧ルーチンに入
るために、新しいマシン・チエツクのPSWのアドレス
を使用する。ステツプ22は、ハードウエア・エラーが
OSプログラムの実行の間か、またはアプリケーシヨン
・プログラムの実行の間で発生したかを決定する。若
し、エラーがOSプログラムの実行の間で発生したなら
ば、ステツプ23に入つて、エラー・ダメージがどの程
度広がつているかが決定され、そして、若し、そのエラ
ーがシステムの保全性(integurity)に影響するエラー
のタイプであれば、エラーを訂正する手操作の割込みを
行なうために、システムを不動作にするよう出口を塞ぐ
(つまり、システムの動作を終止させる)。然しなが
ら、若し、エラーがCPUfの動作に影響するだけか、
またはエラーが修正可能ならば、ステツプ23はYes
の出口を取つて、OSプログラムの実行と、中止された
プログラムの実行を続ける。
【0046】然しながら、若し、ステツプ22におい
て、エラーがOSのソフトウエアの中にはなく、現在実
行中のアプリケーシヨン・プログラムの中にあれば、現
在のアプリケーシヨンだけが、ABENDされ、そし
て、システムは残りのCPU(CPUf以外のCPU)
の動作を続ける。然しながら、ABENDされたタスク
は、この従来の処理による処理経路においては復旧され
ない。
【0047】図3は、図1のステツプ13によつて示さ
れ、かつ、図10のステツプ10において用いられてい
る従来のSPによつて、どのようにしてMFA(誤動作
の警告)の信号発生が行なわれるかを示している。MF
Aの処理は誤動作のCPUfのSPによつて発生された
チエツク停止信号によつて開始される。
【0048】図3のステツプ31において、SPはCP
UfのプライベートHSA中にMCのチエツク停止コー
ドを書き込む。ハードウエアのストレージ領域(HS
A)はマイクロコードのみがアクセス可能である(O
S、または他のどんなアプリケーシヨン・プログラムで
もアクセスできない)。このチエツク停止コードは、C
PUfが無能にされ、動作できないことをCPUfに知
らせる。ステツプ32において、SPは、システム中の
すべてのCPU(CPUfを除く)のプライベートのH
SA中にCPUfの識別子(ID)を書き込み、これ
は、システム中のすべてのCPUhに対して、CPUf
の誤動作を知らせる。次に、ステツプ33において、S
PはすべてのCPUに対してMFA外部割込み信号を送
り、割込みを取るよう、それらのCPUに通知する。ス
テツプ34において、外部割込みの処理が可能である第
1のCPUとして、複数個のCPU(システムの中に複
数個のCPUがあれば)の中の1つのCPUを、MFA
割込みを処理するCPUとして表示し、その後、そのM
FA割込みは、後で割込み可能となる他のすべてのCP
Uに対して受け入れ不能にされる。
【0049】本発明の良好な実施例を示した図10の処
理は、エラーを訂正するためのすべてのリトライ動作が
失敗した後、ソリツド・エラーが図1のステツプ5によ
つて検出された時に呼び出される。図10のステツプ1
01において、CPUfはSPへチエツク停止信号を送
り、CPUfの動作はCPUf中のサイクル・クロツク
を停止させることを含んで停止されることを表示する。
【0050】次に、ステツプ102において、サービス
・プロセツサ(SP)はCPUfのレジスタ中のデータ
内容をストアするためにCPUfに信号を送る。これ
は、CPUfのプログラム記憶領域(PSA)のログア
ウト(logout)領域における割込みに必要とされるすべ
てのレジスタのデータ内容(例えば、GPR、FPR、
CR、AR等のデータ内容)をストアすることを含む。
CPUfは、CPUf中にあるソリツド・エラーのタイ
プに従つて、このレジスタのストア動作が成功裡に行な
われる場合と、あるいは、成功裡に行なわれない場合が
ある。通常、SPはCPUfよりも動作速度が低いの
で、SPによるストア動作でなく、できればCPUfが
ストア動作を行なうことが好ましい。若し、CPUfの
ストレージの内容のストア処理動作が成功裡に終了すれ
ば、ステツプ103、104及び105の処理は飛び越
される。
【0051】然しながら、若し、CPUfのストレージ
の内容のストア処理動作が成功しなければ、ステツプ1
03に入り、ステツプ102においてCPUfのストレ
ージ内容のストア処理動作が不成功であつたCPUfの
ストア処理動作を、SPが遂行する。従つて、SPは、
CPUfのPSAのログアウト領域中のレジスタの内容
のストア動作を行ない、ステツプ104に入り、このス
テツプで、SPはCPUfの主要なデータ内容のストア
動作を完了する。ステツプ104におけるSPのこのス
トア処理動作は成功する場合と、あるいは不成功の場合
とがあり、ステツプ105A及び105Bにおいて、こ
の状態は、MCICf中のストア・ロジカル・バリツド
(store logical valid-SLV)フラグをオン、または
オフにセツトすることによつて表示される。若し、スト
ア・エラーが発生したならば、ステツプ105Bにおい
て、SLVビツトは0にセツトされ、若し、ストア・エ
ラーが発生しなければ、ステツプ105Aにおいて、S
LVビツトは1にセツトされ、いずれの場合でもステツ
プ106に入る。
【0052】ステツプ106において、サービス・プロ
セツサ(SP)は、OSがCPUfのPSAを検査する
時、CPUfのチエツク停止状態をオペレーテイング・
システム(OS)に表示するために、有効フラグ・ビツ
ト、プロセツサ・ダメージ(PD)ビツト及びチエツク
停止ログアウト(checkstop logout-CSLO)ビツト
をセツトする。ステツプ103において、各タイプのレ
ジスタの内容は、エラーが無いか、またはエラーを含む
ことになるから、ステツプ106において、各レジスタ
に関する有効フラグ・ビツトはオン、またはオフにセツ
トされる。従つて、MCICf中の有効ビツトの組は、
すべてのタイプのレジスタにストアされた内容がエラー
を含まないことを表示しているか、あるいは、MCIC
f中のビツトの組は、すべてのタイプのレジスタにスト
アされた内容の内の幾つかの内容がエラーを含む内容で
あることを表示することになる。MCICfの有効ビツ
トによつて、すべてのレジスタ中の内容がエラーを含ま
ずにストアされたことが表示されたか、または、レジス
タの幾つかのタイプだけの内容が、エラーなしでストア
されたことが表示されたかに従つて、本発明は異なつた
動作を行なう(図10の最後の部分に表示されてい
る)。
【0053】ステツプ107において、サービス・プロ
セツサ(SP)はCPUfのプログラム記憶領域(PS
A)中にあるマシン・チエツク(MC)の古いプログラ
ム・ステータス・ワード(PSW)に現在のCPUfの
PSWをストアし、ステツプ108において、SPは、
CPUfをチエツク停止状態に設定し、このチエツク停
止状態において、CPUfはプロセツサのサイクル・ク
ロツクを停止されるので、そのCPUfは最早、通常の
CPUとして機能することができない。ステツプ109
において、SPは、CPUfを除くすべてのCPUに故
障警告(MFA)(図3に処理ステツプの細部が示され
ている)に信号を送る。
【0054】ステツプ1010において、終了されたC
PUfのタスクを指名することができる動作可能なCP
Uがあるか否かが決定される。本発明は、中止されたタ
スクをCPUfからCPUhに切り換えることを必要と
するので、複数個のCPUを持つシステムが要求され
る。然しながら、CPUに対して最大限の柔軟性と共用
とを与えるシステムにおいては、すべてのタスクは、そ
のようなシステム中の任意のCPUに指名することがで
きる。然しながら、他のMPシステムにおいては、MP
システム中の1つ、またはそれ以上のCPUが、1つの
タイプの仕事か、または、複数個のOSの内のただ1つ
のOSに専任されている。特定のOSを遂行するCPU
を持つそのようなMPシステムの例は、IBM社のPR
/SMハイパーバイザ(PR/SM hypervisor)を使用する
ESA/370複数CPUシステムである。
【0055】若し、CPUfから割込まれたタスクを続
行するための健康なCPUを入手することが不可能なら
ば、ステツプ1010からの出口はなく、CPUfのプ
ログラムの実行を続けるCPUリソースがないから、ス
テツプ1011に進み、CPUfの中止されたタスクを
ABEND(異常終了)する。然しながら、若し、CP
Uhの入手が可能ならば、中止されたCPUfのタスク
の実行を続行する処理を進行するために、ステツプ10
10において、Yesの経路が出口11の方に取られ
て、ステツプは図11に移動する。
【0056】図11のステツプ111は、CPUfで終
了されたタスクの実行を続けるために利用可能な1つ以
上の動作可能プロセツサ(CPU)の内から任意の1つ
のCPUを選択することを含んでいる。1つ、または2
つのCPUがステツプ111の処理に含ませることがで
きる。主要な外部割込みを取るのに利用可能な最初の動
作可能プロセツサはこのMFA外部割込みを取る。次
に、割り込まれたCPUは、ステツプ32においてハー
ドウエアのストレージ領域(HSA)中に前に入れられ
たCPUfの識別子を受け取り、CPUfのチエツク停
止状態を検証するために、図8中の信号プロセツサ(S
IGP)中のCPUfのチエツク停止フイールドを関知
し、そして、CPUhとして動作可能プロセツサ(CP
U)の1つを割り当てる。CPUfは、図9のブロツク
82の中のCPUの識別子フイールドを読み取るマイク
ロコードを持つているSIGPインストラクシヨンを用
いて識別される。
【0057】次に、ステツプ112において、CPUh
のOSのルーチンはCPUf(即ちMCICf)のプロ
グラム記憶領域(PSA)中のマシン・チエツク割込み
コード(MCIC)を読み取る。ステツプ113におい
て、OSルーチンはMCICf中のCSLOフラグ・ビ
ツトの状態をテストする。CSLOビツトは本発明のこ
の実施例において新しいビツトであつて、若し、図1乃
至図3で説明した従来の処理が用いられたとすれば、C
SLOビツトはオンにセツトされず、CPUfで中止さ
れたタスクをABENDするステツプ1110への「N
O」の経路を取る。
【0058】然しながら、CPUfが誤動作した時に、
チエツク停止ログアウト(checkstop logout-CSL
O)ビツトがセツトされるので、ステツプ114へのY
es経路は、本発明の実施例における通常の経路であ
る。ステツプ114において、OSは、MCICf中の
有効ビツトの状態をテストし、若し、そのレジスタのタ
イプが有効にストアされていないことが表示されたなら
ば、OSはCPUfの中止タスクをABENDするステ
ツプ117への「NO」の経路を取る。従つて、この実
施例の動作ステツプ118は、例えば、レジスタにスト
アされたデータをフアイル中にストアし、OSによつ
て、フアイル中のそのデータをCPUfの中止プログラ
ムにリンクすることなどにより、CPUfのPSAfに
ストアされたレジスタの内容を、早期に中止されたアプ
リケーシヨン・プログラムにリンクさせる。次に、OS
は新しいタスクにおいて指名されるためのプログラムを
スケジユールし、そのプログラムは、そのCPUの最後
の実行のABEND動作の間で獲得された割込みデータ
を持つており、このデータは、復旧し、訂正することが
でき、或は、所望の結果を得るためのプログラムの完全
な実行をより一層効果的にすることができる。
【0059】そして、ステツプ119において、CPU
fタスクをABENDした後、本発明はCPUfのスト
アされたデータ内容を、CPUfの中止したタスクによ
つて拘束されたシステムのリソースを識別するためのデ
ータ内容を分析するOSに与え、そして、次に、OSは
これらのリソースを解放するので、それらのリソースは
次のタスクに再度割り当てすることができる。リソース
のOSによるこの解放は、システム全体をより効率的に
動作させるために、将来のタスクに対してリソースを割
り当てる時に、システム中で利用可能なリソースをより
多くすることができる。
【0060】然しながら、多くの場合、すべての割込み
情報は有効にストアされているから、ステツプ114は
MCICf中の有効ビツトのすべてがオンにセツトされ
ていることを見い出して、ステツプ115に進む。ステ
ツプ115において、OSはCPUhにCPUfの中止
タスクを指名し、そのCPUhのOSはCPUf中のC
PUfのレジスタの幾つかの内容を指名し、CPUh中
の対応するレジスタにこれらの内容をロードし、そし
て、タスクがCPUfの誤動作によつて中止された後、
エラーなしで実行された最後のインストラクシヨンに続
くタスクのインストラクシヨンのアドレスにより引き続
いて動作を開始可能とするために、OSは、これらの内
容を、ストアされたマシン・チエツク(MC)の元のプ
ログラム・ステータス・ワード(PSW)にロードする
ことによつて、CPUhの現在のPSWをセツトする。
【0061】
【発明の効果】複数プロセツサで構成されたシステムに
おいて、ハードウエアのエラー状態においてプログラム
を実行しているプロセツサが誤動作を起した場合、プロ
セツサの誤動作によつて割り込まれたプログラムのタス
クの処理を、その後も続行して、プログラムの実行を完
了することができる。
【図面の簡単な説明】
【図1】複数プロセツサ・システム中で誤動作を起した
プロセツサ(CPUf)中で発生したエラーに起因して
中止したプログラムのタスクを検出する流れ図である。
【図2】図1に示した処理ステツプに続く流れ図であ
る。
【図3】図1に示した誤動作警告(MFA)信号を発生
するステツプを示す流れ図である。
【図4】本発明を適用する複数プロセツサ・システムを
説明するためのブロツク図である。
【図5】本発明に使用するために利用可能な複数プロセ
ツサ・システム中の各プロセツサの幾つかのタイプのレ
ジスタを例示する図である。
【図6】ある1つのインストラクヨンの処理中に発生し
たエラーの1例を示すインストラクシヨンの処理のタイ
ミング図である。
【図7】本発明の良好な実施例におけるESA/370
アーキテクチヤを用いたシステム中の任意の1つのプロ
セツサのマシン・チエツク停止割込みによつてストアさ
れる重要な情報が含まれているシステムの主メモリ(M
S)中のプログラム記憶領域(PSA)の一部を示す図
である。
【図8】CPUfのハードウエアのストレージ領域(H
SA)中のSIGPの状態を示す図である。
【図9】CPUfのハードウエアのストレージ領域中の
外部割込み識別子ブロツクを示す図である。
【図10】本発明の良好な実施例によつて用いられる処
理ステツプの流れ図である。
【図11】本発明の良好な実施例によつて用いられる処
理ステツプの流れ図である。
【符合の説明】
41 システムの主メモリ(MS) 42 マイクロコード領域(MA) 43 キヤツシユ・メモリ 44 サービス・プロセツサ(SP) 71 プログラム記憶領域(PSA) 81 誤動作を起したプロセツサのハードウエアのスト
レージ領域(CPUfのHSA) 82 健康なプロセツサのハードウエアのストレージ領
域(CPUhのHSA)

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 ハードウエアのエラー状態においてプロ
    グラムを実行しているプロセツサが誤動作を起した時、
    中止されたプログラム、またはプログラムのタスクが完
    了する前に、上記中止されたプログラム、またはプログ
    ラムのタスクの実行を続行する方法において、 プロセツサがハードウエアのエラー状態を検出した時、
    予め決められたプログラム続行の割込み状態をストアす
    るために、故障を起したプロセツサ中のレジスタの内容
    をストレージの中にコピーするステツプと、 故障を起したプロセツサを識別する信号を、少なくとも
    他の1つのプロセツサに送るステツプと、 上記信号を受け取るプロセツサの動作に割り込み、プロ
    グラム、またはプログラムのタスクの実行を続行するた
    めのプロセツサを選択し、そして、プログラム、または
    プログラムのタスクの異常終了を表示することなく、最
    後に成功裡に実行されたインストラクシヨンからのプロ
    グラム、またはプログラムのタスクの実行を続行するた
    めに、誤動作を起したプロセツサのストアされたプログ
    ラム続行の割込み状態を、ストレージから選択されたプ
    ロセツサ中にロードするステツプとを含むプログラムの
    実行を続行する方法。
  2. 【請求項2】 オペレーテイング・システムの中で故障
    を起したプロセツサを識別し、そして、故障を起したプ
    ロセツサがプログラム、またはプログラムのタスクの動
    作を中止することを表示するための、ストレージ中の表
    示フイールドを設定するステツプを含むことを特徴とす
    る請求項1に記載のプログラムの実行を続行する方法。
  3. 【請求項3】 故障を起したプロセツサによつて、プロ
    セツサの故障をサービス・プロセツサに知らせるステツ
    プと、 若し、故障を起したプロセツサが動作可能ならば、故障
    を起したプロセツサのレジスタの内容を、故障を起した
    プロセツサによつてコピーするが、若し、故障を起した
    プロセツサが動作不能ならば、故障を起したプロセツサ
    のレジスタの内容をサービス・プロセツサによつてコピ
    ーするステツプとを含むことを特徴とする請求項1に記
    載のプログラムの実行を続行する方法。
  4. 【請求項4】 中止されたプログラムを続けて処理する
    ために、動作可能プロセツサを要求する少なくとも1つ
    の動作可能プロセツサに対して、故障を起したプロセツ
    サの故障警告(MFA)を、サービス・プロセツサによ
    つて知らせるステツプを含むことを特徴とする請求項3
    に記載のプログラムの実行を続行する方法。
  5. 【請求項5】 故障を起したプロセツサによつて使用す
    るために割り当てられたシステムの主ストレージのログ
    アウト領域中に、完了されたレジスタの内容をストアす
    るステツプを含むことを特徴とする請求項3に記載のプ
    ログラムの実行を続行する方法。
  6. 【請求項6】 故障を起したプロセツサ及び少なくとも
    1つの他の動作可能プロセツサの動作を制御するシステ
    ム制御プログラムによつてアクセス可能なストレージ領
    域中にフラグ・ビツトを、サービス・プロセツサによつ
    てセツトするステツプを含むことを特徴とする請求項3
    に記載のプログラムの実行を続行する方法。
  7. 【請求項7】 問題を事前に予防することを可能にする
    ために、故障を起したプロセツサの動作を停止するステ
    ツプと、 マイクロコード/プロセツサのハードウエア動作によつ
    てアクセス可能であるが、オペレーテイング・システ
    ム、またはアプリケーシヨン・プログラムではアクセス
    できないハードウエア・ストレージ領域中に、故障を起
    したプロセツサの動作を停止するプロセツサ停止の表示
    フイールドを、サービス・プロセツサによつてセツトす
    るステツプを含むことを特徴とする請求項3に記載のプ
    ログラムの実行を続行する方法。
  8. 【請求項8】 インストラクシヨンの実行がエラーを持
    つていることを検出されている間は、複数回のインスト
    ラクシヨンの実行を繰り返し、そして、エラーを持たず
    に実行されたインストラクシヨンなしで反復された実行
    回数が、予め決められた回数になつた時に、プロセツサ
    のハードウエアのソリツド・エラーを検出するステツプ
    と、 その後、請求項1に記載された処理を開始するステツプ
    とを含むことを特徴とする請求項1に記載のプログラム
    の実行を続行する方法。
  9. 【請求項9】 インストラクシヨンの実行がエラー状態
    を生じた時、プロセツサのハードウエア中のエラーを検
    出するステツプと、 プロセツサのハードウエアのエラー状態が間欠的なタイ
    プのエラー状態であつたとしても、請求項1に記載され
    た処理を開始するステツプで請求項1の処理を制御する
    ことを特徴とする請求項1に記載のプログラムの実行を
    続行する方法。
  10. 【請求項10】 誤動作を起したハードウエアの素子の
    除去によつて惹起され、プロセツサのハードウエアの状
    態の性能低下を検出するステツプと、 プロセツサの性能低下状態が予め決められた閾値のレベ
    ルを越えた時を決定するステツプと、 予め決められた閾値のレベルが超過された時、プロセツ
    サがシステムから除外される前に、システムの保全の目
    的を果たすために、他のプロセツサに現在のタスクを続
    行させるために、請求項1に記載の処理を開始するステ
    ツプとで請求項1の処理を制御することを含む請求項1
    に記載のプログラムの実行を続行する方法。
JP4020741A 1991-03-26 1992-01-10 プログラムの実行を続行する方法 Expired - Lifetime JPH0820965B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/675,393 US5214652A (en) 1991-03-26 1991-03-26 Alternate processor continuation of task of failed processor
US675393 1991-03-26

Publications (2)

Publication Number Publication Date
JPH05108391A true JPH05108391A (ja) 1993-04-30
JPH0820965B2 JPH0820965B2 (ja) 1996-03-04

Family

ID=24710288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4020741A Expired - Lifetime JPH0820965B2 (ja) 1991-03-26 1992-01-10 プログラムの実行を続行する方法

Country Status (5)

Country Link
US (1) US5214652A (ja)
EP (1) EP0505706B1 (ja)
JP (1) JPH0820965B2 (ja)
DE (1) DE69219657T2 (ja)
WO (1) WO1992017841A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983359A (en) * 1996-03-18 1999-11-09 Hitachi, Ltd. Processor fault recovering method for information processing system
KR100704570B1 (ko) * 1998-07-09 2007-04-09 리처드 제이 푸고 특정하게 동조된 무선 주파수의 전자계 발생기를 갖는 플라즈마를 사용한 물질의 절개 장치, 플라즈마 장치 및 물질의 절개 방법

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04139544A (ja) * 1990-10-01 1992-05-13 Fujitsu Ltd データ復元方法
US5404563A (en) * 1991-08-28 1995-04-04 International Business Machines Corporation Scheduling normally interchangeable facilities in multiprocessor computer systems
US5815651A (en) * 1991-10-17 1998-09-29 Digital Equipment Corporation Method and apparatus for CPU failure recovery in symmetric multi-processing systems
WO1993018456A1 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
JPH05314075A (ja) * 1992-05-07 1993-11-26 Nec Corp オンラインコンピュータ装置
US5790834A (en) * 1992-08-31 1998-08-04 Intel Corporation Apparatus and method using an ID instruction to identify a computer microprocessor
US5919266A (en) * 1993-04-02 1999-07-06 Centigram Communications Corporation Apparatus and method for fault tolerant operation of a multiprocessor data processing system
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
JP3300776B2 (ja) * 1994-03-15 2002-07-08 株式会社日立製作所 並列プロセッサの切替え制御方式
AU2663095A (en) * 1994-06-10 1996-01-05 Sequoia Systems, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
JP3086779B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 メモリ状態復元装置
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5745672A (en) * 1995-11-29 1998-04-28 Texas Micro, Inc. Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer
US5751939A (en) * 1995-11-29 1998-05-12 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US6202174B1 (en) 1996-09-16 2001-03-13 Advanced Micro Devices Inc Method for identifying and correcting errors in a central processing unit
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
DE19861088A1 (de) * 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
DE19801992C2 (de) * 1998-01-20 2000-07-06 Siemens Ag Verfahren zur Verbesserung der Systemverfügbarkeit nach dem Ausfall von Prozessoren einer Prozessorplattform
US6163857A (en) * 1998-04-30 2000-12-19 International Business Machines Corporation Computer system UE recovery logic
FR2792087B1 (fr) * 1999-04-07 2001-06-15 Bull Sa Procede d'amelioration des performances d'un systeme multiprocesseur comprenant une file d'attente de travaux et architecture de systeme pour la mise en oeuvre du procede
FI108599B (fi) * 1999-04-14 2002-02-15 Ericsson Telefon Ab L M Toipuminen matkaviestinjärjestelmissä
US6721882B1 (en) * 1999-08-30 2004-04-13 Lucent Technologies Inc. Method and apparatus for warm starting a system where the system includes region(s) of software code incapable of warm starting
US6889378B2 (en) 2000-07-24 2005-05-03 Sony Corporation Information processing method, inter-task communication method, and computer-executable program for the same
US6684346B2 (en) * 2000-12-22 2004-01-27 Intel Corporation Method and apparatus for machine check abort handling in a multiprocessing system
KR100441712B1 (ko) * 2001-12-29 2004-07-27 엘지전자 주식회사 확장 가능형 다중 처리 시스템 및 그의 메모리 복제 방법
US7353433B2 (en) * 2003-12-08 2008-04-01 Intel Corporation Poisoned error signaling for proactive OS recovery
US7478278B2 (en) * 2005-04-14 2009-01-13 International Business Machines Corporation Template based parallel checkpointing in a massively parallel computer system
CN103443774A (zh) * 2007-09-25 2013-12-11 富士通株式会社 信息处理装置和控制方法
JP5509568B2 (ja) * 2008-10-03 2014-06-04 富士通株式会社 コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
FR2944877B1 (fr) * 2009-04-27 2011-07-01 Commissariat Energie Atomique Systeme d'imagerie par rmn a pertes cryogeniques et bruit acoustique reduits.
US8161330B1 (en) 2009-04-30 2012-04-17 Bank Of America Corporation Self-service terminal remote diagnostics
US8549512B1 (en) 2009-04-30 2013-10-01 Bank Of America Corporation Self-service terminal firmware visibility
US20110041128A1 (en) * 2009-08-13 2011-02-17 Mathias Kohlenz Apparatus and Method for Distributed Data Processing
US9038073B2 (en) * 2009-08-13 2015-05-19 Qualcomm Incorporated Data mover moving data to accelerator for processing and returning result data based on instruction received from a processor utilizing software and hardware interrupts
US8593971B1 (en) 2011-01-25 2013-11-26 Bank Of America Corporation ATM network response diagnostic snapshot
CN102141947B (zh) * 2011-03-30 2013-04-24 东方通信股份有限公司 一种对采用嵌入式操作系统的计算机应用系统中异常任务的处理方法及系统
US9015025B2 (en) * 2011-10-31 2015-04-21 International Business Machines Corporation Verifying processor-sparing functionality in a simulation environment
US8746551B2 (en) 2012-02-14 2014-06-10 Bank Of America Corporation Predictive fault resolution
EP2835995A1 (en) * 2013-08-09 2015-02-11 Giesecke & Devrient GmbH Methods and devices for performing a mobile network switch
US10733165B1 (en) * 2015-07-06 2020-08-04 Workiva Inc. Distributed processing using a node hierarchy

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02132529A (ja) * 1988-11-14 1990-05-22 Hitachi Ltd 自動監視切替制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4377000A (en) * 1980-05-05 1983-03-15 Westinghouse Electric Corp. Automatic fault detection and recovery system which provides stability and continuity of operation in an industrial multiprocessor control
US4872106A (en) * 1983-04-06 1989-10-03 New Forney Corp. Industrial process control system with back-up data processors to take over from failed primary data processors
FR2602891B1 (fr) * 1986-08-18 1990-12-07 Nec Corp Systeme de correction d'erreur d'un systeme a multiprocesseurs pour corriger une erreur dans un processeur en mettant le processeur en condition de controle apres achevement du redemarrage du microprogramme a partir d'un point de reprise
US4926320A (en) * 1987-04-07 1990-05-15 Nec Corporation Information processing system having microprogram-controlled type arithmetic processing unit
US4970640A (en) * 1987-08-28 1990-11-13 International Business Machines Corporation Device initiated partial system quiescing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02132529A (ja) * 1988-11-14 1990-05-22 Hitachi Ltd 自動監視切替制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983359A (en) * 1996-03-18 1999-11-09 Hitachi, Ltd. Processor fault recovering method for information processing system
KR100704570B1 (ko) * 1998-07-09 2007-04-09 리처드 제이 푸고 특정하게 동조된 무선 주파수의 전자계 발생기를 갖는 플라즈마를 사용한 물질의 절개 장치, 플라즈마 장치 및 물질의 절개 방법

Also Published As

Publication number Publication date
US5214652A (en) 1993-05-25
EP0505706B1 (en) 1997-05-14
DE69219657D1 (de) 1997-06-19
EP0505706A1 (en) 1992-09-30
JPH0820965B2 (ja) 1996-03-04
DE69219657T2 (de) 1997-10-23
WO1992017841A1 (en) 1992-10-15

Similar Documents

Publication Publication Date Title
JPH05108391A (ja) プログラムの実行を続行する方法
US5948112A (en) Method and apparatus for recovering from software faults
US5815651A (en) Method and apparatus for CPU failure recovery in symmetric multi-processing systems
CN109891393B (zh) 使用检查器处理器的主处理器错误检测
US6438709B2 (en) Method for recovering from computer system lockup condition
US7627781B2 (en) System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor
JP4903149B2 (ja) コンピュータシステム上でコンピュータプログラムを処理する方法
RU2431182C2 (ru) Способ, операционная система и вычислительное устройство для выполнения компьютерной программы
JPH05210527A (ja) 再試行及びチェックポイント設定によるエラー回復装置及び方法
JPH08263454A (ja) 障害回復処理方法
US4045661A (en) Apparatus for detecting and processing errors
US20080133975A1 (en) Method for Running a Computer Program on a Computer System
US7502958B2 (en) System and method for providing firmware recoverable lockstep protection
JPH02294739A (ja) 障害検出方式
JPH07141176A (ja) コマンドリトライ制御方式
US5655072A (en) Method and apparatus for testing a sytem component with test checkpointing
JPH03259349A (ja) 障害処理方式
JP5018140B2 (ja) マルチプロセッサシステム、タスクスケジューリング方法およびタスクスケジューリングプログラム
JP2922981B2 (ja) タスクの実行継続方法
JP2679575B2 (ja) 入出力チャネルの障害処理システム
EP0655686B1 (en) Retry control method and device for control processor
JPS6155744A (ja) エラ−のリカバリ処理方式
JP2924732B2 (ja) 情報処理装置の自己診断方法
JPH03265950A (ja) 制御記憶1ビットエラー処理方式
JPS63136142A (ja) 論理装置のエラ−回復方式