JPS61502223A - 再構成可能なデュアル・プロセッサ・システム - Google Patents

再構成可能なデュアル・プロセッサ・システム

Info

Publication number
JPS61502223A
JPS61502223A JP60502170A JP50217085A JPS61502223A JP S61502223 A JPS61502223 A JP S61502223A JP 60502170 A JP60502170 A JP 60502170A JP 50217085 A JP50217085 A JP 50217085A JP S61502223 A JPS61502223 A JP S61502223A
Authority
JP
Japan
Prior art keywords
processor
program
active
state
processors
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
JP60502170A
Other languages
English (en)
Other versions
JP2552651B2 (ja
Inventor
ビシヨツプ,トーマス パトリツク
ブタヴイラ,ジヨナス
フイツチ,デイヴイツド ジヨン
ハンセン,ロバート カール
シユミツト,デイヴイツド アンソニー
サーラツト,グローヴアー テイモスイ
Original Assignee
エイ ティ アンド ティ コーポレーション
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 エイ ティ アンド ティ コーポレーション filed Critical エイ ティ アンド ティ コーポレーション
Publication of JPS61502223A publication Critical patent/JPS61502223A/ja
Application granted granted Critical
Publication of JP2552651B2 publication Critical patent/JP2552651B2/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/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
    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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
    • 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/2035Error 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 without idle spare hardware
    • 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/2097Error 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 maintaining the standby controller/processing unit updated
    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2007Error 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 interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】
再構成可能なデュアル・プロセッサ・システム本発明は第1および第2のプロセ ッサと、第1のプロセッサ中に含まれる第1のメモリと、第2のプロセッサ中に 含まれる第2のメモリと、第1および第2のメモリを相互接続する更新バスより 成る処理システムに関する。 発明の背景 従来の処理システムは一般に単一の中央プロセッサの周囲に構成されて来た。中 央プロセッサは処理システムの主計算ユニットであった。中央プロセッサはまた 一般にシステムの主管理ユニットであり、種々のシステム・ユニットの動作を調 整してシステム・タスクを実行させる役割を有していた。中央プロセッサと同様 、他のシステム・ユニットもほとんどの場合システムにおいて二重化されていな かった。 このようなシステムは、構成ユニットが障害を起した結果として部分的あるいは 全面的な動作障害を引き起しやすいという意味で信頼性が高くなかった。詳細に 述べると、中央プロセッサの主要な障害によ、り一般に処理システム全体がダウ ンし、システムは障害が修理されるまで割当てられたタスクを実行出来なくなる 。 システムの処理能力に対する日毎に強まる要求はしばしば単一の中央プロセッサ の計算能力を越えてしまう。 この問題に対する解決策の1つとしてこのようなシステムの中央プロセッサに1 つまたはそれ以上の補助プロセッサを取り付けることがある。補助プロセッサの 機能は計算負荷の1部を中央プロセッサから取り上げ、それによって全体として のシステムの処理能力をあげることにある。、しかし、一般に取り付けられたプ ロセッサは中央プロセッサの制御の下にある単なる特殊目的の計算ユニットとし て動作する。この取付けられたプロセッサは一般に他のシステム資源を中央プロ セッサと共有し、しばしば中央プロセッサを介してのみこれら資源と通信する・ よう作られている。即ち中央プロセッサは処理システムに対し管理制御権限を保 持していることになる。 システムの処理能力は付加的プロセッサを取り付けることにより大幅罠増加する 。しかし、殆んどのシステム・ユニットは二重化されておらず、中央プロセッサ はその処理システムにおいてキーとなる位置を占めているので、システムの信頼 性は改善されたい。詳細に述べると、中央プロセッサにおける障害に対するシス テムの感受性は単一のプロセッサ構成と実質的に変らないことになる。 他方、通信交換システムの如き処理システムのおる種の応用用途にろってはシス テム・ユニットの障害によるサービス断の状態は許容出来ないことがある。この ような応用用途′lc、f)つては高い信頼性を有する処理システムを使用する ことが要求される。このようなシステムにおける信頼性はシステム・ユニット、 特に中央プロセッサを二重化することにより達成される。一般にこのようなシス テムにおける二重化された中央プロセッサは各プロセッサが他のプロセッサと並 列にすべてのシステム・タスクを実行するロック・ステップ構成で動作するか、 るるいは一方のプロセッサがすべてのシステム・タスクを実行し、第2のプロセ ッサはバックアップとして動作し、1方のプロセッサが障害を起したとき取って 替る準備が出来ている待機状態にある活性−待機構成で動作するか、プロセッサ が実行するトランスアクションに関する情報を他方のプロセッサに送信し、それ ばよって1方のプロ・セッサに障害が起ると他方のプロセッサが障害を起したプ ロセッサの現在の状態を計算してそのトランスアクションをその点から引き受け るチェックポイント構成で動作するようになっている。 このようなシステムにあっては、二重化されたプロセッサのいずれもすべてのシ ステム・タスクを単独で取扱うよう作られている。このようにしていずれか一方 のプロセッサの障害は処理システム全体としての障害とはならない。他方のプロ セッサは障害を起したプロセッサがタスクを実行する。このようなシステムにろ っては、両方のプロセッサが同時に障害を起すとシステムは無能力状態となる。 このようにしてシステムの信頼性は単一のプロセッサ構成の場合に比べて大幅に 改善される。しかし、このような信頼性の高いシステムが中央プロセッサを含む システム・ユニットの二重化という出費を払ったとしても、このシステムは任意 の時刻においてプロセッサの内の唯一方のみの処理能力しか使用できない。従っ てその処理能力は唯一つのプロセッサを有する相応するシステムの処理能力より 良くはならない。 当業者にあってはマルチ・プロセッサ・システムも周知である。このシステムは しばしば互いに独立に製作する複数個の処理ユニットを含んでいる。処理ユニッ トは一般に通信バスに接続されており、このバスを共通使用することによって処 理ユニットは互いに通信し、かつメモリの如き共有資源と通信する。問題点は処 理ユニ、ットがナベてメモリの如き資源を共有し、従ってその共有資源が適正に 機能しているということに依存しているため、このようなシステムの信頼性が高 いない点[6る。そして、複数個の処理ユニットが資源を共有しているため、処 理ユニットの1つが障害を起し、それが共有の資源に極めて悪い影響を及ぼし、 それによってその資源に依存する他の処理ユニットの動作にも極めて悪い影響を 与える機会が増大する。 前述の問題点は本発明に従い、更新バスが選択的に各メモリを更新し、内容の変 更は他方のメモリ中で行ない、第1および第2のメモリは同じ内容を有するよう にし、プロセッサはある条件に応動して第1および第2の動作モードの一方から 他方にシステム動作を自動的に変更させ、第1のモードにろっては両方のプロセ ッサが活性状態にあり、各プロセッサは第1および第2のグループのタスクの内 の異なるものから選択された他方のタスクとは独立に実行し、第2の動作モード にありては、プロセッサの内の選択された一方は不活性状態にあり、プロセッサ の他方は活性状態にあって第1および第2のタスクの両方から選択されたタスク を実行する処理システムにより解決された。 発明の要旨 本発明の目的は従来技術の前述およびその他の欠点を解決することにある。本発 明圧従い、デュアル・プロセッサ・システムは両方のプロセッサが活性状態にあ り、各々が互いに独立にシステム・タスクを実行している第1のモードと、1方 のプロセッサが不活性状態にあり、他方のプロセッサが不活性状態にあってシス テム・タスクを実行している第2のモードで選択的に動作する。 システムは2つのプロセッサを含んでいる。各プロセッサはそれ自身のメモリを 有しており、これら2つのメモリは同じ内容を有している。これら2つのメモリ は、各メモリを更新し、内容の変更は他方のメモリ中で行い、それによって2つ のメモリが互いの内容の複製を作る装置によって相互接続されている。特に該シ ステムはある条件に応動してシステムの動作を一方のモードから他方のモードに 自動的に変更する装置を含んでいる。これらの条件は例えば手動およびプログラ ムてよるコマンド、ならびに第1および第2の型のシステム障害状態である。 第1のモードにあっては、両方のプロセッサは活性状態にあり、各プロセッサは 他方とは独立に第1および第2のグループのタスクの異なる一方から選択された タスクを実行する。第2のモードにあってはプロセッサの内の選択された一方は 不活性状態でちり、他方のプロセッサは活性状態であって第1お工び第2のグル ープのタスクから選択されたタスクを実行する。 更に、該システムは2組の周辺装置を含んでおり、周辺装置の各組はプロセッサ のいずれか一方に選択的に接続するコントローラを有している。。 第2のモードにあっては、不活性状態にあるプロセッサは待機用プロセッサであ って、タスクの実行を行う準備が整っている。システムの動作を変更する装置は 選択されたプロセッサを選択的に始動および停止させる装置と、一方のプロセッ サが停止したとき実行すべき両方のグループのタスクを残りの活性状態にあるプ ロセッサにき各グループのタスクを異なるプロセッサに割当てる装置とを含んで いる。この割当てはディスパッチ・キューを介して実行される。 本発明のシステムは処理能力の面で強力であり、極めて信頼性゛も高い。本発明 のシステムは補助プロセッサが取り付けられた中央プロセッサを有するシステム の計算能力を有している。それでいてプロセッサが障害を起した場合には二重化 されたプロセッサ・システムと同じ信頼性を有している。そしてプロセッサは各 々にそれ自身のメモリを有しているので、本システムはプロセッサがメモリを共 有するシステムで生じる信頼性の問題は回避される。本発明のシステムは両方の プロセッサが活性状態にあり、システム・タスクを独立に実行するモードあるい は一方のプロセッサが活性状態にあり、他方のプロセッサが待機状態にあるモー ドのいずれかで選択的に動作することが可能である。更に、各プロセッサはシス テムのすべての資源(すべての周辺ユニットを含む〕にアクセスを有し、従って いずれかのプロセッサもすべての゛システム・タスクを同等に・実行することが 出来る。本システムは1方の動作モードから他方の動作モードに自由に移ること が出来る。本システムは手動コマンドまたは障害の生起の如きシステム条件に応 動して適当なモードに自動的に自分自身を再構成する。そして重大なハードウェ ア障害の如き致命的な障害に続いて実行されるシステムの再構成の場合を除き、 はとんどのシステム再構成はシステム上で実行されている応用プログラムに対し てはトランスペアレントである。応用プログラムはシステムが動作しているモー ドおよびシステムの構成の変化は気に留めない。 本発明のこれらおよび他の特徴は付図を参照した本発明の実施例に関する以下の 記述から明白となろう。 図面の簡単な説明 第1図は本発明を具現する処理システムのブロック図、第2図は第1図のシステ ムの動作モードおよび状態を示す状態図ならびにその間の遷移を示す図、第3お よび4図は夫々第2図の収束モードおよび発散モード時の第1図のシステム10 0のメモリのオペレーティング・システム部のメモリ・レイアウトのブロック図 、 第5図は第1図のプロセッサのシステム・ステータス・インディケータのブロッ ク図、 第6および7図は第1図のシステムの保守リセット機能(、M RF )の論理 機能図、 第8図は第1図の活性状態にあるプロセッサによって実行される回復動作の論理 流れ図、 第9図は第6図の停止および切換え過程の論理流れ図、第10図は第2図の復旧 過程の論理機能図、第11図は第2図の除去過程の論理機能図、第12図は第2 図の発散過程の論理機能図、第13図は第2図のソフト的収束の論理機能図、第 14図は第2図のソフト的切喚え過程の論理機能図、第15図は第2図のハード 的収束過程の論理機能図、第16図は第2図のハード的切換えおよびFON、L  /FOFL過程の論理機能図である。。 詳細な説明 本発明は実施例がデュアル・プロセッサ・システム100の場合について第1図 のブロック図として示されている。このシステムにおいて本発明がどのように機 能するか圧ついて簡単に説明する。 デュアル・プロセッサ・システム10口は1対のプロセッサ101および102 ↓り成る。プロセッサ101および102は実質的に同一でらる。従来の動作モ ードにあっては、プロセッサ101および102の内の1方が活性状態にあり、 応用タスク(プログラムまたはプロセスとも呼ばれる)を実行するためにオペレ ーティング・システムの制御の下で動作する。プロセッサ101および102の 内の他方は従来はアイドル状態にるり、障害によってプロセッサ101および1 02の内の活性状態にあるものがサービス不能の状態になったとき直ちに活性状 態となるよう待機している。 プロセッサ101のメイン・タスクの実行、制御およびデータ処理操作は中央処 理ユニット(CPU)112によって実行される。CPU112はマイクロプロ グラミングされたマシンであり、殆んどのプロセッサ機能はCPU112の内部 のマイクロプログラム記憶装置(図示せず)K記憶されたマイクロ・インストラ クションの実行によって実現される。マイクロ・インストラクション系列の実行 匠よゆプログラム・インストラクションによって指示される動作が実現される。 CPU112は一般に主記憶装置(MAS)114と呼ばれるプロセッサ101 のメイン・オン・ライン・メモリ装置からデータおよびプログラム・インストラ クションを取り出す。応用プログラムおよびオペレーティング・システム・ソフ トウェアも主記憶装置114中に記憶されていても良い。 動作速度を改善するため、CPU112にはオプションとして書き込みが出来な いキャブシュ113(これはCPUと主記憶装置114の間の情報転送用の高速 度バッファとして機能する)が実装されていて良い。 主記憶装置114とCPU112およびキャッシュ113の如きデバイスの間の 通信は主記憶バスCMSR)116を介して行なわれ、主記憶装置114に対す るアクセスを仲裁する主記憶更新ユニット(MASU)115によって制御され ている。1対の直接メモリ・アクセス・コントローラ(DMAC)iloおよび 111がまた主記憶バス116に接続されており、主記憶装置114とプロセッ サ1010周辺装置の間の直接的な情報転送手段として機能している。 プロセッサ101および102は互いに他の複製物でおるので、プロセッサ10 2は同様にしてMS8126によって相互接続された1対のDMACl2Oおよ び121、CPU122、キャッシュ123、MAS124およびMASU12 5より成っている。 プロセッサ101および1020周辺装置は複数個の周辺装置ユニット(PEU )131〜13.2および141〜142より成る。これらのユニットはディス ク・メモリおよびテープ・メモリ・システムの如き2次記憶装置、CRTディス プレイ、キーボード端末およびテレプリンタの如き入出力通信装置、ならびにデ ュアル・プロセッサ・システム100が使用される応用用途に応じて要求される 他の装置のホストを含んでいて良い。周辺装置ユニット131〜132の第1の グループはデュアル・ポート・コントローラ(DPC)130に接続されている 。 デュアル・ポート・コントローラ130の1つの通信ポートは通信チャネル13 3に接続されており、コントローラ13Gの他方のポートはチャネル134に接 続されている。コントローラ130はチャネル133〜134を介して受信され た指令に従って周辺装置ユニット131〜132をチャネル133または134 のいずれかに選択的に接続する。チャネル133はDMAコントローラ111に 接続されており、チャネル134はDMAコントローラ121に接続されており 、従って両方のプロセッサ101および102が周辺装置ユニット131〜13 2にアクセスすることを許容する。 信頼性をあげるため、デュアル・ポート・コントロー成っている。コントローラ 対130a、t30bの一方の選択・活性化はチャネル133〜134の1つを 介して送信されるコマンドを介して実行される。 同様にして、周辺装置ユニット141〜142の第2のグループはデュアル・ポ ート・コントローラ140によって1対のチャネル143および144の一方と 選択的に接続される。チャネル143はDMAC110に接続されており、チャ ネル144はDMACl2Oに接続されており、それKよって両方のプロセッサ 101および102が周辺装置ユニット141〜142にアクセス出来ることに なる。コントローラ140はまた二重化されており、コントローラt40a、1 40b対の一方の選択はチャネル143および144を介して行なわれる。 プロセッサ101および102のいずれもがシステム・タスクを同等に実行する ことを許容し、いずれか一方が障害を起したときに他方の代りとして用いるため に主記憶装置114お工び124は同一状態に保持されていなければならない。 このため、プロセッサ101および102の主記憶更新ユニット115および1 25は更新バス103と呼ばれる通信バスによって相互接続されている。 主記憶装置114に対するアクセスを仲裁するのに加えて、主記憶更新ユニット 115は主記憶装置114に対してなされるアクセスの型をモニタする。要求さ れたアクセスが例えば書き込み操作またはクリア操作の如く主記憶装置114の 内容を変化させる型のアクセスであると、主記憶y新ユニット115は、バス1 26に接続されている他のユニットがするのど同じように、主記憶更新ユニット 125が主記憶バス126にアクセスしたいという要求を発する。主記憶更新ユ ニット125はこの要求をバス12Gに対する他のアクセス要求と同様に処理す るが、この要求には最も高い優先度を与える。バス126が利用可能な状態にな ると主記憶更新ユニット125は主記憶更新ユニット115のアクセスの許可信 号を発生し、更新バス103の一端を主記憶バス126に接続する。前記許可信 号に応動して、主記憶更新ユニット115は更新バス103の他端を主記憶バス 116に接続し、最初に要求された主記憶装置114に対するアクセスを許容す る。このときバス116および126は接続されているので、主記憶アクセスは 両方のバス11Gおよび126を介して両方の主記憶ユニット114および12 4に対して行なわれ、ユニット114および124の内容は同じ仕方で変更され る。アクセスの完了後、両方の主記憶更新ユニット115および125は更新バ ス103を夫々の主記憶バス116および126から切離す。夫々他のプロセッ サのMAS124または114を更新するMAS[J115および125のこの 機能はMASO115および125に対するコマンドによって禁止することが出 来る。 プロセッサ102で生起する主記憶書き込みまたはクリア・アクセス(これらの アクセスは主記憶114と124の両方に対して行なわれる必要がある)に関し ては、主記憶更新ユニット115および125の前述の役割を単に入れ替えれば 良い。 更に1直接通信チャネルがCPU112とcpσ122の間に設けられている。 保守チャネル(MTCH)104aと呼ばれるチャネルはオン・ライン活性状態 にあるプロセッサが不活性のプロセッサを診断するだめの制御・通信バスを提供 する。保守チャネル104aはまた障害回復プログラム用の低レベル保守制御を 提供し、プロセッサの切替え動作に悪影響を与えることなく実行することが出来 るよう罠なっている。更に、他の保守制御として、保守チャネル104aを介し てプロセッサ101および102の1方が他方のプロセッサ上の初期化系列を開 始させたり、プログラムの実行を停止させることが出来る。保守チャネル104 aはまた外部源からマイクロ・インストラクションを受信し、それを実行するこ とが出来る。保守チャネル104aはまたプロセッサ・バスを制御し、プロセッ サ制御信号を発生することが出来る。このようKして、保守チャネル104aは プロセッサに対してほぼ完全な制御を実行することが出来、プロセッサを診断す るのに十分なアクセスを提供することが出来る。 信頼性をあげるため、保守チャネル104aはバックアップ保守チャネル104 bによってバックアップされている。バックアップ保守チャネル104bは単に プロセッサが他のプロセッサの1正常であることを示す′タイマ(図示せず)を リセットすることを許容する。′正常であることを示す′タイマはプロセッサの 電源が投入されたときにプロセッサ上で動作するハードウェア的に実現されたタ イマである。′正常であることを示す′タイマはある値で時間切れとなり、その 時点でプロセッサの再初期化が生じるよってする。このようにして1正常である ことを示す1タイマは再初期化が起ることを防止するため周期的にリセットされ ねばならない。 他のプロセッサによりプログラムされたインタラブド要求(OPPIR)信号線 105aおよび105bがCPUI 12とcpσ122の間に延びている。そ の名が示すように、これらの信号線はCPU112お工び122がプログラムさ れた、即ちソフトウェアによって開始されたインタラブド要求を互いに発生する ことを許容する。 プロセッサ・システム100の前述のハードウェア構成の助けにより、デュアル ・プロセッサ・システム100°のオペレーティング・システムは第2図に示す ような複数個の構成の内の1つの構成で選択的に動作し、かつそのオペレータに よってシステム100に与えられたコマンドまたは障害の生起の如き内部的に検 出された状態に応動じて再構成することを許容する。 デュアル・プロセッサ・システム100の従来の通常の動作モードは収束モード であり、第2図のシステム100の構成状態図では番号10で示されている。収 束モード10Vc6つては、プロセッサ101および102の一方のみが活性状 態であって、すべてのシステム・タスクを実行しており、他のプロセッサは不活 性である。 通常のシステム動作期間中、不活性なプロセッサは待機状態にあり、要求により 活性プロセッサとなる準備が出来ている。一般に活性プロセッサに障害が起ると 、;障害を起したプロセッサは不活性プロセッサとなり、サービスからはずされ 、最早活性プロセッサとしては使えないものと見做される。このような障害の後 に、先に不活性でめったプロセッサが活性となり、システム・タスクを実行する のに加えて障害を起したプロセッサを診断し、該プロセッサを活性状態または待 機状態に戻そうと努力する。 第3図のメモリ・レイアウト・マツプに示すように1収束動作モード101C6 つては、300と番号の付されたオペレーティング・システムのただ1つのバー ジョンのみがシステム100中に存在する。(但しそのコピーは主記憶114お よび124中に記憶されている。)、オペレーティング・システムのこのバージ ョン300は2つのプロセッサ101および102の内たまたま活性であるもの の上で実行される。 第2図に戻ると、収束動作モー ドにあってはシステム100は4つの動作状態 3〜6の内のいずれかの状態にある。これら状態の各々は次のようなラベルで表 わされている。即ち最初の記号はプロセッサ0(第1図の101)の状態を表わ し、ついでスラッシュが入り、その次にプロセッサJ(第1図の102)の状態 が来ている。第2図に示すように、状態3に8つ1ノはプロセッサ0101は活 性状態(a)であり、プロセッサ11o2は待機状態(STBY)である。状態 4にろっではプロセッサ101と102の動作状態は逆転し7ている。状態5に あってはプロセッサ0101は活性状態であり、プロセッサ1102は非サービ ス状態(OOS)であり、状態6にあっては2つのプロセッサ1o1と1020 動作状態は逆転している。 本発明を具現するシステム100は第2図に番号11で示す発散動作モードを付 加的に有している。このモードでは両方のプロセッサー01および102が活性 状態にあって、異なるシステム・タスクを実行している。異なるタスクとしては 同じプログラムのコピーの実行を含んでいて良い。発散動作モードにおいてはシ ステム100は2つの動作状態の内のいずれかの状態にある。状態1にあっては プロセッサ0101は主プロセツサ(a )と名付けられ、プロセッサー02は 2次プロセッサ(&、)と名付けられる。状態2にあってはプロセッサ101お よび102の主および2次の命名は逆転される。 収束モード10の如き活性−不活性システム構成にあっては、活性プロセッサは 常に主プロセツサであると見做される。従って、第2図が示唆するように、状態 1.3および5にあっては、プロセッサ0jO1は主プロセツサであり、プロセ ッサー1o2は2次プロセッサであり、状態2.4および6ではプロセッサー0 1および102の主および2次の命名は逆転している。 プロセッサの主および2次の命名は例えば各プロセッサー01および102中に おいて第5図に示すフラグ210を適当にセットすることにより行なわれる。フ ラグ210は各プロセッサー01および102と関連する複数個のシステム・ス テータス・インディケータ200の1つである。フラグ2tOはシステムの構成 を示すレジスタのフラグ・ビットであって良い。あるいはフラグ210はメモリ の1つのワードであってもよい。フラグ210は次のように実現される。即ち主 記憶装置の1つのワー、ドはプロセッサ0またはプロセッサlを主プロセツサと 同定する。このワードはプロセッサが主であるか2次であるかを決定するために プロセッサがプロセッサ0であるかプロセッサ1であるかを同定するそれ自身の 構成を示すシステム・ステータス・レジスタ(SSR)中のフラグ・ビットと共 にプロセッサ中で使用される。 第4図のメモリ・レイアウト・マツプに示すように、発散動作モード11におっ ては番号300および301で示す2つのオペレーティング・システムのバージ ョンがシステム100中に存在する。オペレーティング・システムの主バージョ ン300はプロセッサ101および102の内の主プロセツサ上で実行され、2 次バージョン301は2次バージョン上で実行される。主記憶ユニット114お よび124は更新された状態にあるので(即ちその内容は同一であるように保持 されているので入オペレーティング・システムの2つのバージョン300および 301のコピーが各々の主記憶ユニット114および124中に記憶されている 。 発散モード11にあっては、2つのプロセッサ101および102は個々のプロ セッサとして互いに独立して動作しており、従って各プロセッサ101および1 02はオペレーティング・システムのバージョン300および301の内の異な るものを実行していることになる。 しかしバージョン300および301は同じオペレーティング・システムのバー ジョンであることに注意されたい。更に、たとえプロセッサ101および102 が各々それ自身のディスパッチ、・キュー(至急用待行列)から得た独立したタ スクを実行しているときでさえも、2つのディスパッチ・キューは共通ワーク・ リストから供給される。従って、両方のバージョン300および301に共通な オペレーティング・システムの部分、例えばオペレーティング・システム・テキ スト、メツセージ・バッファおよびディスパッチ制御表は2つのバージョン30 0および301によって共有されている。オペレーティング・システムの各バー ジョン300および301は、それが実行されるプロセッサ101または102 が主プロセツサでおるか2次プロセッサであるかに依存し、かつ実行している特 定のタスクに依存するオペレーティング・システムの部分のみを別個に保守する 。これらの要因に依存するタスクの例としては例えばインタラブド・スタックお よびディスパッチ・キュー、データならびにセグメント・テーブルがある。 障害の生起の如き動作状態に応動して、あるいはシステム・ユーザからのコマン ドに応動して、システム100は種々の動作状態の間の遷移を行ないうる。第2 図の矢印で図式的に示すようなこれら遷移がどのようKして行なわれるのかを述 べるのが残りの議論の主要な部分を占めている。 システム100の動作状態の変化は一般に2つのカテゴリーに分れる。即ちハー ド的変化とソフト的変化である。ハード的変化は応用プログラムに対してトラン スペアレントではらり得ないようなある程度のシステム100の初期化を伴う変 化である。システムの初期化とは障害に出会った後に正規の処理能力を回復する ために実行しなければならない動作系列のことを言う。ハード的な変化は一般に 活性状態にあるプロセッサが動作を継続出来ないような障害を起し、非サービス 状態としなければならないときに生じる。これらは致命的障害と呼ばれる。 ハード的変化はまた非致命的障害(即ちハード的変化を起させる必要は必ずしも ない障害〕からの回復の試みのニスカレーション(即ちソフト的な変化によって 回復させようとした試みが失敗した場合)の結果としても生じ得る。ハード的変 化を引き起す障害は第1の型の障害と呼ばれる。ハード的変化はまた手動の、即 ちオペレータによる要求またはプログラムの要求に応動して生じ得る。 第2図を参照すると、ハード的変化は状態3がら状態6−の遷移、または状態4 から状態6への遷移であることが分るが、これは1ハード的切替え′と呼ばれる 。ハード的切替えのプロセスについては第16図と関連して議論する。1強制オ ンライン/強制オフライン1と呼ばれる状態5と6の間の変化も同様にハード的 変化であり、これについても第16図と関連して議論する。ハード的変化はまた 状態1から状態5への遷移も含んでおり、これは1主プロセツサへのハード的収 束′と呼ばれる。更にハード的変化として状態1から状態6または状態2から状 態、5への遷移もあり、これは12次プロセッサへのハード的収束′と呼ばれる 。ハード的収束のプロセスについては第15図と関連して議論する。 ソフト的変化とはシステムの再初期化を伴わないか、またはシステム100上で 実行されている殆んどの応用プログラムに対してトランスペアレントであるよう な性質の初期化を伴う変化である。ソフト的変化を引き起す障害は第2の型の障 害と呼ばれる。ソフト的変化はまた手動の要求またはプログラムの要求知応動l −でも生じ得る。ソフト的状態変化としては状態1から状態3への変化、状態2 から状態4への変化(これらは1主プロセツサへのソフト的収束′と呼ばれる) 。ならびに状態1がら状態4への変化、状態2から状態3への変化(これらは1 2次プロセッサへのソフト的収束′と呼ばれる)を含んでいる。ソフト的収束の プロセスについては第13図と関連して議論する。ソフト的状態変化はまた状態 3から状態1への変化、また状態4から状態2の変化(これらは1発散1と呼ば れる)を含んでいる。発散のプロセスについては第12図と関連して議論する。 状態5がら状態3への変化、また状態6から状態4への変化もまたソフト的変化 であり、′プロセッサ復旧tと呼ばれる。 プロセッサ復旧のプロセスについては第1.0図と関連して議論する。状態3か ら状態5へのソフト的変化、また状態4から状態6へのソフト的変化は1プロセ ツサ除去1と呼ばれる。プロセッサ除去はまた活性状態にあるプロセッサにハー ド的変化を生じさせる非活性状態にあるプロセッサのハード的障害に応動しても 生じ得る。このようなハード的障害は非活性状態にあるプロセッサのハード的変 化は引き起さない。何做ならば障害によって影響を受けるソフトウェアは待機中 のプロセッサ上では実行状態にないからでおる。プロセッサ除去のプロセスにつ いては第11図と関連して議論する。 障害の検出に応動した自動再構成に関しては、システム100は障害の検出およ び回復用のハードウェアならびにソフトウェアに依存する。本発明がシステム1 00内においてどのように機能するかを説明するためにそのメカニズムについて 簡単に述べる。 システム100内に含まれる障害検出回路およびプログラムは大規模なものであ る。障害検出ハードウェアおよびソフトウェア技法は局部整合回路、すべてのバ ス上のパリティ技法、主記憶上のハミング誤り訂正、2次および3次記憶装置上 のサイクリック・リダンダンシ・コード、および制御ユニットならびに周辺装置 全体にわたる種々のハードウェアおよびソフトウェアが1正常であることを示す ′タイマなどん広範囲に使用している。更に障害検出メカニズムそれ自身の障害 を検出するのにルーチン診断が使用されている。′正常であること′のルーチン ・チェックは周辺のサブシステムが健全であることを保証するのに使用される。 最後に、システムの完全性チェックは固有の検出器では捕捉し得ないような問題 を捕捉する。 いずれかの障害検出器が誤り状態を検出すると、インタラブドが影響を受けるプ ロセッサ101または102中に登録される。障害の内張も重大なものによって 引き起されたインタラブドは自動的ハードウェア・シーケンスならびにハード的 変更を生じさせ、それによって作業は影響を受けなかったプロセッサに切替えら れる。より重大でない障害はシステムの回復を行なうマイクロコードならびにソ フトウェア九対するインタラブドを生じさせる。 障害回復プログラムはハ・−・ドおよびソフトによる障害の検出ならびに回復全 制御する。ハードウェア障害回復プログラムはハードウェア・インタラブドを受 信し、そnに続く回復シーケンスを制御する。特定の誤シが予め定められた度数 の閾値を越したことが検出されると、システムの構成は健全な状態に変更さnる 。 ソフトウェア障害回復プログラムはアーキテクチュア的にハ・−ドウエア障害回 復と極めて類似している。ソフトウェアの各々の主ユニットは防御的検査の如き 障害検出機構、誤シ閾値、ならびに失敗によるリターン、デ・−タ訂正検査およ び再初期化技法の如き誤り回復機構と関連している。更に1.プログラムの実行 はモニタさnていて、プログラムか無限の実行ループに入つ友シ、メツセージ・ バッファの如きシステム資源全過度に消費した択指定さjた限界上越えたメモリ にアクセスしたり、プログラムに許可されていないインストラクション全実行し fcすすることがないようにかつでいる。各プログラムまたσプログラムの組は 再初期化および回復制御機能を鳴しておシ、そ扛によって回復全行うことが出来 る↓うになっている。こj2は通常各プログラムに障害エントリ・ポイントと呼 ばれる別個のエントリ・ポイントを提供することにより実行される。 回復動作によりシステム100からハードウェアまたはソフトウェア・ユニット が除去される場合には、診断および検査プログラムが自動的に急派さn5除去を 引き起したハードおよびソフトの問題点の解析が行わnる。 ブートストラップおよび他の初期化プログラムはプロセッサの初期化を制御し、 それによって正規の処理能力の回復を図るためにマイクロコードおよびソフトウ ェアにより実現される動作の基本的集会全提供する。システムの初期化は、障害 の如き状態に出合つ定径に正規の処理状態を回復するために使用されるマイクロ コード化さnた動作シーケンスの実行を含んでいる。システムの初。 期化はハードウェアまたはソフトウェア回復機構、あるいは手動要求によって自 動的に開始さ扛る。 システムの初期化または再初期化は次のような場合に要求さj、る。即ちシステ ムが最初にサービス状態とされるとき(即ち電源が投入さnたとき);ハード約 1たはソフト的なプロセッサ切替えを要求するハードウェア障害が起ったとき; カウンタによって指示される過度の/X・−ドウエアおよびソフトウェア・イン タラブドが生じたとき;プログラム要求に応動したとき;手動要求に応動したと きなどである。 初期化シーケンスは七の原因の如何暉関係なくプロセッサ内の“保守リセット信 号“と呼ばれるI\−ドウエア信号によって開始される。この保守リセット信号 はそれが発せらnたプロセッサにインタラブドを生じさせる。 保守リセット信号の結果生じたインタラブドはシス夙ム100における最も優先 度の高いマイクロコード・インタラブドkfiわす。保守リセット信号の受信時 に実行される初期化シーケンスにより当該プロセッサの初期化が行われる。この 初期化シーケンスは保守リセット機能(MRF)と呼ばれる。MRFは第6およ び7図と関連して以下で更に詳細に議論する。 システム100は回復を行うために漸進的初期化戦略に従う。実行さnる初期化 動作は処理能力の不必要な損失を防止する之め障害の度付に整合している。特定 レベルの初期化で回復が出来ないと、既に最高レベルにある場合を除き回復が得 ら九る筐で初期化のレベルがニスカレートされる。 システム中の活性状態に6るプロセッサが実行し得る漸進的なソフトウェア的初 期化には4つの位相がある。 ソフトウェア回復の位相1(φ1)にあっては、プロセッサのハードウェアは周 知の状態にリセットされ、プログラムは再初期化され、プロセッサのオペレーテ ィング・システムの核に周知のエントリ・ポイントから入る。 これは迅速な回復であり、ブートストラップはない(即ち2次メモリから主記憶 への再ローディングは無い。)。 ソフトウェア回復の位相2(φ2)にあっては、プロセッサはブートストラップ を行う。即ちオペレーティング・システムおよび応用プログラムの新しいコピー がディスクの如きバックアップ用の2次メモリから主記憶中にロードさfる。し かし、装置の構成データ・ベース(ECD)およびプログラムの保護された応用 セグメント(PAS )からのデータのローカル・コピーは保存されている。そ の名前が示すように、ECDは、システム100にはどのような装置およびオプ ションが実装さ扛ているのか、こnらの装置がどのような構成になっているのか およびこれら装置の間でどのような通侶および信号手続きが行わnるかの如きシ ステム10Gの構成を規定するデータ・ベースである。ECD情報は再ロードさ れないので、再初期化は、ECDの2次記憶コピー中の情報と矛盾しない周知の 状態に周辺装置全回復する必要がないため早められる。PASはプロスセが典型 例ではその回復に必要な情報をセーブするのに使用するプロセス
【割当てらnた セグメント・メモリである。 ソフトウェア回復の位相3(φ3)はφ2と類似しているが、PASのみが保存 され、ECDはバックアップ・メモリから再ロードされる。 ソフトウェア回復の位相4(φ4)はφ3と類似しているが、すべてのものがプ ロセッサの主記憶からクリアされ、バックアップ記憶装置から再ロードさnる。 PASが破壊されることがあるが、このレベルの回復は手動コマンドによっての み開始され得る。 活性状態にあるプロセッサ上のMRFシーケンスによって実行されるハードウェ ア初期化のレベルが第5図に示す1対の初期化シーケンス制御(ISC)ビット 211および212によって示さnている。3B20計算機にあってH1rsc ビット211および212はプロセッサのシステム・ステータス・レジスタ(S SR)内に設けられている。 ISCビット211および212はマイクロコードに対するハードウェア初期化 レベル・カウンタと見做すことが出来る。活性状態にあるプロセッサから要求さ 江ると、MRFはISCビット211および212を調べ、実行すべき回復のレ ベルを決定する。第6および第7図から明らかなように、ハードウェア回復の各 レベルはソフトウェア回復のあるレベル金倉んでいる。 不活性な状態にあるプロセッサ上で実行さj、ているMRFはISCビット21 1および212の値を無視する。 不活性な状態にあるプロセッサにあっては、MRFKよ・りて実行される初期化 のレベルは通常プロセッサに電源を入れ之ときに実行されるような基本的な初期 化である。 ハードウェア初期化シーケンスへ・のエントリは影響ヲ受けるプロセッサが不安 定であると考えら扛る初期化期間の開始時点全マークする。ハードウェア初期化 に対する他の要求がこの期間中に生じると、初期化期間の開始時点においてその 2進値が減少さnたISCビット211および212は初期化のレベルをニスカ レートさせる。 (即ち初期化の次のレベルが実行されるようにする。)これに応動じて、次のレ ベルのハードウェア初期化シーケンスに入り、ISCビット211および212 の値は再び減少され、初期化期間のタイミングが再スタートさnる。この期間中 に更に他の初期化要求があると初期化の次のレベルに進む。ISCビット211 および212の値はこれ以上減少出来ず、従って未満7の初期化期間中にその後 生じるプロセッサによって発生された回復要求に対しては最も高位の自動回復レ ベルが再試行さnることになる。各々の初期化要求の後、初期化期間が他の初期 化要求を受信することなく終了すると、rscビット211および212はアイ ドル2進値にリセットさnる。 MRFはその人力としてMRFが呼ばれたときのシステム100の構成、即ち状 態ならびにMRFが呼ばnた理由(即ちMRFが呼ばnた状態あるいはMRF” 、呼んだ源)を取り入れる。 MRFVi第6および7図に論理流れ図として図示されている。議論を簡単にす るため、第5a−b図においてMRFがプロセッサ0101上で呼ばれたものと 仮定する。 (MRFがプロセッサ1102上で呼ばれた場合にもMRFによって実行さnる 動作は等価であること?理解さnたい。)プロセッサ0101上で呼ば扛ると( ブロック+00)、MRFは最初ブロック401によって示すようニ、フロセッ サのマイクロ記憶装置中にそのプロセッサ0101のハードウェア状態を記憶す ることにより応動する。 プロセッサのハードウェア状態はそのプロセッサの特別なレジスタの内のあるも のの内容によって指示される。 特別なレジスタはプロセッサの状態(誤シ全含む)を示すレジスタである。この 特別なレジスタとしては次のようなレジスタがある。即ち現在実行しているプロ グラムと関連するソフトウェアと関係する情報を記憶するプログラム・ステータ ス・ワード・レジスタ(PSW) ;システムの構成、保守および回復制御なら びに状態の如きものと関連するシステムと関係する情報を記憶するシステム・ス テータス・レジスタ(SSR) ;ハードウェア状態および制御情報を記憶する ハードウェア・ステータス・レジスタ(H3R) ;システム・エラー・ステー タスを記憶するエラー・レジスタ(ER)などがある。特別なレジスタの内容は 、必要な場合その後に呼ばnた診断および回復プログラムがこの情報を調べ、そ れによってどのようにして影響を受けたプロセッサおよびシステム100’i復 旧させるかを決定するために保存さnている。 プロセッサ0101のハードウェア状態を保存した後、MRFは何故呼ばtlt かの理由全決定する。まず最初にブロック402中に示すように、MRFは電源 の入れらnたプロセッサ01o1に応動して呼はルたがどうかチェックする。も しそうであると、MRFはブロック403に示すように、プロセッサ0101を 初期化する。実行さnる初期化のレベルは基本的、徹底的な初期化であり、プロ セッサ0101はすべて周知の状態とさnる。初期化によシプロセッサの特別な レジスタおよび“正常であることを示す“タイマはクリアされ、久方および出力 動作は禁止さ扛る。 ブロック403においてプロセッサ0101が初期化さnると、MRFVjブロ ック404に示すようにMAS11+ノ内容全クリア、即ちOとする。この点に おいて、MAsUの更新機能はオフとされ、従ってMAS114のクリアはMA S124の内容に対し何らの影響も与えない。 MA3114にクリアすると1.MRFは再びブロック+05中にテすようにプ ロセッサ0101i初期化し、MASiクリアすることにより生じたかも知nな い誤り’&クリアし、再びプロセッサの正常さを示すタイマをリセットする。 次にMRFはブロック406に示すように電源投入による初期化が完了したこと の指示金与える。この指示は第5図に示すインディケータ2130セツトを含ん でいる。 3B20計算機にあっては、インディケータ213はMAS114のワード3で ある。次K MRFは第6図のブロック407中に示すようにプロセッサ010 1tホールトさせることによシ活動を完了する。 他のプロセッサ1102が既に活性状態にあると、電源投入による初期化が完了 したという指示(例えばインディケータ213)は他のプロセッサ11o2によ って周期的にモニタされる。プロセッサ0101に電源が投入され、初期化され たことをプロセッサ1102が検出すると、該プロセッサ1102はECD中の インディケータ218をセットすることによってプロセッサ0101がサービス が出来ない状態であることをマークする。このマーキングは活性状態にあるプロ セッサ1102に対し、該プロセッサ1102が、不活性であるが今電源が投入 さn、従って利用可能なプロセッサ0101の正常であることを示すタイマ全リ セットして、正常であることを示すタイマが障害指示全発生しないようにする役 目を果す。次にプロセッサ1102はその動作全継続する。 セッサ1102はプロセッサ0101によって実行された電源投入による初期化 の完了指示には応動しない。従ってプロセッサ0101の正常であること金示す タイマは時間切nとな9、障害指示?発生する。不活性なプロセッサ0101は 停止および切替え(第9図参照)を試みることによってこの障害指示に応動する 。停止および切替えはプロセッサ0101’e停止させ、他のプロセッサ110 2上KMRF(i−呼び出すことを含んでいる。プロセッサは例えばそのために 用意されたフリップ・フロップの如きフラグ全セットおよびリセットすることに より通常の仕方で停止および始動さ扛る。プロセッサ1102’に電源が投入さ j、るとき、MRFi呼ぶことにより一般にプロセッサ0101またはプロセッ サ1102が活性状態となる。このことは第7図のブロック450〜465の議 論から明らかとなろう。 しかし、他方のプロセッサ1102に電源が投入されていないと、該プロセッサ 1102は停止および切替えには応動しない。プロセッサ1102はプロセッサ 0101の正常さを示すタイマをリセットしないから、正常さを示すタイマは第 2の閾値において時間切れとなり、該タイマはバックアップの正常さ金示すタイ マと呼ばnる。この結果プロセッサ0101の障害指示が生じ、それによってM RFがプロセッサo i o 1 、J:で呼ば扛る。プロせツサ0101が機 能しているときにはこれによって第7図のブロック450−465の議論から明 らかとなろう。 電源の投入さ扛たプロセッサ0101に応動してMRFが呼ばれないと(第5a 図のブロック402)、ブロック420によって示すようにMRFはバックアッ プ用保守チャネルBMTCH104b (第1図参照)を介してプロセッサ】1 02によって呼ばれたかどうかチェックする。 もし呼ばれた場合には、七扛はプロセッサ11o2が例えばプロセッサ0101 の正常さ金示すタイマ全リセットするために保守チャネルio+al介してプロ セッサ0101にアクセスすることを望んだが、MTCH104aの障害のため にアクセス出来なかったことの指示となる。 MRFはブロック421に示すようにプロセッサ0101を初期化することによ り応動する。プロセッサ0101は前述の基本初期化レベルておいて初期化さn 1障害を起したMTCHl 04 aが発生した誤シヲクリアし、プロセッサ0 101の正常さを示すタイマをリセットする。初期化に続いてMRFはブロック 422に示すように再びプロセッサ0101’に停止させる。 電源投入(ブロック402)またはバックアップMTCH104b(ブロック4 20)によってMRFが呼ばしなかつた場合、MRFはブロック430に示すよ うにプロセッサ0101が現在強制的にオフ・ラインとされているがどうか(F OFL 、第2図参照)をチェックする。そのインデイケーションはシステム・ ステータス・レジスタ(SSR)中のフラグ・ビットとして実現さnている第5 図に示すインディケータ214により与えらnる。プロセッサ0101が強制的 にオフ・ラインとされていると、MRFはブロック431中に示すように基本初 期化レベルにおいてプロセッサ0101に初期化することによシ応動する。 次にブロック432中に示すようにMRFは再びプロセッサ0101全停止させ る。 プロセッサ0101が強制的にオフラインにされていないと、MRFはプロセッ サ0101が活性状態となるよう準備を整える。MRFはブロック435に示す ように基本初期化レベルにおいて再びプロセッサ0101を初期化する。MRF は次にブロック436中に示すようにプロセッサ0101が入出力動作に従事し 得るようにする。 これは第5図に示すSSR中のフラグ・ビット216をセットすることによシ実 行される。MRFはまたブロック437中に示すようにブロック401で保存さ nたプロセッサ0101のハードウェアの状態をマイクロ記憶装置からMA81 14中に転送させる。 第7図に戻ると、MRFはブロック斗40に示すように手動のコマンドに応動し て呼ばれたかどうか全チェックする。そのインデイケーションは第5図のインデ ィケータ217によって与えられる。3B20計算機にあっては、インディケー タ217は緊急動作インタフェース(FAI)パラメータ・バッファ中に組み込 tnている。手動で呼ばれると、MRFはブロック441に示すようにブートス トラップがそnによって要求さn念かどうか全決定するコマンドをチェックする 。ブートストラップが要求さnると、MRFはブロック442中に示すように要 求されたレベル(即ち初期化の位相2.3または4)においてプロセッサ010 1上でブートストラップ全実行する。この回復の試みが回復の試みのニスカレー ションに至らない場合には、ブートストラップの完了時点においてプロセッサ0 101は再初期化によって決定さnる点に戻らされる。 手動コマンドがブートストラップ全要求しない場合(ブロック441 )、ブロ ック445に示すようにMRFは要求がテープからディスクにロードすべきこと であったかどうか全チェックする。ディスクは通常システム100の2次メモリ であり、テープは通常システム100の3次メモリである。両者が第1図の周辺 装置ユニット(PEU)131〜132においては包摂さnている。要求がテー プからディスクヘロードすることであると、MRFはブロック446中に示すよ うに要求を満そうとする。次いでMRFはブロック446中に示すように次の手 動コマンドを待機する。期待されるコマンドはブートストラップに対する要求で ある。 手動コマンドによってブートストラップもテープからディスクへのローディング も要求されないと、MRFはブロック448中に示すようにプロセッサ0101 に対シ位相1時ベルの初期化を実行する。この回復の試みが回復の試みのニスカ レーションをもたらさない場合には、再初期化の位相1の完了時点において、プ ロセッサ0101fl再初期化によって決定さnる点に戻ってその中断さnた活 動を再開する。 ・ブロック440においてMRFが手動コマンドによって呼ばれたのではないと 決定すると、SSRのISCピット211および212の値全調べて初期化のど のレベルを実行すべきかを決定する。l/ 11 IIなる2進の値は活性−不 活性構成に配列さまたプロセッサ101および102のISCビット211およ び212のアイドル値でおる。 ISCビット211お工び212が“11“なる2進の値を有することi MR Fが見出すと(ブロック450)、MRFはブロック451に示すようにその値 を“10″に減少させ、ブロックキ52に示すようにそれ自身のプロセッサ01 01上で位相ルベルの初期化を実行する。 再びこの回復の試みが回復の試みのニスカレーションをもたらさない場合には、 再初期化の位相ルベルの完了時点において、プロセッサ0101は再初期化によ って決定される点において中断され次活動に戻り、活動を再開する。 第1の減少さした2進の値“10“は活性−不活性構成されたプロセッサ101 および102の工SCビット211および212のアイドル値である。ISCビ ット211および212が2進の値“10”を有すること全MRFが見出すと( ブロック460)、MRFはブロック461に示すようにその値t // o  o“に減少させ、停止および切替えとして知られるハード的変更を実行する。 MRFカ実行するハード的変更の型はMRF’に対する呼び出しが行われたとき に第2図の状態1〜6の内のどれにシステム100がいたかの関数となる。種々 のハード的変更に関係するプロセスについては第15および16図と関連して議 論する。 第7図のブロック450および460においてプロセッサ0101のISCビッ ト211および212の値が“l】“または“10“以外であるとMRFが判定 すると、MRFはそnに応動しであるレベルのブートストラップ、即ち再初期化 の位相2または3レベルを実行する。これがブロック461中に示さnている。 実行されるブートストラップのレベルはMRFによって呼ばれたソフトウェアに よって決定されると共に所望の回復の型にも依存する。これは例えば試みられた が不成功に終ったブートストラップの最後のレベルに依存し、ブートストラップ ・レベルのニスカレーションを表わしている。再び、この回復の試みが回復の試 みの更なるニスカレーション、即ち繰返しをも九らさない場合には、ブートスト ラップの完了時点において、プロセッサ101は再初期化によって決定される点 に戻される。 1度ブートストラップされ、更に初期化期間中にMRFを呼んでもISCビット 211および212の値は変化せず、単にMRF金してより高いレベルのブート ストラップ再初期化全試みさせることになる。位相4レベルの再初期化はMRF によっては自動的にニスカレートされない。 こ扛はブロック442に示すように手動のコマンドにのみ応動して実行される。 ここで活性プロセッサ中で行わnるシステム回復プロセスの手順について注目さ れたい。この手順は第8図に論理的に図式弄現さnている。第8図の議論t−明 快にするため、障害の検出ならびに七牡に対する応動はプロセッサ0101上で 生起するものと仮定する。 第8図に示し、前述したように、システム10Gの活性状態にあるプロセッサ0 101のハードウェアの障害の検出によシ影響を受けたプロセッサ0101にハ ードウェア・インタラブドが発生さnる。 ハードウェア・インタラブドが致命的な障害(即ち影響を受けたプロセッサ01 01が動作を継続することが出来ず、サービス中止状態としなければならないよ うな程度の障害)の生起全指示する場合、インタラブドに応動する機構は自動的 に停止および切替え信号を発生する。 停止および切替え信号に対するプロセッサ0101の応動は第9図に論理流れ図 として示されている。ブロック500における停止および切替え信号の発生は保 守チャネル104aに応動して行われ、ブロック501中に示すように他のプロ セッサ1102に対するMRF呼び出しが実行されることになる。停止および切 替え信号はまたブロック502中に示すように障害を起したプロセッサ0101 を停止させる。 第8図の考察に戻ると、保守チャネル10◆aが他のプロセッサ1102にMR F呼び出しを発生するとき、MRFはプロセッサ1102が不活性状態であると きのみプロセッサ1上に呼び出さ扛る。不活性なプロセッサlであると、MRF 呼び出しはMRF呼び出し要求のプロセッサ1102の障害回復ソフトウェアの 告示となる。プロセッサ1102の障害回復ソフトウェアはプロセッサ0101 の以前の状態の関数として応動する。プロセッサ0101がMRF’iプロセッ サ1102上に呼び出したときプロセッサ0101が活性状態にあると、プロセ ッサ1102の障害回復ソフトウェアはプロセッサ1102に対するハード的収 束を実行することによシ応動する。 ハード的収束のプロセスは第15図と関連して議論する。 しかしプロセッサ0101が不活性状態であると、プロセッサ1102の障害回 復ソフトウェアはプロセッサ0101が障害を起していると見做し、従ってプロ セッサ0101をサービスから取シ除く。プロセッサ除去のプロセスは第11図 と関連して議論する。 ハードウェア・インタラブドが致命的な障害を・指示しない場合、このハードウ ェア・インタラブドは影響を受けたプロセッサ0101において誤りの型に依存 して適当なしノベルのソフトウェア・インタラブドに変換さ1.ム同様に、障害 がプロセッサ0101のソフトウェア中で検出されると、影響?受は念プロセッ サ0j01において適当なレベルのソフトウェア・インタラブドが発生されるこ とになる。 ソフトウェア・インタラブドは影響金受けたプロセッサ0101のマイクロコー ドによって応動される。マイクロコー・ドはプロセッサ0101のソフトウェア に対する障害のインパクトを調べる。すべてのインタラブドがマスクされ、プロ セッサ0101の障害回復機能が現在実行されていること金示す場合、MRFに 対する呼び出しが障害を起したプロセッサ0101上で行われる。MRFは第6 および7図に示すようにプロセッサ0101のISCビットの値の関数として障 害に応動する。 マイクロコードて対するすべてのインタラブドがマスクされていない場合には、 インタラブドは影響全党けたプロセッサ0101の障害回復ソフトウェアに対す る誤りインタラブド全発生させる。 これに応動して、影響を受けたプロセッサ0101の障害回復プログラムは適当 な誤9カウンタ(図示せず)を更新、即ち増加させ、その状態を調べる。カウン タの更新により指定された閾値計数値を越すと、障害回復機構はシステム100 め構成のソフト的変更全試みる。実行されるソフト的変更の型はシステム100 の現在の構成の関数である。システム100が活性−活性構成であると、試みら れるソフト的変更は他のプロセッサ102に対するソフト的収束である。ソフト 的収束のプロセスは第13図と関連して議論する。システム100が活性−待機 構成であると、ソフト的変更は他のプロセッサ102に対するソフト的切替えで ある8ソフト的切替えのプロセスは第14図と関連して議論する。 試みられたソフト的変更が失敗に終ると、影響を受けたプロセッサ0101の障 害回復ソフトウェアは他のプロセッサ1102に対するハード的変更を試みる。 実行されるハード的変更の型はシステム10Gの現在の構成の関数である。シス テムが活性−活性構成にあると、試みられるハード的変更は他のプロセッサ11 02に対するハード的収束である。ハード的収束のプロセスについては第15図 と関連して議論する。システム100が活性−待機構成であると、ハード的変更 は他のプロセッサ1102に対するハード的切替えとなる。ハード的切替えのプ ロセスについては第16図と関連して議論する。 ソフト的変更が成功すると、現在残りの活性状態にあるプロセッサ1102上で 実行されている障害回復プログラムはソフト的変更のオペレーティング・システ ム核を通知する。 ソフト的変更の核の通知後、あるいはカウンタの更新によっても指定された閾値 計数値を越さない場合、障害回復プログラムは障害に関して集められた情報を調 べ、システム100のソフトウェアが障害によって影響を受けたかどうかを決定 する。ソフトウェアが影響を受けない場合には、核がその上で実行さitている プロセッサはシステム・タスクの実行を再開する。ソフトウェアが影響全党ける と、障害回復プログラムはまた核に対し障害に関して集めた情報を知らせる。 前述の議論が示すように、障害に関する情報が提供さnた核はプロセッサの変更 が成功裡に行われたか否かに依存して障害を起したプロセッサ0101または他 方のプロセッサ1102上で実行さnる。核は障害回復プログラムから受信され 念情報金調べて核そn自身が障害によって影響を受けたかどうか、あるいけ他の 核でないプログラムがそれKよって影響を受けたかどうかを決定する。核が七扛 自身障害によって影響を受けたと決定すると、核は障害回復全要求し、核を実行 しているプロセッサ上にMRF−i呼び出す。呼び出し源はMRFから見るとシ ステム・ソフトウェアであるように見える。(即ちMRFに対する手動要求では ない。)従ってMRFはそれが呼び出されたプロセッサのISCビット211お よび212の指令に従って応動する。 核がそれ自身障害てよって直接影響されなかったと決定すると、核は他のどのプ ログラムが障害によって影響されたかを決定する。影響を受けたプログラムが障 害エントリ・ポイントを有していないと、該プログラムは核によって終了される 。影響されたプログラムが障害エントリ・ポイントを有している場合、該プログ ラムは核の指示によシその障害エントリ・ポイントよ夕実行さnる。 障害エントリ・ポイントから入った後、プログラム(はそれ自身全清掃する。即 ち障害の影響を回復する。このダラムがそれ自身システム資源に対する制at有 しておシ、その資源はシステムの初期化によってのみ回復し得るものと決定する と、該プログラムはシステムの障害回復プログラムに対し該プログラムが実行さ れているプロセッサ上にMRF i呼び出すこと全要求する。MRFに対する呼 び出し源は尚MRFにとってはシステム・ソフトウェアであると見做さnている ので(即ちMRFK対する手動要求ではない)、MRFはその上に呼び出された プロセッサのISCビット211および212の指令に従って応動する。 システムの障害回復の一部として自動的に実行さnた前述の構成の変化はシステ ム100が行う唯一の構成変化ではない。例えばシステム100はサービス金し ていないプロセッサが活性となる状態にあると決定する診断に応動して活性−非 サービス構成から活性−待機構成の如き他の自動変更も行い得る。活性−待機か ら活性−活性状態への変化、またはその逆はプログラムの要求に応動して行われ 得る。そしてシステム1oouシステム100のオペレータにより手動で加えら れたコマンドに応動して要求されるどのような変更も行い得る。第2図の種々の 状態変化中に含まれている動作については次に述べる。 先に述べた如く、システム100は電源投入時活性/非サービス(OO8)状態 5または6となる。システム100ハ活性/非サービス状態5または6から活性 −待機状態3または4に2つの方法の内のいずj、かの方法で遷移する。まず第 1に活性状態にあるプロセッサは周期的に検査プロセスおよび他の診断プロセス を非サービス状態のプロセッサ上で実行17てそのプロセッサの状態全決定する 。非サービス状態のプロセッサが診断を通過し、該プロセッサが待機状態となり 得ることが示さnると、復旧コマンドが自動的に活性状態にあるプロセッサに与 えらr2る。そして第2に、活性状態にあるプロセッサは手動コマンドを受信し て非サービス状態にあるプロセッサを復旧することが考えら扛る。復旧には非サ ービス状態のプロセッサを待機状態に遷移ζせること金含んでいる。 復1日のプロセスは第10図に論理図として示さnている。 第10図に示すように、ブロック600に示すように復旧指令全受信すると、活 性状態にあるプロセッサ(例えばプロセッサ0101はプロセッサECD200 の適当なインディケータ218および220(第5図参照)を検査し、ブロック 601に示すよう例システム構成が本当に活性/非サービス状態にあるかどうか を確認する。 もしそうでない場合には活性状態にあるプロセッサ0101はブロック602に 示すように誤シメッセージを発生する。システムの構成が活性/非サービスであ ると、活性状態にあるプロセッサ0101は次に第5図に示すようにSSRのフ ラグ・ビットとして実現されたインディケータ209をセットし、主記憶更新回 路115および125全してブロック603に示すように主記憶装置114およ び124の更新全再開させる。 更新能力の復旧に続いて、活性状態にあるプロセッサ0101はこの能力を使用 してブロック804に示すようにその主記憶114の内容を他のプロセッサ11 02の主記憶124中にコピーする。このようにして主記憶114と124の内 容は同一となる。次に活性状態にあるプロセッサ0101はブロック605に示 すように待機状態にあるプロセッサ1102の準備を整える。この準備には待機 状態にあるプロセッサ1102上におけるパリティ検査の如きテストの実行が含 まれており、これによって待機中のプロセッサ1102が活性状態となり得る状 態にあることが確認される。待機中のプロセッサ1102が前記の準備を整える テストに失敗すると(ブロック606)、活性状態にあるプロセッサ0101は ブロック607に示すように復旧を中止する。復旧の中止は例えば再び主記憶更 新ユニット115および125が主記憶114および124を更新を中止させ、 システム100のオペレータにエラー・メツセージを発すること金含んでいる。 待機中のプロセッサ上102がブロック606において前記の準備を整えるテス トに合格すると、活性状態にあるプロセッサ0101ばECDに入り、適当なイ ンディケータ218および219の[’zffi更することにより他方、即ち非 サービス状態のプロセッサ1102をブロック608中に示すように待機状態と してマークする。プロセッサ1102の待機状態に対する復旧は完了し、活性プ ロセッサ0101はブロック609に示すようにその活動を継続する。 復旧プロセスの逆は除去プロセスでオシ、該プロセスはシステム100の状態3 筐几は4から状態5または6への遷移を含んでいる。除去プロセスは待機状態に あるプロセッサを除去して非サービス状態とする。このプロセスは第11図に論 理図として示されている。 第11図゛に示すように、除去コマンド、即ち要求を受信すると(ブロック70 0 )、活性状態にあるプロセッサ、例えばプロセッサ0101はECDのイン ディケータ219および220によって記憶された情報全チェックし、ブロック 701に示すようにシステムの構成が本当に活性−待機状態であるかどうかが確 認される。システム構成が活性−待機状態にないと、活性状態にあるプロセッサ 0101はブロック702に示すようにエラー・メツセージを出力する。システ ム構成が活性−待機状態であると、活性状態にあるプロセッサ0101は再びE CDに入り、ブロック703に示すようにその中に他方、即ち待機中のプロセッ サ1102が非サービス状態であることを示す情報を記憶させる。次に活性状態 にあるプロセッサ0101はSSHのインディケータ209をリセットし、ブロ ック704に示すように主記憶更新回路115および125全して夫々の主記憶 114および124の他方の主記憶中に加えられた情報による更新を中止させる 。次に活性状態にあるプロセッサ0101はブロック705に示すようにその活 動を継続する。除去プロセスは実行プログラムに対しては完全にトランスペアレ ント(透明)である。何故ならば除去さnたプロセッサ上ではプログラムは実行 さnていなかったからである。 収束モード10の活性−待機状態3または4から夫々発散モード11の活性−活 性状態1または2への遷移が第12図に論理図として示さnている。 発散コマンドを受信すると(ブロック800 )、活性状態にあるプロセッサ、 例スばプロセッサ0101はECDにアクセスし、ブロック801に示すように システム100が活性−待機構成にあることを検証する。システム100が活性 −待機構成されていないと、活性状態にあるプロセッサ0101はブロック80 2に示すようにエラー・メツセージを発生する。システム100がブロック80 1に示すように適当に構成されていることが見出されると、活性状態におるプロ セッサ0101はブロック803に示すように他のプロセッサ1102に対する 必要なオペレーティング・システムの構造を生成し、他方のプロセッサ1102 がオペレーティング・システムのそれ自身のバージョンを実行する準備を整える 。第4図に示すように、これはせグメント・チー・プルおよびデータのコピーの 生成および第2のインタラブド・スタックおよびディスパッチ・キュー311の 生成を含んでいる。 第12図に戻ると、活性状態にあるプロセッサ0101は次にブロック804に 示すように障害回復プログラムのシャドウを生成する。シャドウとはシステム1 00においてプロセッサ毎に実行されねばならない活動を実行する障害回復プロ グラムの部分コピーでおる。システム全体として実行する必要のある動作(例え ば正常さを示すタイマの保守)は主プロセツサo10L即ち現在活性状態にある プロセッサの障害回復プログラムによって実行され、シャドウ(これは2次プロ セッサ1102上で実行される)から除外される。 シャドウの生成に続いて、活性状態にあるプロセラササ1102を周知の初期化 された状態とする。活性状態にあるプロセッサ0101はまたブロック806に 示すようにISCビット211および212のアイドル状態を“1.1’から“ 10#に変更し、予期される活性−活性プロセッサ構成を反映させる。活性状態 におるプロセッサ0101は次に保守チャネル104を使用して他方のプロセッ サ1102上でテスト・ルーチンを実行させ(ブロック807 )、他方のプロ セッサ1102が活性状態となり得る状態にあることを検証する。他方のプロセ ッサ1102がテストに失敗すると(ブロック808)、活性状態にあるプロセ ッサ0101はブロック809に示すように発散プロセスを中止する。発散プロ セスの中止は例えばインタラブド・スタックお:びディスパッチ・キュー311 および他方のプロセッサ1102のために生成された他の構造の除去、障害回復 プログラムのシャドウの終了、ISCビット211および212のアイドル状態 を“11″にリセットすることおよびシステム1000オペレータに対するエラ ー・メツセージを発生することを含んでいる。 他方のプロセッサ1102がブロック808においてテストに合格すると、活性 状態にあるプロセッサ0101はブロック810に示すようにシャドウを他方の プロセッサ1102のディスパッチ・キューに移す。OPP IR線路105a を使用することによって、活性状態にあるプロセッサo101は他方のプロセッ サ1102中でインタラブドを発生させ、これはブロック811に示すように他 方のプロセッサ1102上で実行されるシャドウとなる。シャドウが他方のプロ セッサ1102中で障害を見出したと報告すると(ブロック812)、活性状態 にあるプロセッサ0101はブロック813に示すように再び発散を中止させる 。シャドウが他方のプロセッサ1102中に障害が無いと報告すると(ブロック 812)、活性状態にあるプロセッサ0101はブロック814に示すように2 つのプロセッサのディスパッチ・キューを発散させる。ディスパッチ・キューの 発散はいくつかのタスクを活性状態にあるプロセッサ0101のディスパッチ・ キューから他方のプロセッサ1102のディスパッチ・キューに転送することを 含んでいる。 各タスクは主プロセツサと2次プロセッサのいずれの上で実行されることが好ま しいを示す情報を有していても良く、活性状態にあるプロセッサ0101はこの 情報に基づいてディスパッチ・キューを発散させる。 ディスパッチ・キューの発散につづいて、活性状態にあるプロセッサ010’l は再び0PPIR線路105aを使用してブロック815に示す↓うに他方のプ ロセッサ1102の動作を開始させる。元々活性状態にあるプロセッサO↑01 は主プロセツサに留まり、以前に待機状態にあったプロセッサ1102は2次プ ロセッサとなる。このようにして発散プロセスは完了し、主プロセツサ0101 はブロック816に示すようにその正規の処理動作を再開する。 発散モード11の状態1お工び2から、システム100はソフト的収束プロセス によって活性−待機状態3または4に戻される。システム100は主プロセツサ または2次プロセッサにソフト的に収束し得る。2つのソフト的収束プロセスは 実質的に同一であり、両者は第11図に論理図として示されている。 ソフト的収束指令を受信すると(ブロック900)、指令を受信するプロセッサ (例えばプロセッサ0101)はブロック901に示すようにプロセッサ101 および102の内子゛活性状態となる方のディスパッチ・キュー上に収束プログ ラムを配置する。この立ち退くプロセッサはプロセッサ101および102のい ずれでらっても良く、従ってプロセッサ0101は収束プログラムをそれ自身ま たは他方のプロセッサのディスパッチ・キュー上に配置することが出来る。例え ば、プロセッサ0101がそれ自身に収束しているとき、該プロセッサは収束プ ログラムを他方のプロセッサ1102のディスパッチ・キュー上に配置する。プ ロセッサ0101は次にブロック902に示すようにその処理動作を継続する。 収束プログラムはシステム100における最も優先度の低いタスクでらる。その 結果、該プログラムは、立ち退くプロセッサ上の他のプログラムがインタラブド 即ち実行の途中に停止されて実行の継続を待機している状態にないときにのみ、 立ち退くプロセッサ上で実行される。このようにして、収束プログラムの実行が 開始されると、エリ優先度の高いプログラムによってインタラブドされていたよ り優先度の低いプログラムは存在せず、従って立ち退くプロセッサのインタラブ ド・スタックは空であることが保証される。インタラブド・スタ゛ククはごく普 通のものでおって、インタラブドされたプログラムの実行を再開するために必要 な情報を記憶するだめのFUFOで動作する記憶領域でちる。 ブロック903において実行が開始されると、収束プログラムは立ち退くプロセ ッサをしてECDにアクセスさせ、ブロック904に示す↓うにシステムが活性 −活性構成にあることを検証させる。システムの構成が活性−活性でないと、収 束プログラムはブロック905に示す↓)にエラー・インデイケ・−ジョンを発 生させる。この時点で収束プログラムは終了し、システム100け他のプログラ ムの実行を継続する。 システムの構成が活性−活性であることが見出されると(ブロック904 )、 収束プログラムはブロック906に示すようにそれが実行されているプロセッサ 、即ち立ち退くプロセッサ上に核収束プログラムを急派する。収束プログラムは またブロック906に示すように核収束プログラムの実行優先度レベル金最高レ ベル(C上げる。 これに工り一度核収束プログラムが実行を開始すると、この核収束プログラムが インタラブドされて、他のタスクにとってかわられることがないことが保証され る。 核収束プログラムが立ち退くプロセッサ上で実行されるとき、該核収束プログラ ムはブロック907に示すように0PPIR105を介して他のプロセッサにイ ンタラブドを送信する。次に核収束プログラムはブロック908に示すように立 ち退くプロセッサを停止させる。 ブロック910において立ち退くプロセッサから受信するインタラブドに応動し て、他方の活性状態におるプロセッサはブロック911中に示す↓うにプロセッ サのISCビット211および212のアイドル状態を“10″から“11″′ に変更し、活性−不活性プロセッサ構成を反映させる。次に残りの活性状態にあ るプロセッサはブロック912に示す工うに2次プロセッサのディスパッチ・キ ューから主プロセツサのディスパッチ・キューにナベてのタスクをyすことによ り2つのプロセッサのディスパッチ・キューを収束させる。障害回復プログラム のシャドウは最早不要であり、ブロック913に示すように残りの活性状態にち るプロセッサはシャドウを終了させる。 ここでブロック914に示す工うに主プロセツサに対するソフト的収束と2次プ ロセッサに対するソフト的収束とは異なる。要求された収束が2次プロセッサに 対するものでbると、残りの活性状態にあるプロセッサは2次プロセッサであり 、該プロセッサはブロック915に示すようにインディケータ21Gにアクセス してプロセッサ101および102のアイデンティティを切替える。 前に主プロセツサで多つた停止されたプロセッサは現在は2次プロセッサとなり 、以前2次のプロセッサでめった残りの活性状態にるるプロセッサは現在主プロ セツサとなる。 プロセッサのアイデンティティの変更に続いて(即ち要求された収束が主プロセ ツサに対するものである場合)、残りの活性状態にあるプロセッサはプロセッサ はECDに入り、インディケータ219および22Gにアクセスして、ブロック 916中に示すようにシステム100が現在活性−待機状態3または4にあるこ とを示す情報をその中に記憶させる。次に残りの活性状態にあるプロセッサはシ ステム100の動作を継続する。 状態3または4の活性−待機構成にあっては、プロセッサ101および102は 状態が切替えられる。ソフト的切替えにより実行中のプロセスまたは現在進行中 の入出力動作に対してはトランスペアレントな仕方で一方のプロセッサから他方 のプロセッサにシステムの活動が切替えられる。ソフト的切替えは第14図に論 理図として示されている。 ソフト的切替え要求を受信すると(ブロック1000)、活性状態にあるプロセ ッサ(例えばプロセッサ0101)はブロック1001に示すようにECDにア クセスしてシステム100の構成が活性−待機状態であるかどうか決定する。も しそうでない場合には、活性状態にあるプロセッサ0101はブロック1002 に示すようにシステム100のオペレータにエラー・メツセージを発スる。 システム100の構成が活性−待機状態であると、活性状態にあるプロセッサ0 101は正規のタスクの実行を停止してブロック1003に示すように活性状態 にらるプロセッサ0101の状態を凍結させる。次にプロ・セツスしてブロック 1004に示す工うにその内部プロセッサ状態を決定する。以前活性状態にあっ たプロセッサ0101の初期プロセッサ状態が一度決定されると、プロセッサ0 101はブロック1005に示すように保守チャネル104を使用して他方のプ ロセッサ1102を前記内部プロセッサ状態にセットする。この操作にはプロセ ッサ1102のインディケータ200をプロセッサ0101の相応するインディ ケータ200によって保持されている状態にセットすることが含まれており、従 ってプロセッサ1102は主プロセツサとなる。次にプロセッサ0101はブロ ック1006に示すように他方のプロセッサ1102に開始を告げるコマンドを MTC)(104aを介して送信する。他方のプロセッサ1102は正規のシス テム処理活動を以前活性状態にあったプロセッサ0101が活動を停止した地点 から引き継ぎ、ブロック1007に示すようにプロセッサ0101は停止し、待 機状態となる。 ブロック1100においてハード的収束指令を受信すると、この指令を受け取っ た残りの活性状態にあるプロセッサ(例えばプロセッサo101)はそのSSR のインディケータ209をリセットし、ブロック1101に示す↓うにそのMA SUl 15をして他方のプロセッサの主記憶124の更新を中止させる。プロ セッサ0101はまたプロセッサのISCビット211お↓び212のアイドル 状態をブロック1102に示j、cうに”10’から“11″に変化させ、予期 される活性/非サービスプロセッサ構成を反映する。次にプロセッサ0101は ECDに入り、その中でブロック1103に示すように他方の停止したプロセッ サ1102を非サービス状態とマークする。 ・次に、活性状態にあるプロセッサo101はブロック1105に示すように2 次プロセッサのディスパッチ・キューからのすべてのタスクを主プロセツサのデ ィスパッチ・キューに移すことにより主お↓び2次プロセッサのディスパッチ・ キュー全収束させる。主プロセツサはプロセッサ101お;び102のいずれて らってもよく、従ってプロセッサ0101はディスパッチ・キューをそれ自身ま たはプロセッサ102のディスパッチ・キューに収束させる。活性状態にあるプ ロセッサ0101は次に適当なインディケータをセットする如きステップを実行 シフ、ブロック11Ci6中に示すようにすべてのプロセスを実行前に再初期化 状態とする。障害回復プログラムのシャドウは後続の収束では必要でなく、従っ て活性プロセッサ0101はブロック110γに示すようにシャドウを終了する 。 この時点においてブロック1108に示すように、主プロセツサに対するハード 的収束と2次プロセッサに対するハード的収束は異なる。活性状態におるプロセ ッサ0101が2次プロセッサであると、実行されているプロセスは2次プロセ ッサに対するハード的収束であり、活性状態にあるプロセッサ0101はインデ ィケータ209にアクセスしてプロセッサ・アイデンティティを切替え、それ自 身を主プロセツサとする(ブロック1109)。 プロセッサ・アイデンティティの切替えに続いて(即ち活性状態にあるプロセッ サ0101が主プロセツサであり、従ってハード的収束プロセスは主プロセツサ に対するものであるとき)、活性状態にあるプロセス0101はECDに入り、 ブロック1110に示すようにその中にシステムの新らしい活性/非サービス状 態を示す情報を記憶する。次にプロセッサ0101はブロック1111に示すよ うに正規のシステム処理活動を継続する。 システム100は状態3または4の活性−待機構成から状態6または5の非サー ビス/活性構成にハード的切替えを行う。システム100はまた活性/非サービ ス状態5お工び非サービス/活性状態6の間で状態を切替え、以前に非サービス 状態てらったプロセッサを活性状態、即ちオンラインとし、以前に活性状態であ ったプロセッサを非サービス状態、即ちオフラインとする。ハード的切替えおよ び強制オンライン/強制オフラインプロセスは共に同様なステップを含んでいる 。両方のプロセスは第14図に論理図として示されている。 ブロック1200においてハード的切替えまたは強制オンライン/強制オフライ ン指令を受信すると、以、前不活性状態で6ったプロセッサ(例えばプロセッサ 0101)は、ブロック1201に示す工うに活性化され、それ自身初期化され る。初期化のレベルは第6および7図と関連して以前に議論した如き基本レベル である。この時点において他方の以前活性状態であったプロセッサ1102は不 活性状態であす、ハード的切替え、またはF ON L/FOFLプロセス(第 8図参照)の実行に導いた停止および切替え信号によって停止された状態にるる 。活性化されたプロセッサo101はまた適当なインディケータをセットする如 きステップを実行し、ブロック1202に示すように実行前にすべてのプロセス を初期化させる。 ブロック1203に示すように、次にプロセッサ0101はシステム100の活 性状態にあるプロセッサとして活動を開始する。活性状態にあるプロセッサ01 01はECDに入り、ブロック1204に示すように現在のシステムの構成を示 し、現在不活性でろるプロセッサ1102を非サービス状態であるとマークする 情報をその中に記憶させる。次に活性状態にるるプロセッサ0101はブロック 1205に示すように正規のシステム・タスクの実行を継続する。 もちろん、前述の図示の実施例に対し種々の変更および変形を加え得ることは当 業者にあっては明白である。 例えば、不発明は任意の適当な処理システム上で実現することが出来る。このよ うな変更および菱形は本発明の精神および範囲を逸脱することなく、またその付 随する利点を損うことなく実現し得る。従って、そのような変更および変形は別 記の特許請求の範囲に含まれる。 八46 F渥7 ゛ Fπ夕 62に l7ζI んてB Fにl bてI □/6 国際調査報告 1m、11eaa’ h−es=n N11. PCT/US 8510093 6

Claims (8)

    【特許請求の範囲】
  1. 1.処理システムにおいて、該処理システムは:第1および第2のプロセツサ( 101、102)と;第1のプロセツサ中に含まれる第1のメモリ(MASUO )と第2のプロセツサ中に含まれる第2のメモリ(MASUI)と; 第1および第2のメモリを相互接続する更新バス(103)とを含み; 前記更新バスは各メモリを更新し、内容の変更は他方のメモリ中で行なわれ、そ れによつて第1および第2のメモリが同じ内容を有するようにし; プロセツサはある条件に応動して自動的に第1(10)および第2(11)の動 作モードの一方から他方にシステムの動作を変更し、第1のモードにあつては両 方のプロセツサは活性状態にあり、各々は互いに他とは独立に第1および第2の タスク・グループの内の異なる一方から選択されたタスクを実行し、第2の動作 モードにあつては2つのプロセツサの内選択されたものは不活性状態であり、プ ロセツサの他方は活性状態であつて第1および第2のタスクの両方から選択され たタスクを実行することを特徴とする処理システム。
  2. 2.請求の範囲第1項に記載の処理システムにおいて、前記ある条件は手動およ びプログラム・コマンドならびに第1および第2の型のシステム障害状態より成 ることを特徴とする処理システム。
  3. 3.請求の範囲第1項に記載の処理システムにおいて、第2のモードにある不活 性状態のプロセツサはタスクの実行の準備が出来た状態で待機しており;プロセ ツサは: 選択されたプロセツサを選択的に開始および停止させる回路を含み、 デイスパツチ・キユー(310、311)、システムステータス・インデイケー タ(第4図)およびチヤネル(OPPIRおよびMTCH)はプロセツサと協同 動作して一方のプロセツサが停止しているとき第1および第2のグループのタス クを実行するべく活性プロセツサに割当て、両方のプロセツサが活性状態にある とき第1のグループのタスクを一方のプロセツサに、第2のグループのタスクを 他方のプロセツサに割当てることを特徴とする処理システム。
  4. 4.請求の範囲第3項に記載の処理システムにおいて、第1のグループおよび選 択的に第2のグループからのタスクを同定する活性状態にあるプロセツサと関連 する第1のデイスパツチ・キユーと; 第2のグループのタスクを同定する第2の活性状態にあるプロセツサと関連する 第2のデイスパツチ・キユーとを含み、 該デイスパツチ・キユー(310、311)、システム・ステータス・インデイ ケータ(第4図)およびチヤネル(OPPIRおよびMTCH)は1つのプロセ ツサが停止したとき第1および第2のデイスパツチ・キユーを収束させ、両方の プロセツサが活性状態になつたとき第1および第2のキユーを発散させることを 特徴とする処理システム。
  5. 5.請求の範囲第1項に記載の処理システムにおいて、該システムは更に: 第1および第2の周辺デバイスと; 第1の周辺デバイスと第1および第2のプロセツサの間に介在配置され、第1の 周辺デバイスを第1および第2のプロセツサの一方と選択的に接続する第1のコ ントローラと; 第2の周辺デバイスと第1および第2のプロセツサの間に介在配置され、第2の 周辺デバイスを第1および第2のプロセツサの1つと選択的に接続する第2のコ ントローラを含むことを特徴とする処理システム。
  6. 6.第1および第2のプロセツサと、該第1のプロセツサ中に含まれる第1のメ モリと、第2のプロセツサ中に含まれる第2のメモリとを含み、該第1および第 2のメモリは障害回復プログラムおよび実行すべきプログラムのアイデンテイテ イを保持する第1のデイスパツチ・キユーを含むプログラムを含む同じ内容を有 しており、更に第1および第2のメモリを相互接続する装置を含み、それによつ て内容の変更は他方のメモリ中で行なわれるという形で、各メモリを、第2のプ ロセツサが不活性状態であり、第1のプロセツサが活性状態であり、第1のデイ スパツチ・キユーによつて同定されたプログラムから選択されたプログラムを実 行している第1の状態から、第1および第2のプロセツサの内の異なる一方によ つて実行されるべきプログラムのアイデンテイテイを各々保持している第1およ び第2のデイスパツチ・キユーが存在し、両方のプロセツサが活性状態にあり、 夫々のデイスパツチ・キユーによつて同定された各々のプログラムとは独立に実 行している第2の状態に更新する処理システムのシステム動作を自動的に変更す る方法において、該方法は: 第2のプロセツサによつて実行されるべきプログラムを同定する第2のデイスパ ツチ・キユーを生成し;障害回復プログラムの選択された部分より成るシヤドウ 障害回復プログラムを生成し; 第2のプロセツサを周知の状態に設定し;シヤドウ障害回復プログラムのアイデ ンテイテイを第2のデイスパツチ・キユー中に配置し;シヤドウ障害回復プログ ラムを第2のプロセツサ上で実行し; 第2のプロセツサによつて実行すべきプログラムのアイデンテイテイを第1のデ イスパツチ・キユーから第2のデイスパツチ・キユーに転送し; 第2のプロセツサを開始させて第2のデイスパツチ・キユーによつて同定された プログラムを実行し;第1のデイスパツチ・キユーによつて同定されたプログラ ムの第1のプロセツサによる実行を継続するステツプより成ることを特徴とする 方法。
  7. 7.両方のプロセツサが活性状態にあり、夫々のデイスパツチ・キユーによつて 同定された各々のプログラムとは独立に実行する第1の状態から、第2のプロセ ツサはプログラムの実行の準備が出来た状態で待機しており、第1のプロセツサ は活性状態にあり、第1のデイスパツチ・キユーによつて同定されたプログラム から選択されたプログラムを実行する第2の状態にシステムの動作を自動的に変 更する第6項に従う方法において、該方法は:第1のプログラムのアイデンテイ テイを第2のプロセツサのデイスパツチ・キユー中に配置し;インタラプトされ たプログラムが第2のプロセツサのデイスパツチ・キユーによつて同定されない ときにのみ第1のプログラムの実行を開始し; 第1のプログラムの実行に応動して第2のプログラムをインタラプトすることな く第2のプロセツサ上で実行させ; 第2のプログラムの実行に応動して第1のプロセツサをインタラプトし; 第2のプロセツサを停止させ; インタラプトに応動してプログラムのアイデンテイテイを第2のデイスパツチ・ キユーから第1のデイスパツチ・キユーに移し; シヤドウ障害回復プログラムのアイデンテイテイを第1のデイスパツチ・キユー から取り除き;インデイケータ装置をチエツクして第1のプロセツサが主プロセ ツサであるかどうかを決定し;第1のプロセツサが主プロセツサでない場合、イ ンデイケータ装置を変更してプロセツサを切替え;第1のデイスパツチ・キユー によつて同定されたプログラムを第1のプロセツサ上で実行することを継続する ステツプより成る方法。
  8. 8.両方のプロセツサが活性状態で、夫々デイスパツチキユーによつて同定され た各々のプログラムとは独立に実行を行う第1の状態から、第2のプロセツサが 非サービス状態で、第1のプロセツサが活性状態で、第1のデイスパツチ・キユ ーによつて同定されたプログラムから選択されたプログラムを実行している第2 の状態にシステム動作を自動的に変化させる第6項に従う方法であつて、該方法 は: 第2のプロセツサを停止させ; メモリ更新装置をデイスエイブルし; プログラムのアイデンテイテイを第2のデイスパツチキユーから第1のデイスパ ツチ・キユーに移動させ;第1のデイスパツチ・キユーによつて同定されたプロ セスを初期化し; シヤドウ障害回復プログラムのアイデンテイテイを第1のデイスパツチ・キユー から取り除き;インデイケータ装置をチエツクして第1のプロセツサが主プロセ ツサとなつているかどうかを決定し;インデイケータ装置を変更してもし第1の プロセツサが主プロセツサでない場合にはプロセツサの役害を切替え; 第1のデイスパツチ・キユーによつて同定された第1のプロセツサのプログラム の実行を継続するステツプより成ることを特徴とする方法。
JP60502170A 1984-06-22 1985-05-17 再構成可能なデュアル・プロセッサ・システム Expired - Lifetime JP2552651B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US623481 1984-06-22
US06/623,481 US4823256A (en) 1984-06-22 1984-06-22 Reconfigurable dual processor system

Publications (2)

Publication Number Publication Date
JPS61502223A true JPS61502223A (ja) 1986-10-02
JP2552651B2 JP2552651B2 (ja) 1996-11-13

Family

ID=24498241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60502170A Expired - Lifetime JP2552651B2 (ja) 1984-06-22 1985-05-17 再構成可能なデュアル・プロセッサ・システム

Country Status (7)

Country Link
US (1) US4823256A (ja)
EP (1) EP0185704B1 (ja)
JP (1) JP2552651B2 (ja)
KR (1) KR860700302A (ja)
CA (1) CA1232688A (ja)
DE (1) DE3583430D1 (ja)
WO (1) WO1986000439A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008518298A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 複数のコンポーネントを有する計算機システムで信号を生成するための方法および装置

Families Citing this family (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2886856B2 (ja) * 1986-04-09 1999-04-26 株式会社日立製作所 二重化バス接続方式
US5128943A (en) * 1986-10-24 1992-07-07 United Technologies Corporation Independent backup mode transfer and mechanism for digital control computers
US5341482A (en) * 1987-03-20 1994-08-23 Digital Equipment Corporation Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
EP0288648B1 (en) * 1987-04-22 1992-07-08 International Business Machines Corporation Adapter bus switch for improving the availability of a control unit
US4958273A (en) * 1987-08-26 1990-09-18 International Business Machines Corporation Multiprocessor system architecture with high availability
US5870602A (en) * 1987-11-03 1999-02-09 Compaq Computer Corporation Multi-processor system with system wide reset and partial system reset capabilities
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5121486A (en) * 1987-11-20 1992-06-09 Hitachi, Ltd Network control system for dynamically switching a logical connection between an identified terminal device and an indicated processing unit
US5317715A (en) * 1987-12-15 1994-05-31 Advanced Micro Devices, Inc. Reduced instruction set computer system including apparatus and method for coupling a high performance RISC interface to a peripheral bus having different performance characteristics
GB2217487B (en) * 1988-04-13 1992-09-23 Yokogawa Electric Corp Dual computer system
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4980819A (en) * 1988-12-19 1990-12-25 Bull Hn Information Systems Inc. Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
JP2865682B2 (ja) * 1988-12-23 1999-03-08 株式会社日立製作所 情報処理システム及び情報処理方法
NL193573C (nl) * 1989-04-04 2000-02-02 Yokogawa Electric Corp Duplex-computerstelsel.
US5086499A (en) * 1989-05-23 1992-02-04 Aeg Westinghouse Transportation Systems, Inc. Computer network for real time control with automatic fault identification and by-pass
US5202980A (en) * 1989-06-30 1993-04-13 Nec Corporation Information processing system capable of readily taking over processing of a faulty processor
JP2755437B2 (ja) * 1989-07-20 1998-05-20 富士通株式会社 通信制御プログラムの連続運転保証処理方法
US5068780A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones
US6463529B1 (en) 1989-11-03 2002-10-08 Compaq Computer Corporation, Inc. Processor based system with system wide reset and partial system reset capabilities
US5497497A (en) * 1989-11-03 1996-03-05 Compaq Computer Corp. Method and apparatus for resetting multiple processors using a common ROM
US5327553A (en) * 1989-12-22 1994-07-05 Tandem Computers Incorporated Fault-tolerant computer system with /CONFIG filesystem
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5317752A (en) * 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall
JP2846047B2 (ja) * 1990-03-29 1999-01-13 株式会社東芝 シャドウプロセス生成方式
US5271013A (en) * 1990-05-09 1993-12-14 Unisys Corporation Fault tolerant computer system
US5285203A (en) * 1990-06-05 1994-02-08 Matsuhita Electric Industrial Co., Ltd. Message transmission device, and a message transmission system and a message transmission status advising system using the message transmission device
JPH0496830A (ja) * 1990-08-15 1992-03-30 Hitachi Ltd 分散処理システムにおけるデータ管理方法
US5341496A (en) * 1990-08-29 1994-08-23 The Foxboro Company Apparatus and method for interfacing host computer and computer nodes using redundant gateway data lists of accessible computer node data
EP0472861B1 (en) * 1990-08-31 1995-09-20 International Business Machines Corporation Method and apparatus for cross-partition control in a partitioned process environment
DE69131840T2 (de) * 1990-09-18 2000-04-20 Fujitsu Ltd Verfahren zur Vervielfältigung eines geteilten Speichers
JPH04156641A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd レジスタアクセス装置
US5289578A (en) * 1990-11-09 1994-02-22 Foreign Exchange Transaction Services, Inc. Activation of a dormant sibling computer in a communication network by overriding a unique dormant node address with a common active node address
US5530949A (en) * 1991-03-19 1996-06-25 Fujitsu Limited Transmission equipment
US5701417A (en) * 1991-03-27 1997-12-23 Microstar Laboratories Method and apparatus for providing initial instructions through a communications interface in a multiple computer system
JP3189903B2 (ja) * 1991-06-03 2001-07-16 富士通株式会社 ケーパビリティの退避・復元機構を持つ装置
JP2677741B2 (ja) * 1991-10-03 1997-11-17 インターナショナル・ビジネス・マシーンズ・コーポレイション 自動貯蔵ライブラリ
GB2260631B (en) * 1991-10-17 1995-06-28 Intel Corp Microprocessor 2X core design
US5815651A (en) * 1991-10-17 1998-09-29 Digital Equipment Corporation Method and apparatus for CPU failure recovery in symmetric multi-processing systems
US5371872A (en) * 1991-10-28 1994-12-06 International Business Machines Corporation Method and apparatus for controlling operation of a cache memory during an interrupt
JP2505082B2 (ja) * 1991-12-19 1996-06-05 哲男 冨山 機能冗長系を備えた機械システム
JPH05191388A (ja) * 1992-01-14 1993-07-30 Fujitsu Ltd 通信処理システム
US5428769A (en) * 1992-03-31 1995-06-27 The Dow Chemical Company Process control interface system having triply redundant remote field units
EP0645033B1 (en) * 1992-06-12 1996-12-04 The Dow Chemical Company Intelligent process control communication system and method
US5398331A (en) * 1992-07-08 1995-03-14 International Business Machines Corporation Shared storage controller for dual copy shared data
US5671433A (en) * 1992-09-18 1997-09-23 Vadem Corporation Mappable functions from single chip/multi-chip processors for computers
US5485585A (en) * 1992-09-18 1996-01-16 International Business Machines Corporation Personal computer with alternate system controller and register for identifying active system controller
US5408647A (en) * 1992-10-02 1995-04-18 Compaq Computer Corporation Automatic logical CPU assignment of physical CPUs
US20020091850A1 (en) 1992-10-23 2002-07-11 Cybex Corporation System and method for remote monitoring and operation of personal computers
CA2107755C (en) * 1992-11-16 1998-07-07 Paul Elliott Janssen Telecommunication system with improved reconfiguration flexibility
US5790776A (en) 1992-12-17 1998-08-04 Tandem Computers Incorporated Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US5408649A (en) * 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
WO1995003580A1 (en) * 1993-07-20 1995-02-02 Vinca Corporation Method for rapid recovery from a network file server failure
US5600786A (en) * 1993-07-30 1997-02-04 Honeywell Inc. FIFO fail-safe bus
US5473771A (en) * 1993-09-01 1995-12-05 At&T Corp. Fault-tolerant processing system architecture
DE69435090T2 (de) * 1993-12-01 2009-06-10 Marathon Technologies Corp., Stow Rechnersystem mit Steuereinheiten und Rechnerelementen
KR960016648B1 (ko) * 1993-12-29 1996-12-19 현대전자산업 주식회사 커먼 컨트롤 중복 스위치 방법
US6061599A (en) * 1994-03-01 2000-05-09 Intel Corporation Auto-configuration support for multiple processor-ready pair or FRC-master/checker pair
US5625829A (en) * 1994-03-25 1997-04-29 Advanced Micro Devices, Inc. Dockable computer system capable of symmetric multi-processing operations
JP2790034B2 (ja) * 1994-03-28 1998-08-27 日本電気株式会社 非運用系メモリ更新方式
JP2679674B2 (ja) * 1994-05-02 1997-11-19 日本電気株式会社 半導体製造ライン制御装置
US5553232A (en) * 1994-06-13 1996-09-03 Bull Hn Informations Systems Inc. Automated safestore stack generation and move in a fault tolerant central processor
US5557737A (en) * 1994-06-13 1996-09-17 Bull Hn Information Systems Inc. Automated safestore stack generation and recovery in a fault tolerant central processor
JP3365581B2 (ja) * 1994-07-29 2003-01-14 富士通株式会社 自己修復機能付き情報処理装置
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5627962A (en) * 1994-12-30 1997-05-06 Compaq Computer Corporation Circuit for reassigning the power-on processor in a multiprocessing system
US5495569A (en) * 1994-12-30 1996-02-27 Compaq Computer Corp. Circuit for ensuring that a local interrupt controller in a microprocessor is powered up active
CA2167634A1 (en) * 1995-01-23 1996-07-24 Michael E. Fisher Method and apparatus for maintaining network connections across a voluntary process switchover
US5758132A (en) * 1995-03-29 1998-05-26 Telefonaktiebolaget Lm Ericsson Clock control system and method using circuitry operating at lower clock frequency for selecting and synchronizing the switching of higher frequency clock signals
US5864654A (en) * 1995-03-31 1999-01-26 Nec Electronics, Inc. Systems and methods for fault tolerant information processing
US5790791A (en) * 1995-05-12 1998-08-04 The Boeing Company Apparatus for synchronizing flight management computers where only the computer chosen to be the master received pilot inputs and transfers the inputs to the spare
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US5740350A (en) * 1995-06-30 1998-04-14 Bull Hn Information Systems Inc. Reconfigurable computer system
US5721842A (en) * 1995-08-25 1998-02-24 Apex Pc Solutions, Inc. Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch
US5712971A (en) * 1995-12-11 1998-01-27 Ab Initio Software Corporation Methods and systems for reconstructing the state of a computation
JP3247043B2 (ja) 1996-01-12 2002-01-15 株式会社日立製作所 内部信号で障害検出を行う情報処理システムおよび論理lsi
US6311265B1 (en) 1996-03-25 2001-10-30 Torrent Systems, Inc. Apparatuses and methods for programming parallel computers
US5915082A (en) * 1996-06-07 1999-06-22 Lockheed Martin Corporation Error detection and fault isolation for lockstep processor systems
US5999997A (en) * 1996-07-26 1999-12-07 Compaq Computer Corporation Two computers cooperating via interconnected busses
US5790397A (en) 1996-09-17 1998-08-04 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US6330008B1 (en) * 1997-02-24 2001-12-11 Torrent Systems, Inc. Apparatuses and methods for monitoring performance of parallel computing
US5896523A (en) * 1997-06-04 1999-04-20 Marathon Technologies Corporation Loosely-coupled, synchronized execution
US6061807A (en) * 1997-06-27 2000-05-09 International Business Machines Corporation Methods systems and computer products for error recovery of endpoint nodes
US6304895B1 (en) 1997-08-22 2001-10-16 Apex Inc. Method and system for intelligently controlling a remotely located computer
US20010044843A1 (en) * 1997-10-28 2001-11-22 Philip Bates Multi-user computer system
US6014757A (en) * 1997-12-19 2000-01-11 Bull Hn Information Systems Inc. Fast domain switch and error recovery in a secure CPU architecture
US6067633A (en) * 1998-03-31 2000-05-23 International Business Machines Corp Design and methodology for manufacturing data processing systems having multiple processors
US6189112B1 (en) * 1998-04-30 2001-02-13 International Business Machines Corporation Transparent processor sparing
US6115829A (en) * 1998-04-30 2000-09-05 International Business Machines Corporation Computer system with transparent processor sparing
US6216051B1 (en) 1998-05-04 2001-04-10 Nec Electronics, Inc. Manufacturing backup system
US6061709A (en) * 1998-07-31 2000-05-09 Integrated Systems Design Center, Inc. Integrated hardware and software task control executive
US6622265B1 (en) * 1998-08-28 2003-09-16 Lucent Technologies Inc. Standby processor with improved data retention
DE69935234T2 (de) 1998-09-22 2007-11-08 Avocent Huntsville Corp., Huntsville System zum fernzugriff auf personalcomputer
US6351829B1 (en) * 1998-10-28 2002-02-26 Honeywell Inc System and method for distinguishing a device failure from an inter-device communication failure
US6460146B1 (en) * 1998-12-04 2002-10-01 Cisco Technology, Inc. System and method for establishing processor redundancy
US6275915B1 (en) * 1999-04-09 2001-08-14 Avaya Technology Corp. Selective memory duplication arrangement
FI108599B (fi) * 1999-04-14 2002-02-15 Ericsson Telefon Ab L M Toipuminen matkaviestinjärjestelmissä
US6378014B1 (en) * 1999-08-25 2002-04-23 Apex Inc. Terminal emulator for interfacing between a communications port and a KVM switch
US6467049B1 (en) * 1999-10-15 2002-10-15 Cisco Technology, Inc. Method and apparatus for configuration in multi processing engine computer systems
US7577958B1 (en) * 1999-12-09 2009-08-18 Nortel Networks Limited Expediting an operation in a computer system
US6550020B1 (en) * 2000-01-10 2003-04-15 International Business Machines Corporation Method and system for dynamically configuring a central processing unit with multiple processing cores
US7530070B1 (en) * 2000-08-10 2009-05-05 Agere Systems Inc. Dynamically configurable architecture for mixed data processing
JP2002157137A (ja) * 2000-11-20 2002-05-31 Nec Corp 通信機能を備えたプログラム更新システム
JP2002287999A (ja) * 2001-03-26 2002-10-04 Duaxes Corp サーバの二重化方法、二重化サーバシステム、および二重化データベースサーバ
DE10122693B4 (de) * 2001-05-10 2004-05-06 Siemens Ag Verfahren zum Betreiben einer redundanten Prozessoreinheit für ein hochverfügbares Rechensystem
US6868309B1 (en) * 2001-09-24 2005-03-15 Aksys, Ltd. Dialysis machine with symmetric multi-processing (SMP) control system and method of operation
US6948094B2 (en) * 2001-09-28 2005-09-20 Intel Corporation Method of correcting a machine check error
US6954877B2 (en) * 2001-11-29 2005-10-11 Agami Systems, Inc. Fault tolerance using logical checkpointing in computing systems
US6990320B2 (en) * 2002-02-26 2006-01-24 Motorola, Inc. Dynamic reallocation of processing resources for redundant functionality
JP3774826B2 (ja) * 2002-07-11 2006-05-17 日本電気株式会社 情報処理装置
US20040210888A1 (en) * 2003-04-18 2004-10-21 Bergen Axel Von Upgrading software on blade servers
US7610582B2 (en) * 2003-04-18 2009-10-27 Sap Ag Managing a computer system with blades
US20040210887A1 (en) * 2003-04-18 2004-10-21 Bergen Axel Von Testing software on blade servers
US7590683B2 (en) * 2003-04-18 2009-09-15 Sap Ag Restarting processes in distributed applications on blade servers
US20040249918A1 (en) * 2003-06-05 2004-12-09 Newisys, Inc. Facilitating replication of a service processor configuration
US7259482B2 (en) * 2003-09-24 2007-08-21 Belkin International, Inc. Distance extender and method making use of same
US9066291B1 (en) * 2004-04-16 2015-06-23 Marvell International Ltd. Active network system for wireless computer networks
US20080288758A1 (en) * 2004-10-25 2008-11-20 Robert Bosch Gmbh Method and Device for Switching Over in a Computer System Having at Least Two Execution Units
KR20070083772A (ko) * 2004-10-25 2007-08-24 로베르트 보쉬 게엠베하 멀티 프로세서 시스템에서의 동기화 방법 및 장치
JP4289293B2 (ja) * 2004-12-20 2009-07-01 日本電気株式会社 起動制御方法、二重化プラットフォームシステム及び情報処理装置
US7370227B2 (en) * 2005-01-27 2008-05-06 International Business Machines Corporation Desktop computer blade fault identification system and method
DE102005037234A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Ausführungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle
DE102005037244A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und mit wenigstens zwei Gruppen von internen Zuständen
US7502957B2 (en) * 2005-09-09 2009-03-10 International Business Machines Corporation Method and system to execute recovery in non-homogeneous multi processor environments
ES2309687T3 (es) * 2005-09-16 2008-12-16 Siemens Transportation Systems S.A.S. Procedimiento y sistema de control redundante para ordenadores seguros.
JP4871000B2 (ja) * 2006-02-27 2012-02-08 株式会社リコー 着脱式入出力装置搭載電子計算機
US7717350B2 (en) * 2006-06-30 2010-05-18 Advanced Micro Devices, Inc. Portable computing platform having multiple operating modes and heterogeneous processors
US8009173B2 (en) 2006-08-10 2011-08-30 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8427489B2 (en) 2006-08-10 2013-04-23 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8726565B2 (en) * 2006-08-30 2014-05-20 Deere & Company Sheet mulch assembly for an agricultural drip irrigation system
US9047190B2 (en) * 2007-04-10 2015-06-02 International Business Machines Corporation Intrusion protection for a client blade
EP2000936A1 (en) * 2007-05-29 2008-12-10 Gemplus Electronic token comprising several microprocessors and method of managing command execution on several microprocessors
US8650440B2 (en) * 2008-01-16 2014-02-11 Freescale Semiconductor, Inc. Processor based system having ECC based check and access validation information means
DE102008024193A1 (de) * 2008-05-19 2009-12-03 Infineon Technologies Ag System mit konfigurierbaren Funktionseinheiten und Verfahren
US9180238B2 (en) * 2008-06-11 2015-11-10 Baxter International Inc. Distributed processing system and method for dialysis machines
US20100058082A1 (en) * 2008-08-27 2010-03-04 Lenovo (Singapore) Ple., Ltd. Maintaining network link during suspend state
CN102439893A (zh) * 2009-03-12 2012-05-02 西门子有限公司 处理单元的活动/不活动状态的排他性的安全检查
BR112012005842A8 (pt) * 2009-09-17 2018-06-26 Quantum Tech Sciences Inc Qtsi método para fazer uma classificação de identidade associado a uma fonte de dados, sistema de sensibilidade responsivo a sinais acústicos ou sísmicos, método para identificar sinais sísmicos ou acústicos de interesse que se originam de veículos de movimento motorizados, método para identificar sinais sísmicos ou acústicos de interesse que se originam do movimento de passos, e, método para identificar sinais sísmicos ou acústicos de interesse que se originam de maquinário fixo ou de movimento
US8270962B1 (en) 2009-10-20 2012-09-18 Sprint Communications Company L.P. Emergency calls on a wireless communication device during a device reboot
US8819484B2 (en) 2011-10-07 2014-08-26 International Business Machines Corporation Dynamically reconfiguring a primary processor identity within a multi-processor socket server
US9081653B2 (en) 2011-11-16 2015-07-14 Flextronics Ap, Llc Duplicated processing in vehicles
US9342362B2 (en) * 2012-06-15 2016-05-17 Nvidia Corporation Service-processor-centric computer architecture and method of operation thereof
CN103064770B (zh) * 2013-01-08 2014-09-17 哈尔滨工程大学 双进程冗余瞬时故障容错方法
JP6489954B2 (ja) * 2015-06-19 2019-03-27 ルネサスエレクトロニクス株式会社 半導体装置及びその制御方法
CA2985719C (en) 2015-06-25 2024-03-26 Gambro Lundia Ab Medical device system and method having a distributed database
US10802929B2 (en) 2018-01-03 2020-10-13 Tesla, Inc. Parallel processing system runtime state reload
US11683676B2 (en) 2021-08-20 2023-06-20 Motorola Solutions. Inc. Method and apparatus for providing multi-tier factory reset of a converged communication device

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3303474A (en) * 1963-01-17 1967-02-07 Rca Corp Duplexing system for controlling online and standby conditions of two computers
NL153059B (nl) * 1967-01-23 1977-04-15 Bell Telephone Mfg Automatisch telecommunicatie-schakelstelsel.
DE1549397B2 (de) * 1967-06-16 1972-09-14 Chemische Werke Hüls AG, 4370 Mari Verfahren zur automatischen steuerung chemischer anlagen
US3864670A (en) * 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
US4099235A (en) * 1972-02-08 1978-07-04 Siemens Aktiengesellschaft Method of operating a data processing system
NL7202501A (ja) * 1972-02-25 1973-08-28
US3812469A (en) * 1972-05-12 1974-05-21 Burroughs Corp Multiprocessing system having means for partitioning into independent processing subsystems
US3806887A (en) * 1973-01-02 1974-04-23 Fte Automatic Electric Labor I Access circuit for central processors of digital communication system
GB1411182A (en) * 1973-01-04 1975-10-22 Standard Telephones Cables Ltd Data processing
US3828321A (en) * 1973-03-15 1974-08-06 Gte Automatic Electric Lab Inc System for reconfiguring central processor and instruction storage combinations
US3820085A (en) * 1973-04-06 1974-06-25 Gte Automatic Electric Lab Inc Communication switching system having separate register subsystem and stored program processor each having its own memory,and data transfer by processor access to the register memory
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
DE2407241A1 (de) * 1974-02-15 1975-08-21 Ibm Deutschland Verfahren und anordnung zur erhoehung der verfuegbarkeit eines digitalrechners
US3991407A (en) * 1975-04-09 1976-11-09 E. I. Du Pont De Nemours And Company Computer redundancy interface
US4152764A (en) * 1977-03-16 1979-05-01 International Business Machines Corporation Floating-priority storage control for processors in a multi-processor system
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
JPS53121441A (en) * 1977-03-31 1978-10-23 Toshiba Corp Duplicated information processor
US4270167A (en) * 1978-06-30 1981-05-26 Intel Corporation Apparatus and method for cooperative and concurrent coprocessing of digital information
JPS5537641A (en) * 1978-09-08 1980-03-15 Fujitsu Ltd Synchronization system for doubled processor
US4228503A (en) * 1978-10-02 1980-10-14 Sperry Corporation Multiplexed directory for dedicated cache memory system
US4282572A (en) * 1979-01-15 1981-08-04 Ncr Corporation Multiprocessor memory access system
US4257009A (en) * 1979-05-23 1981-03-17 Rca Corporation Inhibit circuit for a differential amplifier
US4428044A (en) * 1979-09-20 1984-01-24 Bell Telephone Laboratories, Incorporated Peripheral unit controller
US4318173A (en) * 1980-02-05 1982-03-02 The Bendix Corporation Scheduler for a multiple computer system
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
US4403286A (en) * 1981-03-06 1983-09-06 International Business Machines Corporation Balancing data-processing work loads
AU551032B2 (en) * 1981-03-31 1986-04-17 British Telecommunications Public Limited Company Safety arrangement in computer control system
US4455601A (en) * 1981-12-31 1984-06-19 International Business Machines Corporation Cross checking among service processors in a multiprocessor system
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008518298A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 複数のコンポーネントを有する計算機システムで信号を生成するための方法および装置

Also Published As

Publication number Publication date
CA1232688A (en) 1988-02-09
JP2552651B2 (ja) 1996-11-13
DE3583430D1 (de) 1991-08-14
US4823256A (en) 1989-04-18
KR860700302A (ko) 1986-08-01
WO1986000439A1 (en) 1986-01-16
EP0185704B1 (en) 1991-07-10
EP0185704A1 (en) 1986-07-02

Similar Documents

Publication Publication Date Title
JPS61502223A (ja) 再構成可能なデュアル・プロセッサ・システム
EP0167540B1 (en) Processing system tolerant of loss of access to secondary storage
JP2505928B2 (ja) フォ―ルト・トレラント・システムのためのチェックポイント機構
US6675324B2 (en) Rendezvous of processors with OS coordination
US4371754A (en) Automatic fault recovery system for a multiple processor telecommunications switching control
KR20000011834A (ko) 고장-허용오차를계산하는컴퓨터시스템및이를동작시키는방법,고장-관리컴퓨터장치,및고장-허용오차계산장치
JPH03131939A (ja) 高信頼性コンピュータ診断システム
US20170147422A1 (en) External software fault detection system for distributed multi-cpu architecture
US6594709B1 (en) Methods and apparatus for transferring data using a device driver
EP0683456B1 (en) Fault-tolerant computer system with online reintegration and shutdown/restart
WO2007099606A1 (ja) プロセサ制御方法
WO2008004330A1 (fr) Système à processeurs multiples
JPH01224846A (ja) プロセス空間切り換え制御方式
Hansen et al. The 3B20D Processor & DMERT operating systems: Fault detection and recovery
JPS592152A (ja) 障害時のリセツト方式
JPH11120154A (ja) コンピュータシステムにおけるアクセス制御装置および方法
JPS62296264A (ja) デ−タ処理システムの構成制御方式
JPH083807B2 (ja) 2重化磁気デイスク装置の自動切換装置
JPS6113627B2 (ja)
JP3246751B2 (ja) 高信頼化コンピュータシステム及びその復旧方法並びにプロセッサボード及びその交換方法
JPH0793173A (ja) コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法
JP2530835B2 (ja) 計算機システムの障害回復処理方法
Di Giovanni et al. H/W and S/W redundancy techniques for 90's rotorcraft computers
JP2815730B2 (ja) アダプタ及びコンピュータシステム
Goetz et al. Hardware vs. software design tradeoffs for maintenance functions in high-reliability real time systems