JPH07210527A - クラスタ制御装置およびクラスタ接続多重処理システム - Google Patents

クラスタ制御装置およびクラスタ接続多重処理システム

Info

Publication number
JPH07210527A
JPH07210527A JP6305977A JP30597794A JPH07210527A JP H07210527 A JPH07210527 A JP H07210527A JP 6305977 A JP6305977 A JP 6305977A JP 30597794 A JP30597794 A JP 30597794A JP H07210527 A JPH07210527 A JP H07210527A
Authority
JP
Japan
Prior art keywords
packet
cluster
field
data
packets
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
JP6305977A
Other languages
English (en)
Other versions
JP2576846B2 (ja
Inventor
Richard I Baum
リチャード・アーウィン・バーム
Charles H Brotman
チャールス・エイチ・ブラットマン
James W Rymarczyk
ジェームス・ウォルター・ライマクザヤク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07210527A publication Critical patent/JPH07210527A/ja
Application granted granted Critical
Publication of JP2576846B2 publication Critical patent/JP2576846B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00—Digital computers in general; Data processing equipment in general
    • G06F15/16—Combinations 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/163—Interprocessor communication
    • G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356—Indirect interconnection networks
    • G06F15/17368—Indirect interconnection networks non hierarchical topologies
    • G06F15/17393—Indirect interconnection networks non hierarchical topologies having multistage networks, e.g. broadcasting scattering, gathering, hot spot contention, combining/decombining
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793—Remedial or corrective actions
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14—Error detection or correction of the data by redundancy in operations
    • G06F11/1402—Saving, restoring, recovering or retrying
    • G06F11/1415—Saving, restoring, recovering or retrying at system level
    • G06F11/1443—Transmit or communication errors
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14—Error detection or correction of the data by redundancy in operations
    • G06F11/1402—Saving, restoring, recovering or retrying
    • G06F11/1415—Saving, restoring, recovering or retrying at system level
    • G06F11/142—Reconfiguring to eliminate the error
    • G06F11/1423—Reconfiguring to eliminate the error by reconfiguration of paths

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【目的】本発明の目的は、クラスタ制御装置およびクラ
スタ接続多重処理システムを提供することにある。 【構成】多数の処理要素(PE)604が高帯域のスイ
ッチ・ネットワーク606によって相互接続されてい
る。各処理要素は、汎用マイクロプロセッサ、局所メモ
リ、およびDMA制御装置を備えており、複数の処理要
素がクラスタを形成し、クラスタ制御装置602を介し
てスイッチ・ネットワークに接続されパケット形式でメ
ッセージを交換する。パケットは、指令フィールド、順
序番号フィールド、宛先アドレス・フィールド、ソース
・アドレス・フィールド、データ・フィールド及び誤り
訂正コード・フィールドを含む。スイッチ・ネットワー
クは、パケット内の宛先フィールドを復号し、アドレス
指定された処理要素に接続されたクラスタ制御装置にパ
ケットを送る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、クラスタ制御装置およ
びクラスタ接続多重処理システムの分野に関する。
【0002】
【従来の技術】多重処理システム(MPS)とは、複数
の接続された処理装置を用いて複数のプログラムを同時
に実行する、計算機システムである。因襲的に、多重処
理システムは、プロセッサ間の相互接続に基づいて多く
の型式に分類されている。
【0003】従来の多重処理システムの第1型式は、
「多重プロセッサ」すなわち「共用メモリ」システムで
ある(図1)。共用メモリ・システムでは、多くの中央
演算処理装置102〜106が、1つの共通大域メモリ
108を共用するという事実によって、相互接続されて
いる。それぞれの中央演算処理装置が1つの局所キャッ
シュ・メモリを有することもあるが、クロス・キャッシ
ュの妥当性検査によって、キャッシュはユーザに透明に
なり、システムはそれがあたかも1つの大域メモリを有
するかに見える。
【0004】共用メモリ・システムも、接続ネットワー
クを通じて複数の大域メモリを共用する、複数の中央演
算処理装置の形をとる。このようなシステムの1例はオ
メガ・ネットワークである(図2)。オメガ・ネットワ
ークでは、段階状に組織された複数のスイッチS01〜
S24が、要求中のプロセッサによって生成された2進
宛先タグを使用して、複数のプロセッサP0〜P7と複
数の大域メモリM0〜M7との間でデータを経路指定す
る。これによってオメガ・ネットワークは、中央制御装
置の必要性を回避する。
【0005】共用メモリ・システムの通常の特性は、メ
モリ中のデータ片へのアクセス時間が要求を作るプロセ
ッサとは独立していることである。共用メモリ・システ
ムの重要な制限は、大域メモリの総計帯域がシステム上
に効果的に適応可能なプロセッサの数を制限することで
ある。
【0006】通常知られている多重処理システムの第2
型式は、複数コンピュータ・メッセージ・パス・ネット
ワーク(図3)である。メッセージ・パス・ネットワー
クは、多くの処理ノードを相互接続することによって構
成される。各ノード302〜308は、中央演算処理装
置と全体的にはアクセス可能でない局所メモリを含む。
プロセッサ間でデータを共用するアプリケーションのた
めに、プログラマは指令を明示的にコーディングして、
1つのノードから他のノードへデータを移動させなけれ
ばならない。共用メモリ・システムと対照的に、データ
にアクセスするためにプロセッサに要する時間は、現在
局所メモリにデータを有するプロセッサからの距離(ノ
ードの数)に依存する。
【0007】図3のメッセージ・パス・ネットワーク構
成では、各ノードは、他の各ノードへの直接接続部を有
する。しかしこのような構成は、非常に多くのプロセッ
サについては非実用的である。超立方体構成などの解決
法が、プロセッサ間の最大距離を制限するためにこれま
で使用されてきた。いずれにしても、ネットワーク中の
プロセッサの数は増えるので、間接接続部の数とその結
果のアクセス時間は増加する傾向となる。
【0008】多重処理システムの第3型式はハイブリッ
ド機械である(図4)。ハイブリッド機械は、共用メモ
リ・システムのいくつかの特性とメッセージ・パス・ネ
ットワークのいくつかの特性を有する。ハイブリッド機
械では、各々が局所メモリを持つ多くのプロセッサ40
2〜406が、接続ネットワーク408によって接続さ
れている。すべてのメモリが局所であっても、オペレー
ティング・システムは機械を単一の大域メモリを有する
かのように見せる。ハイブリッド機械の1例としては、
IBM RP3がある。ハイブリッド機械は典型的に
は、メッセージ・パス・ネットワークよりはるかに速い
遠隔データへのアクセスを提供できる。それでも、デー
タ・レイアウトはアルゴリズム性能には重大であるはず
で、通信ネットワークの総通信速度は、効果的に用意で
きるプロセッサの数量に対する限界である。
【0009】多重処理システム接続ネットワークのバリ
アントはクラスタ接続ネットワーク(図5)である。ク
ラスタ接続ネットワークでは、それぞれがプロセッサ群
510〜516及びマルチプレクサ/制御装置を含む多
くのクラスタ502〜508が、スイッチ・ネットワー
クを介して接続される。多数のプロセッサが所定数のポ
ートを通じてスイッチに効果的に接続されている、クラ
スタ・ネットワークは、図4のトポロジー以上の利点を
有する。クラスタ接続ネットワークの1つの制約は、ク
ラスタ制御装置とスイッチの両方の帯域幅がシステム性
能に重大である、という点である。この理由のために、
スイッチ及びクラスタ制御装置の設計は、最高のシステ
ム寸法と性能を決定する際の重要なファクタとなる。
【0010】
【発明が解決しようとする課題】本発明の第1の目的
は、クラスタ接続多重処理システムの性能を向上させる
ことである。
【0011】本発明の第2の目的は、接続ネットワーク
によって接続されたシステムにおけるハード及びソフト
の誤り回復のために、効果的なシステムを提供すること
である。
【0012】本発明の第3の目的は、今日最大の本体コ
ンピュータより数段階速いスピードで、関係データに対
して複雑な特殊照会を実施できる、コンピュータ・シス
テムを提供することである。
【0013】
【課題を解決するための手段】前記の目的に従って、進
歩した多重処理システムと方法が提供される。
【0014】第1の実施例では、進歩したクラスタ制御
装置が提供される。同制御装置は、宛先アドレスとパケ
ット優先順位に従って処理要素から受け取られたパケッ
トを分配するためのスイッチ、大域記憶機構、処理要素
へのパケットの流れを制御するための待ち行列、処理要
素からのデータをパケットへアセンブルするためのアセ
ンブリ・バッファ、及びアセンブリ・バッファと大域記
憶機構のいずれかから交換ネットワークへのパケットを
選択するための選択論理を含む。
【0015】ある形態では、少なくとも3つのノードを
有する多重処理システムの、2つのノードの間で転送さ
れているデータの宛先フィールドにおける誤りから回復
するための、システムと方法が提供される。データが、
宛先アドレス・フィールドにおける誤りによる不適切な
ノードに誤って経路指定されると、誤りは検出され修正
される。いったん誤りが修正されると、データは独立デ
ータ・パス(すなわち、データが受け取られたパスとは
別のパス)によって正しいノードに再経路指定される。
有利なことには、これは宛先アドレス・フィールドにお
けるソフト及びハード両方の誤りからの回復を可能にす
る。
【0016】第2の実施例では、多重処理機構ネットワ
ークが提供される。このネットワークは、スイッチによ
ってプロセッサ群を接続する複数のクラスタ制御装置と
して、構成される。処理要素はそれぞれ、システム中の
プロセッサの各々によってアクセス可能な1つの局所メ
モリを含む。
【0017】第3の実施例では、クラスタが接続された
多重処理システムで使用するためのパケット・フォーマ
ットが提供される。パケット・フォーマットは、データ
・フィールド、ソース及び宛先フィールド、クラスタ制
御装置の大域メモリへの書込みをおこさせることのでき
るフィールド、及び誤り修正/検出フィールドを含む。
【0018】
【実施例】本発明の多重処理システムは、高帯域幅スイ
ッチによって相互接続された非常に多くの処理要素(典
型的にはプロセッサ)を含む。ここに記載されたパケッ
ト・アーキテクチャでは32768個までの処理要素が
可能であるが、以下の実施例では4096個までの処理
要素を使用する。しかしながら、どんな個数の処理要素
も、ここに記載する原理を使用して構成可能であろう、
ということを理解すべきである。システム構成のサイズ
は、処理要素(PE)を単位として、計算要件に従って
調整することができる。
【0019】各処理要素は、1つまたは複数の高性能
(たとえば50〜200MIPS)汎用マイクロプロセ
ッサ、大容量局所記憶機構すなわち局所メモリ(たとえ
ば64〜256MB)、及びプロセッサの介入なしにス
イッチを通じてメッセージを送受するDMA制御装置を
含む。各処理要素はまた、データベース処理機能のため
の、1つまたは複数の任意選択ハードウエア加速装置も
含むことができる。
【0020】個別のプリント回路カードの上に、各処理
要素を詰め込むことができる。処理要素カードはまた、
関係データベース・ファイル・システムへの直接アクセ
スのためのI/Oポート、ベクトル処理エンジン、また
はデータ暗号化機構などの、特殊目的のハードウエアを
提供することもできる。特に、データベース加速ハード
ウエアは、述部評価、フィールド抽出、分類、組合せ、
及び結合などの共通機能の性能を強化するために、使用
可能である。
【0021】処理要素を相互接続するスイッチは階層的
であり、クラスタのネットワークからなる。64個まで
の処理要素が組み合わされてクラスタを形成し、64個
までの処理要素はバンヤン・ネットワークによって結合
される。メッセージはパケット形状のスイッチを通じて
経路指定され、各パケットは4ワード長データと1つの
制御情報ワードを有する。
【0022】図6は、本発明の多重処理システムの構造
概略図である。図6のシステムは、32個のクラスタ制
御装置602(1)〜602(32)を含むクラスタ接
続ネットワーク(クラスタ・ネットワーク)である。各
クラスタ制御装置は、64個の処理要素(PE)604
(1〜64)、604(65〜128)・・・604
(1985〜2048)のためのシステム・インタフェ
ースを含む。1つのクラスタ制御装置と64個の処理要
素の各グループを、「クラスタ」と呼ぶ。
【0023】所定のクラスタにおける各処理装置は、入
力バス(たとえば612(1))と独立(分離した)出
力バス(たとえば614(1))によってクラスタ制御
装置に接続される。同様に、32個のクラスタ制御装置
はそれぞれ、入力バス608(1〜32)と独立出力バ
ス610(1〜32)によって32×32スイッチ・ネ
ットワーク606に接続される。このため、全システム
は2048個の処理装置604(1〜2048)を含
む。クラスタ制御装置とスイッチ・ネットワークの両方
は、高速クロック(たとえば5nsサイクル・タイム)
の制御の下で、処理装置間でデータを同期的に組合せ転
送するために動作する。
【0024】たとえば64×64スイッチ・ネットワー
クによって相互接続された64個のクラスタを有するシ
ステム拡張バージョンを、同じ構造で実施することがで
きる。多種の大小の構成が同様に実用化可能である。
【0025】ホスト・コンピュータ(たとえばIBM3
090シリーズ・システム)用の付加コプロセッサとし
て、図6のクラスタ・ネットワークを有することが望ま
れる場合には、スイッチ・ネットワーク606上のポー
トが、ホスト・インタフェースとしての使用のために供
される。ホスト・インタフェースは、図6のクラスタ制
御装置602(1)〜602(32)の任意の1つの場
所をとるホスト・アダプタ要素によって提供される。
【0026】ホスト・アダプタの1つの実施例を図17
に示す。ホスト・コンピュータ1800とホスト・アダ
プタ1700との連係は、ホスト・コンピュータ中の高
速データ・リンクに接続する複数の光ファイバまたは銅
線のケーブル1702によって提供されるのが好まし
い。このリンクは、初期接続手順プロトコルなしに両方
向に同時転送する、全二重であることが好ましい。
【0027】ホスト・コンピュータ1800は、(論理
宛先アドレスと指令フィールドを含む)制御情報を含む
見出しレコードが先行する、1つまたは複数のデータ・
レコードを持つデータ・ブロックを、伝送することが望
ましい。各データ・レコードについてサイズの1例とし
ては4キロバイトがある。ホスト・コンピュータからク
ラスタ・ネットワークへの指令は、データ・レコードを
伴わない見出しレコードの特殊ケースとして完遂され
る。ホストからクラスタへのネットワーク通信の好まし
い構成は対称な対等メッセージ・パス方式であり、これ
によってクラスタ・ネットワークは、ホスト・コンピュ
ータ1800に割込みを起こさせる指令を介して、ホス
ト・コンピュータへの非同期応答を発生させることがで
きる。
【0028】データ転送速度の差異を調整するために、
ホスト・アダプタ1700にはデータ・ブロック・バッ
ファ・アレイ1704が備えられている。ホスト・コン
ピュータへの、及びそれからのデータ速度が、個別の処
理要素のデータ速度をはるかに上回ることができるの
で、緩衝方式が準備されている。たとえば、ホストは5
00MB/秒から1GB/秒までのデータ速度域を有す
ることがあり、所定のデータ・ブロックを200MB/
秒のピーク速度でデータを受け取ることができるだけの
単一処理要素に、経路指定することもできる。このた
め、データ・ブロック・バッファ・アレイ1704は、
速度マッチングの目的のために複数のバッファ(少なく
とも各々4KBが望ましい)を含む。これにより、ホス
ト・アダプタ1700は、ホスト・コンピュータが許す
最高速度でホスト・リンクを動作させるために、いくつ
かの並行動作を管理できるようになる。
【0029】ホスト・コンピュータ1800は、クラス
タ・ネットワークを大きな線形アドレス空間としてアド
レス指定する。経路指定論理1706によって実現され
たマッピング・テーブルを介して、ホスト・アダプタ1
700は、各ホスト・アドレスを処理要素のメモリにお
ける物理アドレスへ変換する。このため、データ・ブロ
ックのホスト・アドレス空間は、処理要素のすべてにわ
たって、それらの局所メモリ内の1つの帯域として分布
される。この目的のために、処理要素の局所メモリ空間
の半分を使用することが意図される。
【0030】マッピングは、ホスト・アダプタ1700
内のマイクロプロセッサ1708によって管理される。
マイクロプロセッサ1708は、作業データやマイクロ
コードのための局所記憶機構1710を待ち、(複数の
照会を取り扱うための多重プロセッサの論理分割を含
む)構成制御を提供する機能を実施する。実際のデータ
転送は、後述するように、マイクロプロセッサ1708
自体によってではなく、支援要素によって取り扱われ
る。
【0031】インタフェース論理1712は、ホストか
らのデータ・ブロックをパケットに変換して、スイッチ
・ネットワークを介して処理要素へ伝送し、パケットか
らの逆アセンブリも行なう。ホスト・アダプタ1700
のホスト側では、リンク・アダプタ1714が、データ
を内部ホスト・アダプタ・フォーマットから適当なリン
ク・フォーマット(たとえばファイバ・オプティック・
フォーマット)に変換し、その逆も行なう。またリンク
・アダプタ1714は、リンク・レベル・プロトコルを
取り扱う。前記のように、経路指定論理1706は、論
理アドレスがプロッセッサにマッピングする場所を決定
する。
【0032】物理的には、ホスト・アダプタ1700
は、処理要素カードで使用されるものと同じ技術を用い
て、多くの通常の論理カード及びメモリ・カードを保持
するマザーボードを使用して、実施されることが望まし
い。図6の多重プロセッサは、ホストへの接続を設ける
ことなく、独立多重処理システムとして動作可能である
ことを理解すべきである。
【0033】図7は、図6の32×32スイッチ・ネッ
トワーク606のより詳しい図である。スイッチ・ネッ
トワーク606は、8個の相互接続された8×8スイッ
チ702〜716を含み、各スイッチは熱伝導モジュー
ル(TCM)上に実現されることが好ましい。スイッチ
702〜708の第1コラム(段)は、32個のクラス
タ制御装置602(1)〜602(32)の各々から来
るパケットを受け取る。第1コラムにおける各スイッチ
の出力部は、出力バスの対を介して、第2コラム(段)
に配置された4個の8×8スイッチ710〜716の各
々へ接続される。第2スイッチ・コラムは、32個のク
ラスタ制御装置602(1)〜602(32)の任意の
1つのデータ入力部へ、受け取られたデータ・パケット
を経路指定するために、接続される。
【0034】8×8スイッチ702〜716は、自己経
路指定型(すなわち、入って来るメッセージ内の内部フ
ィールドを復号して、経路指定を決定する)であり、こ
れは、任意の入力ポートと任意の出力ポートとの間の接
続をもたらすことができる。さらに、8×8スイッチ
は、選択された経路指定に従って、8個の入力ポートす
べてと8個の出力ポートすべてとの間の同時接続・通信
をもたらす。
【0035】スイッチの64×64バージョンが、64
個のクラスタ制御装置を有する実施例で使用される。6
4×64スイッチは、8個×2コラムに配置された全部
で16個のスイッチのそれぞれに、さらに8つの8×8
スイッチを加えて作られる。64×64構成のために
は、ただ1つのバスが第1段と第2段における各スイッ
チの間に設けられる。64×64スイッチ実施例の第1
コラムにおける各スイッチのすべての出力部が、第2コ
ラムにおける1つのスイッチに個別に接続されるので、
ただ1つのバスを必要とするだけである。
【0036】図8は、8×8スイッチ702〜716の
代表的な1つを示す。各8×8スイッチは、8個の8×
1スイッチ/待ち行列を含む。これらのスイッチ/待ち
行列802の代表的な1つの相互接続を示す。各8×8
スイッチ/待ち行列の入力ポートの各々は、8個の8×
1スイッチ/待ち行列すべてにバスで接続されている。
各8×1スイッチ/待ち行列は、その入力(5倍ワード
・パケット)を最大8個まで受け取り、それらを、ネッ
トワーク・クロックの各サイクルにおいて単一FIFO
(先入れ先出し法)出力待ち行列に入力することができ
る。同じサイクルで、単一パケット(待ち行列のトッ
プ)は、待ち行列を離れて、スイッチ・ネットワークの
次段または最終宛先へ渡されることが可能である。待ち
行列がサイクル開始時に空である場合には、有効入力パ
ケットが待ち行列を迂回して出力部に直接到達すること
ができ、これによって、さもなければ不必要なステージ
ングで無駄になったであろうサイクルを節約する。
【0037】各パケットは、それ自体の宛先アドレスを
有する。アドレス指定機構は次の機能を提供する。所定
のスイッチ待ち行列によって表された出力ポートに対し
て正しくアドレス指定されたパケットのみが、実際にそ
のポートにエンキューされることになる。さらに、各パ
ケットはただ1つの待ち行列に入れられることになる。
アドレスは、1つのアドレスがソースと宛先との間の一
意的な通路に対応するようなものでなければならない。
各アドレス内の3ビット群は各スイッチ内の局所アドレ
スを表す。同時入力パケットの各々はどの順序で待ち行
列に入れられるかを決めるために、固定優先順位を使用
する。もっと複雑精巧な優先方式が使用できるとして
も、どの5倍ワード(QW)・パケットも各サイクルで
待ち行列に入る機会があるので、固定優先順位は、本来
「フェア」なものである(すなわち、単一のソースは、
他のソースがその出力ポートのためのデータを有してい
ない場合を除くと、待ち行列上で占有するエントリは割
り当て分だけである)。
【0038】図9は、図8に示す代表的なスイッチ/待
ち行列802のさらに詳しいダイヤグラムである。各ス
イッチ/待ち行列は、64パケットまでの待ち行列90
2を有する。各パケットは5倍ワード(QW)のサイズ
である。各ワードは、32データ・ビットと4ECCビ
ットからなる。入力ポートからのパケットは、パケット
の制御ワード部分に含まれる宛先アドレスに基づいて単
一スイッチ/待ち行列の認識論理904によって選択さ
れる。8パケット(各入力ポートに1パケット)まで
が、各サイクル中に所定の出力ポートにエンキューされ
ることが可能である。同時に、各出力ポートは伝送用の
パケットを、その局所エンキュー902または短絡論理
906のいずれかから選択することができ、この短絡論
理によって、待ち行列が空のときに、単一入力が出力ポ
ート・レジスタ910に直接行くことができるようにな
る。使用中論理908が、ダウンストリーム待ち行列が
フルのときに、パケットの送信を防ぐために設けられ
る。この設計は、活動期間中に出力部が使用中に見える
ことを防ぎ、これによって使用中条件が送信側に伝播す
ることを阻止する。
【0039】動作例として、8×8スイッチの8個の入
力部のうち3個が有効アドレスを有し、これらが入力部
を第2出力ポートへ向ける、と仮定する。認識論理90
4は、スイッチの当該部分へゲートされるべきこれら3
つのアドレスに対して選択動作を行なう。出力ポート待
ち行列902が空でも一杯でもない場合には、入力パケ
ットは待ち行列に入れられる(エンキューされる)。出
力ポート待ち行列902が一杯の場合には、使用中論理
908は、パケットの入力を防ぐ。出力ポート待ち行列
902が空の場合には、短絡論理906は、通常の優先
順位方式に従って3つの入力パケットの1つを選択して
出力ポート・レジスタ910へ直接渡し、それと同時に
残りの2つのパケットを待ち行列902に入れる。出力
ポート・レジスタ910におけるパケットは、スイッチ
の次のレベルが使用中でない限り、そのレベルにゲート
される。
【0040】図10は、図6のクラスタ制御装置602
(1)〜602(32)の1例のさらに詳しい図であ
る。クラスタ制御装置1 602(1)を例として使用
することにする。スイッチ・ネットワーク(スイッチ7
10〜716)の第2段から来て、入力バス608
(1)に受け取られたデータは、6入力9出力スイッチ
1002ヘ経路指定される。このスイッチ1002は6
つの入力を受け取る。すなわち、スイッチ・ネットワー
ク606から1つ、大域記憶機構1004から1つ、及
び組立てバッファ1006から4つである。6入力9出
力スイッチ1002は、(6つの入力から)受け取った
データを、適当な「オクタント」へ、または大域記憶機
構1004へ配分する。大域記憶機構1004は、処理
要素間の共用状況、プロセス調整、共用アルゴリズム制
御、及び共用データを含む、種々の機能のために使用可
能である。
【0041】受け取ったデータを適当なオクタントへ経
路指定するために、6入力9出力スイッチ1002は、
内部パケット宛先アドレス(DST)からの3つのビッ
トを復号する。代替として、大域記憶機構1004は、
大域記憶アクセス指令を復号するスイッチ1002によ
ってアクセスされる。6入力9出力スイッチ1002か
らの出力についてのいかなる競合も、通常の優先順位及
びラウンド・ロビン方式によって解決される。スイッチ
・ネットワーク608(1)からの接続は常に最高の優
先順位を持つ。
【0042】6入力9出力スイッチ1002の9つの出
力1010(1〜9)のうち、8つは処理要素待ち行列
のオクタントに接続される。オクタントの1例を参照番
号1008で示す。8つの出力1010(1)〜101
0(8)の各々は、この型式の個々のオクタントに接続
される。各オクタントは8つの処理要素待ち行列を含
む。各待ち行列は16パケットの深さで、使用中/満杯
論理と空待ち行列用短絡機構を含む。各オクタントは、
(6入力9出力スイッチからの)ただ1つの入力と1つ
の出力を有し、1つの読取りと1つの書込みを同時に起
こさせる。
【0043】各クラスタ制御装置602(1)〜602
(32)はさらに、32個の処理要素ポート(PEP)
1012(1)〜1012(32)を含む。各処理要素
ポートは、2つの処理要素にインタフェースするための
サブポートを含む。各サブポートは、2つの処理要素の
各々について、処理要素入力バス612(1〜64)の
対応する1つに接続された2バイト出力ポート、及び処
理要素出力バス614(1〜64)の対応する1つに接
続された1バイト入力ポートを含む。各待ち行列の出力
部は、オクタントにおける(8個の処理要素のための)
4つのPEPすべてにバス接続される。PEPは、アド
レス復号を使用して、適当な処理要素にアドレス指定さ
れるパケットのみをインゲートする。各PEPは、バッ
ファが空のときにオクタント待ち行列に信号を与えるた
めの論理を持つ出力ポート用のパケット・バッファを含
む。
【0044】8つのオクタントの各々は、個別に動作し
て、パケットが使用可能である場合に、各サイクルに1
つの5倍ワード(QW)を、8つのPEPバッファのう
ちの1つに供給する。PEPから、パケットは、適当な
処理要素入力バスを通って、アドレス指定された処理要
素に一度に2バイトで送られる。入力バスと出力バスの
非対称(1バイト対2バイト)は、待ち行列満杯状態を
防ぐ助力となる。
【0045】内方向へは(すなわち処理要素からは)、
1バイトのデータが、入力バスの1つを通って処理要素
から対応する処理要素ポート(すなわちPEが接続され
るPEP)へ来る。処理要素ポートに入ってきたデータ
・バイトは、連続するバイトを受け取って5倍ワード・
パケットを形成する組立てバッファ1006のポートに
直接経路指定される。組立てバッファは、64個のスロ
ット(5倍ワード・メモリ位置)1014(1)〜10
14(64)を有する。つまり、各処理要素のために組
立てバッファに1個のスロットがあり、各々は個別に動
作し、専用のバイト計数及び使用中論理(図示せず)を
有する。
【0046】組立てバッファ・スロットは4コラムに配
列される。各コラムは、専用のラウンド・ロビン論理を
有し、完全なスロットの1つを選択する。ネットワーク
・クロックのサイクル毎に、各コラムにおける1スロッ
トからの1つの5倍ワード・パケットがアウトゲートさ
れることができる。アウトゲートされたパケットは、6
入力9出力スイッチ1002と5入力択一セレクタ10
16へ行く。1セクタ1016への第5入力は、大域記
憶機構1004から来る。セレクタ1016は、アドレ
スとラウンド・ロビン論理に基づいて、スイッチ・ネッ
トワーク606を通じて経路指定される必要のある1つ
のパケットを取り、これをその通路に送る。5入力択一
セレクタまたは6入力9出力スイッチを通ってゲートさ
れないパケットは、そのスロットの中に残って、ラウン
ド・ロビン・アルゴリズムによる次回の選択対象とな
る。
【0047】メッセージを一様に分配する場合のクラス
タ制御装置の動作例は、次の通りである。
【0048】接続された処理要素からの1つの入力は、
1サイクル1バイトで、組立てバッファの各々に読み込
まれる。サイクルあたり5つの5倍ワード・パケット
は、5入力択一セレクタにアウトゲートされ、これによ
って、サイクルあたり1つの5倍ワード・パケットが他
のクラスタ制御装置に送られる。
【0049】PE方向への出力部では、6つまでの5倍
ワード・パケットが9つまでの宛先に、待合せによって
ゲートされることができる。クラスタ制御装置のサイク
ルを5nsとし、PEバスへの入出力のサイクルを10
nsとすると、クラスタ制御装置はPEから6.4GB
/秒(100MB/秒/PE)で入力することができ
る。組立てバッファ及び大域メモリは、12.8GB/
秒で出力することができ、そのうちの3.2GB/秒ま
で他のクラスタ制御装置に出力することができる。1
9.2GB/秒までは出力待ち行列に入ることができ、
出力待ち行列自体は、PEPと大域記憶機構に28.8
GB/秒までを送ることができる。PEPは各々、それ
ぞれのPEに200MB/秒を送ることができ、これを
集合すると、クラスタ制御装置からPEへ12.8GB
/秒までを流出させることができる。これらはピーク値
であるが、設計は、3.2GB/秒の定常流がPEから
他のクラスタに流れ、12.8GB/秒までがPEへも
どるようになっている。さらに設計は、待ち行列が一杯
になりスイッチの上流側でコンテンションが起こること
を防ぐようになっている。
【0050】図12は、図6の処理要素604(1)〜
604(2048)の好ましい実施例である。本発明の
マルチプロセッサは、他の形式のプロセッサを処理要素
として使用することもできる、ということを理解すべき
である。処理要素の中央処理装置1202は、最新のR
ISCマイクロプロセッサであることが好ましい。これ
は、通常の方法によって、命令やデータに速いアクセス
時間をもたらすプロセッサ・キャッシュ1204に接続
される。キャッシュ1204からのバスは、DMA制御
装置1206につながる。DMA制御装置1206は、
スイッチ・バッファ1208と処理要素(PE)記憶機
構1210の各々に、キャッシュ1208の両方向ポー
トを提供する。スイッチ・バッファ1208は、クラス
タ制御装置への、及びそれからのデータとプロトコルを
取り扱う入出力バッファである。クラスタ制御装置は、
個々のバス1212、1214に接続された2つの単方
向ポートによって、スイッチ・バッファ1208を通じ
て処理要素に接続する。第1単方向ポートは、クラスタ
制御装置から処理要素へのトラフィックを取り扱い、一
方、第2単方向ポートは、処理要素からクラスタ制御装
置へ出て行くトラフィックを取り扱う。
【0051】図13は、図12のDMA制御装置120
6のより詳しいダイヤグラムである。入力メッセージを
処理するために、1つの5倍ワード組立てバッファ13
02は、クラスタ制御装置から処理要素へのデータを2
バイトずつ受け取り、パケットを再組立てする。ECC
論理1304は、データの完全性を検査して復元し、ま
た同時に、パケットが適切な宛先に到着したかを検査す
る。
【0052】いったんデータの完全性が確証または修正
されて、パケットが適切な宛先に到着したことが判定さ
れると、入力メッセージ制御論理1308は、データを
PE記憶機構1210の待ち行列に置く。このタスク
は、PE記憶機構1210のための複数の要求を取り扱
うことができ、いかなる記憶競合も解決することのでき
る、記憶アービトレーション制御装置1310によって
達成される。次に入力メッセージ制御論理1308は、
メッセージが利用可能であるという信号をPEマイクロ
プロセッサ1202に送る。
【0053】PEマイクロプロセッサ1202が他のP
Eへメッセージを送ることを望むと、それはまず、メッ
セージをPE記憶機構1210中の宛先待ち行列に待合
せさせる。次にマイクロプロセッサ1202は、メッセ
ージが使用可能であるという信号を出力メッセージ制御
論理1312に送る。これは、「記憶」操作を固定アド
レスに行なうことによって可能である。このアドレス
は、PE記憶機構1210の中には存在しないが、記憶
アービトレーション制御装置1310によって1つの特
別信号として復号される。「記憶」操作用のデータは、
PE記憶機構1210中の宛先待ち行列に向く。
【0054】クラスタ制御装置に送られる前に、宛先待
ち行列における各メッセージには見出しがつけられる。
この見出しは、DMA制御装置1206の宛先PE待ち
行列見出しアレイ1314に保持される。メッセージ見
出しは、バイト数で表わしたメッセージの全長(409
6バイトまで)、メッセージが送られるべきPEの識別
子(15ビットDST識別子)、及びこの伝送PEの識
別子(15ビットSRC識別子)を指定する。
【0055】高いスイッチ帯域幅を達成するために、D
MA制御装置は、複数のメッセージを順次に送るのでは
なく、それらのメッセージからパケットをインタリーブ
する。しかし、1つの処理要素から他の処理要素へのメ
ッセージは、すべて順に送られる。スイッチの設計は、
1つの処理要素によって他の特定の処理要素から受け取
ったパケットが、それらが送られた順序と同じ順序で受
け取られる、ということを保証する。出力メッセージ制
御論理は、種々の宛先に対する先頭メッセージのすべて
または一部を、出力メッセージ・バッファ1316へ事
前に取り出す。出力メッセージ・バッファ1316か
ら、データは、1度に5倍ワードずつ5倍ワード分解バ
ッファ1318へ取り出され、そこから1度に1バイト
ずつクラスタ制御装置に送られる。
【0056】さらに別の機能として、DMA制御装置1
206はまた、伝送の前に、各パケットのための9ビッ
トSEC/DED誤り訂正コード(ECC)を生成す
る。
【0057】このシステムの誤り訂正機能を、これより
さらに詳しく説明する。前記のように、メッセージ・パ
ケットが処理要素に到達すると、DMA制御装置120
6はECCを適用し、それからパケット指令フィールド
によって指定された機能を実施する。ECCが、単一ビ
ット誤りが受信パケットのDST識別子内で発生したこ
とを示す場合には、パケットはある他の処理要素に行く
はずであったものであり、このためDMA制御装置12
06はDST識別子を訂正して、パケットを正しい処理
要素に再送する。ホスト・プロセッサを含むクラスタ・
ネットワークが構築されている場合、DMA制御装置1
206はまた、この誤り事象をホスト・プロセッサ・サ
ービス・サブシステムに報告する。これは、ホスト・プ
ロセッサのソフトウェアに割込みをかけて、しきい値処
理アルゴリズムの制御の下で誤りをサービス・サブシス
テムに報告することによって、達成される。
【0058】ECCは、送信処理要素で生成され、受信
処理要素で検査されるが、パリティ検査も、パケットが
TCMに入ったりTCMから離れたりする度に、そして
宛先処理要素による受信の度に、実施される。こうし
て、訂正可能な誤りが検出され、それが発生するとすぐ
に、サービス・システムに報告することができる。
【0059】本システムの自己訂正操作は、図6を参照
すればより良く理解される。ここで例として、クラスタ
制御装置602(1)と32×32スイッチ・ネットワ
ーク606との間の通信路に問題があり、入力パケット
の宛先アドレス・フィールドで固定誤りを引き起こすと
仮定する。さらにこの入力パケットは、クラスタ制御装
置602(1)上の処理要素604(3)を意図した
が、代わりに、固定誤りのために、同じクラスタ制御装
置上の処理要素604(1)に到達する、と仮定する。
【0060】受信処理要素604(1)は、入力パケッ
トを6入力9出力スイッチとPEP出力バスによって受
信する。いったんパケットが受信されると、処理要素は
宛先フィールド誤りを(ECCを用いて)訂正し、PE
P入力バスと組立てバッファによって、クラスタ制御装
置602(1)のパケットを正しいPE604(3)に
再送する。パケットはもはや問題の接続の通路を通らな
いので、固定誤りは、このパケットについては繰り返さ
れないことになる。
【0061】クラスタ制御装置からスイッチ・ネットワ
ーク606へのバス上で誤った宛先アドレスが生じた場
合も、同様な手法で多くの誤りを訂正することができ
る。各クラスタは別々の入力バスと出力バスを有する、
ということに留意されたい。したがって、出力パケット
の宛先アドレスが、バスの出力側における誤接続によっ
て変わり、そのためパケットが間違ったクラスタ制御装
置に送られた場合には、正しいクラスタ制御装置と受信
/訂正中のクラスタ制御装置との間の経路は、送信元の
プロセッサと受信/訂正中のプロセッサとの間の経路と
はまったく異なることになる。
【0062】スイッチ・ネットワーク606自体も誤り
訂正論理を含む。したがって、パケットが存在していな
い、または動作していない処理要素に経路指定された場
合には、スイッチはソースと宛先フィールドを入れ替
え、パケットを誤りの指示と共に送信側に送り返す。
【0063】図11は、図6のシステムと共に使用され
るパケット・フォーマットの好ましい実施例を示す。各
パケットは180ビット幅であり、5ビット指令フィー
ルド(CMD)、8ビット順序番号フィールド(SE
Q)、15ビット宛先アドレス・フィールド(DS
T)、15ビット・ソース・アドレス・フィールド(S
RC)、128ビット・データ・フィールド、及び9ビ
ット誤り訂正コード(ECC)を含む。
【0064】指令フィールド(CMD)は、クラスタ制
御装置と受信処理要素にパケットの取扱い法を告げる5
ビット指令を含む。順序番号フィールド(SEQ)は、
送信元(ソース)処理要素によって順番に割り当てられ
る8ビット・パケット順序番号を含む。受信システム
は、この順序番号から、メッセージ中の合計パケット・
カウントのどのパケット番号を受信したかを識別するこ
とができる。
【0065】宛先アドレス・フィールド(DST)は、
15ビットの宛先処理要素番号を含む。宛先フィールド
は、パケットを自己経路指定するためにスイッチとクラ
スタ制御装置によって使用され、パケットが適切なアド
レスに経路指定されたことを確認するために、受信(宛
先)処理要素によって使用される。
【0066】ソース・原始アドレス・フィールド(SR
C)は、15ビットの送信元(ソース)処理要素番号を
含む。ソース・フィールドは、スイッチとクラスタ制御
装置によって使用されて、動作不能または不在の処理要
素の番号が宛先アドレス・フィールド(DST)に現わ
れた場合にパケットをソースに戻し、そして受信(宛
先)処理装置によって使用されて、メッセージまたは指
令に対する任意の応答を適切にアドレス指定する。
【0067】データ・フィールドは128ビットの情報
を含む。データ・フィールド中の情報のタイプは指令フ
ィールド(CMD)によって定義される。
【0068】ECCフィールド(ECC)は、SEC/
DED(単一誤り訂正/二重誤り検出)コードを含む。
【0069】メッセージ見出しパケットの場合、順序フ
ィールドはメッセージの全長を指定し、そしてDMA制
御装置は、この長さのメッセージ・バッファをPE局所
メモリ内に割り振り、データの最初の4倍ワードをメッ
セージ・バッファに書き込み、そして、このメッセージ
のためにもっと多くのデータ・パケットがある場合に
は、局所ハードウエア・ポインタ、長さ及び順序レジス
タを設定する。これはまたメモリ中に、メッセージ長、
DST識別子、及びSRC識別子を含むメッセージ見出
しを構築する。
【0070】メッセージ本体パケットの場合、順序番号
フィールドは、順序レジスタに対して検査され、パケッ
トが順序通りに到着しており、各4倍ワード・データが
メッセージ・バッファに加えられる、ということを検証
する。メッセージが完全に受信されると、これは、局所
プロセッサによる処理のために、局所メモリにおける入
力待ち行列に入れられる。入力待ち行列がこのメッセー
ジを加える前に空になっていた場合には、局所プロセッ
サに割込みがかけられ、それに保留作業を通知する。
【0071】記憶アクセス指令パケットの場合、DMA
制御装置は、要求された取出しまたは記憶動作をPE局
所メモリに実施し(ダブル・ワード・データの転送)、
取出しについては、応答パケットがSRCフィールドと
DST識別子フィールドを入れ替えることによって構築
され、次にスイッチを通じて送られ、要求されたダブル
・ワード・データを戻す。
【0072】大域記憶アクセス指令を含むパケットは、
局所記憶アクセス指令がDMA制御装置によって取り扱
われたのと同じ方法で、クラスタ制御装置によって取り
扱われる。両方の場合とも、メモリ動作は自律的で、比
較・置換(COMPAREAND SWAP)能力を含
む。
【0073】図14は、処理要素/クラスタ・ボードの
好ましいレイアウトを示す。物理的レイアウトの点で
は、クラスタは、64個までの処理要素カード(すなわ
ち、それぞれが1つの処理要素を実現する回路板)が直
接取り付けられた多層回路板1400、及び少なくとも
1つのクラスタ制御装置熱伝導モジュール(TCM)1
402を、含むことが好ましい。各クラスタ制御装置
は、クラスタ内での局所メッセージ通信を取り扱い、ス
イッチ・ネットワーク606に接続する。
【0074】図15は、8つのフレーム1502〜15
16の各々に4つのクラスタを有するシステム・フレー
ムのレイアウトを示す。スイッチ・ネットワーク熱伝導
モジュールは、中央フレーム1518〜1524に実現
されることが好ましい。ホスト・アダプタ1700(図
17)は、フレーム1502〜1516の任意の1つに
常駐することができる。利用可能性と構成可能性の理由
のために、追加のホスト・アダプタ1700を、フレー
ム1502〜1516の他の1つに設けることができ
る。
【0075】図16は、高性能RISCマイクロプロセ
ッサ1202、任意選択データベース加速装置160
2、DMA制御装置1206、及び局所メモリ1210
を含む、処理要素カード1600のための好ましいレイ
アウトを示す。処理要素カード1600は、クラスタ制
御装置TCMに接続可能な数の2倍のピン数を有する。
したがって、PEバスの第2セット(第2「PEポー
ト」)が、処理要素カードに設けられてマザーボード
(TCMマザーボード)上に取り出され、ここで第2
(予備)クラスタ制御装置TCM位置(1404、図1
4)に経路指定される。これは今後の拡張を可能にす
る。すなわち、CMOS密度が向上すると、第2PEを
各カードにパッケージできるようになり、更に、2つの
クラスタ制御装置/スイッチ・ネットワークTCMを配
線済みのボードにプラグインできるので、システムのサ
イズ、すなわちPEの数を倍の4096にできる。代替
として、任意選択クラスタ制御装置/スイッチ・ネット
ワークTCMを設けて、クラスタ制御装置への各PEの
2つのポートを、帯域幅を高くするために、または耐故
障性を改善するために使用することができる。
【0076】前記のシステムは、独立型の多重処理シス
テムまたはデータベース・プロセッサとして作ることが
でき、また従来の本体ホストに対するコプロセッサとし
て使用することもできる。後者の場合、ホスト・システ
ムは、セッション管理、トランザクション処理、データ
ベース・ロッキング及び回復を含む、フロントエンドM
VS/DB2システム機能を提供する。本発明の多重プ
ロセッサは、バックエンド・システムとして採用される
こともでき、これは読取り専用の複雑な照会処理機能を
ホストからアンロードし、加速する。
【0077】
【発明の効果】この発明は、その実施形態によっておよ
そ次のような利点を 1.本システムの接続ネットワーク設計は、メインフレ
ーム技術を採用して、多くの現代のシステムが持つ能力
の先を行く高帯域幅システム相互接続を達成する。高密
度パッケージングは幅広バス(たとえば180ビット)
の使用を可能にし、高速バイポーラ論理は極めて短いサ
イクルのシステム刻時(たとえば5ns)を可能にす
る。200GB/秒に維持された帯域幅は、一様ランダ
ム・メッセージ転送について達成可能である。
【0078】2.各処理要素中のDMA制御装置は、新
しいパケット・プロトコルによる効率的なメッセージの
伝送をもたらし、更にこれは、非局所メモリの直接アド
レス指定も可能にする。この直接アドレス指定能力は、
共用メモリ構成を想定するいくつかのソフトウエア・ア
ルゴリズムのためには重要であり、またシステムのデバ
ッギングとサービス機能にとって有利である。
【0079】3.DMA制御装置による複数のメッセー
ジからのパケットのインタリーブは、パケット伝送のパ
ターンを効果的にランダム化し、スイッチを介する最大
帯域幅を達成するために重要である。
【0080】4.パケット交換の接続ネットワーク設計
は、基本的な2地点間メッセージ伝送のほかに、効率的
なメッセージ同報通信、及び制御機能のための大域記憶
を提供する。
【0081】5.パケット・フォーマットによって、堅
固な誤り処理が可能となる。各パケットでソース(SR
C)識別子及び宛先(DST)識別子と共にECCを使
用すると、効率的な誤り訂正が可能である。ハードウエ
アの誤りがパケットの誤った経路指定を起こさせた場合
には、次の2つのうちのいずれかが生じる。すなわち、
(1)パケットが存在しないまたは動作していない処理
要素に誤って経路指定された場合、クラスタ制御装置は
SRCフィールドとDSTフィールドを入れ替え、パケ
ットを誤りフラグと共に送信側に返す。または、(2)
パケットが動作している他の処理要素に誤って経路指定
された場合、この処理要素は、(必要に応じてECCを
適用した後に)パケットを再送することになる。再送は
一時誤りを克服することができ、そして2の場合には、
別のハードウエア通路を使用することによりいくつかの
固定誤りを回避することができる。
【0082】6.この高度並行処理構造は、その高帯域
幅相互接続と共に、各種のアプリケーションに好適であ
り、このいくつかの例には、データベース処理、論理シ
ミュレーション、及び人工知能がある。
【図面の簡単な説明】
【図1】従来の技術による共用メモリ・システムのブロ
ック図である。
【図2】オメガ相互接続を用いて構成された従来の技術
による共用メモリ・システムのブロック図である。
【図3】従来の技術によるメッセージ・パス・ネットワ
ークのブロック図である。
【図4】従来の技術によるハイブリッド・システムのブ
ロック図である。
【図5】従来の技術によるクラスタ接続システムのブロ
ック図である。
【図6】本発明の実施例による多重処理システムのブロ
ック図である。
【図7】図6の32×32スイッチのより詳細なブロッ
ク図である。
【図8】図7の32×32スイッチの実施例に使用され
た型式の8×8スイッチのより詳細なブロック図であ
る。
【図9】図8の典型的なスイッチ/待ち行列のより詳細
なブロック図である。
【図10】図6の多重処理システムの実施例に使用され
た型式のクラスタ制御装置のより詳細なブロック図であ
る。
【図11】図6の多重処理システムの実施例に使用され
た好ましいパケット・フォーマットの図である。
【図12】処理要素、メモリ、DMA制御装置、及びク
ラスタ制御装置の間の相互接続を示す、典型的な処理要
素のより詳細なブロック図である。
【図13】機能ブロック及びそれらの相互接続の各々を
示す、図12のDMA制御装置のより詳細なブロック図
である。
【図14】処理要素クラスタ・ボードの図である。
【図15】図6の多重処理システムのためのフレーム・
レイアウトを示す図である。
【図16】処理要素カードのためのレイアウトを示す図
である。
【図17】ホスト・アダプタ及びホスト・システムへの
接続のブロック図である。
【符号の説明】
602 クラスタ制御装置 604 処理要素(プロセッサ) 606 32×32スイッチ・ネットワーク 608 入力バス 610 出力バス 612 入力バス 614 出力バス 1006 組立バッファ 1210 処理要素記憶機構(局所メモリ)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 チャールス・エイチ・ブラットマン アメリカ合衆国ニューヨーク州ポキプシ ー、セイント・ アンズ・ロード 13番地 (72)発明者 ジェームス・ウォルター・ライマクザヤク アメリカ合衆国ニューヨーク州ポキプシ ー、ダラ・レー ン 6番地

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 交換ネットワークによって結合された複
    数のプロセッサ・クラスタを含む多重プロセッサ・シス
    テムにおいて使用するためのクラスタ制御装置であっ
    て、 前記交換ネットワークからパケットを受信して該パケッ
    トを宛先アドレスに従って分配するためのスイッチ手段
    と、 前記スイッチ手段から前記パケットを受け取るように接
    続された、データを記憶するための大域記憶手段と、 前記プロセッサの各々に関連する複数のパケット待ち行
    列を含む待ち行列手段と、 各々が、前記スイッチ手段の出力ポートと前記パケット
    待ち行列の1つの入力ポートに接続されている、複数の
    第1バスと、 データを当該クラスタ制御装置と前記プロセッサとの間
    で転送するための、複数の処理要素ポート手段と、 各々が、前記パケット待ち行列の1つの出力ポートと前
    記処理要素の1つの入力ポートに接続されている、複数
    の第2バスと、 前記プロセッサ毎に1つ設けられる組立てバッファ及び
    出力すべきパケットを選択するためのラウンド・ロビン
    手段を含み、前記プロセッサからのデータをパケットに
    組み立てる組立てバッファ手段と、 前記組立てバッファ手段及び前記大域記憶手段からパケ
    ットを受け取り、前記交換ネットワークに送られるべき
    1つのパケットを選択するためのセレクタ手段と、 を備えるクラスタ制御装置。
  2. 【請求項2】 前記スイッチ手段が、ラウンド・ロビン
    方式で前記パケットを出力するためのセレクタ手段を有
    する請求項1に記載の装置。
  3. 【請求項3】 前記第2バスのビット数が、前記第1バ
    スのビット数よりも多い、請求項1に記載の装置。
  4. 【請求項4】 各々が局所メモリを含む複数の第1プロ
    セッサと、 各々が局所メモリを含む複数の第2プロセッサと、 前記複数の第1プロセッサから第1データを受け取るよ
    うに接続されており、該第1データを、ソース・フィー
    ルド、宛先フィールド、及び指令フィールドを含む複数
    のパケットに組み立て、該パケットを出力する第1クラ
    スタ制御手段と、 前記複数の第2プロセッサから第2データを受け取るよ
    うに接続されており、該第2データを、ソース・フィー
    ルド、宛先フィールド、及び指令フィールドを含む複数
    のパケットに組み立て、該パケットを出力する第2クラ
    スタ制御手段と、 前記第1及び第2クラスタ制御手段からそれぞれ前記複
    数のパケットを受け取るように接続されており、前記宛
    先フィールドを復号し、どのクラスタ制御手段が復号さ
    れた宛先フィールドに対応するアドレス指定されたプロ
    セッサに接続されているかを判断し、該判断したクラス
    タ制御手段に前記複数のパケットのそれぞれを送るネッ
    トワーク手段と、 を備えるクラスタ接続多重処理システム。
  5. 【請求項5】 前記第1及び第2クラスタ制御手段がそ
    れぞれ、ロビン・ラウンド方式で前記パケットを出力す
    るための手段を含む、請求項4に記載のシステム。
  6. 【請求項6】 前記第1及び第2のプロセッサの各々
    が、他のプロセッサから前記局所メモリへの直接アクセ
    スを行なうための手段を含む、請求項4に記載のシステ
    ム。
  7. 【請求項7】 ホスト・プロセッサを前記ネットワーク
    手段に結合するためのホスト・アダプタをさらに含み、 前記ホスト・アダプタは、 前記ホスト・プロセッサから1組の指令を受信するため
    の手段と、 前記指令を複数のプロセッサに分配するための手段を含
    む、請求項4に記載のシステム。
  8. 【請求項8】 前記ホスト・アダプタが、前記ホスト・
    プロセッサからの第1メモリ・アドレスを前記複数のプ
    ロセッサのそれぞれの内部の局所メモリにおけるある帯
    域の第2メモリ・アドレスに変換する手段を有する請求
    項7に記載のシステム。
  9. 【請求項9】 前記プロセッサの各々が、汎用プロセッ
    サ及びデータベース加速手段を含む、請求項8に記載の
    システム。
  10. 【請求項10】 前記データベース加算手段の少なくと
    も1つは、ソート・コプロセッサである請求項9に記載
    のシステム。
  11. 【請求項11】 交換ネットワークによって結合された
    複数の処理要素クラスタを含む多重プロセッサで使用す
    るためのクラスタ制御装置であって、 前記交換ネットワークからパケットを受け取るように接
    続され、該パケットを宛先アドレスに従って分配するた
    めのスイッチ手段と、 複数の前記処理要素に接続され、該処理要素の各々に関
    連する複数のパケット待ち行列を含む待ち行列手段と、 前記処理要素からのデータをパケットに組み立てるため
    の組立てバッファ手段と、 前記組立てバッファ手段に接続され、前記交換ネットワ
    ークに送るパケットを選択するための選択手段と、 を備えるクラスタ制御装置。
  12. 【請求項12】 指令フィールド、順序番号フィール
    ド、宛先フィールド、ソース・フィールド、データ・フ
    ィールド及び誤り訂正コード・フィールドを含むパケッ
    トを送受信するクラスタ接続多重処理システムであっ
    て、 前記指令フィールドは、メモリ・アクセスを示す第1ビ
    ット・パターン、当該パケットがメッセージ本体を保持
    することを示す第2ビット・パターン、または当該パケ
    ットがメッセージ見出しを保持することを示す第3ビッ
    ト・パターンを含み、 前記順序番号フィールドは、前記指令フィールドが前記
    第2ビット・パターンを含んでいる場合には、当該パケ
    ットの順序番号を含み、前記指令フィールドが前記第3
    ビット・パターンを含んでいる場合には、後続のメッセ
    ージ・パケットのカウントを含む、 ことを特徴とするクラスタ接続多重処理システム。
  13. 【請求項13】 前記指令フィールドは、あて先処理要
    素の第1アドレスを含むあて先フィールド、ソース処理
    要素のアドレスを含むソース・フィールド、データ・フ
    ィールド、およびエラー検出訂正コードを含むエラー訂
    正コード・フィールドを有する請求項12に記載のシス
    テム。
  14. 【請求項14】 前記指令フィールドは、前記クラスタ
    制御装置で複合されるとき前記クラスタ制御装置に接続
    されたプロセッサの局所メモリがアクセスされるように
    する第4ビット・パターンを含んでいる請求項13に記
    載のシステム。
JP6305977A 1990-02-02 1994-12-09 クラスタ制御装置及びクラスタ接続多重多重プロセッシング・システム Expired - Lifetime JP2576846B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US474440 1990-02-02
US07/474,440 US5161156A (en) 1990-02-02 1990-02-02 Multiprocessing packet switching connection system having provision for error correction and recovery

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2415183A Division JP2566681B2 (ja) 1990-02-02 1990-12-27 多重プロセッシング・システム

Publications (2)

Publication Number Publication Date
JPH07210527A true JPH07210527A (ja) 1995-08-11
JP2576846B2 JP2576846B2 (ja) 1997-01-29

Family

ID=23883543

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2415183A Expired - Lifetime JP2566681B2 (ja) 1990-02-02 1990-12-27 多重プロセッシング・システム
JP6305977A Expired - Lifetime JP2576846B2 (ja) 1990-02-02 1994-12-09 クラスタ制御装置及びクラスタ接続多重多重プロセッシング・システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2415183A Expired - Lifetime JP2566681B2 (ja) 1990-02-02 1990-12-27 多重プロセッシング・システム

Country Status (4)

Country Link
US (2) US5161156A (ja)
EP (1) EP0439693B1 (ja)
JP (2) JP2566681B2 (ja)
DE (1) DE69021710T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181933A (ja) * 1998-12-18 2000-06-30 Nec Corp 階層構造作成方法及び装置
JP2017503230A (ja) * 2013-12-20 2017-01-26 インテル・コーポレーション 階層的並列分割ネットワーク

Families Citing this family (200)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104871B2 (ja) * 1989-08-31 1995-11-13 三菱電機株式会社 リレーショナル・データベースにおけるジョイン処理方式
US5265207A (en) * 1990-10-03 1993-11-23 Thinking Machines Corporation Parallel computer system including arrangement for transferring messages from a source processor to selected ones of a plurality of destination processors and combining responses
JP2575557B2 (ja) * 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション スーパーコンピユータシステム
JPH04245751A (ja) * 1991-01-31 1992-09-02 Nec Corp イベント処理分散型網監視システム
US5825773A (en) * 1991-03-20 1998-10-20 Hitachi, Ltd. Switching system for transferring broadcast packet held in broadcast buffer received from input port to output ports according to the state of each output port
US5617547A (en) * 1991-03-29 1997-04-01 International Business Machines Corporation Switch network extension of bus architecture
JP3679813B2 (ja) * 1991-07-22 2005-08-03 株式会社日立製作所 並列計算機
JPH05134954A (ja) * 1991-11-15 1993-06-01 Fujitsu Ltd ネツトワーク処理装置
EP0570648A1 (en) * 1992-05-21 1993-11-24 International Business Machines Corporation Apparatus for generating and checking the error correction codes of messages in a message switching system
JP2552075B2 (ja) * 1992-05-22 1996-11-06 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システム
US5758053A (en) * 1992-07-22 1998-05-26 Hitachi, Ltd. Fault handling and recovery for system having plural processors
JPH06214969A (ja) * 1992-09-30 1994-08-05 Internatl Business Mach Corp <Ibm> 情報通信方法および装置
US5781715A (en) * 1992-10-13 1998-07-14 International Business Machines Corporation Fault-tolerant bridge/router with a distributed switch-over mechanism
US20020091850A1 (en) 1992-10-23 2002-07-11 Cybex Corporation System and method for remote monitoring and operation of personal computers
JP3461520B2 (ja) * 1992-11-30 2003-10-27 富士通株式会社 マルチプロセッサシステム
US5499377A (en) * 1993-05-03 1996-03-12 Designed Enclosures, Inc. Multi-computer access switching system
JP3176482B2 (ja) * 1993-07-07 2001-06-18 富士通株式会社 論理シミュレーション装置
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
FR2707776B1 (fr) 1993-07-15 1995-08-18 Bull Sa Procédé de gestion de mémoires d'un système informatique, système informatique mémoire et support d'enregistrement mettant en Óoeuvre le procédé.
FR2707777B1 (fr) * 1993-07-15 1995-08-18 Bull Sa Ensemble informatique à mémoire partagée.
US5485573A (en) * 1993-07-16 1996-01-16 Unisys Corporation Method and apparatus for assisting in the determination of the source of errors in a multi-host data base management system
CA2129882A1 (en) * 1993-08-12 1995-02-13 Soheil Shams Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same
JPH07105128A (ja) * 1993-10-07 1995-04-21 Mitsubishi Electric Corp データ転送装置
EP0651336A1 (en) * 1993-10-28 1995-05-03 International Business Machines Corporation Switch network extension of bus architecture
US5765146A (en) * 1993-11-04 1998-06-09 International Business Machines Corporation Method of performing a parallel relational database query in a multiprocessor environment
EP0986007A3 (en) * 1993-12-01 2001-11-07 Marathon Technologies Corporation Method of isolating I/O requests
US5581705A (en) * 1993-12-13 1996-12-03 Cray Research, Inc. Messaging facility with hardware tail pointer and software implemented head pointer message queue for distributed memory massively parallel processing system
US5450578A (en) * 1993-12-23 1995-09-12 Unisys Corporation Method and apparatus for automatically routing around faults within an interconnect system
US5495589A (en) * 1993-12-23 1996-02-27 Unisys Corporation Architecture for smart control of bi-directional transfer of data
US6088768A (en) * 1993-12-28 2000-07-11 International Business Machines Corporation Method and system for maintaining cache coherence in a multiprocessor-multicache environment having unordered communication
US5664223A (en) * 1994-04-05 1997-09-02 International Business Machines Corporation System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively
JP3544390B2 (ja) * 1994-06-29 2004-07-21 富士通株式会社 並列計算機で用いられるメッセージ通信方法
US5630045A (en) * 1994-12-06 1997-05-13 International Business Machines Corporation Device and method for fault tolerant dual fetch and store
WO1996018256A2 (en) * 1994-12-09 1996-06-13 British Telecommunications Public Limited Company Multi-processor environments
KR100220570B1 (ko) * 1995-03-16 1999-09-15 김영환 패킷교환기의 에러검출장치
US5634068A (en) * 1995-03-31 1997-05-27 Sun Microsystems, Inc. Packet switched cache coherent multiprocessor system
US5721921A (en) * 1995-05-25 1998-02-24 Cray Research, Inc. Barrier and eureka synchronization architecture for multiprocessors
US5632013A (en) * 1995-06-07 1997-05-20 International Business Machines Corporation Memory and system for recovery/restoration of data using a memory controller
US5925099A (en) * 1995-06-15 1999-07-20 Intel Corporation Method and apparatus for transporting messages between processors in a multiple processor 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
US5740175A (en) * 1995-10-03 1998-04-14 National Semiconductor Corporation Forwarding database cache for integrated switch controller
US6055618A (en) * 1995-10-31 2000-04-25 Cray Research, Inc. Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel
US5864738A (en) * 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US5841973A (en) * 1996-03-13 1998-11-24 Cray Research, Inc. Messaging in distributed memory multiprocessing system having shell circuitry for atomic control of message storage queue's tail pointer structure in local memory
US5923847A (en) * 1996-07-02 1999-07-13 Sun Microsystems, Inc. Split-SMP computer system configured to operate in a protected mode having repeater which inhibits transaction to local address partiton
US5805614A (en) * 1996-07-03 1998-09-08 General Signal Corporation Fault tolerant switch fabric with control and data correction by hamming codes
US5812556A (en) * 1996-07-03 1998-09-22 General Signal Corporation Fault tolerant switch fabric with control and data correction by hamming codes and error inducing check register
US6393581B1 (en) * 1996-08-29 2002-05-21 Cornell Research Foundation, Inc. Reliable time delay-constrained cluster computing
US5790397A (en) 1996-09-17 1998-08-04 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US6791947B2 (en) 1996-12-16 2004-09-14 Juniper Networks In-line packet processing
US6282195B1 (en) 1997-01-09 2001-08-28 Silicon Graphics, Inc. Packetized data transmissions in a switched router architecture
US6067567A (en) * 1997-02-20 2000-05-23 International Business Machines Corporation Message distribution capability which uses distribution nodes to collect acknowledgements for a primary node
US5923840A (en) * 1997-04-08 1999-07-13 International Business Machines Corporation Method of reporting errors by a hardware element of a distributed computer system
US6098105A (en) * 1997-04-08 2000-08-01 International Business Machines Corporation Source and destination initiated interrupt method for message arrival notification
US6105071A (en) * 1997-04-08 2000-08-15 International Business Machines Corporation Source and destination initiated interrupt system for message arrival notification
US6098104A (en) * 1997-04-08 2000-08-01 International Business Machines Corporation Source and destination initiated interrupts for message arrival notification, and related data structures
US5968189A (en) * 1997-04-08 1999-10-19 International Business Machines Corporation System of reporting errors by a hardware element of a distributed computer system
US6304895B1 (en) 1997-08-22 2001-10-16 Apex Inc. Method and system for intelligently controlling a remotely located computer
US6167437A (en) * 1997-09-02 2000-12-26 Silicon Graphics, Inc. Method, system, and computer program product for page replication in a non-uniform memory access system
US6401174B1 (en) * 1997-09-05 2002-06-04 Sun Microsystems, Inc. Multiprocessing computer system employing a cluster communication error reporting mechanism
US6289424B1 (en) 1997-09-19 2001-09-11 Silicon Graphics, Inc. Method, system and computer program product for managing memory in a non-uniform memory access system
US6249802B1 (en) * 1997-09-19 2001-06-19 Silicon Graphics, Inc. Method, system, and computer program product for allocating physical memory in a distributed shared memory network
US6000024A (en) * 1997-10-15 1999-12-07 Fifth Generation Computer Corporation Parallel computing system
US20010044843A1 (en) * 1997-10-28 2001-11-22 Philip Bates Multi-user computer system
US6230252B1 (en) 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network
US5970232A (en) * 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6101181A (en) * 1997-11-17 2000-08-08 Cray Research Inc. Virtual channel assignment in large torus systems
US6633945B1 (en) 1997-12-07 2003-10-14 Conexant Systems, Inc. Fully connected cache coherent multiprocessing systems
US6065077A (en) 1997-12-07 2000-05-16 Hotrail, Inc. Apparatus and method for a cache coherent shared memory multiprocessing system
US6516442B1 (en) * 1997-12-07 2003-02-04 Conexant Systems, Inc. Channel interface and protocols for cache coherency in a scalable symmetric multiprocessor system
US6418537B1 (en) 1997-12-07 2002-07-09 Conexant Systems, Inc. Accurate timing calibration for each of multiple high-speed clocked receivers using a single DLL
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.
US6341132B1 (en) 1998-02-04 2002-01-22 Cisco Technology, Inc. ATM node having local error correcting procedures
US6256753B1 (en) * 1998-06-30 2001-07-03 Sun Microsystems, Inc. Bus error handling in a computer system
IL142119A0 (en) 1998-09-22 2002-03-10 Cybex Computer Prod Corp System and method for accessing and operating personal computers remotely
US6216174B1 (en) 1998-09-29 2001-04-10 Silicon Graphics, Inc. System and method for fast barrier synchronization
US6618379B1 (en) * 1998-12-08 2003-09-09 Nec Corporation RRGS-round-robin greedy scheduling for input/output terabit switches
US6920562B1 (en) 1998-12-18 2005-07-19 Cisco Technology, Inc. Tightly coupled software protocol decode with hardware data encryption
US6256683B1 (en) * 1998-12-23 2001-07-03 Bops, Inc. Methods and apparatus for providing direct memory access control
US6389494B1 (en) * 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data
US7117275B1 (en) 1999-01-04 2006-10-03 Emc Corporation Data storage system having separate data transfer section and message network
US7073020B1 (en) 1999-01-04 2006-07-04 Emc Corporation Method for message transfer in computer storage system
US6388453B1 (en) 1999-01-25 2002-05-14 Bryan D. Greer Swept-frequency dielectric moisture and density sensor
EP1203275A4 (en) * 1999-06-25 2004-12-01 Massively Parallel Computing I MASSIVE SUMMARY NETWORK PROCESSING SYSTEM AND METHOD
US6469988B1 (en) 1999-07-08 2002-10-22 Conexant Systems, Inc. Low-level circuit implementation of signal flow graphs for real-time signal processing of high-speed digital signals
US6378014B1 (en) 1999-08-25 2002-04-23 Apex Inc. Terminal emulator for interfacing between a communications port and a KVM switch
US6711170B1 (en) * 1999-08-31 2004-03-23 Mosaid Technologies, Inc. Method and apparatus for an interleaved non-blocking packet buffer
US7139899B2 (en) * 1999-09-03 2006-11-21 Cisco Technology, Inc. Selected register decode values for pipeline stage register addressing
US6751698B1 (en) 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6681341B1 (en) 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
US7082552B2 (en) 2000-02-08 2006-07-25 Mips Tech Inc Functional validation of a packet management unit
US7032226B1 (en) 2000-06-30 2006-04-18 Mips Technologies, Inc. Methods and apparatus for managing a buffer of events in the background
US7155516B2 (en) 2000-02-08 2006-12-26 Mips Technologies, Inc. Method and apparatus for overflowing data packets to a software-controlled memory when they do not fit into a hardware-controlled memory
US7649901B2 (en) 2000-02-08 2010-01-19 Mips Technologies, Inc. Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing
US7058064B2 (en) * 2000-02-08 2006-06-06 Mips Technologies, Inc. Queueing system for processors in packet routing operations
US7165257B2 (en) 2000-02-08 2007-01-16 Mips Technologies, Inc. Context selection and activation mechanism for activating one of a group of inactive contexts in a processor core for servicing interrupts
WO2001063438A1 (en) * 2000-02-24 2001-08-30 Bops Incorporated Methods and apparatus for providing bit-reversal and multicast functions utilizing dma controller
US6990063B1 (en) * 2000-03-07 2006-01-24 Cisco Technology, Inc. Distributing fault indications and maintaining and using a data structure indicating faults to route traffic in a packet switching system
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US7007194B1 (en) 2000-06-29 2006-02-28 Emc Corporation Data storage system having point-to-point configuration
US6779071B1 (en) 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US6651130B1 (en) 2000-04-28 2003-11-18 Emc Corporation Data storage system having separate data transfer section and message network with bus arbitration
US7418470B2 (en) * 2000-06-26 2008-08-26 Massively Parallel Technologies, Inc. Parallel processing systems and method
US8325761B2 (en) * 2000-06-26 2012-12-04 Massivley Parallel Technologies, Inc. System and method for establishing sufficient virtual channel performance in a parallel computing network
US6816916B1 (en) * 2000-06-29 2004-11-09 Emc Corporation Data storage system having multi-cast/unicast
US6735620B1 (en) 2000-07-18 2004-05-11 International Business Machines Corporation Efficient protocol for retransmit logic in reliable zero copy message transport
US7089289B1 (en) 2000-07-18 2006-08-08 International Business Machines Corporation Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices
US6799200B1 (en) 2000-07-18 2004-09-28 International Business Machines Corporaiton Mechanisms for efficient message passing with copy avoidance in a distributed system
US6675254B1 (en) * 2000-09-29 2004-01-06 Intel Corporation System and method for mid-plane interconnect using switched technology
US7106693B1 (en) 2000-11-02 2006-09-12 Cisco Technology, Inc. Method and apparatus for pacing the flow of information sent from a device
US7012889B1 (en) 2000-11-02 2006-03-14 Cisco Technology, Inc. Method and apparatus for controlling input rates within a packet switching system
US6907490B2 (en) * 2000-12-13 2005-06-14 Intel Corporation Method and an apparatus for a re-configurable processor
US6826645B2 (en) 2000-12-13 2004-11-30 Intel Corporation Apparatus and a method to provide higher bandwidth or processing power on a bus
US6779049B2 (en) * 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US6718428B2 (en) 2000-12-18 2004-04-06 Sun Microsystems, Inc. Storage array interconnection fabric using a torus topology
US7401161B2 (en) 2000-12-18 2008-07-15 Sun Microsystems, Inc. High performance storage array interconnection fabric using multiple independent paths
US7072976B2 (en) 2001-01-04 2006-07-04 Sun Microsystems, Inc. Scalable routing scheme for a multi-path interconnection fabric
TW567695B (en) * 2001-01-17 2003-12-21 Ibm Digital baseband system
US7027397B1 (en) 2001-02-15 2006-04-11 Cisco Technology, Inc. Method and apparatus for accumulating and distributing traffic and flow control information in a packet switching system
US6909695B2 (en) 2001-05-07 2005-06-21 Sun Microsystems, Inc. Fault-tolerant, self-healing routing scheme for a multi-path interconnection fabric in a storage network
US7007189B2 (en) 2001-05-07 2006-02-28 Sun Microsystems, Inc. Routing scheme using preferred paths in a multi-path interconnection fabric in a storage network
US6807640B2 (en) * 2001-05-08 2004-10-19 Intersil Americas, Inc. Programmable interface controller suitable for spanning clock domains
US20030009509A1 (en) * 2001-06-22 2003-01-09 Fish Russell H. Distributed means of organizing an arbitrarily large number of computers
US8086738B2 (en) 2007-05-24 2011-12-27 Russell Fish Distributed means of organizing an arbitrarily large number of computers
US20030033463A1 (en) * 2001-08-10 2003-02-13 Garnett Paul J. Computer system storage
US7251698B2 (en) * 2002-05-28 2007-07-31 Newisys, Inc. Address space management in systems having multiple multi-processor clusters
US7281055B2 (en) * 2002-05-28 2007-10-09 Newisys, Inc. Routing mechanisms 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
US7155525B2 (en) * 2002-05-28 2006-12-26 Newisys, Inc. Transaction management in systems having multiple multi-processor clusters
US7181674B2 (en) * 2002-06-28 2007-02-20 Sun Microsystems, Inc. Computer system including a network employing redundant information and slicing
WO2004036841A1 (ja) * 2002-10-18 2004-04-29 Matsushita Electric Industrial Co., Ltd. グローバル・ネットワークにおける ローミング接続方法及び装置
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7577755B2 (en) * 2002-11-19 2009-08-18 Newisys, Inc. Methods and apparatus for distributing system management signals
US7324438B1 (en) 2003-02-13 2008-01-29 Cisco Technology, Inc. Technique for nondisruptively recovering from a processor failure in a multi-processor flow device
US7826445B2 (en) * 2003-03-13 2010-11-02 International Business Machines Corporation Message formation and distribution in heterogeneous networks
US7324455B2 (en) * 2003-03-14 2008-01-29 International Business Machines Corporation Transfer of error-analysis and statistical data in a fibre channel input/output 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
US7353362B2 (en) * 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
US7159137B2 (en) * 2003-08-05 2007-01-02 Newisys, Inc. Synchronized communication between 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
US7395347B2 (en) * 2003-08-05 2008-07-01 Newisys, Inc, Communication between and within 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
US7536674B2 (en) * 2003-08-13 2009-05-19 Intel Corporation Method and system for configuring network processing software to exploit packet flow data locality
US7503048B1 (en) 2003-08-18 2009-03-10 Cray Incorporated Scheduling synchronization of programs running as streams on multiple processors
US7743223B2 (en) 2003-08-18 2010-06-22 Cray Inc. Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system
US7519771B1 (en) 2003-08-18 2009-04-14 Cray Inc. System and method for processing memory instructions using a forced order queue
US7334110B1 (en) 2003-08-18 2008-02-19 Cray Inc. Decoupled scalar/vector computer architecture system and method
US7366873B1 (en) 2003-08-18 2008-04-29 Cray, Inc. Indirectly addressed vector load-operate-store method and apparatus
US7421565B1 (en) 2003-08-18 2008-09-02 Cray Inc. Method and apparatus for indirectly addressed vector load-add -store across multi-processors
US7543133B1 (en) 2003-08-18 2009-06-02 Cray Inc. Latency tolerant distributed shared memory multiprocessor computer
US8307194B1 (en) 2003-08-18 2012-11-06 Cray Inc. Relaxed memory consistency model
US7379424B1 (en) 2003-08-18 2008-05-27 Cray Inc. Systems and methods for routing packets in multiprocessor computer systems
US7437521B1 (en) 2003-08-18 2008-10-14 Cray Inc. Multistream processing memory-and barrier-synchronization method and apparatus
US7735088B1 (en) 2003-08-18 2010-06-08 Cray Inc. Scheduling synchronization of programs running as streams on multiple processors
GB2405228B8 (en) * 2003-08-19 2007-09-13 Ibm A method, apparatus and computer program for verifying the order of a queue of work items
EP1665065B1 (en) * 2003-09-09 2007-10-03 Koninklijke Philips Electronics N.V. Integrated data processing circuit with a plurality of programmable processors
US7259482B2 (en) 2003-09-24 2007-08-21 Belkin International, Inc. Distance extender and method making use of same
US7889674B2 (en) * 2004-05-04 2011-02-15 Samsung Electronics Co., Ltd. Zigbee network device for assigning addresses to child nodes after constructing cluster-tree structure, address assigning method and routing method
US20050286526A1 (en) * 2004-06-25 2005-12-29 Sood Sanjeev H Optimized algorithm for stream re-assembly
US7461173B2 (en) * 2004-06-30 2008-12-02 Intel Corporation Distributing timers across processors
US20060004933A1 (en) * 2004-06-30 2006-01-05 Sujoy Sen Network interface controller signaling of connection event
US20060031474A1 (en) * 2004-07-19 2006-02-09 Linden Cornett Maintaining reachability measures
US7366889B2 (en) * 2004-08-27 2008-04-29 Sun Microsystems, Inc. Computer cluster control network comprising a first network to communicate control data and a second network to communicate non-control data between processing nodes
US8331234B1 (en) 2004-09-08 2012-12-11 Q1 Labs Inc. Network data flow collection and processing
US20060059411A1 (en) * 2004-09-16 2006-03-16 Sony Corporation And Sony Electronics, Inc. Method and system for increasing channel coding gain
US7590777B2 (en) * 2004-12-10 2009-09-15 International Business Machines Corporation Transferring data between system and storage in a shared buffer
US7512135B2 (en) * 2004-12-10 2009-03-31 International Business Machines Corporation Method for transferring data among a logical layer, physical layer, and storage device
JP2006178550A (ja) * 2004-12-21 2006-07-06 Nec Corp 二重化同期システム、及び二重化同期システムの動作方法
DE102005034652B4 (de) * 2005-03-02 2013-08-08 Rohde & Schwarz Gmbh & Co. Kg Bussystem und Verfahren zum Betreiben des Bussystems
US7478769B1 (en) 2005-03-09 2009-01-20 Cray Inc. Method and apparatus for cooling electronic components
US7523342B1 (en) * 2005-10-28 2009-04-21 Sun Microsystems, Inc. Data and control integrity for transactions in a computer system
US20070150699A1 (en) * 2005-12-28 2007-06-28 Schoinas Ioannis T Firm partitioning in a system with a point-to-point interconnect
CN101375261A (zh) * 2006-02-24 2009-02-25 富士通株式会社 错误控制装置
US8427489B2 (en) 2006-08-10 2013-04-23 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8009173B2 (en) 2006-08-10 2011-08-30 Avocent Huntsville Corporation Rack interface pod with intelligent platform control
US8108512B2 (en) * 2006-09-01 2012-01-31 Massively Parallel Technologies, Inc. System and method for accessing and using a supercomputer
CN101512987A (zh) * 2006-09-06 2009-08-19 Nxp股份有限公司 时间触发网络中的集群耦合器
US8634470B2 (en) * 2007-07-24 2014-01-21 Samsung Electronics Co., Ltd. Multimedia decoding method and multimedia decoding apparatus based on multi-core processor
US7496784B1 (en) * 2008-01-10 2009-02-24 International Business Machines Corporation Method and system for thresholding hardware errors
US7958194B2 (en) * 2008-08-25 2011-06-07 Massively Parallel Technologies, Inc. System and method for parallel processing using a Type I Howard Cascade
FR2938943B1 (fr) * 2008-11-21 2010-11-12 Thales Sa Systeme multiprocesseur.
US20100251259A1 (en) * 2009-03-31 2010-09-30 Howard Kevin D System And Method For Recruitment And Management Of Processors For High Performance Parallel Processing Using Multiple Distributed Networked Heterogeneous Computing Elements
US7925736B2 (en) * 2009-06-15 2011-04-12 Microsoft Corporation Message redirection within a messaging infrastructure
US10216692B2 (en) * 2009-06-17 2019-02-26 Massively Parallel Technologies, Inc. Multi-core parallel processing system
US9645603B1 (en) 2013-09-12 2017-05-09 Advanced Processor Architectures, Llc System clock distribution in a distributed computing environment
US11042211B2 (en) 2009-08-07 2021-06-22 Advanced Processor Architectures, Llc Serially connected computing nodes in a distributed computing system
US8381031B2 (en) 2009-08-07 2013-02-19 Advanced Processor Architectures, Llc Distributed computing
US9429983B1 (en) 2013-09-12 2016-08-30 Advanced Processor Architectures, Llc System clock distribution in a distributed computing environment
US20130212363A1 (en) * 2011-05-20 2013-08-15 Grayskytech Llc Machine transport and execution of logic simulation
US20130282352A1 (en) * 2011-05-20 2013-10-24 Grayskytech Llc Real time logic simulation within a mixed mode simulation network
US9552327B2 (en) 2015-01-29 2017-01-24 Knuedge Incorporated Memory controller for a network on a chip device
US10061531B2 (en) * 2015-01-29 2018-08-28 Knuedge Incorporated Uniform system wide addressing for a computing system
US20170116154A1 (en) * 2015-10-23 2017-04-27 The Intellisis Corporation Register communication in a network-on-a-chip architecture
US10027583B2 (en) 2016-03-22 2018-07-17 Knuedge Incorporated Chained packet sequences in a network on a chip architecture
US10346049B2 (en) 2016-04-29 2019-07-09 Friday Harbor Llc Distributed contiguous reads in a network on a chip architecture
JP6784160B2 (ja) * 2016-12-08 2020-11-11 富士通株式会社 並列処理装置及びノード間通信プログラム
JP6885237B2 (ja) * 2017-07-11 2021-06-09 富士通株式会社 ノード間通信装置、並列処理装置及びノード間通信経路制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61260350A (ja) * 1985-05-14 1986-11-18 Fujitsu Ltd 並列処理制御方式
JPH01105642A (ja) * 1987-07-27 1989-04-24 Hitachi Ltd 並列計算機のためのデータ転送ネットワーク
JPH01126760A (ja) * 1987-11-11 1989-05-18 Toshiba Corp 並列計算機システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4306286A (en) * 1979-06-29 1981-12-15 International Business Machines Corporation Logic simulation machine
US4344134A (en) * 1980-06-30 1982-08-10 Burroughs Corporation Partitionable parallel processor
JPS60191536A (ja) * 1984-03-13 1985-09-30 Nec Corp デ−タ処理装置障害通知方式
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US4723244A (en) * 1985-10-01 1988-02-02 Harris Corporation Method and apparatus for preserving the integrity of the error detection/correction word in a code word
US4811210A (en) * 1985-11-27 1989-03-07 Texas Instruments Incorporated A plurality of optical crossbar switches and exchange switches for parallel processor computer
IT1184015B (it) * 1985-12-13 1987-10-22 Elsag Sistema multiprocessore a piu livelli gerarchici
US5060140A (en) * 1986-01-16 1991-10-22 Jupiter Technology Inc. Universal programmable data communication connection system
US5021947A (en) * 1986-03-31 1991-06-04 Hughes Aircraft Company Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing
US4875206A (en) * 1988-03-31 1989-10-17 American Telephone And Telegraph Comopany, At&T Bell Laboratories High bandwidth interleaved buffer memory and control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61260350A (ja) * 1985-05-14 1986-11-18 Fujitsu Ltd 並列処理制御方式
JPH01105642A (ja) * 1987-07-27 1989-04-24 Hitachi Ltd 並列計算機のためのデータ転送ネットワーク
JPH01126760A (ja) * 1987-11-11 1989-05-18 Toshiba Corp 並列計算機システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181933A (ja) * 1998-12-18 2000-06-30 Nec Corp 階層構造作成方法及び装置
US6668252B2 (en) 1998-12-18 2003-12-23 Nec Corporation Hierarchical structure generating method and apparatus generating hierarchical structure display table based on parent-child relationship table
JP2017503230A (ja) * 2013-12-20 2017-01-26 インテル・コーポレーション 階層的並列分割ネットワーク

Also Published As

Publication number Publication date
DE69021710D1 (de) 1995-09-21
EP0439693A2 (en) 1991-08-07
US5166674A (en) 1992-11-24
US5161156A (en) 1992-11-03
JP2576846B2 (ja) 1997-01-29
EP0439693B1 (en) 1995-08-16
DE69021710T2 (de) 1996-04-18
EP0439693A3 (en) 1992-06-24
JPH04139566A (ja) 1992-05-13
JP2566681B2 (ja) 1996-12-25

Similar Documents

Publication Publication Date Title
JP2576846B2 (ja) クラスタ制御装置及びクラスタ接続多重多重プロセッシング・システム
US5361363A (en) Input/output system for parallel computer for performing parallel file transfers between selected number of input/output devices and another selected number of processing nodes
US5353412A (en) Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions
US7886084B2 (en) Optimized collectives using a DMA on a parallel computer
EP0391583B1 (en) Dual-path computer interconnect system with four-ported packet memory control
US6731646B1 (en) Fibre channel switching system and method
Tamir et al. Dynamically-allocated multi-queue buffers for VLSI communication switches
US7788334B2 (en) Multiple node remote messaging
US5020020A (en) Computer interconnect system with transmit-abort function
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
US6778548B1 (en) Device to receive, buffer, and transmit packets of data in a packet switching network
US5546391A (en) Central shared queue based time multiplexed packet switch with deadlock avoidance
KR900006791B1 (ko) 패킷 스위치식 다중포트 메모리 n×m 스위치 노드 및 처리 방법
US4833468A (en) Layered network
US6606326B1 (en) Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path
US20050038918A1 (en) Method and apparatus for implementing work request lists
JPH06243105A (ja) 任意に変化するデータ・ストライドで情報を転送する方法及び装置
US5594866A (en) Message routing in a multi-processor computer system with alternate edge strobe regeneration
JPH05242019A (ja) 先読み優先調停システム及び方法
EP1508100B1 (en) Inter-chip processor control plane
US20040100900A1 (en) Message transfer system
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
CN120448331B (zh) 一致性互连控制设备、方法、电子设备、产品及计算系统
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
US6912608B2 (en) Methods and apparatus for pipelined bus

Legal Events

Date Code Title Description
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

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

Free format text: PAYMENT UNTIL: 20071107

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20091107

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20091107

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20101107

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20111107

Year of fee payment: 15