JP3639848B2 - マルチプロセッシングシステムにおける仮想メンテナンスネットワーク - Google Patents

マルチプロセッシングシステムにおける仮想メンテナンスネットワーク Download PDF

Info

Publication number
JP3639848B2
JP3639848B2 JP51732797A JP51732797A JP3639848B2 JP 3639848 B2 JP3639848 B2 JP 3639848B2 JP 51732797 A JP51732797 A JP 51732797A JP 51732797 A JP51732797 A JP 51732797A JP 3639848 B2 JP3639848 B2 JP 3639848B2
Authority
JP
Japan
Prior art keywords
virtual
channel
processing element
maintenance
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP51732797A
Other languages
English (en)
Other versions
JP2000508094A (ja
Inventor
ソーソン,グレゴリー・エム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Graphics Inc
Original Assignee
Silicon Graphics 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 Silicon Graphics Inc filed Critical Silicon Graphics Inc
Publication of JP2000508094A publication Critical patent/JP2000508094A/ja
Application granted granted Critical
Publication of JP3639848B2 publication Critical patent/JP3639848B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (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)

Description

発明の分野
本発明は、一般的には、高速デジタルデータ処理システムの分野に関し、より詳しくは同じ物理通信リンクを他の仮想ルーティングチャネルと共用する仮想メンテナンスチャネルを有するマルチプロセッサコンピュータシステムに関する。
発明の背景
マルチプロセッサコンピュータシステムは、相互接続ネットワークによって互いに接続された処理要素ノードを有する。相互接続ネットワークは、ノード間において情報のパケットを伝送する。パケットは多重物理転送ユニット(phit以下フィットという)からなる。あるフィットは処理要素ノード間のネットワークの物理通信リンクもしくは物理チャネルの幅である。相互接続ネットワークは、通常、ノーマルトラヒックとメンテナンストラヒックを実行する。通常のトラヒックパケット内に含まれる情報の例は、メッセージ、共有メモリの操作、もしくは種々の形式のデータである。メンテナンストラヒックは、一方、システムの初期化、システム構成、診断、ハードウエアモニタ、エラーモニタ、挙動モニタ及びその種のメンテナンス等の課題のために使用される。従来のマルチプロセッサコンピュータシステムでは、メンテナンストラヒックはそれ自身の物理メンテナンスネットワーク上を移動し、このメンテナンスネットワークは通常の通信トラヒックによって使用されない物理通信リンクを含んでいる。実際、通常のトラヒックによって使用される物理通信リンクは物理メンテナンスネットワークとは完全に分離されている。換言すれば、従来の相互接続ネットワークはメンテナンストラヒックを実行するための一つの配線セットおよび通常のトラヒックを実行するための異なる配線セットを含んでいた。
相互接続ネットワークの通常のトラヒックの部分は典型的にはパケットが単一のユニットとして、ソースから行先までの経路に沿ってノードからノードへと転送されるフロー制御された格納、送達機構である。各ノードは、パケットの最後のフィットが受信されるまでパケットのヘッドを次のノードに通過させるのを待つ。より最近のマルチプロセッサシステムは通常のトラヒックパケットの流れを制御するため、ウォームホール(wormhole)ルーティングの形式を用いた通常トラヒックの相互接続ネットワークを利用する。ウォームホールルーティング相互接続ネットワークは、パケットの尾端がそのノードで受信される以前に、パケットのヘッドをそのノードからルート化する。パケットは、1もしくはそれ以上のフィットであり得るフロー制御ユニット(flit)と呼ばれる、より小さい多数のメッセージパケットに分割される。ヘッダフリットは、ルーティング情報を含む。ヘッダフリットがある処理要素ノードによって受信され、その行先が判断される。ヘッダフリットは、ルーティングアルゴリズムによって指示された次のノードに送られる。残りのフリットはヘッダフリットの後に列車のような方法で追随する。ノード間のフロー制御は、格納及び前進相互接続ネットワークにおけるパケット単位というよりは、フリットベースの単位で実行される。かくして、ウォームホールルーティングではパケットは物理通信リンクを通して部分的に送信され、受信ノードにおけるバッファスペースの不足によってブロックされることがある。
ウォームホールルーティングは、リンク上でパケットを送信するための時間(パケットのフィット数×クロック周期)はホップ当たり1回というよりは、ネットワーク横断につき、1回にのみ抑えられるので軽い負荷のネットワークにおいてパケットの潜伏を大幅に減少することができる。ウォームホールルーティングは、また、ノードがパケットの全体をバッファするよう要求されないので、ネットワークのバッファ要求を大幅に減少することができる。
しかしながら、ウォームホールルーティングの問題は、ヘッダフリットがブロックされると残りのフリットはヘッダの背後で立往生することである。これらの残りのフリットはネットワークの多重リンク及びノードを横断することができるかもしれない。ブロックされたパケットは他のパケットをそれらパケットが上記ヘッダフリットがブロックされたノードを介してルート付けることを望まないにも拘わらず処理されるのを阻止してしまう。このことは、特に均一でない通信パターンが存在する場合には、重大なネットワークの性能低下をもたらす。
通常のトラヒック相互接続ネットワークの第3の形式は仮想カットスルー(cut−through)ネットワークである。仮想カットスルー相互接続ネットワークはあるパケットがバッファをブロックしたときにそのバッファはパケットの全体を常に受け入れなければならないという点を除いて、ウォームホールルーティングネットワークと同様である。このようにして、仮想カットスルールーティングはウォームホールルーティングにおいて、固有に生ずるブロック減少の問題を回避することができるが、ブロックされたパケットの全てをバッファするために必要な付加的なハードウエアのコストがかかる。
全ての関連するバッファが満杯になり、ブロックしてしまうようなサイクリックな依存性がチャネルバッファのセットにおいて生ずる時にデッドロックが発生する。相互接続ネットワーク及び対応するルーティングアルゴリズムの設計に際して、まず最初に考えなければならないことはデッドロックを回避することである。デッドロックの状況は、チャネル依存性グラフを介して各ノードがネットワークチャネルを表わし、そのアークがチャネル間の依存性を表わすような方向付けグラフに定式化される。
あるパケットがチャネルxからチャネルyに直接にルート化できる場合には、チャネルxとチャネルyとの間にはあるアークが存在する。そのチャネル依存性グラフが非サイクリックであれば、ネットワークはデッドロックフリーであることが証明される。しかしながら、健全なネットワークがデッドロックフリーであると証明された場合にも、ネットワーク内の結果によってデッドロックは依然として生じ得る。
デッドロックを回避する一つの簡単な方法は、サイクリックなバッファの依存性の可能性を除去するため、相互接続ネットワーク上で処理要素ノード間にパケットをルート付けするために使用される相互接続ネットワークのトポロジィ及び/又はルーティング機能を制限することである。
例えば、2次の超立方体(hypercube)トポロジィは、ルーティング機能が各次元がe−キューブ(e−cube)もしくは次元順位ルーティングアルゴリズムを用いて順位が増大する方向にトラバースされるように制限されている場合には、デッドロックフリーである。最大一つのホップが次元ごとに作成され、いかなるパケットも下位の次元にはルート付けされないので、いかなるサイクリックなバッファ依存性の可能性はない。e−キューブルーティングアルゴリズムは各次元における対向する流れのトラヒックはバッファの異なるセットを用いるとともに次元は順位が増大する方向にトラバースされるので、デッドロックフリーがn次元の網目トポロジィを作成するのに用いることができる。トーラストポロジィは、トーラストポロジィ内のラップアラウンド(wrap−around)リンクが単一のリングを形成するようなサイクリックなバッファ依存性を与えるので、e−キューブルーティングに制限された場合には、デッドロックフリーではない。
更に、網目構造においてもリクエスト及びレスポンスパケット間の依存性によってはデッドロックが発生する。ノードはそのノードが先のリクエストのためのレスポンスパケットを送信するまで、より以上のリクエストパケットを受け入れることができないので、ネットワーク内においてレスポンスパケットがリクエストパケットの後ろで待機するように作成されている場合にはデッドロックが発生し得る。リクエストとレスポンスパケット間のこの依存性の問題に対する高価な解決法はリクエストとレスポンスの物理ネットワークを分離して使用することである。
仮想チャネルがデッドロックを回避するとともに、通常のトラヒックのネットワーク錯綜を減少させるために使用されてきた。各分離チャネルは1もしくはそれ以上の仮想チャネルに分割される。各仮想チャネルは仮想経路に沿ってパケットを格納するための仮想チャネルバッファを含む。仮想チャネルは共通の物理チャネルを横断して多重化されているが、相互に独立に動作する。このように、共通の物理チャネルを横断して、多重化された第1の仮想チャネル上でブロックされたパケットは、共通の物理チャネル上で多重化された第2の仮想チャネルの背後でパケットを記録することはない。
発明の要旨
本発明は、処理要素ノードとそれら処理要素ノードをn次元のトポロジィにおいて、相互に接続する物理通信リンクを含むマルチプロセッサコンピュータシステムを提供するものである。少なくとも、一つのフロー制御された仮想チャネルは処理要素ノード間において転送されるべき通常のトラヒック情報を含むパケットを格納するため、各物理通信リンクに対して割当てられた仮想のチャネルバッファを含む。フロー制御されない仮想メンテナンスチャネルは、複数の処理要素ノード間において、転送されるべきメンテナンス情報のパケットを格納するため、各物理通信リンクに割当てられたメンテナンスチャネルバッファを含む。メンテナンスチャネルは物理通信リンクをアクセスするについて、少なくとも一つのフロー制御された仮想チャネルより高い優先度が割当てられる。
フロー制御されない仮想メンテナンスチャネルは、好ましくはマルチプロセッサコンピュータシステム上で稼動するシステムソフトウエアにより処理要素ノードのいずれからもアクセスできることが好ましい。しかしながら、本発明の一つの実施例においては、システムソフトウエアはある処理要素ノードをフロー制御されない仮想メンテナンスチャネルによってアクセスすることを阻止することもできる。
本発明によるマルチプロセッサコンピュータシステムの好ましい実施例において、フロー制御されない仮想メンテナンスチャネル内のルートの経路はデルタ値で規定される。フロー制御されないメンテナンスチャネル内において経路を選択するのに、より大きいフレキシビリティを可能にするためには、デルタ値は好ましくは各次元において1次と2次のデルタ値を有するように定義されることが好ましい。レスポンスパケットは典型的には、フロー制御されない仮想メンテナンスチャネル内において、対応するリクエストパケットによって選ばれたと同じ経路に追随する。
マルチプロセッサコンピュータシステムは好ましくは各処理要素ノードにおいて、リード/ライトレジスタを含み、それらのレジスタはシステム動作に影響を与えない。この方法で、リード/ライトレジスタは、フロー制御されない仮想メンテナンスチャネルを介してあるルートが有効であることを検証するために、書込み及び読出しが行われる。
マルチプロセッサコンピュータシステムの一つの実施例において、少なくとも一つのフロー制御された仮想チャネルは、2つの非サイクリック非適合仮想チャネルと一つの適合仮想チャネルを含む。2つの非サイクリック、非適合仮想チャネルはルーティング情報に基づいて、複数の処理要素ノード間の決定的仮想経路に沿って、通常のトラヒックパケットを格納するため各物理通信リンクに割当てられた第1および第2の形式の仮想チャネルバッファを含む。適合仮想チャネルは、ルーティング情報に基づいた複数の処理要素ノード間の決定的でない仮想経路に沿って通常のトラヒックパケットを格納するため、各通信リンクに割当てられた第3の形式の仮想チャネルバッファを含む。
【図面の簡単な説明】
図1は、大量平行処理(MPP)システムのダイヤグラムである。
図2は、図1のMPPシステムについて処理要素ノードと相互接続ネットワーク要素のダイヤグラムである。
図3は、図1のMPPシステムについての処理要素構成のダイヤグラムである。
図4は、3次元のトーラスネットワークトポロジィを有するMPPシステムのダイヤグラムである。
図5は、図1のMPPシステムの好ましい実施例の各ネットワーク物理通信リンク又はチャネルについて通常のトラヒックとメンテナンストラヒックに利用される仮想チャネルを示すダイヤグラムである。
図6は、仮想チャネルを用いた3−Dネットワークにおける切り替え構造のブロックダイヤグラムである。
図7は、仮想メンテナンスネットワーク上の例示的な特別ルートを示すMPPシステムのダイヤグラムである。
好ましい実施例の記述
好ましい実施例の以下の詳細な記述において、記述の一部をなすとともに本発明が実施される特定の実施例を図示する添付の図面が参照される。他の実施例も実用化できること、および構造的又は論理的な変更は本発明の範囲を逸脱することなしになしうることが理解されるべきである。それ故、以下の詳細な記述は限定的に解釈されるべきでなく、本発明の範囲は添付の請求項によって定義されている。
MPPシステム
図1は全体が20で示された大量並列処理(massively parallel processing:MPP)システムの要素の簡略化されたモデルを図示している。MPPシステム20は典型的には数百及至数千の処理要素ノード22の如き処理要素ノードからなる。相互接続ネットワーク24はMPPシステム20内の処理要素ノード間の通信経路を提供する。図1に示されたシステム20のモデルにおいて、相互接続ネットワーク24は矢印26で示すようにx,yおよびz次元において処理要素ノードを接続する3次元の経路マトリックスを形成する。相互接続ネットワーク24は処理要素ノードをI/Oゲートウエイ28にも接続する。I/Oゲートウエイ28は、ホストシステム(図示せず)又はI/Oサブシステム(図示せず)とMPPシステム20との間でシステムデータおよび制御情報を転送する。
ホストシステムはMPPシステム20用のソフトウエアコンパイラを稼動させる。MPPシステム20について書かれた全てのソフトウエアプログラムはホストシステム上でコンパイルされるが、MPPシステム20内によって稼動される。単一のキャビネット構成において、ホストシステムはMPPシステム20の如き同一のキャビネット内に存在する。多キャビネット構成では、ホストシステムはMPPシステム20にケーブル接続された分離されたキャビネット内に存在する。
図2は処理要素ノード22と処理要素ノード22の相互接続ネットワーク24への接続より詳細な図示である。処理要素ノード22の如き各処理要素ノードは、典型的には処理要素30、オプションとしてのブロック転送エンジン32およびネットワークインターフェース34を備える。処理要素ノード22は1より多い処理要素30を備えることができる。
図3に示されるように、各処理要素30はマイクロプロセッサ38、ローカルメモリ40および支援回路42を備える。
MPPシステム20は、各処理要素がローカルメモリを含むので、物理的に分散されたメモリを含む。しかしながら、MPPシステムメモリは論理的には共有されてもよい。システムメモリは、ある一つの処理要素内のマイクロプロセッサがいま一つの処理要素のメモリをその処理要素内のマイクロプロセッサを巻込むことなくアクセスすることができる。
ローカルメモリ40は、好ましくはシステムデータを格納するためダイナミックランダムアクセスメモリ(DRAM)からなる。低潜在性の高帯域データ経路が処理要素30内においてマイクロプロセッサをローカルメモリに接続する。
支援回路42は好ましくはマイクロプロセッサ38の制御およびアドレス機能を拡張する。支援回路42はデータ転送をローカルメモリ40に対して行う。
図2に戻って、オプションとしてのブロック転送エンジン(BLT)32はシステムデータを再分配する非同期の直接メモリアクセスコントローラである。BLT32は、ある処理要素30内のローカルメモリと遠隔処理要素内のローカルメモリとの間でシステムデータを再分配する。BLT32は処理要素30及至遠隔処理要素を中断させることなしにデータの再分配を可能とする。MPPシステム20の他の好ましい実施例では、オプションとしてのBLT32を含んでおらず、その代わりに処理要素のローカルメモリ間のデータブロックの移動を制御するシステムソフトウエアに依存する。
ネットワークインターフェース34は相互接続ネットワーク24を介していま一つの処理要素ノード又はI/Oゲートウエイ28に送られるべき情報をフォーマット化する。ネットワークインターフェース34は他の処理要素ノード又はI/Oゲートウエイ28からの入力情報を受信し、その情報を処理要素30に仕向ける。
相互接続ネットワーク24は、データ通信,バリア/ユーレカ(eureka)同期、システム構成およびメンテナンスの目的のため全ての処理要素ノードを互いに接続する。ネットワーク挙動のモニタのための仕様は、相互接続ネットワーク24内に組込むこともできる。データのルーティングは3つの仮想要素に分解されており、非サイクリック仮想ネットワーク、適合仮想ネットワークおよび非ブロック型仮想メンテナンスネットワークを含む。通常のデータトラヒックは非サイクリックおよび適合ネットワーク上で伝送される。以下で詳細に記述するように、非サイクリックネットワークはデッドロックを回避することについて責任をもち、適合ネットワークは適合ルーティングを許容する。非サイクリックネットワーク内の可能なサイクルは以下に述べるように、指向順ルーティングと仮想チャネルの組合せによって壊される。メンテナンストラヒックは仮想メンテナンスネットワーク上を移動する。
相互接続ネットワーク24は図2に示したネットワークルータ36の如き複数のネットワークルータを備える。ブート時において、すべてのルータは保全ワークステーションもしくは他のブート装置に接続された処理要素ノードにおいて開始される成長プロセスを介して構成され、初期化されなければならない。更に、相互接続ネットワーク24は各次元の各方向に物理通信リンクを備える。X次元通信リンク44はx次元のノードを接続する。Y次元通信リンク46は、y次元のノードを接続する。Z次元通信リンク48はz次元における処理要素ノードを接続する。各次元における代表的な通信リンクが図1に示されている。図2にも−X方向の通信リンク44a,+X方向の通信リンク44b、−Y方向の通信リンク46a,+Y方向の通信リンク46b、−Z方向の通信リンク48aおよび+Z方向の通信リンク48bを示している。
通信リンク44,46および48は相互接続ネットワーク内のネットワークルータ間にデータおよび制御情報を転送する。通信リンクは典型的には2つの単一方向チャネルを備える。リンク内の各チャネルは好ましくはデータ,物理ユニット(phit)型式、仮想チャネル選択および仮想チャネル認識の諸信号を含む。データ信号は好ましくはリクエスト情報もしくはレスポンス情報のいずれか一方を担持する。リクエスト情報は、あるノードにある動作を実行することを要求する情報を含む。例えば、ソースノードは行先ノード内のメモリからデータを読み出すために行先ノードへのリクエストを送る。このリクエストは通信リンク内のあるチャネルを介して送られる。レスポンスはある動作の結果である情報を含む。例えば、データを読むリクエストを受信した後、行先ノードはソースノードに対してレスポンスを返送する。そのレスポンスは読み出されたデータを含む。リクエストとレスポンスは好ましくはデッドロックを避けるため、論理的に分離されている。リクエストとレスポンスの論理的分離は以下に記述される。
相互接続ネットワーク24は好ましくは2方向トーラスに処理要素ノードを接続する。図4はx,yおよびz次元における3次元トーラスネットワークを有するMPPシステム20の好ましい実施例を示す。3−Dトーラス内の各処理要素ノードはx,yおよびz次元の+および−の両方向に通信リンクを有する。本明細書における他のダイヤグラムのいくつかは3次元ネットワーク接続を示している。明瞭化のため、これらの他のダイヤグラムでは各次元におけるトーラスを完成する通信リンクは図示されていない。
トーラストポロジイにおいて、リングが各次元において形成され、ここで情報は一つのノードから同じ次元の全てのノードを通って最初のノードに転送される。トーラスネットワークは情報の転送のスピードを増加する等のネットワーク通信のための幾つかの利点を提供する。トーラスネットワークのいま一つの利点はネットワーク回りの長い経路に情報を送ることによって悪い通信リンクを回避する能力である。
情報は通信リンク上の処理要素ノード間において、パケットの型式で転送される。各パケットは好ましくはヘッダを有する。このヘッダはネットワークを介してパケットの方向付けを行うルーティング情報、どの処理要素がパケットを受け取るべきかを指示する行先情報およびパケットを受信した処理要素にある動作を実行することを指示する制御情報を含む。ヘッダは、また、どの処理要素がパケットを生成したかを示すソース情報を含むとともに、メモリアドレスの情報を含むことができる。パケットはオプションとしてボディを備える。パケットのボディは典型的には処理要素ノード間で転送されるべきデータ、もしくはホストシステムからあるいはホストシステムへのシステムデータを含む。
各処理要素ノードにおけるネットワークルータ36の如きネットワークルータは、各パケットの各ヘッダに含まれるルーティング情報に基づいて相互接続ネットワーク24内の通信リンクを通して、通常トラヒックのパケットを転送する。ヘッダとボディは可変のリンクを有し、1回に1フィット(phit)を通信リンクを介して転送する。MPPシステム20は本明細書の発明の背景において説明した如きウォームホールルーティングを使用し、そこではルーティング情報はヘッダフリットに含まれており、残りのフリットはノーマルトラヒックの流れを制御するために、列車のようにその後に続く。ノード間の通常トラヒックのフロー制御はパケット対パケットのベースというよりは、フリット対フリットベースで達成され、従って受信処理要素ノード内のバッファスペースの不足により、パケットがリンクを横切って部分的に伝送されるとともにブロックされることが可能となる。上記したように本発明の好ましい実施例は、双方向3Dトーラスネットワークであり、このネットワークはデッドロック状況を更に複雑化する。
ノーマルトラヒックについての適合ルーティング構造
共通の物理通信リンクを横断して多重化された仮想チャネルを利用する非サイクリック適合仮想ネットワーク上に相互接続ネットワーク24を介して、通常データトラヒックのパケットをルーティングする好ましい適合ルーティング構造は、“トーラス相互接続ネットワークのための適合ルーティング構造”と題する1995年4月13日に出願され、現在、継続中でかつ本願と同じく譲渡された米国特許出願番号08/441,566に詳細に記述されている。MMPシステム20は好ましくは仮想チャネルC1の第1のサブセットを用いた通常のトラヒックのための適合ルーティング構造を利用する。C1仮想チャネルは全てのノードの間に非適合デッドロックフリーのルーティングを備える。C1仮想チャネルが相互接続ネットワーク24の非サイクリック仮想ネットワーク要素を形成する。仮想チャネルの第2の型式はNC1仮想チャネルである。NC1チャネルは最小の完全な適合ルーティングを備える。NC1仮想チャネルは相互接続ネットワーク24の適合仮想ネットワーク要素を形成する。NC1仮想チャネルはパケットがNC1チャネル内で自由にルート付けされるので、そのチャネルに依存する図形においてサイクルをもつことができる。NC1仮想チャネル内において、デッドロックであるという決定が任意の時刻になされたならば、パケットはあるC1仮想チャネルへジャンプすることができなければならない。
図5は各ネットワークの物理チャネルもしくは物理通信リンクについて利用される仮想チャネルを示している。2つの仮想チャネル50と52がC1仮想リクエストネットワークとして使用される。仮想チャネル50はvc0型式の仮想チャネルであり、仮想チャネル52はvc1型式の仮想チャネルである。同様に、レスポンスC1仮想ネットワークは2つの仮想チャネル54と56を備える。仮想チャネル54はvc0型式の仮想チャネルであり、仮想チャネル56はvc1型式の仮想チャネルである。第3の仮想チャネルvcは適合NC1仮想チャネル58であり、リクエストおよびレスポンスの両方のネットワークにおける適合ルーティングを提供する。図5に示された好ましい実施例は一つのNC1チャネルを使用しているが、個別のNC1チャネルを両方のリクエストおよびレスポンス仮想ネットワークとして使用することもできる。通常トラヒックとして使用される仮想チャネルに加えて、仮想メンテナンスチャネル60がメンテナンストラヒックを搬送するために使用される。仮想メンテナンスチャネル60は相互接続ネットワーク24の非ブロック型仮想メンテナンスネットワーク部分を形成し、それについては以下に詳細に記述される。
図6を参照して、各ノードはローカルな処理要素(PE)と同様6方向(+X,−X,+Y,−Y,+Z,−Z)の各々について入力と出力を有する。図6のブロックダイヤグラムは仮想チャネルを用いた3DリクエストまたはレスポンスC1ネットワークにおける切り替えを示している。仮想チャネルのバッファは物理通信リンクの受信端における処理ノードの入力に位置する。各物理通信リンク上の通信ノードは反対方向のリンク上に送られるフロー制御情報を用いて受信処理要素ノードにおける各仮想チャネルについての利用可能なバッファスペースのトラックを維持する。
いずれの時にもC1仮想チャネル内のパケットはそのパケットをその目的地により近付けるように(最小限)移動させるパケット現在ノードにおけるNC1仮想チャネルのいずれに入れてもルート化できる。NC1仮想チャネル内のパケットはその現在ノードにおけるいかなるNC1チャネルへも最小限ルート化することができる。NC1チャネル内のパケットはいつの時にでもC1チャネルへルート化できる。C1仮想チャネルネットワークに再侵入するに際して、現在ノードの仮想チャネルのルックアップテーブルを用いて決定的C1ルーティングアルゴリズムに従ってある物理的かつ仮想のチャネル上にルート化する。リクエストもしくはレスポンスC1仮想チャネルネットワークのいずれか一方において、vc0仮想チャネルもしくはvc1仮想チャネル上でパケットのルートを開始するために選択し、かつパケットのルートの間、仮想チャネルを変えることの決定は正確性と挙動性の両方に影響する。まず、第1に考慮すべきものは正確性である。(すなわち、vc0とvc1の間の仮想チャネルの割当ては、デッドロック防がなければならない)。
C1仮想チャネル内におけるデッドロックを防ぐために以下の3つのステップが実行される。第1にリクエストおよびレスポンスパケットは仮想チャネルの分離したセット上にルート化される。このことはリクエストおよびレスポンストラヒック間のいかなるサイクルをも分断する。第2に方向順ルーティングが多重方向を含むいかなるサイクルをも分断するために、好ましくは使用される。換言すれば、パケットは所定の方向順位、例えば(+X,+Y,+Z,−X,−Y,−Z)のようにルート化される。例えば、上記のように決められた方向順序を用いると+X,−Y,+Zの目的地のためのルートは最初に+X、次いで+Z、そして−Yのようにルート化される。方向順ルーティングは“マルチプロセッシングシステムにおける方向順ルーティング”と題する米国特許第5,533,198に詳細に記述されている。
デッドロックを防ぐ第3のステップは各リング内におけるサイクルを分断するため、2つの仮想チャネル(vc0とvc1)の使用である。この第3のステップは挙動を最適化するため種々の方法で達成することができる。仮想チャネル割当ての好ましい方法は“平行処理システムにおける最適化仮想チャネル割当て”と題する1995年4月13日に出願され、現在継続中で共通に譲渡された米国特許出願番号08/422,072に詳細に記述されている。vc0もしくはvc1仮想チャネルはリング上のパケットの行先(対応する次元における行先ノードの座標)に基づいて仮想チャネルルックアップテーブル37(図2に示される)に格納されたルーティング情報を返してパケットがあるリング上にルーティングされ始めた時に選択される。各処理要素ノードはその6方向の各々について小さいシステムで形成可能な仮想チャネルルックアップテーブル37を有する。上記した“トーラス相互接続ネットワークのための適合ルーティング構造”と題する上記の現在継続中で共通に譲渡された米国特許出願番号08/441,566に詳細に記述されたC1とNC1との間のルーティングのための好ましいルーティング構造はNC1チャネルについて以下の制限を設けている:
そのチャネルのバッファが全体のパケットを保持する余地をもたない限り、いかなるパケットもNC1チャネルに入ることはできない。この制限はいかなるパケットもNC1チャネル内において異なるチャネルバッファのヘッドをその後部でブロックすることができないため、NC1チャネル内におけるデッドロックの発生を防止する。あるNC1チャネルバッファの全部にそのヘッドが位置するパケットはC1仮想チャネル内にいつでもルート化することができるのでNC1仮想ネットワークのデッドロックは不可能である。更にこの制限はC1チャネル間における間接的な依存性を排除する。NC1に侵入するいかなるパケットもそのチャネルのバッファがパケット全体を保持する余地を持たない限り、いかなるパケットもNC1仮想チャネルに入ることができないため、第1のNC1チャネルバッファによってその全体が受け入れられる。それ故、パケットはC1からNC1およびその逆のルート化はできず、従って第1のC1チャネルバッファにおけるバッファスペースを消費するパケットの後部でブロックすることができない。その結果好ましいルーティング構造は任意の相互接続ネットワークトポロジイを通してパケットをルート化するのに用いることができ、そのトポロジイについてデッドロックフリーの決定的ルーティングアルゴリズムがC1チャネル上に構成される。好ましくは上記したようにデッドロックフリーの決定的ルーティングアルゴリズムはリクエストネットワークとして割当てられた2つの仮想チャネルおよびレスポンスネットワークとして割当てられた2つの仮想チャネルを有する方向順ルーティングスキームである。
MPPシステム20はノーマルトラヒックについてソースから行先ノードへ3次元全てにおける絶対アドレス付けを用いる。あるいは、MPPシステム20はノーマルトラヒックについて差分アドレス付けを使用することができ、その場合、行先アドレスはソースノーマルにおいて計算され、それが行先ノードに到達したときに0にデクリメントあるいはインクリメントされる。
仮想メンテナンスネットワーク
上記したようにMPPシステム20は通常のトラヒックを実行するために使用される非サイクリック適合型仮想ネットワークに加えて、メンテナンストラヒックを実行するため図5に示されたようなフロー制御されない仮想メンテナンスチャネル60を備えた非ブロック型仮想メンテナンスネットワークを利用する。図5に示された実施例において、通常トラヒックを実行するための5つの仮想チャネルと仮想メンテナンスチャネル60が各ネットワークの物理通信リンクに割当てられている。この方法で、仮想メンテナンスチャネル60は通常のトラヒックを遂行する仮想チャネルと同じ物理通信リンク(すなわち、配線)を共有する。
仮想メンテナンスチャネル60はあるネットワークのレジスタを初期化するといったシステムの初期化動作のために利用される。仮想メンテナンスチャネル60はMPPシステム20を構成するために利用される。MPPシステム20の不具合のあるネットワークの故障の同定の如き診断は仮想メンテナンスチャネル60を通じて行われる。更に、ハードウエアモニタリング、エラー監視、及び挙動モニタの如きモニタ機能は仮想メンテナンスチャネル60上で行われる。
通常のデータトラヒックを遂行する仮想チャネルのバッファはRAMセル内に存在する。対照的に仮想メンテナンスチャネル60のバッファは通常のトラヒックの上記適合型ルーティングに使用されるRAMセルから完全に分離されたフリップフロップレジスタ内に典型的に設けられる。このようにして、メンテナンストラヒックは通常のデータトラヒックを破壊することはない。
システムソフトウエアは仮想メンテナンスチャネル60によって形成される仮想メンテナンスネットワークを通してメンテナンストラヒックをルーティングするための特殊なルーティング機構を用いる。第1に仮想メンテナンスチャネル60は通常のトラヒックを遂行する全ての仮想チャネルより高い優先度が与えられる。その結果、メンテナンスデータパケットと通常のデータパケットの間に衝突が存在する時には、メンテナンス操作が物理通信リンクへのアクセスが常に与えられる。第2に特定のルーティングはフロー制御されておらず、従ってメンテナンストラヒックのパケットを送信するのに先立つバッファ問題の可能性について何らのチェックが実行されることはない。もしも、2つのメンテナンストラヒックデータパケットが衝突した場合、メンテナンスデータパケットの一方は他方のメンテナンスデータパケットに上書きされる。このようにして、フロー制御されない仮想メンテナンスチャネル60ではソフトウエアは衝突を生ずるようなトラヒックが送られることはないことを保証しなければならない。メンテナンスパケット間の可能な衝突のソフトウエア制御は上記のメンテナンス操作によって、解決されるべき重要な挙動は一般には存在しないので、深刻な問題をもたらすことはない。
このフロー制御されないトラヒックの利点は、メンテナンストラヒックがフロー制御されないとすると、トラヒックは可能なバッファ問題をチェックすることなく、行先ノードに単に送られるだけであるので依存性における変化は何ら存在しないため、デッドロックは発生し得ないということである。換言すれば、特定のルーティング構造は非ブロック型ネットワークを通してメンテナンスパケットを転送する。非ブロック型ネットワークは可能なデッドロック条件からフリーであるが、もしも2つのメンテナンス情報のパケットが同時に同じネットワークルータ部にアクセスした場合、1つのパケットは他方のパケットに上書きされるであろう。
仮想メンテナンスチャネル60内において使用される特定のルーティングは、相互接続ネットワークを通して情報のパケットをルート付けするために、デルタ値を利用する。デルタ値は、システムソフトウエアが、物理処理 要素ノードへ、その処理要素ノードに対して物理ノード 数が割当てられるのに先立って、情報を送ることを可能 とする。
仮想メンテナンスネットワークの一つの実施例では特殊なルーティングが特殊なゲット(SGET)コマンドを用いることによって実行され、その特殊なルーティングはある特定のルーティングレジスタからプロセッサのレジスタへデータを転送する。MPPシステム20内の特殊ルーティング用レジスタはルーティングルックアップテーブル、リセットスイッチ、レジスタ支援回路、特別なリード/ライトレジスタシステムのステート/制御レジスタ等を含む。本発明の一つの実施例では、図3に示されるマイクロプロセッサ38の如きマイクロプロセッサそれ自身の中に含まれている。いま一つの実施例では、プロセッサレジスタは、マイクロプロセッサの外部であって、図3に示す支援回路42の如き処理要素支援回路内のスタティックRAM(SRAM)のセル内に設けられる。
SGETコマンドに加えて特殊ルーティングは、あるプロセッサレジスタから特殊ルーティング用レジスタの一つにデータを転送するのに使用される特殊プット(SPUT)コマンドを使用する。本発明による仮想メンテナンスネットワークの好ましい実施例においては、6個のデルタ値が特殊ルートの経路を規定する。各デルタ値は正か負である。この6個のデルタ値は以下の通りである:
1. 1次ΔX値
2. 1次ΔY値
3. 1次ΔZ値
4. 2次ΔX値
5. 2次ΔY値
6. 2次ΔZ値
相互接続ネットワーク24において、ある通信リンクを介する情報の転送はホップ(hop)と呼ばれる。仮想メンテナンスネットワーク内の特殊ルーティング経路を追従する場合、メンテナンス情報はデルタ値と同じ数のホップを作る。例えば、1次デルタX値が+3に設定されている場合、メンテナンス情報は正のX方向に3つのホップを生成する。更に、特殊ルーティング経路を追従する場合、メンテナンス情報は上記のリストに示された順序で各次元を移動する。
図7は、36ノードのMPPシステムにおいて、ソースノードから行先ノードに相互接続ネットワーク24を通る複数の可能な特殊ルーティング経路の一つを示している。明瞭化のため図7はMPPシステム内の通信リンクの全てを示すものではない。この図示された例について、デルタ値は以下の如くに設定されている。
1次ΔX値=0
1次ΔY値=+2
1次ΔZ値=+1
2次ΔX値=+1
2次ΔY値=−1
2次ΔZ値=+1
図7に図示された特殊ルーティング経路は、ソースノード70から行先ノード80へのものである。第1に、1次ΔX値が0であるので、パケットは最初X次元において移動しない。1次ΔY値が+2であるので、メンテナンスパケットはY次元において+2だけ移動し、ノード72に至る。1次ΔZ値は+1であるのでメンテナンスパケットはZ次元において+1だけ移動してノード74に至る。2次ΔX値は+1であるので、メンテナンスパケットはX方向において+1だけ移動し、ノード76に至る。2次ΔY値は−1であるので、メンテナンスパケットはY次元において−1移動し、ノード78に至る。最後に、2次ΔZ値は+1であるので、メンテナンスパケットはZ次元において+1移動し、行先ノード80に達する。
各次元における2次Δ値はシステムソフトウエアに対してより可能性のある経路を与える。この方法でシステムソフトウエアにはある与えられた特殊ルート経路を選択するに際して十分なフレキシビリティが与えられる。仮想メンテナンスネットワークの好ましい実施例において、リクエストとレスポンスは同じ経路上にある。その結果、あるリクエスト経路が特定され、更に承認されると対応するレスポンス経路も特定され、かつ、承認される。上に述べた如く、特殊ルーティング用レジスタは好ましくはシステムメンテナンス、システムステート又はシステム制御条件を指示するのには使用されないリード/ライトレジスタを含む。これらのリード/ライトレジスタは、MPPシステム内において2つのノード間の選択された接続経路が存在することを検証するために使用される。換言すれば、あるリード/ライトレジスタの状態はMPPシステム20に何ら影響を与えないが、そのリード/ライトレジスタには特殊ルーティング経路が完成されたことを検証するために書き込まれ、次いで読み出される。
仮想メンテナンスネットワークは、システム内のいかなる処理要素ノードからもシステムソフトウエアを介してアクセスすることができる。しかしながら、その処理要素ノードが誤動作した時には、その処理要素ノードを除外することを許容する特殊な仕様が含まれている。
以下には、ソースノードが行先ノードのネットワークルータSGETリターンレジスタにある値を書き込むための特殊ルーティングの一例が示され、行先ノードは上記SGETリターンレジスタ内に格納された値をSGETレスポンスパケットについてのデルタ値として利用する。まず、ソースノード内の処理要素は行先ノードのSGETリターンレジスタについての値をソースプロセッサレジスタに格納する。次に、ソースノード内の処理要素はSPUTコマンドを発する。SPUTコマンドを発行する一方、ソースノードの処理要素はSPUTコマンドパケットのルーティングのためのデルタ値、SGETリターンレジスタのアドレス及びソースプロセッサレジスタ数を生成する。更に、ソースノード内のネットワークルータはSPUTコマンドパケットを生成し、そのSPUTパケットを非ブロック型仮想メンテナンスネットワークを介して行先ノードに送信する。次いで、行先ノードのネットワークルータはSPUTパケットを受信し、SGETリターンレジスタ内にデルタ値を格納する。
特殊ルーティングのいま一つの実施例では、ソースノードが行先ノードのネットワークルータソフトウエアレジスタから値を読み取る。システムソフトウエアは、MPPシステムのノード形状を決定する一方、ソフトウエアレジスタに値を書き込む。システムソフトウエアは、システムハードウエアに影響を与えることなく、ソフトウエアレジスタにいかなる値をも書き込むことができる。
第1の、ソースノード内の処理要素がSGETコマンドを発行する。SGETコマンドを発行する一方、ソースノード内の処理要素はSGETコマンドパケットを行先ノードに対してルーティングするためのデルタ値、ソフトウエアレジスタのアドレス及びソースノード内の行先プロセッサレジスタ番号を生成する。第2に、ソースノード内のネットワークルータはSGETリクエストパケットを生成し、そのSGETリクエストパケットを非ブロック型仮想メンテナンスネットワークを介して、行先ノードに送信する。第3に、行先ノード内のネットワークルータはソフトウエアレジスタから値を読み取って、SGETレスポンスパケットを生成するため、SGETリターンレジスタ内にその値を格納する。第4に、ネットワークルータ及び行先ノードは非ブロック型仮想メンテナンスネットワークを介してSGETレスポンスパケットをソースノードに送信する。第5に、ソースノードはソフトウエアレジスタからの値をソースノード内の行先プロセッサレジスタに格納する。
上記した本発明の仮想メンテナンスネットワークは、仮想メンテナンスネットワークの非ブロック型の性質の故にデッドロックを回避することができる。仮想メンテナンスネットワークはいかなる背圧も作用しないので、非ブロック性である。従って、仮想メンテナンスネットワーク上の衝突は、パケットの喪失をもたらす。しかしながら、このような衝突は仮想メンテナンスネットワーク上で共通なメンテナンスパケットを含む。上に述べたように、仮想メンテナンスネットワークは通常のトラヒックパケットをバッファするためのRAMから分離されたメンテナンスパケットバッファ用のフリップフロップレジスタを用い、かくしてシステムソフトウエアは衝突するトラヒックがメンテナンス仮想ネットワークを介して送られないことを保証することのみが必要である。更に、通常の操作は仮想メンテナンスネットワークが同じ物理通信リンクをフロー制御された仮想ネットワークとして利用する場合にも、通常のトラヒックフロー制御された仮想ネットワーク上で仮想メンテナンスネットワーク上で実行されるメンテナンス操作と同時に実行される。
上に述べたように、1次及び2次のデルタ値がある与えられたソースノードからある与えられた行先ノードへメンテナンスパケットをルーティングするための数多くの可能な経路を提供する。典型的には、システムソフトウエアはフロー制御されない仮想メンテナンスチャネルを介してメンテナンスパケットをソースノードから行先ノードにルーティングする初期経路を選択する。ある選択された時間の後、パケットが初期選択された経路上で成功裡にルート付けされないときには、別の経路がフロー制御されない仮想メンテナンスチャネル60を介してソースノードから行先ノードにそのメンテナンスパケットをルート化するためのシステムソフトウエアによって選択される。この再試構造がメンテナンスパケットを未発見の破断の物理通信リンクを迂回してルート付けするのに利用することができる。
結論
本発明によるMPPシステム20は、システムの初期化、診断及び他のメンテナンス機能を実行するため、非ブロック型、フロー制御されない仮想メンテナンスネットワークを含む。この特殊な非ブロック型仮想メンテナンスネットワークは、通常のトラヒックを遂行するフロー制御された仮想チャネルと同じ物理通信リンクを共有する非ブロック型仮想メンテナンスチャネルはフロー制御された仮想チャネルより高い優先度が与えられている。この方法では、メンテナンス機能のためだけに用いられる特殊な物理通信リンク(すなわち、配線)は、消去することができる。分離されたバッファが仮想メンテナンスチャネルとして使用されるので、メンテナンス操作は通常のトラヒック操作と同時に実行することができる。更に、本発明の好ましい実施例においては、MPPシステムが構成されていない場合にも仮想メンテナンスネットワークを介して、経路を選択する際の優れたフレキシビリティを与えるために仮想メンテナンスネットワーク内において、特殊なルーティング経路を指定するのに、一次及び二次のデルタ値が使用される。更に、レスポンスメンテナンスパケットがその対応するリクエストメンテナンスパケットと同じルートを追随することができるように用意がなされている。
好ましい実施例の記述の目的で、特定の実施例が図示され、かつ、記述されたが、当業者において、同じ目的を達成するべく計算された種々の代替的もしくは等価な装置は本発明の範囲から逸脱することなくここに図示され、かつ、記述された特別の実施例に代えることができる、ということが理解されるべきである。機械的、電気機械的、電気的及びコンピュータ技術に係る当業者は本発明を極めて広い種々の実施例として実行することができるということが理解される。この出願は、ここに議論された好ましい実施例のいかなる好適化、若しくは変更をカバーするものとして意図されている。従って、この発明は請求の範囲及びその均等物によってのみ制限されるものとして意図されている。

Claims (7)

  1. 複数の処理要素ノード(22)と;
    n次元のトポロジイにおいて上記複数の処理要素ノードを相互に接続する物理通信リンク(44,46,48)と;
    上記複数の処理要素ノード間で転送されるべき通常のトラヒック情報を含むパケットを格納するために、各物理通信リンクに割当てられた仮想チャネルバッファを有する、少なくとも1つのフロー制御された仮想チャネル(50,52,54,56,58)と;
    上記複数の処理要素ノード間で転送されるべきメンテナンス情報のパケットを格納するために、各物理通信リンクに割当てられたメンテナンスチャネルバッファを有するフロー制御されない仮想メンテナンスチャネル(60)と;を備え、
    上記フロー制御されない仮想メンテナンスチャネル(6 0)には、上記物理通信リンクをアクセスするについて、上記少なくとも1つのフロー制御された仮想チャネルより高い優先度が与えられ、
    上記フロー制御されない仮想メンテナンスチャネル(6 0)におけるルーティングに際し、該仮想メンテナンス チャネル(60)内の経路が、所定の処理要素ノードから 他の処理要素ノードまでの変位であるデルタ値を用いて 規定される、マルチプロセッサコンピュータシステム。
  2. 上記フロー制御されない仮想メンテナンスチャネルは、上記マルチプロセッサコンピュータシステムで稼動するシステムソフトウエアを介して、上記処理要素ノードのいずれか1つからアクセス可能である、請求項1のマルチプロセッサコンピュータシステム。
  3. 更に、ある処理要素ノードが上記フロー制御されない仮想メンテナンスチャネルによりアクセスされることを阻止する手段を含む、請求項1のマルチプロセッサコンピュータシステム。
  4. 更に、上記フロー制御されない仮想メンテナンスチャネルにおいて、レスポンスパケットが、該レスポンスパケットに対応するリクエストパケットによって採用された経路と同じ経路を追従するのを可能とする手段を含む、請求項1のマルチプロセッサコンピュータシステム。
  5. 上記デルタ値が、各次元において一次及び 二次のデルタ値を有するように定義される、請求項1の マルチプロセッサコンピュータシステム。
  6. 更に、上記各処理要素ノードにて、幾つか のルートが有効であることを検証するための、上記フロ ー制御されない仮想メンテナンスチャネルを通して読み 書き可能なリード/ライトレジスタを備えた、請求項1 のマルチプロセッサコンピュータシステム。
  7. 上記少なくとも一つのフロー制御された仮 想チャネルが、
    ルーティング情報に基づいて上記複数の処理要素ノード 間の決定された仮想経路に沿って、通常のトラヒックパ ケットを格納するために、各物理通信リンクに対して割 当てられた第1と第2の型式の仮想チャネルバッファを 有する2つの非サイクリック非適合仮想チャネルと、
    上記ルーティング情報に基づいて上記複数の処理要素ノ ード間の決定されていない仮想経路に沿って、通常のト ラヒックパケットを格納するために、各物理通信リンク に割当てられた第3の型式の仮想チャネルバッファを有 する適合仮想チャネルとを備えた、請求項1のマルチプ ロセッサコンピュータシステム。
JP51732797A 1995-10-31 1996-09-23 マルチプロセッシングシステムにおける仮想メンテナンスネットワーク Expired - Lifetime JP3639848B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/550,992 1995-10-31
US08/550,992 US6055618A (en) 1995-10-31 1995-10-31 Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel
PCT/US1996/015117 WO1997016792A1 (en) 1995-10-31 1996-09-23 Virtual maintenance network in multiprocessing system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003356594A Division JP3933620B2 (ja) 1995-10-31 2003-10-16 マルチプロセッサコンピュータシステムを保全する方法

Publications (2)

Publication Number Publication Date
JP2000508094A JP2000508094A (ja) 2000-06-27
JP3639848B2 true JP3639848B2 (ja) 2005-04-20

Family

ID=24199390

Family Applications (2)

Application Number Title Priority Date Filing Date
JP51732797A Expired - Lifetime JP3639848B2 (ja) 1995-10-31 1996-09-23 マルチプロセッシングシステムにおける仮想メンテナンスネットワーク
JP2003356594A Expired - Lifetime JP3933620B2 (ja) 1995-10-31 2003-10-16 マルチプロセッサコンピュータシステムを保全する方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2003356594A Expired - Lifetime JP3933620B2 (ja) 1995-10-31 2003-10-16 マルチプロセッサコンピュータシステムを保全する方法

Country Status (6)

Country Link
US (1) US6055618A (ja)
EP (1) EP0858633B1 (ja)
JP (2) JP3639848B2 (ja)
CA (1) CA2236213A1 (ja)
DE (1) DE69605319T2 (ja)
WO (1) WO1997016792A1 (ja)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE507118C2 (sv) * 1996-08-26 1998-03-30 Ericsson Telefon Ab L M Förfarande för att optimera ett huvudsakligen optiskt ATM- nätvärk
US6289021B1 (en) 1997-01-24 2001-09-11 Interactic Holdings, Llc Scaleable low-latency switch for usage in an interconnect structure
US6370145B1 (en) * 1997-08-22 2002-04-09 Avici Systems Internet switch router
US6285679B1 (en) * 1997-08-22 2001-09-04 Avici Systems, Inc. Methods and apparatus for event-driven routing
US6408002B1 (en) * 1998-06-24 2002-06-18 Fujitsu Siemens Computers Llc Torus routing element error handling and self-clearing with missing or extraneous control code feature
US6938094B1 (en) * 1999-09-17 2005-08-30 Advanced Micro Devices, Inc. Virtual channels and corresponding buffer allocations for deadlock-free computer system operation
WO2000072530A2 (en) * 1999-05-21 2000-11-30 Avici Systems Fabric router with flit caching
US6584073B1 (en) 1999-06-02 2003-06-24 Sun Microsystems, Inc. Network topologies
US6791939B1 (en) 1999-06-02 2004-09-14 Sun Microsystems, Inc. Dynamic generation of deadlock-free routings
US6631421B1 (en) 1999-06-02 2003-10-07 Sun Microsystems, Inc. Recursive partitioning of networks
US6567856B1 (en) * 1999-06-02 2003-05-20 Sun Microsystems, Inc. Deadlock-free routing
US6603742B1 (en) 1999-06-02 2003-08-05 Sun Microsystems, Inc. Network reconfiguration
US6888843B2 (en) 1999-09-17 2005-05-03 Advanced Micro Devices, Inc. Response virtual channel for handling all responses
US6950438B1 (en) 1999-09-17 2005-09-27 Advanced Micro Devices, Inc. System and method for implementing a separate virtual channel for posted requests in a multiprocessor computer system
US6961782B1 (en) * 2000-03-14 2005-11-01 International Business Machines Corporation Methods for routing packets on a linear array of processors
US6741561B1 (en) 2000-07-25 2004-05-25 Sun Microsystems, Inc. Routing mechanism using intention packets in a hierarchy or networks
US6925056B1 (en) 2000-07-25 2005-08-02 Sun Microsystems, Inc. System and method for implementing a routing scheme using intention packets in a computer network
US6826148B1 (en) 2000-07-25 2004-11-30 Sun Microsystems, Inc. System and method for implementing a routing scheme in a computer network using intention packets when fault conditions are detected
US6928470B1 (en) * 2000-07-31 2005-08-09 Western Digital Ventures, Inc. Transferring scheduling data from a plurality of disk storage devices to a network switch before transferring data associated with scheduled requests between the network switch and a plurality of host initiators
JP3706008B2 (ja) * 2000-08-01 2005-10-12 富士通株式会社 プロセッサ間データ通信装置、プロセッサ間データ通信方法およびデータ処理装置
AU2001280857A1 (en) * 2000-08-17 2002-02-25 Api Networks, Inc. System and method for separate virtual channels for posted requests in a multiprocessor system
US7401161B2 (en) 2000-12-18 2008-07-15 Sun Microsystems, Inc. High performance storage array interconnection fabric using multiple independent paths
US6718428B2 (en) 2000-12-18 2004-04-06 Sun Microsystems, Inc. Storage array interconnection fabric using a torus topology
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
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
US6883108B2 (en) * 2001-05-07 2005-04-19 Sun Microsystems, Inc. Fault-tolerant routing scheme for a multi-path interconnection fabric in a storage network
US7000033B2 (en) * 2001-09-28 2006-02-14 Sun Microsystems, Inc. Mapping of nodes in an interconnection fabric
US7027413B2 (en) * 2001-09-28 2006-04-11 Sun Microsystems, Inc. Discovery of nodes in an interconnection fabric
US7197553B2 (en) * 2002-04-19 2007-03-27 Nortel Networks Limited Network system having a virtual-service-module
US7804785B2 (en) * 2002-04-19 2010-09-28 Avaya Inc. Network system having an instructional sequence for performing packet processing and optimizing the packet processing
US7246178B2 (en) * 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US7386628B1 (en) 2002-05-08 2008-06-10 Nortel Networks Limited Methods and systems for processing network data packets
US7154886B2 (en) * 2002-07-22 2006-12-26 Qlogic Corporation Method and system for primary blade selection in a multi-module fiber channel switch
US7230929B2 (en) * 2002-07-22 2007-06-12 Qlogic, Corporation Method and system for dynamically assigning domain identification in a multi-module fibre channel switch
US7334046B1 (en) 2002-08-05 2008-02-19 Qlogic, Corporation System and method for optimizing frame routing in a network
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7362717B1 (en) 2002-10-03 2008-04-22 Qlogic, Corporation Method and system for using distributed name servers in multi-module fibre channel switches
US6886141B1 (en) * 2002-10-07 2005-04-26 Qlogic Corporation Method and system for reducing congestion in computer networks
US7319669B1 (en) * 2002-11-22 2008-01-15 Qlogic, Corporation Method and system for controlling packet flow in networks
US7324564B2 (en) * 2003-02-20 2008-01-29 Sun Microsystems, Inc. Transmitting odd-sized packets over a double data rate link
US6950905B2 (en) * 2003-02-20 2005-09-27 Sun Microsystems, Inc. Write posting memory interface with block-based read-ahead mechanism
US7003594B2 (en) * 2003-05-12 2006-02-21 Sun Microsystems, Inc. Streaming protocol for storage devices
US7388843B2 (en) * 2003-07-16 2008-06-17 Qlogic, Corporation Method and apparatus for testing loop pathway integrity in a fibre channel arbitrated loop
US7355966B2 (en) * 2003-07-16 2008-04-08 Qlogic, Corporation Method and system for minimizing disruption in common-access networks
US7463646B2 (en) * 2003-07-16 2008-12-09 Qlogic Corporation Method and system for fibre channel arbitrated loop acceleration
US7453802B2 (en) * 2003-07-16 2008-11-18 Qlogic, Corporation Method and apparatus for detecting and removing orphaned primitives in a fibre channel network
US7620059B2 (en) * 2003-07-16 2009-11-17 Qlogic, Corporation Method and apparatus for accelerating receive-modify-send frames in a fibre channel network
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7580354B2 (en) * 2003-07-21 2009-08-25 Qlogic, Corporation Multi-speed cut through operation in fibre channel switches
US7430175B2 (en) * 2003-07-21 2008-09-30 Qlogic, Corporation Method and system for managing traffic in fibre channel systems
US7477655B2 (en) * 2003-07-21 2009-01-13 Qlogic, Corporation Method and system for power control of fibre channel switches
US7684401B2 (en) * 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7420982B2 (en) * 2003-07-21 2008-09-02 Qlogic, Corporation Method and system for keeping a fibre channel arbitrated loop open during frame gaps
US7522522B2 (en) 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for reducing latency and congestion in fibre channel switches
US7447224B2 (en) * 2003-07-21 2008-11-04 Qlogic, Corporation Method and system for routing fibre channel frames
US7522529B2 (en) * 2003-07-21 2009-04-21 Qlogic, Corporation Method and system for detecting congestion and over subscription in a fibre channel network
US7630384B2 (en) * 2003-07-21 2009-12-08 Qlogic, Corporation Method and system for distributing credit in fibre channel systems
US7525983B2 (en) * 2003-07-21 2009-04-28 Qlogic, Corporation Method and system for selecting virtual lanes in fibre channel switches
US7792115B2 (en) * 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
US7583597B2 (en) * 2003-07-21 2009-09-01 Qlogic Corporation Method and system for improving bandwidth and reducing idles in fibre channel switches
US7512067B2 (en) * 2003-07-21 2009-03-31 Qlogic, Corporation Method and system for congestion control based on optimum bandwidth allocation in a fibre channel switch
US7646767B2 (en) 2003-07-21 2010-01-12 Qlogic, Corporation Method and system for programmable data dependant network routing
WO2005089241A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing object triggers
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7340167B2 (en) * 2004-04-23 2008-03-04 Qlogic, Corporation Fibre channel transparent switch for mixed switch fabrics
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US7404020B2 (en) * 2004-07-20 2008-07-22 Qlogic, Corporation Integrated fibre channel fabric controller
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7380030B2 (en) * 2004-10-01 2008-05-27 Qlogic, Corp. Method and system for using an in-line credit extender with a host bus adapter
US7411958B2 (en) * 2004-10-01 2008-08-12 Qlogic, Corporation Method and system for transferring data directly between storage devices in a storage area network
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US7519058B2 (en) 2005-01-18 2009-04-14 Qlogic, Corporation Address translation in fibre channel switches
US8631130B2 (en) 2005-03-16 2014-01-14 Adaptive Computing Enterprises, Inc. Reserving resources in an on-demand compute environment from a local compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US7765385B2 (en) * 2007-04-18 2010-07-27 International Business Machines Corporation Fault recovery on a parallel computer system with a torus network
US7809006B2 (en) * 2007-08-16 2010-10-05 D. E. Shaw Research, Llc Routing with virtual channels
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8223650B2 (en) * 2008-04-02 2012-07-17 Intel Corporation Express virtual channels in a packet switched on-chip interconnection network
US20100017513A1 (en) * 2008-07-16 2010-01-21 Cray Inc. Multiple overlapping block transfers
US8599863B2 (en) 2009-10-30 2013-12-03 Calxeda, Inc. System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US9077654B2 (en) 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US9054990B2 (en) 2009-10-30 2015-06-09 Iii Holdings 2, Llc System and method for data center security enhancements leveraging server SOCs or server fabrics
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US20130107444A1 (en) 2011-10-28 2013-05-02 Calxeda, Inc. System and method for flexible storage and networking provisioning in large scalable processor installations
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US9069929B2 (en) 2011-10-31 2015-06-30 Iii Holdings 2, Llc Arbitrating usage of serial port in node card of scalable and modular servers
US9876735B2 (en) 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US9680770B2 (en) 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9648102B1 (en) 2012-12-27 2017-05-09 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9311269B2 (en) 2009-10-30 2016-04-12 Iii Holdings 2, Llc Network proxy for high-performance, low-power data center interconnect fabric
FR2957176B1 (fr) * 2010-03-02 2012-04-06 Commissariat Energie Atomique Puce electronique et circuit integre comportant une telle puce electronique
EP2717169B1 (en) 2011-05-23 2017-01-04 Fujitsu Limited Administration device, information processing device, and data transfer method
US9092581B2 (en) 2012-10-09 2015-07-28 Intel Corporation Virtualized communication sockets for multi-flow access to message channel infrastructure within CPU
JP6313237B2 (ja) * 2015-02-04 2018-04-18 東芝メモリ株式会社 ストレージシステム
JP2017120542A (ja) * 2015-12-28 2017-07-06 富士通株式会社 並列情報処理装置、データ転送方法及びデータ転送プログラム
WO2018154494A1 (en) 2017-02-23 2018-08-30 Cerebras Systems Inc. Accelerated deep learning
WO2018193353A1 (en) 2017-04-17 2018-10-25 Cerebras Systems Inc. Neuron smearing for accelerated deep learning
EP3607503B1 (en) 2017-04-17 2022-03-09 Cerebras Systems Inc. Task activating for accelerated deep learning
US11488004B2 (en) 2017-04-17 2022-11-01 Cerebras Systems Inc. Neuron smearing for accelerated deep learning
WO2020044152A1 (en) 2018-08-28 2020-03-05 Cerebras Systems Inc. Scaled compute fabric for accelerated deep learning
WO2020044208A1 (en) 2018-08-29 2020-03-05 Cerebras Systems Inc. Isa enhancements for accelerated deep learning
US11328208B2 (en) 2018-08-29 2022-05-10 Cerebras Systems Inc. Processor element redundancy for accelerated deep learning
KR20220003621A (ko) * 2020-03-26 2022-01-10 그래프코어 리미티드 2개의 내장된 링을 구비한 네트워크 컴퓨터

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US28577A (en) * 1860-06-05 Improved composition for roofing houses
US4330858A (en) * 1979-06-29 1982-05-18 International Business Machines Corporation Time domain supervisory channel for data terminal equipments
US4814979A (en) * 1981-04-01 1989-03-21 Teradata Corporation Network to transmit prioritized subtask pockets to dedicated processors
US4561090A (en) * 1983-05-18 1985-12-24 At&T Bell Laboratories Integrated self-checking packet switch node
US4814973A (en) * 1983-05-31 1989-03-21 Hillis W Daniel Parallel processor
JP2644718B2 (ja) * 1983-12-28 1997-08-25 株式会社日立製作所 コンピュータシステム
US4630259A (en) * 1984-11-14 1986-12-16 At&T Bell Laboratories Lockup detection and recovery in a packet switching network
SE448558B (sv) * 1985-09-16 1987-03-02 Skandinova Byggsystem Ab Byggnadskonstruktion samt forfarande for astadkommande derav
US4771391A (en) * 1986-07-21 1988-09-13 International Business Machines Corporation Adaptive packet length traffic control in a local area network
US4933933A (en) * 1986-12-19 1990-06-12 The California Institute Of Technology Torus routing chip
US4984235A (en) * 1987-04-27 1991-01-08 Thinking Machines Corporation Method and apparatus for routing message packets and recording the roofing sequence
US5170482A (en) * 1987-08-14 1992-12-08 Regents Of The University Of Minnesota Improved hypercube topology for multiprocessor computer systems
US5008882A (en) * 1987-08-17 1991-04-16 California Institute Of Technology Method and apparatus for eliminating unsuccessful tries in a search tree
US4868818A (en) * 1987-10-29 1989-09-19 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Fault tolerant hypercube computer system architecture
US5105424A (en) * 1988-06-02 1992-04-14 California Institute Of Technology Inter-computer message routing system with each computer having separate routinng automata for each dimension of the network
EP0353819B1 (en) * 1988-08-02 1997-04-09 Koninklijke Philips Electronics N.V. Method and apparatus for synchronizing parallel processors using a fuzzy barrier
EP0364638B1 (en) * 1988-10-20 1994-04-20 International Business Machines Corporation Communication network
US5347450A (en) * 1989-01-18 1994-09-13 Intel Corporation Message routing in a multiprocessor computer system
JP2749098B2 (ja) * 1989-02-03 1998-05-13 株式会社日立製作所 通信回線切替・併用方式
US5036459A (en) * 1989-03-09 1991-07-30 U.S. Philips Corporation Multi-processor computer system with distributed memory and an interprocessor communication mechanism, and method for operating such mechanism
JP3072646B2 (ja) * 1989-03-20 2000-07-31 富士通株式会社 並列計算機間通信制御方式
CA2032620C (en) * 1989-12-22 1995-08-15 Takafumi Chujo Method for searching for alternate path in communication network
US5280474A (en) * 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
US5218676A (en) * 1990-01-08 1993-06-08 The University Of Rochester Dynamic routing system for a multinode communications network
US5161156A (en) * 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
GB9019025D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station having multiprocessing capability
DE69130630T2 (de) * 1990-09-14 1999-09-09 Hitachi Synchrones Verfahren und Gerät für Prozessoren
US5229990A (en) * 1990-10-03 1993-07-20 At&T Bell Laboratories N+K sparing in a telecommunications switching environment
US5293377A (en) * 1990-10-05 1994-03-08 International Business Machines, Corporation Network control information without reserved bandwidth
US5239545A (en) * 1990-11-05 1993-08-24 Motorola, Inc. Channel access control in a communication system
US5313645A (en) * 1991-05-13 1994-05-17 International Business Machines Corporation Method for interconnecting and system of interconnected processing elements by controlling network density
US5175733A (en) * 1990-12-27 1992-12-29 Intel Corporation Adaptive message routing for multi-dimensional networks
US5297137A (en) * 1991-01-30 1994-03-22 International Business Machines Corporation Process for routing data packets around a multi-node communications network
US5365228A (en) * 1991-03-29 1994-11-15 International Business Machines Corporation SYNC-NET- a barrier synchronization apparatus for multi-stage networks
EP0544018B1 (en) * 1991-06-19 2002-10-23 Fujitsu Limited System for transferring discriminative information of packet route
EP0552385B1 (en) * 1991-08-21 2001-02-14 International Business Machines Corporation Connectionless ATM data services
JP2861518B2 (ja) * 1991-09-03 1999-02-24 日本電気株式会社 適応多重化方式
JP3071007B2 (ja) * 1991-10-22 2000-07-31 富士通株式会社 通信ネットワーク制御方式
US5313628A (en) * 1991-12-30 1994-05-17 International Business Machines Corporation Component replacement control for fault-tolerant data processing system
EP0570729A3 (en) * 1992-05-22 1994-07-20 Ibm Apap i/o programmable router
US5333279A (en) * 1992-06-01 1994-07-26 Intel Corporation Self-timed mesh routing chip with data broadcasting
US5444701A (en) * 1992-10-29 1995-08-22 International Business Machines Corporation Method of packet routing in torus networks with two buffers per edge
US5533198A (en) * 1992-11-30 1996-07-02 Cray Research, Inc. Direction order priority routing of packets between nodes in a networked system
JPH06318951A (ja) * 1993-01-07 1994-11-15 Toshiba Corp セル転送方法およびセル転送システム
US5539449A (en) * 1993-05-03 1996-07-23 At&T Corp. Integrated television services system
US5353283A (en) * 1993-05-28 1994-10-04 Bell Communications Research, Inc. General internet method for routing packets in a communications network
FR2707819B1 (fr) * 1993-07-12 1995-09-15 Tremel Jean Yves Procédé et dispositif de surveillance et/ou de test d'un réseau de télécommunication de type ATM.
US5583990A (en) * 1993-12-10 1996-12-10 Cray Research, Inc. System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
US5434995A (en) * 1993-12-10 1995-07-18 Cray Research, Inc. Barrier synchronization for distributed memory massively parallel processing systems
US5453978A (en) * 1994-04-04 1995-09-26 International Business Machines Corporation Technique for accomplishing deadlock free routing through a multi-stage cross-point packet switch
US5546549A (en) * 1994-06-01 1996-08-13 International Business Machines Corporation Multi-path channel (MPC) interface with user transparent, unbalanced, dynamically alterable computer input/output channels
US5619647A (en) * 1994-09-30 1997-04-08 Tandem Computers, Incorporated System for multiplexing prioritized virtual channels onto physical channels where higher priority virtual will pre-empt a lower priority virtual or a lower priority will wait
US5701416A (en) * 1995-04-13 1997-12-23 Cray Research, Inc. Adaptive routing mechanism for torus interconnection network
US5659796A (en) * 1995-04-13 1997-08-19 Cray Research, Inc. System for randomly modifying virtual channel allocation and accepting the random modification based on the cost function
US5684961A (en) * 1995-04-28 1997-11-04 Sun Microsystems, Inc. System for defining multicast message distribution paths having overlapping virtual connections in ATM networks and assigning identical labels to overlapping portions of the virtual channels

Also Published As

Publication number Publication date
DE69605319D1 (de) 1999-12-30
CA2236213A1 (en) 1997-05-09
DE69605319T2 (de) 2000-07-13
EP0858633A1 (en) 1998-08-19
WO1997016792A1 (en) 1997-05-09
JP2004118855A (ja) 2004-04-15
US6055618A (en) 2000-04-25
JP2000508094A (ja) 2000-06-27
EP0858633B1 (en) 1999-11-24
JP3933620B2 (ja) 2007-06-20

Similar Documents

Publication Publication Date Title
JP3639848B2 (ja) マルチプロセッシングシステムにおける仮想メンテナンスネットワーク
US5659796A (en) System for randomly modifying virtual channel allocation and accepting the random modification based on the cost function
US5701416A (en) Adaptive routing mechanism for torus interconnection network
US5797035A (en) Networked multiprocessor system with global distributed memory and block transfer engine
US5533198A (en) Direction order priority routing of packets between nodes in a networked system
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
Finn An integration of network communication with workstation architecture
EP0410568B1 (en) Adaptive routing in networks
EP1031096B1 (en) Virtual channel assignment in large torus systems
KR101082701B1 (ko) 정보 처리 시스템, 통신 제어 장치 및 방법
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
US5898827A (en) Routing methods for a multinode SCI computer system
US20090292856A1 (en) Interserver communication mechanism and computer system
JP2017187973A (ja) 並列処理装置及び通信制御方法
CN118784549A (zh) 数据路由方法、装置、计算机设备、存储介质及程序产品
JP2000003345A (ja) 高信頼度システム、結合関係生成装置及び方法、並びに記録媒体
Lu et al. A fault-tolerant multistage combining network

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040811

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041102

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041110

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041202

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: 20090128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130128

Year of fee payment: 8

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