JPH06250867A - 耐故障計算機および耐故障計算処理方法 - Google Patents

耐故障計算機および耐故障計算処理方法

Info

Publication number
JPH06250867A
JPH06250867A JP5039852A JP3985293A JPH06250867A JP H06250867 A JPH06250867 A JP H06250867A JP 5039852 A JP5039852 A JP 5039852A JP 3985293 A JP3985293 A JP 3985293A JP H06250867 A JPH06250867 A JP H06250867A
Authority
JP
Japan
Prior art keywords
cpu
computer
processing
failure
memory
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
JP5039852A
Other languages
English (en)
Inventor
Michihiro Yamane
道広 山根
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP5039852A priority Critical patent/JPH06250867A/ja
Publication of JPH06250867A publication Critical patent/JPH06250867A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【目的】 CPU使用効率の高い、かつある特定下で発
生するタイミング故障を受ける確立の少ない、多数決に
より確実に故障計算機を特定することができる高信頼な
耐故障計算機および耐故障計算処理方法を実現する。 【構成】 3個のCPUで2回ずつ並列処理を行い、1
個が故障しても残りの2個で処理結果を比較し、処理の
信頼度を低下させない。また、2個の計算機が共に正常
終了しても、比較結果が不一致のときには、第3の計算
機の処理の結果と比較して、確実に故障計算機を特定す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、2重計算機に比べて故
障の検出および予備の計算機の比率を大きくせずに、タ
イミング故障を検出することができる高信頼な耐故障計
算機および耐故障計算処理方法に関する。
【0002】
【従来の技術】従来より、耐故障性を持った高信頼な計
算機を実現するために、CPUやメモリ等を多重化して
相互比較により故障を検出するとともに、予備機を具備
した方法が提案されていた(例えば、『電子情報通信ハ
ンドブック』第2分冊、昭和63年3月30日(株)オ−ム社
発行、pp.1813〜1815参照)。図8は、従来の比較回路を
備え、かつCPUとメモリを2重化した計算機の構成図
である。図8においては、計算機1がCPU装置5−1
とCPU装置5−2から構成され、各々のCPU装置は
CPU3とメモリ2とがメモリバス4で接続されてい
る。これらCPU装置5−1と5−2とは、比較回路6
を介して相互接続されており、かつCPU3間にはCP
U間通信線7が接続されている。この例では、CPU3
の故障は、2重化されたCPU3の比較により行われ
る。比較回路6は、CPU装置5−1のCPU3とCP
U装置5−2のCPU3の処理結果を受け取り、それら
の値を比較して、予め定められた方のCPU3に報告す
る。CPU間通信線7は、CPU装置5−1と5−2と
の間で故障の有無等、CPU装置の状態を相互に連絡す
る。
【0003】図9は、従来のCPUとメモリを2重化
し、かつ2重照合を行う計算機の構成図である。図9に
おいて、(b)は2重化されたCPU装置5−1と5−
2の構成を示し、(a)は各CPU装置5−1,5−2
のCPU3の内部構成を示している。すなわち、各CP
U装置5−1,5−2内のCPU3は、それぞれ2個の
CPU3−1とCPU3−2と比較回路8で構成されて
おり、2重化された各々のCPU3の内部で2個のCP
Uの比較を行うことにより2重照合の2重化を行ってい
る。図9の方法によれば、図8の方法に比べてさ己にC
PUの故障検出を強化することができる。図10は、従
来のCPUを3重化して多数決により故障検出を行う計
算機の構成図である。図10においては、計算機1がC
PU装置5−1、5−2、および5−3で3重化されて
おり、3個のCPU装置の出力は3個の比較回路9−
1,9−2,および9−3に入力されてそれぞれ比較さ
れる。比較の結果、3個のうちの2個の比較回路で一致
した出力を正しい結果として出力する。図8、図9およ
び図10の方法において、図8の2重化構成は広く交換
機の制御用計算機に適用されている。また、図9の2重
照合の2重化構成は、無中断運転を目的とするトランザ
クション処理用の計算機に適用されている。また、図1
0の3重化多数決構成は、最近の無中断運転を目的とす
る汎用計算機に適用されている。
【0004】以下、図8の計算機に故障が生じた場合の
動作について述べる。図8の計算機1は、CPU3、メ
モリ2およびメモリバス4がそれぞれ2重化されている
ので、CPU3、メモリ2およびメモリバス4の各々に
おける一重故障に対して計算を連続して実行することが
できる。 (a)CPUの故障の場合には、CPU装置5−1とC
PU装置5−2とを比較回路6により比較して、CPU
装置5−1内のCPU3に故障が発生したことが検出さ
れると、CPU装置5−1は自動的に処理を停止して、
CPU間通信線7を介してCPU装置5−2に対して自
装置(5−1)の停止を通報する。一方、CPU装置5
−2は、CPU装置5−1の停止には影響されずに、計
算機1としての処理を継続する。 (b)メモリの故障の場合には、CPU装置5−1内の
メモリ2の故障検出回路によりメモリにビットエラ−等
の故障が発生したことが検出されると、CPU装置5−
1内のメモリ2からCPU装置5−1内のCPU3にメ
モリバス4を介してメモリエラ−が発生したことを通知
する。このエラ−信号を受けると、CPU装置5−1は
動作を停止して、CPU装置5−2に対してCPU間通
信線7を介して自装置(5−1)の停止を通報する。一
方、CPU装置5−2はその影響を受けることなく、制
御の中断も発生させずにそのまま処理を継続する。 (c)メモリバスの故障の場合には、メモリ2とCPU
3内に配置されたメモリバスの故障検出回路により検出
される。例えば、CPU装置5−1内のメモリバス4に
ビットエラ−等の故障が発生したことが、CPU装置5
−1内のCPU3で検出された場合、CPU装置5−1
が停止して、CPU装置5−2に対してCPU間通信線
7を介して自装置(5−1)の停止を通報する。一方、
CPU装置5−2は、CPU装置5−1の停止に影響さ
れず、従って制御の中断は発生しない。
【0005】図7は、従来のウォッチドッグ・タイマに
よるCPUの監視状態を示す図である。従来、図8〜図
10による比較によるCPU故障検出方法の他に、図7
に示すようなウォッチドッグ・タイマによる監視手段が
用いられていた。図7において、CPU30は正常に動
作しているときには、常に動作が正常であることの証と
して周期的に外部にリセット信号を発生する。この周期
信号をウォッチドッグ・タイマ31がリセット信号とし
て受け取り、周期的にリセットされる。CPU30が何
等かの原因により異常/故障が発生した場合には、ウォ
ッチドッグ・タイマ31は周期的にリセットされないた
めオ−バフロ−する。その結果、CPU30の異常/故
障が検出される。この方法は簡明であるが、ソフトウェ
アの暴走による異常検出の場合には、検出は可能である
が、故障によりウォッチドッグ・タイマ31がオ−バフ
ロ−するまでの時間が長いという問題がある。次に、C
PU以外のメモリ、メモリバスの故障検出の場合を述べ
る。 (a)メモリの故障検出の場合には、パリティビット、
あるいはECC(エラ−修正符号)を付加する方法が実
用化されている。一般の計算機には、特にECC符号を
付加する方法が広く用いられている。例えば、1ビット
のエラ修正符号は、1ビットだけのエラ−であれば、こ
れを検出して修正することができる。また、2ビット以
上のエラ−については検出することだけが可能である。 (b)メモリバスの故障検出の場合には、パリティビッ
トを付加する方法、または転送時の定められた信号手順
や応答時間のチェックによる方法等、種々の故障検出方
法が実用化されている。
【0006】
【発明が解決しようとする課題】このように、従来にお
いては、CPU、メモリバスとメモリを2重化した計算
機を用いることにより、CPU、メモリバスあるいはメ
モリ内に1重の故障が発生した場合には、処理を中断す
ることなく処理を続行することができる。しかしなが
ら、従来の2重化、3重化された計算機においては、C
PUの故障検出のためにハ−ドウェアを多く付加する必
要があり、少ないハ−ドウェア量だけを付加するだけで
故障検出は不可能であった。すなわち、2重化、3重化
して高信頼化を図った従来の計算機では、次のような問
題点があった。 (1)第1番目の問題点は、CPUの故障検出のため
に、多重化して比較し、かつ予備機を備えるので、多く
のハ−ドウェア量が必要であった。具体的に、CPUの
使用率は2重化の場合で1.5、3重化多数決の場合で
0.3、また2重照合の2重化では0.25である。 (2)第2番目の問題点は、単純な2重化構成では片側
故障時に片肺運転となり、CPUの比較対象がなくなる
ために、故障検出能力が低くなることである。 (3)第3番目の問題点は、1個の処理を同時に2個の
CPUで実行するため、ある特定の条件下で発生するタ
イミング故障が同時に発生に発生する可能性の高いこと
である。つまり、多重化したCPUの比較により故障を
検出するため、同時に故障すると検出できない場合があ
る。本発明の目的は、これら従来の課題を解決し、CP
Uの使用効率が高く、また1個のCPUが故障した後の
故障検出能力が低下せず、同時にタイミング故障を受け
る確立が少なく、確実に故障計算機を特定することが可
能な高信頼な耐故障計算機および耐故障計算処理方法を
提供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するた
め、本発明の耐故障計算機は、(イ)CPU故障検出器
およびメモリバス故障検出器を備えたCPU(13)、
メモリ故障検出器およびメモリバス故障検出器を備えた
メモリ(12)、ならびにCPU(13)とメモリ(1
2)とを接続するメモリバス(14)からそれぞれ構成
される第1、第2および第3の計算機(15,16,1
7)と、第1、第2および第3の計算機(15,16,
17)の処理結果を比較する第1、第2および第3の比
較回路(18,19,20)と、比較回路をそれぞれ計
算機に接続し、かつ比較回路の比較結果を計算機に通知
する専用バス(22)と、計算機相互間を接続し、互い
に故障の有無等、各計算機の状態を連絡するCPU間通
信線(21)とを具備することを特徴としている。ま
た、本発明の耐故障計算処理方法では、(ロ)第1、第
2および第3の計算機(15,16,17)は、各計算
機での処理の正常または異常終了を相互に通信するCP
U通信線(21)で接続され、第1、第2および第3の
計算機(15,16,17)は、それぞれ別個の処理を
並列に実行し、互いに他の2個の計算機の処理結果が正
常であれば、第1の計算機(15)は第3の計算機(1
7)が実行した処理を、第2の計算機(16)は第1の
計算機(15)が実行した処理を、第3の計算機(1
7)は第1の計算機(15)が実行した処理をそれぞれ
再度実行し、2回の処理が共に正常に終了したならば処
理を完了し、いずれか1個の計算機で1回目あるいは2
回目の処理結果が異常終了したならば、異常終了した計
算機が再度同一の処理を実行して、その処理結果が正常
であれば、計算機は一時的な故障であったと判断し、処
理結果が再度異常であれば計算機は固定的な故障である
と判断して、修理/交換要求を指示することを特徴とし
ている。
【0008】
【作用】本発明においては、従来の2重化等に多重化し
た計算機に比べて、動作タイミングを異ならせている。
すなわち、3個のCPUにより同一の処理を2回ずつ時
間をずらせて実行するので、CPUの使用効率が高い。
また、3個のCPUのうちの1個が故障しても、残りの
2個で処理結果の比較を行うので、処理性能は低下する
が、処理の信頼性は低下しない。さらに、1個の処理を
異なる2個のCPUで時間をずらして実行し、その結果
を比較するので、特定の条件で生じるタイミング故障を
受ける確率が少ない。さらに、2個の計算機が共に正常
に終了したが、それらの処理結果の比較が一致しない場
合には、第3の計算機で3回目の同一処理を行わせて、
前の2つの結果と比較することにより、多数決が行える
ので、確実に故障計算機を特定することができる。これ
により、故障の検出や予備の計算機の比率を大幅に増加
せず、かつタイミング故障の検出が可能な耐故障計算機
および耐故障計算処理方法を実現する。
【0009】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。図1は、本発明の第1の実施例を示す耐故障
計算機の構成図である。本実施例では、図1に示すよう
に、CPU13とメモリ12とメモリバス14とからな
るCPU装置15,16,17を3個以上並列に配置
し、それら相互間を専用バス22で接続する。そして、
CPU装置15と16間に比較回路18、CPU装置1
6と17間に比較回路19、CPU装置17と15間に
比較回路20を設ける。3個のCPU装置と3個の比較
回路18,19,20を接続する専用バス22は、比較
の結果も各CPUに通知する。また、各CPU13相互
間には、CPU装置15,16および17の間で故障の
有無等の計算機の状態を相互に連絡するためのCPU間
通信線21が接続されている。メモリ12、CPU13
およびメモリバス14は、従来の構成と同じように、そ
れぞれCPU、メモリおよびメモリバスの故障検出回路
を備えている。
【0010】図2は、図1における動作タイミングチャ
−トである。図6に示すように、CPU装置15、CP
U装置16およびCPU装置17の3個のCPU装置は
同一時刻にはそれぞれ異なった処理を並列に実行してい
る。この処理n−3,処理n−2,処理n−1等は、あ
るまとまった命令群の実行である。あるCPU装置で処
理が正常に終了した後に、他のCPU装置で同一の処理
を再実行し、これら2回の処理が共に正常で結果が一致
した場合にその処理を完了するのである。図2では、C
PU装置15が処理n−3を実行した後、正常に終了し
たので、次のサイクルにCPU装置16が処理n−3を
実行する。そして、CPU装置15の処理結果とCPU
装置16の処理結果とを比較し、一致すれば処理を完了
する。処理n−1、処理n、処理n+1、処理n+2、
・・・についても全く同じようにして、同一処理を別の
CPU装置が再実行した後、2つの処理の結果が一致し
たときに処理を終了する。例えば、銀行のオンライン預
金管理システムの処理の場合に、2個の処理の結果が一
致した時点で、預金の台帳であるデ−タベ−スを書き換
えることになる。図2の使用効率を考えると、正常時に
は、3個のCPU装置を用いて2サイクルで3命令を処
理しているので、CPU装置の使用効率は3命令/(3
CPU×2サイクル)=0.5となる。すなわち、本実
施例のCPU構成では、従来の3重化プロセッサの使用
効率(0.3)に比べて、CPU装置の使用効率を高く
することができる。
【0011】図2において、3個のCPU装置における
処理の繰り返し実行順序は、以下のような基本的方法に
より制御する。 (イ)3個のCPU装置は、共に処理が正常/異常に終
了したことが判別できるまで、次の処理を開始しない。 (ロ)処理結果が正常に見える特殊な故障を避けるため
に、一時的な故障の切り分けのための再試行を除き、1
個のCPUで連続して2回同一の処理は行わない。 (ハ)何等かの原因で、処理の実行順序が乱れた場合、
若番のCPUが若番の処理を実行する。また、故障CP
Uが明確な場合には、当該CPUを削除して番号をつめ
る。なお、本実施例においては、必ず並列動作を行わせ
るために、予め各CPU装置の処理は、同時実行による
競合等が発生しないよう分割して配置されているものと
する。並列処理による競合回避についての説明は、本発
明の目的から外れるので、これを省略する。
【0012】以下、図2、図3および図4により、正常
時の動作、固定故障時の動作、および間欠故障時の動作
について述べる。 (a)正常時の動作、 図2の処理n−3に着目して、正常時の処理の流れを述
べる。時刻tn−2では、(1)CPU装置15は処理
n−3、CPU装置16は処理n−2、CPU装置17
は処理n−1の各1回目の実行を開始する。 (2)CPU装置15は処理n−3の処理が正常に終了
したことをCPU間通信線21を介して他の2個のCP
U装置16、CPU装置17に通知する。処理n−3の
処理結果は、他のCPU装置(ここでは、CPU装置1
6)での2回目の処理結果と比較され、比較の結果が一
致して、処理結果が処理n−3の指定通りに転送されて
格納されるまで、CPU装置15で保持される。他のC
PU装置16およびCPU装置17も、全く同じ動作を
行う。 (3)CPU装置16およびCPU装置17も、この時
点では、それぞれ処理n−2および処理n−1を正常に
終了しており、次の処理が開始可能な状態である。次
に、時刻tn−1では、(4)CPU装置15は処理n
−1、CPU装置16は処理n−3、CPU装置17は
処理n−2の2回目の処理をそれぞれ開始する。 (5)CPU装置16は、処理n−3の処理が正常に終
了したので、処理n−3の1回目の処理を行ったCPU
装置15に、1回目の処理結果と2回目の処理結果とを
比較するために、1回目の処理結果を比較回路18に転
送するように、CPU間通信線21を介して通知する。
【0013】(6)CPU装置15は、1回目の処理結
果を比較回路18に転送する。 (7)同時に、CPU装置16は2回目の処理結果を比
較回路18に転送する。 (8)比較回路18は、CPU装置15で実行した処理
n−3の1回目の処理結果と、CPU装置16で実行し
た処理n−3の2回目の処理結果とを比較する。比較結
果が一致しているならば、一致したことをCPU装置1
5とCPU装置16に専用バス22を介して通知する。 (9)CPU装置16は、処理n−3に指定された方法
で処理結果を共通メモリに転送し、あるいはこれを格納
する。CPU装置16は、転送/格納が正常に終了した
ことをCPU間通信線21を介してCPU装置15に通
知する。 (10)CPU装置15は、CPU装置16が処理n−
3の処理結果を正常に転送/格納できたことを確認した
後に、CPU装置15に保存されている処理n−3の処
理結果を削除する。
【0014】(b)固定故障時の動作、 図3は、図1における計算機の固定故障時の動作タイミ
ングチャ−トである。以下、主として処理n−3に着目
したときに、CPU装置16が時刻tn−1以降に故障
して固定故障が検出された場合を説明する。時刻tn−
2では、(1)CPU装置15は処理n−3、CPU装
置16は処理n−2、CPU装置17は処理n−1の各
1回目の実行を開始する。 (2)CPU装置15は、処理n−3の処理が正常に終
了したことを、CPU間通信線21を介して他の2個の
CPU装置16,17に通知する。CPU装置15にお
ける処理n−3の処理結果は、他のCPU装置で2回目
の処理が行われ、その結果との比較が行われて、両者が
一致し、その処理結果が処理n−3の指定通りにメモリ
に転送/格納されるまでの期間、CPU装置15で一時
保存される。 (3)CPU装置15の他の2個のCPU装置16,1
7も、それぞれ処理n−2,処理n−1の処理を正常に
終了して、次の処理を開始することが可能な状態にあ
る。時刻tn−2では、(4)CPU装置15は処理n
−1、CPU装置16は処理n−3、CPU装置17は
処理n−2の各2回目の処理を開始する。 (5)CPU装置16は、処理n−3の実行中にウォッ
チドッグ・タイマによりCPU装置16の故障が検出さ
れて、処理は異常終了となる。CPU装置16は、異常
終了したことをCPU間通信線21を介して他の2個の
CPU装置15,17に通知する。なお、CPU装置1
6の故障を他の2個のCPU装置15,17が判別でき
る理由は、例えば、CPU故障検出回路からの故障検出
信号がCPU装置16内のCPU13の処理を経由せず
に直接CPU間通信線21に出力されるからである。
【0015】次に、時刻tnでは、(6)2個のCPU
装置15、CPU装置17は共に前の処理を正常に終了
しているので、CPU装置15は処理nを、CPU装置
17は処理n+1の2回目をそれぞれ実行する。 (7)CPU装置16は、故障が一時的のものか、固定
的なものかを切り分けるため、再度処理n−3の実行を
開始する。その結果、再度の故障を検出したので、この
故障は固定的な故障であると判断し、CPU装置16は
交換修理されて復旧するまで動作を停止する。CPU装
置16の故障が固定的な故障であることを、CPU間通
信線21を介して他の2個のCPU装置15,17に通
知する。なお、再実行の起動が不可能な故障で停止する
場合も考えられる。このような場合には、他の2個のC
PU装置15および17は、常時、時間監視を行って再
起動後一定の時間でCPU装置16の無応答から固定故
障を判定する。次に、時刻tn+1では、(8)CPU
装置15は前に処理n−3の1回目の処理を行っている
ので、連続して2回目を処理することはできない。従っ
て、CPU装置17が処理n−3の2回目の処理を開始
する。CPU装置15は、処理n+1の2回目の処理を
開始する。また、CPU装置15が前に処理した処理n
は、そのまま保持されている(ここでは、入力順序と出
力順序が逆転されても問題がない場合であるとする)。
CPU装置17は、処理n−3が正常終了した場合に
は、処理n−3の1回目の処理を実行したCPU装置1
5に対して、1回目の処理結果を比較回路20に転送す
るように、CPU間通信線21を介して通知するととも
に、自装置17も比較回路20に2回目の処理結果を転
送して、比較回路20で両結果を比較させる。
【0016】(9)CPU装置15は、通知を受けたの
で、処理n−3の1回目の処理結果を比較回路20に転
送する。 (10)同時に、CPU装置17は、処理n+1の1回
目の処理結果を一時保存する。 (11)比較回路20は、CPU装置15で実行された
処理n−3の1回目の処理結果と、CPU17で実行さ
れた処理n−3の2回目の処理結果とを比較する。比較
結果が一致すれば、一致したことをCPU装置15と1
7に専用バス22を介して通知する。 (12)CPU装置17は、処理n−3に指定された方
法で処理結果を共通メモリに転送し、あるいはこれを格
納する。CPU装置17は、転送/格納が正常に終了し
たことをCPU間通信線21を介してCPU装置15に
通知する。 (13)CPU装置15は、CPU装置17が処理n−
3の処理結果を正常に転送/格納できたことを確認した
後、CPU装置15に保存されていた処理n−3の処理
結果を廃棄する。 次に、時刻tn+2では、(14)CPU装置16が交
換等により回復するまでの間、CPU装置15とCPU
装置17の2個のCPU装置で運転を継続するために、
CPU装置17が処理nの2回目の処理を開始し、CP
U装置15は待機して処理順序を回復する。
【0017】(c)一時的故障時の動作、 図4は、図1の計算機における間欠故障時の動作タイミ
ングチャ−トである。以下、処理n−3に着目して、C
PU装置16が時刻tn−1以降に一時的に故障した場
合の処理の流れを、図4により説明する。時刻tn−2
では、(1)CPU装置15は処理n−3、CPU装置
16は処理n−2、CPU装置17は処理n−1の1回
目の実行をそれぞれ開始する。 (2)CPU装置15は、処理n−3の処理が正常に終
了したことをCPU間通信線21を介して他の2個のC
PU装置16,17に通知する。処理n−3の処理結果
は、他のCPU装置で実行された2回目の処理結果と比
較され、その結果が一致して、処理n−3の指定通りに
転送/格納されるまでは、CPU装置15に一時保存さ
れる。 (3)CPU装置15の他の2個のCPU装置16,1
7も、この時点ではそれぞれ処理n−2と処理n−1の
処理が正常に終了したので、次の処理の開始が可能な状
態にある。次に、時刻tn−1では、(4)CPU装置
15は処理n−1、CPU装置16は処理n−3、CP
U装置17は処理n−2の2回目の処理をそれぞれ開始
する。 (5)CPU装置16は、処理n−3を実行中にウォッ
チドッグ・タイマでCPU装置16の故障が検出された
ため、処理は異常終了となる。CPU装置16は、異常
終了したことをCPU間通信線21を介して他の2個の
CPU装置15,17に通知する。なお、CPU装置1
6の故障をCPU装置15,17に通知することができ
る理由は、前述のように、CPU故障検出回路がCPU
装置16内のCPU13の処理を経ることなく、直接故
障検出信号をCPU間通信線21を介して出力するから
である。
【0018】次に、時刻tnでは、(6)2個のCPU
装書15,17は、それぞれ正常に終了しているため、
CPU装置15は処理nを、CPU装置17は処理n+
1を、それぞれ実行する。同時に、CPU16は、故障
が一時的であるか、固定的であるかを切り分けるため
に、再度処理n−3の実行を開始する。 (7)CPU装置16は処理n−3が終了した時点で、
処理n−3の1回目の処理を実行したCPU装置15に
対して、1回目と2回目の処理結果を比較するため、1
回目の処理結果を比較回路18に転送するようにCPU
間通信線21を介して通知する。 (8)CPU装置15は、1回目の処理結果を比較回路
18に転送する。同時に、CPU装置16は、2回目の
処理結果を比較回路18に転送する。 (9)比較回路18は、CPU装置15で実行した処理
n−3の1回目の処理結果と、CPU16で実行した処
理n−3の2回目の処理結果とを比較する。比較結果が
一致していれば、CPU装置16の故障は一時的な故障
であると判断することができる。比較回路18は、CP
U装置16の故障が一時的な故障であり、CPU装置1
6は処理継続可能であることを、CPU間通信線21を
介して他の2個のCPU装置15,17に通知する。
【0019】(10)CPU装置16は、処理n−3に
指定された方法で処理結果を共通メモリに転送し、ある
いは格納する。CPU装置16は、転送/格納が正常に
終了したことを、CPU間通信線21を介してCPU装
置15に通知する。 (11)CPU装置15は、CPU装置16が処理n−
3の処理結果を正常に転送/格納できたことを確認した
後、CPU装置15に保存されていた処理n−3の処理
結果を廃棄する。時刻tn+1では、(12)2個のC
PU装置15,17は、それぞれ正常に終了しているた
め、CPU装置15は処理n+1、CPU装置17は処
理nのそれぞれ2回目の処理を実行する。CPU装置1
6は、他のCPU装置15,17と処理の順序を合わせ
るために待機する。 (13)CPU装置15は処理n+1、CPU装置17
は処理nのそれぞれ2回目の処理を終了した後、1回目
の処理結果との比較を比較回路19と比較回路20で行
う。時刻tn+2では、(14)CPU装置15は処理
n+2、CPU装置16は処理n+3、CPU装置17
は処理n+4のそれぞれ1回目の実行を開始する。
【0020】(d)多数決を必要とする場合の動作、 図5は、図1における計算機の多数決時の動作タイミン
グチャ−トである。2個の計算機が共に正常終了したに
もかかわらず、比較結果が一致せず、いずれか一方が故
障したと考えられるような場合には、第3の計算機に3
回目の処理を実行させることにより、3個の計算機によ
る多数決で故障計算機を特定することができる。以下、
多数決による故障計算機決定時の動作を、図5により説
明する。 (多数決の第1の具体例、図5(a)の場合) (1)CPU装置15の1回目の処理は正常に終了し、
処理結果がAとなったが、CPU装置16の2回目の処
理も正常に終了し、処理結果がA′となって、比較結果
が不一致となった。 (2)そのような場合には、CPU装置17が3回目の
処理を行い、処理結果がA″になったとする。このと
き、A′=A″となった場合には、CPU装置15が故
障であると判定できる。 (多数決の第2の具体例、図5(b)の場合) (1)CPU装置15の1回目の処理は正常に終了し
て、処理結果がAとなり、CPU装置16の2回目の処
理も正常に終了して、処理結果がA′となり、A′≠A
で比較結果は不一致となった。 (2)そのような場合には、CPU装置17が3回目の
処理を行い、処理結果がA″になったとする。しかし、
A′≠A″で不一致となった。 (3)CPU装置17での3回目の処理結果A″をCP
U装置15の処理結果Aと比較して、A″=Aとなった
場合には、CPU装置16が故障と判定することができ
る。なお、図2〜図5の説明においては、説明を簡単に
するために各処理時間を等しいものとしたが、必ずしも
等しくなくてよい。処理mの命令数が一定でなく、処理
時間が異なる場合には、3個のCPU装置は1回目、2
回目の処理の終了を相互に待ち合わせることにより、3
個の処理を並列に実行することができる。
【0021】図6は、本発明の第2の実施例を示す耐故
障計算機の構成図である。図6において、計算機21は
3個のCPU装置15,16,17から構成され、各C
PU装置はCPU13とメモリ12とそれらを接続する
メモリバス14とからなる。各CPU装置15,16,
17相互間には、CPU間通信線21が接続されて、互
いに通信ができるようになっている。図1の第1の実施
例と構成上異なっている点は、各CPU装置間に比較回
路がなく、単に各CPU装置相互間を接続して、比較結
果を通知し合うための専用バス22のみが設けられてい
る点である。すなわち、本実施例では、比較を比較回路
で行わずに、CPUで行うのである。なお、共通メモリ
通信装置等に接続される通信線が各CPU装置に接続さ
れているのは、図1と同じである。メモリ12、CPU
13およびメモリバス14は、それぞれ従来と同じよう
に、CPU、メモリ、およびメモリバスの故障検出回路
を備えている。このように、第2の実施例と第1の実施
例との相違点は、処理結果の比較方法であって、前者は
CPU内でソフトウェア的に比較するのに対して、後者
は比較回路でハ−ドウェア的に比較している。そして、
動作タイミングは、比較をハ−ドウェアで行う場合も、
ソフトウェアで行う場合も基本的には差はないため、図
2〜図5の動作タイミングチャ−トを第2の実施例に適
用できる。従って、ソフトウェアによる動作説明は省略
する。
【0022】このように、本実施例においては、次のよ
うな利点を有する。 (イ)正常時には、3個のCPUで2回ずつ並列処理を
行うので、従来の高信頼化計算機に比べてCPU使用効
率が高い。つまり、従来のCPU使用効率が0.5〜
0.25であるのに対して、本実施例のCPU使用効率
は1.5である。 (ロ)3個のCPUのうちの1個が故障しても、残りの
2個で比較処理が行えるため、処理性能は低下するが、
処理の信頼度は低下しない。つまり、従来の2重化CP
Uでは1個が故障すると片肺運転となって、故障検出能
力が低下してしまう。 (ハ)1個の処理を異なる2個のCPUで時間をずらし
て実行し、それらの結果を比較するので、ある特定の条
件下で発生するタイミング故障を共に受ける確立は極め
て少ない。従来の同一の処理を同時に2個のCPUで行
う2重化計算機では、同時にタイミング故障を受ける可
能性が高い。 (ニ)2個の計算機が共に正常に終了したにもかかわら
ず、処理結果の比較が一致せず、いずれか一方が故障し
たと考えられる場合には、第3の計算機に3回目の処理
を実行させるので、3個の計算機による多数決を行うこ
とができ、確実に故障計算機を特定することができる。
【0023】
【発明の効果】以上説明したように、本発明によれば、
従来の2重化計算機に比べて、故障の検出や予備計算機
等の比率を小さくし、タイミング故障の検出が可能な耐
故障性のある高信頼な計算機を実現することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示す耐故障計算機の構
成図である。
【図2】図1における正常動作のタイミングチャ−トで
ある。
【図3】図1における固定故障の動作タイミングチャ−
トである。
【図4】図1における間欠故障の動作タイミングチャ−
トである。
【図5】図1における多数決時の動作タイミングチャ−
トである。
【図6】本発明の第2の実施例を示す耐故障計算機の構
成図である。
【図7】CPUの故障検出に用いられるウォッチドッグ
・タイマの構成図である。
【図8】従来の比較回路を備えた2重化計算機の構成図
である。
【図9】従来の2重照合を用いた2重化計算機の構成図
である。
【図10】従来の多数決による3重化した計算機の構成
図である。
【符号の説明】
1,11,21 計算機 2,12 メモリ 3,13 CPU 4,14 メモリバス 5−1,5−2,5−3,15,16,17 CPU装
置 6,8,9−1,9−2,9−3,18,19,20
比較回路 30 CPU 31 ウォッチドッグタイマ 21 CPU間通信線 22 専用バス

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 CPU故障検出器およびメモリバス故障
    検出器を備えたCPU、メモリ故障検出器およびメモリ
    バス故障検出器を備えたメモリ、ならびに該CPUと該
    メモリとを接続するメモリバスからそれぞれ構成される
    第1、第2および第3の計算機と、該第1、第2および
    第3の計算機の処理結果を比較する第1、第2および第
    3の比較回路と、該比較回路をそれぞれ上記計算機に接
    続し、かつ該比較回路の比較結果を該計算機に通知する
    専用バスと、該計算機相互間を接続し、互いに故障の有
    無等、各計算機の状態を連絡するCPU間通信線とを具
    備することを特徴とする耐故障計算機。
  2. 【請求項2】 第1、第2および第3の計算機は、各計
    算機での処理の正常または異常終了を相互に通信するC
    PU通信線で接続され、該第1、第2および第3の計算
    機は、それぞれ別個の処理を並列に実行し、互いに他の
    2個の計算機の処理結果が正常であれば、第1の計算機
    は第3の計算機が実行した処理を、第2の計算機は第1
    の計算機が実行した処理を、第3の計算機は第1の計算
    機が実行した処理をそれぞれ再度実行し、2回の処理が
    共に正常に終了したならば処理を完了し、いずれか1個
    の計算機で1回目あるいは2回目の処理結果が異常終了
    したならば、異常終了した計算機が再度同一の処理を実
    行して、その処理結果が正常であれば、上記計算機は一
    時的な故障であったと判断し、処理結果が再度異常であ
    れば上記計算機は固定的な故障であると判断して、修理
    /交換要求を指示することを特徴とする耐故障計算処理
    方法。
JP5039852A 1993-03-01 1993-03-01 耐故障計算機および耐故障計算処理方法 Pending JPH06250867A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5039852A JPH06250867A (ja) 1993-03-01 1993-03-01 耐故障計算機および耐故障計算処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5039852A JPH06250867A (ja) 1993-03-01 1993-03-01 耐故障計算機および耐故障計算処理方法

Publications (1)

Publication Number Publication Date
JPH06250867A true JPH06250867A (ja) 1994-09-09

Family

ID=12564502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5039852A Pending JPH06250867A (ja) 1993-03-01 1993-03-01 耐故障計算機および耐故障計算処理方法

Country Status (1)

Country Link
JP (1) JPH06250867A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997043712A2 (en) * 1996-05-16 1997-11-20 Resilience Corporation Triple modular redundant computer system
US6141769A (en) * 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
WO2015177927A1 (ja) * 2014-05-23 2015-11-26 株式会社日立製作所 情報処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997043712A2 (en) * 1996-05-16 1997-11-20 Resilience Corporation Triple modular redundant computer system
WO1997043712A3 (en) * 1996-05-16 1998-05-14 Resilience Corp Triple modular redundant computer system
US6141769A (en) * 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US6240526B1 (en) 1996-05-16 2001-05-29 Resilience Corporation Triple modular redundant computer system
US6349391B1 (en) 1996-05-16 2002-02-19 Resilience Corporation Redundant clock system and method for use in a computer
WO2015177927A1 (ja) * 2014-05-23 2015-11-26 株式会社日立製作所 情報処理装置

Similar Documents

Publication Publication Date Title
US7085959B2 (en) Method and apparatus for recovery from loss of lock step
US4438494A (en) Apparatus of fault-handling in a multiprocessing system
US6393582B1 (en) Error self-checking and recovery using lock-step processor pair architecture
US8635492B2 (en) State recovery and lockstep execution restart in a system with multiprocessor pairing
US7627781B2 (en) System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor
EP0505706B1 (en) Alternate processor continuation of the task of a failed processor
JPH0833874B2 (ja) 複数のプロセッサを同期する装置
KR20000011834A (ko) 고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치
KR20000011835A (ko) 네트워크의분산애플리케이션에대한고장검출및소정의복제스타일로복구하는방법및장치
JP2003511756A (ja) コンピュータにおいて故障分離および診断を改善する機構
JP2003015900A (ja) 追走型多重化システム、及び追走により信頼性を高めるデータ処理方法
US7502958B2 (en) System and method for providing firmware recoverable lockstep protection
CN111104243A (zh) 一种低延迟的双模lockstep容软错误处理器系统
JPH0375834A (ja) パリティの置換装置及び方法
JPH06250867A (ja) 耐故障計算機および耐故障計算処理方法
JP2000298594A (ja) フォールトトレラント制御方法および冗長コンピュータシステム
JPH03179538A (ja) データ処理システム
JP3423732B2 (ja) 情報処理装置及び情報処理装置における障害処理方法
JP3539687B2 (ja) プロセッサ二重化方式の情報処理装置
JPH11134211A (ja) 二重化コンピュータシステムおよびその運用方法
JPS6128141B2 (ja)
JPH0471037A (ja) 電子計算機の二重化方式
JPH06259270A (ja) プロセッサ異常判定回路
JP2002215415A (ja) 耐故障性システム及びその故障切り分け方法
JPH0430224A (ja) タスクの実行継続方法