【発明の詳細な説明】〔産業上の利用分野〕本発明は、フォノ・ノイマン型あるは非フォン・ノイマ
ン型のプロセッサあるいはメモリシステム等を多数組み
合わせたマルチプロセッサシステムにおける、高能率で
経済的なプロセッサ間通信手段に関するものである。[Detailed Description of the Invention] [Field of Industrial Application] The present invention is directed to a highly efficient and economical multiprocessor system that combines a large number of phono-neumann type or non-von neumann type processors or memory systems. The present invention relates to inter-processor communication means.
従来、マルチプロセッサシステムにおいて、プロセッサ
・プロセッサ間、プロセッサ・メモリ間、あるいはシス
テム中のサブユニット間の結合方式として、バス方式、
クロスバネットワーク方式、あるいは複数個のスイッチ
を多段に組み合わせた相互結合ネットワーク方式等が提
案されている。Conventionally, in multiprocessor systems, bus methods have been used as connection methods between processors, between processors and memory, or between subunits in the system
A crossbar network system, a mutually coupled network system in which a plurality of switches are combined in multiple stages, etc. have been proposed.
これらの結合方式のうち、バス方式は、ハードウェア量
は少ないが、バスの物理的な転送速度に上限があり、大
規模なマルチプロセッサシステムを実現するのが極めて
困難であった。また、クロスバネットワーク方式は、転
送容量、転送速度を太き(確保することができるが、ハ
ードウェア量が非常に多くなる欠点があった。Among these coupling methods, the bus method requires a small amount of hardware, but has an upper limit on the physical transfer speed of the bus, making it extremely difficult to realize a large-scale multiprocessor system. Further, although the crossbar network method can secure a large transfer capacity and transfer speed, it has the disadvantage of requiring a large amount of hardware.
一方、従来の相互結合ネットワーク方式は、大規模シス
テムを構成した場合、クロスバネットワーク方式に比較
して、スイッチを多段通過することにより、転送遅延が
大きくなり、且つ、クロスバネットワーク方式はどでは
ないがハードウェア量もかなり多いという欠点があった
。これを第3図を用いて詳細に説明する。On the other hand, when a large-scale system is configured with the conventional mutually coupled network method, compared to the crossbar network method, the transfer delay is larger due to the multiple stages of switching. The drawback was that the amount of hardware was quite large. This will be explained in detail using FIG.
第3図は、従来の相互結合ネットワークの1例(デルタ
ネットワーク)を示したもので、2人力×2出力のスイ
ッチを3段に組み合わせて8人力×8出力のネットワー
クを構成している。FIG. 3 shows an example of a conventional interconnection network (delta network), in which switches of 2 manpower and 2 outputs are combined in three stages to form a network of 8 manpower and 8 outputs.
同図において、(1−1)〜(1−8)はそれぞれプロ
セッサ、(2−1)〜(2−4)はそれぞれ第1段目を
構成するスイッチ、(3−1)〜(3−4)はそれぞれ
第2段目を構成するスイッチ、(4−1)〜(4−4)
はそれぞれ第3段目を構成するスイッチ、である。In the figure, (1-1) to (1-8) are processors, (2-1) to (2-4) are switches constituting the first stage, and (3-1) to (3- 4) are switches that constitute the second stage, (4-1) to (4-4)
are switches constituting the third stage, respectively.
このネットワークに、第4図に示すヘッダ付きの転送デ
ータを流すと、第1段目(t=1.2゜3)の各スイッ
チは第4図のヘッダのa3−4 ビットを参照して、0
ならば、自スイッチの第1番目の出力へ、1ならば2番
目の出力へルーチングする機能を持つ。ここで自スイッ
チがスイッチ(2−1)なら第1番目の出力とは(6−
1>を指し、第2番目の出力とは(6−2)を指し、ス
イッチ(3−3)なら第1番目の出力とは(7−5)を
指し、第2番目の出力とは(7−6)を指す。When the transfer data with the header shown in FIG. 4 is sent to this network, each switch in the first stage (t=1.2°3) refers to the a3-4 bits of the header shown in FIG. 0
If it is 1, it has the function of routing to the first output of the own switch, and if it is 1, it has the function of routing to the second output. Here, if the own switch is switch (2-1), the first output is (6-
1>, the second output refers to (6-2), and if the switch (3-3), the first output refers to (7-5), and the second output refers to ( 7-6).
例えば、プロセッサ1 (1−2)から、プロセッサ5
(1−6)にデータを転送したい場合には、ヘッダ情
報をata+ao−101(転送先のプロセッサ番号5
の2進数表現)とすることにより、上記のルーチング規
則により転送データが第3図の太線に示すようにルーチ
ングされて、プロセッサ5 (1−6)に到着する。For example, from processor 1 (1-2) to processor 5
(1-6), change the header information to ata+ao-101 (destination processor number 5
(binary representation), the transfer data is routed as shown by the bold line in FIG. 3 according to the above routing rules and arrives at the processor 5 (1-6).
この構成例において、ネットワーク規模を8人力×8出
力から、16人力×16出力に増大させると、スイッチ
段数は10ggB=3段から l。In this configuration example, if the network scale is increased from 8 manpower x 8 outputs to 16 manpower x 16 outputs, the number of switch stages will increase from 10ggB = 3 stages to l.
g ! 16 = 4段に増加し、転送時間の増加を招
くとともに、スイッチ数(ハードウェア量)は、8/2
X1ogg8−12個から、16 / 2 X 1 o
g t16−32個に増加する。しかもこの方式では
、任意の入力端子から、任意の出力端子への転送に対し
て同一の転送時間を要するため、特定の入力と出力の間
で頻繁に転送が行われる場合に、その間の転送遅延を短
くして全体の処理スピードを向上したいという要求に応
えることができないと言う欠点がある。G! 16 = increased to 4 stages, resulting in an increase in transfer time, and the number of switches (amount of hardware) is reduced to 8/2
From X1 ogg8-12 pieces, 16 / 2 X 1 o
g t Increase to 16-32 pieces. Moreover, with this method, the same transfer time is required for transfer from any input terminal to any output terminal, so if transfers are frequently performed between a specific input and output, the transfer delay between The disadvantage is that it cannot meet the demand for improving the overall processing speed by shortening the length of the process.
本発明の目的は、相互結合ネットワークにおいてネット
ワーク規模を大きくした場合にも、ネットワーク全体と
して平均転送遅延時間を少な目に維持するとともに、少
ないスイッチ数で実現が可能な相互結合ネットワークを
提供することにある。An object of the present invention is to provide a mutually coupled network that maintains a small average transfer delay time as a whole network even when the scale of the interconnected network is increased, and that can be realized with a small number of switches. .
本発明では、マルチプロセッサシステムによ(見受けら
れる処理の局所性に着目して、2レベルの接続構造をと
ることによって、ネットワーク規模を太き(した場合に
も、トラヒック頻度の高い入力・出力間では転送時間を
短くするとともに、これらを効率よくルーチングする構
成とした。In the present invention, by focusing on the locality of processing that can be seen in multiprocessor systems, and by adopting a two-level connection structure, the network size can be increased (even if In addition to shortening the transfer time, we designed a configuration that routes these efficiently.
(作用〕即ち、本発明の基本は、スイッチを多段に相互接続する
ことにより構成したN入力×N出力(N−2″ kは自
然数)のスイッチングネットワークにおいて、前記スイ
ッチングネットワークは更に、G入力x’c出力(G=
2’″ ;mは自然数)を1つのグループ単位としてN
70個のグループを有する第1レベルのスイッチングネ
ットワークと、(N/S)Y入力X(N/S)Y出力(
S=2’ ;pは自然数)を有する第2レベルのスイ
ッチングネットワークとにより構成され、第1レベルの
スイッチングネットワークは、1 o gsG段のスイ
ッチ群より構成され、第1番目(i=1.2.・・・l
ogSG)にはそれぞれ、073個のスイッチを配置す
るとともに、第1段目の各スイッチはS入力X(S+Y
)出力のスイッチで構成され、第1ogSG段目の各ス
イッチは(S+Y)入力×S出力のスイッチで構成され
(但し、Yは1又は複数)、残りの各段のスイッチはS
入力×S出力のスイッチで構成され、第1段目の各スイ
ッチの第S+1番目から第S+Y番目までの出力を7本
づつ、計(N/S)Y本を第2レベルのスイッチングネ
ットワークに入力し、第logSG段目の各スイッチの
第S+1番目から第S+Y番目までの入力を7本づつ、
計(N/S)Y本を第2レベルのスイッチングネットワ
ークの出力から引き込み、残りの第1段目の各スイッチ
の第1番目から第S番目までの出力は、次段の各スイッ
チに相互接続し、第2レベルのスイッチングネットワー
クは、10gm(N/S)段(R=2q;qは自然数)
のスイッチ群より構成され、第3段目(j=1.2゜・
・・、l o g* (N/S))にはそれぞれ、(N
/5R)Y個のR入力×R出力のスイッチを配置し、第
3段目の各スイッチの第1番目から第8番目までの出力
は、次段の各スイッチに相互接続し、kビットのヘッダ
(2進数表示でa K−18K−2・・・aO)を有す
る転送データを前記スイッチングネットワークの入力端
から出力端に転送するために、第1レベルのスイッチン
グネットワークの第1段目の各スイッチはヘッダの上位
(k−m)ビットと自グループ識別コードとを比較し、
一致していれば、ヘッダの残りのビット情報(mビット
)を用いて第1レベルのスイッチングネットワーク内で
自己ルーチングして、自グループ内の出力端子に出力し
、不一致であれば、第1段目のスイッチの第S+1番目
から第S+Y番目までの出力にルーチングし、第2レベ
ルのスイッチングネットワークでは、ヘッダの上位(k
−p)ビットの情報を用いて、自己ルーチングを行い、
第2レベルの出力端子に出力するようにしている。(Operation) That is, the basis of the present invention is that in a switching network of N inputs x N outputs (N-2'' k is a natural number) configured by interconnecting switches in multiple stages, the switching network further has G input x 'c output (G=
2'''; m is a natural number) as one group unit
A first level switching network with 70 groups and (N/S)Y inputs X (N/S)Y outputs (
S = 2'; p is a natural number), and the first level switching network is comprised of 1 o gsG stage switch groups, ...l
ogSG), each switch has 073 switches, and each switch in the first stage has an S input X (S+Y
) output switch, and each switch in the first ogSG stage is composed of (S+Y) input x S output switch (where Y is one or more), and the remaining switches in each stage are S
Consisting of input x S output switches, 7 outputs from S+1st to S+Yth of each switch in the first stage, a total of (N/S)Y outputs, are input to the second level switching network. Then, input seven inputs from S+1st to S+Yth of each switch in the logSG stage,
A total of (N/S) Y outputs are drawn from the output of the second level switching network, and the remaining outputs from the first to Sth outputs of each switch in the first stage are interconnected to each switch in the next stage. The second level switching network has 10 gm (N/S) stages (R=2q; q is a natural number).
The third stage (j=1.2°・
..., log* (N/S)), respectively, (N
/5R) Arrange Y switches of R input x R output, and the 1st to 8th outputs of each switch in the third stage are interconnected to each switch in the next stage, and the k-bit In order to transfer transfer data having a header (a K-18K-2...aO in binary notation) from the input end of the switching network to the output end, each of the first stages of the first level switching network The switch compares the upper (km) bits of the header with its own group identification code,
If they match, self-routing is performed within the first level switching network using the remaining bit information (m bits) of the header and output to the output terminal within its own group; if there is a mismatch, the first stage In the second level switching network, the upper (k
-p) performs self-routing using bit information;
The signal is output to the second level output terminal.
第8図は、以上の構成をまとめて図示した構成図である
ので参照されたい。Please refer to FIG. 8, which is a block diagram showing all the above structures.
第1図は本発明の一実施例を示す構成図である。FIG. 1 is a block diagram showing an embodiment of the present invention.
同実施例は16台のプロセッサ(20−1,・・・20
−16)が本発明の相互結合ネットワークに接続されて
いる。この相互結合ネットワークは2レベルからなる階
層構成をとっており、第1レベルは、第1段のスイッチ
群(21−1,・・・2l−8)、第2段のスイッチ群
(22−1,・・・22−8)から構成され、第2レベ
ルは、第1段のスイッチ群(23−1,・・・23−4
)、第2段のスイッチ群(24−1,・・・24−4)
、第3段のスイッチ群(25−1,・・・25−4)と
それらを結合するインタフェース線群(30−1から3
5−8まで)より構成される。In this embodiment, 16 processors (20-1, . . . 20
-16) are connected to the interconnection network of the present invention. This mutually coupled network has a hierarchical structure consisting of two levels. ,...22-8), and the second level is composed of the first stage switch group (23-1,...23-4).
), second stage switch group (24-1,...24-4)
, the third stage switch group (25-1,...25-4) and the interface line group (30-1 to 30-3) connecting them.
5-8).
このうち、第1レベル初段(第1段)の各スイッチ(2
1−1,・・・2l−8)は2人力×3出力、第1レベ
ル最終段(第2段)の各スイッチは3人力×2出力、第
2レベルの各スイッチはすべて2人力×2出力である。Among these, each switch (2
1-1,...2l-8) are 2 human power x 3 outputs, each switch on the final stage of the 1st level (2nd stage) is 3 human power x 2 outputs, and each switch on the 2nd level is 2 human power x 2 This is the output.
第1図の実施例では、プロセッサ((20−1)〜(2
0−16))は番号の若い順に4台づつ計4つのグルー
プを組んでいる。後述するように、同一グループ内のプ
ロセッサ間の通信時間は、異なるグループに属するプロ
セッサ間の通信時間よりも短くなるように構成されてい
る。In the embodiment of FIG. 1, the processors ((20-1) to (20-1)
0-16)) are formed into four groups of four cars in descending order of number. As will be described later, the communication time between processors within the same group is configured to be shorter than the communication time between processors belonging to different groups.
第2図はこれらのスイッチを一般的に表現するために、
3人力×3出力の最大構成で記載したものである。同図
において、(50−1)〜(50−3)はスイッチの各
入力線、(52−1)〜(52−3)はヘッダ付きの転
送データを一時的に格納する入力バッファ、(53−1
)〜(53−3)はヘッダの情報を参照し、各出力線(
51−1)〜(51−3)への行き先を判定する「ルー
チング情報識別回路Jである。54は3個の入力バッフ
ァ(52−1,52−2,52−3)からの出力のうち
、−時に1個のみが同時に同じ出力線(例えば51−1
)に出力されるように調整する競合調整回路であるが、
本発明の詳細な説明するうえで直接、関係はしないので
、それ以上の説明は省略する。(55−1)〜(55−
3)、(56−1)〜(56−3)、(57−1)〜(
57−3)はANDゲート、(5B−1)〜(58−3
)はORゲートで出力線(51−1)〜(51−3)の
選択制御に使用される。Figure 2 shows these switches in a general way.
The maximum configuration is 3 manpower x 3 outputs. In the same figure, (50-1) to (50-3) are each input line of the switch, (52-1) to (52-3) are input buffers that temporarily store transfer data with a header, and (53) are input lines of the switch. -1
) to (53-3) refer to the header information and connect each output line (
51-1) to (51-3). 54 is a routing information identification circuit J that determines the destination of the output from the three input buffers (52-1, 52-2, 52-3). , - when only one output line is connected at the same time (e.g. 51-1
) is a competition adjustment circuit that adjusts the output to
Since this is not directly relevant to the detailed explanation of the present invention, further explanation will be omitted. (55-1) ~ (55-
3), (56-1) ~ (56-3), (57-1) ~ (
57-3) is an AND gate, (5B-1) to (58-3
) is an OR gate used to select and control the output lines (51-1) to (51-3).
このスイッチを2人力×3出力として使用する場合には
、第3番目の入力線(50−3)を未使用状態にしてお
く。同様に、3人力×2出力として使用する場合は、第
3番目の出力線(51−3)を未使用状態に、2人力×
2出力として使用する時は、第3番目の入力線(50−
3)と第3番目の出力線(51−3)を未使用状態にし
ておく。When this switch is used as 2-man power x 3 outputs, the third input line (50-3) is left unused. Similarly, when using 3 manpower x 2 outputs, leave the third output line (51-3) unused and 2 manpower x 2 outputs.
When used as two outputs, connect the third input line (50-
3) and the third output line (51-3) are left unused.
各スイッチは第5図に示すような4ビツト(a3ata
lao )のヘッダ付き転送データが入力されると、ヘ
ッダの情報(ルーチング識別ビット)とグループ識別コ
ードによって自己ルーチングを行う。第1図に各スイッ
チにおけるグループの識別コードと、ルーチング識別ビ
ットは表1のように規則的に割り当てておく。Each switch has 4 bits (a3ata
When the header-attached transfer data (lao) is input, self-routing is performed using the header information (routing identification bit) and group identification code. In FIG. 1, group identification codes and routing identification bits in each switch are regularly assigned as shown in Table 1.
(以下、余白)表1の意味は、以下の通りである。例えば、第1レベル
第1段目のスイッチ21−2では、入力線((50−1
)〜(50−3))の各々に対応してルーチング情報識
別回路((53−1)〜(53−3))がグループ識別
コード00を、ヘッダ情報のa3a、と比較する。もし
、両者が一致すれば、ヘッダのa1ビットをルーチング
情報として使用する。この時、a、=0ならば、入力デ
ータをスイッチの第1出力線(51−1)に出力し、a
、=1ならば、入力データをスイッチの第2出力線(5
1−2)に出力する。また、グループ識別コードとヘッ
ダ情報(asat )とが一致しなければ、入力データ
をスイッチの第3出力線(51−3)に出力する。(Hereinafter, blank space) The meaning of Table 1 is as follows. For example, in the first stage switch 21-2 of the first level, the input line ((50-1
) to (50-3)), the routing information identification circuits ((53-1) to (53-3)) compare the group identification code 00 with the header information a3a. If they match, the a1 bit of the header is used as routing information. At this time, if a = 0, the input data is output to the first output line (51-1) of the switch, and a
, = 1, the input data is sent to the second output line of the switch (5
1-2). Further, if the group identification code and the header information (asat) do not match, the input data is output to the third output line (51-3) of the switch.
また、表1で第1レベル第2段目のスイッチ(22−6
)は、グループ識別コードを有していないので、ルーチ
ング情報識別回路では無条件にルーチング識別ビットa
0を参照して、その値に応じて第1出力線(51−1)
または第2出力線(52−2)に出力する。第2レベル
の各スイッチもこれと同様に、ルーチング識別ビットの
みで出力光を振り分ける。Also, in Table 1, the first level second stage switch (22-6
) does not have a group identification code, so the routing information identification circuit unconditionally uses the routing identification bit a.
0 and depending on the value, the first output line (51-1)
Or output to the second output line (52-2). Similarly, each switch at the second level also distributes output light based only on the routing identification bit.
なお、前述の「作用」の欄及び特許請求の範囲の欄で述
べた一般記号との対応で言えば、本実施例は、N=16
、G=4、Y=1、S=2、R=2、k==4、m=2
、p=1、q=lである。第1図において、各スイッチ
の第1番目、第2番目の入力は、前段からの出力につな
がっている。また、第1レベル第2段(最終段)スイッ
チについては、第3番目の入力は、第2レベルの第3段
(最終段)のスイッチの出力からつながれている。In addition, in terms of the correspondence with the general symbols mentioned in the above-mentioned "effect" column and claims column, this example has N=16.
, G=4, Y=1, S=2, R=2, k==4, m=2
, p=1, q=l. In FIG. 1, the first and second inputs of each switch are connected to the output from the previous stage. Further, for the first level second stage (final stage) switch, the third input is connected to the output of the third stage (final stage) switch of the second level.
さらに、第1レベル初段(第1段)スイッチの第3番目
の出力は、第2レベルの第1段の入力につながれている
。Further, the third output of the first level first stage (first stage) switch is connected to the input of the first stage of the second level.
まず、プロセッサO(20−1)から、それと同一のグ
ループに属するプロセッサ2 (20−3)への通信は
、以下の方法でスイッチ(21−1)、(22−2)の
2段のみの経由で行われる。First, communication from processor O (20-1) to processor 2 (20-3) belonging to the same group is performed using only two stages of switches (21-1) and (22-2) using the following method. It is done via
すなわち、転送先のプロセッサ番号は2なので、第5図
のヘッダ情報はaxazaIao=oO10と割り付け
る。プロセッサO(20−1)は、このヘッダ付きの転
送データをプロセッサ0の出力線(30−1)経由でス
イッチ(21−1)の第1番目の入力に入れる。第2図
との対応で言えば、この入力が入力線(50−1)に対
応し、ヘッダ付き転送データが入力バッファ(52−1
)に−旦記憶される。That is, since the transfer destination processor number is 2, the header information in FIG. 5 is assigned as axazaIao=oO10. Processor O (20-1) inputs this header-attached transfer data to the first input of switch (21-1) via output line (30-1) of processor 0. In terms of correspondence with Figure 2, this input corresponds to the input line (50-1), and the header-attached transfer data corresponds to the input buffer (52-1).
) to be stored.
ルーチング情報識別回路(53−1)は、ヘッダの上位
2ピツ)a:1at=ooをみて、グループ識別コード
(表1から、スイッチ21−1の識別コードは00)と
一致することから、自スイッチの第1番目または第2番
目の出力(51−1,5l−2)のいずれかにルーチン
グすべきものと判定する。この場合、表1から、このル
ーチング識別ビットはalであり、a、=1なので、第
2番目の出力(51−2)にルーチングすべきことがわ
かり、制御線59−2を1にする。その結果、バッファ
(52−1)内のヘッダ付きデータはANDゲート(5
5−2)、ORゲート(58−2)を経由して出力線(
51−2)に出力される。The routing information identification circuit (53-1) looks at the top two bits (a:1at=oo) of the header and identifies it automatically because it matches the group identification code (from Table 1, the identification code of the switch 21-1 is 00). It is determined that the output should be routed to either the first or second output (51-1, 5l-2) of the switch. In this case, from Table 1, since this routing identification bit is al and a,=1, it is found that the second output (51-2) should be routed, and the control line 59-2 is set to 1. As a result, the header data in the buffer (52-1) is transferred to the AND gate (52-1).
5-2), the output line (
51-2).
この出力線は、第1図のスイッチ(21−1)の第2番
目の出力線(31−2)に対応しているので、ヘッダ付
き転送データは第2レベル第2段目のスイッチ(22−
2)の第1入力に入れられる。This output line corresponds to the second output line (31-2) of the switch (21-1) in FIG. −
2) into the first input.
スイッチ(22−2)の動作を、再び第2図を用いて説
明すると、ヘッダ付き転送データは入力線(50−1)
を経由して入力バッファ(52−1)に入れられる。ス
イッチ(22−2)のルーチング情報識別回路(53−
1)は、表1のルーチング規則に従い、ヘッダの最下位
1ビツトa。To explain the operation of the switch (22-2) again using FIG. 2, the header-attached transfer data is transferred to the input line (50-1).
is input into the input buffer (52-1). Routing information identification circuit (53-) of switch (22-2)
1) is the lowest 1 bit a of the header according to the routing rules in Table 1.
=0を見て、第1番目の出力にルーチングすべきことが
わかり、制御線(59−1)を1にする。=0, it is found that routing should be made to the first output, and the control line (59-1) is set to 1.
その結果、ヘッダ付きデータはANDゲート(55−1
)、ORゲート(58−1)を経由して、第1番目の出
力vA(51−1)に出力される。この出力は、第1図
のスイッチ(22−2)の第1出力線(32−3)に対
応するので、結局、転送データはプロセッサ2 (20
−3)に転送されることになる。すなわち、プロセッサ
4 (20−1)から、それと同一グループに属するプ
ロセッサ2(20−3)への通信は、スイッチ2段のみ
の経由で高速に行うことができる。As a result, the header data is AND gate (55-1
) and is output to the first output vA (51-1) via the OR gate (58-1). Since this output corresponds to the first output line (32-3) of the switch (22-2) in FIG.
-3). That is, communication from processor 4 (20-1) to processor 2 (20-3) belonging to the same group can be performed at high speed via only two stages of switches.
次にプロセンサI C20−2)から、それき異なるグ
ループに属するプロセッサ13 (20−14)への通
信方法を説明する。Next, a method of communication from the processor IC 20-2) to the processor 13 (20-14) belonging to a different group will be explained.
転送先プロセッサ番号は13なので、ヘッダ情報asa
za+ao=1101と設定し、プロセッサ1 (20
−2)より、ヘッダ付き転送データがインタフェース線
30−2経由でスイッチ21−1の第2人力に入れられ
る。スイッチ21−1の動作を第2図を用いて説明する
と、ヘッダ付き転送データは入力線50−2を経由して
入力バッファ52−2に入れられる。ルーチング情報識
別回路53−2は、表1に示すルーチング規則に従って
、まず、ヘッダの上位2ピノ)aiaz=11をみて、
グループ識別コード(表1より、00)と比較する。両
者は一致しないので、他グループ宛の転送データである
と判断し、スイッチの第3番目の出力にルーチングする
ために、制御線60−3を1にする。その結果、ヘッダ
付きデータはANDゲート56−3、ORゲート58−
3を経由して、第3番目の出力線51−3に出力される
。この出力は、第1図のインタフェース線(31−3)
に対応するので、第2レベル第1段目のスイッチ23−
1の第1人力にヘッダ付き転送データが送り込まれる。Since the transfer destination processor number is 13, the header information asa
Set za+ao=1101 and processor 1 (20
-2), the header-attached transfer data is input to the second input of the switch 21-1 via the interface line 30-2. The operation of the switch 21-1 will be explained using FIG. 2. Header-attached transfer data is input to the input buffer 52-2 via the input line 50-2. According to the routing rules shown in Table 1, the routing information identification circuit 53-2 first looks at the top two pins (aiaz=11) in the header, and
Compare with the group identification code (00 from Table 1). Since the two do not match, it is determined that the data is to be transferred to another group, and the control line 60-3 is set to 1 in order to route it to the third output of the switch. As a result, the header data is transferred to the AND gate 56-3, the OR gate 58-
3, and is output to the third output line 51-3. This output is connected to the interface line (31-3) in Figure 1.
Since it corresponds to the second level first stage switch 23-
The header-attached transfer data is sent to the first person of No. 1.
スイッチ(23−1)の動作を、再び第2図を用いて説
明すると、ヘッダ付き転送データは入力線50−1を経
由して入力バッファ52−1に入れられる。スイッチ2
3−1のルーチング情報識別回路53−1は、表1に示
すルーチング規則に従って、ヘッダの第3ビツト目as
””1を見て、第2番目の出力にルーチングすべきこと
がわかり、制御線59−2を1にする。その結果、ヘッ
ダ付きデータはANDゲート55−2、ROゲート58
−2を経由して、第2番目の出力線51−2に出力され
る。この出力は、第1図の第2レベル第2段目のスイッ
チ(24−3)の第1番目の入力(33−2)となる。The operation of the switch (23-1) will be explained again using FIG. 2. Header-attached transfer data is input into the input buffer 52-1 via the input line 50-1. switch 2
The routing information identification circuit 53-1 of 3-1 selects the third bit of the header as according to the routing rules shown in Table 1.
Looking at "" 1, it is known that the second output should be routed, and the control line 59-2 is set to 1. As a result, the header data is passed through the AND gate 55-2 and the RO gate 58.
-2, and is output to the second output line 51-2. This output becomes the first input (33-2) of the second level second stage switch (24-3) in FIG.
このスイッチ(24−3)のルーチング識別ビットは、
表1に示すようにazである以外は前述のスイッチ(2
3−1)と同じ働きをするので、以後、詳細説明は省略
するが、at””1なのでヘッダ付データはスイッチ2
4−3の第2番目の出力線(34−6)に出力され、第
2レベルの最終段(第3段)のスイッチ(25−4)に
入力される。The routing identification bit of this switch (24-3) is
As shown in Table 1, the above switches (2
Since it has the same function as 3-1), detailed explanation will be omitted hereafter, but since at""1, data with header is sent to switch 2.
The signal is output to the second output line (34-6) of 4-3, and is input to the switch (25-4) at the final stage (third stage) of the second level.
スイッチ(25−4)では、表1に示すように、ルーチ
ング識別ビットはalであり、a、=0なので、ヘッダ
付きデータはスイッチ(25−4)の第1番目の出力線
(35−7)に出力され、第1レベルの最終段(第2段
)のスイッチ(22−7)に第3番目の入力線に入力さ
れる。スイッチ(22−7)では、表1に示すように、
ルーチング識別ビットはaoであり、a o = 1な
ので、ヘッダ付きデータはスイッチ(22−7)の第2
番目の出力線(32−14)に出力され、これを経由し
て最終宛先のプロセッサ13 (20−14)に転送デ
ータが送り届けられる。In the switch (25-4), as shown in Table 1, the routing identification bit is al and a = 0, so the header data is sent to the first output line (35-7) of the switch (25-4). ), and is input to the third input line of the switch (22-7) at the final stage (second stage) of the first level. In the switch (22-7), as shown in Table 1,
The routing identification bit is ao, and since ao = 1, the header data is sent to the second switch (22-7).
The transfer data is output to the th output line (32-14), and the transfer data is sent to the final destination processor 13 (20-14) via this.
このように、グループ間にまたがるプロセッサ間の通信
は、5段のスイッチ(21−1,23−1,24−3,
25−4,22−7)を経由して行われる。In this way, communication between processors across groups is performed using five stages of switches (21-1, 23-1, 24-3,
25-4, 22-7).
以上、まとめると、全プロセッサ数N=16、グループ
あたりのプロセッサ数G=4、スイッチサイズS=2の
場合、本発明の方式では、同一グループに属するプロセ
ッサ間の通信は2段のスイッチ経由で実現され、異なる
グループに属するプロセッサ間の通信は5段のスイッチ
経由で実現される。このときのスイッチ数は第1レベル
が16゜第2レベルが12、合計28個で実現される。In summary, when the total number of processors N = 16, the number of processors per group G = 4, and the switch size S = 2, in the method of the present invention, communication between processors belonging to the same group is performed via two-stage switches. Communication between processors belonging to different groups is realized via five-stage switches. The number of switches at this time is 16 degrees at the first level and 12 at the second level, making a total of 28 switches.
これを第3図のような従来型の相互結合ネットワークと
比較すると、従来型では、同様の条件下(プロセッサが
16台で2人力×2出力スイッチ)を使った場合、プロ
セッサ間通信は、宛先に関係なく、いずれの場合も10
gz16=4段のスイッチ経由で行われ、スイッチ数も
16 / 2 X l 。Comparing this with the conventional interconnection network shown in Figure 3, under similar conditions (16 processors, 2 human power x 2 output switches), inter-processor communication is 10 in any case, regardless of
gz16=This is done via 4 stages of switches, and the number of switches is 16 / 2 X l.
gz16=32個必要となる。したがって、本発明の方
式は従来方式に比べて、グループ内の通信時間は短く、
グループ間の通信時間は少し長くなるとともに、スイッ
チ個数も少ない、特に通信時間に関しては、マルチプロ
セッサシステムによく見られる性質として、処理の局所
性(一部のごく限られたプロセッサ同士の間では、通信
量が多く、それ以外のプロセッサ間では、通信量が少な
いという性質)があるので、関連の深いプロセッサ同士
を同一グループに収容することによって、システム全体
としての平均的な通信時間を大幅に削減することが可能
である。gz16=32 pieces are required. Therefore, in the method of the present invention, the communication time within a group is shorter than in the conventional method.
The communication time between groups is a little longer, and the number of switches is smaller.Especially regarding communication time, a characteristic often seen in multiprocessor systems is the locality of processing (between a very limited number of processors, Since the amount of communication is large and the amount of communication between other processors is small, by accommodating closely related processors in the same group, the average communication time for the entire system can be significantly reduced. It is possible to do so.
本発明における他の実施例をそれぞれ第6図、第7図に
示す。Other embodiments of the present invention are shown in FIGS. 6 and 7, respectively.
第6図は、16台のプロセッサ((80−1)〜(80
−16))、第1レベル第1段のスイッチ群((81−
1)〜(81−8))、第1レベル第2段のスイッチ群
((82−1)〜(82−8))、第2レベル第1段の
スイッチ群((83−1)〜(83−8))、第2レベ
ル第2段のスイッチ群((84−1〜(84−8))、
第2レベル第3段のスイッチ群((85−1)〜(85
−5))、から構成される。Figure 6 shows 16 processors ((80-1) to (80
-16)), first level first stage switch group ((81-
1) to (81-8)), first level second stage switch group ((82-1) to (82-8)), second level first stage switch group ((83-1) to ( 83-8)), second level second stage switch group ((84-1 to (84-8)),
Second level third stage switch group ((85-1) to (85
-5)).
前述の「作用」の欄及び特許請求の範囲の欄で述べた一
般記号との対応で言えば、本実施例は、N=16、G=
4、Y=2、S=2、R=2で、基本的には第1図と同
じであるが、第1図と異なる点は、第1レベル第1段ス
イッチのサイズが2人力×3出力から、2人力×4出力
に変更され、第1レベル第2段スイッチのサイズが3人
力×2出力から、4人力×2出力に変更されている点で
ある。In terms of correspondence with the general symbols mentioned in the above-mentioned "effect" column and claims column, in this example, N=16, G=
4, Y = 2, S = 2, R = 2, basically the same as Figure 1, but the difference from Figure 1 is that the size of the 1st level 1st stage switch is 2 manual x 3 The output has been changed to 2 manpower x 4 outputs, and the size of the first level second stage switch has been changed from 3 manpower x 2 outputs to 4 manpower x 2 outputs.
その結果、第1レベルと第2レベルの間の転送幅が第1
図の場合の2倍に拡大(Y=1からY=2に変更された
こと)されたことになる。ルーチングの方法としては、
第1レベルでは第1図の場合と全く同じであり、第2レ
ベルでは第1段がルーチング識別ビットとしてa、を、
第2段と第3段がそれぞれa!、atを使用する。同一
グループを構成する4台のプロセッサ間の通信は、第1
図の場合と同様、スイッチ2段の経由で済み、グループ
間での通信はスイッチ5段の経由で実現される。第6図
のような構成は、グループ間の通信頻度が比較的多く、
グループ間で大きな転送幅を確保しておきたい場合に有
効である。As a result, the transfer width between the first level and the second level is
This means that it has been enlarged twice as much as in the case shown in the figure (Y=1 has been changed to Y=2). As for the routing method,
At the first level, it is exactly the same as in Figure 1, and at the second level, the first stage uses a as the routing identification bit,
The second and third stages are each a! , at is used. Communication between the four processors that make up the same group is
As in the case shown in the figure, only two stages of switches are required, and communication between groups is realized through five stages of switches. In the configuration shown in Figure 6, communication frequency between groups is relatively high.
This is effective when you want to secure a large transfer width between groups.
第7図は、16台のプロセッサ((90−1)〜(90
−16))、第1レベル第1段のスイッチ群N9l−1
)〜(91−8))、第1レベル第2段のスイッチ群(
(92−1)〜(92−8))、第2ベル第1段のスイ
ッチ群((93−1)〜(93−4)L第2レベル第2
段のスイッチ群((94−1)〜(94−4))、第3
レベル第1段のスイッチ群((95−1)〜(95−2
))、第3レベル第2段のスイッチ群((96−1)〜
(96−2))から構成される。Figure 7 shows 16 processors ((90-1) to (90
-16)), first level first stage switch group N9l-1
) to (91-8)), first level second stage switch group (
(92-1) to (92-8)), second bell first stage switch group ((93-1) to (93-4)L second level second
Stage switch group ((94-1) to (94-4)), third
Level 1 switch group ((95-1) to (95-2)
)), 3rd level 2nd stage switch group ((96-1) ~
(96-2)).
本実施例は、第1図における第2レベルのネットワーク
を更に2レベルに分け、システム全体を3階層化したも
のである。即ち、第2レベルの第1段スイッチ群((9
3−1)〜(93−4))は2人力×3出力のスイッチ
で構成し、第3番目の出力を第3レベルのネットワーク
に接続する。In this embodiment, the second level network in FIG. 1 is further divided into two levels, and the entire system is made into three layers. That is, the second level first stage switch group ((9
3-1) to (93-4)) are composed of two-manpower x three-output switches, and the third output is connected to the third-level network.
また、第2レベル第2段のスイッチ群((94−1)〜
(94−4))は3人力×2出力のスイッチで構成し、
第3番目の入力は第3レベルのネッワークの出力から引
き込む、第3レベルは2人力×2出力のスイッチ2段で
構成したネットワークである。第1レベルでは、第1図
と同様、4台のプロセッサを1つのグループにしている
が、第2レベルでは、隣接する2つの第2レベルグルー
プ(プロセッサ8台分、例えば(90−1)〜(90−
8))で第2グループを組むように構成したものである
。ルーチングは、第1レベルの各段では第1図の場合と
同様である。In addition, the second level second stage switch group ((94-1) ~
(94-4)) consists of 3 human power x 2 output switches,
The third input is drawn from the output of the third level network, and the third level is a network consisting of two stages of two-manpower x two-output switches. At the first level, four processors are grouped into one group as in FIG. 1, but at the second level, two adjacent second level groups (eight processors, for example (90-1) to (90-
8)) to form a second group. Routing is the same as in FIG. 1 for each stage of the first level.
第2レベルの第1段では、転送データのヘッダ(第5図
)の上位1ビツト(a、)を、予め割り当てられたグル
ープ識別コード(1ビツト)と比較し、自グループ(第
2レベルグループ)宛なら、第2レベルの第1段と第2
段とにより、ヘッダの次の上位2ビツト(aZa+ )
で第2レベルをルーチングする。また、ヘッダが他の第
2レベルグループ宛ならば、第2レベル第1段スイッチ
の第3出力経由で第3レベルに迂回させる。第3レベル
ではヘッダの上位2ピツ)(a=aZ )を用いてルー
チングする。このようなルーチングを行うことにより、
プロセッサ4台からなる第1レベルのグループ内通信は
第1図の場合と同様、スイッチ2段分経由で実現される
。また、プロセッサ8台からなる第2グループ間通信は
、スイッチ4段分経由で、更に、異なる第2レベルグル
ープ間通信では、6段のスイッチ経由で実現される。In the first stage of the second level, the upper 1 bit (a,) of the header of the transfer data (Fig. 5) is compared with the group identification code (1 bit) assigned in advance, and the ), the first and second rows of the second level
The next upper 2 bits of the header (aZa+)
to route the second level. Furthermore, if the header is addressed to another second level group, it is detoured to the third level via the third output of the second level first stage switch. At the third level, routing is performed using the top two pits of the header (a=aZ). By performing such routing,
Communication within a first level group consisting of four processors is achieved via two stages of switches, as in the case of FIG. Furthermore, communication between a second group consisting of eight processors is achieved via four stages of switches, and communication between different second level groups is achieved via six stages of switches.
このように、グループが階層構成をなしているようなシ
ステムに対しても、階層のレベルに応じて、転送遅延時
間も適切に設定することができる。In this way, even for a system in which groups have a hierarchical structure, the transfer delay time can be appropriately set according to the hierarchical level.
以上、説明したように、同一グループに組んだプロセッ
サの間では、転送遅延時間の少ない通信を、異なるグル
ープのプロセッサ間では、転送遅延時間が少し大きい通
信を実現しているので、通常、よく見られる局所性のあ
るプロセッサ間通信の場合に、システム全体として通信
時間を大きく短縮することができる。As explained above, communication between processors in the same group has a small transfer delay time, while communication between processors in different groups has a slightly longer transfer delay time. In the case of inter-processor communication with locality, the communication time can be significantly reduced for the entire system.
また、グループを構成するプロセッサの数が一定ならば
、全体のプロセッサ数を増加させた場合にも、異なるグ
ループ間の通信時間が延びるだけで、同一グループ内の
通信時間(スイッチ段数)を一定に保つことができるの
で、大規模なシステムを構築しやすいと言う利点がある
。Furthermore, if the number of processors that make up a group is constant, even if the overall number of processors is increased, the communication time between different groups will only increase, while the communication time (number of switch stages) within the same group will remain constant. This has the advantage of making it easy to construct large-scale systems.
さらに、従来の相互結合ネットワークに比較して、少な
いスイッチ数で経済的にネットワークを構成することが
できる。Furthermore, compared to conventional interconnected networks, the network can be constructed economically with fewer switches.
また、システムの通信トラヒックの要求条件に応じてス
イッチサイズ、グループサイズ、あるいはレベルの段数
等の組み合せを変えることができる柔軟性を有している
ので、要求条件に最適なネットワークを提供することが
できる。In addition, it has the flexibility to change the combination of switch size, group size, number of levels, etc. according to the communication traffic requirements of the system, so it is possible to provide a network that is optimal for the requirements. can.
第1図は本発明の一実施例を示す構成図、第2図は、本
発明によるネットワークを構成するスイッチの内部構成
図、第3図は従来型の相互結合ネットワークの構成図、
第4図は第3図のネットワーク内を転送させる「ヘッダ
付き転送データ」のフォーマット説明図、第5図は第1
図、第6図、第7図のネットワーク内を転送させる「ヘ
ッダ付き転送データ」のフォーマット説明図、第6図、
第7図はそれぞれ本発明の他の実施例を示す構成図、第
8図は課題解決手段と作用を図示して示した構成図、で
ある。符号の説明l・・・プロセッサ、2.3.4・・・スイッチ、5゜
6.7.8・・・インタフェース線、20・・・プロセ
ッサ、21,22,23.24.25・・・スイッチ、
30.31,32.33.34.35・・・インタフェ
ース線、50・・・入力インタフェース線、51・・・
出力インタフェース線、52・・・入力バッファ、53
・・・ルーチング情報識別回路、54・・・競合調整回
路、55,56.57・・・ANDゲート、58・・・
ORゲート、80・・・プロセッサ、81,82.83
゜84.85・・・スイッチ、90・・・プロセッサ、
91゜92.93,94,95,96. ・・・スイ
ッチ代理人 弁理士 並 木 昭 夫代理人 弁理士 松 崎 清第1段第3仄1段%3g&′!s4図第図FIG. 1 is a configuration diagram showing an embodiment of the present invention, FIG. 2 is an internal configuration diagram of a switch configuring a network according to the present invention, and FIG. 3 is a configuration diagram of a conventional interconnection network.
Figure 4 is an explanatory diagram of the format of the "header-attached transfer data" that is transferred within the network in Figure 3, and Figure 5 is the
An explanatory diagram of the format of "header-attached transfer data" transferred within the network in Figures 6 and 7, Figure 6,
FIG. 7 is a block diagram showing other embodiments of the present invention, and FIG. 8 is a block diagram illustrating problem-solving means and operations. Explanation of symbols l...Processor, 2.3.4...Switch, 5゜6.7.8...Interface line, 20...Processor, 21, 22, 23.24.25... switch,
30.31, 32.33.34.35...Interface line, 50...Input interface line, 51...
Output interface line, 52...input buffer, 53
... Routing information identification circuit, 54... Competition adjustment circuit, 55, 56.57... AND gate, 58...
OR gate, 80...processor, 81, 82.83
゜84.85...Switch, 90...Processor,
91°92.93,94,95,96. ...Switch Agent Patent Attorney Akio Namiki Agent Patent Attorney Kiyoshi Matsuzaki 1st Dan 3 21st Dan% 3g&'! s4 diagram diagram
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63296031AJPH02143638A (en) | 1988-11-25 | 1988-11-25 | Mutually coupling network |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63296031AJPH02143638A (en) | 1988-11-25 | 1988-11-25 | Mutually coupling network |
| Publication Number | Publication Date |
|---|---|
| JPH02143638Atrue JPH02143638A (en) | 1990-06-01 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63296031APendingJPH02143638A (en) | 1988-11-25 | 1988-11-25 | Mutually coupling network |
| Country | Link |
|---|---|
| JP (1) | JPH02143638A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06214965A (en)* | 1992-09-17 | 1994-08-05 | Internatl Business Mach Corp <Ibm> | Digital computer |
| US5521617A (en)* | 1993-04-15 | 1996-05-28 | Sony Corporation | Three-dimensional image special effect apparatus |
| JP2017539180A (en)* | 2014-12-18 | 2017-12-28 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Optical network on chip, optical router, and signal transmission method |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06214965A (en)* | 1992-09-17 | 1994-08-05 | Internatl Business Mach Corp <Ibm> | Digital computer |
| US5521617A (en)* | 1993-04-15 | 1996-05-28 | Sony Corporation | Three-dimensional image special effect apparatus |
| US5714982A (en)* | 1993-04-15 | 1998-02-03 | Sony Corporation | Three-dimensional image special effect apparatus |
| US5739813A (en)* | 1993-04-15 | 1998-04-14 | Sony Corporation | Three-dimensional image special effect apparatus |
| US5850213A (en)* | 1993-04-15 | 1998-12-15 | Sony Corporation | Three-dimensional image special effect apparatus |
| JP2017539180A (en)* | 2014-12-18 | 2017-12-28 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Optical network on chip, optical router, and signal transmission method |
| US10250958B2 (en) | 2014-12-18 | 2019-04-02 | Huawei Technologies Co., Ltd | Optical network-on-chip, optical router, and signal transmission method |
| Publication | Publication Date | Title |
|---|---|---|
| Lenfant | Parallel permutations of data: A Benes network control algorithm for frequently used permutations | |
| Patel | Performance of processor-memory interconnections for multiprocessors | |
| US5123011A (en) | Modular multistage switch for a parallel computing system | |
| JP2523207B2 (en) | Multi-stage network control method | |
| Jordan et al. | Serial array time slot interchangers and optical implementations | |
| EP0424618A2 (en) | Input/output system | |
| US5299317A (en) | Method and apparatus for simulating an interconnection network | |
| JPS5828953B2 (en) | Kokanmou Kumikaesouchi | |
| Bondy et al. | Optimal paths and cycles in weighted graphs | |
| JPH07101875B2 (en) | Multistage network control device and control method thereof | |
| JPH0349336A (en) | Multistage network controller and method of the same | |
| US5754792A (en) | Switch circuit comprised of logically split switches for parallel transfer of messages and a parallel processor system using the same | |
| JPH02143638A (en) | Mutually coupling network | |
| US4057711A (en) | Analog switching system with fan-out | |
| JP2007058571A (en) | Circuit and circuit connection method | |
| US5220664A (en) | Merging network with three or more simultaneous inputs | |
| Seo et al. | The composite banyan network | |
| JPH04256130A (en) | Arithmetic circuit for fuzzy control | |
| US5142686A (en) | Multiprocessor system having processors and switches with each pair of processors connected through a single switch using Latin square matrix | |
| US5404540A (en) | Arbiter with a uniformly partitioned architecture | |
| EP0186595B1 (en) | Routing technique | |
| Das et al. | Isomorphism of conflict graphs in multistage interconnection networks and its application to optimal routing | |
| Lin et al. | A practical constant time sorting network | |
| Alleyne et al. | Expanded delta networks for very large parallel computers | |
| US6128719A (en) | Indirect rotator graph network |