JPH02503244A - メッセージパケットのルーティング方法とその装置 - Google Patents
メッセージパケットのルーティング方法とその装置Info
- Publication number
- JPH02503244A JPH02503244A JP63504371A JP50437188A JPH02503244A JP H02503244 A JPH02503244 A JP H02503244A JP 63504371 A JP63504371 A JP 63504371A JP 50437188 A JP50437188 A JP 50437188A JP H02503244 A JPH02503244 A JP H02503244A
- Authority
- JP
- Japan
- Prior art keywords
- message
- processor
- node
- packet
- routing
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/17381—Two dimensional, e.g. mesh, torus
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
メツセージパケットのルーティング方法とその装置関連出願の引用
関連出願は以下のとおりである。
・ 「並列処理装置」 (出願番号499,474)および「並列処理装置/記
録回路」 (出願番号499,471)、いずれも1983年5月31日比願。
・ 「メツセージパケットのルーティング方法とその装置」 (出願番号671
、835)、1984年11月15日出願、現在米国特許4,598,400
゜
・ 「ハイパー次元配列における処理処置の相互接続方法とその装置」 (出願
番号740,943)、1985年5月31日出願。
・ r大容量コンピュータ」 (出願番号902,290)、1986年8月2
9日出願。
・ r大容量並列処理装置」 (出願番号924,090)、 1986年10
月28日出願。
発明の背景
本発明はメツセージパケットのルーティング方法とその装置に係わり、特に前記
関連出願499,471および499.474ならびに前記米国特許4,598
,400で開示された大容量並列処理装置においてメツセージパケットのルーテ
ィングに適する方法と装置とに関する。
第1図に米国特許4,598,400の第1A図を再録した。
第1図において、当該アプリケーションのコンピュータシステムは、メインフレ
ームコンピュータ10.マイクロコントローラ20、並列処理集積回路35から
なる配列30、データソース40.第一バッファおよびマルチプレクサ/デマル
チプレクサ50.第一、第二、第三、第四両方向バス制御回路60.65.70
.75、第二バッファおよびマルチプレクサ/デマルチプレクサ80、ならびに
データシンク90を有して構成されている。メインフレームコンピュータ10は
、デジタルエクイブメント社ラムを具備する市販の汎用コンピュータである。マ
イクロコントローラ20は、一連の命令を生成する既存設計の命令シーケンサで
ある。これらの命令は、32ビツトの並列バス22を介して配列30へと印加さ
れる。マイクロコントローラ20は1回線26を介して配列30から信号を受は
取る。この信号は汎用(G L OB A L)信号であり、データ出力情報と
状態情報に使用できる。バス22と回線26はそれぞれの集積回路35に並列に
接続されている。このため、マイクロコントローラ20からの信号は、配列30
内の各集積回路35に同時に印加される。
また、回線26を介し、てマイクロコントローラ20に印加される信号は、配列
内にあるすべての集積回路35からの信号出力を組合せることによって生成され
る。
配列30は、数千におよぶ同−型の集積回路35を具備している。各集積回路3
5は、数個の同−型のプロセッサ/メモリ36を含む、米国特許4,598,4
00で開示された実施例では、この配列に最大32.76111個(=2”)の
同−型の集積回路35を具備できる。各集積回路35は、32個(=2″)の同
−型のプロセッサ/メモリ36を内蔵することができる1本特許の出願の時点で
、同−型のプロセッサ/メモリ26個(=2’)をそれぞれ具備する同−型の集
積回路35を最大4 、096個(=2”)内蔵した配列が、被譲渡人によって
製造され、「コネクション・マシン」 (登録部ml)コンピュータとして出荷
された。
米国特許4,598,400のプロセッサ/メモリ36は、二種類の構成によっ
て組織され、相互接続されている。
そのうち、第一の構成は、従来の二次元のグリッドパターンである。このパター
ンでは、プロセッサ/メモリは長方形の配列に構成され、各プロセッサ/メモリ
は、配列内で隣接するもっとも近い4個のプロセッサ/メモリに接続されている
。説明の便宜を図るため、この配列の各面を「北」、「東」、「南」、「西」と
それぞれみなす、各プロセッサ/メモリを、隣接するもっとも近いプロセッサ/
メモリに接続する場合、個々のプロセッサ/メモリは、導体を介してグリッドの
各行、各列において相互接続されている。
第二の構成は、プールn次元立方体の構成である。
n次元立方体接続パターンを理解する場合、(15次元の立方体であれば)集積
回路を0から32,767まで番号付けし、15個の2進ビツトを使用してこれ
らの番号を2進法で表示すると便利である。ある物体の二次元グリッドにおける
位置は数字2個で指定できる。2個の数字のうち、1個は二次元グリッドにおけ
る第一次元の位置を指定し、他の1個は同グリッドにおける第二次元の位置を指
定する。同様に、1個の数字を使用して、プール15次元立方体の各次元におけ
る各集積回路の位置を指定できる。ただし、n次元立方体においては、集積回路
は、0ないし1の2個の異なる位置のいずれかのみを各次元で取ることができる
。このように、15ビツトの集積回路の2進アドレスは、n次元立方体の15の
次元における集積回路の位置の指定に使用することが可能であり、また実際に使
用されている。さらに、各2進ビツトは、Oまたは1のいずれかの値のみ取るこ
とができ、各集積回路は15個の2進ビツトによって一意に指定される。このた
め、各集積回路に対し、そのアドレスと1ビツトのみ異なる2進アドレスをそれ
ぞれ有する15個の集積回路がある。こうしたアドレスを有する集積回路を、各
集積回路の最近接回路と呼ぶ、ハミング距離の数学上の定義を熟知する技能者は
。
各集積回路がその15個の最近接回路からハミング距離1で隔てられていること
を理解することができよう。
前記のアプリケーションの集積回路35をプール15次元立方体として接続する
ためには、各集積回路を15本の入力回線38と15本の出力回線39とを介し
て15個の最近接回路へと接続する。各集積回路35に接続されたこれら15本
の入力回線38は、プール15次元立方体の各次元にそれぞれ対応している。同
様に、各集積回路35からの15本の出力回線39も、プール15次元立方体の
各次元にそれぞれ対応している。n次元立方体の配線の詳細については、前記引
用の出願第740,943号に記されている。
プールn次元立方体の相互接続パターンによって通信を行なうため、演算の結果
をメツセージパッケージの形式で組織化する。これらのパッケージは、その一部
を構成するアドレス情報に従い、各集積回路に内蔵されたルーティング回路を介
して隣接する集積回路の間を転送される。
各集積回路35は、米国特許第4,598,400号の第7A図、および出願番
号924,090 r大容量並列処理装置」の第4図ならびに第6図に詳細に開
示された複数のプロセッサ/メモリを具備する。第7A図に示されるように、プ
ロセッサ/メモリ36は、ランダムアクセスメモリ(RAM) 250.論理演
算装置(ALU)280、およびフラグコントローラ290を有する。RAM2
50への入力には、米国特許第4,598,400号の第6B図記載の通信イン
ターフェース装W (CI U) 180から出ているメツセージパケット入力
回線122が含まれる。
RA M 250からの出力は、A L U 280へと至る回線256.25
7からなる。ALUは、三種類のソース、すなわちRAM内の2個のレジスタと
1個のフラグ入力とから与えられるデータの演算を行ない、2個の出力を生成す
る。一方の出力は、回!! 285上の合計出力であり、これはRAMレジスタ
のひとつへと書き込まれる。他方の出力は1回線287上の桁上げ出力であり、
これはフラグコントローラ内の特性のレジスタで利用でき。
メツセージパケット出力回線123を介して通信インターフェース装置180へ
と転送することが可能である。
かかるプロセッサ/メモリの代替設計が、出願番号924.090 r大容量並
列処理装置」に開示されている。
該出願の第4図と第6図に示されるように、プロセッサとメモリは、同一の回路
基板に配されて独立した集積回路334および340に内蔵されている。各集積
回路334は、16個の同−型のプロセッサ336、制御袋!337、ルータ3
38.およびメモリインタフェース339からなる。
メモリインタフェースは、集積回路334の16個のプロセッサを、対応する各
メモリへそれぞれ接続している。
これらのメモリは、たとえば6個の独立した集積回路340上に配置される。ル
ータ338は、 12次元のハイパーキューブに接続された12個の最近接ルー
タに、16個のプロセッサを接続している。
さらに各集積回路35は、集積回路上のプロセッサ/メモリに対応する監視回路
と、各集積回路をプールn次元立方体の最近接回路へと接続すためのルーティン
グ回路とを具備する0本出願の第2図は、米国特許第4.598,400号の第
6B図を再現したものである。第2図に示されるように、前記監視回路は、タイ
ミング発生器140.プログラム可能論理回路150.および通信インタフェー
ス180からなる。プログラム可能論理回路150は、マイクロコントローラ2
0から送られた命令をデコードして集積回路のプロセッサ/メモリへと送る。
通信インタフェース180は、各集積回路のプロセッサ/メモリと、当該集積回
路に対応するルーティング回路200との間で交換されるメツセージパケットの
フローを制御する。
ルーティング回路200は、プールn次元立方体における最近接集積回路間にお
けるメツセージパケットのルーティングを制御する。この回路は1回線割当て器
205、メツセージ検出器210、バッファ/アドレス復元器215.およびメ
ツセージ注入器220からなる。これらの構成部品は、上記の順序で直列に接続
されてループを形成している。このため、各構成部品の出力は1次の段階で構成
部品の入力へと供給される。メツセージ注入器220の出力は1回線割当て器2
05へと供給される。
回線割当て器205は、入力回線38で受信したメツセージパケットのアドレス
を分析して、これらのパケットが当該集積回路に送られたか、もしくは他の集積
回路に送られたものかを決定する0回線割当て器は、受信したメツセージパケッ
トを可能な限りその宛先へと転送する。当該集積回路に送られたメツセージパケ
ットと1回路の割当て上の競合のため転送できないメツセージパケットは、すべ
てこの回線割当て器が蓄積する6回線割当て器205は、同一型のルーティング
論理セルからなるIs X 15の配列400を具備する。この配列の各行は、
ルーティング回路200でのメツセージパケット1個の蓄積を制御する。
メツセージ検出器210は、メツセージパケットの受信を確認し、回線割当て器
から回線207へと送られたメツセージパケットのアドレスを検査し、当該集積
回路に宛れられたこれらのメツセージパケットを1通信インタフェース180へ
と供給する。バッファ/アドレス復元器215は、タップシフトレジスタを有す
る。バッファ/アドレス復元器の出力は、メツセージ注入器へと供給される。メ
ツセージ注入器220は、1回につき1個のメツセージパケットを1通信インタ
フェース180から、ルーティング回路を循環しているメツセージパケットのグ
ループ内へと注入する。
ルーティング回路からの信号は、回線197,198゜199を経て通信インタ
フェースCI U180への供給される。信号回線197は、入力メツセージパ
ケットがルーティング回路から得られるかどうかを示す0回9198は、入力メ
ツセージパケット自体を示す0回線199は、回線19θ上の出力メツセージパ
ケットが、ルーティング回路によって成功裏に受信されたものかどうかを示す0
回線194上の信号は、ルーティング用のメツセージパケットがいつ得られ、か
っこのメツセージパケットがいつ回線196上に出力されるかを示す。
ルーティング上の競合が発生しなければ、メツセージパケット1個が、−次元の
ルーティングセルへの入力から、プロセッサ/メモリ内のレジスタのうち、1回
のメツセージサイクルで宛先の指定を受けたレジスタ1個へと転送される。ルー
ティング上の競合が発生した場合、メツセージパケットが、1個ないし複数の中
間点で、ルーティング回路の処理蓄積手段によって一時的に蓄積される。メツセ
ージパケットをその宛先に送達するためには、複数のルーティングサイクルを必
要とする。
発明の要約
本発明は、パケットの指定する宛先へとメツセージパケットを送達するための改
良型ルーティング回路に係わる0本発明では、大容量並列式コンピュータでメツ
セージパケットのルーティングを行なう場合に特に有効であるため、この観点か
ら本発明について説明する。
本発明による集積回路のルータは、米国特許第4,598,400号で説明され
た機能と同一の機能を提供する。すなわち、メツセージパケットが当該集積回路
を宛先として指定されているかどうかを決定する機能。
可能な場合はメツセージパケットをその宛先へと転送する機能、および当該集積
回路宛てのメツセージパケットならびに回路競合のため転送できないメツセージ
パケットを蓄積する機能である。
またこのルータは、次のような機能も提供する。すなわち、同一の宛先を有する
メツセージパケットをマージする機能、メツセージルーティングサイクルの各有
意点におけるルータの状態を保管する機能、およびルーティングサイクル全体を
逆方向に進める機能である。この最後の機能により、配列内の特定のプロセッサ
に対して、メツセージパケットを選択的に同報通信することができる。
本発明の実施例は1次のような手段を有する。すなわち、送信元プロセッサから
宛先プロセッサへと送られるメツセージパケットを蓄積する手段、メツセージパ
ケットを、送信元プロセッサと宛先プロセッサとの間にあるノードに接続された
通信回線へ選択的に接続するための手段、宛先プロセッサにルーティングされる
べく指定されたメツセージパケットを、送信元プロセッサの待ち行列に選択的に
挿入するための手段、宛先プロセッサの前記メモリから、該プロセッサに宛てら
れたメツセージパケットを選択的に削除するための手段、第一のプロセッサから
第二のプロセッサへとメツセージパケットが転送される工程において、前記の選
択的接続手段1選択的挿入手段、および選択的削除手段が、おのおのの動作の段
階を順次経過する際の。
それぞれの作動状態を記録するための手段、および前記の選択的接続手段、選択
的挿入手段、選択的削除手段の作動状態を、前記プロセッサ間でのメツセージパ
ケットの転送ルートの逆の順序で再現し、これによって第二のプロセッサから第
一のプロセッサへとメツセージパケットを転送するための手段を有する。
図面の簡単な説明
本発明の前記その他の諸目的、特徴ならびに利益は。
以下の実施例の説明ならびに添付図面から明瞭になろ第1図は本発明を適用した
大容量並列処理装置の概略図、第2図は先行技術によるルーティング回路の概略
図、第3図は本発明の一実施例を構成する集積回路の概略図、第4図は、第3図
の集積回路のひとつに含まれるプロセッサの概略図、第5図は、第3図の集積回
路のひとつに含まれるルータの概略図、および第6図から第16図までは、第5
図のルータの詳細を示す図面である。
発明の詳細な説明
本発明は、単一命令多重データ(SIMD)並列式コンピュータに適用される。
このコンピュータは、たとえば128個の回路基板上に配設された65,536
(=21$)個のプロセッサからなる配列を有して構成される。出願第924,
090号に詳しく説明されているように、できれば、これらのプロセッサは4個
の装置にまとめて収納され、各装置はマイクロプロセッサの制御下に置かれ、か
つ各装置は4台のホストコンピュータの1台にそれぞれ接続できることが望まし
い、少なくとも該コンピュータの各装置の内部では、プロセッサが並列に運転さ
れて、供給されたデータに対して同一の命令が各プロセッサによって同時に実行
されるようになっている。供給されるデータは異なるため、実行の結果はプロセ
ッサごとに異なるととがある。このため実際の動作中には命令の完全な実行が抑
止されることがある。
各回路基板には32個の集積回路が配設されている。
第3図に示すように、これらの集積回路100は、16個のプロセッサからなる
配列110、交換器120、ルータ130、メモリインタフェース140、およ
び制御回路150を有して構成される。また各回路基板は、同基板上に設置され
た各集積回路の各プロセッサ112に対応する4にビットの読出し書込み用メモ
リ(RAM)160を有する。
各集積回路100は、コンピュータの他の構成部位との接続用に68個のビンを
有する。これらのビンのうち。
4本は制御ビン152.20本はプロセッサ命令ビン0PO−OF2、lo−1
16,22本はメモリビニ/MO−M15およびECC0−ECC5,14本は
通信ビン132、および8本は電源ビン102である。下記の表Iでこれらのビ
ンの機能をさらに説明する。
以下余白
表1
舞匙〉
クロック 1 人力 高 命令実行用のストローブ出カ
プロセッサ命令ピン
0PO−23人力 高 命令の種類通信ビン
ラッfR1人力 高 ルータ入力のラッチ送)m l 入力
低 ル−タ入力の送信C売く)
4社〉
VDD4 電源 高 +5v電源VSS4 電源 低
接地
合計 6
16個のプロセッサ112のそれぞれの出力は、幅16回線分の並列データバス
114を介して交換器120へと供給される。データバスの各回線は、1台のプ
ロセッサからの信号をそれぞれ伝送する。交換器は、これらの回線上の信号の交
換や順列を行なう、こうした処理は、現在出願中の[MがNより小さい場合のN
次元ネットワークにおけるM次元接続ネットワークのシミュレーションの方法と
その装置」で詳しく説明されている方法で行なわれる。交換器120から出てい
る幅16回線のデータバス122は、その出力信号をメモリインタフェース14
0および命令ビンl0−115へと供給する。
メモリインタフェース140は、同様に係属中であって1986年9月15日に
出願された「並列処理装置のエラーのチェック方法」 (出願番号907,67
1)、および1986年12月10日に出願された「エラー制御の方法とその装
置」 (8願番号939,599)にて詳しく説明されている。
前記出願は、いずれも参照のため本出願で引用している。第3図に示されるよう
に、メモリインタフェースは、メモリビンMO−M15およびECC0−ECC
5を介してメモリ160に信号を供給し、同じビンを介して該メモリから信号を
受信する。
第3図に示されるように、たとえばメモリ160は、各集積回路100に対応す
る22個の4に×1ピットRAM集積回路162として配設されている。該メモ
リ内では、16個の4KX1ビツトスライスが、16個の同−型のプロセッサ1
12のそれぞれに対応するメモリとして機能する。残りの6個の4に×1ビット
スライスは、16個の同−型のプロセッサのメモリに格納されているデータのパ
リティピットまたはシンドロームビットを格納する。各集積回路100から出て
いる22個のメモリビンMO−M15およびECC0−ECC5は、それぞれ1
個のRAM集積回路162に接続されている。
集積回路162は、アドレスデコーダ164によって並列にアドレス指定される
。これにより、アドレスデコーダで指定されたアドレスを有する各集積回路に並
列データが書き込まれ、かつ該回路から並列データが読み出される。実際には、
1個のアドレスデコーダを使用して、1個の回路基板上にあるすべてのRAM集
積回路162の並列アドレス指定、もしくは65,536個のプロセッサで構成
される配列全体のすべてのRAM集積回路162の並列アドレス指定を制御する
ことができる。読み出し書込み用メモリ160に関しては、前記引用の出願第9
39,599号で詳細に説明している。
メモリインタフェース140から出る信号は1幅16回線の並列データバス14
2を介して、16個のプロセッサ112およびルータ130へと供給されている
。該バスの各回線は、それぞれ1台のプロセッサへ信号を転送する。
ルータ130は、n立方体接続パターンを介して、他の集積回路上にあるプロセ
ッサとの通信を行なう、かかるパターンはたとえば12次元(n=12)で構成
される。該接続は、12個の立方体配線132により配設される。コンピュータ
内のすべての集積回路100に対応するルータは、並列に作動する。すなわち、
各ルータは他のすべてのルータと同時に同一の動作を行なう、ルータは順方向モ
ード、トレースモード、逆方向モードの三種類のモードのうち、いずれかで作動
する。順方向モードでは、メツセージが指定された宛先へと送信される。トレー
スモードでは、送信されたメツセージとその宛先が記録される。逆方向モードで
は、順方向モードでメツセージをルーティングして設定した経路の逆方向にメツ
セージを転送する。逆方向モードやトレースモードを使用するためには1作動サ
イクルのあらゆる状態におけるルータ130の全スイッチの出力を記録しておく
必要がある。
ルータ130は1幅16回線の並列データバス134.メモリインタフェース1
40.メモリ160.およびデータバス142を介して、集積回路100上のプ
ロセッサ112とインタフェースをとる。データバス134の各回線は、各プロ
セッサ112とそれぞれ対応している。他の集積回路上のプロセッサから受信さ
れたメツセージパケットは。
次の順序でそれぞれの宛先プロセッサに送達される。
すなわち、メツセージパケットは、データバス134を構成する回線のうち、宛
先プロセッサに対応した回線上に出力され、ついでインタフェース140を介し
てメモリ160へと転送される。メツセージパケットは、いったんメモリ160
に蓄積されたのち、宛先プロセッサによってフェッチされる。これにより、メツ
セージパケットは、インタフェース140と、データバス142の対応する回線
とを介して、宛先プロセッサへと送達される。
以下余白
メツセージパケットは、次の順序で他の集積回路上のプロセッサへと転送される
。すなわち、メツセージパケットは、データバス114.交換器120.データ
バス122、およびメモリインタフェース140を介してメモリ160へと送ら
れる。メツセージパケットをその宛先に転送するための回路をルータが確保する
と、該パケットは、メモリインタフェース140とデータバス142とを介して
ルータに送られる。ついでメツセージパケットは、適当な立方体配線132を介
して他の集積回路へと送られる。ルータ回路の動作に関しては、添付の第5図か
ら第16図までを参照しながら以下に詳しく説明する。
制御回路150は、命令デコーダ(図示せず)を有している。この命令デコーダ
は、プロセッサ命令ピンに印加された信号を復停して、オンチップ制御信号を生
成する。命令信号は、幅16回線の並列命令バス154を介して制御回路へと供
給される。制御信号は、図示していない回線を介して集積回路の各種構成部品へ
と供給される。制御回路150は、さらに状態レジスタ(第3図には示さず)を
有している。これらの状態レジスタは、集積回路内に分散して配設されており、
該集積回路内のデータフロー経路におけるスイッチの状態を格納するために使用
する。該状態データにより、トレースモードと逆方向モードにおけるルータの動
作が可能となる。プロセッサと制御回路150との間では1幅16回線の並列デ
ータバス116および156を介して大量の状態情報が交換される。すでに説明
したように、各プロセッサは、各データバス116および156のそれぞれの異
なる回線と対応している。また、状態情報は、データバス136および158を
介して制御回路150とルータ130との間でも交換される。
前記米国特許第4,598,400号で示されているように。
本出願を実施する際には、プロセッサ112の多様な実施例を利用することがで
きるが、プロセッサ112の好ましい実施例を第4図に示した。この図に示され
るように、プロセッサは、ALU500.8ビツトフラグ回路520.4個のラ
ッチA、B、C,F、条件回路530゜および4個のマルチプレクサ541,5
42,543.544を有して構成されている。ALUは、2個の8対1マルチ
プレクサ502.504を有する。これらのマルチプレクサは、2個の2進真理
表を構成している。ALUは、3個の入力、すなわちラッチA、B、Fからの入
力の演算を行ない、2個の出力を生成する。そのうち一方は合計出力であって、
この出力は、データバス144および122す構成する回線のうちいずれか1回
線、交換器120、およびメモリインタフェース140を介して、メモリ160
へと書き込まれる。他方の出力は桁上げ出力であり、これはフラグ回路520へ
と書き込まれる。
データは通常、メモリ160からデータバス132の1回線を経てラッチAおよ
びBへと書き込まれる。ルータ130から出た信号は、マルチプレクサ543を
介してラッチBへと書き込まれ、命令バス154から出た信号は。
マルチプレクサ542を介してラッチAへと書き込まれる。ラッチFは、フラグ
回路520からの入力を受信する。ラッチCには通常、マルチプレクサ541を
介してラッチAど同一のデータが書き込まれる。
条件回路530は、合計出力と桁上げ出力とが、新しく演算された値を伴って書
き込まれるか、あるいは前と同じ値を伴って書き込まれるかを決定する0条件回
路は、フラグ回路によってロードされ、またゲート532.534およびマルチ
プレクサ544を介してALUの出力を制御する。
第5図にルータ130の詳細な回路図を示す、この図には、メツセージパケット
注入器550、回線割当て器560、組合せ器560、アドレス検査器570、
エジェクタ575、オフチップメツセージパケットバッファメモリ580、およ
びパリティ発生器590が含まれている。ルータはさらに、16ビツトラツチ5
52.16ビツトレジスタ554、マルチプレクサ562.577、582.5
83,584、および幅7ビツトのラッチ586,587,588.589を有
して構成されている。データは、7個のデータ経路600を経て順方向に流れ、
7個のデータ経路602を経て逆方向に流れる。各経路には、流れの同一方向に
ある他の6個の経路に対する優先順位がそれぞれ定められている。
メツセージパケットは、パリティ発生器を出た時点では、アドレス情報、データ
およびパリティ情報をたとえば以下の表Hに示すようなフォーマットで有してい
る。
表■
ビット位置 値 摘o msg−p
メツセージが正しいかどうかを示す。
KからLまで データ0−N N+1ビツトのメツセージデータL+1
パリティ
注入器550は、4×16のクロスバ−スイッチである。
このスイッチは、16個のプロセッサ112のいずれかより送られるメツセージ
を受信し、これをパリティ発生器590に至る4個のデータ経路のうちいずれか
へと出力する。ついでパリティビットが計算され、パリティ発生器590によっ
て各パケットに付加される。パケットは、回線割当て器560へと送られる。メ
ツセージパケットは、以下で説明するように、メッセージバケツドパソファメモ
リ580から受信することもできる。
回線割当て器は、メツセージパケットのアドレス情報に従い、異なる次元にある
他の集積回路に、立方体配線132を介して該メツセージパケットを転送するこ
とを試みる。同時に、他のすべての集積回路のルータは、すべてのメツセージパ
ケットを該回路に同じように転送しようと試みる。メツセージの転送を行なう場
合、立方体配線を1回に1本ずつ検査して、該配線がルーティングに利用できる
かどうかを決定する。いずれかの立方体配線が利用可能である場合、当該立方体
配線(または次元)に宛先として指定されている最も高い優先順位のデータ経路
上にあるメツセージパケットが、該配線上に送出される。この結果、出力された
メツセージパケットのあったデータ経路600が再度利用可能となる。優先順位
の低い残りのデータ経路上にあるメツセージパケットが、1本のデータ経路分だ
け進められるため、少なくとも最も優先順位の低いデータ経路1本が開放される
。
さらに、メツセージパケットは、他の集積回路から立方体配線132を介して受
信される。受信時には、各パケットは最も優先順位の低いデータ経路に挿入され
る。これらのパケットは1回線割当て器内の他のデータ経路上にあるメツセージ
パケットと同様な方法で処理される。このため、受信された各パケットは、デー
タ経路上で空きが生ずるに従い、優先順位の高いデータ経路へとシフトされてゆ
く、任意の立方体配線に宛てられたメツセージパケットのうち、最も優先順位の
高いメツセージパケットは、該パケットの宛先として指定された立方体配線へと
送出される。この結果、各メツセージパケットは、送信元プロセッサから宛先プ
ロセッサへと至るルーティング中に、複数の異なる集積回路上にある回線割当て
器の少なくとも一部を通過することになるのが普通である。かかるルーティング
は、回線割当て器を介して1回で実行することもできるが、ルーティング上の競
合のため複数回かかって実行されることが多い。
各立方体配線を介してメツセージパケットを受信するデータ経路を確保するため
1回線割当て器は、各立方体配線を介して、メツセージパケットを最も優先順位
の低いデータ経路へと自動的に送出する。この場合、メツセージパケットが該デ
ータバスに宛れられでいるかどうかは問題とされない、この技術は「すてばちル
ーティングJ (desperation routing)と呼ばれている
。
回線割当て器から送られるメツセージパケットは。
データ経路600を介して組合せ器565へと送達される。
この組合せ器は、同一のアドレスに宛てられたメツセージパケットを結合するた
めのものである。メツセージパケットに対しては、次の四種類の演算が組合せ器
によって実行される。すなわち、最大化(当該プロセッサ宛ての最大2進数を選
択する)、加算(任意のプロセッサ宛てのメツセージを加算する)、論理和(任
意のプロセッサ宛てのメツセージの論理和を計算する)、および重ね書き(最後
に供給されたメツセージを選択する)である。
アドレス検査器570は1回線割当て器を出るメツセージパケットのアドレスを
検査することにより、宛先集積回路に到着したパケットを1回線572を介して
エジェクタ575へと通知する。エジェクタ575は、7X16のクロスバ−ス
イッチである。このスイッチは、いずれのデータ経路上にあるメツセージパケッ
トでも1幅16回線のデータバス576およびメモリ160を介して、16個の
プロセッサ112のうちいずれかに転送することができる。とりわけメツセージ
は、データバス142の適当な回線を介して、プロセッサのBレジスタに転送さ
れる。
7個のデータ経路上にあるメツセージパケットは。
さらにオフチップメツセージパケットバッファメモリ580へと転送される。こ
のメモリはパケットのバッファとして機能し、このメモリから宛先に送られなか
ったパケットは、パリティ発生器590へと挿入によって戻される。このバッフ
ァメモリは、メモリ160の一部として実施することができる。
データの損失を防ぐため、バッファメモリから出たメツセージパケットは、プロ
セッサ112から挿入されるすべてのメツセージパケットに優先する。その他の
面では、これらのメツセージパケットもルータによって同様に処理される。こう
して、各メツセージパケットのパリティピットはパリティ発生器590によって
再度計算され、当該パケットに付加される。各パケットは、データ経路600の
いずれかを介して回線割当て器へと送られる。
データ経路602を介した逆方向のデータの流れは、順方向の流れと似ている。
ただし逆方向の場合、プロセッサ112からでるメツセージパケットは、エジェ
クタ575を介してルータに送られたのち、組合せ器565゜回線割当て器56
0、パリティ発生器590および注入器550を介して転送される。逆方向のル
ーティングでは。
トレースモードを使用して、並列処理装置の状態を記録する。これらの状態は、
1台以上の送信元プロセッサから1台以上の宛先プロセッサへとメツセージを転
送するために必要な状態を言う、これらの状態を記録したのち、該状態を逆方向
に使用することにより、宛先プロセッサから送信元プロセッサへとメツセージを
返送する1組合せ器は、順方向のメツセージ転送における組合せ工程の逆の順序
でメツセージパケットを複製するため、多数のプロセッサに対してメツセージパ
ケットの同報通信を行なうことができる0回線割当て器は、メツセージパケット
を送信元の集積回路へと返送する。ついで注入器は、メツセージパケットを適当
なプロセッサに送信するか、もしくは送信が可能となるまで該パケットをバッフ
ァメモリに一時的に格納する。
第6図に、注入器550ならびにパリティ発生器590に入るデータの流れ、お
よびこれらの構成部品から呂るデータの流れを示す、かかる構成部品に加えて、
第6図は、幅16ビツトの要求ラッチ552、幅16ビツトのレジスタ554、
および幅7ビツトのラッチ586を含んでいる。ラッチ552およびレジスタ5
54の各ビット位置は、16個の異なるプロセッサ112のそれぞれに対応して
おり、かつ注入器550の4×16クロスバースイツチの各列に接続されている
。ラッチ586の各ビット位置は、バッファメモリ580の各データ経路に対応
している。
ラッチ586でいずれかのビットが“1”に設定されると、対応するデータ経路
が空いたため、メツセージパケットの受信が可能になったことを意味する。この
ため、ラッチ586は、データ経路利用可能(空き)ラッチと呼ばれる。また第
6図には、4個のORゲート配列556が示されている。各ORゲートは、注入
器550の4×16クロスバースイツチの各行に対応している。また各ORゲー
トは、16本の入力回線557を有する。各入力回線は、注入器550の4×1
6クロスバースイツチの同一行にある各列から出ている。
パリティ発生器590は、4個の入力マルチプレクサ592からなる第一の配列
、7個の入力マルチプレクサ593からなる第二の配列、7個のパリティビット
演算回路595.4個の出力マルチプレクサ597、および3個の出力ゲート5
98を有して構成されている。各入力マルチプレクサ592は、2個の入力を有
する。一方の入力は、ORゲート配列556の出力から出ており、他方の入力は
、データバス604の4個のデータ経路のうちのいずれかより出ている。各入力
マルチプレクサ593は、2個の入力を有する。そのうち一方の入力は、逆方向
データバス602のデータ経路のいずれかより出ており、他方の入力は、入力マ
ルチプレクサ592の出力、もしくはデータバス604の残りのデータ経路のい
ずれかより出ている。7個のマルチプレクサ593の各々の入力は、7個のパリ
ティビット演算回路595の各々に供給される。各パリティ回路の出力は、いず
れか1個の順方向データ経路600を介して1回線割当て器に供給される。また
、パリティ回路のこれらの出力は、マルチプレクサ597と幅7ビツトの並列デ
ータバス599へのゲート598とを介して、ランチ582およびバッファメモ
リ580へと接続されている。
16個のプロセッサ112から出るメツセージパケットは、レジスタ554とデ
ータバス555とを介して、注入器550へと供給される。また、バッファメモ
リ580から出るメツセージパケットは、レジスタ587と7回線並列データバ
ス604とを介して、パリティ発生器590へと供給される。プロセッサによる
送信を待つメツセージパケットが存在する場合、当該プロセッサに対応する要求
ラッチ552のビット位置に“1”を1個立てて該存在を示す、要求ラッチ55
2から出る信号は、データバス553を介して、注入器550の4×16クロス
バースイツチの各列へと供給される。このラッチの16個のビット位置は、スイ
ッチの異なる各列に対応している。データ経路に空きがあってメツセージパケッ
トが送信できることを示す信号は1幅16回線のデータバス558を介して、プ
ロセッサ112へと供給される。バス142.553.555の回線が注入器5
50の4×16クロスバースイツチの各列に対応しているのと同様な形式で、デ
ータバスの各回線は、異なる各プロセッサに対応している。
以上のように、特定のデータ経路に対応する位置のバッファメモリにメツセージ
パケットがない場合、当該データ経路に対応する空きラッチ586の適当なビッ
ト位置に“1”を1個立てて該存在を示す、空きラッチ586のビット位置のう
ち、4個の最も低い優先順位のデータ経路に対応する4個のビット位置から出る
信号は、並列のデータバス605を経て、注入器550の4×16クロスバース
イツチの4行と、かかる行に対応する4個のマルチプレクサ592へと供給され
る。空きラッチ584内に“1″ビツトがあれば、該ビットの対応するクロスバ
−スイッチの行の条件付けが行なわれて、レジスタ554に格納されているメツ
セージパケット(ある場合のみ)が受信される。また、この“1nビツトにより
、前記行に対応するマルチプレクサ592の条件付けが行なわれて、該行に対応
するORゲート配列556から入力信号が受信される。このとき、データバス6
04からデータ経路上に入力された信号が存在する場合、これらの信号はすべて
拒否される。
マルチプレクサ593に印加された制御信号は、7個の順方向データ経路600
および7個の逆方向データ経路602から出る信号の方向と流れを制御する。と
りわけマルチプレクサ593に印加された制御信号は、データ経路602からの
逆方向信号を選択するか、もしくは注入器550またはデータバス604からの
順方向信号を選択して、パリティビット演算回路による処理を行なう。
空きラッチ586の7個のビット位置から出る7個の信号は、データバス606
を介して、マルチプレクサ597およびゲート598へと印加される。ゲート5
98へと印加される信号は、並列データバス609の7回線のうち3回線へのア
クスを制御する。ラッチ586からマルチブレクサ597へと印加される信号に
より、4個のパリティ演算回路の出力を、4回線並列データバス607か。
または並列データバス609の残りの4回線のいずれが八と選択的に供給するこ
とができる。データバス609の7本の回線は、それぞれラッチ582およびバ
ッファメモリ580へと接続されている。
データバス607の4本の回線は、166回線並バス60gへとファンアウト接
続されている。これらの回線はそれぞれ、注入器550の4×16クロスバース
イツチの同一行で異なる列にあるスイッチへ、入力ととして供給される0回線6
08上にあるメツセージパケットで、注入器550と同一の集積回路の16個の
プロセッサに宛てられたメツセージパケットは、幅16回線の並列データバス5
59の回線に対応するプロセッサへと供給される。
該データバスの各回線は、注入器550の4×16クロスバースイツチの列のう
ちの1本に接続されており、また16個のプロセッサとそれぞれ対応している。
第7図に注入器550の注入回路の詳細を示す、この回路は、二種類のセル61
2,613の4×16クロスバ一スイツチ配列610を有している。この配列は
、第7図のなかでは該セルの最初と最後の各2セルによって表示されている。各
列は、チップ上のプロセッサ112にそれぞれ対応している。各列は、その対応
するプロセッサから回線553上に送信要求信号を受信する。この信号は、メツ
セージパケット1個が送信待ち状態であり。
回線555上にあることを示している。送信要求信号は。
回線622および624の各セルを介して各列に伝搬する。
また各列では、メツセージパケットは列のすべてのセルに並列に供給されるが、
以下のような方法で1個のセルのみが該パケットを受信する。
配列内の4列は、注入器の7個のデータ経路のうち。
利用可能な4個に対応する。より詳細には、該4列は最も優先順位の低い4個の
データ経路に対応する。バッファメモリ内の特定のデータ経路上にメツセージパ
ケットがないことを示す信号が、回線605を介して各行のセルに印加される。
これらの信号は1回線626および628を介して配列中に伝搬される。順方向
に送られるメツセージパケットは、回線557を介してORゲート配列556に
供給される。逆方向に送られるメツセージパケットは1回Ii!608を介して
該配列のセルに供給され、さらに16本の回線559を介してプロセッサ112
へと供給される。
セルの配列は、二次元の受理水(grant−tree)構造を形成する。この
木構造は、プロセッサから送られた回線553上の信号ならびにメツセージパケ
ットバッファメモリから送られた回線605上の信号とに基づき。
プロセッサ112から送られるメツセージパケットを受信するためのデータ経路
に空きがあるかどうかを決定する。空きがある場合、当該プロセッサは、対応す
る受理回線558を介してその旨通知を受ける。適当なセルが条件付けされると
、該プロセッサからメツセージパケットが受信され、空いているデータ経路に入
力される。
第8図に2個のセル612,613の詳細を示す、これらのセルは、たとえば第
7図の配列610の左上に位置するセルである0図に示されるように、セル61
2は、5個の論理ゲート641〜645.および否定回路647からなる配列を
有して構成されている。セル613は、5個の論理ゲート651〜655、およ
び否定回路657からなる同様な配列を有している。この回路は、プロセッサか
ら送られたメツセージパケットを、最も優先順位が高くて利用可能なデータ経路
に挿入し、かつ他のデータ経路への該パケットの挿入を防ぐように接続されてい
る。
データ経路がこのように占有された場合、当該行の回線626.628上にある
信号を変更して、該データ経路の占有を示す必要がある。このように、プロセッ
サは。
優先順位に基づいてデータ経路にアクセスすることができる。この場合、左端の
列に対応するプロセッサの優先順位が最も高く、列が右側に進むにつれて、対応
するプロセッサの優先順位が低くなる。
以下余白
これらの機能は、セル612の論理ゲートをひとつのパターンで接続し、セル6
13の論理ゲートを異なるパターンで接続して実現する。また論理回路は、要求
回線とデータ経路空き回線にある信号が、セル612とセル613とに対してそ
れぞれ異なる方式で処理されるように設計されている。より詳細には、各セル6
12は。
データ経路空き回線605または628にある否定回路を含んでいる0図中では
該回線上の吹き出し部、NANDゲート645.および否定入力を有するAND
ゲート641として示されている。逆に言えば、各セル613は、要求回線62
4上の否定回路、否定入力を有するANDゲて要求回線553または622で受
信され、さらに高信号が回線605または628で受信されると、ゲート643
からの出力信号は高状態となる。これによりゲート642が使用可能となる。こ
のゲートには、当該列に対応するメツセージパケットが、回線555を介して供
給される。
この結果、メツセージパケットは、ゲート642から回線557を経てORゲー
ト配列556へと転送される。このORゲート配列は、配列610の同一行から
出ている1本おきの回線557からの入力を受ける0回線553(または662
)および605(または628)に入力された高信号は、ゲート641から出て
いる回線626上にも高信号を生成する。この信号は、当該行に対応するデータ
経路が現在占有されていることを示す、さらにこの信号は。
配列の同一行の残りの列に伝搬する。このため、優先順位の低い列のいずれかに
おいては、セル613への要求回線626の入力の極性にかかわらず、回線62
6に低極性が現れると、ゲート653が使用禁止となり、ゲート651からの信
号が強制的に高状態とされる。また、優先順位の低い列のいずれかにおいては、
セル612への要求回線553または622の入力の極性にかかわらず、セル6
12に至る回、i!628に低極性が現れると、ゲート643が使用禁止となり
、ゲート641からの出力信号が強制的に低状態とされる。ゲート653が使用
禁止になると、回1&1626上のゲート652も同様に使用禁止となるため、
メツセージパケットはセル613によっては受は付けられない、ゲート643が
使用禁止になると、ゲート642も同様に使用禁止となるため、メツセージパケ
ットはセル612によって受は付けられない。
また1回線553(または662)および605(または628)のセル612
に入力された高信号は、ゲート645の出力に高信号を生成し1回線624に低
信号を生成する0回線624の低信号は、残りのデータ経路にメツセージパケッ
トを受信させる要求がなされていないことを示している。またこの信号は、同一
列の残りの行へと伝搬する。このように、優先順位の低い行のいずれかにおいて
は、セル613に至るデータ経路空き回wA605の極性にかかわらず、該セル
に至る回線624に低極性が現れると、/7’−)−653が使用禁止となり、
ゲート655からの出力信号が強制的に低状態とされる。また、優先順位の低い
行のいずれかにおいては、セル612に至るデータ経路空き回線605(または
628)の極性にかかわらず、該セルにいたる回NIA622に低極性が現れる
と、ゲート643が使用禁止となり、ゲート645からの出力信号が強制的に高
状態とされる。さらに、ゲート653または643を使用禁止にすると、メツセ
ージパケットはセル613または612によってそれぞれ受信されない、最後に
、回線622および624の各列を伝搬する信号は、回線558に出力され、受
理信号としてプロセッサ112へと戻される。この受理信号は、要求が受理され
ると一方の極性をとり、要求が拒絶されると他方の極性をとる。これにより、プ
ロセッサが注入器にメツセージパケットを送信できるかどうかが、該プロセッサ
に通知される。
しかしながら、送信要求がセル612に送られて、該セルに対応するデータ経路
に空きがないために拒絶されると、ゲート645の出力は低状態となる。これに
より、最も近い下位のセル613のゲート653が使用可能となる。ここで、該
セルに対応するデータ経路が利用可能であれば、否定回路657に印加される信
号は高信号となり、ゲート653の出力は高状態となる。これにより、ゲート6
52が使用可能となってメツセージパケットが受信される。この場合、ゲート6
51の出力は、データ経路が利用不可能となったことを示し、ゲート655の出
力は、要求が受理されて、同一列の下位セルがいずれのメツセージパケットも受
信しないことを示す、セル613に対応するデータ経路が利用不可能であれば、
ゲート655の出力は高状態であり、最も近い下位のセル612のゲート643
が使用可能となる。
送信要求が回線622によって配列内の任意の列に供給されない場合、当該列の
任意の行において回線605上へ入力されたデータ経路空き信号は1次の列の同
一行へと次々に送られてゆく、この転送は、配列内のいずれかの列で送信要求が
検出されるまで継続する。
ゲート643および653でも1回線608が接続されたゲート644および6
54の使用の可能・禁止を制御する。このため、ラッチ552および586から
の信号を使用して。
逆方向に送られるメツセージパケットを受信し、ゲート632およびデータバス
559の回線のうちいずれか1本を介して、該パケットをプロセッサ112へと
供給する。
順方向に送られるメツセージパケットは、データバス600を介して回線割当て
器560へと供給される。この回線割当て器は、たとえば同一の論理セル562
からなる7×12配列を有する。この配列の各行は、7個のデータ経路をそれぞ
れ介してメツセージパケットを処理する。またこの配列の各列は、通信ネットワ
ークの12次元のうちいずれかの次元で、立方体配線132を介して最近接集積
回路と通信を行なう、第9図にこれら論理セルの第一列、第二列、および最後列
を示す。
データバス600の7本のデータバスは、回線割当て器560のセルの第一列に
おいて、7個のセル567への各入力として配設されている。これらのセルは、
第9図の左側に示されている。またメツセージパケットは。
回線660上の各セルにも入力できる。これらの回線は、各セルに対応する立方
体配線に接続されている。当該セルの他のいかなる信号があるかにより、セルに
受信された順方向メツセージパケットは、次の三種類の回線のいずれかを介して
該セルの外部へと転送される。
第一の回線は、回4!663であり、これは、当該セルの存在する列に対応した
立方体配線に接続されている。
第二の回線は、折回線664であり、これは配列内で行が同一であって列が1個
右隣であるセルに対して入力を供給する。第三の回線は1列回lX666であり
、これは同一列の最も近い上位のセルに対して入力を供給する。以下で明らかに
なるように、最も近い上位のセルに転送されたメツセージパケットは、実際には
、同一行の右側の列にあるセルに供給されている。
逆方向に送られるメツセージパケットは、配列内を逆方向に流れる。バス602
の7個のデータ経路は、配列の最後列にある7個のセルに対し、それぞれ入力と
して配設されている。これらのセルは、第9図の右側に示されている。また、メ
ツセージパケットは1回線660上の各セルに入力できる。この回線は、各セル
に対応した立方体配線に接続されている。セル内にある信号の種類により、次の
二種類の回線のうちいずれかを介して該セルの外部へと転送される。第一の回線
は。
回線662であり、これは当該セルの存在する列に対応した立方体配線に接続さ
れている。第二の回線は、回線668であり、これは次の2個のセルへと入力を
供給する。そのうち一方のセルは、配列内で行が同一であって列が1個左隣であ
るセルである。他方のセルは。
前記セルに最も近い下位セルである。
制御信号は1回線672,674,676.678,680を介して各セルへと
印加される0回線672上の優先順位信号によって、データ経路上の信号が立方
体をアクセスする際の優先順が決定される。より詳細には、セル内の回路は回線
672上の信号を使用して以下の二種類の動作を行なう、第一に、当該次元に宛
てられている列にある最も優先順位の高いメツセージパケットに対して。
立方体配線132へのアクセスを許容する。第二に、当該列の下位セルにあるメ
ツセージパケットを、立方体配線へと転送することを禁止する。セルへの入力時
点で回線672上に高信号が存在すると、該セルは、メツセージパケットを立方
体配線132へと転送することができる。低信号の場合は、かかる転送が禁止さ
れる。
このため、任意の列において最上位のセルに印加された低信号は、実質的にネッ
トワークから当該立方体配線を除去することになる。このため、回線672に印
加される信号を制御すれば、ネットワークの規模を変更することができる。さら
に、相互接続ネットワーク内で特定の配線が断線した場合、該当する回線672
に低信号でバイアスをかけるだけでこの配線を除去することができる。
回線674上の全占有信号は、各列の各セルに対して。
当該列のすべての上位セルにメツセージパケットが存在するかどうかを通知する
。いずれかの上位セルが空いている場合、下位セルにあるメツセージパケットは
。
セル1個分だけ列内で上位に進められる0回線676は。
メツセージパケットの「すてばちルーティング」の起点となる行を特定すること
により、各列のセル1個が立方体配線を介してメツセージパケット1個をいつで
も受信できるように保証する6通常、この行は配列の最下位の行であるが、ソフ
トウェアによる制御で回線676を介してこの行を変更することができる6回線
678゜680上の各セルにタイミング信号が印加される。より詳細には、セル
の各列に対応する回線678上の信号がは、ラッチ692.694の動作を制御
する。この結果、並列式コンピュータ内のすべての回線割当て器のタイミングが
適切に同期さ九て、全回線割当て器の各第一列が各回線割当て器内の各メツセー
ジパケットの第一アドレスビットを同時に処理し、ついで第二列が各メツセージ
パケットの第ニアドレスビットを同時に処理し、以下同様となる。
第10図にセル652の詳細を示す、各セルは、第一メツセージラッチ692、
第二メツセージラッチ694、第一ゲート696、第ニゲ−トロ98.4個のマ
ルチプレクサ702、704.706.708.決定回路710、および制御ラ
ッチ712.714を有して構成されている。以下に詳しく説明するように、セ
ルの任意の列でルーティングの決定がなされると、当該列の各ラッチ694は、
メツセージパケットの先端にある一sg−pビットを格納する。これにより、該
セルを介してルーティングされるメツセージパケットの存在または不在が示され
る。各ラッチ692は、セルの当該行に接続された立方体配線132の次元に対
応するアドレスビットを格納する。ラッチ692゜694に格納されたデータは
、回線693.695をそれぞれ介して決定回路710へと供給される。制御信
号672゜674.676もまた入力としてこの決定回路へと印加される0回路
710の出力はラッチ712.714へと印加されて、セルが受信したメツセー
ジパケットのルーティング経路を決定する。ラッチ712の出力に高信号が現れ
ると(出力端子の吹出し部で示される反転の前)、ゲート696ならびに回I!
666への信号の流れが使用禁止となり、ゲート698が使用可能となる。ゲー
ト698の出力は、立方体配線132に接続されている。逆に言えば、低信号が
現れると、ゲート696が使用可能となり、ゲート698が使用禁止となる。こ
のように、ラッチ712は、立方体配線がメツセージパケットを受信するかどう
かを制御する。各ラッチ712の動作は、当該列の回[672上の優先順位信号
と、セルの該列に接続された立方体配線の次元に対応するアドレスビットの存在
とによって制御される。
ラッチフ14の出力は、セル内にあるマルチプレクサ708を制御する。このセ
ルは、自身のゲート696の出力で供給されるメツセージパケットを選択するか
、もしくは、同一列上で最も近い下位セルのゲート696の出力で供給されるメ
ツセージパケットを選択する。こうして選択されたメツセージパケットは1行が
同一で列が1本右隣であるセルへの入力として、行回線664に供給される。こ
のように、ラッチ714は、セルの列内でメツセージパケットを上方向に圧縮す
るかどうかを決定する。各ラッチ714の動作は、三種類の要因、すなわち回線
674上の全占有信号、ラッチ694のmsg−pビット、およびセルがメツセ
ージパケットに対して立方体配線へのアクセスを許容したかどうかによって制御
される。
同様にして、3個のラッチがメツセージパケットの逆方向の流れを制御する。す
なわち、ラッチ714からの出力信号は、マルチプレクサ702が、同一行の右
隣の列にあるセルからの入力を回g 66g上で受取るか、もしくは1行上にあ
るセルからの入力を回線668上で受取ることを決定する。またラッチ712か
らの出力信号は、マルチプレクサ704が、マルチプレクサ702からの入力を
受取るか、もしくは立方体配!132からの入力を受取ることを決定する。
第11図に決定回路710の詳細を示す1図示されているように、この決定回路
は、ANDゲート721、NORゲート722,723、ORゲート724.オ
ヨびNANDゲート725を有して構成されている。また、ラッチ712.71
4に至る入力回線の否定回路716,717も示されている。決定回路710の
機能は、メツセージパケットをセルから立方体配線132、行目@ 664およ
び列回線666へと供給する際に該供給を制御すること、ならびに制御信号を回
線672および674へと印加することである1回線672への制御信号は、当
該立方体配線が使用中であるかどうかを示し、回線674への制御信号は、空き
データ経路があるかどうかを示す。
空きデータ経路は、セルを介して1行回線664上で次の三通りの場合に利用可
能となる。第一に、回[FJ当で器の上位行のうちのひとつに空きデータ経路が
存在する場合である。この場合1回線674上に低信号が現れる。第二に、当該
セルを通る行目線が空いている場合である。この場合、msg−pビットにゼロ
が設定される。第三に、セル内のメツセージパケットが立方体配線へと送り出さ
れる場合である。これらの条件はそれぞれ、NANDゲート725に至る入力回
線上に低信号が現れることによって表現される。これらの条件が満たされると1
次の下位セルに至る回11674上に低信号が現れて、空きデータ経路が存在す
ることが示される。同一の信号が、ラッチ714の入力として否定回路717に
印加される。この信号によりマルチプレクサ708は次の下位セルからメツセー
ジパケットを受取り、行目線664へと該パケットを供給する。NANDゲート
725への入力が高状態であれば1回[674上のゲート725の出力は高信号
となり、すべての上位データ経路が占有されていることが示される。マルチプレ
クサ708は、ラッチ692.694からメツセージパケットを受取って行目線
664へと供給する。
メツセージパケットは、次の二通りの場合に立方体配線132へとルーティング
によって送出される。第一の場合は、メツセージパケットが当該立方体配線に宛
てられており、かつ該配線に宛てられているメツセージパケットのなかでは該パ
ケットが最も高い優先順位を有する場合である。これは入力回線672上に高信
号が現れることによって示される。第二の場合は、すべてのデータ経路が占有さ
れており(回線674上に高信号が現れる)1回@ 676上の高信号によって
ずてばちルーティング用にセルが選択される場合である。
回線674および676では、ANDゲート721によって高信号の有無が検査
される。このゲートの出力、ならびに回線672上の優先順位信号とラッチ69
2からのアドレスビットが、NORゲート722に供給される。セルに対応する
立方体配線にメツセージパケットが宛てられている場合は、ラッチ692からの
信号は高状態となる。これらのいずれの場合にも、NORゲート722の出力は
低状態となる。この出力は1回線672上の優先順位信号とともに、NORゲー
ト723およびORゲート724へと供給される0列内で優先順位の高い任意の
セルに対して、立方体配線132へのアクセスが許されない場合、ゲート723
および724に印加される優先順位信号は低状態となる。このように、ゲート7
23の出力は高状態となり、ゲート724の出力は低状態となる。
ゲート723からの高出力により、ゲート698は、回線662を介して立方体
配lI&132へとメツセージパケットのルーティングを行なう、ゲート724
からの低出力によってゲート725からの回線674が低状態に置かれることに
より、空きデータ経路があることが示される。
NORゲート722からの出力は、回wA672を介して同一列内の優先順位の
低いセルにも供給される。ゲート721またはラッチ692からの高信号、もし
くは優先順位信号は、当該回線に低状態の出力を生成する。これは立方体配線が
利用不可能であることを示している。
msg−pビットと適当な時限アドレスビットとを、任意のセルのラッチ694
および692に設定するためには、各メツセージパケットのアドレスビットを、
回線割当て器のセルを介して円形パターンでシフトする必要がある。これは、各
セル内のラッチ692.694をソフトウェアで制御することにより達成される
。第12図に、12次元の回線割当て器を介してメツセージパケットを送る場合
のシフト動作のシーケンスを示す、第12A図と第12B図では、2X12個の
ボックスによってラッチ692および694の内容が示されている。これらのラ
ッチは、メツセージパケットが伝搬される対象となる回線割当て器内において、
セルからなる12列の各々につき存在する。セルからなる第一列から最後列まで
ルーティングが行なわれるため、第12A図と第12B図に示されたセルは、1
個の回線割当て器の同一行内にすべであるわけではないことに注目する必要があ
る。実際には、メツセージパケットが1個以上の立方体配線を介してルーティン
グされるため、これらのセルは、いくつかの異なる回線割当て器の複数の異なる
行内に存在する可能性が高い。
メツセージパケット内のほとんどのビットは1回線割当て器のセルのラッチ69
2,694を介して伝搬する。
このためこれらのビットは、12個のセルの各々において、最初にラッチ692
に入り、ついでラッチ694へと入る。このように、第12A図と第12B図に
示されたこれらのラッチでは、 msg−pビット、データビットxO−dn、
およびパリティビットparが、ゼロ次元セルのラッチ692の入口点から、第
11次元セルのラッチ694の出口点まで、のこぎり波経路を通過する。しかし
ながら、メツセージパケットのアドレスビットは異なる経路を通過する。より詳
細には、各次元のアドレスビットは、当該次元に対応するセルによって以下の場
合に検査される。すなわち、アドレスビットが当該セルのラッチ692にあり、
かつmsg−pビットが該セルのラッチ694にある場合である。
アドレスビットをこのように位置決めするため、これらのアドレスビットを異な
るパターンでルーティングする。第12A図のサイクル1の場合のように、第一
アドレスビットaOは、ゼロ次元セルのラッチ692に設定され、ここでゼロ次
元の立方体配線を介したルーティングについて検査される。その後、アドレスビ
ットaOは、サイクル2のラッチ694へと移動され、サイクル14に達するま
でこのラッチで保留される。アドレスビットalは、サイクル2のゼロ次元セル
のラッチ692へと移動され、ついでサイクル3の第一次元セルのラッチ692
へと移動される。このラッチで、アドレスビットa1は、−次元の立方体配線を
介したメツセージパケットのルーティングについて検査される。
ついでアドレスビットalは、サイクル4で一次元セルのラッチ694へと移動
され、サイクル15に達するまでこのラッチで保留される。他のアドレスビット
も。
同様に各セルのラッチ694へと移動され、ルーティングについて検査されたの
ち、それぞれのラッチで12サイクル分保留される。
最後にアドレスビットが回線割当て器に入ると、ラッチ694に格納されている
アドレスビットが1回に1個ずつ取り出され、次の次元のセルのラッチ692へ
と移動される。このラッチを出ると、アドレスビットは残りのすべてのセルのラ
ッチ692のみを通過する。この動作はすべてのセルからアドレスビットが離れ
るまで継続する。この装置により、メツセージパケットのビットは回線割当て器
に入力された順序と同一の順序で元通りに配列されて、メツセージパケットが再
生さ第13A図と第13B図に1回線割当て器を介したメツセージパケットのル
ーティングの例を示す、説明の便宜のため、3個のデータ経路と4個の列のみを
有する回線割当て器を図示した。5個のメツセージパケットA、B、C,D、E
は、次の表mに示すようなアドレスビットを有している。
表■
m ao al a2 a3
Al 10 0 0
Bl 10 1 0
C10011
DI 00 1−
100OI
参照の便宜のため、これらのビットの値は第13A図と第13B図ではかっこに
入れて示している。
サイクル1において、メツセージパケットA、B。
Cが回線割当て器に挿入される。サイクル2では、メツセージパケットAがゼロ
次元の立方体配線へと送出される。これは、該パケットがゼロ次元に宛てられて
いて最も高い優先順位を有しているためである。メツセージパケットB、Cはデ
ータ経路上で上方向に繰上げられる。メツセージパケットDは、ゼロ次元の立方
体配線で受取られたのち、最も低い優先順位のデータ経路に送り出される0回線
割当て器内に残っているメツセージパケットは、いずれも−次元でのルーティン
グを目的として宛先を指定されていない、しかしながら、サイクル4では、これ
らのメツセージパケットのうち、いずれかについてルーティングが行なわれなけ
ればならない、このため、最も優先順位の低いデータ経路にあるメツセージパケ
ット(パケットD)のルーティングが行なわれる。パケットEは、−次元の立方
体配線上で受信されたのち、最も優先順位の低いデータ経路に送り出される。
たとえば二次元の立方体配線を使用禁止にすると、サイクル6でのルーティング
は行なわれない、三次元に対して宛てられた最も優先順位の高°いメツセージパ
ケットはメツセージパケットCであるため、サイクル8の進行中にこのパケット
が三次元の立方体配線へと送り出される。パケットEはデータ経路1本分だけ繰
上げられ、パケットFは、受信されると最も優先順位の低いデータ経路へと送り
出される。
第5図に示すように、メツセージパケットは次に組合せ器565とアドレス検査
器570とに供給される。アドレス検査器は、各データ経路600上のメツセー
ジパケットを検査して、これらのパケットが各々の宛先に到着したかどかを確認
する。特定の次元に宛てられたメツセージパケットのアドレスビットは、該次元
の立方体配線上にメツセージパケットが送り出された時点で反転されているため
、宛先の集積回路ではアドレスビットはすべてゼロでなければならない、したが
って、アドレス検査器は、各アドレスビットにゼロがあるかどうかだけを検査す
る。ゼロ以外のビットが検出された場合、メツセージパケットはその宛先に到着
していない、この場合メツセージパケットは、回wA567を介してバッファメ
モリへと転送される。メツセージパケットは1次のルーティングサイクルが開始
されるまでこのバッファメモリに格納される。すべてのビットがゼロである場合
、アドレス検査器は、メモリラッチのビット位置13−16 (表■の例)にプ
ロセッサアドレスビットを格納する。また、アドレス検査器は、メツセージパケ
ットの指定するプロセッサに該メツセージパケットを送るための命令を、回線5
72上のエジェクタに供給する。さらに、アドレス検査器は、7回線データバス
761を介して、各メツセージパケットのmsg−pビットを組合せ器565に
供給する。
第14図に示された組合せ器565は、二種類のセルフ30.790からなる配
列を有している。セルフ30は、隣接するデータバス600または602上のメ
ツセージパケットを検査して、これらのメツセージパケットが同一の宛先のプロ
セッサに対して送られたものかどうかを確認する。
これらのメツセージパケットの宛先が同一であれば、セルフ90が起動され、予
め決められた動作に従ってメツセージパケットの組合せを行なう、たとえばこの
動作としては1次の四種類のうちのいずれかを選択する。
すなわち、最大化(プロセッサ宛ての最大2進数を選択する)、加算(プロセッ
サ宛てのメツセージを加算する)、論理和(プロセッサ宛てのメツセージの論理
和を計算する)、および重ね書き(最後に供給されたメツセージを選択する)の
うちのいずれかである。
第15図にセルフ30の詳細の例を示す0図に示されるように、セルフ30ハ、
排他的ORゲート732、NANDゲート736、ANDゲート740、ORゲ
ート744、ラッチ748.752、N A N Dゲート756,760,7
64、否定回路768、ANDゲート772.776、およびマルチプレクサ7
80を有して構成されている。ラッチ7411752は。
回線745、ORゲート744および回線746を芥して、それぞれのラッチに
“1nビツトをロードすることによて初期化される。ラッチ752に“1″ビツ
トを設定すると、ANDゲート740が使用可能となる。排他的ORゲート73
2およびNANDゲート736は、2個の隣接するデータ経路600上のメツセ
ージパケットのアドレスを比較するように機能する。これらのアドレスは、入力
回、11733.600を介して排他的ORゲートへと供給される。タイミング
信号が回線733を介してNANDゲート736に供給されることにより、メツ
セージパケットのアドレスの各ピット位置に対して、回線735上で排他的OR
ゲート732の出力がサンプリングされる。
このタイミング信号は、第14図に示したセルの列に対する演算のシーケンスを
決定する。
2個のアドレス内のビットが同一である間は、排他的ORゲート732の出力は
低状態であり、NANDゲート736の出力は高状態であり、かつラッチ748
.752に印加された信号ならびに該ラッチの出力に現れた信号は高状態である
。アドレス内のビットの組がいずれも異なる場合、排他的ORゲートの出力は高
状態となり、ラッチ752の出力は低状態となる。前者の出力が低状態になると
、ANDゲート740は使用禁止となり。
ラッチの出力はリセットされるまで低状態のままとなる。
ラッチ752の出力が高状態であり、アドレス検査器570から出ている回線7
61上のmsg−pビットの値が高状態であり、かつNANDゲート760に至
る受理回線762上の信号が高状態であれば、NANDゲート764が使用可能
となる。これにより、回線600上の信号は、優先順位の低いデータ経路からセ
ルフ90へと回@ 765を介して転送される。これらの信号はまた、ANDゲ
ート772から出ている受理口@773上に低信号を生成し、ANDゲート77
6を使用可能にすることにより1回線761上の+msg−p信号を組合せ器の
同一行内の次のセルフ30へと転送する。
逆方向のデータの流れに関しては、否定回路768の出力に高信号が現れると、
マルチプレクサ780が、データ経路602から出ている回線781上の入力と
接続される。このデータ経路602は、当該セルに対応した逆方向データ経路6
02より優先順位が1段階低い、この結果5両データ経路上に同一の信号が現れ
る。実際には。
優先順位の高いデータ経路上の信号が複製されることになる。
セルフ90は、対応するデータ経路600からメツセージパケットを受信する。
2個のメツセージパケットが同一のアドレスを有する場合、セルフ90は、自身
より下位にある列内のセルフ30のうちのいずれかよりメツセージパケットを受
信する。1個のメツセージパケットのみがセルフ90に供給されると、このメツ
セージパケットは、同一のデータ経路600上にあって1本右隣の列にあるセル
フ30へとマルチプレクサ792によって転送される。2個のメツセージパケッ
トがセルフ90によって受信されると、これらのパケットは、ルーティングによ
って選択される機能に従って組合せられる。このルーティングはマルチプレクサ
794によって行なわれ、セルフ90内の回路のうち、当該機能の実行に適した
回路にメツセージパケットを転送する動作である。たとえば、論理和演算が選択
されると、2個のメッセージパケットはORゲート796へと送られ、加算演算
が選択されると、これらのパケットは排他的ORゲート797へと送られる。ま
た、メツセージパケットを全加算器に供給してもよい、当該技術で知られている
他の回路を使用して、最大化機能や重ね書き機能(798゜799) 、および
他の有益な機能を実施することもできる。
これらの回路の出力は、セルフ90と同一のデータ経路600上にあって1本右
隣の列にあるセルフ30へと同様に供給される。
組合せ器565のセルフ30および790は、同一のプロセッサ112に宛てら
れたすべてのメツセージパケットの識別1組合せを行ない、またデータ経路60
0上でこの経路より優先順位の高い経路に対して上方向にパケットの圧縮を行な
う。
次にメツセージパケットはエジェクタ575へと供給される。エジェクタ575
は、7X16クロスバースイツチである。このスイッチは、いずれかのデータ経
路600上にあるメツセージパケットを、いずれかのプロセッサ112に対応す
る出力回線へと供給する。またエジェクタは、プロセッサ112から回線142
を介して送られた逆方向メツセージパケットを受信して、これらのパケットをデ
ータ経路602のいずれかへと送り出すことができる。
第16図に示されるように、エジェクタは、たとえば7個の1対16マルチブレ
クサ802と16個のORゲート804として実施できる。各マルチプレクサは
、データ経路600のいずれかより入力を受け、16個の出力をそれぞれORゲ
ート804に供給する。集積回路上のプロセッサ112のいずれかに宛てられた
メツセージパケットが受信されたことを示す信号が、アドレス検査器570から
回線572を介して送られると、マルチプレクサはこの信号によって使用可能に
される。任意のマルチプレクサから出ている特定の出力回線が1表■の例で示さ
れたビット位置13−16のプロセッサアドレスビットによって選択される。こ
れらのビットは1回線572を介してアドレス検査器570からマルチプレクサ
の制御入力へと供給される。
エジェクタ575はさらに、7個の16対lマルチプレクサを有している。それ
ぞれのマルチプレクサは16個の入力を有する。すなわち16個のプロセッサ1
12から出ている回線142の各々より1点ずつの入力である。
また各マルチプレクサは、データバス602の7回線のいずれかに対して1点の
出力を有する。マルチプレクサに至る特定の入力回線が、メツセージパケットの
プロセッサアドレスビットによって選択される。これらのビットは、回線805
を介してマルチプレクサの制御入力に供給されている。
以上の説明で明ら、かなように、ラッチを使用して。
メツセージパケットを注入器2回線割当て器および組合せ器の間で切換えている
。これらのラッチの状態は。
制御回路150によっていつでも読取ることができる。
また特にこの制御回路は、ルータのすべてのサイクルにおけるラッチの状態を記
録できる。ラッチの状態がメツセージパケットの順方向のルーティング経路を決
定しているため、この情報を、ラッチから得た順序と逆の順序でラッチに戻すこ
とにより、メツセージパケットの逆方向のルーティング経路を決定できる。すな
わち、パケットの順方向のルーティングのために最後に使用した情報が、該パケ
ットの逆方向のルーティングのために最初に使用する情報となる。
例式コンピュータに同報通信機能を実現することができる。複数のメツセージパ
ケットを、共通の宛先に向けて順方向にルーティングすることが可能である。こ
れらのパケットは組合せ器によって単一のパケットに組替えられ、このパケット
が最終的に宛先プロセッサに供給される。そののち、宛先プロセッサからパケッ
ト1個がエジェクタ内のメツセージ経路へと挿入されて、逆方向へと送られる。
このパケットは、組合せ器に達すると複製される。このときセルフ30内のラッ
チは、順方向メツセージパケットが組合せられた条件を。
逆の順序で再現する4、複製されたメツセージパケットは、回線割当て器を経て
、順方向メツセージパケットの出発点である回路へと戻される。このとき回線割
当て器内のラッチ712.714は、立方体配線のルーティングシーケンスを逆
の順序で再現する。最後にメツセージパケットは、JJ方向メツセージパケット
の出発点であるプロセッサへと至る。このときラッチ552.586は。
順方向メツセージパケットがルーティングのために受理された・条件を逆の順序
で再現する。
以上で明らかなように、多数の実施例が本出願の精神と範囲を逸脱することなく
可能である。
FIG、8
FIG、11
FIG、 12A
FIG、13A
FIG、13B
FIG、’16
補正書の翻訳文提出書(特許法第184条の8)平成 1年10月27日
特許庁長官 吉 1)文 毅 殿
1、国際出願番号 PCT/US881013413、特許出願人
住 所 アメリカ合衆国 マサチューセッツ 02142ケインブリツジ
ファースト ストリート 245名 称 スインキング マシーンズ コー
ポレーション代表者 ハンドラー 、シェリル
国 籍 アメリカ合衆国
4、代理人
住 所 東京都千代田区丸の内−丁目5番1号5、補正書の提出年月日
1989年(平成1年)6月15日6、添付書類の目録
請求の範囲
1、複数のプロセッサと、Nが2以上であるN次元の各々においてプロセッサ間
の通信に使用される通信回線を有するN次元相互接続ネットワークとからなる並
列式コンピュータにおいて、第一のプロセッサから第二のプロセッサへと至る前
記通信回線上で宛先を指定されたメツセージパケットのルーティングを行なう装
置であって、前記ネットワーク内の複数のノードの各々において、
送信元プロセッサから宛先プロセッサへと送られるメツセージパケットを途中で
蓄積するメモリと、ルーティングの対象であるメツセージパケットを、前記送信
元プロセッサと前記宛先プロセッサとの間のノードに接続される通信回線へと選
択的に接続する手段であって、前記接続を前記メツセージパケット内のアドレス
情報に従って行なう手段と。
宛先プロセッサへのルーティングを指定されたメツセージパケットを、送信元プ
ロセッサにおいて待ち行列内へと選択的に挿入する手段と。
宛先プロセッサにある前記メモリから、前記宛先プロセッサに宛てられたメツセ
ージパケットを選択的に取除く手段と。
メツセージパケットを第一のプロセッサから第二のプロセッサへとルーティング
を行なう過程において。
前記選択的接続手段、前記選択的挿入手段、および前記選択的除去手段の連続し
た動作行程での動作状態を記録する手段と、
前記選択的接続手段、前記選択的挿入手段、および前記選択的除去手段の前記動
作状態を、メツセージパケットを第一のプロセッサから第二のプロセッサへとル
ーティングする場合と逆の順序で再生することにより、メツセージパケットを前
記第二プロセッサから前記第一プロセッサへと送る手段とを有することを特徴と
する装置。
2、請求項1記載の装置であって、同一のプロセッサに宛てられた複数のメツセ
ージパケットを組合せる手段を有する装置。
3、請求項2記載の装置であって。
メツセージパケットを第一のプロセッサから第二のプロセッサへとルーティング
する過程での連続した動作行程における組合せ手段の動作状態を記録する手段と
。
前記複数のメツセージパケット組合せる場合と逆の順序で組合せを行なう組合せ
器の動作状態を再生することにより、前記第二プロセッサから送られるメツセー
ジパケットを複製する手段とを有する装置。
4、請求項1記載の装置において、前記メモリが前記選択的接続手段、前記選択
的挿入手段、および前記選択的除去手段を経て流れる複数のチャネルを有してお
り、
前記選択的接続手段が、各チャネルとネットワークの各次元とに対して、前記メ
ツセージパケット内のアドレス情報を検査して、前記メツセージパケットを、宛
先であるネットワークの任意の次元に対応する通信回線へと挿入するための装置
を有していることにおいて構成されている装置。
5、M求項1記載の装置において、前記メモリが前記選択的接続手段、前記選択
的挿入手段、および前記選択的除去手段を経て流れる複数のチャネルを有してお
り。
前記選択的挿入手段が、少なくとも1個のチャネルと前記ノードにあるすべての
プロセッサとに対して。
メツセージパケットを1台のプロセッサから前記チャネルへと挿入する切換え手
段を有しており、10、請求項6記載の装置において、前記メモリが前記選択的
接続手段、前記選択的挿入手段、および前記選択的除去手段を経て流れる複数の
チャネルを有しており。
前記選択的挿入手段が、少なくとも1個のチャネルと前記ノードにあるすべての
プロセッサとに対して。
メツセージパケットを1台のプロセッサから前記チャネルへと挿入する切換え手
段を有しており。
前記選択的除去手段が、少なくとも1個のチャネルと前記ノードにあるすべての
プロセッサとに対して。
前記プロセッサに宛てられたメツセージパケットを前記チャネルから移動する手
段を有していることにおいて構成されている装置。
11、複数のプロセッサと、Nが2以上であるN次元の各々においてプロセッサ
間の通信に使用される通信回線を有するN次元相互接続ネットワークとからなる
並列式コンピュータにおいて、第一のプロセッサから第二のプロセッサとの間の
通信回線を介して、宛先を指定されたメツセージパケットのルーティングを行な
う方法であって。
前記ネットワーク内の複数のノードの各々において。
送信元プロセッサから宛先プロセッサへと送られるメツセージパケットを途中で
蓄積する段階と、前記送信元プロセッサと前記宛先プロセッサとの間にあるノー
ドに接続された通信回線に、メツセージパケットを選択的に接続する段階であっ
て、前記接続を前記メツセージパケット内のアドレス情報に従って行なう段階と
。
宛先プロセッサへのルーティングを指定されたメツセージパケットを、送信元プ
ロセッサにおいて待ち行列内へと選択的に挿入する段階と、
宛先プロセッサにある前記メモリから、前記宛先ブ取除く段階と、
国際調査報告
Claims (19)
- 1.複数のプロセッサと、Nが2以上であるN次元の各々においてプロセッサ間 の通信に使用される通信回線を有するN次元相互接続ネットワークとからなる並 列式コンピュータにおいて、第一のプロセッサから第二のプロセッサへと至る前 記通信回線上で宛先を指定されたメッセージパケットのルーティングを行なう装 置であって、前記ネットワーク内の複数のノードの各々において、 送信元プロセッサから宛先プロセッサへと送られるメッセージパケットを途中で 蓄積するメモリと、ルーティングの対象であるメッセージパケットを、前記送信 元プロセッサと前記宛先プロセッサとの間のノードに接続される通信回線へと選 択的に接続する手段であって、前記接続を前記メッセージパケット内のアドレス 情報に従って行なう手段と、 宛先プロセッサへのルーティングを指定されたメッセージパケットを、送信元プ ロセッサにおいて待ち行列内へと選択的に挿入する手段と、 宛先プロセッサにある前記メモリから、前記宛先プロセッサに宛てられたメッセ ージパケットを選択的に取除く手段と、 メッセージパケットを第一のプロセッサから第二のプロセッサへとルーティング を行なう過程において、前記選択的接続手段、前記選択的挿入手段、および前記 選択的除去手段の連続した動作行程での動作状態を記録する手段と、 前記選択的接続手段、前記選択的挿入手段、および前記選択的除去手段の前記動 作状態を、メッセージパケットを第一のプロセッサから第二のプロセッサへとル ーティングする場合と逆の順序で再生することにより、メッセージパケットを前 記第二プロセッサから前記第一プロセッサへと送る手段とを有することを特徴と する装置。
- 2.請求項1記載の装置であって、同一のプロセッサに宛てられた複数のメッセ ージパケットを組合せる手段を有する装置。
- 3.請求項2記載の装置であって、 メッセージパケットを第一のプロセッサから第二のプロセッサへとルーティング する過程での連続した動作行程における組合せ手段の動作状態を記録する手段と 、 前記複数のメッセージパケット組合せる場合と逆の順序で組合せを行なう組合せ 器の動作状態を再生することにより、前記第二プロセッサから送られるメッセー ジパケットを複製する手段とを有する装置。
- 4.請求項1記載の装置において、前記メモリが前記選択的接続手段、前記選択 的挿入手段、および前記選択的除去手段を経て流れる複数のチャネルを有してお り、 前記選択的接続手段が、各チャネルとネットワークの各次元とに対して、前記メ ッセージパケット内のアドレス情報を検査して、前記メッセージパケットを、宛 先であるネットワークの任意の次元に対応する通信回線へと挿入するための装置 を有していることにおいて構成されている装置。
- 5.請求項1記載の装置において、前記メモリが前記選択的接続手段、前記選択 的挿入手段、および前記選択的除去手段を経て流れる複数のチャネルを有してお り、 前記選択的挿入手段が、少なくとも1個のチャネルと前記ノードにあるすべての プロセッサとに対して、メッセージパケットを1台のプロセッサから前記チャネ ルへと挿入する切換え手段を有しており、前記選択的除去手段が、少なくとも1 個のチャネルと前記ノードにあるすべてのプロセッサとに対して、前記プロセッ サに宛てられたメッセージパケットを前記チャネルから移動する手段を有してい ることにおいて構成されている装置。
- 6.並列式コンピュータであって、 それぞれ少なくとも1台のプロセッサを有する複数の集積回路を有し、 N次元の各々においてプロセッサ間の通信に使用される通信回線を有する集積回 路を相互接続するN次元のネットワークであって、Nが2以上であるネットワー クを有し、 第一のプロセッサから第二のプロセッサへと前記通信回線を介して、宛先を指定 されたメッセージパケットのルーティングを行なう手段であって、前記ネットワ ーク内での複数の前記集積回路の各々について、送信元プロセッサから宛先プロ セッサへと送られるメッセージバケットを途中で蓄積するメモリと、メッセージ パケットを、前記送信元プロセッサと前記宛先プロセッサとの間の集積回路に接 続される通信回線へと選択的に接続する手段であって、前記接続を前記メッセー ジパケット内のアドレス情報に従って行なう手段と、 宛先プロセッサへのルーティングを指定されたメッセージパケットを、送信元プ ロセッサにおいて待ち行列内へと選択的に挿入する手段と、 宛先プロセッサにある前記メモリから、前記宛先プロセッサに宛てられたメッセ ージパケットを選択的に取除く手段と、 メッセージパケットを第一のプロセッサから第二のプロセッサへとルーティング を行なう過程において、前記選択的接続手段、前記選択的挿入手段、および前記 選択的除去手段の連続した動作行程での動作状態を記録する手段と、 前記選択的接続手段、前記選択的挿入手段、および前記選択的除去手段の前記動 作状態を、メッセージパケットを第一のプロセッサから第二のプロセッサへとル ーティングする場合と逆の順序で再生することにより、メッセージパケットを前 記第二プロセッサから前記第一プロセッサへと送る手段とからなるルーティング 手段とを有することを特徴とする並列式コンピュータ。
- 7.請求項6記載の装置であって、同一のプロセッサに宛てられた複数のメッセ ージバケットを組合せる手段を有する装置。
- 8.請求項6記載の装置であって、 メッセージバケットを第一のプロセッサから第二のプロセッサへとルーティング する過程での連続した動作行程における動作状態を記録する手段と、前記複数の メッセージバケットを組合せる場合と逆の順序で組合せを行なう組合せ器の動作 状態を再生することにより、前記第二プロセッサから送られるメッセージパケッ トを複製する手段とを有する装置。
- 9.請求項6記載の装置であって、 前記メモリが前記選択的接続手段、前記選択的挿入手段、および前記選択的除去 手段を経て流れる複数のチャネルを有しており、 前記選択的接続手段が、各チャネルとネットワークの各次元とに対して、前記メ ッセージパケット内のアドレス情報を検査して、前記メッセージバケットを、宛 先であるネットワークの任意の次元に対応する通信回線へと挿入するための装置 を有していることにおいて構成されている装置。
- 10.請求項6記載の装置において、前記メモリが前記選択的接続手段、前記選 択的挿入手段、および前記選択的除去手段を経て流れる複数のチャネルを有して おり、 前記選択的挿入手段が、少なくとも1個のチャネルと前記ノードにあるすべての プロセッサとに対して、メッセージパケットを1台のプロセッサから前記チャネ ルへと挿入する切換え手段を有しており、前記選択的除去手段が、少なくとも1 個のチャネルと前記ノードにあるすべてのプロセッサとに対して、前記プロセッ サに宛てられたメッセージパケットを前記チャネルから移動する手段を有してい ることにおいて構成されている装置。
- 11.複数のプロセッサと、Nが2以上であるN次元の各々においてプロセッサ 間の通信に使用される通信回線を有するN次元相互接続ネットワークとからなる 並列式コンピュータにおいて、第一のプロセッサから第二のプロセッサとの間の 通信回線を介して、宛先を指定されたメッセージパケットのルーティングを行な う方法であって、 前記ネットワーク内の複数のノードの各々において、送信元プロセッサから宛先 プロセッサへと送られるメッセージパケットを途中で蓄積する段階と、前記送信 元プロセッサと前記宛先プロセッサとの間にあるノードに接続された通信回線に 、メッセージパケットを選択的に接続する段階であって、前記接続を前記メッセ ージパケット内のアドレス情報に従って行なう段階と、 宛先プロセッサへのルーティングを指定されたメッセージパケットを、送信元プ ロセッサにおいて待ち行列内へと選択的に挿入する段階と、 宛先プロセッサにある前記メモリから、前記宛先プロセッサに宛てられたメッセ ージパケットを選択的に取除く段階と、 メッセージパケットを第一のプロセッサから第二のプロセッサへとルーティング を行なう過程において、前記選択的接続手段、前記選択的挿入手段.および前記 選択的除去手段の連続した動作行程での動作状態を記録する段階と、 前記選択的接続手段、前記選択的挿入手段、および前記選択的除去手段の前記動 作状態を、メッセージパケットを第一のプロセッサから第二のプロセッサへとル ーティングする場合と逆の順序で再生することにより、メッセージパケットを前 記第二プロセッサから前記第一プロセッサへと送る段階とからなる方法。
- 12.請求項11記載の方法であって、同一のプロセッサに宛てられた複数のメ ッセージパケットを組合せる段階を有する方法。
- 13.請求項12記載の方法であって、メッセージパケットを第一のプロセッサ から第二のプロセッサへとルーティングする過程での連続した動作行程における 組合せ手段の動作状態を記録する段階と、 前記複数のメッセージパケットを組合せる場合と逆の順序で組合せを行なう組合 せ器の動作状態を再生することにより、前記第二プロセッサから送られるメッセ ージバケットを複製する段階とからなる方法。
- 14.請求項11記載の方法であって、メッセージパケットが複数のチャネル内 に蓄積されており、選択的接続段階が、各チャネルとネットワークの各次元とに 対して、前記メッセージパケット内のアドレス情報を検査して、前記メッセージ パケットを、宛先であるネットワークの任意の次元に対応する通信回線へと挿入 することにより構成されている方法。
- 15.二次元以上のパターンで相互に接続されたノードからなるネットワークを 介して、メッセージパケットのルーティングを行なう方法であって、メッセージ パケット内のアドレス情報に従って前記パターンで第一のノードから第二のノー ドへとルーティングされる前記メッセージバケットを生成する段階であって、前 記アドレス情報は次元数と同一数の桁からなり、各桁が単一の次元に対応するア ドレス指定情報を提供することにより構成される段階と、任意のノードで受信さ れた前記メッセージパケットのアドレスの各桁を検査して、該桁に対応する次元 での宛先にメッセージバケットが到達したかどうかを決定する段階と、 検査された桁が、当該次元での宛先にメッセージパケットが到達していないこと を示しており、かつ同一次元で異なるノードへの接続が可能である場合に、前記 メッセージパケットを該ノードへとルーティングする段階と、 前記メッセージパケットのルーティングがなされない場合に、前記メッセージバ ケットのアドレスの他の桁を検査して、該桁に対応する次元においてメッセージ パケットがその宛先へ到達したかどうかを決定する段階と、 メッセージパケットを第一のノードから第二のノードへとルーティングする過程 での連続した動作行程におけるルーティング手段の動作状態を記録する段階と、 メッセージパケットを第一のノードから第二のノードへとルーティングする場合 と逆の順序で、ルーティング手段の動作状態を再生することにより、前記第二ノ ードから前記第一ノードへとメッセージパケットを送る段階とからなる方法。
- 16.二次元以上のパターンで相互に接続されたノードからなるネットワークを 介して、メッセージパケットのルーティングを行なう方法であって、複数のメッ セージパケットを生成する段階であって、各メッセージパケットが前記パターン で該パケットのアドレス情報に従ってそれぞれ異なる送信元ノードから宛先ノー ドへとルーティングされ、前記アドレス情報は次元数と同一数の桁からなり、各 市が単一の次元に対するアドレス指定情報を提供することにより構成される段階 と、 各ノードにおいて受信された前記メッセージパケットのアドレスの各桁を検査し て、該桁に対応する次元においてメッセージパケットがその宛先に到達したかど うかを決定する段階と、 検査された桁が、当該次元での宛先にメッセージパケットが到達していないこと を示しており、かつ同一次元で異なるノードへの接続が可能である場合に、前記 メッセージパケットを該ノードへとルーティングする段階と、 前記メッセージパケットのルーティングがなされない場合に、前記メッセージパ ケットのアドレスの他の桁を検査して、該桁に対応する次元においてメッセージ パケットがその宛先へ到達したかどうかを決定する段階と、 メッセージパケットを送信元ノードから宛先ノードへとルーティングする過程で の連続した動作行程におけるルーティング手段の動作状態を記録する段階と、メ ッセージバケットを送信元ノードから宛先ノードへとルーティングする場合と逆 の順序で、ルーティング手段の動作状態を再生することにより、前記宛先ノード から前記送信元ノードへとメッセージパケットを送る段階とからなる方法。
- 17.二次元以上のパターンで相互に接続されたノードからなるネットワークを 介して、メッセージパケットのルーティングを行なう方法であって、メッセージ パケットを生成する段階であって、該メッセージパケットが前記パターンで該パ ケットのアドレス情報に従って第一のノードから第二のノードへとルーティング され、前記アドレス情報は次元数と同一数の桁からなり、各桁が単一の次元に対 するアドレス指定情報を提供することにおいて構成される段階と、ルーティング サイクルの第一の周期において、前記メッセージバケットのアドレスの最初の桁 を検査する段階であって、前記メッセージパケットは前記桁に対応する第一のノ ードにあり、前記検査によって前記桁に対応する一次元の宛先にメッセージパケ ットが到着したかどうかを決定する段階と、 検査された桁が、当該次元での宛先にメッセージパケットが到達していないこと を示しており、かつ同一次元で異なるノードへの接続が可能である場合に、前記 メッセージバケットを該ノードへとルーティングする段階と、 同一のルーティングサイクルの第二の周期において、前記メッセージバケットの アドレスの第二の桁を検査する段階であって、前記メッセージパケットは前記桁 に対応するノードにあり、前記検査によって前記桁に対応する二次元の宛先にメ ッセージパケットが到着したかどうかを決定する段階と、 検査された桁が、当該次元での宛先にメッセージパケットが到達していないこと を示しており、かつ同一次元で異なるノードへの接続が可能である場合に、前記 メッセージパケットを該ノードへとルーティングする段階と、 同一のルーティングサイクルの追加周期において、アドレス情報の全桁が、各桁 に対応するノードにて検査されるまでメッセージパケットのルーティングを行な うことにより、1回のルーティングサイクルで、メッセージパケットを次元数と 同一数のノードを介して直列にルーティングする段階と、 メッセージパケットを第一のノードから第二のノードへとルーティングする過程 において、連続した動作行程でルーティング段階を実行する手段の動作状態を記 録する段階と、 メッセージバケットを第一のノードから第二のノードへとルーティングする場合 と逆の順序で、前記ルーティング段階を実行する手段の動作状態を再生すること により、前記第二ノードから前記第一ノードへとメッセージバケットを送る段階 とからなる方法。
- 18.二次元以上のパターンで相互に接続されたノードからなるネットワークを 介して、メッセージパケットのルーティングを行なう方法であって、メッセージ バケットを生成する段階であって、該メッセージパケットが前記パターンで該パ ケットのアドレス情報に従って第一のノードから第二のノードへとルーティング され、前記アドレス情報は次元数と同一数の桁からなり、各桁が単一の次元に対 するアドレス指定情報を提供することにおいて構成される段階と、ルーティング サイクルの連続する周期において、前記メッセージパケットのアドレスの連続す る桁を検査する段階であって、当該メッセージパケットは検査中の各桁に対応す るノードにあり、前記検査によってメッセージパケットが該桁に対応する次元で その宛先に到達したかどうかを決定する段階と、 検査された桁が、当該次元での宛先にメッセージパケットが到達していないこと を示しており、かつ該次元で異なるノードへの接続が可能である場合に、前記メ ッセージパケットを該ノードへとルーティングする段階と、 メッセージバケットがその宛先であるノードに到達するまでルーティングサイク ルを繰返す段階と、メッセージバケットを第一のノードから第二のノードへとル ーティングする過程において、連続した動作行程で前記メッセージパケットのル ーティングを行なう手段の動作状態を記録する手段と、 メッセージパケットを第一のノードから第二のノードへとルーティングする場合 と逆の順序でルーティング手段の動作状態を再生することにより、前記第二ノー ドから前記第一ノードへとメッセージパケットを送る段階とからなる方法。
- 19.二次元以上のパターンで相互に接続されたノードからなるネットワークを 介して、メッセージバケットのルーティングを行なう装置であって、メッセージ パケットを生成する手段であって、該メッセージバケットが前記パターンで該パ ケットのアドレス情報に従って第一のノードから第二のノードへとルーティング され、前記アドレス情報は次元数と同一数の桁からなり、各桁が単一の次元に対 するアドレス指定情報を提供することにおいて構成される手段と、ルーティング サイクルの連続する周期において機能する手段であって、前記メッセージパケッ トのアドレスの連続する桁を検査し、当該メッセージバケットは検査中の各桁に 対応するノードにあり、前記検査によってメッセージバケットが該桁に対応する 次元でその宛先に到達したかどうかを決定する手段であるとともに、検査された 桁が、当該次元での宛先にメッセージパケットが到達していないことを示してお り、かつ該次元で異なるノードへの接続が可能である場合に、前記メッセージパ ケットを該ノードへとルーティングする手段と、 メッセージパケットがその宛先であるノードに到達するまでルーティングサイク ルを繰返す手段と、メッセージパケットを第一のノードから第二のノードへとル ーティングする過程において、連続した動作行程での前記ルーティング手段の動 作状態を記録する手段と、 メッセージパケットを第一のノードから第二のノードへとルーティングする場合 と逆の順序でルーティング手段の動作状態を再生することにより、前記第二ノー ドから前記第一ノードへとメッセージパケットを送る段階とからなる方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US043,126 | 1987-04-27 | ||
US07/043,126 US4984235A (en) | 1987-04-27 | 1987-04-27 | Method and apparatus for routing message packets and recording the roofing sequence |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02503244A true JPH02503244A (ja) | 1990-10-04 |
Family
ID=21925634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63504371A Pending JPH02503244A (ja) | 1987-04-27 | 1988-04-26 | メッセージパケットのルーティング方法とその装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US4984235A (ja) |
EP (1) | EP0381671B1 (ja) |
JP (1) | JPH02503244A (ja) |
AT (1) | ATE127982T1 (ja) |
DE (1) | DE3854474T2 (ja) |
WO (1) | WO1988008652A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007528078A (ja) * | 2004-03-08 | 2007-10-04 | インテル コーポレイション | コヒーレンス・メッセージを合体する方法及びシステム |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5170482A (en) * | 1987-08-14 | 1992-12-08 | Regents Of The University Of Minnesota | Improved hypercube topology for multiprocessor computer systems |
US5282201A (en) * | 1987-12-22 | 1994-01-25 | Kendall Square Research Corporation | Dynamic packet routing network |
US5761413A (en) * | 1987-12-22 | 1998-06-02 | Sun Microsystems, Inc. | Fault containment system for multiprocessor with shared memory |
US5251308A (en) * | 1987-12-22 | 1993-10-05 | Kendall Square Research Corporation | Shared memory multiprocessor with data hiding and post-store |
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
US5822578A (en) * | 1987-12-22 | 1998-10-13 | Sun Microsystems, Inc. | System for inserting instructions into processor instruction stream in order to perform interrupt processing |
US5226039A (en) * | 1987-12-22 | 1993-07-06 | Kendall Square Research Corporation | Packet routing switch |
US5347450A (en) * | 1989-01-18 | 1994-09-13 | Intel Corporation | Message routing in a multiprocessor computer system |
US5594866A (en) * | 1989-01-18 | 1997-01-14 | Intel Corporation | Message routing in a multi-processor computer system with alternate edge strobe regeneration |
US5689647A (en) * | 1989-03-14 | 1997-11-18 | Sanyo Electric Co., Ltd. | Parallel computing system with processing element number setting mode and shortest route determination with matrix size information |
JP3072646B2 (ja) * | 1989-03-20 | 2000-07-31 | 富士通株式会社 | 並列計算機間通信制御方式 |
EP0419201B1 (en) * | 1989-09-18 | 1996-11-27 | Fujitsu Limited | Communication control system between parallel computers |
US5107489A (en) * | 1989-10-30 | 1992-04-21 | Brown Paul J | Switch and its protocol for making dynamic connections |
AU644141B2 (en) * | 1990-01-05 | 1993-12-02 | Maspar Computer Corporation | A method of controlling a router circuit |
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 |
US5153595A (en) * | 1990-03-26 | 1992-10-06 | Geophysical Survey Systems, Inc. | Range information from signal distortions |
US5187801A (en) * | 1990-04-11 | 1993-02-16 | Thinking Machines Corporation | Massively-parallel computer system for generating paths in a binomial lattice |
US5261105A (en) * | 1990-05-04 | 1993-11-09 | Thinking Machines Corporation | System for transferring blocks of data among diverse units having cycle identifier signals to identify different phase of data transfer operations |
US5247613A (en) * | 1990-05-08 | 1993-09-21 | Thinking Machines Corporation | Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in parallel |
US5367677A (en) * | 1990-05-11 | 1994-11-22 | Thinking Machines Corporation | System for iterated generation from an array of records of a posting file with row segments based on column entry value ranges |
CA2043505A1 (en) * | 1990-06-06 | 1991-12-07 | Steven K. Heller | Massively parallel processor including queue-based message delivery system |
DE59010586D1 (de) * | 1990-09-27 | 1997-01-09 | Siemens Nixdorf Inf Syst | Kommunikationssystem zum Übertragen von Nachrichten zwischen jeweils zwei Einheiten |
EP0477406B1 (de) * | 1990-09-27 | 1995-11-15 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Multiprozessorsystem mit gemeinsamem Speicher |
US5131054A (en) * | 1991-01-09 | 1992-07-14 | Thinking Machines Corporation | Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity |
AU652814B2 (en) * | 1991-02-01 | 1994-09-08 | Republic Telcom Systems Corporation | Packet switching communications system |
GB9112898D0 (en) * | 1991-06-14 | 1991-07-31 | Digital Equipment Int | Communication networks |
EP0530394B1 (en) * | 1991-09-03 | 1996-11-13 | Hewlett-Packard Company | Message-routing apparatus |
US5347272A (en) * | 1991-09-13 | 1994-09-13 | Fuji Xerox Co., Ltd. | System for determining communication routes in a network |
CA2078310A1 (en) * | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Digital processor with distributed memory system |
US5313647A (en) * | 1991-09-20 | 1994-05-17 | Kendall Square Research Corporation | Digital data processor with improved checkpointing and forking |
CA2078312A1 (en) | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Digital data processor with improved paging |
CA2078315A1 (en) * | 1991-09-20 | 1993-03-21 | Christopher L. Reeve | Parallel processing apparatus and method for utilizing tiling |
US5355492A (en) * | 1991-11-05 | 1994-10-11 | Thinking Machines Corporation | System for compiling parallel communications instructions including their embedded data transfer information |
US5515535A (en) * | 1991-11-05 | 1996-05-07 | Thinking Machines Corporation | System and method for parallel variable optimization |
US5442797A (en) * | 1991-12-04 | 1995-08-15 | Casavant; Thomas L. | Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging |
US5355494A (en) * | 1991-12-12 | 1994-10-11 | Thinking Machines Corporation | Compiler for performing incremental live variable analysis for data-parallel programs |
US5561801A (en) * | 1991-12-13 | 1996-10-01 | Thinking Machines Corporation | System and method for multilevel promotion |
US5278986A (en) * | 1991-12-13 | 1994-01-11 | Thinking Machines Corporation | System and method for compiling a source code supporting data parallel variables |
US5659778A (en) * | 1992-02-03 | 1997-08-19 | Tm Patents, L.P. | System and method of mapping an array to processing elements |
US5274818A (en) * | 1992-02-03 | 1993-12-28 | Thinking Machines Corporation | System and method for compiling a fine-grained array based source program onto a course-grained hardware |
US5551039A (en) * | 1992-02-03 | 1996-08-27 | Thinking Machines Corporation | Compiling a source code vector instruction by generating a subgrid loop for iteratively processing array elements by plural processing elements |
US5347654A (en) * | 1992-02-03 | 1994-09-13 | Thinking Machines Corporation | System and method for optimizing and generating computer-based code in a parallel processing environment |
US5561805A (en) * | 1992-10-22 | 1996-10-01 | International Business Machines Corporation | System for selectively packing together datablocks and efficiently routing independent of network topology in a parallel computer system in accordance with a selected numbering system |
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 |
US5450603A (en) * | 1992-12-18 | 1995-09-12 | Xerox Corporation | SIMD architecture with transfer register or value source circuitry connected to bus |
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 |
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 |
GB2295751A (en) * | 1994-11-30 | 1996-06-05 | Ibm | Data communication system using directory service providing routing information |
US5701416A (en) * | 1995-04-13 | 1997-12-23 | Cray Research, Inc. | Adaptive routing mechanism for torus interconnection network |
US5781787A (en) * | 1995-04-21 | 1998-07-14 | Lockheed Martin Corporation | Parallel program execution time with message consolidation |
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 |
US5822523A (en) | 1996-02-01 | 1998-10-13 | Mpath Interactive, Inc. | Server-group messaging system for interactive applications |
US5835925A (en) * | 1996-03-13 | 1998-11-10 | Cray Research, Inc. | Using external registers to extend memory reference capabilities of a microprocessor |
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 |
JPH09330304A (ja) * | 1996-06-05 | 1997-12-22 | Internatl Business Mach Corp <Ibm> | プロセッサ間の通信スケジュールを決定する方法 |
US6101181A (en) * | 1997-11-17 | 2000-08-08 | Cray Research Inc. | Virtual channel assignment in large torus systems |
US6230252B1 (en) | 1997-11-17 | 2001-05-08 | Silicon Graphics, Inc. | Hybrid hypercube/torus architecture |
US5970232A (en) * | 1997-11-17 | 1999-10-19 | Cray Research, Inc. | Router table lookup mechanism |
GB9809203D0 (en) * | 1998-04-29 | 1998-07-01 | Sgs Thomson Microelectronics | Packet distribution in a microcomputer |
US6674720B1 (en) | 1999-09-29 | 2004-01-06 | Silicon Graphics, Inc. | Age-based network arbitration system and method |
US7577816B2 (en) | 2003-08-18 | 2009-08-18 | Cray Inc. | Remote translation mechanism for a multinode system |
US7379424B1 (en) | 2003-08-18 | 2008-05-27 | Cray Inc. | Systems and methods for routing packets in multiprocessor computer systems |
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 |
US7334110B1 (en) | 2003-08-18 | 2008-02-19 | Cray Inc. | Decoupled scalar/vector computer architecture system and method |
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 |
US7437521B1 (en) | 2003-08-18 | 2008-10-14 | Cray Inc. | Multistream processing memory-and barrier-synchronization method and apparatus |
US7519771B1 (en) | 2003-08-18 | 2009-04-14 | Cray Inc. | System and method for processing memory instructions using a forced order queue |
US7543133B1 (en) | 2003-08-18 | 2009-06-02 | Cray Inc. | Latency tolerant distributed shared memory multiprocessor computer |
CA2623810A1 (en) * | 2007-03-02 | 2008-09-02 | Robert A. Hubbs | Consolidating messages |
JP5024493B1 (ja) * | 2012-03-01 | 2012-09-12 | 富士ゼロックス株式会社 | 集積回路及び電子機器 |
US9037898B2 (en) | 2012-12-18 | 2015-05-19 | International Business Machines Corporation | Communication channel failover in a high performance computing (HPC) network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60250459A (ja) * | 1984-05-25 | 1985-12-11 | Fujitsu Ltd | 同期制御方式 |
JPS61243554A (ja) * | 1985-04-19 | 1986-10-29 | ディジタル イクイップメント コーポレーション | 通信系 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US458400A (en) * | 1891-08-25 | Registering money-box | ||
US4399531A (en) * | 1980-09-29 | 1983-08-16 | Rockwell International Corporation | Distributed digital data communications network |
US4581735A (en) * | 1983-05-31 | 1986-04-08 | At&T Bell Laboratories | Local area network packet protocol for combined voice and data transmission |
US4598400A (en) * | 1983-05-31 | 1986-07-01 | Thinking Machines Corporation | Method and apparatus for routing message packets |
US4550402A (en) * | 1983-12-22 | 1985-10-29 | Ford Motor Company | Data communication system |
US4603235A (en) * | 1984-05-21 | 1986-07-29 | Gte Communication Systems Corporation | Dynamic event selection network |
US4630258A (en) * | 1984-10-18 | 1986-12-16 | Hughes Aircraft Company | Packet switched multiport memory NXM switch node and processing method |
-
1987
- 1987-04-27 US US07/043,126 patent/US4984235A/en not_active Expired - Lifetime
-
1988
- 1988-04-26 JP JP63504371A patent/JPH02503244A/ja active Pending
- 1988-04-26 DE DE3854474T patent/DE3854474T2/de not_active Expired - Fee Related
- 1988-04-26 WO PCT/US1988/001341 patent/WO1988008652A1/en active IP Right Grant
- 1988-04-26 AT AT88904808T patent/ATE127982T1/de active
- 1988-04-26 EP EP88904808A patent/EP0381671B1/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60250459A (ja) * | 1984-05-25 | 1985-12-11 | Fujitsu Ltd | 同期制御方式 |
JPS61243554A (ja) * | 1985-04-19 | 1986-10-29 | ディジタル イクイップメント コーポレーション | 通信系 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007528078A (ja) * | 2004-03-08 | 2007-10-04 | インテル コーポレイション | コヒーレンス・メッセージを合体する方法及びシステム |
Also Published As
Publication number | Publication date |
---|---|
DE3854474D1 (de) | 1995-10-19 |
EP0381671B1 (en) | 1995-09-13 |
EP0381671A1 (en) | 1990-08-16 |
DE3854474T2 (de) | 1996-03-28 |
US4984235A (en) | 1991-01-08 |
ATE127982T1 (de) | 1995-09-15 |
WO1988008652A1 (en) | 1988-11-03 |
EP0381671A4 (en) | 1992-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02503244A (ja) | メッセージパケットのルーティング方法とその装置 | |
US5117420A (en) | Method and apparatus for routing message packets | |
US20220083499A1 (en) | Efficient deconfiguration of a reconfigurable data processor | |
US20210055940A1 (en) | Efficient Configuration Of A Reconfigurable Data Processor | |
KR900006791B1 (ko) | 패킷 스위치식 다중포트 메모리 n×m 스위치 노드 및 처리 방법 | |
US5214747A (en) | Segmented neural network with daisy chain control | |
US6047122A (en) | System for method for performing a context switch operation in a massively parallel computer system | |
US4709327A (en) | Parallel processor/memory circuit | |
US5123109A (en) | Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system | |
JP3241045B2 (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 | |
EP0430569B1 (en) | Fault tolerant interconnection networks | |
US7275126B2 (en) | Sliced crossbar architecture with no inter-slice communication | |
US20060195643A1 (en) | Method for designing an initiatior in an integrated circuit | |
US5740468A (en) | Data transferring buffer | |
KR20220004216A (ko) | 제어 플로우 배리어 및 재구성가능 데이터 프로세서 | |
US11561925B2 (en) | Tensor partitioning and partition access order | |
DeHon et al. | METRO: A router architecture for high-performance, short-haul routing networks | |
US7822012B1 (en) | Sliced crossbar architecture with inter-slice communication | |
US6059836A (en) | Logic circuit emulator | |
US6085316A (en) | Layered counterflow pipeline processor with anticipatory control | |
EP0293616A2 (en) | Dynamic switch with task allocation capability | |
JPH10112178A (ja) | Fifoメモリおよびその製造方法 | |
JP2577834B2 (ja) | バッファメモリ装置 |