JPH01105642A - 並列計算機のためのデータ転送ネットワーク - Google Patents

並列計算機のためのデータ転送ネットワーク

Info

Publication number
JPH01105642A
JPH01105642A JP63185603A JP18560388A JPH01105642A JP H01105642 A JPH01105642 A JP H01105642A JP 63185603 A JP63185603 A JP 63185603A JP 18560388 A JP18560388 A JP 18560388A JP H01105642 A JPH01105642 A JP H01105642A
Authority
JP
Japan
Prior art keywords
partial
switch
address
data
addresses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63185603A
Other languages
English (en)
Other versions
JP2954220B2 (ja
Inventor
Takehisa Hayashi
剛久 林
Koichiro Omoda
面田 耕一郎
Teruo Tanaka
輝男 田中
Naoki Hamanaka
濱中 直樹
Shigeo Nagashima
長島 重夫
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP18560388A priority Critical patent/JP2954220B2/ja
Publication of JPH01105642A publication Critical patent/JPH01105642A/ja
Application granted granted Critical
Publication of JP2954220B2 publication Critical patent/JP2954220B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はパケット形式のデータを転送する、データ転送
ネットワークに関する。
〔従来の技術〕
近年LSI技術の進歩により、高速大容量のプロセッサ
を多数接続し、並列処理を行なうことで、高性能の並列
計算機システムを実現することが可能になりつつある。
この様なシステムにおいては、プロセッサ間、プロセッ
サ・メモリ間等で、大量のデータを授受することが必要
であり、例えば第2A図に示す様なプロセッサ間を結合
するデータ転送ネットワークが必要となる。データ転送
ネットワークの従来の構成方法については、例えば、黒
用他、情報処理Vo1.27.(1986年)。
&9.特集「並列処理技術J3.1.結合方式、pp、
1005〜1021に詳しく説明されている。
データ転送ネットワークとしては、クロスバスイッチを
用いるものや、多段スイッチを用いるものが知られてい
るが、この場合、転送すべきデータに転送先のアドレス
を付加したパケットが、データ転送ネットワークに送り
出され、そのパケットに対して順次パスがネットワーク
中に生成されていく。
〔発明が解決しようとする問題点〕
データ転送ネットワークをクロスバスイッチで構成Uた
場合、ハードウェアが膨大なものとなり、実現が困難で
ある。従って、多段スイッチ方式を用いることが現実的
である。上記パケットにおいて、データの長さは通常数
十ビット以上であり、また、転送先アドレスも、数千台
以上のプロセッサを用いる場合、十数ビット以上必要で
ある。パケットの高速転送のためにはそのパケットの全
ビットを並列に転送することが望ましいことは言うまで
もないが、パケットの全ビットを並列に送れるようにす
ると、信号線数、スイッチ数が膨大になるため、データ
転送路のビット幅dは、比較的小さなもの(高々10ビ
ット程度以下)とならざるを得ない。従って、実用的観
点からは、第2B図に示すように各パケットをそれぞれ
複数のビット数dから成る複数のサブパケットに分け、
各サブパケット内の全ビットは並列に転送し、異なるサ
ブパケットは順次転送するという方法が必要である。こ
の場合、データのみならず、転送先アドレスも少なくと
も2つ以上の部分アドレスに分割することが必要となる
データ転送ネットワークを構成する多段のスイッチの各
スイッチは、入力されたパケットの行き先をそのパケッ
ト内の転送先アドレスから判断し、適当なスイッチング
を行なって、そのパケットを適当な出力端に出力する。
前述の様にデータ及び転送先アドレスを分割した場合で
も、すべての部分アドレスの到着を待つことによりこの
スイッチングを各スイッチに行なわせることができる。
−旦スイツチングが行なねれると、転送先アドレスの後
に順序送られてくるデータ用のサブパケットはパイプラ
イン的に次段のスイッチに送ることができる。しかし、
各スイッチのスイッチングが部分アドレスすべての到着
を待って行なわれたのでは、転送先アドレスの全ビット
を並列に転送する場合に比べ、スイッチング開始時間が
大幅に遅れるという問題がある。
本発明の目的は、転送先アドレスを複数の部分アドレス
に分割した場合でも各スイッチのスイッチング開始時間
を余り遅らせなくてすむデータ転送ネットワークを提供
することにある。
〔問題点を解決するための手段〕
このため本発明では、あるスイッチがパケットを送出す
べき次段のスイッチを確定するため−に必要な部分アド
レスが、そのスイッチに供給される部分アドレスをそれ
ぞれ含む複数のサブパケットの内の最初のものに含まれ
ている場合には、そのスイ・ツチは最初のパケットが到
着したときにスイッチングを開始するようにそのスイッ
チを構成した。さらに望ましい態様として、次段のスイ
ッチがスイッチングするのに必要な部分アドレスが先頭
のサブパケットに含まれていない場合、前段のスイッチ
は、その部分アドレスが先頭のサブパケットに含まれる
ように部分アドレスをサブパケット間で入れ換れるよう
にした。
〔作用〕
本発明では、上記のような構成をとることにより、デー
タ転送ネットワークを構成するスイッチがスイッチング
を開始するまでに必要な待ち時間を削減し、高速なデー
タ転送ネットワークを実現できる。
〔実施例〕
本発明の詳細な説明の前に、分割アドレスを用いるが、
本発明によるスイッチングの早期化を図らないデータ転
送ネットワークの例として本発明者が考えたものを第3
図に即して説明する。
第3図は多段スイッチ構成のデータ転送ネットワーク(
以下、単にネットワークとも言う)を示し、16人カフ
16出力を有すると仮定する。
第3図において、5OO−837はネットワークを構成
する2人力/2出力のスイッチであり、それぞれのスイ
ッチの上部に付記した[ ]の中の数字はその番号を示
す。
0′〜15′はネットワークの入力ポート、05〜15
1はネットワークの出力ポートである。出力ポートo“
〜15′はそのアドレスを2進数で各々(0000)〜
(1111)と表現する。第4図は上記多段スイッチに
おいて、転送先アドレスを分割して転送するために、第
3図のネットワークに用いるスイッチの構成の一例であ
り、第4図において、II、I2はスイッチの入力ポー
ト、Of、02は出力ポート、Elは出力ポート選択回
路、Q、、Q、は入力キュー、Q、、 Q、は出力キュ
ー、Ll、L2.L3.L4は上記サブパケット中に含
まれる部分アドレスを記憶するためのレジスタ、S、1
.82はセレクタであり、MSIはスイッチの動作に必
要な情報・手順を格納したメモリ、Plはスイッチの動
作を制御するスイッチコントローラである。
ここで、簡単のため、ネットワークに与えられるパケッ
トは、転送先アドレスが4ビツト、データが4ビツトと
し、データ転送路のビット幅が2ビツトであると仮定し
、第2B図に示すように転送先アドレスは部分アドレス
Ai、A、に分割され、データD、、D、に分割されて
いるとする。また、このパケットが、第3図に太線で示
す様に、入力ポート1′から、出力ポート111に転送
される場合を考える。11′のアドレスは(1011)
であるので、Ai、A、はそれぞれ10.11なるビッ
ト列を表わす、このときの第3図、第4図のデータ転送
ネットワークの動作を第5図を用いて説明する。第5図
に示す様に、第3図の[00]座標のスイッチS00の
入力ポートエ2に部分アドレスA 1 g A z g
部分データD1.D2が順次入力されるとする。このと
き、スイッチSOOでは、第1、第2の部分アドレスA
i、A、をそれぞれレジスタL3.L4に記憶し、また
、部分アドレスA、、A、部分データD、、D、は順次
入力キューに格納する。レジスタL3.L4の出力C3
,C4−(今の場合は部分アドレスA、、 A、に等し
い)はそれぞれスイッチ・コントローラP1に与えられ
ており、スイッチコントローラP1は、部分アドレスA
、、A、がそれぞれレジスタLl、L2にセットされた
ときにスイッチ内メモリMS1の内容とレジスタタL3
.L4の出力C3,C4に応答して出力ポート選択回路
E1内のセレクタSl。
S2の制御情報Ml、M2を作成してこれらに与える。
さらに具体的には、この場合、スイッチコントローラP
1は、第5図で*で示す様な、第1サブパケツトの第1
ビツトが判定ビットであるという判定ビット位置情報J
1がメモリMSIから与えられ出力ca (=A1) 
、c4 (=A2)からなる4ビツトのアドレスの内上
記判定ビットを取り出す、今の場合、この値が1である
ので、これに基づいて、El中のセレクタS2に対し、
入力ポートI2から出力ポートo2へ至るパスを生成す
る様な制御情報M2を与える。こうして上記サブパケッ
トは順次出力キューQ3を介して、出力ポート02から
次段のスイッチS14へ送信される。
第3図で、スイッチS00内で出力ポートo2が選択さ
れるめ、上記のパケットはスイッチS14の入力では、
第5図に示す様に、判定ビット位置が第1サブパケツト
の第2ビツトであるという判定ビット位置情報J1が、
そのスイッチ内のメモリMSIから与えられ、判定ビッ
ト(この場合0)がスイッチS14の入力ポートエ1か
ら出力ポートo1へ至るパスが生成されパケットはスイ
ッチS24へ送られる。以下、スイッチ824では判定
ビット(この場合1)であり、スイッチS35では第2
サブパケツトの第2ビツト(この場合1)であって、同
様の処理によって、パケットはネットワークの出力ポー
ト11′に転送される。
上記動作のタイミング図を第6図に示す。゛第6図にお
いて、上記の各サブパケットは時間Tごとに順次入力ポ
ートに与えられるとする。また、各スイッチ内のスイッ
チコントローラP1、セレクタSL、 82等は充分高
速に動作するとする。第6図かられかる様に、第3図、
第4図のデータ転送ネットワークでは、各スイッチでは
2つの分割アドレスの到着をまってスイッチングを開始
して″いる。このためサブパケット4個の転送時間4T
に加え、各スイッチでの、二つの分割アドレスの到着待
ちの時間2TX4=8Tが加わるため、ネットワークの
転送麟要時間は12T必要である。
次に、本発明の詳細な説明する。
第7図は本発明による多段スイッチからなるデータ転送
ネットワークであり、その構成において、第3図と異な
るのはスイッチsoo’〜S37′が転送先アドレスを
含む全てのサブ・パケットの到着を待つことなく、第1
のサブ・パケット到着後、スイッチングを行い、パケッ
トを送出すべき次段のスイッチに接続された出力ポート
を確定してサブパケットの送出を開始する点および第2
段目のスイッチ810′〜817′が、分割された転送
先アドレスを含む複数のサブパケットに対し。
上記分割アドレスを第1のサブパケットと第2のサブパ
ケット間で入れ替えるように構成されている点である。
第3図、第4図で説明した。
N etworkの例では、第1段目のスイッチ800
〜SO7、及び第2段目のスイッチSIO〜S17では
、各スイッチでパケットを送出すべき次段のスイッチを
確定するために必要な部分アドレスはそれぞれに入力さ
れるパケットの第1サブパケツト内にある第1部分アド
レスA1であるが、第3段目、第4段目のスイッチS2
.0−837における、それは;第2サブパケツト内の
第2部分アドレスA2である。しかし、第7図の様に、
第2段目のスイッチ810′〜817′に入力されたサ
ブパケット列が出力される際に、第1サブバケツトに第
2部分アドレスA2、第2サブパケツトに第1部分アド
レスA、が含まれる様に部分アドレスA1.A、を第2
段目のスイッチ810′〜817′で入れ替えることで
、次段のスイッチが、スイッチングに要する部分アドレ
スが先頭サブパケットに含まれる様にする。
第1A図は第7図の第2段目のスイッチSIO’〜S1
7′の構成の一例であり、その構成において第4図と異
なるのは、入力ポートエ1または工2に対しレジスタL
L、L2またはL3゜L4に記憶された部分アドレスの
内、先に送出すべきものを先に選択するように、レジス
タLL。
L2の出力C1,C2を選択するセレクタS3、及びレ
ジスタL3.L4の出力C3,C4を選択するセレクタ
S5.セレクタS3またはS5から出力された部分アド
レス列を入力キューQ1またはQ2に格納された部分デ
ータに先立って選択して出力ポート選択回路E1に与え
るだのセレクタS4、またはS6を有する点、及び、ス
イッチングコントローラP2は入力ポートエ1またはI
2へのパケットの先頭のサブパケットの到着と同期して
、このパケットと並列に与えられるパケットスタート信
号PSTRIまたはPSTR2に応答して動作を開始し
、パケットの末尾が入力ポート11またはI2へ到着す
るのに同期して与えられるパケット終了信号PENDI
またはPEND2に応答して動作を終了する点、及びメ
モリMS2から与えられる判定ビット位置情報J2はつ
ねに先頭のサブパケット内の部分アドレスのいずれかの
ビットを指す点、である。
また、第1段のスイッチsoo’〜S07′及び第3段
、第4段のスイッチ820′〜837′は第1B図に示
すように、第1A図から、サブパケットを記憶するレジ
スタLL、L3.及びセレクタ83〜S6を省略したも
のである。即ち、これらのスイッチは、サブパケットの
入れ替えを行なわない点で主に第2段のスイッチ810
′〜817′と異なるが、パケットスタート信号PST
R1,PSTR2,パケット終了信号PEND2に応答
する点では同じである。第3図の場合と同様に、第7図
の動作説明のため、データ転送路のビット幅が2ビツト
であり、転送先アドレXは2つの部分アドレスA、、A
2からなりデータは2つの部分データD1. D、から
なりそれぞれは各々2ビツトの長さのサブパケットに含
まれる。第7図の太線で示す様に入力ポート1′から出
力ポート11′に転送される場合を考える。こ。
のときの第7図のデータ転送ネットワークの動作を第8
図を参照して説明する。第8図に示す様に、第7図の[
Oo]の座標のスイッチsoo’の入力ポートエ2に、
第3図〜第5図の場合と同様の部分アドレスA1.A、
と部分データD1.D、’が順次入力されるとする。第
7図におけるスイッチSOO’ 、S24’ 、S35
’の動作は、第7図におけるスイッチ800.S24、
S35の動作とほぼ同様であるが、異なるのは各スイッ
チは最初の部分アドレスの到着時に動作を開始する点習
ある。すなわち第7図の場合、各スイッチからのパケッ
トの送出先スイッチを決定するための判定ビット位置は
第8図に本で示すようにいずれも第1サブパケツトの部
分アドレス内にあるため、第2サブパケツトの到着を待
つことなく、送出先が決まり、送出が開始される点が異
なっている。
次に第7図におけるスイッチ514’の動作の一例を第
9A図のタイムチャートを参照して説明する。スイッチ
814′にはスイッチ800′から、部分アドレスA、
、Aい部分データDよ、D2が入力ポートエ1に順次送
られる。このとき先頭の部分アドレスの到着と同期して
、かつパケットの転送と並行してパケットスタート信号
PSRT1がスイッチコントローラP2に与えられ、ス
イッチコントローラP2はスイッチ800′が以下の動
作とするように制御動作を開始する。スイッチ814′
では、第1のタイミングで第1部分アドレスA1をレジ
スタL2に記憶し、続く第2のタイミングでこの第1部
分アドレスA1をレジスタL1に移動し、かつ第1部分
アドレスA1をレジスタL2に記憶する。また、第3、
第4のタイミングでそれぞれ部分データDi、D、を順
次入力キューQ、に格納する。ここで、レジスタL2の
内容C2はスイッチコントローラP2に与えられている
。今の場合、第1部分アドレスA1がレジスタL2に到
着した時点でこの部分アドレスA1がCIとしてスイッ
チコントローラP2に与えられる。スイッチコントロー
ラP2は出力C2の内、メモリMS2から与えられる判
定ビット位置情報J2で示される位置のビットに応答し
て、出力ポート選択回路El内のセレクタSL、S2の
制御情報Ml、M2を作成して、これらに与え、入力ポ
ートエ1から出力ポートo1へ至るパスを生成する。さ
らにスイッチコントローラP2は、レジスタL1に記憶
された第1の部分アドレスA1、レジスタL2に記憶さ
れた第2の部分アドレスA、の内、上記第3のタイミン
グで、A2を、また、上記第4のタイミングでA8を選
択する様な制御信号M3をセレタクS3に与え、これに
よって部分アドレスA1とA2の順序を入れ替える。さ
らに、スイッチコントローラP2は、上記第3のタイミ
ングでセレクタS3から出力される部分アドレスA2を
、上記第4のタイミングでセレクタS3から出力される
部分アドレスA工をそれぞれ選択し。
また、第5、第6のタイミングで、入力キューQ1に格
納された部分データD、、D、をそれぞれ選択して、出
力ポート選択回路E1に与える様な制御信号M4をセレ
クタS41こ与える0選択回路E1の出力は出力キュー
Q3に与えられ、上記第3、第4、第5、第6のタイミ
ングで、それぞれA2.A工、Dl、D、が出力キュー
Q3に入力・記憶される。これによって、上記の様に部
分アドレスA1.A、を入れ替えて作られた転送先アド
レスを入力キューQ1内に格納されたデータに先立って
選択的に出力ポート選択回路E1に与えることができる
第9A図は第7図のスイッチsoo’、S24’ 、8
35’でアドレス到看待ちの時間が、第3図の場合の半
分の時間Tで済む、従って、ネットワークの転送所要時
間は9Tとなり、第3図の場合(第6図)の12Tと比
べて25%高速化されることがわかる。
なお、スイッチコントローラP2は入力ポートエ2から
与えられるパケットに対しても同様な処理を行なうこと
ができ、第4図の場合と同様に、入力ポートエ1と工2
の入力データの優先判断を行うことができる。スイッチ
コントローラP2には、出力ポート01.02の各々の
出力許可信号OEI、OE2が与えられており、OEI
が出力許可状態となったとき、出力制御信号oC1がス
イッチコントローラP2から出力キューQ3に与えられ
、出力キューQ 37’17ら、上記部分アドレスA 
1 g A 2 g部分データD工、D2が順次出力ポ
ート01に送出される。同様に信号OE2が出力許可状
態となったとき、出力制御信号○C2がスイッチコント
ローラP2から出力キューQ4に与えられる。出力キュ
ーQ3.Q4がデータで満たされ、新しいデータを記憶
できない状態になった場合、それぞれスイッチコントロ
ーラP2に接続されたステータス信号SQL、SQ2が
スイッチコントローラP2に与えられる。そこからは通
常入力端チエ1、工2の入力許可信号IAI、IA2が
出力されているが、上記ステータス信号SQL、SQ2
によって入力許可信号IAI、IA2は入力禁止状態と
され、新たなパケットが入力されることを禁止する。第
7図の構成の場合、後段のスイッチの入力許可信号IA
I (又はIA2)を、前段のスイッチに出力許可信号
OEI (OF2)として入力することで、転送径路の
途中でキューのあふれによってパケットが失なわれるこ
とを防げる。第1A図において、レジスタLL、L2.
出力キューQl、Q3へのデータのセットタイミングの
制御は信号T11.T12.T13.T14により、ま
た、レジスタL3、L4、出力キューQ2、Q4ヘデー
タのセットタイミングの制御は信号T21.T22.T
23.T24により行なわれ、これらの信号はスイッチ
コントローラP2から与えられる。第10図は第1A図
のスイッチコントローラP2の概略構成図である。図に
おいて、タイミング供給回路10A、IOBは、パケッ
トスタースタート信号PSTRI又はPSTR2に応答
してアドレスデコーダ16A又は16Bを起動し、かつ
、タイミングクロックをカウンタ12A又は12Bに与
え、パケットの末尾が入力ポートエ1又はI2(第1A
図)に与えられたタイミングに同期して与えられる。パ
ケット終了信号PEMDIに応答して、カウンタ12A
又は12Bおよびタイミングデコーダ14A又は14B
をリセットするものである。アドレスデコーダ16A又
は16BはレジスタL2又はL4の出力C2又C4の内
、メモリMS2から与えられる判定ビット位置情報J2
にて示されるビットを切り出し入力されたパケットを出
力ポート01,02のいずれに送るべきかの信号として
コンフリクト制御22へ送出する。タイミングデコーダ
14A、14Bはカウンタ12A、12Bのカウント値
にそれぞれ応答して、制御信号Tll〜T13.M3、
M4を出力するとともに出力キュー制御18A又は18
Bおよびセレクタ制御24′を起動するものである。コ
ンフリクト制御22はアドレスデコーダ16A、16B
の出力の間にコンフリクトがないかをチエツクし、なけ
ればセレクタ制御24に送る。そこでセレクタ制御信号
Ml、M2を発生させる。コンフリクト制御には上記2
つの出力の間にコンフリクトがあればその一方にのみ応
答してセレクタ制御24に送る。それとともに、アドレ
スデコーダ16A、16Bの他方に対応して設けられた
入力制御2OA又は20B信号を送る。入力・制御20
A、20Bは新たなパケットの送信を禁止する信号IA
I又はIA2を発生マ、前段のスイッチに送る。
出力キュー制御18A、18Bは、出力キューQ3又は
Q4を制御する信号T14.QCを生成するとともに、
パケットスタート信号PSTRI又はPSTR2,パケ
ット終了信号PENDI又はPEND2を、出力キュー
Q3又はQ4によるパケットの送信開始およびパケット
の送信終了に同期して生成し、これらの信号を次段のス
イッチに送出するものである。
第9B図は、第6図、第7A図、第7B図の回路を用い
て第9図と異なるタイミング制御を行なう場合のタイム
チャートを示している。この場合、第9A図の場合と同
様、第6図の回路のスイッチ814′にはスイッチso
o’ から部分アドレスAユ、A2、部分データロ工、
D2が入力ポート11に順次送られる。スイッチ814
′では第1のタイミングで第1部分アドレスA1をレジ
スタL2に記憶するとともに、次にデータを送出すべき
出力ポートを決定する。続く第2のタイミングで、第1
部分アドレスをレジスタL1に移動し、かつ、第1部分
アドレスA、をレジスタL2をスルーさせて出力キュー
Q3に送る。第9B図の実施例において、814′でパ
ケットの転送先を決めるために処理(解釈)が必要な部
分アドレスA1は第1サブパケツトに含まれており、第
2サブパケツトに含まれる部分アドレスA2は814′
で処理(解釈)を必要としない。従って、上記の様に第
2のタイミングでレジスタをスルーさせることが可能で
ある。このときのスイッチコントローラP2、セレクタ
81.S2,83. S4の制御は第9図Aの場合と類
似の方法で実現できる。次に第3、第4のタイミングで
それぞれ部分データD1゜D2を順次入力キューQ1に
格納し、かつ、第3のタイミングでA1、第4のタイミ
ングでDl、第5のタイミングでD2をそれぞれ出力キ
ューQ3に送る。これによって、第9B図では、第9A
図で必要だった814′にお°ける17分の待ち時間を
短縮する。第9B図では第9A図で9T必要であった転
送時間を8Tに短縮し、待ち時間のないパイプライン動
作が実現できる。
なお、以上の説明では、簡単のため、上記部分アドレス
A工、A2、部分データD、、D、は一旦出力キューQ
3に順次記憶されるとしたが、初めから出力許可信号O
EIが出力許可状態にあるとき、出力キューQ3をバイ
パス、又はスルーして直接、上記第3、第4、第5.第
6のタイミングで出力ポートo1に送出する構成として
も良いことは明らかである。また、部分アドレス列、部
分データ列が記憶される出力キューQ3.Q4を出力ポ
ートの前でなく、入力ポートの後に設けてもよく、また
、その両方に設けても良いことは明らかである。また、
入力キューQl、Q2出力キューQ3゜Q4はFIFO
メモリであっても良いが、RAMやレジスタファイルで
構成しても良い、第1B図でレジスタL3とL4、レジ
スタL1とL2は直列接続の構成としているが、セレク
タを介して第1のサブパケットはレジスタLX(又はL
3)に、第2のサブパケットはレジスタL2(又はL4
)に格納する構成としてもよい。また、この場合、レジ
スタL1〜L4は(データ語長が充分ある)RAMはレ
ジスタファイルの一部分を用いて構成しても良い。
以上の説明から明らかな様に、本発明の効果はネットワ
ークが大規模で、スイッチの段数が増すほど効果が大と
なる。これまでの説明でデータ転送路のデータ幅を2ビ
ツト、転送先アドレスを4ビツト、データを4ビツトと
したが、転送先アドレスのビット数が、データ転送路の
データ幅よりも大きければ、任意の値の場合に本発明が
有効であることは明らかである。また、スイッチは2人
力/2出力のものを用いて説明したが、スイッチの構成
、ネットワークの構成によらず本発明が有効であること
も明らかである。
第11A図は本発明の他の実施例を示す図であり、PE
II〜PE44はプロセッサであり、各々のプロセッサ
を接続するデータ転送ネットワークは、スイッチEX1
1〜EX44とX部分ネットワークNXI〜NX4と7
部分ネットワークとから成る。データ転送ネットワーク
において転送されるパケットは、第2B図に示したもの
と同じである。但し、転送先部分アドレスA□、A2は
プロセッサP E t−のX方範の添字i、Y方向の添
字jに等しく定める。すなわち、プロセッサPE1jの
アドレスをXアドレスi、Yアドレスjの組にて表わす
第11A図においては、iが同じプロセッサpEij 
(j=1〜4. i =1.2.3.4)および、jが
同じプロセッサPE1j (i=1〜4゜、)=l、 
2,3w 4)がそれぞれ一つのクラスタに属する。
X部分ネットry−りNXi (i=1.2,3゜4)
は、iを共通にするクラスタ(Xクラスタと呼ぶ)のプ
ロセッサPE1j (j=1〜4)を相互に結合し、Y
部分ネットワークNYj  (j=L2.3,4)は、
jを共通にするクラスタ(Yクラスタと呼ぶ)に属する
プロセッサPE1j (i=1〜4)を相互に結合する
。これら部分ネットワークNXi、NYjは、第7図に
示されたような、多段のスイッチにて構成されるネット
ワークである。後に説明するように、そこに用いる多段
スイッチの各々は部分アドレスの入れ替えをする必要が
なく、従って、第1B図のスイッチにて構成できる。ス
イッチEXij (i=1〜4.i=1〜4)は、X部
分ネットワークNXiとY部分ネットワークNYjとプ
ロセッサPE1jを相互に結合する3人力/3出力ポー
トのスイッチである。
例えば、部分ネットワークNXIには、プロセッサPE
II、PE12.PE13.PE14がそれぞれ、スイ
ッチEXII、EX12゜EX13.EX14を介して
接続され、N Y 1 tmは、プロセッサPEII、
PE21.PE31゜PE41がそれぞれスイッチEX
II、EX21゜EX31.EX41を介して接続され
る。
スイッチEXi jは第11B図に示すようにプロセッ
サPE1jとの入力ポートIPij、出力ポート○Pi
j、部分ネットワークNXiとの入力ポートlX1j、
出力ポートOXi j、部分ネットワークNYjとの入
力ポートIYijと出力ポート0Yijを有する。
なお、スイッチEXi jは、後述するように、部分ア
ドレスA工、A2の入れ替えをする必要があるため、例
えば、第1A図のスイッチを3人力/3出力に変更した
第12図のものを用いる。第12図の各部分および、各
信号は第1A図の同じ英文字または英文字列で始まる符
号を持つ部分および信号と同様である。
本実施例において、プロセッサPE1jとプロセッサP
Ekl (1≦1y、]+に+1≦4)の間のデータ転
送は、後に詳述するように、PE1j→EXij−+N
x1−+EXi1→NYl→EXk l→PEklまた
は、PE1j−)EXij→N Y i−+E X k
 j −+N X k−+E X k l→PEklの
2つの経路のいずれかを介して行なうことができる。
以下、第11A図のネットワークの動作を第13A〜1
3C図を参照して説明する。
あるプロセッサPE1jからスイッチE X、 i j
が入力ポートIPijを介してプロセッサPEkl宛の
パケットを受信した(ステップ−130)とする。
このパケットの先頭にある第1.第2部分アドレスA、
、A、は今の場合宛先のプロセッサPEklのX方向ア
ドレスに、Y方向アドレスQに等しい。
(1)さて、スイッチEXijは、第13A図に示すよ
うに、このパケットが第1の条件A工(=k)=自己の
X方向アドレス(i)を満すかを判定(ステップ132
)L、この条件が満されると、(すなわち、送信先プロ
セッサPEklと送信元プロセサPE1jとが同じXク
ラスタに属する場合)、このパケットが第2の条件A2
=自己のX方向アドレス(j)を満すか否かを判定(ス
テップ134)L/、この条件も満される場合(すなわ
ち、送信元プロセッサPE1jと送信先プロセッサPE
klとが同じ場合)、スイッチEXi jはその出力ポ
ートOP i jを介してこのパケットをプロセッサP
E1jに送る(ステップ163)。
一方、ステップ134における第2の条件の判定の結果
、第2の条件が満されなかった。場合(すなわち、送信
先プロセッサPEklが、プロセッサPE1jと同じX
クラスタに属する他のプロセッサの場合)、部分アドレ
スA工、A2を入れかえ(ステップ138)、出力端O
X i jを介して、X部分ネットワークNXiに、こ
のパケットを送出する(ステップ140)。このアドレ
ス入れかえにより、送信先プロセッサPEklのY方向
アドレス2がこのパケットの先頭に位置する。この結果
、X部分ネットワークNXi (=NXk)の各スイッ
チは、このパケットの最初のサブパケットが到着し次第
、その先頭部分にある部分部分アドレスA2に応答して
スイッチングを開始できる。
部分ネットワークNXkはこのパケットをスイッチEX
k1にそれの入カポ−)−IXklを介して送出する。
このスイッチEXklは、このパケットを受信する(ス
テップ)と、第13B図に示すように、そのパケットの
先頭のサブパケットにある部分アドレス(今の場合A、
(=R))がそのスイッチEXkl (=EXi L)
(7)Y方向アトL/スΩと等しいから判定する(ステ
ップ164)。今の場合、これらが等しいという条件が
満されるのでスイッチEXklは、その出力ポート0P
klを介してプロセッサPEklにこのパケットを送る
(ステップ166)。
こうして、同じXクラスタ内にあるプロセッサ間でパケ
ット伝送が行なわれる。
(2)第13A図でのステップ132でま第1条件の判
定の結果、第1条件が満されないことが分かった場合(
すなわち、送信先プロセッサPEklと送信元プロセッ
サPE1jが同じXクラスタに属さない場合)、第2の
条件Al(=12)=自己のY方向アドレス(j)か否
かを判定する(ステップ142)、この判定の結果、こ
の条件が満された場合(すなわち、プロセッサPEkl
とPE1jとは同じXクラスタに属さないが同じXクラ
スタに属する場合、スイッチEXijは、このパケット
をY部分ネットワークNYjに、出力ポート0Yijを
経由して送出する(ステップ144)。
部分ネットワークNYjは、このパケットの先頭にある
部分アドレスAi(=k)と等しいXアドレスをもつス
イッチ(Ekj)にこのポケットを送る。そのスイッチ
(Ekj)では、第13c図に示すように、このパケッ
トを入力端IYkjより受信する(ステップ152)と
、このパケットが第2部分アドレスA、=自己のY方向
アドレスと等しいかを判定する(ステップ154)。
今の場合、この条件は満されるので、スイッチEkjは
そのパケットをそこにつながっているプロセッサ(PE
kj)に出力ポート0Pkjを介して送る。こうして、
同じXクラスタに属する2つのプロセッサ間のパケット
転送ができる。
(3)また、第13A図のステップ142における判定
の結果が否定的な場合、すなわち、送信先プロセッサP
Eklと送信元プロセッサPE1jが同じXクラスタに
も属さず、又同じXクラスタにも属さない場合、これら
の2つのプロセッサを結ぶ経路は2通りある。すなわち
、第1のルートX部分ネットワークにまずパケットを転
送するルートであり、具体的にはPE1j→EXij−
+NX1=)EXil−4NYl−+EXk14PEk
lである。このルートではYアドレスが先に決まるので
以下このルートをY優先ルートとよぶ、第2のルートは
、7部分ネットワークにまず、パケットを転送するルー
トであり、具体的にはPE1j→E X i j −)
 N Y j −+ E X k j −* N X 
k −) E X k 1→PEklである。このルー
トではXアドレスが先に決まるので以下、これを優先ル
ートと呼ぶ。
ステップ146ではこれら2つのルートのいす九かを選
択する。
この選択的はあらかじめ各スイッチEXijごとに定め
ておいてもよい。この場合、ステップ146は省略され
る。また、ネットワークの各部分ネットワークを通りパ
ケットの量(負荷)を計測し、この負荷が出来るだ均一
になるように動的に上記の選択をかえてもよい。
ステップ146でX優先ルートが選かれた場合、スイッ
チEXi jはパケットを出力ポート0Yijを介して
部分ネットワークNYjに送出する(ステップ144)
、このパケットを受けて、この部分ネットワークNYj
は、そのパケットの先頭にある部分アドレスAl(=k
)に等しいXアドレスをもつスイッチEkjの入力ポー
トIYkjを介して送出する。このスイッチでは、第1
3C図に示すように、これを受信する(ステップ152
)と、このパケットの第2部分アドレスAa (= t
 ) =自己のYアドレス(=j)が満されるか否かを
判定する(ステップ154)、今の場合、j#Ωと仮定
しているのでこの判定の結果は否定的となる。このスイ
ッチEkjはこのパケットの部分アドレスA1.A、を
入れかえ1部分アドレスA2を先頭に移す(ステップ1
58)。
その後、このパケットをX部分ネットワークNXkに、
出力ポート0Xkjを介して送出する。
この部分ネットワークNXkの中の各スイッチは、この
パケットの先頭にある部分アドレスA2が到着次第それ
に応答できる。そうして、この部分ネットワークは部分
アドレスA、(=Ω)に等しいY方向アドレスをもつス
イッチEklにこのパケットを送出する。
このスイッチEklは、入力ポートIXklを介してこ
のパケットを受信する(ステップ162、第13B図)
と、このパケットの第1部分アドレスA工自己のX方向
アドレス(=k)に等しいかを判定する。今の場合、こ
の判定結果は肯定的であるので、このパケットをスイッ
チEklはプロセッサPEklに送出する。こうして、
同じクラスタに属さない2つのプロセッサ間のパケット
転送がX優先ルートによりなされる。
なお、ステップ146(第13A図)で、Y優先ルート
が選がれた場合、スイッチEXijは、パケット中の部
分アドレスA□、A2を入れかえA2を先頭に移す(ス
テップ138)。その後、このパケットをX部分ネット
ワークNXiに送出する(ステップ140)。この部分
ネットワークNXiはこのパケットを、この部分アドレ
スA2(=Q)に等しいYアドレスをもつスイッチEX
i 1にこのパケットを送出する。
このスイッチEXi 1では、第13B図に示すと、こ
のパケット受信(ステップ162)した後、A工(=k
)=自己のX方向アドレス(=i)と等しいかを判定す
る(ステップ164)。今の場合、この判定結果は否定
的となり、このスイッチは部分アドレスA2.A工を入
れかえ、八〇をパケットの先頭に移しくステップ168
)、再びこのパケットをY部分ネットワークNYIに転
送する(ステップ170)。この部分ネットワークNY
Iにより、このパケットはこのパケットの第1部分アド
レスA1(=k)に等しいX方向アドレスをもってスイ
ッチEklにこのパケットを転送する。このスイッチE
klでは第13C図のステップ152,154,156
によりこのパケットをそこに接続されたプロセッサPE
klに送出する。こうして、同じクラスタに属さない2
つのプロセッサ間でパケットがY優先ルートによりなさ
れる。
本実施例のようなネットワークの利点は、各部分ネット
ワークの規模が小さくなることにより。
実装が容易となる点にある。そして、上記の様にプロセ
ッサがクラスタ化されているため、部分ネットワークN
Yjの中では転送先アドレスのうち第1部分アドレスA
1のみ、NXiの中では第2部分アドレスA2のみが必
要となる。本実施例では、スイッチE X i、j中に
A工、AXの入れ替え手段を有するため、各部分ネット
ワークNXi、NXj中で必要な部分アドレスが常に第
1サブパケツトにあるので、部分ネットワーク中のそれ
ぞれのスイッチは部分アドレスの全ての到着を待つ必要
はなく、高速なデータ転送が可能となる。
第L :LA図のネットワークの動作時、次のようにか
えると更に高速化される。
すなわち、第13B図においては、m、nを整数として
それぞれのスイッチ(EXmn)がX部分ネットワーク
NXmからパケットを受信したときの判定164は、ネ
ットワークNXmから部分アドレスA1の到着をまって
行う必要がある。しかし、すでに述べたように、ネット
ワークNXnでは、パケットは部分アドレスA2をその
先頭に有する。したがって、上記判定164は部分ネッ
トワークNXmから2つ目のサブパケットがスイッチE
Xmnに到着するのをまって始めて可能になる。同じ問
題は第13C図の判定154についても生じる。これら
の問題は部分ネットワ−−りNXm、NYn等を以下の
ように変更することにより改良される。
すなわち、部分ネットワークNXm又はNYn等をそれ
ぞれ第14A図、第14B図のステップ180A、18
0Bとして、示すように、それぞれからパケットをある
スイッチEXmnに出力する際、そのスイッチに最も近
い部分ネットワーク内スイッチにおいて、パケット中の
部分アドレスA工、A2を入れかえるように構成する。
これは、第9B図において説明した方法と同様に実現で
きる。
これらの結果X部分ネットワークからNXmかはパケッ
トに受信したスインE X m nの動作は、第14C
図に示すようになる。図において第13B図と同じ参照
番号は同じ処理をさす。この図から分かるようにこの改
良された動作では、スイッチEXmnは9部分アドレス
A工についての判定処理144を行うのは第13B図の
場合と同じであるが、すでに述べた改良によりX部分ネ
ットワークNXmから送られるパケットの先頭にこの部
分アドレスA工が含まれているので、この判定処理14
4はこの部分アドレスA□が到着し次第開始できる。ま
た、X部分ネットワークNXmがパケット出力時にアド
レスを入れかえた結果、第13B図で必要としたアドレ
ス入れかえ第14C図においては必要としない。
同様にY部分ネットワークNYmからパケットを受信し
たときのスイッチEXmnの動作は、第14D図のよう
になる9図において第、L3C図を同じ参照番号は同じ
ものをさす。この場合も、第14C図と第13B図につ
いての比較がそのままあてはまる。
なお上記の説明で、A、、 A、は2ビツト、dは2ビ
ツトとしたが、これが任意のビット数であっても本発明
の効果に変わりはない、また、転送先アドレスを3分割
とし、X、Y方向の他にZ方向の様な部分ネットワーク
を設け、EXijをEXi j kの様に4人力ポート
/4出力ポートとする、という様に、転送先アドレスの
分割数を増して良いことも明らかである。
第15図はそのようなデータ転送ネットワークの実施例
を示す0図において、NX、i、NX1.。
Nx1いN44等はX方向の部分転送ネットワーク7.
1を表わし、NY、0、NY、、、NY、9、NY44
等はY方向の部分転送ネットワークを表わし、これらは
、第11A図と同じものである本実施例ではZ方向の部
分ネットワークNZ1□。
NZ、1、NN41、Nz、=−NZ**等が設けれテ
ィる。
これら3つの部分ネットワークの交叉点にスイッチE 
x、、、% E!41、EX41イEX444等および
プロセッサpEizi、PE、41、PE、11、PE
4.。
が設けられでいる。
図では簡単化のために各部分ネットワークを直線で表わ
し、かつ、スイッチ、プロセッサは一部のみ表わしてい
る。
スイッチEXli1は、X方向部分ネットワークN X
i、、Y方向部分ネットワークNYLi、Z方向部分ネ
ットワークNZ、、およびプロセッサPE11□のそれ
ぞれに対して入力ポートと出力ポートで接続されている
他のプロセッサについても同じである。
あるプロセッサから他のプロセッサにパケットを転送す
る場合、パケット内の転送先アドレスをA□、A2、A
3の部分から構成する。それぞれはパケット送信先のプ
ロセッサをPijkとするとき、それぞれのX、Y、Z
方向座標1+ j+ kに等しい。
今、例えば、プロセッサpEtx1からPE444にパ
ケットを送出する場合、パケットの転送ルートはいくつ
かある。
たとえば、 P Ei、、−+ E x4.、−+ N X、、4 
E N41.−+ N Yi。
→EX44□→NZ44→E X 44’4→PE44
4はその一つである。
このルートにしたがってパケットを転送する場合の動作
は以下のとおりである。
スイッチEXiliがこのパケットを部分ネットワーク
NX□1に送出する場合、スイッチE X、、。
は第13A図の場合と同様に1部分アドレスA□。
A、、A3を入れかえることなく、転送する8部分ネッ
トワークNxoはこのパケットを、アドレスA工に等し
いxlllmをもつスイッチEX、□、に送出する。ス
イッチE X44.はこのパケット内の部分アドレスA
、、A、、A、の内のA、が自己のY座標と異なるので
、Y方向部分ネットワークNY工、に送出する。その際
パケット内のアドレスをA2、A1、A工の順に入れか
える。このネットワークはパケットをアドレスA2に等
しいY座標をもつスイッチEX44Lに送出する。
スイッチEX、、1では、この中の部分アドレスA、が
自己のZ座標と異なるので、このパケットをZ方向部分
ネットワークNZ44に送出する。その際、アドレスを
A、、A、、A、の順に入れかえる。このネットワーク
はこのパケットをアドレスA、に等しい2座標をもつE
X44に送出する。これを受けたスイッチEX444は
このパケットをプロセッサPE、44に送出する。
このように本実施例では、第11A図の場合よりもより
多くのプロセッサがある場合に、それらの間のデータ転
送を行うことができる。かつ、上述のようなアドレス入
れかえを各スイッチEXが行うので部分ネットワークが
到着したパケットの先頭の部分アドレスに応答してスイ
ッチできる。
なお、第14G、14D図で示したように、スイッチ時
E X、、、、EX441でのアドレスの入れかえにか
え、部分ネットワークNXエエ、NYl、、NZ、4が
、パケット出力時に3アドレス入れかえをする方がより
高速な動作が処理できる。
第16A図は本発明の他の実施例である。P′Eはプロ
セッサ、EXはスイッチであり、図に示す如く、プロセ
ッサPE100と同様な複数のプロセッサの各々に対し
て、スイッチEX100と同様な1個のスイッチが設け
られ、かつ各々のスイッチEXは互いに4近傍のスイッ
チに入力ポート、出力ポートにより接続されて、網状の
データ転送ネットワークを構成している。また、第16
B図に示すように、スイッチEX100はプロセッサP
E100との間の入力/出力ポートエP10010P1
00、また4近傍スイツチとの間の入力/出力ポート、
lN10010N100、IW100/○W100、 l5100108100、 IE100/○E100を有している。本実施例でも、
これまで述べたと同様、プロセッサ間を転送されるパケ
ットは、第18図の様に、データ転送路のビット幅dご
とに分割されたサブパケットの例から成るパケットとし
て授受される8本実施例が他の実施例と異なるのは、上
記パケット中の転送先アドレスがd−1ビツト以下のビ
ット数となる様に2分割され、分割された転送先アドレ
スの上位の部分をグローバル・アドレスAa、下位の部
分をローカル・アドレスALとして用いるとともに、A
G、At、が、それ送れ上記のサブパケットに格納され
、かつ、先頭のサブパケットには。
それが格納している分割アドレスがAafJ%ALかを
示すフラグビットLを設けた点である。これで簡単のた
め、d=4とし、Aa、Aムがそれぞれ3ビツトとする
。第17図に示す様に、AG、AL合計6ビツトで表わ
される64個のプロセッサが同図第16A図の様にスイ
ッチで結合されており、かつ、プロセッサは第17図の
様に、同じグローバル・アドレスを持つもの8個ずつク
ラスタ化されている0本実施例では、各々スイッチは、
例えば第7A図、第12図と同様なスイッチを5人力ポ
ート/出力ポートの構成とした、第20図に示す構成を
用いることができる。第20図の各部の動作、及び符号
の意味は、第7A図の同じ英文字(列)で始まる符号を
持つ各部と同様である。第20図の構成では第7A図の
構成と異なるのは、分割アドレス記憶用レジスタL12
.L22とセレクタS31の間に、上記フラグビットL
のセット回路X21を設けたことである。X21はスイ
ッチコントローラP21からのセット信号XC21によ
り上記フラグビットLをセットする。
以下スイッチの動作につき述べる。なお、第20図で、
R22〜R25で示される部分は、R21で示される部
分と同様の構成であり、簡単のため省略して示しである
。各プロセッサでは、データを始めて送出する際にAa
を先頭サブパケットに入れ、かつ、Lビットを0とする
。各スイッチにおける処理の手順を第19図に示す。本
実施例では、Lビットが設けられているため、各スイッ
チはL=Oである間はローカルアドレスAしを参照する
必要がなく、従って、上記の様に分割された転送先アド
レスを含む全てのサブパケットの到着を待つことなく、
パケットを送出すべき次段のスイッチを確定することが
できる。パケットが次々と転送されて、目標のプロセッ
サと同じグローバルアドレスを持クラスタ中のスイッチ
に入ると、該スイッチでは、ローカルアドレスAしを含
むサブパケットの到着を待ち、第7A図の場合と同様に
At、とA□を入れ替えて、ローカルアドレスが第1サ
ブパケツトに入るようにするとともに、L=1として次
段に送出する。以降のスイッチでは、今度はグローバル
アドレスを含む第2サブパケツトの到着を待つことなく
、パケットを送出すべき次段のスイッチを確定すること
ができる。
第17図で各プロセッサは、図示の様なアドレスを持つ
と、Aa”000.A+、=110のプロセッサNSか
ら、Aa= 110 、 At、= 110のプロセッ
サNRヘパケットを送る場合を考える。ここで、各々の
スイッチには隣接のプロセッサのローカルアドレスと、
隣接のクラスタのグローバルアドレスが、自己のアドレ
スとともに記憶されており、L=Oの間はグローバルア
ドレスAaと自己のグローバルアドレスを比較し、異な
る場合は、Aaと隣接クラスタのグローバルアドレスを
比較して転送方向、出力ポートを決定する。最も単純に
は、グローバルアドレスの差が最も小さくなる方向に送
出すれば良い。このアルゴリズムに従うと、パケットは
第17図の様な経路をたどり、NXで示された位置(A
a=110.AL=OOO)のスイッチに至る。ここで
NXのスイッチは第7A図のスイッチの場合と同様にA
しとAaを入れ替え、L=1として次段に送出する。以
降は、ローカルアドレスを隣接プロセッサのローカルア
ドレスと比較し、上記と同様のアルゴリズムにより、転
送方向、出力ポートを決定していくことができる。本実
施例で各段のスイッチのうち、AGとA+。
を含んだ2つのサブパケットの到着を待つ必要があるの
はNXのスイッチのみであり、その他のスイッチでは、
転送先アドレスの到着待ちの時間は、本発明を使わない
場合の半分で済み、特にプロセッサの台数が大きいとき
、効果が非常に大きい。
上記の説明でAO,ALは各々3ビツトとしたが任意の
ビット数でも本発明の効果に変わりはない。
また、転送先アドレスは2分割としたが、分割数を増す
とともに、上記りなるビットをこれに応じて複数ビット
としても1本発明の効果に変わりはない、さらに、デー
タ転送ネットワークのスイッチは4近傍と接続されてい
るとしたが、任意の個数と接続されていても本発明の効
果に変わりはない。
これまでの実施例の説明では、データパケットの行先は
、始めの2つ以上のサブパケットに含まれる転送先アド
レスによって示されるとしてきたが、これと等価な、転
送先アドレスを示すためのタグ情報であっても良いこと
は明らかである。この様なタグ情報としては、例えば、
発信プロセッサのアドレスと転送先アドレスのE xc
lusive Orをとったもの、等を用いることがで
きる。
以上本発明によれば、データ転送ネットワークの、多段
に構成された複数のスイッチの各々の段で、転送先アド
レスを含む複数のサブパケット全ての到着を待つ必要が
ないので、高速なデータ転送が可能になる。
【図面の簡単な説明】
第1A図は、第6図の装置の第2段のスイッチ(SL4
’等)の概略構成図、 第1Bgは、第6図の装置の第1.第3又は第4段のス
イッチ(S00’ 、824’ or 835’ )の
概略構成図。 第2A図は、本発明によるデータ転送Networkが
適用される並列計算機システムのブロックを示す図、 第2B図は、本発明のパケットの構造を示す図、第3図
は、本発明と比較するための低速のデータ転送ネットワ
ークの概略構成図、 第4図は、第2図のネットワークのスイッチ(Sij)
の概略構成図、 第5図は第2図のネットワークのスイッチの動作を説明
するための図、 第6図は、第2図のネットワークの動銅タイムチャート
、 第7図は、本発明によるデータ転送ネットワークの概略
構成図、 第8図は、第6図の装置のスイッチの動作を説明するた
めの図。 第9A図は、第6図の装置の動作の1例のタイムチャー
ト。 第9B図は、第6図の装置の動作の他の例のタイムチャ
ート。 第10図は、第7図のスイッチに用いるスイッチコント
ローラ(P2)の概略構成図、第11図は、部分ネット
ワークを用いた、本発明によるデータ転送ネットワーク
の他の実施例、第12図は、第11図の装置に用いるス
イッチが、パケットをプロセッサから受信したときの動
作のフローチャート、 第13B図は、第12図の装置に用いるスイッチ(EX
ij)がパケットを部分ネットワークNYから受信した
ときの動作のフローチャート、第13C図は、第12図
の装置に用いるスイッチ(EXij)がパケットを部分
ネットワークNXから受信したときの動作のフローチャ
ート、第14A図は、第12図の装置のX方向部分ネッ
トワーク(NXj)の改良された動作のフローチャート
、 第14B図は、第12図の装置のY方向部分ネットワー
ク(NYi)の改良された動作のフローチャート、 第14C図は、第12図の装置のスイッチ(EXij)
がY方向部分ネットワーク(NY i )からパケット
を受信したときの改良された動作のフローチャート、 第14D図は、第12図の装置のスイッチ(EXij)
がX方向部分ネットワーク(NXj)からパケットを受
信したときの改良された動作のフローチャート、 第15図は、3次元の、部分ネットワークを用いたデー
タ転送ネットワークの実施例、第16A図は、格子結合
のネットワークを用いた本発明の他の実施例、 第16B図は、第16A図のスイッチ (EXloo)の入出力ポートを示す図、第17図は、
第16A図の装置におけるデータ転送ルートを示す図、 第18図は、第16A図の装置に用いるパケットを示す
図、 第19図は、第16A図の装置のスイッチ(E X)の
動作のフローチャート、 第20図は、第16A図の装置のスイッチ(EX)の概
略構成図である。 第2A回 第25目 第3目 第4図 βλj(L・ρ、み・・・3.にρ、1.゛・刀MSI
    P/ 第ダ目 第す図 第7A目 第7目 第7.3A目 第 ノ4 A 目 第1415目 第11;、、C目 ネルり図 Plニア1)θ

Claims (1)

  1. 【特許請求の範囲】 1、複数のプロセッサを接続し、それら相互の間でデー
    タを転送するためのデータ転送ネットワークにおいて、 複数のスイッチが多段に接続され、各段のスイッチは前
    段の複数のスイッチと後段の複数のスイッチにそれぞれ
    接続され、 各々のスイッチは、前段のスイッチからパケットを受信
    する手段を有し、パケットは送り先プロセッサのアドレ
    スと送達されるべきデータとを含み、 上記送り先プロセッサのアドレスは複数ビットから構成
    され複数の部分アドレスを有し、上記データは複数ビッ
    トから構成される複数の部分データを有し、 上記受信手段は、上記複数の部分アドレスの個々の部分
    アドレスはそのすべてのビットを並列に受信し、上記複
    数の部分データの個々の部分データはそのすべてのビッ
    トを並列に受信し、かつ複数の部分アドレス、複数の部
    分データを逐次的に受信し、 さらに、各々のスイッチは、 上記受信手段と次段の複数のスイッチの間に接続された
    経路選択手段を有し、 該経路選択手段は、受信された複数の部分アドレスの個
    々の部分アドレスはそのすべてのビットを並列に転送し
    、また複数の部分データの個々の部分データはそのすべ
    てのビットを並列に転送し、かつ複数の部分アドレス、
    複数の部分データを次段の複数のスイッチのうち選択さ
    れた1つに逐次的に転送し、 さらに、各々のスイッチは、 上記受信手段と経路選択手段に接続された制御手段を有
    し、該制御手段は、 上記受信された複数の部分アドレスのうちの予め定めら
    れた1つの中の1または複数のビットに応動して上記経
    路選択手段を制御し、 上記多段に構成された複数のスイッチの少なくとも一部
    のスイッチに含まれる上記制御手段は、パケットの最初
    の部分アドレスの到着に応動して残りの少なくとも1つ
    以上の部分アドレスが到着する前に、該最初の部分アド
    レスの中の予め定められた1または複数のビットをデコ
    ードして、上記制御手段に接続された上記経路選択手段
    を制御することを特徴とするデータ転送ネットワーク。 2、複数のプロセッサを接続し、それら相互の間でデー
    タを転送するためのデータ転送するためのデータ転送ネ
    ットワークにおいて、 複数のスイッチが多段に接続され、各段のスイッチは前
    段の複数のスイッチと後段の複数のスイッチにそれぞれ
    接続され、 各々のスイッチは、前段のスイッチからパケットを受信
    する手段を有し、パケットは送り先プロセッサのアドレ
    スと送達されるべきデータとを含み、 上記送り先プロセッサのアドレスは複数ビットから構成
    される複数の部分アドレスを有し、上記データは複数ビ
    ットから構成される複数の部分データを有し、 上記受信手段は、上記複数の部分アドレスの個々の部分
    アドレスはそのすべてのビットを並列に受信し、上記複
    数の部分データの個々の部分データはそのすべてのビッ
    トを並列に受信し、かつ複数の部分アドレス、複数の部
    分データを逐次的に受信し、 さらに、各々のスイッチは、 上記受信手段と次段の複数のスイッチの間に接続された
    経路選択手段を有し、 該経路選択手段は、受信された複数の部分アドレスの個
    々の部分アドレスはそのすべてのビットを並列に転送し
    、また複数の部分データの個々の部分データはそのすべ
    てのビットを並列に転送し、かつ複数の部分アドレス、
    複数の部分データを次段の複数のスイッチのうち選択さ
    れた1つに逐次的に転送し、 さらに、各々のスイッチは 上記受信手段と経路選択手段に接続された制御手段を有
    し、該制御手段は、 上記受信された複数の部分アドレスのうちの予め定めら
    れた1つの中の1または複数のビットに応動して上記経
    路選択手段を制御し、 上記多段に構成された複数の段のうちの特定の段の複数
    のスイッチは、 それぞれ、受信された複数の部分アドレスの転送順序を
    変更するための手段を有し、 該転送順序変更手段は、次段のスイッチの制御手段がそ
    の経路選択手段を制御するに必要な部分アドレスを受信
    したすべての部分アドレスのなかで最初に転送すること
    を特徴とするデータ転送ネットワーク。 3、複数のプロセッサを接続し、それら相互の間でデー
    タを転送するためのデータ転送ネットワークにおいて、 複数のスイッチが多段に接続され、各段のスイッチは前
    段の複数のスイッチと後段の複数のスイッチにそれぞれ
    接続され、 各々のスイッチは、前段のスイッチからパケットを受信
    する手段を有し、パケットは送り先プロセッサのアドレ
    スと送達されるべきデータとを含み、 上記送り先プロセッサのアドレスは複数ビットから構成
    される複数の部分アドレスを有し、上記データは複数ビ
    ットから構成される複数の部分データを有し、 上記受信手段は、上記複数の部分アドレスの個々の部分
    アドレスはそのすべてのビットを並列に受信し、上記複
    数の部分データの個々の部分データはそのすべてのビッ
    トを並列に受信し、かつ複数の部分アドレス、複数の部
    分データを逐次的に受信し、 さらに、各々のスイッチは、 上記受信手段と次段の複数のスイッチの間に接続された
    経路選択手段を有し、 該経路選択手段は、受信された複数の部分アドレスの個
    々の部分アドレスはそのすべてのビットを並列に転送し
    、また複数の部分データの個々の部分データはそのすべ
    てのビットを並列に転送し、かつ複数の部分アドレス、
    複数の部分データを次段の複数のスイッチのうち選択さ
    れた1つに逐次的に転送し、 さらに、各々のスイッチは、 上記受信手段と経路選択手段に接続された制御手段を有
    し、該制御手段は、 上記受信された複数の部分アドレスのうちの予め定めら
    れた1つの中の1または複数のビットに応動して上記経
    路選択手段を制御し、 上記複数のプロセッサは、そのアドレスを構成する上記
    複数の部分アドレスの各々のビット数で指定できる数ご
    とにクラスタ化され、 データ転送ネットワークは、該クラスタ化されたプロセ
    ッサをクラスタ内で相互に接続し、上記他段に構成され
    た複数のスイッチで構成される部分ネットワークを有し
    、 該部分ネットワークの少なくとも一部のスイッチに含ま
    れる上記制御手段は、パケットの最初の部分アドレスの
    到着に応動して残りの少なくとも1つ以上の部分アドレ
    スが到着する前に、該最初の部分アドレスの中の予め定
    められた1または複数のビットをデコードして、上記制
    御手段に接続された上記経路選択手段を制御し、上記複
    数のプロセッサの任意の1つのプロセッサは、そのアド
    レスを構成する上記複数の部分アドレスの数と同じ数の
    複数の部分ネットワークに、部分ネットワークのいずれ
    にも含まれない他の上記スイッチを介して接続され、 該スイッチは、部分アドレスの数+1の入力ポートと部
    分アドレスの数+1の出力ポートを有し、該入力ポート
    の1つは上記1つのプロセッサに接続され、該入力ポー
    トの他のものは上記複数の部分ネットワークの各々にそ
    れぞれ接続され、該出力ポートの1つは上記1つのプロ
    セッサに接続され、該出力ポートの他のものは上記複数
    の部分ネットワークの各々にそれぞれ接続されて各々の
    入力ポートと各々の出力ポート間でパケットの転送を行
    い、 上記複数の部分ネットワークに接続され、部分ネットワ
    ークのいずれにも含まれないスイッチは、受信された複
    数の部分アドレスの転送順序を変更するための手段を有
    し、 パケットがある部分ネットワークから他の部分ネットワ
    ークに転送されるときに、 該スイッチの転送順序変更手段は、次段のスイッチの制
    御手段がその経路選択手段を制御するに必要な部分アド
    レスを、受信したすべての部分アドレスのなかで最初に
    転送するきとを特徴とするデータ転送ネットワーク。 4、複数のプロセッサを接続し、それら相互の間でデー
    タを転送するためのデータ転送ネットワークにおいて、 複数のスイッチが多段に接続され、各段のスイッチは前
    段の複数のスイッチと後段の複数のスイッチにそれぞれ
    接続され、 各々のスイッチは、前段のスイッチからパケットを受信
    する手段を有し、パケットは送り先プロセッサのアドレ
    スと送達されるべきデータとを含み、 上記送り先プロセッサのアドレスは複数ビットから構成
    される複数の部分アドレスを有し、上記データは複数ビ
    ットから構成される複数の部分データを有し、 上記受信手段は、上記複数の部分アドレスの個々の部分
    アドレスはそのすべてのビットを並列に受信し、上記複
    数の部分データの個々の部分データはそのすべてのビッ
    トを並列に受信し、かつ複数の部分アドレス、複数の部
    分データを逐次的に受信し、 さらに、各々のスイッチは、 上記受信手段と次段の複数のスイッチの間に接続された
    経路選択手段を有し、 該経路選択手段は、受信された複数の部分アドレスの個
    及は部分アドレスはそのすべてのビットを並列に転送し
    、また複数の部分データの個々の部分データはそのすべ
    てのビットを並列に転送し、かつ複数の部分アドレス、
    複数の部分データを次段の複数のスイッチのうち選択さ
    れた1つに逐次的に転送し、 さらに、各々のスイッチは、 上記受信手段と経路選択手段に接続された制御手段を有
    し、該制御手段は、 上記受信された複数の部分アドレスのうちの予め定めら
    た1つの中の1または複数のビットに応動して上記経路
    選択手段を制御し、 上記複数のプロセッサは、そのアドレスを構成する上記
    複数の部分アドレスの各々のビット数で指定できる数ご
    とにクラスタ化され、 データ転送ネットワークは、該クラスタ化されたプロセ
    ッサをクラスタ内で相互に接続し、上記他段に構成され
    た複数のスイッチで構成される部分ネットワークを有し
    、 上記複数のプロセッサの任意の1つのプロセッサは、そ
    のアドレスを構成する上記複数の部分アドレスの数と同
    じ数の複数の部分ネットワークに、部分ネットワークの
    いずれにも含まれない他の上部分ネットワークのいずれ
    にも含まれない他の上記スイッチを介して接続され、該
    スイッチは、部分アドレスの数+1の入力ポートと部分
    アドレスの数+1の出力ポートを有し、該入力ポートの
    1つは上記1つのプロセッサに接続され、該入力ポート
    の他のものは上記複数の部分ネットワークの各々にそれ
    ぞれ接続され、該出力ポートの1つは上記1つのプロセ
    ッサに接続され、該出力ポートの他のものは上記複数の
    部分ネットワークの各々にそれぞれ接続されて各々の入
    力ポートと各々の出力ポート間でパケットの転送を行い
    、 上記複数の部分ネットワークに接続され、部分ネットワ
    ークのいずれにも含まれないスイッチに含まれる上記制
    御手段は、パケットの最初の部分アドレスの到着に応動
    して残りの少なくとも1つ以上の部分アドレスが到着す
    る前に、該最初の部分アドレスの中の予め定められた1
    または複数のビットのデコードして、上記制御手段に接
    続された上記経路選択手段を制御し、上記複数の部分ネ
    ットワークのスイッチのうち、少なくとも一部のスイッ
    チに含まれる上記制御手段は、パケットの最初の部分ア
    ドレスの到着に応動して残りの少なくとも1つ以上の部
    分アドレスが到着する前に、該最初の部分アドレスの中
    の予め定められた1または複数のビットをデコードして
    、上記制御手段に接続された上記経路選択手段を制御し
    、 上記複数の部分ネットワークのスイッチのうち、上記他
    の特定のスイッチは受信された複数の部分アドレスの転
    送順序を変更するための手段を有し、 該スイッチの転送順序変更手段は、次段のスイッチの制
    御手段がその経路選択手段を制御するに必要な部分アド
    レスを、受信したすべての部分アドレスのなかで最初に
    転送することを特徴とするデータ転送ネットワーク。
JP18560388A 1987-07-27 1988-07-27 並列計算機のためのデータ転送ネットワーク Expired - Fee Related JP2954220B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18560388A JP2954220B2 (ja) 1987-07-27 1988-07-27 並列計算機のためのデータ転送ネットワーク

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP18547987 1987-07-27
JP62-185479 1987-07-27
JP18560388A JP2954220B2 (ja) 1987-07-27 1988-07-27 並列計算機のためのデータ転送ネットワーク

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP32984797A Division JP3002659B2 (ja) 1988-07-27 1988-07-27 データ転送ネットワーク
JP7186831A Division JPH0830571A (ja) 1995-07-24 1995-07-24 データ転送ネットワーク

Publications (2)

Publication Number Publication Date
JPH01105642A true JPH01105642A (ja) 1989-04-24
JP2954220B2 JP2954220B2 (ja) 1999-09-27

Family

ID=26503127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18560388A Expired - Fee Related JP2954220B2 (ja) 1987-07-27 1988-07-27 並列計算機のためのデータ転送ネットワーク

Country Status (1)

Country Link
JP (1) JP2954220B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210527A (ja) * 1990-02-02 1995-08-11 Internatl Business Mach Corp <Ibm> クラスタ制御装置およびクラスタ接続多重処理システム
JP2011142501A (ja) * 2010-01-07 2011-07-21 Nec Corp 並列計算ネットワーク装置とその制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107590A (ja) * 2004-10-04 2006-04-20 Nec Electronics Corp 半導体集積回路装置及びそのテスト方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59501038A (ja) * 1982-06-25 1984-06-07 ウエスタ−ン エレクトリツク カムパニ−,インコ−ポレ−テツド 高速パケツト交換システム
JPS60232743A (ja) * 1984-05-01 1985-11-19 Agency Of Ind Science & Technol スイツチング・ネツトワ−ク
JPS61289746A (ja) * 1985-06-13 1986-12-19 テキサス インスツルメンツインコ−ポレイテツド ユ−ザ−・パケツトの経路を選択する方法と相互接続回線

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59501038A (ja) * 1982-06-25 1984-06-07 ウエスタ−ン エレクトリツク カムパニ−,インコ−ポレ−テツド 高速パケツト交換システム
JPS60232743A (ja) * 1984-05-01 1985-11-19 Agency Of Ind Science & Technol スイツチング・ネツトワ−ク
JPS61289746A (ja) * 1985-06-13 1986-12-19 テキサス インスツルメンツインコ−ポレイテツド ユ−ザ−・パケツトの経路を選択する方法と相互接続回線

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210527A (ja) * 1990-02-02 1995-08-11 Internatl Business Mach Corp <Ibm> クラスタ制御装置およびクラスタ接続多重処理システム
JP2011142501A (ja) * 2010-01-07 2011-07-21 Nec Corp 並列計算ネットワーク装置とその制御方法

Also Published As

Publication number Publication date
JP2954220B2 (ja) 1999-09-27

Similar Documents

Publication Publication Date Title
US5113390A (en) Data transfer network suitable for use in a parallel computer
KR100334922B1 (ko) 효율적인출력요구패킷스위치와방법
US4920484A (en) Multiprocessor/memory interconnection network wherein messages sent through the network to the same memory are combined
TWI390913B (zh) 使用一緩衝交叉式交換系統用於在資料模組之間傳輸資料的裝置、方法、以及機器可讀儲存媒體
EP0197103B1 (en) Load balancing for packet switching nodes
US5140583A (en) Message routing
US5327127A (en) Message encoding which utilizes control codes and data codes
EP0198010B1 (en) Packet switched multiport memory nxm switch node and processing method
KR100620835B1 (ko) 최적화된 가변 네트워크 스위치
US7403536B2 (en) Method and system for resequencing data packets switched through a parallel packet switch
US4623996A (en) Packet switched multiple queue NXM switch node and processing method
US6907041B1 (en) Communications interconnection network with distributed resequencing
EP1193922B1 (en) Pipelined scheduling method and scheduler
JP3072649B2 (ja) スイッチング・デバイス及び装置
JPH0856230A (ja) スイッチングシステム
EP0744851A1 (en) Distributed data processing system
JP2001292164A (ja) パケット・スイッチおよびその切替方法
US5422881A (en) Message encoding
JP2509947B2 (ja) ネットワ−ク制御方式
JPH01105642A (ja) 並列計算機のためのデータ転送ネットワーク
US7269158B2 (en) Method of operating a crossbar switch
JPS6367047A (ja) パケツトスイツチ
EP0186595B1 (en) Routing technique
Chin et al. Connection principles for multipath, packet switching networks
JP3002659B2 (ja) データ転送ネットワーク

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070716

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees