JPH0243849A - Inter-node relay system - Google Patents

Inter-node relay system

Info

Publication number
JPH0243849A
JPH0243849A JP63194941A JP19494188A JPH0243849A JP H0243849 A JPH0243849 A JP H0243849A JP 63194941 A JP63194941 A JP 63194941A JP 19494188 A JP19494188 A JP 19494188A JP H0243849 A JPH0243849 A JP H0243849A
Authority
JP
Japan
Prior art keywords
node
relay
nodes
network
find
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
Application number
JP63194941A
Other languages
Japanese (ja)
Inventor
Masayuki Ikeda
正幸 池田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63194941A priority Critical patent/JPH0243849A/en
Publication of JPH0243849A publication Critical patent/JPH0243849A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To attain high speed data transmission without causing dead lock by applying half sequencing to numbers of nodes and selecting relay nodes so that the sign of the 2nd-order differentiation coefficients of the node numbers subject to half sequencing is constant. CONSTITUTION:Half sequencing is applied to numbers of nodes 1 in a network in a multi-processor system comprising the networks and a node whose sign of the 2nd-order differentiation coefficients of the node numbers subject to half sequencing is constant is selected while keeping the half sequencing and the transmission route is decided so as to reach a destination node. Thus, the relay of nodes of hiper cube by the hardware is implemented economically without causing dead lock.

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする課題課題を解決す
るための手段 作用 実施例 発明の効果 〔概要〕 例えば、ハイパーキューブ結合ネットワークで構成され
るマルチプロセッサシステムにおけるノード間の中継方
式に関し、 ハイパーキューブ結合ネットワーク上での中継をデッド
ロックを起こすことなく中継することを目的とし、 該ネットワークの各ノードの番号に対して半順序付けを
行い、その半順序付けされたノード番号の2次微分係数
の符号が一定となるように中継ノードを選択するように
構成する。
[Detailed Description of the Invention] [Table of Contents] Overview Industrial Application Fields Conventional Technology and Problems to be Solved by the Invention Means for Solving the Problems Actions Examples Effects of the Invention [Summary] For example, hypercube connection network Regarding the relay method between nodes in a multiprocessor system composed of The configuration is such that the relay nodes are selected such that the signs of the second-order differential coefficients of the semi-ordered node numbers are constant.

〔産業上の利用分野〕[Industrial application field]

本発明は、例えば、ハイパーキューブ結合ネットワーク
で構成されるマルチプロセッサシステムにおけるノード
間の中継方式に関する。
The present invention relates to a relay method between nodes in a multiprocessor system configured with, for example, a hypercube connection network.

最近の計算機システムを構築するのに使用される論理素
子等に対するテクノロジー上の限界により、該計算機シ
ステムの、例えば、プロセ・7す(CPU)に使用され
るマシンクロックに限界が見えてくるようになってきた
Due to the technological limitations of the logic elements used to construct modern computer systems, there are limits to the machine clocks used in the computer systems' processors (CPUs), for example. It has become.

従って、単一のプロセッサでは性能上に限界があること
から、ネットワークに複数個のプロセッサを接続し、該
プロセッサの並列動作を行わせることにより、計算機シ
ステム全体の処理能力を向上させることが行われるよう
になり、該ネットワク内においてプロセッサ間の通信が
必要となってきた。
Therefore, since there is a limit to the performance of a single processor, the processing power of the entire computer system is improved by connecting multiple processors to a network and having the processors operate in parallel. As a result, communication between processors within the network has become necessary.

該マルチプロセッサシステムを構築する場合のネットワ
ークには、種々のものがあるが、その中の1つとして所
謂、ハイパーキューブ結合ネットワークがある。
There are various types of networks for constructing the multiprocessor system, and one of them is a so-called hypercube connection network.

このハイパーキューブ結合ネットワークはノード間のリ
ンクの数に比較してノードの数を多(することができる
という特徴を持っている。
This hypercube connection network has the characteristic that it can have a large number of nodes compared to the number of links between nodes.

例えば、該ネットワークにおいては・、1つのノードの
0本のリンクに対して27個のプロセッサを結合できる
ことから、該ハイパーキューブによるマルチプロセッサ
システムを構築することがよく行われる。
For example, in this network, 27 processors can be connected to 0 links of one node, so a multiprocessor system using the hypercube is often constructed.

然して、各ノードに接続されているプロセシングエレメ
ント(PE)間の通信を単純に行うとデッドロックが生
じることがあることから、ソフトウェアによる制御を行
っていた為、オーバヘッドが大きく高速転送が困難であ
るという問題があり、ハトウェアによるハイパーキュー
ブ結合ネットワクの中継を、デッドロックを起こさずに
実行することができる中継方式が待たれていた。
However, simple communication between processing elements (PEs) connected to each node can cause deadlocks, so since control is performed using software, the overhead is large and high-speed transfer is difficult. Because of this problem, there has been a long-awaited need for a relay method that can execute the relay of the hypercube connection network using Hatoware without causing deadlock.

〔従来の技術と発明が解決しようとする課題〕第3図は
従来のハイパーキューブ結合ネットワク中継方式を説明
する図であって、(a)はノードの構成例を示し、(b
)は2次元ハイパーキュブの構成例を示し、(c) 、
 (d)はそれぞれ3次元。
[Prior art and problems to be solved by the invention] FIG. 3 is a diagram explaining a conventional hypercube coupling network relay system, in which (a) shows an example of the configuration of a node, and (b)
) shows an example of the configuration of a two-dimensional hypercube, (c),
(d) are each three-dimensional.

4次元ハイパーキューブの構成例を示している。An example of the configuration of a four-dimensional hypercube is shown.

通常、ハイパーキューブ結合ネットワークの各ノード1
は(a)図に示すように、0本のリンク(本例では、例
えば、4本)を持つ中継器(NPE)11と、プロセシ
ングエレメント(PH) 10からなり、各リンクは他
のノード1と接続されていて、該プロセシングエレメン
ト(PE)−10は中央処理装置(CPU) 、主記憶
、演算器等から構成されている。この場合、n次元ハイ
パーキューブと呼ばれる。((c) 、 (d)図参照
) 該ハイパーキューブ結合ネットワークの概念については
、例えば、「“分割型メモリハイパーキューブ、E、D
、プルソクス■著、並列計算6.1988゜235ペー
ジ〜245ページ、  (”The 5hared m
emoryhypercube″、E、D、BROOK
Sm、Parallel Computing6(19
8B) 235−245 ) Jに示されているが、前
述のように、ノード間のリンクの数に比較して、ノード
数を、例えば、2″と多くでき、最近のマルチプロセッ
サシステムを構築するのに盛んに利用されているネット
ワークである。
Typically, each node of the hypercube connection network 1
(a) As shown in the figure, consists of a repeater (NPE) 11 with 0 links (for example, 4 in this example) and a processing element (PH) 10, and each link connects to another node 1. The processing element (PE)-10 is composed of a central processing unit (CPU), a main memory, an arithmetic unit, etc. In this case, it is called an n-dimensional hypercube. (See figures (c) and (d).) Regarding the concept of the hypercube connection network, for example, "Divided memory hypercube, E, D
, Prusokus ■, Parallel Computing 6.1988゜pages 235-245, ("The 5hared m
emoryhypercube'', E, D, BROOK
Sm, Parallel Computing6 (19
8B) 235-245) J, but as mentioned above, the number of nodes can be increased to, for example, 2'' compared to the number of links between nodes, and recent multiprocessor systems can be constructed. It is a network that is actively used in

本図の(a)において、他のノー、ドから中継情報(例
えば、2″で表現される2進数の宛先番号。
In (a) of the figure, relay information from another node (for example, a binary destination number expressed as 2'').

転送データ等からなる)を中継器(NPE) 11で読
み込み、自ノードに対するものであることが認識された
場合には、当該ノードのプロセシングニレメン)(PE
) 10に送出するが、他のノードに対するものである
と認識した場合には、特定の順序で該他のノードに対す
るリンクを選択し、該リンクに該中継情報を送出する。
(consisting of transferred data, etc.) is read by the repeater (NPE) 11, and if it is recognized that the data is for its own node, the processing NPE of that node is read.
10, but if it is recognized that it is for another node, it selects a link to the other node in a specific order and sends the relay information to the link.

若し、(b)図に示した2次元のハイバーキュブにおい
て、プロセシングエレメントO(以下、PIEOという
、以下同じ)===> PE3. PEI # PE2
. PE3 =OPEO,PE2呻PEIのデータ通信
が同タイミングで発生すると、 PEO=6PE3の中継点として、ノード(Bl) 1
が使用され、PEI =OPE2の中継点として、ノー
ド(B3)lが使用され、PE3 =OPEOの中継点
として、ノード(B2) 1が使用され、PE2 =O
PEIの中継点として、ノード(BO) 1が使用され
る。
If, in the two-dimensional hypercube shown in the figure (b), processing element O (hereinafter referred to as PIEO, the same shall apply hereinafter) ===> PE3. PEI # PE2
.. When data communication of PE3 = OPEO and PE2 groan PEI occurs at the same timing, node (Bl) 1 acts as a relay point for PEO = 6 PE3.
is used, node (B3) l is used as a relay point for PEI = OPE2, node (B2) 1 is used as a relay point for PE3 = OPEO, and PE2 = O
Node (BO) 1 is used as a PEI relay point.

従って、このような中継を行おうとすると、何れかのノ
ード(Bi) 1のデータを、その先のノードに送出す
る必要があるが、上記のようにループしている為に、何
時迄も、それぞれのノード(Bi) 1の中継器(NP
E O〜3)11でのバッファ(BUFQ〜BtlF、
)が−杯になっていて、データ転送ができないという、
所謂デッドロックが生しることになる。
Therefore, if you try to perform such a relay, it is necessary to send the data from one node (Bi) 1 to the next node, but because it is looped as described above, Each node (Bi) 1 repeater (NP
E O~3) Buffer at 11 (BUFQ~BtIF,
) is full and data cannot be transferred.
A so-called deadlock will occur.

そこで、従来においては、ソフトウェアによって中継せ
ざるを得なかった。
Therefore, in the past, relaying had to be done using software.

即ち、それぞれのノード(Bi) 1の中継器(Nr’
Ei)11におけるオペレーティングシステム(O3)
において、該ノート頁Bi) 1の中継器(NPIEi
) 11に接続される全てのリンク、ノード(Bj) 
1の中継器(NPEj)11中にあるバッファ(BUF
j)の使用状況を一括管理して、上記デッドロックの起
こらないルトを選択していた。
That is, each node (Bi) 1 repeater (Nr'
Ei) Operating system (O3) in 11
, the note page Bi) 1 repeater (NPIEi
) All links and nodes connected to 11 (Bj)
The buffer (BUF) in the repeater (NPEj) 11
j), and selected a route that would not cause the deadlock mentioned above by collectively managing the usage status.

この為、転送すべきデータパケットの作成、ネットワー
ク内の転送ルートの確立、転送終了通知の割込み処理等
の為に、該ソフトウェア上でのオーバヘッドが大きくな
り、高速転送が困難になるという問題があった。
For this reason, there is a problem in that the overhead on the software becomes large due to the creation of data packets to be transferred, the establishment of transfer routes within the network, interrupt processing for notification of transfer completion, etc., making high-speed transfer difficult. Ta.

そこで、該ソフトウェアによる一括管理をハトウェアで
実現する方法も考えられるが、各ノード毎に全てのノー
ド(例えば、各ノードに0本のリンクを持っているハイ
パーキューブ結合ネ・7トワークの場合には、前述のよ
うに、2″個のノードとなる)からの管理情報を一括管
理する必要があり現実的でなくなるという問題があった
Therefore, it is possible to use Hatoware to implement the integrated management using this software, but in the case of a hypercube-connected network where each node has 0 links, for example, , as mentioned above, there is a problem in that it is necessary to collectively manage management information from 2'' nodes), which is impractical.

本発明は上記従来の欠点に鑑み、例えば、ハイパーキュ
ーブ結合ネットワークで構成されるマルチプロセッサシ
ステムにおけるノード間の中継方式において、ハードウ
ェアによるハイバーキュブのノード間の中継を、デッド
ロックを起こすことなく、経済的に行うノード間中継方
式を提供することを目的とするものである。
In view of the above-mentioned conventional drawbacks, the present invention provides an economical method for relaying between hypercube nodes using hardware without causing deadlock, in a relay method between nodes in a multiprocessor system configured with a hypercube connection network, for example. The purpose of this is to provide an inter-node relay system that can perform

〔課題を解決するための手段〕[Means to solve the problem]

第1図は本発明のノード間中継方式の原理を示す図であ
る。
FIG. 1 is a diagram showing the principle of the inter-node relay system of the present invention.

上記の問題点は下記の如くに構成されたノート間中継方
式によって解決される。
The above problem is solved by the inter-note relay system configured as follows.

(1)  ネットワークで構成されたマルチプロセッサ
システムにおいて、 該ネットワークの各ノード10番号に対して半順序付け
を行い、その半順序付けされたノード番号の2次微分係
数の符号が一定となるようにノード1を選択して中継す
るように構成する。
(1) In a multiprocessor system configured with a network, semi-ordering is performed for each node 10 number of the network, and the nodes 1 Select and configure to relay.

(2)上記ネットワークの次元数をnとし、中継ノード
1の番号を2進数表現で、 A=(ao+a++ −−+ an−1)転送先のノー
ド10番号を2進数表現でB =(bo、b+、 −、
b、、−+)としたとき、 Ci −ai■b、を求め、 若し、全ての01,0であるときには、上記自ノード1
に接続されているプロセッシングエレメント(PE) 
10に転送し、 該全てのC2−〇でなければ、d、・a、b、を求め、 SS d i・1を満たすものがあると、それぞれを、
DiL・(0,0,0,−・、LO,・−0)で表し、
(D;t)=a+■D;t  (i=o 〜(n−1)
 1を計算して、マンハッタン距離が”1”であるノー
ド(1)の番号を求め、その中で′空きバッファを持っ
ているノード(1)を選択して、そのノード(1)に接
続されているプロセッシングエレメント(PE) (1
0)に転送し、 上記d、・1のものが無ければ、ei=aitliを求
め、 該e8−1を満たすものがあると、それぞれを、Eil
・(0,0,0,−・、LO,−0)で表し、(E=、
)=ai■ EIL  (i=o  〜(n−1)  
)を計算して、マンハッタン距離がl゛であるノード(
1)の番号を求め、その中で“空きバッファを持ってい
るノード(1)を選択して、そのノード(1)に接続さ
れているプロセッシングエレメント(PE) (10)
に転送し、 上記のそれぞれのケースにおいて、空きのバッファが無
ければ、空きのバッファができる迄待ち合わせるように
構成する。
(2) The number of dimensions of the above network is n, the number of relay node 1 is expressed in binary, A = (ao + a + + - + an-1), the number of destination node 10 is expressed in binary, B = (bo, b+, -,
b,, -+), find Ci -ai■b, and if all 01, 0, the above own node 1
Processing Element (PE) connected to
10, and if all C2-〇 are not found, calculate d,・a,b, and if there is one that satisfies SS d i・1, each
Represented by DiL・(0,0,0,−・,LO,・−0),
(D;t)=a+■D;t (i=o ~(n-1)
1, find the number of the node (1) whose Manhattan distance is "1", select the node (1) that has a free buffer, and connect to that node (1). processing element (PE) (1
0), and if there is no d,・1, find ei=aitli, and if there is one that satisfies e8-1, convert each to Eil
・Represented by (0, 0, 0, −・, LO, −0), (E=,
)=ai■ EIL (i=o ~(n-1)
) and find the node (
1), select the node (1) that has a free buffer, and select the processing element (PE) (10) connected to that node (1).
In each of the above cases, if there is no free buffer, the configuration is configured to wait until a free buffer becomes available.

〔作用〕[Effect]

即ち、本発明によれば、例えば、ハイパーキュブ結合ネ
ットワークで構成されるマルチプロセッサシステムにお
けるノード間の中継方式において、ハイパーキューブを
構成する任意の2つのノード番号X、Yを、 X =(XO,K1. X21 −+ Xn−1)Y 
= (yo、 yr、 yz+  −・−、yn−+)
とし、該2つのノード間に半順序を導入する。
That is, according to the present invention, for example, in a relay method between nodes in a multiprocessor system configured with a hypercube connection network, arbitrary two node numbers X and Y that configure a hypercube are expressed as X = (XO, K1.X21 −+ Xn−1)Y
= (yo, yr, yz+ −・−, yn−+)
and introduce a partial order between the two nodes.

その内の1つが中継ノードA (ao、 al、 az
an−1)で、他の1つが転送先のノードB (b、、
 b、。
One of them is relay node A (ao, al, az
an-1), and the other one is the forwarding destination node B (b,,
b.

h2.−・、b、、−、)であったとき、上記半順序付
けを崩さないで、該中継ノードAから該半順序付けされ
たノード番号の2次微分係数の符号が一定となるノード
を選択して、転送先のノードBに到達するように転送ル
ートを決定すれば、デッドロックを起こさないで高速転
送を行うことができる。
h2. -・,b,,-,), select a node from the relay node A where the sign of the second-order differential coefficient of the semi-ordered node number is constant without breaking the above partial ordering. , if the transfer route is determined so as to reach the transfer destination node B, high-speed transfer can be performed without causing deadlock.

具体的には、先ず、A=Bか否かを検出するのに、c;
、al■b□を算出し、全ての0.20でないと認識し
たとき、a、■bH=a、Ig  +aHJであること
に着目して、最初に、dH,aHJを算出し、dl、1
 となるノードの番号DiLを求めた後、(Dot)・
a、■DiLを計算して、上記の中継ノードAとマンハ
ッタン距離が1゛であるノードの内、該ノード内のバッ
ファが゛空き゛であるものを選択する。
Specifically, first, to detect whether or not A=B, c;
, al■b□, and when it is recognized that all of them are not 0.20, paying attention to the fact that a, ■bH = a, Ig + aHJ, first calculate dH, aHJ, and dl, 1
After finding the node number DiL, (Dot)・
a, ■DiL is calculated, and among the nodes whose Manhattan distance from the relay node A is 1, a node whose buffer is ``empty'' is selected.

上記のノード選択処理でd、81のものが無かった場合
には、eH=a;b、を算出し、el、1 となるノー
ドの番号E1を求めた後、(Etj)=a4■EiLを
計算して、上記の中継ノードAとマンハッタン距離が“
1゛であるノードの内、該ノード内のバッファが゛空き
°であるものを選択する。
If there is no node d,81 in the above node selection process, calculate eH=a;b, find the node number E1 that gives el,1, and then calculate (Etj)=a4■EiL. After calculating, the distance between the above relay node A and Manhattan is “
Among the nodes that are 1, select one whose buffer is empty.

このようにして選択したルートでは、ノード間の番号は
di、1.又はC8,1となる特定の1ビツトしか変わ
っていないので、該順序に半順序性が保たれていおり、
デッドロックを起こすことのないデータ転送ルートとな
っている。
In the route selected in this way, the numbers between the nodes are di, 1 . Or, since only one specific bit, C8,1, has changed, the partial order is maintained in the order,
This is a data transfer route that does not cause deadlock.

以下において、該半順序性の保たれているノード間での
データ転送においてはデッドロックが起こることがない
ことを示す。
In the following, it will be shown that deadlock does not occur in data transfer between nodes where semi-order is maintained.

先ず、上記ハイパーキューブを構成する任意の2つのノ
ード番号X、Yを、 X =(xo、 XI+ X2+  −・・、Xn−+
)Y ””(yo、yr、Vz、  ”−’+y11−
1)とし、該2つのノード間に半順序を導入した場合に
おいては、 全てのiに対してX、≧V i +即ち、x=+yt、
Lであるとき、X≧Yと定義する。
First, let the arbitrary two node numbers X and Y that constitute the hypercube be expressed as X = (xo, XI+ X2+ -..., Xn-+
)Y ””(yo, yr, Vz, ”-'+y11-
1), and if a partial order is introduced between the two nodes, then for all i, X, ≧V i +, that is, x=+yt,
When L, it is defined as X≧Y.

同様に、全てのiに対してXi =yi + 即ち、×
iyi  +xiyi−1であるとき、X=Yと定義す
る。
Similarly, for all i, Xi = yi +, that is, ×
When iyi +xiyi-1, define X=Y.

又、X≧Yで、且つX=Yでない、即ち、全ての1に対
してX、+yi=1で、且つ、あるiに対してxiY;
 +X、y= = Oであるとき、x>yと定義する。
Also, X≧Y and not X=Y, that is, X for all 1, +yi=1, and xiY for some i;
When +X, y==O, define x>y.

本発明における転送先ノードの決定方式は、ノードXか
ら送られたデータパケットを中継ノードYを経由して、
転送先のノードZを決定する際、X −> y < z
の間に、 X>Y  &Y>Z  −・−・−・・・−(i)X 
> Y  & Y < Z  −−−−−−−(ii 
)X < Y  &Y < Z  −−−−−(iii
 )X < Y 、  & Y > Z  −−−−−
−−−(iv )で示した順序の内(i)〜(iii 
)を許し、(iv)の選択を禁止するというものである
The method for determining a forwarding destination node in the present invention is to send a data packet sent from node X via relay node Y,
When determining the transfer destination node Z, X −> y < z
Between, X>Y &Y>Z −・−・−・・・−(i)X
> Y & Y < Z −−−−−−−(ii
)X < Y & Y < Z ------(iii
)X < Y , & Y > Z −−−−−
---In the order shown in (iv), (i) to (iii)
) and prohibits the selection of (iv).

前述のように、デッドロックの条件は、ノード×、につ
いて、 X、が×。=OX2の中継点として使用され、×2がX
、=6x3の中継点として使用され、X、がXl−1−
OXi+1の中継点として使用され、Xn−1がx、、
−2−OXoの中継点として使用され、×。がXn−1
” XI の中継点として使用されるとき、デッドロッ
クが生じる。
As mentioned above, the deadlock condition is that, for node,×,,,X,is,×,. = Used as a relay point of OX2, ×2 is
, = 6x3, where X is Xl-1-
It is used as a relay point for OXi+1, and Xn-1 is
-2-Used as a relay point for OXo, ×. is Xn-1
” When used as a relay point for XI, a deadlock occurs.

何故ならば、x8を中継点とする為には、X、。This is because, in order to use x8 as a relay point,

にデータを送出しなければならないが、X、。1にデー
タが送出される為の条件は、その先のノードに送出され
なければならず、−それらの条件がルプする為による。
I have to send data to,X,. The conditions for data to be sent to node 1 are that it must be sent to the node beyond it - these conditions depend on loops.

YがX−>Zの中継点として使用されることを、X =
OY < Zと記述することにすると、上記の条件は、
X、≠XJ(但し、i≠j)として、XO< XI <
 XZ −−−−−−−−−−−−−−−−(11X、
 −> XZ−OXI −−−−−−−−−−−−−f
2)Xz −Xz =6X4−−−−−−−−−−− 
(31L−z  −Xn−+  =OXo  −−一−
−−−−−−−(n−2)X、l−+  → ×。−C
I  X、  −−−−−−−−−−−−−(n−1)
で示した(1)〜(n−1)が成立することを意味する
X = Y is used as a relay point of X->Z
If we write OY < Z, the above condition becomes
As X, ≠XJ (however, i≠j), XO<XI<
XZ −−−−−−−−−−−−−−−(11X,
−> XZ-OXI −−−−−−−−−−−−f
2) Xz −Xz =6X4−−−−−−−−−−
(31L−z −Xn−+ =OXo −−1−
−−−−−−(n−2)X, l−+ → ×. -C
I
This means that (1) to (n-1) shown in (1) to (n-1) hold true.

本発明のノード間中継方式で、デッドロックが生じない
ことを示す為には、前述の条件(iv)を禁止して、(
i)〜(iii )のみを許した場合において、上記(
1)〜(n−1)のn個の中継条件が同時に成立しない
ことを示せばよい。
In order to show that deadlock does not occur in the inter-node relaying method of the present invention, the above-mentioned condition (iv) must be prohibited and (
In cases where only i) to (iii) are allowed, the above (
It is only necessary to show that n relay conditions 1) to (n-1) are not satisfied simultaneously.

その為には、輸)〜(iii ) 、 (1)〜(n−
2)の条件下で、(n−1)が矛盾することを示せばよ
いことになる。
For that purpose, import) ~ (iii), (1) ~ (n-
It is sufficient to show that (n-1) is contradictory under the condition 2).

先ず、xo ≠xIで、且つX。とX、とは隣接してい
るという条件から、XO〈XI+又はX。> X。
First, xo ≠xI, and X. From the condition that and X are adjacent, XO〈XI+ or X. >X.

である。It is.

C1) XO< XIのとき: (1)よりX、 < XZが成立する。(上記、(iv
)を除外した( iii )の条件から)同様にして、
(2)よりXZ< X、が成立する。以下、同じことを
(n−3)式 迄繰り返して適用することにより、 XO< XI < XZ < X3 <−−< X、、
−z 〈Xl!−1が得られる。
C1) When XO<XI: From (1), X<XZ holds true. (Above, (iv
) in the same way (from the condition of (iii) excluding),
From (2), XZ<X holds true. Hereinafter, by repeatedly applying the same process up to equation (n-3), we obtain XO<XI<XZ<X3<--<X,...
-z〈Xl! -1 is obtained.

一方、上記(n−2)式と、上記Xn−2〈Xn−1か
ら、Xn−1< X。となり、上記の大小関係と矛盾す
ることが判る。従って、(n−1)式も成立しないこと
になる。
On the other hand, from the above formula (n-2) and the above Xn-2<Xn-1, Xn-1<X. It turns out that this is inconsistent with the above magnitude relationship. Therefore, equation (n-1) does not hold either.

(2)XO> XI のとき: (ア) Xl−1> X正3且つX、< X、、なるX
、(但し、■≦i≦n−2)が存在する場合:X=”z
 =OXt−+−6×、の(i−2)の条件と、上記X
1−1  〉Xi より、Xl−2〉Xl−t %以下
、(i−3)、 (i−4)、−・−と繰り返し適用す
ることにより、 Xo> L  > Xz > X3 >・・−> Xt
−−−−m−−−(a)同様にして、X、 =81 X
、。、=OXL。2の(i)の条件と、上記X、 < 
X、。1より、L−+ < L−z、以下、(i+1)
 、 (i+2) 、−−−、(n−2)と繰り返し適
用することにより、 X; < X4+1  < Xi+z < −−< X
n−1< X6−(b)上記(a) 、 (b)式から
、 Xo > L +X11−1 < Xにの条件は、前述
の(iv)の組み合わせであって、本発明においては禁
止条件であるので、X n−1+=:I Xo< ×、
は成立しない。
(2) When XO> XI: (a) Xl-1> X positive 3 and X, < X,,
, (however, if ■≦i≦n-2) exists: X=”z
=OXt-+-6×, the condition (i-2) and the above X
From 1-1〉Xi, Xl-2〉Xl-t % or less, by repeatedly applying (i-3), (i-4), ---, Xo> L > Xz > X3 >...- >Xt
-----m---(a) Similarly, X, =81 X
,. ,=OXL. Condition 2 (i) and the above X, <
X. From 1, L-+ < L-z, hereafter, (i+1)
, (i+2), ---, (n-2), X; < X4+1 < Xi+z <--< X
n-1<X6-(b) From the above formulas (a) and (b), the condition for Xo > L + Therefore, X n-1+=: I Xo< ×,
does not hold true.

即ち、条件(n−1)は成立しない。That is, condition (n-1) does not hold.

(イ)X、−、>X、 (但し、1≦i≦n−1)が常
に成立する場合: Xo> xi  > X2 > X3 >−> Xn−
z > Xn−1−’、Xo >χ1.且ツXn−1<
 X。
(a) When X, -, >X, (1≦i≦n-1) always holds: Xo>xi>X2>X3>->Xn-
z>Xn-1-', Xo>χ1. And Xn-1<
X.

この条件は上記の禁止条件であるので、Xri−1=O
Xo −L は成立しない。
Since this condition is the prohibition condition mentioned above, Xri-1=O
Xo −L does not hold.

即ち、条件(n−1)は成立しない。That is, condition (n-1) does not hold.

よって、前述の(i)〜(iii )式の条件の範囲内
において、転送先のノードを決定することにより、デッ
ドロックが起こることがないルートを選択することがで
きることになる。
Therefore, by determining the transfer destination node within the conditions of formulas (i) to (iii) above, it is possible to select a route that does not cause deadlock.

上記(i)〜(iii )式の条件は、ハイバーキュブ
を構成している各ノードの番号の2次微分係数の符号が
一定(正)であることを意味している。
The conditions of equations (i) to (iii) above mean that the sign of the second-order differential coefficient of the number of each node forming the hypercube is constant (positive).

従って、上記(i)〜(iv)において、(ii )を
禁止条件としてもよいことは明らかであり、この場合は
、上記2次微分係数の符号が逆(負で一定)になること
を意味する。
Therefore, in (i) to (iv) above, it is clear that (ii) can be set as a prohibition condition, and in this case, it means that the sign of the second-order differential coefficient is reversed (constant negative). do.

このように、本発明は、ハイパーキューブを構成する各
ノードの番号に半順序付けを行い、その半順序付けされ
たノード番号の2次微分係数の符号が一定となるように
中継ノードを選択するので、デッドロックを起こすこと
のない中継ルートにより高速にデータ転送ができる効果
がある。
In this way, the present invention semi-orders the numbers of each node constituting a hypercube, and selects relay nodes such that the sign of the second-order differential coefficient of the semi-ordered node numbers is constant. This has the effect of allowing high-speed data transfer through a relay route that does not cause deadlock.

〔実施例〕〔Example〕

以下本発明の実施例を図面によって詳述する。 Embodiments of the present invention will be described in detail below with reference to the drawings.

前述の第1図が本発明のノート間中31!方式の原理を
示した図であり、(a)は従来のルート選択方式を示し
、(b)は本発明によるルート選択方式を示しており、
第2図は本発明の一実施例を示す動作フローであって、
第1図(b)に示したように、ハイパーキューブネット
ワークの各ノード(B、〜B3)1に通信の半順序付け
を行い、その半順序付けされたノード番号の2次微分係
数の符号が一定となるようにノード1を選択して中継す
る手段が本発明を実施するのに必要な手段である。尚、
企図を通して同じ符号は同じ対象物を示している。
The above-mentioned FIG. 1 is the 31st note of the present invention! FIG. 3 is a diagram showing the principle of the method, in which (a) shows a conventional route selection method, and (b) shows a route selection method according to the present invention;
FIG. 2 is an operational flow showing an embodiment of the present invention,
As shown in Figure 1(b), communication is partially ordered for each node (B, ~B3) 1 of the hypercube network, and the sign of the second derivative of the partially ordered node number is constant. Means for selecting and relaying the node 1 such that the node 1 is selected is a means necessary for carrying out the present invention. still,
Like numbers refer to like objects throughout the design.

以下、第1図、第2図によって、本発明のノード間中継
方式を説明する。
Hereinafter, the inter-node relay system of the present invention will be explained with reference to FIGS. 1 and 2.

先ず、第1図(a)に示した従来方式においては、デー
タ重云送ル−トとして、B o=5 B 、 −OB 
、、 B、 −OB 、 =OB2.B5−0B2に)
B、、 B、に)Boに)B1の4つのルートを取って
いる為、前述のように、上記転送ルートをとるデータ通
信が同一タイミングで発生すると、それぞれのノードの
バッファを使用(斜線で示す)してしまい、デッドロッ
クを起こしてしまうことになる。
First, in the conventional system shown in FIG. 1(a), as a data duplex transmission route,
,, B, -OB , =OB2. to B5-0B2)
Since there are four routes taken (to B) to Bo) to B1, as mentioned above, when data communication taking the above transfer route occurs at the same timing, each node's buffer is used (the diagonal line indicates ), resulting in a deadlock.

そこで、本発明においては、(b)図に示すように、B
 0−CI B 、悼B 3 、 B 1 =6B o
 −B 2 、 B s噂B2悼B、、 B2に)Bo
→B1というように、半順序付けされたノード番号の2
次微分係数の符号が一定(本例では、正)となるように
データ転送ルートを選択するようにすると、例えば、ノ
ード(B3) 1が“空き”となり、デッドロックの発
生を解消することができる。
Therefore, in the present invention, as shown in FIG.
0-CI B , mourning B 3 , B 1 =6B o
-B 2, B s rumor B2 mourning B,, to B2) Bo
→ B1, the partially ordered node number 2
If the data transfer route is selected so that the sign of the order differential coefficient is constant (positive in this example), for example, node (B3) 1 becomes "vacant" and the occurrence of deadlock can be resolved. can.

以下、具体的なデータ転送ルート選択手段を、第2図の
動作フローを参照しながら説明する。
Hereinafter, the specific data transfer route selection means will be explained with reference to the operation flow shown in FIG.

先ず、上記ネットワークの次元数をnとし、中継ノード
1の番号を2進数表現で、 A−(ao、at、”−、an−+) 転送先のノード1番号を2進数表現で B = (b、、 b、、 ・−”、 bn−+)とし
て、 C” (co、 c++ ”’−+ 1−n−+)とお
き、 C4−ai■b、 (i=o 〜(n−1) )を求め
る。
First, let the number of dimensions of the above network be n, and the number of relay node 1 is expressed in binary number, A-(ao, at, "-, an-+), and the number of destination node 1 is expressed in binary number, B = ( b,, b,, ・-", bn-+), C" (co, c++ "'-+ 1-n-+), C4-ai■b, (i=o ~ (n-1 )).

若し、全てのC8・0であるときには、上記中継ノード
である自ノード1に接続されているブロセソセシングエ
レメント(PE) 10に転送する。 (第2図のステ
ップ100.104参照) 該全てのC8−〇でなければ、dz−a、b、を求める
If all C8.0 are present, the data is transferred to the processing element (PE) 10 connected to the own node 1, which is the relay node. (See steps 100 and 104 in FIG. 2) If all of the C8-0s are not true, dz-a, b are determined.

該d、・1を満たすものがL個存在するとき、dil・
di:l・ −’=dik・1(L個)(il=ikは
全て異なり、kはd、・1のビット位置を示す)とおく
When there are L items satisfying d,・1, dil・
Let di:l.-'=dik.1 (L pieces) (il=ik are all different, and k indicates the bit position of d,.1).

そこで、 DiL=(0,0,0,−・、 1 、(1−0)とお
き、↑ (Dip)=aL■ Dot  (+=O〜(n−1)
  )を計算して、マンハッタン距離が“1″であるノ
ード1の番号を求め、その中で°空きバッファ゛を持っ
ているノードを選択して、そのノード1に接続されてい
るプロセッシングエレメント(PE) 10に転送する
。 (第2図のステップ101.102.103参照) 若し、上記d、・1のものが無ければ、eH=a4J を求め、 該e、・1のものがL個存在するとき、e;+−ei:
+・””’=el=1(L個)(il〜ikは全て異な
り、kはd、・1のビット位置を示す)とおく。
Therefore, set DiL=(0,0,0,-・, 1, (1-0), ↑ (Dip)=aL■ Dot (+=O~(n-1)
) to find the number of node 1 whose Manhattan distance is "1", select the node that has a free buffer among them, and select the processing element (PE) connected to node 1. ) Transfer to 10. (Refer to Steps 101, 102, and 103 in Figure 2) If the above d,・1 does not exist, find eH=a4J, and when there are L pieces of the above e,・1, e;+ -ei:
+・””′=el=1 (L pieces) (il to ik are all different, and k indicates the bit position of d,・1).

そこで、 Ett・(0,0,帆  −、1,0−0)とおき、↑ (E、I)=a;■EHt  (i=0〜(n−1) 
)を計算して、マンハッタン距離が“l”であるノード
1の番号を求め、その中で“空きバッファ”を持ってい
るノードを選択して、そのノード1に接続されているプ
ロセッシングエレメント(PE) 10に転送する。 
(第2図のステップ101.105.106参照) 上記のそれぞれのケースにおいて、空きのバッファが無
ければ、空きのバッファができる(’IDLE゛となる
迄待ち合わせるようにする。 (第2図のステップ10
7.108参照) このような転送ノードの選択を行うと、上記の(D;t
)=az■Dzt  (i=o 〜(n−1) )又は
、 (E;t)=at■E=t  (i□o 〜(n−1)
 1の計算は、k番目が“1゛となっているビットのみ
を反転して、転送先のノード番号を求めていることにな
るので、前述の半順序の条件の1つであるal ≧El
i = a= ”Eli = 1を満足する。
Therefore, set Ett・(0,0, sail −, 1,0−0), ↑ (E, I)=a;■EHt (i=0~(n−1)
) to find the number of node 1 whose Manhattan distance is "l", select the node that has an "free buffer" among them, and select the processing element (PE ) Transfer to 10.
(See steps 101, 105, and 106 in Figure 2.) In each of the above cases, if there is no free buffer, wait until a free buffer becomes available ('IDLE'). (Steps in Figure 2) 10
(See 7.108) When selecting such a forwarding node, the above (D; t
)=az■Dzt (i=o ~(n-1)) or (E;t)=at■E=t (i□o ~(n-1)
1 is calculated by inverting only the bit whose k-th value is "1" to obtain the transfer destination node number, so one of the partial order conditions mentioned above, al ≧ El
i=a=”Eli=1.

従って、上記の手段で選択したノードに転送することで
、デッドロックを回避することができる。
Therefore, deadlock can be avoided by transferring to the node selected by the above means.

次に、発信元のノード番号(01001010)転送先
のノード番号(10111000)を例にして、上記の
手段で転送ルートを選択する場合の動作を具体的に説明
する。
Next, the operation when selecting a transfer route by the above means will be specifically explained using the source node number (01001010) and transfer destination node number (10111000) as an example.

■ プロセシングエレメント(PE)。+001゜1o
10から中継器(NPE)o+oo+o+o 11に転
送する。
■ Processing element (PE). +001°1o
10 to repeater (NPE) o+oo+o+o 11.

■ 中継器(NPE)o+oo+o+o 11の動作:
八・(01001010) B= (10111000) 従って、C=A■眸(11110010)で、D=aH
b+ =(01000010)  となる為、dil・
di6・1(L・2)が得られる。
■ Operation of repeater (NPE) o+oo+o+o 11:
8. (01001010) B = (10111000) Therefore, C = A ■ eye (11110010) and D = aH
Since b+ = (01000010), dil・
di6.1 (L.2) is obtained.

従って、D、、=(01000000)Di6・(00
000010) (Il+)=^■D、、=(00001010)(ni
b)・A■Di6・(01001000)同様にして、 E=aHb、= (10110000) となる為、e
io=e;z=ei:+□1(L=3)が得られる。
Therefore, D,,=(01000000)Di6・(00
000010) (Il+)=^■D,,=(00001010)(ni
b)・A■Di6・(01001000) Similarly, E=aHb,= (10110000), so e
io=e;z=ei:+□1 (L=3) is obtained.

従って、EiO=(11001010)E、 2=(0
1101010) E、3・(01011010) (Eio)= A■E、、=(11001010)(E
;z)・ A■Ei2・(01101010)(Ei、
)= A■EH3=(01011010)よって、全て
のiに対して、C1・0は成立しないので、自中継ノー
ド1への転送は行われない。
Therefore, EiO=(11001010)E, 2=(0
1101010) E, 3・(01011010) (Eio)=A■E,,=(11001010)(E
;z)・A■Ei2・(01101010)(Ei,
)=A■EH3=(01011010) Therefore, since C1.0 does not hold for all i, the transfer to self-relay node 1 is not performed.

そして、該中継ノード1からマンハッタン距離が°1”
である2つの候補ノードとして、上記、(Dil)= 
A(E)Di、=(00001010)(D=6)・A
■Di&・(01001000)2つのノードがあるの
で、バッファの空いている方のノードにデータを転送す
る。
Then, the Manhattan distance from the relay node 1 is °1”
Above, (Dil)=
A(E)Di, = (00001010) (D=6)・A
■Di&... (01001000) Since there are two nodes, data is transferred to the node with an empty buffer.

例えば、Dil側が空いているとすれば、中継器(NP
E)o+oo+ooo 11に転送する。
For example, if the Dil side is vacant, the repeater (NP
E) Transfer to o+oo+ooo 11.

■ 中継器(NPE)。1゜。、。。。11での動作:
同様にして、A・(01001000) 、 B・(1
0111000) 。
■ Repeater (NPE). 1°. ,. . . Operation in 11:
Similarly, A・(01001000), B・(1
0111000).

C=’(11110000) 、 D= (01000
000) 。
C='(11110000), D=(01000
000).

E・(10110000) そして、(Dt+)・A■o、 、=(0000100
0)であるので、中継器(NPE)。。。。1゜。。1
1が空く迄待ち、空いたらデータを転送する。
E・(10110000) And (Dt+)・A■o, ,=(0000100
0), so it is a repeater (NPE). . . . 1°. . 1
Wait until 1 becomes free, then transfer the data.

■ 中継器(NPE)。。。。1゜。。11での動作:
同様にして、A= (00001000) 、 B= 
(10111000)C= (10110000) 、
 D・(00000000) 。
■ Repeater (NPE). . . . 1°. . Operation in 11:
Similarly, A= (00001000), B=
(10111000)C= (10110000),
D. (00000000).

E= (10110000) 従って、全てのiに対してC,Oは成立しないが、Di
=Oは成立するので、この場合には、(Ei。)・A■
E4゜・(10001000)(Eiz)= A■Ei
Z・(00101000)(E;z)・A■Ei3・(
00011000)の3つ候補ノードの内から、空いて
いるノードを1つを選択する。
E= (10110000) Therefore, C and O do not hold for all i, but Di
=O holds true, so in this case, (Ei.)・A■
E4゜・(10001000)(Eiz)=A■Ei
Z・(00101000)(E;z)・A■Ei3・(
00011000), one vacant node is selected from among the three candidate nodes.

例えば、(Ei□)・A■Ei2・(00101000
)を選択したとすると、中継器(NPE)。01010
゜。11にデータを転送する。上記の中継器(NPE)
。。。。1゜。。
For example, (Ei□)・A■Ei2・(00101000
) is selected, the repeater (NPE). 01010
゜. Transfer the data to 11. Above repeater (NPE)
. . . . 1°. .

11からのマンハッタン距離は′1゛である。The Manhattan distance from 11 is '1'.

■ 中継器(NPE)。。1゜1゜。。11での動作:
この場合は、A・(00101000)、B=(101
11000)C=(10010000)、D=(000
00000)E・(10010000) 従って、候補ノードは、 (Ei。)= A■E1゜−(10101000)(E
ii)・A■E、、=(00111000)が得られる
ので、その内の1つ、例えば、(Hio)・A■E、。
■ Repeater (NPE). . 1゜1゜. . Operation in 11:
In this case, A・(00101000), B=(101
11000) C=(10010000), D=(000
00000)E・(10010000) Therefore, the candidate node is (Ei.)=A■E1゜−(10101000)(E
ii) ·A■E, , = (00111000) is obtained, so one of them, for example, (Hio) ·A■E.

・(10101000)を選択して、中継器(NPE)
+o+o+o。。11に転送する。
・Select (10101000) and connect the repeater (NPE)
+o+o+o. . Transfer to 11.

■ 中継器(NPE)+o+o+ooo 11の動作:
この場合は、A・(10101000) 、 B・(1
0111000)C= (00010000) 、 D
= (00000000) 。
■ Repeater (NPE) + o + o + ooo 11 operations:
In this case, A・(10101000), B・(1
0111000)C=(00010000),D
= (00000000).

E= (00010000) 従って、候補ノードは、 (Eii)・A■Ei3・(10111000)よって
、中継器(NPE)l。、、。。。11に転送する。
E= (00010000) Therefore, the candidate node is (Eii)・A■Ei3・(10111000) Therefore, the repeater (NPE) l. ,,. . . Transfer to 11.

■ 中継器(NPE)+o+zooo 11の動作:こ
の場合は、A・(10111000)、B・(1011
1000)C・(00000000) 、 D= (0
0000000)E= (00000000) 従って、全てのiに対して、C8・0となる為、自己の
プロセシングエレメント(PE)+o+++oo。10
に転送する。
■ Operation of repeater (NPE) + o + zoooo 11: In this case, A・(10111000), B・(1011
1000)C・(00000000), D=(0
0000000) E= (00000000) Therefore, for all i, it becomes C8.0, so its own processing element (PE) +o+++oo. 10
Transfer to.

本発明においては、このようにして、ノード選択を行い
、発信元(01001010)から転送先(10111
000)のプロセシングエレメント(PE) 10にデ
ータを転送することができる。
In the present invention, node selection is performed in this way, and from the source (01001010) to the forwarding destination (10111).
000) to a processing element (PE) 10.

そして、このルートで転送すれば、前述の各ノード番号
の2次微分係数が一定(本例では、正)であるので、デ
ッドロックを起こすことはない。
If the data is transferred along this route, deadlock will not occur because the second-order differential coefficient of each node number described above is constant (positive in this example).

このように、本発明は、ハイパーキューブ結合のネット
ワークで構成されるマルチプロセッサシステムにおいて
、各ノードの番号に半順序付けを行っておき、該半順序
付けされたノードの各番号の2次微分係数が一定(正、
又は負)であるようにノード選択を行う。具体的には、
選択された中継ノードからマンハッタン距離が°l″と
なる候補を求めて、その中で各ノードの中継器(NPE
)内のバッファが空いているものを選択して、そのノー
ドに転送することを、順次繰り返して、転送先のノード
に到達するようにした所に特徴がある。
As described above, in a multiprocessor system composed of a network of hypercube connections, the numbers of each node are semi-ordered, and the second-order differential coefficient of each number of the semi-ordered nodes is constant. (Correct,
or negative). in particular,
Find candidates whose Manhattan distance is °l'' from the selected relay node, and select the relay (NPE) of each node among them.
) is selected and transferred to that node, which is sequentially repeated until the destination node is reached.

〔発明の効果〕〔Effect of the invention〕

以上、詳細に説明したように、本発明のノード中継方式
は、例えば、ハイパーキューブ結合ネットワークで構成
されるマルチプロセッサシステムにおけるノード間の中
継方式において、該ネットワークの各ノードの番号に対
して半順序付けを行い、その半順序付けされたノード番
号の2次微分係数の符号が一定となるように中継ノード
を選択するようにしたものであるので、デッドロックを
起こすことのない中継ルートにより高速にデータ転送が
できる効果がある。
As described above in detail, the node relay method of the present invention is, for example, a relay method between nodes in a multiprocessor system configured with a hypercube connected network, in which the number of each node of the network is semi-ordered. , and the relay nodes are selected so that the sign of the second-order differential coefficient of the semi-ordered node numbers is constant. Therefore, data can be transferred at high speed through a relay route that does not cause deadlock. There is an effect that can be done.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図が本発明のノード間中継方式の原理を示した図。 第2図は本発明の一実施例を示す動作フロー第3図は従
来のハイパーキューブ結合ネットワーク中継方式を説明
する図。 である。 図面において、 はノード(X、Y、Z 〜B3 BO〜B3) 10はプロセシングエレメント(PE) 。 11は中継器(NPE) 。 〜10B は処理ステップ をそれぞれ示す。 (lo) 」;、451’l(n/−ト聞雫井(がへの1原理と示
し[二図f 1 図(fの2) (σう 不撰シ日日のノ ド聞守城乃j\の岬埋Σ示しT二しろ 第 1 図 (その1ジ 本発明の一丁淀づ列乞示了重Dnフロー第 2L2] 悼〕 綻来のハイパーへユーブボ石会ネット−り中継ガ瓦奢吉
え明オろ図 !3目(イの19 (lo) 僅禾のハイノマーキューフ耗7合ネ、・7トワ目フ午崖
?jテ\゛5.言1月7[るE]第 3[D(’ぞの2
) り
FIG. 1 is a diagram showing the principle of the inter-node relay system of the present invention. FIG. 2 is an operational flow diagram illustrating an embodiment of the present invention. FIG. 3 is a diagram illustrating a conventional hypercube connection network relay system. It is. In the drawing, are nodes (X, Y, Z ~ B3 BO ~ B3), and 10 is a processing element (PE). 11 is a repeater (NPE). ~10B indicate processing steps, respectively. (lo)'';,451'l(n/-tomon Shizukui (gahe's 1 principle) The cape of J\ is buried Σ and the second side is shown. Figure 1 (Part 1: The present invention is stagnantly shown. Akiyoshi Ekioro map! 3rd eye (I no 19 (lo) Slightly poor Heinomerkyuf wear 7th time, ・7th towa eye cliff? jte\゛5.say January 7th ] No. 3 [D ('zono 2
) the law of nature

Claims (2)

【特許請求の範囲】[Claims] (1)ネットワークで構成されたマルチプロセッサシス
テムにおいて、 該ネットワークの各ノード(1)の番号に対して半順序
付けを行い、その半順序付けされたノード番号の2次微
分係数の符号が一定となるようにノード(1)を選択し
て中継することを特徴とするノード間中継方式。
(1) In a multiprocessor system configured with a network, the numbers of each node (1) of the network are semi-ordered, and the signs of the second-order differential coefficients of the semi-ordered node numbers are kept constant. An inter-node relay method characterized in that node (1) is selected and relayed.
(2)上記ネットワークの次元数をnとし、中継ノード
(1)の番号を2進数表現で、 A=(a_0、a_1、・・・・・、a_n_−_1)
転送先のノード(1)の番号を2進数表現でB=(b_
0、b_1、・・・・・、b_n_−_1)としたとき
、 c_i=a_i■b_i{i=0〜(n−1)}を求め
、若し、全てのc_i=0であるときには、上記自ノー
ド(1)に接続されているプロセッセシングエレメント
(PE)(10)に転送し、 該全てのc_i=0でなければ、d_i=a_i@b_
i@を求め、 該d_i=1を満たすものがあると、それぞれを、D_
i_L=(0、0、0、・・・・・、1、0、・・・・
・0)で表し、(D_i_L)=a_i■D_i_L{
i=0〜(n−1)}を計算して、マンハッタン距離が
‘1’であるノード(1)の番号を求め、その中で‘空
きバッファ’を持っているノード(1)を選択して、そ
のノード(1)に接続されているプロセッシングエレメ
ント(PE)(10)に転送し、 上記d_i=1のものが無ければ、e_i=@a_i@
b_iを求め、 該e_i=1を満たすものがあると、それぞれを、E_
i_L=(0、0、0、・・・・・、1、0、・・・・
・0)で表し、(E_i_L)=a_i■E_i_L{
i=0〜(n−1)}を計算して、マンハッタン距離が
‘1’であるノード(1)の番号を求め、その中で‘空
きバッファ’を持っているノード(1)を選択して、そ
のノード(1)に接続されているプロセッシングエレメ
ント(PE)(10)に転送し、 上記のそれぞれのケースにおいて、空きのバッファが無
ければ、空きのバッファができる迄待ち合わせることを
特徴と請求項1の記載のノード間中継方式。
(2) Let the number of dimensions of the above network be n, and the number of relay node (1) is expressed in binary notation, A = (a_0, a_1, ..., a_n_-_1)
The number of the transfer destination node (1) is expressed in binary as B=(b_
0, b_1, ..., b_n_-_1), find c_i=a_i■b_i{i=0~(n-1)}, and if all c_i=0, the above Transfer to the processing element (PE) (10) connected to the own node (1), and if all c_i = 0, d_i = a_i@b_
Find i@, and if there is something that satisfies the d_i=1, each is D_
i_L=(0, 0, 0,..., 1, 0,...
・0), (D_i_L)=a_i■D_i_L{
i=0~(n-1)}, find the number of the node (1) whose Manhattan distance is '1', and select the node (1) that has an 'free buffer' among them. and transfers it to the processing element (PE) (10) connected to that node (1), and if there is no one with d_i=1 above, e_i=@a_i@
Find b_i, and if there is one that satisfies e_i=1, each of them can be expressed as E_
i_L=(0, 0, 0,..., 1, 0,...
・0), (E_i_L)=a_i■E_i_L{
i=0~(n-1)}, find the number of the node (1) whose Manhattan distance is '1', and select the node (1) that has an 'free buffer' among them. and transfers it to the processing element (PE) (10) connected to that node (1), and in each of the above cases, if there is no free buffer, it waits until a free buffer becomes available. The inter-node relay method described in item 1.
JP63194941A 1988-08-03 1988-08-03 Inter-node relay system Pending JPH0243849A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63194941A JPH0243849A (en) 1988-08-03 1988-08-03 Inter-node relay system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63194941A JPH0243849A (en) 1988-08-03 1988-08-03 Inter-node relay system

Publications (1)

Publication Number Publication Date
JPH0243849A true JPH0243849A (en) 1990-02-14

Family

ID=16332882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63194941A Pending JPH0243849A (en) 1988-08-03 1988-08-03 Inter-node relay system

Country Status (1)

Country Link
JP (1) JPH0243849A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013515449A (en) * 2009-12-21 2013-05-02 グーグル インコーポレイテッド Deadlock prevention in direct networks of arbitrary topology

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013515449A (en) * 2009-12-21 2013-05-02 グーグル インコーポレイテッド Deadlock prevention in direct networks of arbitrary topology
US8964559B2 (en) 2009-12-21 2015-02-24 Google Inc. Deadlock prevention in direct networks of arbitrary topology

Similar Documents

Publication Publication Date Title
US5535408A (en) Processor chip for parallel processing system
US4814973A (en) Parallel processor
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
Gustavson The scalable coherent interface and related standards projects
US4709327A (en) Parallel processor/memory circuit
US6195739B1 (en) Method and apparatus for passing data among processor complex stages of a pipelined processing engine
JP2647327B2 (en) Massively parallel computing system equipment
US5146608A (en) Parallel processor array system controlled in response to composition status signal
US5617577A (en) Advanced parallel array processor I/O connection
US5151996A (en) Multi-dimensional message transfer router
JP2552078B2 (en) Method and system for processing a graphics data stream using a plurality of scalable processing nodes
Cypher et al. The SIMD model of parallel computation
WO2022179074A1 (en) Data processing apparatus and method, computer device, and storage medium
JPH0668053A (en) Parallel computer
JPH0243849A (en) Inter-node relay system
Jagadish et al. An efficient scheme for interprocessor communication using dual-ported RAMs
US6836838B1 (en) Architecture for a processor complex of an arrayed pipelined processing engine
JP2632074B2 (en) Data flow type information processing device
JPH0799515B2 (en) Instruction flow computer
JP2549241B2 (en) Computer system
JPH0636060A (en) Array-processor used for slide-network
JP3684579B2 (en) Processor element of distributed parallel computer
Bokka et al. Time-optimal digital geometry algorithms on meshes with multiple broadcasting
WO1988004077A1 (en) Pipelining technique and pipelined processes
JP2522406B2 (en) Fully integrated network parallel processing method and device