JPH10228458A - 構成可能なハードウエア・システム・ドメインを有するマルチプロセッサ・コンピュータ - Google Patents

構成可能なハードウエア・システム・ドメインを有するマルチプロセッサ・コンピュータ

Info

Publication number
JPH10228458A
JPH10228458A JP9342920A JP34292097A JPH10228458A JP H10228458 A JPH10228458 A JP H10228458A JP 9342920 A JP9342920 A JP 9342920A JP 34292097 A JP34292097 A JP 34292097A JP H10228458 A JPH10228458 A JP H10228458A
Authority
JP
Japan
Prior art keywords
domain
units
address
unit
computer
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
JP9342920A
Other languages
English (en)
Other versions
JP4124507B2 (ja
Inventor
P Dorogichen Daniel
ダニエル・ピー・ドロギチェン
J Mcclauclin Andrew
アンドリュー・ジェイ・マククロクリン
E Aneshanzuree Nicholas
ニコラス・イー・アネシャンズレー
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH10228458A publication Critical patent/JPH10228458A/ja
Application granted granted Critical
Publication of JP4124507B2 publication Critical patent/JP4124507B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 ソフトウエアおよびハードウエアの観点から
全体を多数の独立ユニットに分離可能なマルチプロセッ
サ・コンピュータを提供すること。 【解決手段】 グローバル・アドレス・ルータおよびグ
ローバル・データ・ルータが別個のシステム・ユニット
群を相互接続する。各システム・ユニットは、それ自体
のプロセッサ群、メモリ、およびI/Oを有する。ルー
タ群に結合されたドメイン・フィルタが、システム・ユ
ニットの集合を、ドメイン群として、ならびに互いにソ
フトウエア分離およびハードウエア分離を有する、ドメ
インのクラスタ群として、動的に定義する。クラスタ群
は、互いに、動的に定義可能なメモリ範囲を共有するこ
とができる。ドメイン・フィルタは、システム・ユニッ
ト群上、およびグローバル・ルータ群内に、ソフトウエ
アでロード可能なレジスタを有し、ドメイン群およびク
ラスタ群のパラメータを設定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子コンピュータ
に関し、更に特定すれば、多数のプロセッサを可変集合
即ちドメイン群に動的に分離可能とし、処理上の独立性
を得ると共に、ハードウエアのエラーにも拘わらず動作
し続けることを可能にするマルチプロセッサ・アーキテ
クチャに関するものである。
【0002】
【従来の技術】多数の単純な端末を駆動する集中型メイ
ンフレーム・コンピュータの多くは、パーソナル・コン
ピュータのネットワークによって置き換えられている。
これらのネットワークの殆どは、1台以上のサーバ・コ
ンピュータを組み込んでおり、そのサーバ・コンピュー
タは個々のユーザのためにデータやプログラムを格納し
ている。実際に、サーバは、メインフレームの属性の多
くを引き継いだ、高性能スーパーサーバ(superserver)
に発展しつつある。しかしながら、スーパーサーバは、
ネットワーク型システムにおいては機能が異なってお
り、したがってスーパーサーバのアーキテクチャは、メ
インフレームまたはパーソナル・コンピュータのアーキ
テクチャとは異なるものでなければならない。
【0003】
【発明が解決しようとする課題】スーパーサーバが他の
アーキテクチャとは領域を異にするのは、それらが1つ
以上のオペレーティング・システム−または1種類のオ
ペレーティング・システムの1つ以上のバージョンを、
異なるジョブのためまたは異なるユーザのために同時に
実行可能でなければならないからである。
【0004】また、スーパーサーバは、可用性および信
頼性が非常に高くなければならない。これらは、ハード
ウエア・エラーおよびソフトウエア・エラーに対する高
い耐性を有していなければならず、コンピュータが実行
している間はサービスを提供可能であることが望まし
い。パーソナル・コンピュータの単一(または密接に結
合された多数の)プロセッサ・アーキテクチャとは異な
り、更にスーパーコンピュータの大量(超)並列設計と
も異なり、スーパーサーバは、予測不可能な資源要求を
有する、広範囲にわたる多数のしかも多種多様のタスク
を、実行する柔軟性を必要とする。
【0005】多くの方法では、スーパーサーバは、超大
型コンピュータとしておよび小型コンピュータとして実
行することが要求される。これは、それらのアーキテク
チャに多数の矛盾(競合)する要求を行うことになる。
【0006】
【課題を解決するための手段】本発明は、前述の問題お
よびその他の関連する問題を、ソフトウエアで構成可能
な「ハードウエア・ドメイン群」によって、ソフトウエ
アおよびハードウエア双方の観点から、コンピュータ全
体を多数の独立ユニットに分離する、総合的なコンピュ
ータ・アーキテクチャを提供する。即ち、異なるドメイ
ンが異なるオペレーティング・システムおよびアプリケ
ーションを、互いに独立して実行するだけでなく、他の
ドメインで発生した致命的(重大)なハードウエア・エ
ラーとは無関係に動作するものである。「クラスタ(clu
ster)」によって、複数のドメインがメモリ・アドレス
の共通範囲を共有することを可能とし、データ転送の高
速化を図る。特権的構成−制御ソフトウエアが、物理的
にコンピュータを変更することなく、コンピュータ資源
を複数のドメインおよびドメイン・クラスタに分割する
こと、およびいずれの時点においても複数のドメインお
よびクラスタを再構成することを、オペレータまたはソ
フトウエア・プロセスに可能にさせる。このアーキテク
チャを用いるコンピュータは、パーソナル・コンピュー
タやワークステーション・コンピュータにおいて共通に
用いられているマイクロプロセッサのような、容易に入
手可能な市販のコンポーネント(commodity component)
で構築することができる。
【0007】本発明は、完全に分離された環境におい
て、新しいバージョンのソフトウエアの検査(テスト)
を行いつつ、コンピュータの残りの部分で通常のタスク
を継続することが可能である。コンピュータの一部分が
拡張された診断または予防的保守を実行し、その一方
で、残りの部分が同時に通常のユーザ・タスクを実行す
ることができる。同じコンピュータの異なる部分が、異
なるオペレーティング・システム・ソフトウエア(また
は、同じソフトウエアの異なるバージョン、異なるチュ
ーニング(tuning)、またはパラメータ設定)の
下で実行可能であり、タイムシェアやデータベース質問
(query)、またはオンライン・トランザクション
処理や意思決定支援システムのような、複数の異なる種
類の作業負荷の最適化を図ることができる。
【0008】コンピュータの各部分は、他の部分のソフ
トウエア・エラーだけでなく、ハード・メモリ・エラー
やアドレス要求ラインの誤動作のようなハードウエアの
障害にも不感応である。本発明によるコンピュータは、
ハードウエアの障害によって、同一ハードウエア・ドメ
イン内にはないいずれのプロセッサやメモリにも、アド
レスまたはデータ信号が誤って転送されることを防止す
ると共に、多くのシステム全体に関係する制御信号が異
なるドメイン内のハードウエアに影響を与えるのを物理
的に防止する。
【0009】更なる利点も、当業者には明白であろう。
例えば、双方向(対話的)ジョブは、異なるドメインで
実行することにより、バッチ・ジョブから分離すること
ができる。生産(プロダクション)タスクは、1つのド
メインにおいて中断することなく実行し、開発または問
題の分離を他のドメイン内で同時に行うことも可能であ
る。新しくリリースされるソフトウエアの互換性を、古
い版(バージョン)を同時に実行する同じシステム上で
検査することができる。ときには、複数の組織(organiz
ation)が同じシステムを共有し、別個のドメインを使用
し、各々がそれら自体のタスクに対するある程度のレベ
ルの資源占有性を保証することができ、この占有性は、
容易にスケジュールすることが可能であると共に、構成
要素を物理的に置き換えたり、あるいは信号線を手作業
で切り替えることもなく、ソフトウエア制御の下でドメ
インおよびクラスタを再構成するだけで、短い通知をも
って変更することも可能である。
【0010】端的に言えば、本発明によるコンピュータ
は、多数の個別システム・ユニットを有し、その各々が
プロセッサ、メモリ・セグメント、および/または入出
力アダプタを有する。中央相互接続部が、システム・ユ
ニット間でアドレスおよびデータを移送する。ドメイン
・コントローラが、ドメイン・フィルタを動的に構成
し、互いに独立して機能し、他のドメイン内の重要なハ
ードウエア・エラーにさえも無関係な複数のドメインを
形成する。1つのドメインのプロセッサ、メモリおよび
I/Oは、単一の一元化したコンピュータ・システムと
して機能し、それらの物理的位置は、同じシステム・ユ
ニットにあろうが、異なるシステム・ユニットにあろう
が無関係である。加えて、複数のドメインが動的にクラ
スタに相互接続し、それらのメモリ空間のいくつかまた
は全てを共有することができる。複数のドメインおよび
クラスタは、ソフトウエア制御の下で設定されるレジス
タの内容によって定義される。
【0011】種々のシステム・ユニット間の通信は全
て、相互接続部上の「トランザクション」として発生す
る。トランザクションはメモリ・アドレスを含むことが
できるが、含まないものもある。通常のメモリ・トラン
ザクションは、非特権的アプリケーション・プログラム
が行うような、潜在的にキャッシュ可能な主メモリに対
して行われる。他のトランザクションは、(キャッシュ
不可能な)システム制御レジスタに対するもの、I/O
アダプタが使用するアドレス空間の部分に対するものが
あり、後者のものは、システム・ブート、OSカーネ
ル、およびI/Oドライバのような、特権モード・コー
ドによってのみアクセス可能である。更に他のトランザ
クションには、割り込みをあげることができる。
【0012】複数のドメインは、ソフトウエアおよびハ
ードウエア双方において、互いに分離されている。個々
のサブシステムは、複数のシステム・カード、ボード、
または、メモリおよび/またはI/O機能を処理するた
めのハードウエアを潜在的に内蔵可能な他の複数のユニ
ットを備えることができる。個々のシステム・ユニット
は全てが完全なプロセッサの機能全てを内蔵しなければ
ならない訳ではないが、ドメインを形成する1組のユニ
ットは、とりわけ、完全なデータ処理システムの機能全
てを含んでいなければならない。単一のシステム・ユニ
ットが、1つのドメインを形成することもできる。いず
れのシステム・ユニットも、属することができるのは1
つのドメインのみである。ドメインは単一のデータ処理
システムとして機能し、その個々のシステム・ユニット
は互いに秘密を有さない。
【0013】「ソフトウエアの分離」とは、あるドメイ
ンにおいて実行中のソフトウエアは、サブシステムにお
けるハードウエア障害がない限り、他のドメインで実行
中のソフトウエアに影響を与え得ないことを意味する。
このためには、各ドメインが、他のドメインとは共有し
ない、それ自体の1つの(または複数の)物理的プロセ
ッサ、複数のメモリ・ユニット、およびI/Oアダプタ
を有することが必要である。各システム・ユニットと共
通アドレス相互接続ハードウエアとの間のドメイン・フ
ィルタ・ハードウエアは、完全なシステム内に潜在的に
含まれる各ユニットに対する別個のビットを含むマスク
・レジスタを有する。これらのビットの状態が、他のシ
ステムのどれが同一ドメインのメンバであるのかを示
す。ユニットのインターフェースは、相互接続部からの
トランザクションが同じドメイン内のシステム・ユニッ
トにおいて発したものである場合にのみ、このトランザ
クションに応答する。このようにサブシステム間で分配
されるハードウエアは、別個のサービス・プロセッサの
ような、サブシステム外のエージェンシによってのみハ
ードウエアが制御可能である限り、ソフトウエアの分離
を保証するには十分である。
【0014】加えて、「ハードウエアの分離」は、ある
ドメイン内で発生したハードウエア・エラーがコンピュ
ータ内の異なるドメインの動作に影響を与えないことを
示す。ハードウエアの分離は、個々のサブシステム間に
共通バス・アーキテクチャを用いている場合は、実施で
きない。何故なら、障害を発生したサブシステムがバス
全てを停止させる可能性があるからである。したがっ
て、クロスバー(crossbar)および/またはルータのよう
な、切り替え相互接続部をサブシステム間に用いる。1
つのサブシステム内のハードウエア障害は、それが異な
るサブシステムに属するものとして偽装させたり、ある
いは制御信号のパリティ・エラーのような、システム全
体に及ぶ致命的インターフェース信号を発生させる可能
性があるので、サブシステムのハードウエア分離は、サ
ブシステム自体以外に何らかの中央制御ロジックを必要
とし、制御信号の少なくともいくつかを、この中央ロジ
ックと各サブシステム間で1対1(ポイントツーポイン
ト)で結合することが必要となる。相互接続ハードウエ
アもドメイン・マスク・レジスタを有する場合、発生元
のドメイン内の各システムに「有効トランザクション」
信号を生成することができる。これによって、いずれの
ユニットも他のユニットのように偽装することを防止す
る。ソース・ドメイン以外のユニットは全てトランザク
ションを無視するので、これらは他のドメインから発せ
されたハードウエア・エラー信号にエラー状態を発生す
ることができない。相互接続ハードウエア自体における
障害も全てのドメインに影響を与える可能性があるが、
実際には、相互接続部は、サブシステム内のハードウエ
アに比較すると、小型で堅牢である。
【0015】用途によっては、所定のドメインが、それ
らの個別にアドレス可能なメモリ空間の1つ以上のセグ
メントを共有することにより、互いとの通信に高帯域通
信を必要とする場合がある。本発明は、個別ドメインの
それに類似した特性を有するドメインのクラスタを提供
することができる。1つの個別システム・ユニットはそ
れ自体のクラスタとなることができ、あらゆる単一ユニ
ットは1つのクラスタのみのメンバとなることができ、
クラスタ関係は変化する。また、ドメインは正確に1つ
のクラスタ内にあり、クラスタは1つ以上のドメインを
含む。クラスタ関係が変化し得るものであることの必要
性は、ドメイン間でメモリを共有する際にそれを使用す
ることから生じたものである。AがドメインB,Cにメ
モリをエクスポートする場合、B,Cは相互接続部上で
互いのトランザクションに応答しなければならず、した
がって同じクラスタ内にいなければならない。この要件
は、上述のシステムにおいて、A内の共有メモリからの
データの現在値が実際にBまたはC内のキャッシュに位
置する場合があり、B内のプロセッサが新しい値をこの
アドレスに書き込む場合、Cのキャッシュ内のコピーを
無効化しなければならず、これを達成するためには、C
はBからのトランザクションを全て見なければならない
という可能性から生じたものである。
【0016】クラスタ内のシステム・ユニットは、同じ
クラスタ内の他の各ユニットとメモリを共有する必要は
ないが、同じクラスタ内のユニットとのみメモリの共有
が可能である。システム・ユニットAがある範囲の共有
アドレスをユニットBにエクスポートする場合、Bは必
然的に同じクラスタにいるが、A,Bと同じクラスタに
いるユニットCは、このアドレス範囲を共有する必要は
ない。同じクラスタ内において、いずれのシステム・ユ
ニットも、トランザクションの発生元ユニットとして、
当該トランザクションを受けるが、このトランザクショ
ンに応答する必要性は必ずしもある訳ではない。即ち、
受信側ユニットはそれをフィルタ(filter)することも可
能である。実際には、複数のドメインは、メモリを共有
するためにのみクラスタ内で結合されており、当該クラ
スタの全てのメンバ・ドメイン内のシステム・ユニット
は全て、当該クラスタ内の全てのユニットからの、この
共有メモリに対応する特定の範囲のメモリ・アドレスに
対する通常のメモリ・トランザクションに応答するよう
に構成されている。共有メモリ自体は、クラスタ内の1
つのシステム・ユニット上に位置し、この範囲を、それ
自体以外のクラスタ内のドメインに「エクスポート」す
ると言う。(ユニットは、常にそれ自体のドメイン内の
ソース・ユニットからのトランザクション全てに応答す
る。これは、ここで用いられる意味では「エクスポー
ト」ではない。この用語は、ドメインの外側から発した
いくつかのメモリ・トランザクションへの応答の追加の
みを意味する。)したがって、システム・ユニットは、
それが異なるメモリ・アドレス範囲にエクスポートする
ユニットからはアクセス不可能な、キャッシュ可能メモ
リを含むことができる。ユニット内のシステム制御レジ
スタ群およびI/O装置群は、異なるドメイン内のユニ
ット群には全くアクセスすることはできない。たとえこ
れらのユニットが同じクラスタに属していてる場合で
も、アクセスすることはできない。
【0017】クラスタ化によって、各システム・ユニッ
ト上のドメイン・レジスタに、共有メモリ・レジスタが
追加され、どのアドレスが共有されるのか、即ち、当該
クラスタにおける他のドメイン内の少なくとも1つのシ
ステム・ユニットにエクスポートされるのかを示す、範
囲レジスタ群も含むことができる。共有メモリ・レジス
タは、他のユニットのどれが、そのユニットとのアドレ
スの転送を行うことができるのかを示す。したがって、
システム・ユニットが、他のユニットからのトランザク
ションにおいて、アドレスに応答するのは、(a)ソー
ス・ユニットが同じドメインのメンバであること、また
は(b)それが同じクラスタのメンバであることが共有
メモリレジスタ内に指定されており、そのアドレスが共
有するように指定されている範囲(あるとすれば)内に
ある場合にのみであり、しかも先に定義したような通常
のメモリ・トランザクションに対してのみ行う。相互接
続部内のドメイン・レジスタは、トランザクションを発
生したユニットと同じクラスタ内にある他のシステム・
ユニット群に有効性確認信号を送出することができる、
ドメイン・クラスタ・レジスタとなる。
【0018】
【発明の実施の形態】図1は、サーバまたは中型コンピ
ュータに典型的なアーキテクチャを有する従来技術のコ
ンピュータ100を示す。コンピュータ100は、マザ
ー・ボードまたはプラグイン・ボード上のプロセッサ1
10、メモリ用の別個のボード120、およびI/Oア
ダプタ用の別個のボード130を有する。データ・バス
140およびアドレス・バス150が、異なる機能ブロ
ックを共に結合する。制御分配バス160は、エラー信
号を含む制御信号を種々のボードに送出する。システム
が大きい場合、起動、診断、および同様の機能に、専用
の制御およびサービス・ユニット170を有してもよ
い。
【0019】バー101は、コンピュータ100のアド
レス空間全体を概略的に表している。プロセッサまたは
プロセッサ群(複数)は、メモリを含むボード即ちユニ
ット120に対するアドレスを全て、バス150上に送
出する。各ボードは、ある範囲のアドレスに応答するメ
モリを有する。各ボードは、通常メモリ・ボード上の機
械的スイッチまたはレジスタによって設定される、異な
るアドレス範囲を含む。また、プロセッサ110は、全
てのボード130上のI/Oアダプタ全てとも通信を行
う。
【0020】図2は、多数のシステム・ユニット210
の各々が、プロセッサ自体の中に、メモリ、および互い
に結合されているI/Oアダプタ群を含み、当該ユニッ
トが潜在的にそれ自体で完全なコンピュータとして機能
することができるようにした、異なるアーキテクチャ2
00を示す。(しかしながら、システム・ユニットによ
っては、実際に、プロセッサのみ、メモリのみ、I/O
のみ、またはそれらの潜在的な全機能の下位の組み合わ
せのいくつかを含むものもある。)個々のシステム・ユ
ニット210は、同一ユニット内に、アドレスされたデ
ータを送信するか、あるいはシステム・ユニット群が差
し込まれているセンタプレーン相互接続構造(centerpla
ne interconnect structure)として構築されている、高
速ルータ240,250上を、同じ複合体内の他のシス
テム・ユニット群に、アドレスされたデータを送信す
る。制御分配バス260は、制御信号およびエラー信号
を全てのシステム・ユニット210に送出する。このよ
うなコンピュータは、典型的なパーソナル・コンピュー
タまたは中型コンピュータのバス組織に限定されるもの
ではない。例えば、データおよびアドレス・ルータ24
0,250は、通常のポイントツーポイント配線、クロ
ス・ポイント・スイッチ、または多数の調停されたバス
として実施してもよい。システム200全体は、メモリ
共有対称マルチプロセッサ・システムとして特徴付ける
ことができる。好ましくは、コヒーレントなキャッシュ
機能も用いる。この機構は、多数の従来からの方法で実
現すればよい。Sun Microsystems社から入手可能な市販
のCS6400は、このタイプの機械(マシン)の一例であ
る。
【0021】バー201は、コンピュータ200のアド
レス空間を示す。各システム・ユニットは、潜在的にそ
れ自体で完全なコンピュータであるが、アドレス・ルー
タ250によって与えられる相互接続部は、共通のアド
レス空間全体に、全てのシステム・ユニットを配置す
る。即ち、各システム・ユニット210上のあらゆるメ
モリ位置の完全に承認されたアドレスは、他の全てのユ
ニット上のあらゆるメモリ位置のそれとは異なっていな
ければならない。
【0022】分配バス260上のエラー信号およびステ
ータス信号は、システム内のあらゆるユニット210に
影響を与える。例えば、エラー訂正コードは、ルータ2
50上のビット・エラーを訂正し、コードが検出可能で
あるが訂正不可能なその他のエラーに対して致命的エラ
ー信号を生成する。このような致命的エラー信号は、通
常、当該エラーの原因となった障害を単一のシステム・
ユニットまたはルータの場所に閉じこめた場合でも、シ
ステム全体に影響を及ぼす。障害を発生したシステム・
ユニットは、連続的にエラー信号をアサートすることが
でき、システム全体を停止させる。CANCEL(時としてAB
ORTとも呼ぶ)信号が異なる状況を提示する。高性能シ
ステムには、思惑的にマルチサイクル処理を開始し、そ
れらの仮定が正しくなかった場合に処理を取り消すもの
がある。このような単一ドメイン・システムにおいてCA
NCELをアサートすると、システム全体のあるあらゆるユ
ニットを停止させることになる。
【0023】図3は1つの仮説的なコンピュータ300
を示し、この中では、図2のユニット210に対応する
種々のシステム・ボード310が物理的に多数のドメイ
ンに分割され、各々がそれ自体の物理的に別個のデータ
・ルータまたはバス340、それ自体のアドレス・ルー
タまたはバス350、およびそれ自体の制御分配手段ま
たはバス360を有し、その上それ自体のシステム・コ
ントローラ370をも有することも可能である。実際に
は、コンピュータ300は、多数の別々のコンピュータ
即ちドメインS1,S2,S3となる。加えて、多数の
ドメインは、それらのメモリ・アドレスの一部または全
てを共有して、アドレス・ルータ350の領域351に
よって示されるような、クラスタを形成することができ
る。図3では、ドメインS1は、それ自体が(変性)ク
ラスタCAであり、一方ドメインS2,S3は一体とな
ってクラスタCBを形成する。これら別々のクラスタの
アドレス空間は互いに重複していてもよく、各々が他と
は独立してそれ自体のオペレーティング・システムを実
行することができ、1つのドメイン・クラスタにおける
メモリ障害またはその他のハードウエア・エラーは、他
のドメイン・クラスタの動作に影響を与えることはな
い。
【0024】バー301,302,303は、コンピュ
ータ300のメモリ・アドレス空間が、3カ所の別個の
空間として処理可能であり、そのアドレスのいくらかま
たは全てが互いに重複していてもよいことを示す。加え
て、メモリ・アドレスの中には、304,305に示す
ように、複数のドメインとの間で、物理的に共有可能な
ものもある。下位の2つのアドレス・ルータ350をブ
リッジする領域351は、別々のドメイン間で共有され
るメモリアドレスを象徴化したものである。
【0025】コンピュータ300では、制御信号の多く
をそれらを適用することができないドメインから分離す
ることができる。したがって、ドメインS1内の致命的
エラー(アドレスまたは制御バスにおける訂正不可能な
エラーのような)は、当該ドメイン・クラスタの範囲内
でのみバス360上でARBSTOP信号を生成し、ドメイン
S2,S3の動作を継続させる。しかしながら、システ
ム300は、永続的または少なくとも半永続的に手動で
構成されなければならない。即ち、再構成は、ボードの
再配置またはスイッチのリセットのために、システムの
完全な停止および配線のし直しまたは手作業による調節
を必要とする。このシステムは、可変量の資源を有する
異なるドメイン群やクラスタ群に動的にまたは容易に再
構成することはできない。
【0026】図4は、図2および図3のコンピュータ・
システム200,300を背景として構築し、ある例示
環境における本発明の好適な形態の概要を提示する。以
下に述べる詳細の多くは、それ自体本発明の概念に直接
関係するものではないが、この環境において本発明がど
のように機能するのかを理解するのに役立つ。
【0027】コンピュータ400は、図3のユニット群
310に対応するシステム・ユニット群410を有す
る。データ・ルータ440は、全てのシステム・ユニッ
ト群410を物理的に相互接続する。アドレス・ルータ
450および制御バス460は、丁度図2におけるよう
に、全てのシステム・ユニット群を物理的に結合する。
コンピュータ400においては、しかしながら、追加の
ドメイン・フィルタ480が、コンピュータ400を、
互いに独立して動作可能なドメイン群およびクラスタ群
に電子的に分割する。ルータ450およびユニット群4
10間のドメイン・フィルタの配置は、それがアドレス
信号および制御信号に作用しドメインへの分離を達成す
ることを象徴化している。好適な実施態様では、フィル
タ480は、アドレス・ルータ450の部分を形成する
チップの中に物理的に配置され、ルータ450自体は、
部分的にシステム・ユニット410内、および部分的に
共通のセンタプレーン構造内に物理的に配置される。ま
た、フィルタ480は、データ・ルータ440内に位置
する構成要素を含むこともできる。ドメイン・コンフィ
ギュレータ(domain configurator)420がフィルタ4
80と通信し、任意にかつ動的にドメイン群およびクラ
スタ群を設定する。図4における例は、図3の対応する
マップ301〜303と同じメモリ・アドレス・マップ
401〜403を有する。
【0028】後の詳細説明について前もって述べておく
が、マップの隣にある番号は、種々の点におけるアドレ
スを示す。番号は16進数であり、例示の実施態様で
は、'00 0000 0000'から'0F FFFF FFFF'までに及ぶ。
(図4は、可能な16のシステム・ユニットの内8個の
みを示すので、この空間の前半である、アドレス'08 00
000000'までのみを含む。)また、システムは、システ
ム・レジスタやI/O装置にアクセスするために、別の
空間として、'10 0000 0000'から'1F FFFF FFFF'のアド
レスも採用している。本発明には関連のない詳細を少し
加えるが、例示のシステム・アーキテクチャは各システ
ム・ユニット410に4ギガバイト(GB)のアドレス
範囲を割り当てている。各範囲は割り当てられた単位番
号に4GBをかけた数で開始するが、ユニット上に実際
に装着されるいずれのメモリも、その割り当てられた範
囲内であればどこから始まってどこで終わってもよい。
これは殆ど常に、実装されたメモリのアドレス範囲にお
いて穴あき状態を生ずる結果となるが、システム400
はこの状況に容易に対処する。他のシステムは、しかし
ながら、全く異なるメモリ・アーキテクチャを有する本
発明を容易に実施することができる。
【0029】図5は、図4のシステム・ユニット410
を、データ・ルータ440、アドレス・ルータ450、
およびドメイン・フィルタ480の部分と共に示す。こ
れらはシステム・ユニットの一部をなし、これに結合さ
れているものである。図5は、本発明のドメイン・フィ
ルタによって管理される分配器460の個々の制御線を
殆ど示していない。図8ないし図10において、代表的
な制御信号をより詳細に示しかつ検討することにする。
本例では、コンピュータ400は、実装可能な16のシ
ステム・ユニット410の内8個を有する。
【0030】システム・ユニット410は、コンピュー
タ100の主要構成要素110〜130の全てに対し
て、回路基板のような、1つの物理構造上に空間および
配線を含むが、これらの全てが特定のユニットに完全に
または部分的にでさえも設ける必要がある訳ではない。
プロセッサ・サブシステム510は、マイクロプロセッ
サ511を4個まで有することができ、各々それ自体の
キャッシュ512を有する。入出力サブシステム530
は2個のシステムI/Oバス531を含み、各々が種々
の従来からのI/Oアダプタ532を制御する。一方、
I/Oアダプタ532は、ディスク・ドライブ、端末コ
ントローラ、および通信ポートのような外部I/O装置
に、線533を結合する。メモリ・サブシステム520
は4個までのメモリ521のバンクを含み、各対が従来
からのパック/アンパック・モジュール(pack/unpack m
odule)522に結合する。完全に汎用なシステム・ユニ
ットの代わりとして、特殊化されたボードも使用可能で
ある。例えば、第1タイプのシステム・ユニットが、プ
ロセッサおよびメモリ・サブシステムに対してのみ配線
および場所を有してもよく、第2タイプが1個以上のI
/Oサブシステムのみを含むこともあろう。
【0031】データ・ルータ440は、サブシステム5
10〜530間でトランザクション・データの受け渡し
を行う。本実施例では、データ・ルータは、各システム
・ユニット410上のローカル部分54L0およびセン
タプレーン上に配置されたグローバル部分54G0の間
で物理的に分割される。図5において、ラベル54L0
は、データ・ルータ440の内、構成要素54L1〜5
4L3を有するローカル部分全体を示し、ラベル54G
0は、構成要素54G1〜54G2を有するグローバル
部分全体を示す。
【0032】ローカル・ルータ54L0の各バッファ5
4L1は、例えば、256トランザクションを保持可能
な、少量の高速スタティック・RAMを有する。その通
常の目的は、アクティビティの可能なバーストに対抗し
て、データの流れの分離および平滑化を行うための保持
行列(holding queue)を提供することである。ローカル
・データ・スイッチ54L2は全二重双方向1x4クロ
スバーである。ローカル・データ・アービタ54L3
は、グローバル・アービタ54G2から許可を受け、せ
いぜい1つのバッファに、対応するトランザクション・
パケットを格納するように命令する。同時に、ローカル
・アービタ54L3は、従来からの公正アルゴリズム(f
airness algorithm)を用いて、バッファの1つから待機
中のパケットを選択し、このパケットの代わりに、グロ
ーバル・アービタ54G2への送信要求を発生する。グ
ローバル・データ・ルータ54G0は、1つのシステム
・ユニットのLDR54L0からのデータを、同一ユニ
ットまたは異なるユニットのLDR54L0に転送す
る。この際、16x16のクロスバー・アレイ54G1
を用い、これがアービタ54G2からの16組の4ビッ
ト方向制御ロジック(steering logic)を受け取る。下位
では、これを、各システム・ユニット毎に1つとして、
16個の16入力マルチプレクサとして実現する。
【0033】アドレス・ルータ450は、各システム・
ユニット410上のサブシステム510〜530間でア
ドレスの受け渡しを行うと共に、あるシステム・ユニッ
トから他のシステム・ユニットへのアドレスの受け渡し
も行う。データ・ルータと同様、55L0で示すローカ
ル部分と、グローバル部分55G0とを有する。この実
施態様では、アドレス・ルーティングは、ローカル(イ
ントラシステム)およびグローバル(インターシステ
ム)トランザクション双方に対して、同じ経路を進む。
ポート・コントローラ群55L1およびメモリ・コント
ローラ55L2は、サブシステム510〜530および
個々のルーティング・スイッチ55L3間に、従来から
のインターフェースを設ける。この場合、個々のプロセ
ッサ511、I/Oバス531、メモリ・ユニット52
1は、事実上ローカル・アドレス・スイッチ(LAS:
local address switch)55L3に直接接続されている
と見なしてもよい。LAS群55L3は、キャッシュ・
コヒーレンシ(cachecoherency)のよう
な、多数の通常からの機能を実行する。本発明の目的の
ために、それらの機能は、システム・ユニット内のプロ
セッサ群511、I/Oバス群531、およびメモリ5
21からのアドレスの、グローバル・アドレス・ルータ
55G0との受け渡しを行うことである。
【0034】本実施例のアドレス・ルータ450のグロ
ーバル部分55G0は、16個のシステム・ユニット間
で共有される4系統のアドレス・バス55G1を有す
る。別個のグローバル・アドレス・アービタ55G2
が、各ユニット内のローカル・アドレス・アービタ55
L4からのトランザクション要求に応答して、各アドレ
ス・バスを種々のシステム・ユニット410に割り当て
る。
【0035】本実施例では、システム・ユニット上の各
LAS55L3は、線915,922上の白抜き円によ
って象徴化されているように、4個のGAB55G1の
異なる1つに接続する。アービタ55L4は、物理的
に、4個の同一部分から成り、その各々が、線811か
らのアクセス要求に応答して、GAA55G2およびL
AS55L3の異なる1つと通信を行う。即ち、アドレ
ス・ルータ450の結合されたローカル部分およびグロ
ーバル部分の全体的な機能は、システム・ユニット群4
10全ての6個のポート(コントローラ55L1の各々
から2つ)からの競合する要求間で、4個のGAB55
G1のスケジュールを立てることである。4個のGAB
55G1全てに対する決定は、各システム・ユニットの
LAA55L4において、互いに対して同時に処理され
る。
【0036】図6は、図5の通常のポート・コントロー
ラ55L1内における、関連するアドレス・ルーティン
グを示す。各コントローラ・チップは、アドレス線およ
び制御線を含み、2個のプロセッサまたは2系統のI/
Oバスを、4系統のアドレス・バスのいずれかとインタ
ーフェースする。双方向ドライバ/レシーバ610が、
アウトバウンド(出)トランザクションを線611から
先入れ/先出し(FIFO)バッファ620に送出す
る。スイッチ群621は、FIFO出力を双方向ドライ
バ/レシーバ630に出力し、FIFO出力は線911
を通じて図5のローカル・アドレス・ルータ55L3に
進む。線911からのインバウンド(入)トランザクシ
ョンは、ドライバ/レシーバ630からFIFO640
に進む。マルチプレクサ群641は、格納されているト
ランザクションから選択を行い、それらをドライバ/レ
シーバ610に送出し、線611を通じて送信する。線
811はスイッチ群621、マルチプレクサ群641、
およびポート・コントローラ55L1内の他の構成要素
(図示せず)の制御を行う。また、コントローラの構成
要素は、ステータス方法や他の情報を、図5のローカル
・アドレス・アービタ55L4に送信する。
【0037】図7は、図5の通常のメモリ・コントロー
ラ55L2の関連部分を示す。このチップは、ポート・
コントローラ55L1がDRAMメモリ・チップ521
の4個のバンクに対して行う機能と同様の機能を実行す
る。図5のローカル・アドレス・ルータ55L3からの
線911は、トランザクションをFIFO記憶部710
に供給する。クロスバー・スイッチ720は、これらト
ランザクションからのアドレスを、線721を介して4
個のメモリ・バンクに送出する。即ち、ユニット内に位
置するメモリ・セグメントのメモリ・アドレスの異なる
下位範囲(subrange)内にデータが位置する限り、同じシ
ステム・ユニット410上の多数のバンクが同時にデー
タの読み出しおよび書き込みを行うことができる。通常
の調停(アービトレーション)ロジック722が、個々
のFIFO710を種々の出力721に割り当てる。図
9からの線948は、このシステム・ユニットには見る
ことができるようにされていないトランザクションから
のメモリ・アクセスを取り消す(キャンセルする)。
【0038】図8は、図5のローカル・アドレス・アー
ビタ55L4の詳細を示す。各システム・ユニット41
0は、1つのLAAチップ55L4を含む。各ポート・
コントローラ55L1は、FIFOバッファ810内の
キューへのGAB要求信号を立ち上げる(raise)ことに
より、使用可能なグローバル・アドレス・バス55G1
の1つにおいて、ショット(shot)を要求することができ
る。これらの線は、図5に示した通常のポート制御線8
11の一部を形成する。調停ロジック820は、多数の
通常の公正アルゴリズムのいずれかを用いて、これらの
要求間で選択を行い、次いでGAB要求および方向制御
線821を立ち上げる。要求線は、ロジック820が特
定のグローバル・アドレス・バスへのアクセスを望んで
いるか否かについての指示を与える。グローバル・アド
レス・アービタ55G2が、線822上の特定のアドレ
ス・バスに対する要求を許可した場合、アービタ・チッ
プ55L4は、線823を通じて適切なLASチップ5
5L3に通知する。
【0039】LAA55L4は、多数の方法で、コンピ
ュータ400の動作を中断することができる。システム
・ユニット上でのパリティ・エラーのような致命的エラ
ーは、線824上でARBSTOP制御信号を発生することが
できる。即ち、LAAはARBSTOP制御信号の発生器とし
て作用する。通常のコンピュータでは、この信号は、制
御分配器460を通じて、他の各システム・ユニットの
LAA内のARBSTOP検出線827に直接同報通信する。
したがって、1つのユニットにおける致命的エラーが、
通常では、コンピュータ400全体の各システム・ユニ
ットを停止させることによって、ユーザ・データの汚染
(corruption)を回避すると共に、障害分析のための早急
のダンプ(dump)を許す。図10に関連付けて説明する
が、しかしながら、本コンピュータはこの信号を濾過(f
ilter)し、同じドメイン・クラスタ内のシステム・ユニ
ットだけが、当該ドメイン・クラスタ内のユニットの1
つからの出るARBSTOP信号を受けるようにする。
【0040】また、システム・ユニットは、他の全ユニ
ットに対するHOLD制御信号825を、それらの対応する
検出線上でアサートすることも可能である。通常では、
いずれのシステム・ユニットからのアウトバウンドHOLD
信号も、他の各ユニットの対応するインバウンドHOLD線
826に直接移動するので、当該システム・ユニットの
入力キューが保留中の処理で飽和したときはいつでも、
コンピュータ全体がそれ以上のトランザクションを要求
するのを禁止した。加えて、障害のあるシステム・ユニ
ット410は、連続してHOLDをアサートすることによ
り、コンピュータ全体を停止させる可能性がある。しか
しながら、図10では、この信号も濾過するので、線8
25上のアウトバウンドHOLDは、同じドメイン・クラス
タ内のシステム・ユニット群上の入来するHOLD826に
影響を与えるに過ぎない。
【0041】このように、ローカル・アドレス・アービ
タ55L4は、他のシステム・ユニットの動作に影響を
与える可能性がある、GAB REQ, ARBSTOP-out, HOLD-o
utのような制御信号の発生器として作用する。また、こ
れは、他のシステム・ユニットからのこれら制御信号GA
B GRANT, ARBSTOP-in, HOLD-inの受け取り側としても
作用する。従来のシステムであれば、全てのシステム・
ユニットからの出立制御信号を単に互いに結びつけ、そ
れらの他の全ユニットの受け取り側に送出するだけであ
る。しかしながら、本システムは、これらをドメイン・
フィルタに通すので、1つのLAAにおいて発生された
信号は、同じドメインまたはドメイン・クラスタ内のユ
ニットのみのLAAに影響を与えるに過ぎない。以下で
明らかとなろうが、他の動作装置も、異なるドメイン定
義にしたがって、ドメイン・フィルタが通過させたり、
阻止することができる制御信号の発生器および受け取り
側として作用する。
【0042】図9は、図4のドメイン・フィルタ480
の一部としての機能に集中して、図5のローカル・アド
レス・ルータ・チップ55L3を詳細に示す。その動作
全体は複雑であり、トランザクション毎に多数のサイク
ルを必要とするが、この場合の目的に必要なのは、図5
の各アドレス・バス55G1が所定のトランザクション
に対してアドレス・ビットおよびいくつかの制御信号を
搬送することのみである。
【0043】アウトバウンド・アドレス制御部910
は、線群911上の各ポート・コントローラ55L1
(図5)からのトランザクション・アドレスを受け取
り、それらを、エラー訂正コード発生器912を通じ
て、FIFOバッファ913に送出する。マルチプレク
サ914が、ローカル・アドレス・アービタ55L4に
よって確立され線823を通じて通信されるそれらの特
性に応じて、待ちアドレス(waiting address)をドライ
バ916を通して出グローバル・アドレス線915上に
選択的に結合する。
【0044】線1023上のVALID信号が、特定のシス
テム・ユニット410に対してトランザクションが有効
であることを知らせるときはいつでも、従来の入来アド
レス・スイッチ920が入来アドレス線922を通じ
て、受信部921においてグローバル・アドレス・バス
からのトランザクション・アドレスを受け取る。この線
がインアクティブのままである場合、LAS55L3が
対応するバス・サイクルをアイドル・サイクルとして扱
い、何の動作も行わない。有効なトランザクションから
のアドレスは、線923を通って直接メモリ・コントロ
ーラ55L2に進む。他のシステム・ユニットからのア
ドレスは、ECCデコーダ924およびキャッシュ・コ
ヒーレンシ・ユニット930を通じて、入来アドレス・
スイッチ925に進む。アドレスの中には、読み出し/
書き込み制御部926または応答制御部927を通じて
スイッチ925に進むものもある。最後に、スイッチユ
ニット925は、適正な線911への入来アドレスを、
ポート・コントローラ群55L1の1つに通過させる。
【0045】ブロック930は、通常の方法で、図5の
キャッシュ間のコヒーレンシを維持する。線931は、
キャッシュ制御部930が動作を中断すべきことを判定
した場合、それ自体のシステム・ユニットからCANCEL制
御信号を生成する。高性能システムは、多数のクロック
・サイクルにわたって、処理を思惑的に実行しつつ、平
行して当該処理は本当に実行すべきか否かについて判定
を行うことができる。この処理を実行する条件が満たさ
れない場合、出線931は、制御分配器460を通じ
て、他のシステム・ユニット群全ての入来CANCEL線93
2にCANCEL信号を同報通信する。これによって、キャッ
シュ制御部930はメモリ・コントローラ55L2への
MEM CANCEL線948をアサートし、データを変更できる
ようになる前に、いずれのメモリ動作の完了も禁止す
る。例えば、メモリがRAMから読み出しを行い、その
間に、システムはむしろ現在値がプロセッサ群の1つの
キャッシュ内に位置するか否かについて判定する。この
場合も、ドメイン・フィルタ480が、1つのシステム
・ユニットからのCANCEL-out信号931が、同じドメイ
ン・クラスタ内にはないユニットのCANCEL-in線932
に影響を与えるのを防止するので、各クラスタは、この
制御信号およびその他の制御信号に関しては、他のクラ
スタとは独立して動作することができる。線933も、
線948を経由するあらゆるボード上メモリの動作を取
り消す。これについては、以下で説明する。
【0046】システム400は、異なるシステム・ユニ
ット群410において発生および終了するトランザクシ
ョン、および同じユニットにおいて発生および終了する
トランザクションの区別を行わない。全てのトランザク
ションは、本システムにおけるグローバル・アドレス・
バスを通過する。何故なら、ドメインまたはクラスタ内
の各キャッシュ・コントローラは、同じ群の他のキャッ
シュ全てのキャッシュ線におけるトランザクションにつ
いて知っていなければならないからである。
【0047】各アービタ・チップ55L3における図4
のドメイン・フィルタ480のローカル部分940は、
同じシステム・ユニット410内の他のチップ55L3
の全てに配置されている部分940と同一であり、常に
それと同じデータを搬送する。しかしながら、ブロック
940の各コピーは、バス群55G1の異なる1つから
の入来アドレス線921を、線921を介して受け取
る。
【0048】比較器941は、線922からのアドレス
と、4個のレジスタ942および944〜946の各々
との間の一致を検出する。
【0049】ドメイン・マスク・レジスタ(DMR:dom
ain mask register)942は、コンピュータ400内
の可能なシステム・ユニット毎に1ビットとして、16
ビットを有する。所与のドメイン内の各システム・ユニ
ットにおける各ドメイン・レジスタ(の各コピー)に対
するビット位置は、同じドメイン内のシステム・ユニッ
トのその他の全レジスタ内に「1」ビットを含む。図4
の例を用いると、第1の4個のシステム・ユニット(4
10−0から410−3)を第1ドメインとして定義
し、次の2個(410−4および410−5)が第2ド
メインを形成し、次の2個(410−6および−7)は
第3ドメインを構成し、可能な16個のシステム・ユニ
ットの内8個のみがあると仮定する。すると、8個の実
装されたシステム・ユニット410のドメイン・マスク
・レジスタ942は、以下の値を含む。
【0050】
【表1】
【0051】ここでも、同じシステム・ユニット410
内のレジスタ942の4個のコピーは全て、同じ値を含
む。
【0052】線922は、現トランザクションを発行し
た特定のシステム・ユニット410の番号を表す信号を
含む。受信ユニットのDMR942の対応するビットが
オンになっていない場合、比較器941は、NON−DOMAI
N線943上に禁止信号を生成し、入来スイッチ925
がトランザクションを線911を通じて図5のポート群
55L1に渡すのを禁止する。また、比較器は、線94
9およびORゲート901を通じて、線948上にMEMO
RY CANCEL禁止信号を生成する。この信号は、現トラン
ザクションがドメイン外で発した場合に、メモリ・コン
トローラ55L2に、線923上のアドレスを無視する
ように命令する。これは効果的にドメインを分離し、他
のドメインで発生したトランザクションには不感応にす
る。
【0053】これまで述べてきたように、異なるドメイ
ンにおけるシステム・ユニット群は、図5の533のよ
うな専用配線によって相互接続される直列通信線のよう
な外部I/O装置を通じてのみ、互いにデータを交換し
合うことができる。大幅に高速化した方法により異なる
ドメインを協同させれば、コンピュータ400は多くの
用途に拡張されよう。このために、図4のドメイン・フ
ィルタ480は、多数のドメインを共に集合化し、1つ
のクラスタにすることも可能である。1つのクラスタ内
のドメイン群は、それらのメモリの一部または全部を互
いに共有し合うことができる。1つのドメイン内のプロ
セッサが、予め規定されている範囲のアドレス空間にデ
ータを書き込む場合、同じクラスタの他のドメイン内に
あるプロセッサはこのデータを読むことができる。即
ち、1つのクラスタ内の異なるドメインはある範囲の共
有メモリを有する。このメモリは、クラスタ内のいずれ
のシステム・ユニットにも物理的に位置することがで
き、図5のグローバル・アドレス・ルータ55G0を通
じてアクセスし、当該クラスタ内のあらゆるドメイン内
の他のいずれのシステム・ユニットに対するデータの転
送も、グローバル・データ・ルータ54G0を通じて行
うことができる。
【0054】ローカル・ドメイン・フィルタ940の各
コピー内に位置する共有メモリ・マスク・レジスタ94
4は、どのシステム・ユニットが、図10におけるクラ
スタ・レジスタ1020によって定義されるクラスタ内
の共有メモリとして、他のユニットにエクスポートすべ
き物理的RAM521を含むのかについて定義する。同
じシステム・ユニット内の各SMMR944の内容は同
一である。
【0055】各SMMR944は、コンピュータ400
内の可能なシステム・ユニット毎に1ビットとして、1
6ビットを有し、各システム・ユニット410は、コン
ピュータ400内のグローバル・アドレス・バス55G
1毎に1つのコピーとして、それ自体のSMMRのコピ
ーを4個有する。所与のクラスタ内のシステム・ユニッ
ト410−iにおけるSMMRに対するビット位置j
は、ユニット401−iがシステム・ユニット410−
jからのいずれかのメモリ・トランザクションに応答す
べき場合、「1」値を含む。図4に示した例に戻り、第
2ドメインの2個のユニット410−4,410−5が
第3ドメインの2個のユニット410−6,410−7
と共にクラスタを形成し、ユニット410−4は共有メ
モリを、ユニット410−6,410−7から成るドメ
インにエクスポートすると仮定する。即ち、ユニット4
10−4上に物理的に実装されたアドレス番号のメモリ
の内少なくともいくつかは、そのメモリが後者のユニッ
ト上に実装されているかのように、ユニット410−
6,410−7上のプロセッサによって、同じアドレス
番号の下で、読み出しおよび書き込みが可能である。
(この場合も、可能な16個のシステム・ユニットの内
あるのは8個のみなので、ビット位置8〜Fに対する値
は重要ではない。)したがって、システム・ユニット4
10のSMMRは、次の値を含む。
【0056】
【表2】
【0057】全てのレジスタにおいてビット位置8〜F
は「0」である。何故なら、それに対応するシステム・
ユニットが存在しないからである。ユニット410−0
ないし410−3には「1」の値がない。何故なら、こ
れらは同じドメインにあり、当該ドメインの中のユニッ
ト群には、メモリを他のドメインにエクスポートするも
のはないからである。ユニット410−4ないし410
−7に対するビット7までの「1」値は、これらのユニ
ットが、ユニット410−4ないし410−7全てから
の通常のメモリ・トランザクションに応答し、共有メモ
リを実施しなければならないことを示す。メモリはこれ
らのユニットの1つ(例えば、410−4)の上に位置
するが、特定の位置は、SMMR944から推論するこ
とはできない。共有メモリ上ではキャッシュ・コヒーレ
ンシが必要であるので、この共有メモリを用いるユニッ
トは全て、共有メモリを用いる他の全ユニットからの、
このアドレス範囲内のトランザクション全てを見ていな
ければならない。
【0058】システム・ユニットのメモリの全てが共有
されているか、あるいは全く共有されていないかを示す
には、レジスタ944のみで十分であろう。しかしなが
ら、殆ど全ての場合、クラスタのドメイン群間では、メ
モリの指定された部分のみを共有することが望ましい。
レジスタ945,946は、特定のクラスタにおいて共
有すべきアドレス範囲の境界を指定する。クラスタ内の
共有メモリに対するアクセスを有する、各システム・ユ
ニット上の各共有メモリ基底レジスタ(SMBR:shar
ed-memory base register)945は、共有すべきコンピ
ュータ400の全アドレス空間内の最下位アドレスを含
む。図4の例では、ユニット410−4は、アドレス'0
4 0000 0000'ないし'04 FFFF FFFF'のメモリを物理的に
収容するが、エクスポートするのは上位1GB、即ち、
アドレス'04 C0000 0000'から'04FFFF FFFF'までのメモ
リだけである。41ビットのアドレスの内、実際にレジ
スタ945に格納されるのは上位25ビットのみである
ので、共有メモリの細分性(granularity)は64Kバイ
トとなる。したがって、ユニット410−4ないし41
0−7のSMBRは値'004 C000'を含む。基底アドレス
値を全く保持しないSMBRを指定するには、種々の方
法が存在する。この例では、かかるレジスタは値'000 0
000'を保持する。(これらのアドレス上の上位側に追加
した'0'はアドレス空間ビットであり、'0'はメモリ・ア
ドレス、'1'はレジスタ940のアドレス自体のような
システム・アドレスを示す)。
【0059】同様に、同じクラスタ内の各共有メモリ制
限レジスタ(SMLR:shared-memory limit registe
r)946は、共有アドレス範囲の最上位アドレスの上
位25ビットを含む。この例では、システム・ユニット
410−4ないし410−7のSMLRは値'004 FFFF'
を保持し、最上位共有アドレスは、当該ユニット上の物
理メモリの最上位アドレス、即ち、'004 FFFF FFFF'と
同じであることを指定する。他の全ユニットのSMLR
は指定無効値'000 0000'を保持する。
【0060】
【表3】
【0061】レジスタ制御部947は、制御線1143
に、異なる値をレジスタ942,944,945,94
6にロードさせる。これは、ドメイン群およびクラスタ
群におけるシステム・ユニット群410の動的再構成、
および各クラスタの共有メモリの位置の動的再構成を可
能にする。図11および図12は、この機能をどのよう
に行うかを説明するためのものである。各レジスタ組9
40内に基底および境界レジスタ945,946の追加
コピーを配置すると、必要であれば、単一のドメイン・
クラスタ内において多数の範囲の共有アドレスが可能に
なる。あるいは、レジスタに基底アドレスおよび共有セ
グメント・サイズ、またはその他のパラメータを格納し
てもよい。
【0062】NON-DOMAIN線943を用いて、ドメイン以
外からの他のトランザクションを禁止するのと丁度同じ
ように、非共有メモリからのトランザクションを禁止即
ち阻止することも可能である。この構成は非メモリ・ト
ランザクションの迅速な制御を可能にするが、メモリの
濾過(filtering)が比較器941において必要な時間が
長くなる。メモリ・サブシステム520におけるレイテ
ンシは、図5の他のサブシステムにおけるレイテンシよ
りも重大であるので、比較器941は、現トランザクシ
ョンのタイプを示す、線922からの従来の信号も受け
取ることが好ましい。線923が非メモリ・トランザク
ションを指定する場合、線943は、前述のように線9
11を禁止するが、通常のメモリ・トランザクション
は、この時点では濾過せず、メモリ・サブシステム52
0に進み、ここでその実行のための準備が開始される。
しかしながら、比較器941は、このユニットのドメイ
ン(DMR942によって定義される)外のシステム・
ユニットから発するいずれの通常のメモリ・トランザク
ションに対しても、MEMORY CANCEL線948を活性化す
る。このメモリ・トランザクションに対して、レジスタ
945,946は、他のドメインと共有するメモリの範
囲外にあることを示す。即ち、このメモリ・トランザク
ションはSMMR944に示されないシステム・ユニッ
トから発したメモリ・トランザクションである。次に、
この線948は、図7のスイッチ720においてトラン
ザクションを直接阻止し、その処理が部分的に既に開始
されていても、トランザクションが図5のバンク群52
1のいずれに格納されているデータにも実際に影響を及
ぼすのを防止する。
【0063】こうして、コンピュータ400は、ドメイ
ン群およびクラスタ群間の「ソフトウエア分離」を達成
した。異なるドメインは、例えば、全く異なるオペレー
ティング・システムを実行させてもよく、互いに干渉し
合うことはない。更に、エラーが他のドメイン・クラス
タ内のシステム・ユニットの動作のみに影響をあたえる
場合に、図4の制御バス460からのハードウエア・エ
ラー信号がシステム全体を破壊し得ないように、コンピ
ュータ内に「ハードウエア分離」を設けることが残って
いる。例えば、システム・ユニット410−0内のEC
Cブロック924によって検出されたエラーは、410
−5のようなシステム・ユニットに影響を与えない。何
故なら、これらのハードウエア・ユニットはむしろ互い
に独立して動作しており、一方のユニットにおけるハー
ドウエア障害が他方で実行中の処理には全く影響を与え
ないからである。
【0064】図10は、図4のドメイン・フィルタ48
0の4個の同一グローバル部分の1つを含む、図5の4
個のグローバル・アドレス・アービタ55G2の1つを
詳細に示す。図10におけるアービタ55G2は、4系
統のグローバル・アドレス・バス(GAB)55G1の
内第1バス55G1−0を制御すると仮定する。このア
ービタは、コンピュータ400内の各システム・ユニッ
ト410上に配置された、図8のローカル・アドレス・
アービタ(LAA)820からの4本のGAB−要求線
821の1本を受け取る。LAA55L4が、そのシス
テム・ユニット上のどのポートが、4系統のグローバル
・バスの各々に対する次のアクセスを得るに値するかを
決定したときはいつでも、その線821は、アービタ・
ロジック1010によって制御されるGABを通じて、
トランザクションを同報通信する要求をアサートする。
コンピュータ400は4個のGAB55G1を有するの
で、各ローカル・アービタ55L4から4個のグローバ
ル・アービタ55G2までに、4本の別個の線821が
通っている。
【0065】調停ロジック1010は、多数の従来から
のアルゴリズムのいずれかを用いて、16本の許可線1
013の内1本を立ち上げることによって、そのGAB
55G1(図5)の転送サイクルを、16個のシステム
・ユニット410の1つのLAA55L4に割り当て
る。従来のシステムにおけると同様、許可信号は、図8
の線822を通じて、システム・ユニットのLAA55
L4の各々に直接戻ってくる。この場合フィルタ・ロジ
ック1022を無視し、選択されたLAS55L3から
発したアドレス・トランザクションは、そのGAB55
G1を通じて、16個の全システム・ユニット上の対応
するLASに伝搬する。グローバル・アドレス・ルータ
450の次の転送動作において、グローバル・アドレス
・アービタ55G2は、アドレスをその対応するGAB
55G1に通過させるために、ローカル・アドレス・ス
イッチ55L3に信号を送るように、選択されたLAA
55L4に命令する。成功したトランザクションのGRAN
T線1013は、全てのシステム・ユニットに、それら
のどれが当該GAB55G1上のトランザクションを発
したかを示す。受信側システム・ユニットは、トランザ
クションを受け取ったときに、トランザクション自体に
ある情報から、ソース・ユニットを識別する。ローカル
・データ・ルータ54L2は、グローバル・データ経路
群54G1の内どれが、成功したトランザクションによ
って要求されるあらゆるデータを搬送するかについて、
図5のデータ・アービタ54L3,54G2と交渉を行
う。
【0066】本発明によるマルチ・ドメイン・コンピュ
ータでは、ドメイン・フィルタ480のグローバル部分
は、物理的に、各グローバル・アドレス・アービタ55
G2を伴う。16個の可能なシステム・ユニット410
の各々に1つある、クラスタ・レジスタ1021のバン
ク1020が、16本の許可信号線1013を受ける。
個々のクラスタ・レジスタ1021−iは各々、16個
のシステム・ユニット410−j毎に、1つのビット位
置1021−i−jを有する。例えば、第1レジスタ1
021−0の「ユニット−3」の位置における'1'の値
は、システム・ユニット410−3が、システム・ユニ
ット410−0と同じクラスタ内にあることを示す。以
下の表は、上述の例示構成に対する、レジスタ1021
の内容を示す。
【0067】
【表4】
【0068】16個の可能なシステム・ユニット全てに
レジスタが常に装備されている。レジスタ1021−8
ないし1021−F内の値は、図4では実装されていな
いシステム・ユニットに対応し、重要ではない。しかし
ながら、「1」を全ての診断ビット位置(即ち、レジス
タiの位置i)に割り当て、「0」をそれ以外の位置に
割り当てることにより、システム内に既にある他のいず
れのユニットとも干渉せずに、システム・ユニットをコ
ンピュータ400の動作中に差し込むことができると共
に、単体の診断を直ちに実行することができる。
【0069】フィルタ・ロジック1022は、レジスタ
1021内のクラスタ定義に応じて、許可線1013を
線1023に結合する。各線1023は、それに対応す
るシステム・ユニット410に、「グローバル・アドレ
ス有効」(VALID)信号822として到達する。図
3の300のような通常のシステムでは、VALID信号
は、単に、バス上の現トランザクションが有効であり、
全てのシステム・ユニットに同報通信されていることを
示すタイミング信号に過ぎない。一方、本システム40
0では、異なるクラスタ内にある多数のシステム・ユニ
ットが同じアドレスを有することができ、発生元と同じ
クラスタ内にある受信側はそのトランザクションを受け
なければならず、他のクラスタ内にあるシステム・ユニ
ットは、いずれのトランザクションが当該システム・ユ
ニットに対応するアドレスを保持していても、それが発
生していることを完全に無視し続けなければならない。
【0070】通常の単一ドメイン・コンピュータでは、
図8のいずれのLAA55L4からのHOLD信号825
も、コンピュータ全体の他のシステム・ユニット410
毎のLAA55L4内のそのGABに向かう線826に
伝搬されるだけである。しかしながら、コンピュータ4
00では、各GAAチップ55G2上にある他のフィル
タ・ロジックの組1026によって、クラスタ・レジス
タ1020によって定義されるように、HOLD信号825
は同じハードウエア群内の他のシステム・ユニットに属
する線826のみに到達することができる。ARBSTOP信
号824も同様に動作する。1つのシステム・ユニット
によってアサートされたSTOPは、他の全LAAに向かう
入来ARBSTOP線826に単に接続されるのではなく、レ
ジスタ1020によって指定された他のユニット群のみ
に到達する。このドメイン・フィルタ480のグローバ
ル部分は、他の制御信号に対するフィルタ・ロジックの
各組も同様に含んでいる。例えば、いずれかのシステム
・ユニットの図9のキャッシュ・コントローラ930に
よってアサートされたCANCEL信号931は、フィルタ・
ロジック1028が許す場合にのみ、入来CANCEL線92
3を通じてトランザクションをキャンセルすることがで
きる。1022および1026〜1028のようなフィ
ルタ・ロジックは全て、線1025によってクラスタ・
レジスタ群1021に並列に接続されている。
【0071】制御ユニット1024は、クラスタ定義を
動的に再構成するために、線1144がレジスタ群10
21に異なる値をロードすることを許可する。実施態様
の選択として、各グローバル・アービタ55G2は同一
の集積回路を占有し、その各々は、同じクラスタ・レジ
スタおよびフィルタ・ロジックの組を重複して含んでい
る。クラスタ・レジスタの組には全て、同じ格納値集合
がロードされる。
【0072】図14は、1022または1026〜10
28のような1組のドメイン・フィルタ・ロジックを実
施する回路1400の詳細を示す。図14はロジック1
022をパラダイム(paradigm)として用い、その場合の
回路1400に対する信号指定を示す。図示を容易にす
るために、図14は、ビット線1025のみでなく、ク
ラスタ・レジスタ1021自体も示している。
【0073】線1023−0はそのハードウエア・ドメ
イン・クラスタ内のいずれかのシステム・ユニットがト
ランザクションを開始したときはいつでも、システム・
ユニット410−0へのVALID信号をアサートする。ユ
ニット410−0に関連するGRANT信号1013−0
は、レジスタ1021−0のビット1021−0−0が
「1」値を含み、当該ユニット410−0がそれ自体の
クラスタの中にあることを示す場合、ANDゲート14
01−00を満足する。次に、論理ORゲート1402
−0が出力1023−1をアサートし、それをシステム
・ユニット410−0に戻す。システム・ユニット41
0−1からのGRANT線1013−1がアサートされる
と、これら2個のユニットが同じクラスタ内にある場
合、ユニット410−0に向かう線1023も立ち上げ
る。同じクラスタ内にある場合、1013−1が立ち上
がったときに、レジスタ1021−0のビット1(簡略
化のためビット1021−0−1と呼ぶ)の値「1」が
ANDゲート1401−01およびOR1402−0を
満足する。このバンク内の残りの14個のANDゲート
も、1021−0−Fを通じて、レジスタ・ビット群1
021−0−2に対して同様に動作する。
【0074】ゲート1401−10ないし1401−1
Fおよび1402−1は、同様に機能し、同じドメイン
・クラスタ内のシステム・ユニットがトランザクション
を申し出た場合にはいつでも、VALID信号1023−1
をシステム・ユニット410−1に対して生成する。1
4個の追加のゲート・バンクが、1023−Fを通じ
て、残りの線を処理する。通常、レジスタ群1021の
内容は対角行列(diagonal matrix)を形成するので、ビ
ット1021−i−jは常にビット1021−j−iと
同じ値を有する。また、各ユニットは通常それ自体のク
ラスタのメンバであるので、全ての主対角ビット102
1−i−iは常に「1」である。
【0075】図11は、図4のコンフィギュレータ42
0がコンピュータ400内においてドメイン群およびク
ラスタ群を動的に設定する態様を示す。
【0076】図4の通常の制御およびサービス・ユニッ
ト470は、標準的なワークステーション1120と通
信する、既に使用可能な専用サービス・プロセッサ11
10の形態を取り、遠隔コンソールとして機能する。こ
れら2個のユニットは、ケーブルまたはその他のリンク
1122によって結合されている、標準的なアダプタ1
111,1121を通じて互いに通信する。コンソール
1120は、アダプタ1123によって、それ自体の入
出力装置(図示せず)に接続されてもよい。サービス・
プロセッサのI/Oアダプタ群1112は、コンピュー
タ400内の多数の機能を感知し制御する。例えば、線
1113は、コンピュータ全体のために、給電および冷
却サブシステム1130にインターフェースする。線1
114は、図4の制御分配手段440内の多数の線に接
続する。
【0077】コンピュータ400内に実施されている通
常の機能の1つとして、1組の線1115を通じて、1
116で示すような種々の要素に、記憶されている検査
パターンを送ることにより、その論理回路に対して検査
を行うことができる機能がある。これらの線の従来の機
能は、K.P. Parker, THE BOUNDARY-SCAN HANDBOOK (Klu
wer Academic Publishers, 1992)のような引用文献に記
載されている、境界スキャン検査(boundary-scan test)
を実施するためにある。当業者は、通常このプロトコル
を「JTAG規格」と呼んでいる。
【0078】コンフィギュレータ420は、追加機能に
対して、既存のJTAG線1115を選定する(coopt)。通
常、これらの線は、コンピュータ400全体にわたる多
くのチップに従来からのアドレス線およびデータ線を提
供し、これらのチップの機能を検査することを目的とし
ている。LAS55L3およびGAA55G2のための
チップの中では、図9の制御ロジック947、および図
10の制御ロジック1024は、JTAG線1143,11
44上のある所定の信号の組み合わせを検出する。これ
らの線は、ドメインおよびクラスタ仕様を線1143に
搬送し、図5および図9に示すように、選択されたシス
テム・ユニット410のローカル・アドレス・ルータ群
55L3内のフィルタ・レジスタ群940の内容をロー
ドする。また、線1142は、クラスタ仕様を線114
4に搬送し、図5および図10に示すように、グローバ
ル・アドレス・アービタ群55G0と関連するフィルタ
・レジスタ1020にロードする。JTAGまたは他のかか
る線を既に適所に有していないシステム群400は、サ
ービス・プロセッサ1110からの専用線を用いて、容
易に制御線1143,1144として使用したり、構成
機能を実行するために他の線に切り替えることができ
る。これらの線は、単に、偶然この特定の実施態様にお
いて容易に使用可能であるに過ぎない。他の代替案とし
て、レジスタ940,1020をシステム・メモリ空間
内の小さなメモリ・ブロックとして扱うというものがあ
る。先に注記したように、コンピュータ400は、'10
0000 0000'から'1F FFFF FFFF'までのかかる空間を、そ
の全範囲として有している。
【0079】サービス・プロセッサ470の形態にはな
んらクリティカルな点はない。場合によっては、この機
能のために、物理的に別個の実体を有することなく、通
常のシステム自体の一部を使用することですら可能な場
合もある。実際、好適なコンピュータ400は、必要で
あれば、システム・ユニット自体が、ドメイン・コンフ
ィギュレータの機能のいくつかを提供することを可能に
している。システム・ユニット410内で実行されるオ
ペレーティング・システム内の特権ソフトウエア(privi
leged software)も、現行の共有メモリ・ブロックを指
定し直すために、図9の共有メモリ・レジスタ945,
946に書き込むことができる。また、サービス・プロ
セッサも、システム・ユニット群がI/Oコントローラ
1112内のステータス・ワードの構成ビットをセット
することによって、選択的にレジスタ944に書き込む
ことを可能にし、これは制御線1114の1本に現れ
る。
【0080】図12は、コンピュータ400内のドメイ
ン群およびクラスタ群を動的に構成する方法1200を
記載したものである。図12において右向きのブロック
は遠隔コンソール1120内で実行され、左向きのブロ
ックは、先に述べた実施例の図11のサービス・プロセ
ッサ1110において実行される。ブロック群1210
は、構成プロセスを設定する。ブロック1211はオペ
レータの命令に応答して、構成モードを開始する。ブロ
ック1212はレジスタ940,1020をデフォルト
値に初期化する。好ましくは、全てのレジスタ942
は、それらをそれ自体のドメインに置く位置に「1」ビ
ット、その他の位置に「0」を受ける。全てのレジスタ
944〜946は、共有メモリがエクスポートされない
ことを示す値を受ける。レジスタ群1020は、好まし
くは、対角ストライプ(diagonal stripe)の1ビットを
除いて「0」を含む。これは、各システム・ユニットが
それ自体クラスタ内にあることを示す。
【0081】ブロック群1220は、図4のドメイン・
フィルタ480の構成を設定する。ブロック1221に
おいて、遠隔コンソールにおけるオペレータが構成すべ
き特定のドメインを選択し、当該ドメインに属するシス
テム・ユニット410の番号をブロック1222におい
て入力する。次に、サービス・プロセッサ1110が線
1115,1142に信号を送出し、ブロック1223
において、図9のドメイン・マスク・レジスタ942に
適正な値をロードする。ブロック1224は、各ドメイ
ンをそれ自体のクラスタにするために適切なレジスタ群
1020を設定する。このステップはいずれの時点で実
行してもよいが、本実施例では、ドメイン群がクラスタ
に組み込まれる場合にも、クラスタ・レジスタを設定す
ることが必要である。ブロック1225は、オペレータ
が構成すべき追加のドメインを指定し終わったなら、制
御をブロック1221に戻す。その他の場合、ブロック
1226は、設定すべきマルチ・ドメイン・クラスタが
未だあるか否かについて問い合わせを行う。
【0082】未だある場合、ブロック1230はいずれ
か所望の共有メモリを設定する。ブロック1231にお
いて、オペレータは、メモリをエクスポートするシステ
ム・ユニット410の1つを選択し、ブロック1232
において、当該メモリをインポートするドメインを選択
する。(システム・ユニットは、その物理的に実施され
ているメモリが他のシステム・ユニットに使用可能な場
合、メモリを「エクスポート」し、他のシステム・ユニ
ットは、それがインポート側ユニット上に位置している
かのように、そのメモリを「インポート」する。)ブロ
ック1233において、図9に関連して説明したよう
に、適切なレジスタ群944にロードする。ブロック1
234では、図10に関連して説明したように、レジス
タ群1020内の適切なビットをセットする。ブロック
1235において、共有メモリ範囲の基底アドレスの値
をオペレータから受け取る。ブロック1236では、こ
れを適正なSMBレジスタ群945に入力する。ブロッ
ク1237では、対応する制限アドレス値を受け取り、
ブロック1238においてこれをSMLR群946にロ
ードする。オペレータが追加のクラスタを定義したい場
合、ブロック1226は制御をブロック1231に戻
す。その他の場合、手順1200は終了する。図12に
示す一連のステップには大多数の変形が可能である。同
様に、コンピュータ上の他のタスクに関するルーチン1
200のタイミングも重要ではない。更に、コンピュー
タ400内の特権ソフトウエアが、オペレータの代わり
にルーチン1200を実行してもよい。破線1201
は、再構成が、コンピュータ・ハードウエアに手作業の
変化を加えることなく、オペレータまたはソフトウエア
のいずれかによって、繰り返し実行可能であることを象
徴的に示している。
【0083】システム・ユニット群410は、任意にド
メイン内に組み込むことができるが、明らかにドメイン
およびクラスタは全て、少なくとも1つのプロセッサが
実装されている少なくとも1つのシステム・ユニット、
およびメモリを含むシステム・ユニットを含んでいなけ
ればならない。ドメインまたはクラスタは、殆ど常に、
その1枚以上のシステム・ボード上に、いくらかのI/
O設備を含んでいる。これらの資源がどのようにしてド
メインまたはクラスタ内の種々のシステム・ボード間で
分配されるかは、しかしながら、任意である。方法12
00は、システム400全体およびそのオペレーティン
グ・システム(群)の正常動作の間に、ドメイン群およ
びクラスタ群を構成することができる。複雑性および些
細な間違いの可能性を回避するために、オペレーティン
グ・システム群のいずれもがブートされる前に、システ
ムが特殊状態にある場合にのみ再構成を許可することが
賢明である。
【0084】図13は、典型的なトランザクション13
00の簡略図であり、正常動作の間、即ち、図12のブ
ロック1242がコンピュータ400の構成を完了した
後の、コンピュータ400におけるドメイン群およびク
ラスタ群の効果を強調したものである。トランザクショ
ン1300は、コンピュータ400が16個のシステム
・ユニットの最大の補集合(complement)を含むことを想
定している。トランザクションは線1301にて開始す
る。
【0085】ブロック1310は、図13の多数の列で
象徴化されているように、全てのシステム・ユニット4
10上で実行される。これらは、異なる2個のシステム
・ユニット間または同じユニット内のいずれかにおい
て、トランザクション要求を開始する。要求群は、1個
以上のシステム・ユニットのいずれか1個以上のポート
がブロック群1311のいずれかにおいてトランザクシ
ョンを要求したときにはいつでも、非同期にかつ同時に
進行する。ブロック群1312において、ローカル・ア
ービタ55L4は、多数のトラフィック等化優先アルゴ
リズムのいずれかに基づいて、システム・ユニット上の
要求元ポートを1個選択し、処理を進める。
【0086】ブロック群1320は、全てのトランザク
ションについてアドレスを送信する。線1321−0な
いし1321−Fで示すように、各ブロック1322
は、全てのシステム・ユニット410−0ないし410
−Fからトランザクション要求を受け取り、システム・
ユニットへのバス群55G1の1つに許可を与える。4
個のグローバル・アドレス・アービタ55G2の各々は
標準的な公正方法を用いて、ブロック1322を並列に
実行し、その特定バス55G1を競合するトランザクシ
ョン間で割り当てる。次に、ブロック1323は、ライ
ン1324によって示すように、そのブロック1322
によって選択されたシステム・ユニットからのアドレス
を、16個のシステム・ユニット全てに同報通信する。
ここでも、本実施態様における4系統のバス55G1の
各々は、かかる他のバス全てと同時に、別個のアドレス
を同報通信することができる。
【0087】ステップ1330において、各バス55G
1上のトランザクションを濾過し、適切なシステム・ユ
ニット410−0ないし410−Fのみがトランザクシ
ョンに作用することを許可されるようにする。別個のブ
ロック群1330が各システム・ユニット毎の各グロー
バル・アドレス・バス毎に存在するので、本実施例で
は、4x16=64個のブロック1330がある。各ブ
ロック1330は、レジスタ群1020から同時に、そ
のシステム・ユニットが、そのバス上のトランザクショ
ンの送出側ユニットと同じクラスタ内にあるか否かにつ
いて判定を行う。(単一のドメインはそれ自体が、レジ
スタ群1020においてクラスタとして定義されること
を思い出されたい。)ない場合、システム・ユニットは
このトランザクションを無視し、制御は出力1302に
渡る。その他の場合、制御は1340に渡る。
【0088】ブロック群1340の別個の組が、各シス
テム・ユニット内の各グローバル・アドレス・バスに対
して現れる。即ち、4x16=64組のブロックが現れ
る。ブロック群1341は、トランザクションが線92
2に沿って図9の比較器941に移動する際に、GAB
55G1上のトランザクション自体からソース・ユニッ
トの番号を読み出す。ソース・ユニットが、それが位置
するユニットと同じドメイン内にないことを、ドメイン
・マスク・レジスタ942が明らかにした場合、ブロッ
ク1341は制御をブロック1342に渡す。共有メモ
リ・レジスタ944が、そのシステム・ユニットがメモ
リをソース・ユニットと共有していることを検出した場
合、ブロック1342からブロック1343に移動す
る。線922上を搬送されているトランザクションのア
ドレスが、レジスタ945内に格納されている基底アド
レスを超えることを、比較器941が示す場合、ブロッ
ク1344は、そのアドレスが、レジスタ946内に格
納されている共有メモリの上限より下にあるか否かにつ
いて検査を行う。そのシステム・ユニットが現トランザ
クションには関わっていないことを示す各ブロック13
30の各組について、終了1345において、その場所
におけるトランザクションを終了する。しかし、いずれ
かのフィルタ・ブロック・チェーン1330〜1340
が同じドメイン、または同じクラスタおよび適切なアド
レス範囲を感知した場合、線1346は、当該システム
・ユニットに対するブロック1350に制御を渡す。
【0089】ブロック1350は、要求元システム・ユ
ニットから、目標ユニット内の適正な宛先への実際のト
ランザクションを実行する。これには、データ・ルータ
440を通じてのあらゆる要求データの転送が含まれ
る。(先に注記したように、多くの異なるタイプのトラ
ンザクションがある)。点1302は、トランザクショ
ンの完了を印すものである。いずれの所与の時点におい
ても、フローチャート1300の同一ブロックまたは異
なるブロックにおいて、いくつかの異なるトランザクシ
ョンが進行中である可能性があり、その各々が他とは独
立して進行する。
【0090】図15は、好適実施例に追加して、他のタ
イプのハードウエア障害がそれ自体のドメイン・クラス
タ外のシステム・ユニットに影響を与えるのを防止する
ことを可能にする、追加のドメイン・フィルタを示す。
ドメイン・フィルタ480は、これまで述べたように、
システム・ユニット410または図5のアドレス・ルー
タ55G0内のエラーの影響が、同じドメイン・クラス
タ内にはない他のシステム・ユニットに及ぶのを制限す
る。
【0091】図5との関連およびその他において説明し
たように、トランザクションは、1つのシステム・ユニ
ットから、グローバル・データ・ルータ54G0上の他
のシステム・ユニットへのデータ転送を伴う場合があ
る。グローバル・データ・アービタは、システム・ユニ
ット全てから従来の信号1510を受け取る。例えば、
システム・ユニット410−0のローカル・データ・ア
ービタ54L3からの線1510−0は、当該ユニット
410−0から、図4のシステム・ユニット410−0
ないし410−Fの特定の1つに転送を要求する場合が
ある。線1501−1は、システム・ユニット410−
0ないし410−Fのどれが、ユニット410−0から
の転送を受け取るか等を指定する。調停出力1520
は、データ線1530の1本からのデータが、線153
0の他の1本に流れることを可能にすることによって、
データ経路を確立する。例えば、ロジック54G2が、
データをユニット410−0から410−1に搬送す
る、線1510−0の要求を許可した場合、FROM-0線1
521はデータ・バス54G1を線1530−0に結合
し、TO-1線1540−1は直接TO-1線1580−1に結
合され、線1530−1がデータをユニット410−1
に送出可能とする。
【0092】正常状態の下では、この構成はコンピュー
タ400のドメイン構造には透過的である。しかしなが
ら、誤ってデータを違うシステム・ユニット(同じドメ
イン・クラスタ内のものではないシステム・ユニット)
に送出する障害は、他のクラスタにおけるシステム・ユ
ニットの動作を中断させる可能性がある。例えば、図4
のユニット410−0が同じドメインS1内のユニット
410−3にデータを送ろうとしたが、エラー信号がそ
れを代わりに(または付加的に)ユニット410−7に
送った場合を想定する。このような障害は、ドメイン・
フィルタ480によって実施されている分離を迂回し、
ドメインS1がドメインS2,S3の動作に影響を及ぼ
す可能性がある。これを「トランスグレッション・エラ
ー(transgression error)」と呼ぶ。
【0093】別のフィルタ・ロジック1550が、実行
しようとしたクラスタ外データ転送を通知することによ
って、この可能性を根絶する。図10のレジスタ群10
20と同一の、別の組のクラスタ・レジスタ1560が
コンピュータ400のクラスタ定義のコピーを保持し、
線1565を通じてそれらをロジック1550に渡す。
ロジック1550は図14のフィルタ・ロジック140
0と同様に、AND/OR回路で構築する。ロジック1
550は、2組の出力を生成する。出力1570は、図
8および図10に示した信号824と同じ種類のARBSTO
P信号を生成する。これらは、不適切なデータ転送を開
始したソース・システム・ユニットを停止させる。出力
1580は、不適切な要求を行ったソース・ユニットと
同じクラスタにはないあらゆるシステム・ユニットに、
この転送が影響を及ぼすのを防止する。上述の例を続け
ると、システム・ユニット群410、要求線1510等
における障害のために、データ経路54G1が正しくな
い組の線1530を活性化する可能性がある。しかしな
がら、データ・ルータ・フィルタ・ロジック1550
は、レジスタ1560内のビットによって定義されてい
るように、ユニット410−0から適正な宛先は、同じ
ドメイン・クラスタ内のユニット410−1,410−
2,410−3のみであることを検出する。410−7
を宛先として指定するTO-7のような不適切な信号154
0は、ARBSTOP-0線1570−0を活性化し、このユニ
ット410−0が違法の転送を行おうとしたことを示
し、このユニットを停止する。即ち、ARBSTOP信号はソ
ース・ユニット、および同じドメイン・クラスタ内の他
のユニットに到達するので、ドメイン・クラスタCA内
のエラーは、当該ドメイン・クラスタCA内のシステム
・ユニットに影響を与えるに過ぎない。
【0094】また、ロジック1550は、クラスタ・レ
ジスタ群1560内の定義を用いて、FROM信号を発行し
たユニットと同じクラスタ内にない宛先ユニットに、い
ずれのTO信号1540が到達するのも禁止する。本例で
は、TO線1540−0ないし1540−3のいずれかが
アサートされると、対応するTO線1580−0ないし1
580−3に渡され、対応するシステム・ユニット41
0−0ないし410−3をイネーブルし、線1530−
0ないし1530−3上のデータを受け取る。一方、線
1520−0上のFROM信号およびTO信号1550−7の
同時発生、即ち、異なるクラスタ内のユニットに向けた
ものは、ロジック1550によって阻止される。したが
って、対応するTO線1580−7は休止状態のままであ
り、データ経路54G1はデータをシステム・ユニット
410−7に渡さない。このように、フィルタ・ロジッ
クは、トランスグレッション・エラーが発生すると、デ
ータ転送を開始したユニットにARBSTOPを送出すること
によって、このユニットを遮断し、そのTO線を禁止する
ことにより、この転送が宛先ユニットにいかなる影響を
及ぼすことも防止するので、当該ユニットには実際に何
の転送も許可されることはない。
【0095】図15は、図4のクロスポイント・データ
・ルータ440の一データ経路を示すに過ぎない。追加
のデータ経路も同様に機能し、単に追加の組のフィルタ
・ロジック1550を必要とするだけである。更に、各
データ経路は、更に障害の分離や冗長性のために、多数
の部分に分割してもよく、図15の動作に影響を与える
ことはない。
【図面の簡単な説明】
【図1】従来技術のバス指向マルチプロセッサ・デジタ
ル・コンピュータの概念概略図。
【図2】多数のシステム・ユニットを有するコンピュー
タの同様の概略図。
【図3】本発明の概念にしたがって、図2のコンピュー
タをシステム・ドメインおよびクラスタに分割した場合
の構成図。
【図4】本発明がいかにして図2のコンピュータを図3
のドメインおよびクラスタに分割するかを示す図。
【図5】他のコンピュータ・システム・ユニットの関連
部分を含む、図4の完全に構成したシステム・ユニット
のブロック図。
【図6】図5のポート・コントローラの詳細図。
【図7】図5のメモリ・コントローラの詳細図。
【図8】図5のローカル・アドレス・アービタの詳細
図。
【図9】本発明によるドメイン・フィルタのローカル部
分を含む、図5のローカル・アドレス・ルータの詳細
図。
【図10】ドメイン・フィルタのグローバル部分を含
む、図5のグローバル・アドレス・アービタの詳細図。
【図11】図4のドメイン・コンフィギュレータを示す
図。
【図12】本発明にしたがってコンピュータをクラスタ
化システム・ドメインに構成する方法を示すフロー・チ
ャート。
【図13】本発明のドメイン・フィルタリングを強調し
た、トランザクション処理のフロー・チャート。
【図14】ドメイン・フィルタ内で使用する論理回路の
詳細図。
【図15】ドメイン・フィルタの任意の更に別のグロー
バル部分を含む、図5のグローバル・データ・アービタ
を示す詳細図。
【符号の説明】
100 コンピュータ 110 プロセッサ 120 メモリ・ボード 130 I/Oボード 140 データ・バス 150 アドレス・バス 160 制御分配バス 170 サービス・ユニット 200 アーキテクチャ 210 システム・ユニット 240,250 高速ルータ 260 制御分配バス 300 コンピュータ 310 システム・ボード 340 データ・ルータ 350 アドレス・ルータ 360 制御分配手段 370 システム・コントローラ 400 コンピュータ 410 システム・ユニット 440 データ・ルータ 450 アドレス・ルータ 460 制御バス 480 ドメイン・フィルタ 510 プロセッサ・サブシステム 511 マイクロプロセッサ 512 キャッシュ 520 メモリ・サブシステム 521 メモリ 522 パック/アンパック・モジュール 530 入出力サブシステム 531 システムI/Oバス 532 I/Oアダプタ
───────────────────────────────────────────────────── フロントページの続き (71)出願人 597004720 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America (72)発明者 アンドリュー・ジェイ・マククロクリン アメリカ合衆国カリフォルニア州92123, サン・ディエゴ,ウォーカー・ドライブ 2831 (72)発明者 ニコラス・イー・アネシャンズレー アメリカ合衆国カリフォルニア州92129, サン・ディエゴ,ペナノヴァ・ストリート 11382

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】 オペレータからの命令によって可変的に
    構成可能なハードウエア・ドメイン群を有するマルチプ
    ロセッサ・コンピュータであって、 一連のトランザクションを実行する複数の別個のシステ
    ム・ユニットであって、各システム・ユニットは前記コ
    ンピュータ内で個別に物理的に除去および交換可能であ
    り、その各々が、 所定のグローバル範囲内においてアドレスを発生するプ
    ロセッサ・ユニット、 前記所定のグローバル範囲内の1組のアドレスにおいて
    データを格納するメモリ・ユニット、及び前記所定のグ
    ローバル範囲内の1組のアドレスを発生および/または
    受信する入出力アダプタ、の少なくと1つを含む前記シ
    ステム・ユニットと、 前記システム・ユニットに結合され、前記システム・ユ
    ニットのいずれかにおいて発生されたアドレスを、前記
    システム・ユニットの他のユニットに転送するグローバ
    ル・アドレス・ルータと、 前記システム・ユニットのいずれかからのデータを、前
    記システム・ユニットの他のユニットに転送するグロー
    バル・データ・ルータと、 前記システム・ユニットのいずれかから前記システム・
    ユニットの他のものに複数の制御信号を通信し、前記い
    ずれかのシステム・ユニットにおいて発生した状態に応
    答して、前記システム・ユニットの全ての動作に影響を
    与える制御信号分配器と、 前記コンピュータを複数のソフトウエア構成可能ハード
    ウエア・ドメインに電子的に分割し、各々が、前記コン
    ピュータ内の前記システム・ユニットのあらゆる物理的
    再接続から独立した、前記システム・ユニットの任意の
    サブセットから成るドメイン・コンフィギュレータと、 前記命令に応答して、前記ドメイン・コンフィギュレー
    タに、前記システム・ユニットのどれが前記ハードウエ
    ア・ドメインの各々に属するのかを指定するコンピュー
    タ・コントローラと、 前記システム・ユニットの全てに結合され、前記システ
    ム・ユニットの内前記ドメインの1つの中のものにおい
    て発した前記制御信号の少なくともいくつかが、前記シ
    ステム・ユニットの内前記1つのドメイン外のあるもの
    に影響を与えるのを電子的に禁止するドメイン・フィル
    タと、を備えたマルチプロセッサ・コンピュータ。
  2. 【請求項2】 請求項1記載のコンピュータにおいて、
    前記ドメイン・フィルタは、前記グローバル・ルータの
    少なくとも1つに結合され、前記システム・ユニットの
    内前記ドメインの1つの中のものにおいて発生した、前
    記1つのグローバル・ルータ上のトランザクションが、
    前記システム・ユニットの内前記1つのドメイン外のあ
    るものにおいて受け取られるをの禁止するコンピュー
    タ。
  3. 【請求項3】 請求項2記載のコンピュータにおいて、
    前記1つのグローバル・ルータは前記グローバル・アド
    レス・ルータであるコンピュータ。
  4. 【請求項4】 請求項3記載のコンピュータにおいて、
    前記グローバル・アドレス・ルータは、前記システム・
    ユニットの全てに結合され、前記システム・ユニットの
    異なるサブセット間で同時に複数のトランザクションを
    搬送する複数の経路を有するコンピュータ。
  5. 【請求項5】 請求項2記載のコンピュータにおいて、
    前記1つのグローバル・ルータは前記グローバル・デー
    タ・ルータであるコンピュータ。
  6. 【請求項6】 請求項5記載のコンピュータにおいて、
    前記グローバル・データ・ルータは、前記システム・ユ
    ニットの全てに結合され、前記システム・ユニットの異
    なるサブセット間で同時に複数のトランザクションに関
    連するデータを搬送する複数の経路を有するコンピュー
    タ。
  7. 【請求項7】 請求項2記載のコンピュータにおいて、
    前記ドメイン・フィルタは、前記グローバル・アドレス
    ・ルータおよび前記グローバル・データ・ルータ双方に
    結合され、前記システム・ユニットの内前記ドメインの
    1つの中のものにおいて発生したアドレスおよびデータ
    双方が、前記システム・ユニットの内前記1つのドメイ
    ン外のあるものにおいて受け取られるのを禁止するコン
    ピュータ。
  8. 【請求項8】 請求項1記載のコンピュータであって、 前記ドメイン・コンフィギュレータは、更に、複数の前
    記ハードウエア・ドメインを結合し、前記コンピュータ
    内の前記システム・ユニットのいずれの物理的再接続か
    ら独立した前記ドメインの任意のサブセットから成るド
    メイン・クラスタを形成し、 前記コンピュータ・コントローラは、前記コマンドの別
    のものに応答し、前記ドメイン・コンフィギュレータ
    に、前記システム・ユニットのどれが前記ドメイン・ク
    ラスタに属するのかを指定し、 前記ドメイン・フィルタは、前記システム・ユニットの
    内前記1つのドメインの中のものにおいて発生した前記
    少なくともいくつかの制御信号が、前記システム・ユニ
    ットの内前記1つのドメイン外であるが前記ドメイン・
    クラスタの中にあるものに影響を与えることを可能にす
    る、コンピュータ。
  9. 【請求項9】 請求項8記載のコンピュータにおいて、
    前記ドメイン・クラスタ内の前記ドメインの1つは、前
    記ドメイン・クラスタ内の異なるドメインによって、同
    一の所定の共有アドレス範囲内においてアクセス可能な
    物理メモリを含むコンピュータ。
  10. 【請求項10】 請求項1記載のコンピュータにおい
    て、前記ドメイン・フィルタは、 前記システム・ユニットのどれが、前記アドレス・ルー
    タ内で現アドレスを発生したかを識別する接続部と、 前記システム・ユニットのどれが、前記ドメインのどれ
    に属するのかを指定する、前記システム・ユニットの各
    々に対する少なくとも1つのドメイン・マスク・レジス
    タと、 前記ソース識別接続部と、前記ドメイン・マスク・レジ
    スタとに応答し、前記システム・ユニットが前記現アド
    レスを発生したのと同じドメイン内にない前記システム
    ・ユニットの全てから、前記システム・ユニットを切断
    するゲート・ロジックと、を含むコンピュータ。
  11. 【請求項11】 請求項10記載のコンピュータにおい
    て、前記ドメイン・フィルタは、 各々、前記システム・ユニットのどれがドメイン・クラ
    スタに属するのかを識別し、前記トランザクションの現
    行のものに応答する複数のクラスタ・レジスタと、 前記ドメイン・クラスタに属する前記システム・ユニッ
    トの1つから発した前記トランザクションのいずれにつ
    いても、前記共通クラスタ内の前記システム・ユニット
    群の各々に有効トランザクション信号を送信する接続部
    と、を含むコンピュータ。
  12. 【請求項12】 請求項11記載のコンピュータにおい
    て、前記ドメイン・フィルタは、前記ドメイン・クラス
    タ内の異なるシステム・ユニット間の共有アドレス範囲
    を示す、共有アドレス・レジスタを含むコンピュータ。
  13. 【請求項13】 複数のシステム・ユニットと、グロー
    バル・アドレス・ルータと、グローバル・データ・ルー
    タと、制御信号分配器と、ドメイン・フィルタとを有す
    るコンピュータを、プログラム可能な制御の下で複数の
    独立したハードウエア・ドメインに区分する方法であっ
    て、 (a)構成モードを開始するステップと、 (b)前記ハードウエア・ドメインの1つに含ませる前
    記システム・ユニットのサブセットを定義する指定デー
    タを受け取るステップと、 (c)前記指定データをドメイン・フィルタにロード
    し、前記システム・ユニットの内前記1つのドメインの
    中のものに前記分配器内のある制御信号に応答させると
    共に、前記システム・ユニットの他のものには前記分配
    器には無応答とさせるステップと、 (d)前記システム・ユニットの異なるサブセットを定
    義する別の指定データのために、ステップ(b)および
    (c)を繰り返すステップと、を含む方法。
  14. 【請求項14】 請求項13記載の方法において、前記
    ステップ(c)は、前記ドメイン・フィルタにロードす
    る前記指定データにも応答し、前記システム・ユニット
    の内前記1つのドメインの中のものに、前記システム・
    ユニットの内前記1つのドメインの中のものから発した
    前記グローバル・アドレス・ルータ上のアドレスに応答
    させると共に、前記第1ドメイン内の前記システム・ユ
    ニットに、前記システム・ユニットの内前記第1ドメイ
    ン内にはないものの少なくともいくつかから発した、前
    記グローバル・アドレス・ルータ上のアドレスには無応
    答とさせる方法。
  15. 【請求項15】 請求項14記載の方法であって、更
    に、 (f)前記ドメインの複数のドメインのクラスタを定義
    する第2指定データを受け取るステップと、 (g)前記第2データを前記ドメイン・フィルタにロー
    ドし、前記システム・ユニットの内前記ドメインのクラ
    スタの中のものに、前記システム・ユニットの内前記ド
    メインのクラスタの中のものから発した前記グローバル
    ・アドレス・ルータ上のアドレスに応答させるようにす
    るステップと、を含む方法。
  16. 【請求項16】 請求項15記載の方法であって、更
    に、 (h)前記ドメインの1つの中に物理的に存在し、前記
    ドメインのクラスタ内の他のドメインにアクセス可能
    な、アドレスの共有範囲を定義する第3指定データを受
    け取るステップと、 (i)前記第3データを前記ドメイン・フィルタにロー
    ドし、前記システム・ユニットの内前記ドメインのクラ
    スタの中のものに、前記システム・ユニットの内前記ド
    メインのクラスタの中であるが前記共有範囲以内に限っ
    たものから発した前記グローバル・アドレス・ルータ上
    のアドレスに応答させるようにするステップと、を含む
    方法。
  17. 【請求項17】 請求項16記載の方法において、前記
    共有範囲は、前記ドメイン・クラスタ内のシステム・ユ
    ニットの少なくとも1つに物理的に存在するメモリの全
    アドレス範囲よりも小さい方法。
  18. 【請求項18】 請求項13記載の方法であって、ステ
    ップ(d)の後に実行する、 (j)前記第1ドメイン内の前記システム・ユニットの
    1つからのトランザクションを、前記グローバル・アド
    レス・ルータを介して、前記第1ドメイン内部および外
    部の双方の、前記システム・ユニットの全てに同報通信
    するステップと、 (k)前記システム・ユニットの各々において前記トラ
    ンザクションをフィルタすることにより、前記システム
    ・ユニットの内前記第1ドメインにあるものには、前記
    トランザクションへの応答をイネーブルし、前記システ
    ム・ユニットの内前記第1ドメインの外にある他のもの
    には、前記トランザクションへの応答をディセーブルす
    るステップと、を含む方法。
  19. 【請求項19】 請求項18記載の方法において、ステ
    ップ(j)および(k)はステップ(e)の後に実行す
    る方法。
  20. 【請求項20】 請求項18記載の方法において、ステ
    ップ(k)は、前記第1ドメイン外の前記システム・ユ
    ニットの全てはディセーブルしない方法。
  21. 【請求項21】 請求項18記載の方法において、前記
    ドメインの異なるドメインにある複数の前記システム・
    ユニットは、物理的に、各範囲内のアドレスを有するメ
    モリを含み、前記各範囲の前記アドレスは少なくとも部
    分的に重複する方法。
  22. 【請求項22】 グローバル・アドレス・ルータと、グ
    ローバル・データ・ルータと、制御信号分配器とを有す
    るマルチプロセッサ・コンピュータ用システム・ユニッ
    トであって、前記制御信号分配器は前記システム・ユニ
    ットの複数の他のものを相互接続し、前記コンピュータ
    はコンピュータ・コントローラも有し、前記システム・
    ユニットは、 前記グローバル・ルータの双方に結合され、所定のグロ
    ーバル範囲内のアドレスを発生する、少なくとも1つの
    プロセッサ・ユニットを受け付ける手段と、 前記グローバル・ルータに結合され、前記所定のグロー
    バル範囲内の1組のアドレスにおけるデータを格納す
    る、少なくとも1つのメモリ・ユニットを受け付ける手
    段と、 前記グローバル・ルータに結合され、前記所定のグロー
    バル範囲内の1組のアドレスを発生および/または受信
    する少なくとも1つの入出力アダプタを受け付ける手段
    と、 前述した手段の少なくとも1つに結合され、前記分配器
    に制御信号を発生する手段であって、前記制御信号は前
    記システム・ユニット内におけるエラー状態を表し、更
    に、前記他のシステム・ユニット内におけるエラー状態
    を表す制御信号を受け取る手段と、 前記制御信号をフィルタし、前記他のユニットの内選択
    可能なものからの制御信号のみが、前記システム・ユニ
    ットの動作に影響を与え得るようにする手段と、 前記コンピュータ・コントローラに接続可能であり、前
    記他のユニットから前記のものを選択する手段と、を備
    えたシステム・ユニット。
  23. 【請求項23】 請求項22記載のシステム・ユニット
    において、前記フィルタ手段は、 前記他のユニットの内前記選択可能なものを指定するデ
    ータを保持するドメイン・マスク・レジスタと、 前記選択可能なものからある信号を通過させ、前記シス
    テム・ユニットの他のものからの前記ある信号を遮断す
    るゲート手段と、を含むシステム・ユニット。
  24. 【請求項24】 請求項23記載のシステム・ユニット
    において、更に、可変データを前記ドメイン・マスク・
    レジスタにロードする手段を備えているシステム・ユニ
    ット。
  25. 【請求項25】 請求項22記載のシステム・ユニット
    において、前記フィルタ手段は、前記コンピュータ内の
    前記システム・ユニットのいずれかに物理的に実装され
    ているメモリを指定するデータを、前記システム・ユニ
    ットにアクセス可能として、前記グローバル範囲の一部
    に保持する共有メモリ・レジスタを含むシステム・ユニ
    ット。
  26. 【請求項26】 請求項25記載のシステム・ユニット
    であって、更に、可変データを前記共有メモリ・レジス
    タにロードする手段を備えているシステム・ユニット。
  27. 【請求項27】 請求項25記載のシステム・ユニット
    において、前記フィルタ手段は、前記いずれかのシステ
    ム・ユニット上に物理的に実装されている前記メモリの
    一部のみから成るアドレス範囲を指定するデータを保持
    する、少なくとも1つの別の共有メモリ・レジスタを含
    むシステム・ユニット。
  28. 【請求項28】 マルチプロセッサ・コンピュータ用の
    複数のシステム・ユニットの中の一システム・ユニット
    であって、前記マルチプロセッサ・コンピュータは、 前記システム・ユニットのいずれかにおいて発したアド
    レスを、前記システム・ユニットの他の全てに転送する
    グローバル・アドレス・ルータであって、前記アドレス
    の各アドレスが、前記複数のシステム・ユニットのどれ
    が前記各アドレスを発したかを示すソース識別子を有す
    る、グローバル・アドレス・ルータと、 前記システム・ユニットのいずれかから、前記システム
    ・ユニットの他の全てにデータを転送するグローバル・
    データ・ルータと、 前記システム・ユニットのいずれかからの複数の制御信
    号を前記システム・ユニットの他の全てに伝達し、前記
    いずれかのシステム・ユニットにおいて発生した状態に
    応答して、前記システム・ユニットの全ての動作に影響
    を与える、制御信号分配器と、 前記コンピュータを複数のソフトウエア構成可能なハー
    ドウエア・ドメインに電子的に分割し、各々が、前記コ
    ンピュータ内の前記システム・ユニットのいずれの物理
    的再接続から独立した、前記システム・ユニットの任意
    のサブセットから構成されるドメイン・コンフィギュレ
    ータと、 前記コマンドに応答し、前記システム・ユニットの内ど
    れが前記ハードウエア・ドメインの各々に属するのか
    を、前記ドメイン・コンフィギュレータに指定するコン
    ピュータ・コントローラと、 前記システム・ユニットの全てに結合され、前記システ
    ム・ユニットの内前記ドメインの1つの中にあるものに
    おいて発した前記制御信号の少なくともいくつかが、前
    記1つのドメイン外の前記システム・ユニットのあるも
    のに影響を与えるのを電子的に禁止するドメイン・フィ
    ルタと、を備え、 前記一システム・ユニットは、 前記グローバル・アドレス・ルータに接続された少なく
    とも1つのサブシステムであって、前記サブシステムと
    前記システム・ユニットの他のいずれかとの間で前記ア
    ドレスを結合すると共に、前記グローバル・データ・ル
    ータに接続され、前記サブシステムと前記システム・ユ
    ニットの他のいずれかとの間でトランザクション・デー
    タを転送するサブシステムであって、 トランザクションを実行するプロセッサ・サブシステ
    ム、 前記グローバル範囲内にデータを格納するメモリ・サブ
    システム、 入出力アダプタと通信する入出力サブシステム、から成
    るグループから選択される前記サブシステムと、 前記分配器に結合された、前記制御信号の少なくとも1
    つの発生器と、 前記制御信号の少なくとも1つの受信部と、 前記コンピュータ・コントローラから、前記複数のシス
    テム・ユニットの内どれが前記1つのシステム・ユニッ
    トと同じドメインに属するのかを表す値を受け取るドメ
    イン書き込み可能マスク・レジスタと、 前記ドメイン・マスク・レジスタに結合され、前記ソー
    ス識別子が、前記各アドレスが前記同じドメイン内から
    発したのではないことを示す場合、禁止信号を生成し、
    該禁止信号を前記少なくとも1つのサブシステムに結合
    し、前記各アドレスに対してそれを無応答にさせる比較
    器と、を備えたシステム・ユニット。
  29. 【請求項29】 請求項28記載のシステム・ユニット
    において、前記ドメイン・コンフィギュレータは、更
    に、複数の前記ハードウエア・ドメインを結合し、前記
    コンピュータ内の前記システム・ユニットのあらゆる物
    理的再接続と独立した、前記ドメインの任意のサブセッ
    トから成るドメイン・クラスタを形成し、 前記複数のシステム・ユニットの内どれが、前記1つの
    システム・ユニットと同じドメイン・クラスタに属する
    のかを示す、少なくとも1つの書き込み可能共有メモリ
    ・マスク・レジスタを含み、 前記比較器は、更に、前記ドメイン・マスク・レジスタ
    に結合され、前記各アドレスが、前記同じドメイン・ク
    ラスタ外の前記システム・ユニットのあるものにおいて
    発せられたものであることを、前記ソース識別子が示す
    場合、前記禁止信号を生成する、システム・ユニット。
  30. 【請求項30】 請求項31記載のシステム・ユニット
    において、前記少なくとも1つのサブシステムは、前記
    グローバル・アドレス範囲の一部内にデータを格納す
    る、前記メモリ・サブシステムを含み、前記システム・
    ユニットは更に、 前記コンピュータ・コントローラから、前記グローバル
    範囲の前記一部以内にメモリ・アドレスの共有範囲を定
    義する値を受け取る少なくとも1つの共有メモリ・アド
    レス・レジスタを備えており、 前記比較器は、更に、前記共有メモリ・アドレス・レジ
    スタにも応答し、前記各アドレスが前記共有範囲外にあ
    る場合、前記メモリ・サブシステムを禁止する、システ
    ム・ユニット。
  31. 【請求項31】 請求項28記載のシステム・ユニット
    において、前記制御信号の前記少なくとも1つの発生器
    は、前記グローバル・アドレス・ルータに対するアクセ
    スを要求し受け取る、ローカル・アドレス・アービタの
    一部を形成するシステム・ユニット。
  32. 【請求項32】 請求項33記載のシステム・ユニット
    において、前記制御信号の前記少なくとも1つの受信部
    は、更に、前記ローカル・アドレス・アービタの一部を
    形成するシステム・ユニット。
  33. 【請求項33】 請求項28記載のシステム・ユニット
    において、前記一システム・ユニットは、前記サブシス
    テムの内少なくとも2つの異なるものを含むシステム・
    ユニット。
  34. 【請求項34】 請求項33記載のシステム・ユニット
    において、前記一システム・ユニットは3種類の前記サ
    ブシステムの全てを含むシステム・ユニット。
  35. 【請求項35】 請求項28記載のシステム・ユニット
    において、前記プロセッサ・サブシステムは、複数の別
    個のマイクロプロセッサを含むシステム・ユニット。
JP34292097A 1996-12-12 1997-12-12 構成可能なハードウエア・システム・ドメインを有するマルチプロセッサ・コンピュータ Expired - Lifetime JP4124507B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US763934 1996-12-12
US08/763,934 US5931938A (en) 1996-12-12 1996-12-12 Multiprocessor computer having configurable hardware system domains

Publications (2)

Publication Number Publication Date
JPH10228458A true JPH10228458A (ja) 1998-08-25
JP4124507B2 JP4124507B2 (ja) 2008-07-23

Family

ID=25069230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34292097A Expired - Lifetime JP4124507B2 (ja) 1996-12-12 1997-12-12 構成可能なハードウエア・システム・ドメインを有するマルチプロセッサ・コンピュータ

Country Status (4)

Country Link
US (2) US5931938A (ja)
EP (1) EP0848327B1 (ja)
JP (1) JP4124507B2 (ja)
DE (1) DE69738864D1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938078B1 (en) 1998-12-09 2005-08-30 Nec Corporation Data processing apparatus and data processing method
US7380001B2 (en) 2001-05-17 2008-05-27 Fujitsu Limited Fault containment and error handling in a partitioned system with shared resources
JP2010009567A (ja) * 2008-06-27 2010-01-14 Internatl Business Mach Corp <Ibm> 動的にマージされた物理パーティションを含む情報処理システムおよびこれを動作させる方法
KR20150014464A (ko) * 2012-05-24 2015-02-06 로저 스미스 동적으로 건립가능한 컴퓨터 시스템
US9342451B2 (en) 2011-02-21 2016-05-17 Fujitsu Limited Processor management method

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260068B1 (en) 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6633916B2 (en) 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US6199179B1 (en) 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6647508B2 (en) 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6542926B2 (en) 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6332180B1 (en) 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
US6381682B2 (en) * 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
BR9813703A (pt) * 1997-12-19 2000-10-10 Unilever Nv Composição de pasta espalhável contendo óleo, e, processos para refinar um azeite de oliveira, e para a manufatura de uma composição alimentìcia.
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
US6282600B1 (en) * 1998-08-14 2001-08-28 International Business Machines Corporation Method and apparatus of resolving conflicting register access requests from a service processor and system processor
US6334177B1 (en) * 1998-12-18 2001-12-25 International Business Machines Corporation Method and system for supporting software partitions and dynamic reconfiguration within a non-uniform memory access system
KR20000044353A (ko) * 1998-12-30 2000-07-15 윤종용 비동기 전송 모드 교환기에서 스위치 포트 통합장칭
US6378029B1 (en) * 1999-04-21 2002-04-23 Hewlett-Packard Company Scalable system control unit for distributed shared memory multi-processor systems
US7107329B1 (en) * 1999-05-21 2006-09-12 Lucent Technologies Inc. In networks of interconnected router nodes for routing data traffic, a method of and system for imperceptibly upgrading router node software and the like without traffic interruption
US6467012B1 (en) 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US6779036B1 (en) 1999-07-08 2004-08-17 International Business Machines Corporation Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system
US6442597B1 (en) 1999-07-08 2002-08-27 International Business Machines Corporation Providing global coherence in SMP systems using response combination block coupled to address switch connecting node controllers to memory
US6591348B1 (en) 1999-09-09 2003-07-08 International Business Machines Corporation Method and system for resolution of transaction collisions to achieve global coherence in a distributed symmetric multiprocessor system
US6587930B1 (en) 1999-09-23 2003-07-01 International Business Machines Corporation Method and system for implementing remstat protocol under inclusion and non-inclusion of L1 data in L2 cache to prevent read-read deadlock
US6725307B1 (en) 1999-09-23 2004-04-20 International Business Machines Corporation Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system
US6457085B1 (en) 1999-11-04 2002-09-24 International Business Machines Corporation Method and system for data bus latency reduction using transfer size prediction for split bus designs
US6523076B1 (en) 1999-11-08 2003-02-18 International Business Machines Corporation Method and apparatus for synchronizing multiple bus arbiters on separate chips to give simultaneous grants for the purpose of breaking livelocks
US6542949B1 (en) 1999-11-08 2003-04-01 International Business Machines Corporation Method and apparatus for increased performance of a parked data bus in the non-parked direction
US6606676B1 (en) 1999-11-08 2003-08-12 International Business Machines Corporation Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
US6516379B1 (en) 1999-11-08 2003-02-04 International Business Machines Corporation Method and apparatus for transaction pacing to reduce destructive interference between successive transactions in a distributed symmetric multiprocessor system
US6529990B1 (en) 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus to eliminate failed snoops of transactions caused by bus timing conflicts in a distributed symmetric multiprocessor system
US7529799B2 (en) 1999-11-08 2009-05-05 International Business Machines Corporation Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
US6535941B1 (en) 1999-11-08 2003-03-18 International Business Machines Corporation Method and apparatus for avoiding data bus grant starvation in a non-fair, prioritized arbiter for a split bus system with independent address and data bus grants
US6684279B1 (en) 1999-11-08 2004-01-27 International Business Machines Corporation Method, apparatus, and computer program product for controlling data transfer
US6807557B1 (en) 2000-05-31 2004-10-19 International Business Machines Corporation Method, system and program products for providing clusters of a computing environment
US6778534B1 (en) 2000-06-30 2004-08-17 E. Z. Chip Technologies Ltd. High-performance network processor
US6826619B1 (en) 2000-08-21 2004-11-30 Intel Corporation Method and apparatus for preventing starvation in a multi-node architecture
US6487643B1 (en) 2000-09-29 2002-11-26 Intel Corporation Method and apparatus for preventing starvation in a multi-node architecture
US6772298B2 (en) 2000-12-20 2004-08-03 Intel Corporation Method and apparatus for invalidating a cache line without data return in a multi-node architecture
US7234029B2 (en) 2000-12-28 2007-06-19 Intel Corporation Method and apparatus for reducing memory latency in a cache coherent multi-node architecture
US7225320B2 (en) * 2000-12-28 2007-05-29 Koninklijke Philips Electronics N.V. Control architecture for a high-throughput multi-processor channel decoding system
US6791412B2 (en) * 2000-12-28 2004-09-14 Intel Corporation Differential amplifier output stage
US6721918B2 (en) 2000-12-29 2004-04-13 Intel Corporation Method and apparatus for encoding a bus to minimize simultaneous switching outputs effect
US20020087775A1 (en) * 2000-12-29 2002-07-04 Looi Lily P. Apparatus and method for interrupt delivery
US20020087766A1 (en) * 2000-12-29 2002-07-04 Akhilesh Kumar Method and apparatus to implement a locked-bus transaction
US20020129172A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Inter-partition message passing method, system and program product for a shared I/O driver
US7089558B2 (en) 2001-03-08 2006-08-08 International Business Machines Corporation Inter-partition message passing method, system and program product for throughput measurement in a partitioned processing environment
US6985951B2 (en) * 2001-03-08 2006-01-10 International Business Machines Corporation Inter-partition message passing method, system and program product for managing workload in a partitioned processing environment
US7694302B1 (en) * 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US6971098B2 (en) 2001-06-27 2005-11-29 Intel Corporation Method and apparatus for managing transaction requests in a multi-node architecture
US7065599B2 (en) * 2001-08-10 2006-06-20 Sun Microsystems, Inc. Multiprocessor systems
US20030061326A1 (en) * 2001-09-25 2003-03-27 Gilbert Gary L. Managing one or more domains in a system
US6915450B2 (en) 2001-11-01 2005-07-05 Sun Microsystems, Inc. Method and apparatus for arbitrating transactions between domains in a computer system
US6915370B2 (en) * 2001-12-20 2005-07-05 Intel Corporation Domain partitioning in a multi-node system
US6842831B2 (en) * 2002-04-25 2005-01-11 Intel Corporation Low latency buffer control system and method
US7281055B2 (en) * 2002-05-28 2007-10-09 Newisys, Inc. Routing mechanisms in systems having multiple multi-processor clusters
US7155525B2 (en) * 2002-05-28 2006-12-26 Newisys, Inc. Transaction management in systems having multiple multi-processor clusters
US7103636B2 (en) * 2002-05-28 2006-09-05 Newisys, Inc. Methods and apparatus for speculative probing of a remote cluster
US7251698B2 (en) * 2002-05-28 2007-07-31 Newisys, Inc. Address space management in systems having multiple multi-processor clusters
US20040078799A1 (en) * 2002-10-17 2004-04-22 Maarten Koning Interpartition communication system and method
US7577755B2 (en) * 2002-11-19 2009-08-18 Newisys, Inc. Methods and apparatus for distributing system management signals
US7085897B2 (en) * 2003-05-12 2006-08-01 International Business Machines Corporation Memory management for a symmetric multiprocessor computer system
US7386626B2 (en) * 2003-06-23 2008-06-10 Newisys, Inc. Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems
US7577727B2 (en) * 2003-06-27 2009-08-18 Newisys, Inc. Dynamic multiple cluster system reconfiguration
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
US7159137B2 (en) * 2003-08-05 2007-01-02 Newisys, Inc. Synchronized communication between multi-processor clusters of multi-cluster computer systems
US7395347B2 (en) * 2003-08-05 2008-07-01 Newisys, Inc, Communication between and within multi-processor clusters of multi-cluster computer systems
US7117419B2 (en) * 2003-08-05 2006-10-03 Newisys, Inc. Reliable communication between multi-processor clusters of multi-cluster computer systems
US7103823B2 (en) 2003-08-05 2006-09-05 Newisys, Inc. Communication between multi-processor clusters of multi-cluster computer systems
US8171480B2 (en) * 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US7757033B1 (en) 2004-02-13 2010-07-13 Habanero Holdings, Inc. Data exchanges among SMP physical partitions and I/O interfaces enterprise servers
US7873693B1 (en) 2004-02-13 2011-01-18 Habanero Holdings, Inc. Multi-chassis fabric-backplane enterprise servers
US8868790B2 (en) 2004-02-13 2014-10-21 Oracle International Corporation Processor-memory module performance acceleration in fabric-backplane enterprise servers
US8145785B1 (en) * 2004-02-13 2012-03-27 Habanero Holdings, Inc. Unused resource recognition in real time for provisioning and management of fabric-backplane enterprise servers
US7633955B1 (en) 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
US7685281B1 (en) 2004-02-13 2010-03-23 Habanero Holdings, Inc. Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers
US7843906B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
DE102004028166A1 (de) * 2004-06-09 2006-01-05 Krämer, Alexander, Dr. Verfahren zur Konstruktion einer Systemvernetzung
US8713295B2 (en) 2004-07-12 2014-04-29 Oracle International Corporation Fabric-backplane enterprise servers with pluggable I/O sub-system
US8020141B2 (en) * 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
US7882317B2 (en) * 2004-12-06 2011-02-01 Microsoft Corporation Process isolation using protection domains
JP4711709B2 (ja) * 2005-03-18 2011-06-29 富士通株式会社 パーティション割り振り方法及びコンピュータシステム
US8849968B2 (en) * 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US8347293B2 (en) * 2005-10-20 2013-01-01 Network Appliance, Inc. Mutual exclusion domains to perform file system processes on stripes
US8074231B2 (en) * 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
US8032898B2 (en) * 2006-06-30 2011-10-04 Microsoft Corporation Kernel interface with categorized kernel objects
US8232991B1 (en) * 2006-11-03 2012-07-31 Nvidia Corporation Z-test result reconciliation with multiple partitions
DE102007010763A1 (de) * 2007-03-06 2008-09-11 Zf Friedrichshafen Ag Verfahren zur adaptiven Konfigurationserkennung
US8789063B2 (en) * 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
US20080244507A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Homogeneous Programming For Heterogeneous Multiprocessor Systems
US8200992B2 (en) 2007-09-24 2012-06-12 Cognitive Electronics, Inc. Parallel processing computer systems with reduced power consumption and methods for providing the same
DE102008004857B4 (de) * 2008-01-17 2013-08-22 Entropic Communications, Inc. Verfahren zur Übertragung von Daten zwischen wenigstens zwei Taktdomänen
US8627331B1 (en) 2010-04-30 2014-01-07 Netapp, Inc. Multi-level parallelism of process execution in a mutual exclusion domain of a processing system
US9141131B2 (en) 2011-08-26 2015-09-22 Cognitive Electronics, Inc. Methods and systems for performing exponentiation in a parallel processing environment
US20130061292A1 (en) * 2011-08-26 2013-03-07 Cognitive Electronics, Inc. Methods and systems for providing network security in a parallel processing environment
US9063754B2 (en) 2013-03-15 2015-06-23 Cognitive Electronics, Inc. Profiling and optimization of program code/application
US10540284B2 (en) * 2014-07-29 2020-01-21 Nxp Usa, Inc. Cache-coherent multiprocessor system and a method for detecting failures in a cache-coherent multiprocessor system
US9569267B2 (en) 2015-03-16 2017-02-14 Intel Corporation Hardware-based inter-device resource sharing

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0077153B1 (en) * 1981-10-01 1987-03-04 Stratus Computer, Inc. Digital data processor with fault-tolerant bus protocol
EP0340901A3 (en) * 1988-03-23 1992-12-30 Du Pont Pixel Systems Limited Access system for dual port memory
US5043874A (en) * 1989-02-03 1991-08-27 Digital Equipment Corporation Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
US5175837A (en) * 1989-02-03 1992-12-29 Digital Equipment Corporation Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits
US5301284A (en) * 1991-01-16 1994-04-05 Walker-Estes Corporation Mixed-resolution, N-dimensional object space method and apparatus
JP2770603B2 (ja) * 1991-03-14 1998-07-02 三菱電機株式会社 並列計算機
US5367697A (en) * 1991-10-22 1994-11-22 Bull Hn Information Systems Inc. Means for providing a graceful power shut-down capability in a multiprocessor system having certain processors not inherently having a power shut-down capability
US5371744A (en) * 1992-03-23 1994-12-06 Hughes Aircraft Company System and method for enumerating all acyclic paths in a processing system for reconfiguration and fault tolerance
US5572674A (en) * 1993-01-07 1996-11-05 Bmc Software, Inc. Method of dynamically adjusting SNA network control program parameters
JPH06290158A (ja) * 1993-03-31 1994-10-18 Fujitsu Ltd 再構成可能なトーラス・ネットワーク方式
US5473599A (en) * 1994-04-22 1995-12-05 Cisco Systems, Incorporated Standby router protocol
EP0757844A1 (en) * 1994-04-28 1997-02-12 Semitool, Inc. Semiconductor processing systems
US5751967A (en) * 1994-07-25 1998-05-12 Bay Networks Group, Inc. Method and apparatus for automatically configuring a network device to support a virtual network
US5550816A (en) * 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
US5710938A (en) * 1995-07-19 1998-01-20 Unisys Corporation Data processing array in which sub-arrays are established and run independently

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938078B1 (en) 1998-12-09 2005-08-30 Nec Corporation Data processing apparatus and data processing method
US7380001B2 (en) 2001-05-17 2008-05-27 Fujitsu Limited Fault containment and error handling in a partitioned system with shared resources
JP2010009567A (ja) * 2008-06-27 2010-01-14 Internatl Business Mach Corp <Ibm> 動的にマージされた物理パーティションを含む情報処理システムおよびこれを動作させる方法
US7743375B2 (en) 2008-06-27 2010-06-22 International Business Machines Corporation Information handling system including dynamically merged physical partitions
US9342451B2 (en) 2011-02-21 2016-05-17 Fujitsu Limited Processor management method
KR20150014464A (ko) * 2012-05-24 2015-02-06 로저 스미스 동적으로 건립가능한 컴퓨터 시스템

Also Published As

Publication number Publication date
JP4124507B2 (ja) 2008-07-23
EP0848327A3 (en) 2002-01-23
US5931938A (en) 1999-08-03
EP0848327A2 (en) 1998-06-17
USRE41293E1 (en) 2010-04-27
DE69738864D1 (de) 2008-09-11
EP0848327B1 (en) 2008-07-30

Similar Documents

Publication Publication Date Title
JP4124507B2 (ja) 構成可能なハードウエア・システム・ドメインを有するマルチプロセッサ・コンピュータ
US6910108B2 (en) Hardware support for partitioning a multiprocessor system to allow distinct operating systems
US6480941B1 (en) Secure partitioning of shared memory based multiprocessor system
US8346997B2 (en) Use of peripheral component interconnect input/output virtualization devices to create redundant configurations
EP1606712B1 (en) System and method for dynamic mirror-bank addressing
US7395367B2 (en) Method using a master node to control I/O fabric configuration in a multi-host environment
JP3790713B2 (ja) 共用バス上の装置に対するトランザクションの選択的宛先設定
US20030131214A1 (en) Masterless building block binding to partitions using identifiers and indicators
US8225005B2 (en) Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect
EP3814960B1 (en) Secure-aware bus system
US20050091432A1 (en) Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs
GB2079997A (en) Data processing apparatus
US7492723B2 (en) Mechanism to virtualize all address spaces in shared I/O fabrics
JP2004326784A (ja) 分散型ノード・トポロジにおけるクロス・チップ通信機構
US20040019728A1 (en) Multiple hardware partitions under one input/output hub
US20110161644A1 (en) Information processor
JP2002539524A (ja) 周辺デバイス割込みを処理するための装置および方法
US20220156217A1 (en) Method for managing the operation of a system on chip, and corresponding system on chip
US6532519B2 (en) Apparatus for associating cache memories with processors within a multiprocessor data processing system
EP1701267B1 (en) Address snoop method and multi-processor system
US8782779B2 (en) System and method for achieving protected region within computer system
US20010037426A1 (en) Interrupt handling via a proxy processor
US11489940B2 (en) Data processing systems
US9336029B2 (en) Determination via an indexed structure of one or more partitionable endpoints affected by an I/O message
CN116662984A (zh) 内存隔离装置以及基于内存隔离装置的多核计算系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080407

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080502

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term