JP2500038B2 - マルチプロセッサ・コンピュ―タ・システム、フォ―ルト・トレラント処理方法及びデ―タ処理システム - Google Patents

マルチプロセッサ・コンピュ―タ・システム、フォ―ルト・トレラント処理方法及びデ―タ処理システム

Info

Publication number
JP2500038B2
JP2500038B2 JP5002610A JP261093A JP2500038B2 JP 2500038 B2 JP2500038 B2 JP 2500038B2 JP 5002610 A JP5002610 A JP 5002610A JP 261093 A JP261093 A JP 261093A JP 2500038 B2 JP2500038 B2 JP 2500038B2
Authority
JP
Japan
Prior art keywords
processing
instruction set
signature
instruction
signatures
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.)
Expired - Lifetime
Application number
JP5002610A
Other languages
English (en)
Other versions
JPH0683663A (ja
Inventor
ステファン・エドワード・ベロー
キーン・アン・ヒューア
ジー−クゥオン・ペイル
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 JPH0683663A publication Critical patent/JPH0683663A/ja
Application granted granted Critical
Publication of JP2500038B2 publication Critical patent/JP2500038B2/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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1691Temporal synchronisation or re-synchronisation of redundant processing components using a quantum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

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)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ・システム
に関し、特に命令セットを誤りなく処理するためにシグ
ネチャ収集能力及び多数決処理能力を備えたマルチプロ
セッシング・ノードを持つコンピュータ・ネットワーク
に関するものである。
【0002】
【従来の技術及び解決すべき課題】マイクロプロセッサ
のスピードがメインフレーム・コンピュータのレベルに
近づくにつれ、メインフレームのすでに確立されたアプ
リケーションの一部例えばデータベース処理などを分担
するために、マイクロ構造の特種目的の装置を開発する
ことに対して関心が高まってきている。マイクロプロセ
ッサを用いても大規模な並列化を行えばメインフレーム
・コンピュータより高い性能を実現できる。しかしその
場合、今日のマイクロプロセッサではハードウェア・エ
ラーを充分に検出できないという大きな問題がある。VL
SIチップであるマイクロプロセッサ・チップにとってそ
のスペースは性能を確保する上で厳しい問題であるた
め、メインフレーム・プロセッサで通常用いられている
ような完全な自己検査回路を用いることは実用的でな
い。この誤り検出の問題に関して種々の試みが行われて
いる。
【0003】フォールト・トレラント・システムで用い
られているおそらく最も一般的な技術は処理ハードウェ
アを単に物理的に多重化するというものである。大規模
集積(VLSI)回路の発達並びに非常に低価格のマイクロプ
ロセッサの進歩により、フォールト・トレラント・シス
テムを実現する上でハードウェアの多重化は一層望まし
く、実用的なアプローチとなっている。冗長性を利用す
ることによって、種々のコンピュータ・アーキテクチャ
において信頼性の高いディジタル処理が実現されてい
る。例えばトリプル・モジュール冗長(TMR)システムで
は、同一の命令の流れを実施するのに3つのCPUを用いて
おり、メモリ・ユニット及びI/O装置も別のものを用い
ている。各CPUは同一の機能を果たし、1つが故障しても
システムは動作を継続できるようになっている。(TMRシ
ステムに関してさらに詳しくは米国特許第4,965,717号
明細書"個別書き込み機能を有する共用メモリを備えた
マルチプロセッサ・システム"及びW. McGill他による"
連続処理制御におけるフォールト・トレランス"と題す
る論文(IEEE Micro、pp.22-33、1984年12月)を参照。)TM
Rシステムの欠点は多重化されたモジュールがそれぞれ
同期した命令サイクルで動作しなければならないという
ことであり、これは各モジュールが多重化された処理を
厳密に同期化するため1つのクロックを共用しなければ
ならないということを意味する。即ち、単一のクロック
によって多重化された各処理が駆動されるためクロック
の障害によってシステムの動作は異常となり、つまりは
一点故障となる。
【0004】マルチプロセッサ・システムにおいてフォ
ールト・トレランスを高めるための他の技術として、例
えばプロセッサによる各命令の実行が完了した後、ソフ
トウェアによってデータ収集及び多数決処理を行うとい
う技術がある("SIFT:航空機制御のためのフォールト・
トレラント・コンピュータの設計及び分析"(Wensley
他、Proc. IEEE、Vol.66、No.10、pp.1240-1255、1978年10
月)を参照)。このソフトウェアによりデータ収集及び多
数決処理を行うというアプローチの長所は各プロセッサ
は同一のアプリケーション・タスクを実行するが、独立
したクロックによって駆動されるので、プロセッサ間に
は弱い同期のみを維持すればよいということである。各
プロセッサの処理により得られたデータは他のプロセッ
サに送信され、そこで所定のソフトウェア・ルーチンに
よりデータに対する多数決処理が行われる。しかしこの
アプローチでは、各プロセッサの処理結果としての実際
のデータが用いられ、また通常各命令を実行するごとに
実施されるので、通信のための負担が大きくなり、その
ことがこのアプローチを実施する上での重大な欠点とな
っている。この技術では基本的に通信及び計算に対する
負担が無視されている。
【0005】従って、マルチプロセッサ分散計算システ
ムにおける誤り検出のための優れたアプローチが必要と
なっており、特に非同期で且つシステムを構成する複数
のプロセッサ間の通信及び計算の負担を最小にするよう
なアプローチが必要となっている。そこでその答えとし
て以下にシグネチャ収集分析を行う方法を示す。
【0006】シフト・レジスタを用いたシグネチャ分析
の技術はVLSIチップの製造及び試験において長年にわた
って用いられてきた(例えばR. A. Frohwerkによる"シグ
ネチャ分析:新しいディジタル・フィールド・サービス
の方法"(ヒューレット・パッカード・ジャーナル、pp.2
−8、1977年5月)を参照)。簡単に説明すると、この分野
ではシグネチャ分析は試験における計算を簡略化するた
めに試験対象の大規模のデータを簡単な独特のシグネチ
ャに圧縮して用いている。本発明では、このシグネチャ
分析の概念を改良してマルチプロセッシング・システム
の環境で利用する。
【0007】
【課題を解決するための手段】本発明は命令セットを誤
りなく処理するために処理の誤りを検出できるマルチプ
ロセッサ・コンピュータ・システムを提供する。このマ
ルチプロセッサ・システムは複数のプロセッサを備え、
各プロセッサは命令セットを独立に処理するように接続
されている。複数のシグネチャ生成手段のそれぞれはプ
ロセッサによる命令セットの処理に基づき、命令セット
の処理に相応する圧縮シグネチャを生成するように複数
のプロセッサのそれぞれに関連している。多数決処理手
段は誤り状態検出に関してシグネチャを比較するため生
成された各シグネチャを受信するよう接続されている。
受信されたシグネチャの間に所定の比較誤りを検出した
場合には、多数決処理手段は誤り状態を認識する。さら
に種々のマルチプロセッサ・コンピュータ・システムの
詳細についても記述する。
【0008】本発明はまた複数の処理システムを用いる
フォールト・トレラント命令セット処理方法を提供す
る。この処理方法は命令セットを複数の処理システムの
それぞれに複製し複製された命令セット各処理システム
で処理するステップと、プロセッサ・システムが複製さ
れた命令セットを独立に処理するにつれ、処理システム
のそれぞれから圧縮シグネチャを収集するステップと、
命令セットのすべての処理に続いて収集されたシグネチ
ャに基づいて多数決処理を行い、処理誤り状態の有無を
認識するステップとを含んでいる。この処理方法に関し
ても種々の改良について記述する。
【0009】要約すると、本発明はマルチプロセッサ・
システムのための優れた誤り検出方式を提供する。ここ
に記述するフォールト・トレラント・システムは処理の
統合性を保証するように圧縮シグネチャの収集を行い、
多数決処理処理を行う。望ましくは、各処理命令セット
ごとに一回だけ多数決処理を行う。その結果、比較及び
通信の負担は大幅に減少する。このマルチプロセッサ・
システムでは、緩やかに結合した非同期処理ノードを用
いるので、時間に相関する誤りが生成する確率が低下す
る。具体的には、システムの一点故障を防止するため共
通クロックは使用しない。処理命令セットに基づく誤り
検出により、チップレベルで多数決処理を行って誤りを
検出するアプローチなど従来の大部分の技術にくらべ高
い誤り認識効率が得られる。
【0010】
【実施例】次に本発明の実施例について図面を参照して
説明する。
【0011】図1において、10は分散型計算システムを
示し、通信ネットワークを通じて相互に接続された複数
の処理ノード/システム12 (・・・ PN1・・・ PN10,PN11,PN
12,PN13・・・ )を有している。(各処理ノード12は物理的
に独立の処理システムにより構成されていてもよく、そ
れらの中のあるものは離れた場所に設置されていてもよ
い。)処理ノード12の一実施例を図2に示す。この構成例
では、ノード12はローカル・メモリ20、CPU 24(キャッ
シュ22を含む)を含み、CPU 24、キャッシュ22及びメモ
リ20を相互に接続して通信を可能とするプロセッサ・バ
ス26をさらに含んでいる。またバス26には通信アダプタ
28が接続され、それは例えば図1の通信ネットワークを
通じて他の処理ノードと通信するため、ノード12に対す
る通信プロトコルを備えている。ノード12は接続線29を
通じて通信ネットワーク(図示せず)に接続している。ノ
ード12はまたバス26及びディスク記憶装置32を相互接続
するI/Oコントローラ30を有している。ディスク記憶装
置32はメモリ20に対する補助的記憶装置として動作す
る。
【0012】本発明において重要なことはアプリケーシ
ョン・プログラム、サブプログラム及びトランザクショ
ンなど(本明細書中では命令セットという)の複製処理並
びにこれに基づいたマルチプログラム・システム内の各
処理ノードからの圧縮シグネチャの同時的収集である。
命令セットの処理に続いて、収集されたシグネチャが所
定の多数決処理方法を用いて誤りの有無を見るために比
較される。図3にこれらの処理の概要を示す。
【0013】最初に、例えばフォールト・トレラント又
は診断に関する選択された命令セットの複製的実行につ
いて判定する(ステップ40:"アプリケーション・プログ
ラムの複製的実行を判定")。命令セットの複製的実行と
は、命令セットをマルチプロセッシング・システム内の
複数の処理装置に複製して各処理装置で同一命令セット
を実行させることをいう。命令セットの複製は二重化、
三重化又はさらなる多重化で行ってもよい。望ましく
は、以下に述べるシグネチャ多数決処理を容易にするた
めに奇数個の命令セット複製物が用いられるのがよい。
選択された命令セットに対して複製化の決定がなされる
と、所望数の処理装置に命令セットが送られる(ステッ
プ42:"複数の処理装置にアプリケーション・プログラ
ムを送出")。これは命令セットが各処理装置において既
に複製され符号化されている場合には、単一のコマンド
によって行える。各処理装置における命令セットの実行
は適切な同時性及びコヒーレンシーのメカニズムにより
同期的に又は非同期的に進められる(ステップ44:"適切
な同時性及びコヒーレンシーのメカニズムにより複数の
処理装置においてアプリケーション・プログラムを実
行")。マルチプロセッサの環境では、同時性及びコヒー
レンシーはデータの統合性を保証するために必要であ
る。(この機能は一般にトランザクション処理環境のデ
ータベース管理システムにより又は適当なハードウェア
機能により管理される。)本発明によれば、アプリケー
ション・プログラムの実行と同時に各処理装置はアプリ
ケーション領域の圧縮シグネチャを収集する(ステップ4
6:"アプリケーション領域のシグネチャを収集")。収集
された各シグネチャは命令セット内の命令の実行の結果
生成されたデータから導出された圧縮信号により構成さ
れている。命令セットの実行が完了すると、次に以下に
説明する所定のシグネチャ多数決処理法を用いて複数の
処理装置のそれぞれからのシグネチャが比較される(ス
テップ48:"命令セットの実行終了時に多数決処理法に
基づいて複数の処理装置からのシグネチャを比較")。
【0014】次に、本発明によるフォールト・トレラン
ト・トランザクション処理方法についてより具体的な処
理例に基づいて説明する。トランザクション処理環境で
は、各処理ノードはトランザクション・マネージャーを
含むデータベース管理ソフトウェアの複製物を実行す
る。トランザクション・マネージャーはデータベースへ
の適切な書き込みを保証するソフトウェア・システムで
ある。"トランザクション"はアプリケーション環境にお
ける仕事の論理単位と定義する。トランザクションは完
全に実行されるか又は主データベースを何ら影響されな
い状態におくものでなければならない。データベースは
複製され各処理ノードに格納されてもよく又は処理ノー
ドの外部に置かれてもよい。
【0015】複製された各トランザクションは個々の処
理ノードにおいて実行される。本発明によるトランザク
ション処理の詳しい一例を図4に示し、それについて図1
のマルチプロセシング・システムを参照して以下に説明
する。最初に図に示した具体的なトランザクション処理
の実施例に関して、以下のことを仮定する。即ち、処理
ノードPN1はシステムのただ1つのデータベース・サーバ
ーとして機能するものとする。また、計算システムPN13
はトランザクションの複製を開始するものとし、トラン
ザクションは現在の経理情報を対象とする単純なデータ
ベース・アクセス及び更新であると定義されているとす
る。3つの同一シグネチャの中の2つで多数決を行う多数
決処理方式を用いる。
【0016】複製的実行が決定されると(ステップ50:"
トランザクション処理を起動")、調整ノード(PN13)がノ
ードPN1をトリガし、現経理データを書き込みに対して
ロックする(ステップ52:"処理システムPN1で現経理デ
ータを書き込みに対してロック")。次にトランザクショ
ンが複製され、他の計算ノード例えばノードPN10,PN1
1,PN12に送られる(ステップ54:"処理システムPN13か
ら命令及びデータ・アドレスを処理システムPN10,PN1
1,PN12に送出")。(トランザクション処理の環境では、
実行を複製する決定は通常トランザクションレベルで行
われる。)次に、現経理データは複製された処理装置PN1
0,PN11,PN12によってノードPN1から読み取られる(ス
テップ56:"処理システムPN10,PN11,PN12で経理デー
タを処理システムPN1から読み取り")。現経理データは
例えば現経理番号、預金/払い戻し情報などを含んでい
る。次に、処理システムPN10,PN11,PN12は新しい現経
理データを計算し(ステップ58:"処理システムPN10,PN
11,PN12で新しい現経理データを計算")、そしてそれぞ
れ同時に少なくとも1つの圧縮シグネチャを処理フロー
(例えば命令解読に続くアドレス生成及び命令実行)内の
1つまたは複数のロケーションから収集する(ステップ6
0:"処理システムPN10,PN11,PN12で各シグネチャを判
定")。
【0017】トランザクションの実行を完了すると、各
処理システムPN10,PN 11,PN12はそれらが収集した圧
縮シグネチャをローカル収集レジスタから調整ノードPN
13へ送り(ステップ62:"処理システムPN10,PN 11,PN
12で処理システムPN13へシグネチャを送出")、処理シス
テムPN13はすべてのシグネチャを受信すると、多数決処
理処理を行う(ステップ64:"処理システムPN13で多数決
処理を実行")。ノードPN13は収集されたシグネチャをす
べて受信するまで待つことにより処理の同期化を保証す
る。最後に、調整ノードPN13は実施した多数決処理の結
果に基づいて所定の適当なコマンドを実行する(ステッ
プ66:"処理システムPN13で多数決処理の結果に基づい
てコマンドを実行")。これによりトランザクションの処
理は終了する(ステップ68:"終了")。適当なコマンドと
しては、例えば次のようなものである。即ち、処理ノー
ドPN10,PN11が収集したシグネチャが一致した場合に
は、処理ノードPN1に現経理データのアンロックを命令
し、処理ノードPN10に対しては、その処理結果のデータ
のデータベース・マネージャーPN1への送信を命令し、
ノードPN1に対して現経理データを計算により得られた
データによって更新する。
【0018】以上の説明では、1つの処理ノードだけが
多数決処理を行い、1つの処理ノードだけが現経理情報
の更新を制御するとした。しかし、より高度のフォール
ト・トレランスを達成するために複数の処理ノード(例
えば3つ)がフォールト・トレラントのための多数決処理
を行うことにしてもよい。また複数の処理ノード(例え
ば3つ)が現経理情報の更新を制御するようにしていもよ
い。例えば各処理ノードPN10,PN11,PN12が同一の多数
決処理処理を実行し、そして多数決処理の結果が受け入
れ可能な場合には、各処理ノードがデータベースのロー
カル・コピーの更新を実行してもよい。
【0019】本発明では、データベースはトランザクシ
ョンが完全に実行されるまでは影響を受けないので、本
発明の技術はトランザクション処理の環境において容易
に実施できる。このため、誤りが生成した時刻と誤りが
検出された時刻との間の小さい遅れは許容できる。トラ
ンザクションが実行される前に誤りが検出される限り、
トランザクション・マネージャーはデータベースになん
ら変更が加えられない状態でトランザクションを中止さ
せることができる。
【0020】本発明によるシグネチャの収集及び多数決
処理のための具体的な処理ノードの一実施例を図5のブ
ロック図に示す。図5には、図2の典型的な処理ノード12
を構成するメモリ20及びCPU 24(キャッシュ・メモリ22
を含む)を示す。CPU 24はキャッシュ・メモリ22内の命
令及び/またはデータに基づいて動作し、そしてCPU 24
はプロセッサ・バス26を通じて処理ノードの主メモリ20
に接続されている。メモリ20は処理すべき命令セットに
加えて通常CPUへの入力データを有しており、そして外
部データベースの部分的または全体の複製物を格納する
ことができる。
【0021】本発明のシグネチャ収集処理は種々の既知
のデータ圧縮技術(例えば実行された命令の数をカウン
タによって計数するもの)を用いて実現できるが、望ま
しくは処理ノードごとに1つまたは複数のリニア・フィ
ードバック・シフトレジスタ(LFSR)を設けることにより
実現される。LFSRについては公開文献によってよく知ら
れており(例えばRao及びFujiwaraによる"計算システム
のための誤り制御コーディング"(プレンティス・ホール
出版、1989年、セクション3.2、初版:1989年)を参
照。)、ハードウェアの試験において試験応答の圧縮の
ために用いられている(McCluskeyによる"組み込み式自
己試験技術"(IEEE設計及び試験、Vol.2、No.2、pp.21-2
8、1985年4月)を参照)。本発明ではリニア・フィードバ
ック・シフトレジスタ圧縮技術を用いることにより、多
数決処理処理で相互検査を行うべきデータの量を有利に
低減することができる。LFSRを用いることにより、CPU
内部の多くの部分において命令セットの処理に関連する
データ信号及び制御信号の流れを圧縮することができ
る。さらに具体的に述べると、CPU内部においてデータ
信号はいかなるデータパスからでも所望の部分に振り向
けることができ、また制御信号は命令解読ハードウェア
及び/またはアドレス生成ハードウェアから所望の部分
に振り向けることができる(以下にさらに詳しく述べ
る)。
【0022】キャッシュ・メモリ22に入力された命令は
順番にCPUの命令レジスタ70に入力され、そこで多数決
処理制御ビット72が付加される。ビット72は命令がシグ
ネチャ収集を行うべき選ばれた命令セットからの命令で
あるかどうか表す信号として用いる。多数決処理制御ビ
ットは適当な命令によりセット又はリセットすることが
できる。命令はレジスタ70から読み出され、命令解読ユ
ニット74により解読される。解読ユニット74は図に疑似
的に示す実行ユニット76に接続されている。命令はパイ
プライン式にアドレス生成ユニット78によってもレジス
タ70から読み出され、ユニット78は読み出した命令に関
連するアドレスの信号を記憶装置に対して与える。キャ
ッシュ・メモリには汎用レジスタ(GPR) 80も接続されて
おり、これらのレジスタはCPU 24によって処理される現
在のデータを保持する。GPR 80の出力にはALU 82が接続
されている。ALU 82は処理結果としてのデータを接続線
83を通じてレジスタ80に戻す。
【0023】この実施例では、1つのCPUに対して3つの
シグネチャ収集装置(LFSR及びそれらの支援回路)が個別
に用いられている。具体的には、選択論理回路84,86,
88がそれぞれ、ユニット82,74,78からの出力データ線
に接続されている。(参考文献のRao及びFujiwaraによ
る"通信システムのための誤り制御コーディング"を参
照。)多数決処理ビットV72は各選択論理回路84,86,88
を制御するものとして機能する。多数決処理ビットはシ
グネチャの収集が必要な場合には必ずセットされ、そし
て通常実行された命令によって再び変更される。各論理
回路は命令セットの誤り試験が新たに行われるごとに多
数決処理ビットによってリセットされる。収集すべき圧
縮シグネチャの量及び内容はシステムのソフトウェア/
ハードウェア構成がどのようなものであるかによって異
なる。
【0024】図5のCPUの実施例では、最初のシグネチャ
はLFSR(1) 90において収集され、選択論理回路84からの
データに結合される。論理回路84はフィードバック接続
線91を通じてLFSR 90を読むことができる。同様に、LFS
R(2) 92は論理回路86に接続され、論理回路86に対する
フィードバック接続線93を有している。LFSR(3) 94は選
択論理回路88からのデータを受信し、接続線95を通じて
データを帰還させる。1つのCPU 24に対して複数のLFSR
を用いることにより、誤りの分離及び誤り検出における
診断が容易となる。しかし必要なら、1つの処理ノード
に対し1つのLFSRを用いて圧縮シグネチャを収集するこ
とも可能である。さらに4つ以上のLFSRを用いることも
可能である。例えば、CPU 24が複数のALUを有している
場合、1つのLFSR及び支援選択論理回路を各ALUに接続
し、各ユニットの処理結果のデータに関する情報を収集
するようにしてもよい。また、複数のLFSRを接続してキ
ャッシュ・メモリ22周辺の複数のデータパス、例えばメ
モリ22と命令レジスタ70との間のパス又はメモリ22とGP
R 80との間のパスをアクセスしてもよい。(メモリ20か
らメモリ22へのデータ転送は通常よく知られたECC機構
によって又はパリティ・チェック方式によって保護され
ている。)多くの場合、アプリケーション領域のシグネ
チャのみをLFSRにより収集する。
【0025】図5のCPU 24による命令セット処理の一実
施例を図6に示す。この処理は4段のパイプライン処理と
なっており、命令解読段、アドレス生成段、実行段、並
びに終了命令段から成っている。まず、誤り検出の対象
である命令セットの処理開始として(ステップ100:"開
始")、多数決処理ビットVの設定制御を受け取る(ステッ
プ102:"多数決処理ビットVを設定")。命令セット内の
最初の命令を解読し(ステップ104"命令(1)を解読")、解
読した命令より導かれる圧縮シグネチャを同時にLFSR
(1)に収集する(ステップ106:"シグネチャ(1)を収
集")。次のマシンサイクルにおいて、アドレスを生成し
(ステップ108:"アドレス生成")、同時に第2の命令のフ
ェッチ及び解読を行う(ステップ110:"命令(2)を解
読")。アドレス生成108の結果は生成と同時に圧縮した
形でLFSR(2)に収集し(ステップ112:"シグネチャ(2)を
収集")、一方、ステップ110における命令(2)の解読結果
はLFSR(1)に付加する(ステップ114:"シグネチャ(1)を
収集")。
【0026】次のマシンサイクルにおいて、パイプライ
ンに第3の段を付加し、そこで命令(1)を実行し(ステッ
プ116:"実行")、それと同時に解読した第2の命令に対
応するアドレスを生成する(ステップ118:"アドレス生
成")。さらに同時に第3の命令のフェッチ及び解読を行
う(ステップ120:"命令(3)を解読")。ステップ116の実
行の結果は圧縮した形でLFSR(3)に収集し(ステップ12
2:"シグネチャ(3)を収集")、一方、ステップ118のアド
レス生成の結果及びステップ120の命令(3)の解読結果は
圧縮形式でLFSR(2)及びLFSR(1)にそれぞれ付加する(ス
テップ124:"シグネチャ(2)を収集"及びステップ126:"
シグネチャ(1)を収集")。
【0027】パイプラインの最終段は各命令の終了処理
となっており(ステップ128:"命令(1)を終了")、これは
命令セットの第2,第3,第4の命令の実行、アドレス生
成、命令解読(図示せず)における同じマシンサイクルで
も実行する。第2の命令の実行の結果得られるシグネチ
ャは(ステップ130:"実行")LFSR(3)に収集し(ステップ1
32:"シグネチャ(3)を収集")、その後命令(2)の処理を
終了する(ステップ134:"命令(2)を終了")。第3の命令
に関連するアドレス生成より得られるシグネチャは(ス
テップ136:"アドレス生成")LFSR(2)に収集し(ステップ
138:"シグネチャ(2)を収集")、一方、第3の命令の実行
に基づくシグネチャは(ステップ140:"実行")LFSR(3)に
付加する(ステップ142:"シグネチャ(3)を収集")。その
後、命令(3)の処理を終了する(ステップ144:"命令(3)
を終了")。まとめると、終了命令段を除いてパイプライ
ンの各段においてシグネチャを生成し、CPUの3つのLFSR
の中の1つに収集(付加)する。ただし実行すべき命令の
中には4段すべてを必要としないものもある。その場
合、不要な段ではシグネチャの収集は行わない。
【0028】プログラム実行の最後において、且つデー
タベースの処理の前に調整処理ノードはマシン命令チェ
ックを行い、各従属処理システムに対してそれらの現在
のシグネチャ(即ち、1つまたは複数のLFSRの内容)を比
較のために調整処理ノードに送らせる(図3参照)。もし
シグネチャが一致しなかった場合には、誤り生成として
命令セット・マネージャーはプログラムを中断する。な
お、従来の誤り検出法では通常すべてのデータ処理結果
の組み合せが必要となるが、本発明の上述の処理におい
ては、1つの命令セットに対してただ1回の多数決処理処
理を行うので、必要な圧縮処理及び通信処理の量は大幅
に低減する。
【0029】説明を分かり易くするため、上述した実施
例では、各処理ノードは1つの命令セットを順番に実行
するものとしている。より進んだスーパースカラー・タ
イプのプロセッサではシーケンス外の実行が通常可能で
ある。そのような環境では、シグネチャ収集の機構は改
良する必要がある。例えば、シグネチャは解読段及び終
了段においてのみ収集するようにする。なぜなら、これ
ら2つの段は通常順番に実行されるからである。この場
合、アドレス生成段及び実行段で生成されたデータは解
読シーケンスに従ってバッファリングすればよく、命令
実行の完了に続いてシグネチャの収集を行える。
【0030】実際には、大部分のマルチプロセッサ・シ
ステムはアプリケーション・プログラムをマルチプログ
ラミング環境で実行する。アプリケーション・プログラ
ムの実行は基本的には、繰り返して中断し、命令セット
の実行が完了する前に戻すことができる。本発明はこの
ようなマルチプログラミング環境に対しても、中断時に
シグネチャ及び制御ビットVを単にセーブし、プログラ
ムの実行が再開したとき上記情報を元に戻すことにより
容易に実施できる。そうすることによりシグネチャをそ
のまま保存することができる。このマルチプログラミン
グ処理における一実施例を図7に示す。
【0031】マルチプロセッサ環境では、選択された命
令セット(例えば、プログラムX)の複製的処理をまず仮
定する(ステップ160:"プログラムXの複製的処理")。上
記プログラムはマルチプログラム処理環境で実行されて
いるので、その処理は通常1つまたは複数の処理ポイン
トで中断される(ステップ162:"ルーチンを中断")。中
断処理の一部としてプログラムXの現在の状態を主メモ
リ164にセーブする(ステップ164:"プログラムXの状態
を主メモリにセーブ")。その際、本発明に従い、各シグ
ネチャ収集装置(LFSR)の内容及び関連する多数決処理ビ
ットを含めてセーブする。各処理システムは次に1つま
たは複数の異なるプログラムの処理を行う(ステップ16
6:"CPUで他の処理を扱う")。そのプログラムは例えば1
つまたは複数の異なるアプリケーション・プログラムか
らなり、各プログラムに対してシグネチャ収集を行う。
プログラムXの実行はいくつかのポイントで再開され(ス
テップ168:"オペレーティング・システムはプログラム
Xの実行を再開")、シグネチャ収集装置(LFSR)の各内容
を含むプログラムXの現在の状態をCPU内の適当なハード
ウェア(LFSR)に復元する(ステップ170:"プログラムXの
状態をCPUに移動する")。最後に、多数決処理制御ビッ
トVを再び能動化し(ステップ172:"シグネチャ収集を再
開するためにVビットを能動化")、選択された命令セッ
トの処理をシグネチャ収集と共に再開する。
【0032】以上、本発明について特定の実施例に基づ
いて詳しく説明したが、本発明の基本的な考え方に従い
種々の改良及び変更を加えることはもちろん可能であ
る。例えばここで述べたフォールト・トレラント処理技
術は診断試験に対して直ちに適用することができる。そ
の場合、アプリケーション・プログラムは制御システム
及び試験システム上で走らせ、シグネチャを収集し、比
較を行うことにより、試験システムが正しく動作してい
ることを確かめる。これ以外にも種々の応用が可能であ
る。
【0033】
【発明の効果】以上の説明より分かるように、本発明に
よって多処理システムに対する優れた誤り検出法が与え
られる。上述したフォールト・トレラント・システムで
は、圧縮シグネチャ収集及び多数決処理処理において、
1つの命令セットに対してただ1つの多数決処理処理を行
うのみで処理の統合性を保証している。従って、必要と
なる比較処理及び通信処理の負担を従来技術に比べて大
幅に軽減できる。さらに、上述した弱い結合の非同期マ
ルチプロセッサ・システムでは、プロセッサはトランザ
クションを若干異なるタイミングで実行するので、時間
に相関する誤り生成の確率を抑えることができる。具体
的には、システムの一点故障の原因となる共通クロック
は採用しない。最後に、命令セットに基づく誤り検出に
よりチップのレベルで誤り検出を行う場合に比べ優れた
誤り認識効率が得られる。
【図面の簡単な説明】
【図1】本発明による分散計算システムの概略ブロック
図である。
【図2】図1の処理ノードの一実施例を示すブロック図
である。
【図3】本発明によるプログラム処理の一実施例の機能
フローチャートである。
【図4】本発明によるプログラム処理の具体例を示す図
である。
【図5】図2の本発明による処理ノードの1つのコンポー
ネントを示すより詳細なブロック図である。
【図6】図5のCPUによるパイプライン処理の一実施例を
示す機能ブロック図である。
【図7】マルチプログラム・マルチプロセシング環境に
おいて実行される本発明の一実施例の機能フローチャー
トである。
【符号の説明】 10 分散計算システム 12 処理ノード 14 通信ネットワーク 20 主メモリ 22 キャッシュ・メモリ 26 プロセッサ・バス 28 通信アダプタ 30 I/Oコントローラ 32 ディスク記憶装置 70 命令レジスタ 74 命令解読 76 実行ユニット 78 アドレス生成 80 汎用レジスタ(GPR) 84 選択論理回路 86 選択論理回路 88 選択論理回路
フロントページの続き (72)発明者 ジー−クゥオン・ペイル アメリカ合衆国 ニューヨーク州 フィ ッシュキル クロスバイ コート 15 (56)参考文献 特開 平4−81936(JP,A) 特開 平1−288928(JP,A) 特開 昭60−142431(JP,A) 特開 平4−352240(JP,A) 特開 平3−126136(JP,A) 特開 平3−260843(JP,A)

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】命令セットを誤りなく処理するために処理
    誤り検出機能を有するマルチプロセッサ・コンピュータ
    ・システムにおいて、 複数のマイクロプロセッサを備え、各マイクロプロセッ
    サは他のマイクロプロセッサから送られてくる命令セッ
    トを独立に処理し、 複数のシグネチャ生成手段を備え、各シグネチャ生成手
    段は前記マイクロプロセッサの1つに関連づけられて前
    記マイクロプロセッサによる前記命令セットの処理と同
    時に且つその処理に基づいてシグネチャを生成し、 多数決処理手段を備え、該多数決処理手段は前記生成さ
    れたシグネチャの各々を受信し前記シグネチャを比較し
    多数決処理により処理誤り状態の有無を検出することを
    特徴とするマルチプロセッサ・コンピュータ・システ
    ム。
  2. 【請求項2】命令セットを誤りなく処理するために処理
    誤り検出機能を有するマルチプロセッサ・コンピュータ
    ・システムにおいて、 命令セットの実質的な並列処理のために通信ネットワー
    クを通じて並列に接続された複数のプロセッサを備え、
    各プロセッサは他のプロセッサから送られてくる命令セ
    ットを独立に処理し、 複数のシグネチャ生成手段を備え、各シグネチャ生成手
    段は前記プロセッサの1つに関連づけられて前記プロセ
    ッサによる前記命令セットの処理と同時に且つその処理
    に基づいてシグネチャを生成し、 多数決処理手段を備え、該多数決処理手段は前記生成さ
    れたシグネチャの各々を受信し前記シグネチャを比較し
    多数決処理により処理誤り状態の有無を検出することを
    特徴とするマルチプロセッサ・コンピュータ・システ
    ム。
  3. 【請求項3】命令セットを誤りなく処理するために処理
    誤り検出機能を有するマルチプロセッサ・コンピュータ
    ・システムにおいて、 複数のマイクロプロセッサを備え、各マイクロプロセッ
    サは他のマイクロプロセッサから送られてくる命令セッ
    トを独立に処理し、各プロセッサは1つのクロック信号
    によって駆動され、前記複数のプロセッサの少なくとも
    1つは異なる非同期のクロック信号によって駆動され 複数のシグネチャ生成手段を備え、各シグネチャ生成手
    段は前記プロセッサの1つに関連づけられて前記プロセ
    ッサによる前記命令セットの処理と同時に且つその処理
    に基づいてシグネチャを生成し、 多数決処理手段を備え、該多数決処理手段は前記生成さ
    れたシグネチャの各々を受信し前記シグネチャを比較し
    多数決処理により処理誤り状態の有無を検出することを
    特徴とするマルチプロセッサ・コンピュータ・システ
    ム。
  4. 【請求項4】マルチプロセッシング・システムを用いて
    1つの命令セットを処理するフォールト・トレラント処
    理方法において、 前記命令セットを複数の処理装置の各々に複製して各処
    理システムで前記命令セットの複製物を処理するステッ
    プと、 各処理装置が前記命令セットの複製物を処理するにつれ
    該処理に基づいて生成されるシグネチャを各処理装置か
    ら収集するステップと、 前記収集されたシグネチャに基づいて多数決処理を行っ
    て前記処理装置の1つまたは複数における処理誤り状態
    の有無を検出するステップを含むことを特徴とするフォ
    ールト・トレラント処理方法。
  5. 【請求項5】前記シグネチャ収集ステップを各処理装置
    において前記命令セットの複製物の処理と同時に行うこ
    とを特徴とする請求項4記載のフォールト・トレラント
    処理方法。
  6. 【請求項6】複数の命令セットが、前記複数の処理シス
    テムを用いたほぼ同時に行う複数の処理に対して与えら
    れ、前記命令セットの少なくとも1つは選択された1つの
    命令セットを有し、前記収集ステップは、前記少なくと
    も1つの選択された命令セットの処理だけを用いて、前
    記処理システムのそれぞれからシグネチャを収集するス
    テップを含むことを特徴とする請求項4記載のフォール
    ト・トレラント処理方法。
  7. 【請求項7】命令セット及び入力データのフォールト・
    トレラント処理のために処理誤り検出機能を有するデー
    タ処理システムにおいて、 それぞれが命令セットを受け取り入力データにアクセス
    するように接続された複数のプロセッサを備え、 各プロセッサは前記命令セットの命令を解読して制御信
    号を生成する命令解読器、前記命令解読器からの前記制
    御信号の少なくとも1つを受け取り且つ前記入力データ
    にアクセスして前記受け取った制御信号及び前記アクセ
    スした入力データに応答して複数のデータ信号を生成す
    る算術論理演算ユニット及び前記算術論理演算ユニット
    からのデータ信号出力を圧縮することによって少なくと
    も部分的に圧縮シグネチャを生成する圧縮シグネチャ生
    成手段を有し、 前記データ処理システムは更に、 各プロセッサを相互接続する通信手段と、 前記命令セットの処理に続いて収集されたシグネチャを
    前記通信手段に送信するように各プロセッサに合図する
    手段と、 前記通信手段に接続され処理誤りの有無を認識するため
    に、前記プロセッサにより生成されたシグネチャを受け
    取って比較する多数決処理手段とを備えたことを特徴と
    するデータ処理システム。
  8. 【請求項8】前記複数のプロセッサは複数のマイクロプ
    ロセッサから成ることを特徴とする請求項7記載のデー
    タ処理システム。
  9. 【請求項9】各プロセッサは複数の算術論理演算ユニッ
    ト及び複数の圧縮シグネチャ生成手段を有し、各圧縮シ
    グネチャ生成手段は前記算術論理演算ユニットの1つに
    関連づけられていることを特徴とする請求項7記載のデ
    ータ処理システム。
JP5002610A 1992-03-04 1993-01-11 マルチプロセッサ・コンピュ―タ・システム、フォ―ルト・トレラント処理方法及びデ―タ処理システム Expired - Lifetime JP2500038B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US84597392A 1992-03-04 1992-03-04
US845973 1992-03-04

Publications (2)

Publication Number Publication Date
JPH0683663A JPH0683663A (ja) 1994-03-25
JP2500038B2 true JP2500038B2 (ja) 1996-05-29

Family

ID=25296581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5002610A Expired - Lifetime JP2500038B2 (ja) 1992-03-04 1993-01-11 マルチプロセッサ・コンピュ―タ・システム、フォ―ルト・トレラント処理方法及びデ―タ処理システム

Country Status (2)

Country Link
US (1) US6128755A (ja)
JP (1) JP2500038B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007002B2 (en) 2001-05-31 2006-02-28 Canon Kabushiki Kaisha Signal processing circuit involving local synchronous behavior

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539061B1 (en) * 1998-09-16 2003-03-25 Texas Instruments Incorporated Efficient method for decompressing difference coded signals
US6625570B2 (en) * 2000-06-20 2003-09-23 Joseph J. Pierro, Jr. Synchronous detection and remote monitoring and regulating of cell potential for cathodic protection
US6631488B1 (en) * 2000-06-30 2003-10-07 Agilent Technologies, Inc. Configurable error detection and correction engine that has a specialized instruction set tailored for error detection and correction tasks
US7987341B2 (en) 2002-10-31 2011-07-26 Lockheed Martin Corporation Computing machine using software objects for transferring data that includes no destination information
DE10328059A1 (de) * 2003-06-23 2005-01-13 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung eines verteilten Systems
US7904775B2 (en) * 2004-04-21 2011-03-08 Stmicroelectronics Sa Microprocessor comprising signature means for detecting an attack by error injection
US8073974B2 (en) 2004-10-01 2011-12-06 Lockheed Martin Corporation Object oriented mission framework and system and method
DE102006005817B4 (de) * 2006-02-08 2014-06-26 Infineon Technologies Ag Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
DE102006062703A1 (de) * 2006-02-08 2007-08-30 Infineon Technologies Ag Fehlererkennungsvorrichtung und Verfahren zur Fehlererkennung für einen Befehlsdecoder
US7627795B2 (en) * 2006-07-26 2009-12-01 Freescale Semiconductor, Inc Pipelined data processor with deterministic signature generation
US7823033B2 (en) * 2006-07-26 2010-10-26 Freescale Semiconductor, Inc. Data processing with configurable registers
US7813067B1 (en) 2007-02-14 2010-10-12 Marvell International Ltd. Accumulator for non-return to zero (NRZ) linear feedback shift register (LFSR) in controller for disk drive
DE102007033885A1 (de) * 2007-07-20 2009-01-22 Siemens Ag Verfahren zur transparenten Replikation einer Softwarekomponente eines Softwaresystems
US8200947B1 (en) * 2008-03-24 2012-06-12 Nvidia Corporation Systems and methods for voting among parallel threads
JP5315748B2 (ja) * 2008-03-28 2013-10-16 富士通株式会社 マイクロプロセッサおよびシグネチャ生成方法ならびに多重化システムおよび多重化実行検証方法
IT1391785B1 (it) * 2008-11-21 2012-01-27 St Microelectronics Srl Sistema elettronico per il rilevamento di un guasto
US8037364B2 (en) * 2009-01-09 2011-10-11 International Business Machines Corporation Forced management module failover by BMC impeachment consensus
JP2010218012A (ja) * 2009-03-13 2010-09-30 Nec Corp 圧縮情報を利用した故障検出装置、その方法及びそのプログラム
US8542247B1 (en) 2009-07-17 2013-09-24 Nvidia Corporation Cull before vertex attribute fetch and vertex lighting
US8564616B1 (en) 2009-07-17 2013-10-22 Nvidia Corporation Cull before vertex attribute fetch and vertex lighting
US8384736B1 (en) 2009-10-14 2013-02-26 Nvidia Corporation Generating clip state for a batch of vertices
US8976195B1 (en) 2009-10-14 2015-03-10 Nvidia Corporation Generating clip state for a batch of vertices
JP5416863B2 (ja) * 2011-03-23 2014-02-12 株式会社日立製作所 計算機システム、データ処理方法、及びデータ処理プログラム
US10140049B2 (en) 2012-02-24 2018-11-27 Missing Link Electronics, Inc. Partitioning systems operating in multiple domains
CN203568564U (zh) 2013-10-25 2014-04-30 株式会社瑞光 折弯装置
JP6482393B2 (ja) * 2015-06-10 2019-03-13 三菱電機株式会社 データ処理装置及びデータ処理システム
US20180308091A1 (en) * 2017-04-21 2018-10-25 Vmware, Inc. Fairness preserving byzantine agreements

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1353029A (fr) * 1963-01-11 1964-02-21 Electronique & Automatisme Sa Perfectionnements aux systèmes numériques de traitement d'informations codées
US4740895A (en) * 1981-08-24 1988-04-26 Genrad, Inc. Method of and apparatus for external control of computer program flow
WO1984003158A1 (en) * 1983-02-09 1984-08-16 Ibm A method for achieving multiple processor agreement optimized for no faults
JPS6054052A (ja) * 1983-09-02 1985-03-28 Nec Corp 処理継続方式
US4649384A (en) * 1983-10-07 1987-03-10 Dialogic Systems Corp. Method and apparatus for fault tolerant serial communication of digital information
US4583222A (en) * 1983-11-07 1986-04-15 Digital Equipment Corporation Method and apparatus for self-testing of floating point accelerator processors
US4751702A (en) * 1986-02-10 1988-06-14 International Business Machines Corporation Improving availability of a restartable staged storage data base system that uses logging facilities
US4807228A (en) * 1987-03-18 1989-02-21 American Telephone And Telegraph Company, At&T Bell Laboratories Method of spare capacity use for fault detection in a multiprocessor system
US4849978A (en) * 1987-07-02 1989-07-18 International Business Machines Corporation Memory unit backup using checksum
US5084816A (en) * 1987-11-25 1992-01-28 Bell Communications Research, Inc. Real time fault tolerant transaction processing system
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5136704A (en) * 1989-06-28 1992-08-04 Motorola, Inc. Redundant microprocessor control system using locks and keys
DE3923432C2 (de) * 1989-07-15 1997-07-17 Bodenseewerk Geraetetech Einrichtung zur Erzeugung von Meßsignalen mit einer Mehrzahl von Sensoren
SE466475B (sv) * 1990-07-10 1992-02-17 Ericsson Telefon Ab L M Saett och anordning foer oevervakning och testning vid en flerplansenhet i en digital tidsvaeljare
US5151981A (en) * 1990-07-13 1992-09-29 International Business Machines Corporation Instruction sampling instrumentation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007002B2 (en) 2001-05-31 2006-02-28 Canon Kabushiki Kaisha Signal processing circuit involving local synchronous behavior

Also Published As

Publication number Publication date
US6128755A (en) 2000-10-03
JPH0683663A (ja) 1994-03-25

Similar Documents

Publication Publication Date Title
JP2500038B2 (ja) マルチプロセッサ・コンピュ―タ・システム、フォ―ルト・トレラント処理方法及びデ―タ処理システム
Bernick et al. NonStop/spl reg/advanced architecture
US8635492B2 (en) State recovery and lockstep execution restart in a system with multiprocessor pairing
Siewiorek Fault tolerance in commercial computers
US5317726A (en) Multiple-processor computer system with asynchronous execution of identical code streams
Sorin et al. SafetyNet: Improving the availability of shared memory multiprocessors with global checkpoint/recovery
US20050240806A1 (en) Diagnostic memory dump method in a redundant processor
US5193175A (en) Fault-tolerant computer with three independently clocked processors asynchronously executing identical code that are synchronized upon each voted access to two memory modules
Jewett Integrity S2: A fault-tolerant Unix platform
US5327553A (en) Fault-tolerant computer system with /CONFIG filesystem
US5890003A (en) Interrupts between asynchronously operating CPUs in fault tolerant computer system
US7496786B2 (en) Systems and methods for maintaining lock step operation
US6058491A (en) Method and system for fault-handling to improve reliability of a data-processing system
US8671311B2 (en) Multiprocessor switch with selective pairing
US20020116662A1 (en) Method and apparatus for computer system reliability
KR100304319B1 (ko) 시간 지연 이중화 기술을 구현하는 장치 및 방법
US5978936A (en) Run time error probe in a network computing environment
Damani et al. Fault-tolerant distributed simulation
Gold et al. TRUSS: a reliable, scalable server architecture
WO2001016750A2 (en) High-availability, shared-memory cluster
Sorin et al. Dynamic Verification of End-to-End Multiprocessor Invariants.
Tamir et al. The UCLA mirror processor: A building block for self-checking self-repairing computing nodes
US20060107116A1 (en) System and method for reestablishing lockstep for a processor module for which loss of lockstep is detected
Liu et al. Efficient implementation techniques for gracefully degradable multiprocessor systems
Dal Cin et al. Hardware-Supported Fault Tolerance for Multiprocessors.