JP2936868B2 - Message packet routing method for array processor - Google Patents

Message packet routing method for array processor

Info

Publication number
JP2936868B2
JP2936868B2 JP4034860A JP3486092A JP2936868B2 JP 2936868 B2 JP2936868 B2 JP 2936868B2 JP 4034860 A JP4034860 A JP 4034860A JP 3486092 A JP3486092 A JP 3486092A JP 2936868 B2 JP2936868 B2 JP 2936868B2
Authority
JP
Japan
Prior art keywords
processor
cluster
processors
routing
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP4034860A
Other languages
Japanese (ja)
Other versions
JPH05233567A (en
Inventor
一朗 黒田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP4034860A priority Critical patent/JP2936868B2/en
Publication of JPH05233567A publication Critical patent/JPH05233567A/en
Application granted granted Critical
Publication of JP2936868B2 publication Critical patent/JP2936868B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明はプロセッサ間をリンク結
合することによりプロセッサ間通信を行うアレイプロセ
ッサに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an array processor for performing interprocessor communication by linking processors.

【0002】[0002]

【従来の技術】従来、アレイプロセッサの実現方式とし
ては、 1)隣接プロセッサ間の通信のみを行う方式 2)ルータを用いて遠隔プロセッサ間の通信を実現する
方式がある。
2. Description of the Related Art Conventionally, as a method of realizing an array processor, there are 1) a method of performing only communication between adjacent processors, and 2) a method of realizing communication between remote processors using a router.

【0003】このうち隣接プロセッサ間の通信のみを行
う方式では、プロセッサの通信のために要するハードウ
ェア量が比較的少ないが遠隔プロセッサ間で通信を行う
場合、送り側プロセッサから受け側プロセッサまでの経
路上にある各プロセッサ間において隣接プロセッサ間通
信を繰り返すため、通信時間および通信経路上にある各
プロセッサへの負荷が問題になる。隣接プロセッサ間の
みの通信を行うアレイプロセッサについては、S.Y.
Kung,“Wavefront ArrayProc
essors−Concepts to Implem
entation”,IEEE Computer,J
uly 1987,pp18−33において説明されて
いる。一方、ルータを用いる方式では、プロセッサ間通
信のために要するハードウェア量が大きくなるが送り側
プロセッサから受け側プロセッサまでルータを経由して
通信が行われるため通信時間が比較的少なくまた他のプ
ロセッサへの負荷も問題にならない。
[0003] In the method in which only communication between adjacent processors is performed, the amount of hardware required for communication between the processors is relatively small, but when communication is performed between remote processors, a path from a sending processor to a receiving processor is required. Since communication between adjacent processors is repeated between the above processors, the communication time and the load on each processor on the communication path become problems. For an array processor that performs communication only between adjacent processors, see S.A. Y.
Kung, “Wavefront ArrayProc
essors-Concepts to Implem
entation ”, IEEE Computer, J
uly 1987, pp 18-33. On the other hand, in the method using a router, the amount of hardware required for inter-processor communication is large, but since communication is performed from the sending processor to the receiving processor via the router, the communication time is relatively short, and other processors are used. The load on the system does not matter.

【0004】ルータを用いる方式におけるルーティング
方式は、プロセッサの結合形態に依存して決まる。たと
えば2次元メッシュ結合方式では東西方向へのステップ
数(ホップ数)と南北方向のステップ数(ホップ数)を
指定することによりルーティングを行う。W.J.Da
lly,“A VLSI Architecturef
or Concurrent Data Struct
ures”,Kluwer Academic Pre
ss,1987の5.3.3節では、以上に示したルー
ティングを行うシステムについて説明している。
[0004] The routing method in the method using a router is determined depending on the form of connection of the processors. For example, in the two-dimensional mesh connection method, routing is performed by specifying the number of steps in the east-west direction (the number of hops) and the number of steps in the north-south direction (the number of hops). W. J. Da
lly, "A VLSI Architectureref.
or Current Data Struct
ures ", Kluwer Academic Pre
Section 5.3.3 of ss, 1987 describes a system that performs the routing described above.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、従来の
ルーティング法で使用する経路が固定されているため、
アプリケーションによっては1つのルートにトラフィッ
クが増大し、そこで通信ネックが生じ、処理の並列化の
さまたげになることがある。また複数のプロセッサにデ
ータのブロードキャストを行う場合は、宛先のプロセッ
サ毎に通信を行わなければならなかった。そのため処理
によりルーティングをプログラムにより自由に設定で
き、しかも送信元のプロセッサから複数のプロセッサへ
データのブロードキャストを一回のメッセージ通信で実
現するために書き換え可能なルーティングテーブルを用
いる方法が考えられるが、プロセッサ数の増大とともに
ルーティングテーブルのサイズが増大するという問題が
あった。
However, since the route used in the conventional routing method is fixed,
Depending on the application, traffic may increase in one route, which may cause a communication bottleneck and hinder parallel processing. In the case of broadcasting data to a plurality of processors, communication has to be performed for each destination processor. Therefore, it is possible to use a rewritable routing table so that the routing can be freely set by a program through processing and the data can be broadcast from the transmitting processor to a plurality of processors in one message communication. There is a problem that the size of the routing table increases as the number increases.

【0006】本発明の目的はプロセッサ数が増大した際
にルーティングテーブルのサイズの増大を抑えることの
できるアレイプロセッサのルーティング方法を提供する
ことにある。
An object of the present invention is to provide an array processor routing method capable of suppressing an increase in the size of a routing table when the number of processors increases.

【0007】[0007]

【課題を解決するための手段】第1の発明は、複数の演
算プロセッサと、プロセッサ間の通信を行う低次元のメ
ッシュ状の相互接続ネットワークとから構成されるアレ
イプロセッサにおいて、送信元プロセッサから単数ある
いは複数の宛先プロセッサへメッセージパケットのルー
ティングを行う方法であって、前記ネットワーク内の各
々の演算プロセッサに対して演算プロセッサから発生し
たあるいは接続された複数の接続リンクの一つから送ら
れてきたメッセージパケットを複数の接続リンクあるい
は演算プロセッサの中から指定された単数あるいは複数
の宛先に転送する手段および、メッセージパケット内の
アドレス情報からメッセージパケットを転送する単数あ
るいは複数のリンクあるいは演算プロセッサを指定する
演算プロセッサにより書き換え可能なルーティング情報
記憶手段を備えるアレイプロセッサを複数のクラスタに
分割し、クラスタ内の全部あるいは一部のプロセッサの
ルーティング情報記憶手段における全部あるいは一部の
アドレスを他のクラスタのプロセッサに割り当てること
により、クラスタ外のプロセッサへのメッセージ転送を
可能にすることを特徴とする。
According to a first aspect of the present invention, there is provided an array processor comprising a plurality of arithmetic processors and a low-dimensional mesh interconnection network for performing communication between the processors. Alternatively, a method of routing a message packet to a plurality of destination processors, wherein for each of the arithmetic processors in the network, a message generated from the arithmetic processor or transmitted from one of a plurality of connected links connected thereto. Means for transferring a packet to a designated one or more destinations among a plurality of connection links or arithmetic processors, and an operation for designating one or more links or an arithmetic processor for transferring a message packet from address information in the message packet To the processor Dividing an array processor having rewritable routing information storage means into a plurality of clusters, and allocating all or some addresses in routing information storage means of all or some processors in the cluster to processors in another cluster Thus, a message can be transferred to a processor outside the cluster.

【0008】第2の発明は、複数の演算プロセッサと、
プロセッサ間の通信を行う低次元のメッシュ状の相互接
続ネットワークとから構成されるアレイプロセッサにお
いて、送信元プロセッサから単数あるいは複数の宛先プ
ロセッサへメッセージパケットのルーティングを行う方
法であって、前記ネットワーク内の各々の演算プロセッ
サに対して演算プロセッサから発生したあるいは接続さ
れた複数の接続リンクの一つから送られてきたメッセー
ジパケットを複数の接続リンクあるいは演算プロセッサ
の中から指定された単数あるいは複数の宛先に転送する
手段および、メッセージパケット内のアドレス情報から
メッセージパケットを転送する単数あるいは複数のリン
クあるいは演算プロセッサを指定する演算プロセッサに
より書き換え可能なルーティング情報記憶手段を備える
アレイプロセッサを複数のクラスタに分割し、各々のク
ラスタに1つのアドレスを割り当て、送信プロセッサが
異なるクラスタに属する宛先プロセッサにメッセージパ
ケットを送る場合は、パケット内にクラスタアドレスと
クラスタ内のローカルアドレスを付与し、クラスタアド
レスによりルーティングを行うことにより宛先プロセッ
サの属するクラスタ内のクラスタアドレスを持つゲート
ウェイプロセッサに転送し、ゲートウェイプロセッサに
おいて、クラスタアドレスを指定されたメッセージパケ
ットを受信した場合はローカルアドレスによりルーティ
ングを行うように再設定してパケットの再送を行うこと
により、宛先プロセッサへの転送を行うことを特徴とす
る。
[0008] A second invention provides a plurality of arithmetic processors,
A method of routing message packets from a source processor to one or more destination processors in an array processor comprising a low-dimensional mesh interconnect network for communicating between the processors, the method comprising: For each arithmetic processor, a message packet generated from the arithmetic processor or transmitted from one of the plurality of connection links connected to the arithmetic processor is sent to one or more destinations designated by the plurality of connection links or the arithmetic processor. An array processor comprising: a transfer unit; and a routing information storage unit that can be rewritten by an arithmetic processor that specifies one or more links or an arithmetic processor that transfers the message packet from the address information in the message packet. When the message is divided into a plurality of clusters, one address is assigned to each cluster, and the sending processor sends a message packet to a destination processor belonging to a different cluster, a cluster address and a local address within the cluster are assigned in the packet, By performing routing by address, the packet is transferred to the gateway processor having the cluster address in the cluster to which the destination processor belongs. When the gateway processor receives a message packet in which the cluster address is specified, the gateway processor performs routing by using the local address. By setting and retransmitting the packet, the packet is transferred to the destination processor.

【0009】第3の発明は、第2の発明のルーティング
方法において、各クラスタにおいてクラスタ外部と接続
するクラスタ内の複数のプロセッサを同じクラスタアド
レスをもつゲートウェイプロセッサとし、クラスタ外の
プロセッサを各々のゲートウェイプロセッサに対して互
いに交差せずにルーティングを行えるようにルーティン
グ情報を設定することにより、クラスタ内のプロセッサ
への複数のメッセージ転送を同時に行うことを特徴とす
る。
According to a third invention, in the routing method according to the second invention, in each cluster, a plurality of processors in the cluster connected to the outside of the cluster are gateway processors having the same cluster address, and the processors outside the cluster are each a gateway processor. By setting routing information so that the processors can perform routing without crossing each other, a plurality of messages are simultaneously transferred to the processors in the cluster.

【0010】[0010]

【作用】本発明の原理を次に示す。第1の発明のメッセ
ージパケットルーティング方法では、メッセージパケッ
ト内に付加された宛先アドレス情報により、ルーティン
グテーブルをアクセスして転送先の情報を得る。ルーテ
ィングテーブルは可能な全ての転送先(接続リンクおよ
びプロセッサ)に対して転送するか否かの設定を行うビ
ットが割り当てられているため複数のリンクあるいは演
算プロセッサへの転送が可能である。
The principle of the present invention will be described below. In the message packet routing method according to the first invention, the routing table is accessed by using the destination address information added in the message packet to obtain information on the transfer destination. In the routing table, bits for setting whether or not to transfer to all possible transfer destinations (connection links and processors) are assigned, so that transfer to a plurality of links or arithmetic processors is possible.

【0011】各々のプロセッサに一意的にアドレスを割
り当てたクラスタにおいて、隣接クラスタに接する一部
の連続したプロセッサの集合のルーティングテーブルの
一部のアドレスに対する転送先を隣接クラスタに転送す
るように設定することにより、そのアドレスを指定した
パケットは送り側プロセッサの属するクラスタ内の対応
するアドレスのプロセッサには転送されずに隣接クラス
タ内の対応するアドレスを持つプロセッサに転送するこ
とができる。
In a cluster in which an address is uniquely assigned to each processor, a transfer destination for a part of addresses in a routing table of a set of a part of continuous processors in contact with an adjacent cluster is set to be transferred to the adjacent cluster. Thus, the packet specifying the address can be transferred to the processor having the corresponding address in the adjacent cluster without being transferred to the processor of the corresponding address in the cluster to which the sending processor belongs.

【0012】以上の方法によるとルーティングテーブル
のサイズにより制限されるクラスタを複数結合したプロ
セッサアレイを構成することが可能になる。
According to the above method, it is possible to configure a processor array in which a plurality of clusters limited by the size of the routing table are connected.

【0013】第2の発明のメッセージパケットルーティ
ング方法では、メッセージパケット内に付加された宛先
アドレス情報により、ルーティングテーブルをアクセス
して転送先の情報を得る。ルーティングテーブルは可能
な全ての転送先(接続リンクおよびプロセッサ)に対し
て転送するか否かの設定を行うビットが割り当てられて
いるため複数のリンクあるいは演算プロセッサへの転送
が可能である。またルーティングテーブル内にクラスタ
アドレスとクラスタ内ローカルアドレスに対する転送先
の指定を行う。ここでクラスタアドレスはクラスタ内の
一部あるいは全部のプロセッサに対して割り当てられ
る。
In the message packet routing method according to the second invention, a routing table is accessed by using destination address information added in the message packet to obtain transfer destination information. In the routing table, bits for setting whether or not to transfer to all possible transfer destinations (connection links and processors) are assigned, so that transfer to a plurality of links or arithmetic processors is possible. Further, the transfer destination for the cluster address and the intra-cluster local address is specified in the routing table. Here, the cluster address is assigned to some or all processors in the cluster.

【0014】送信プロセッサが異なるクラスタに属する
宛先プロセッサにメッセージパケットを転送する場合は
クラスタアドレスとクラスタ内ローカルアドレスをメッ
セージに付与し、まずクラスタアドレスによりルーティ
ングを行うことにより宛先プロセッサの属するクラスタ
内のプロセッサ(以下ゲートウェイプロセッサと呼ぶ)
にまで転送される。ゲートウェイプロセッサではメッセ
ージパケットをプロセッサ内に取り込み、パケット内の
クラスタ内ローカルアドレスを取り出してこれを用いて
ルーティングを行うように設定してから再送信を行う。
これにより宛先プロセッサへメッセージを送ることがで
きる。
When the transmitting processor transfers a message packet to a destination processor belonging to a different cluster, a cluster address and a local address within the cluster are added to the message, and routing is first performed by using the cluster address to thereby execute the processor within the cluster to which the destination processor belongs. (Hereinafter referred to as gateway processor)
Is transferred to. The gateway processor fetches the message packet into the processor, takes out the local address in the cluster in the packet, sets it to perform routing using this, and then retransmits it.
This allows the message to be sent to the destination processor.

【0015】以上の方法によるとN2 個のプロセッサを
2 個のクラスタに分割することにより各プロセッサに
対して必要なルーティングテーブルのサイズはN2 から
クラスタ内ローカルアドレスの数(N/M)2 およびク
ラスタアドレスの数M2 を加えた(N/M)2 +M2
なる。
According to the above method, by dividing N 2 processors into M 2 clusters, the size of the routing table required for each processor is calculated from N 2 to the number of local addresses in the cluster (N / M). (N / M) 2 + M 2 obtained by adding 2 and the number M 2 of cluster addresses.

【0016】第3の発明のメッセージパケットルーティ
ング方法では、各クラスタにおいてクラスタ外部と接す
る複数のプロセッサを同じクラスタアドレスをもつゲー
トウェイプロセッサとした場合、クラスタに転送された
メッセージパケットが全てのゲートウェイプロセッサに
転送されることになる。そこでゲートウェイプロセッサ
の数をLとしたときクラスタ外部のプロセッサをL個の
ゲートウェイプロセッサと連続したL個のプロセッサ集
合に分割することにより、各プロセッサ集合から各々の
ゲートウェイプロセッサに対して互いに交差せずにルー
ティングを行うことができる。これにより最大L個のク
ラスタ内へのメッセージ転送を同時に行うことができ
る。
In the message packet routing method according to the third invention, when a plurality of processors in contact with the outside of the cluster in each cluster are gateway processors having the same cluster address, the message packet transferred to the cluster is transferred to all gateway processors. Will be done. Therefore, when the number of gateway processors is L, the processors outside the cluster are divided into L gateway processors and L processor sets that are continuous with each other. Routing can be performed. As a result, message transfer into a maximum of L clusters can be performed simultaneously.

【0017】[0017]

【実施例】次に本発明の実施例を図面を参照しながら説
明する。
Next, an embodiment of the present invention will be described with reference to the drawings.

【0018】図1は第1の発明の一実施例であり、4本
のリンクに接続された単位プロセッサノード10を2次
元格子状に接続したアレイプロセッサを2次元格子状の
第1および第2の2つのクラスタに分割した構成を示
す。
FIG. 1 shows an embodiment of the first invention, in which an array processor in which unit processor nodes 10 connected to four links are connected in a two-dimensional lattice is first and second in a two-dimensional lattice. 2 shows a configuration divided into two clusters.

【0019】図2は、単位プロセッサノード10の構成
を示す。単位プロセッサは、演算プロセッサ21、プロ
セッサポート22、第1の通信ポート23、第2の通信
ポート24、第3の通信ポート25、第4の通信ポート
26、制御回路27およびルーティングテーブル28と
から構成される。
FIG. 2 shows the configuration of the unit processor node 10. The unit processor includes an arithmetic processor 21, a processor port 22, a first communication port 23, a second communication port 24, a third communication port 25, a fourth communication port 26, a control circuit 27, and a routing table 28. Is done.

【0020】第1の通信ポート23、第2の通信ポート
24、第3の通信ポート25、第4の通信ポート26
は、各々接続された他の単位プロセッサノードから送ら
れてきたメッセージパケットを受け取り、メッセージパ
ケット内の宛先アドレス情報を抜出し、これを制御回路
27に送る。プロセッサポート22は、演算プロセッサ
21から書き込まれたメッセージパケットの宛先アドレ
ス情報を抜出し、これを制御回路27に送る。
A first communication port 23, a second communication port 24, a third communication port 25, and a fourth communication port 26
Receives the message packets sent from the other connected unit processor nodes, extracts the destination address information in the message packets, and sends them to the control circuit 27. The processor port 22 extracts the destination address information of the message packet written from the arithmetic processor 21 and sends it to the control circuit 27.

【0021】制御回路27は送られた宛先アドレスによ
りルーティングテーブル28を引いて転送すべき第1の
通信ポート23、第2の通信ポート24、第3の通信ポ
ート25、第4の通信ポート26のいずれか、あるいは
プロセッサポート22に対してメッセージ転送制御信号
を送る。このときルーティングテーブルは第1の通信ポ
ート23、第2の通信ポート24、第3の通信ポート2
5、第4の通信ポート26、プロセッサポート22の5
つの送り先に1ビットずつ割り当てた5ビットを1つの
アドレスワードとし、プロセッサの数に一定量の付加数
を足したアドレス空間を持つ読み出し書込み可能なメモ
リにより構成される。またルーティングテーブル28は
演算プロセッサ21により設定,変更を行うことができ
る。
The control circuit 27 determines the first communication port 23, the second communication port 24, the third communication port 25, and the fourth communication port 26 to which the routing table 28 is to be transferred based on the transmitted destination address. Either one or a message transfer control signal is sent to the processor port 22. At this time, the routing table includes the first communication port 23, the second communication port 24, the third communication port 2
5, 4th communication port 26, 5 of processor port 22
It is composed of a readable and writable memory having an address space in which 5 bits assigned to each destination one bit at a time is one address word, and a fixed number of additional numbers is added to the number of processors. The routing table 28 can be set and changed by the arithmetic processor 21.

【0022】第1の通信ポート23、第2の通信ポート
24、第3の通信ポート25、第4の通信ポート26
は、またメッセージ転送制御信号を受取ると送られてき
たメッセージはパケットを接続された隣接単位プロセッ
サノードに送り出す。またプロセッサポート22はメッ
セージ転送制御信号を受取ると送られてきたメッセージ
を受信し格納して、演算プロセッサ21により読み出せ
るようにする。
First communication port 23, second communication port 24, third communication port 25, fourth communication port 26
When a message transfer control signal is received, the transmitted message sends a packet to an adjacent unit processor node connected thereto. The processor port 22 receives and stores the transmitted message upon receiving the message transfer control signal so that the arithmetic processor 21 can read it.

【0023】図3にメッセージ転送の一例を示す。図3
は図1に示した2次元格子状に接続されたアレイプロセ
ッサを示す。図3において、各単位プロセッサ内のPは
演算プロセッサを示す。図3に示すアレイプロセッサの
第1のクラスタは、ローカルアドレス1をもつ第1の単
位プロセッサ31、ローカルアドレス2をもつ第2の単
位プロセッサ32、ローカルアドレス3をもつ第3の単
位プロセッサ33、ローカルアドレス4をもつ第4の単
位プロセッサ34、等から構成され、第2のクラスタ
は、ローカルアドレス3をもつ第5の単位プロセッサ3
5、ローカルアドレス1をもつ第6の単位プロセッサ3
6、ローカルアドレス2をもつ第7の単位プロセッサ3
7、等から構成される。このうち第3の単位プロセッサ
33、第4の単位プロセッサ34は、第1のクラスタに
おいて他のクラスタへの転送が可能なノードである。
FIG. 3 shows an example of message transfer. FIG.
Denotes an array processor connected in a two-dimensional grid pattern shown in FIG. In FIG. 3, P in each unit processor indicates an arithmetic processor. The first cluster of array processors shown in FIG. 3 includes a first unit processor 31 having a local address 1, a second unit processor 32 having a local address 2, a third unit processor 33 having a local address 3, The second cluster is composed of a fourth unit processor 34 having a local address 3 and a fourth unit processor 34 having an address 4.
5. Sixth unit processor 3 having local address 1
6. Seventh unit processor 3 having local address 2
7, etc. Among them, the third unit processor 33 and the fourth unit processor 34 are nodes that can transfer data to another cluster in the first cluster.

【0024】図4に各プロセッサのルーティングテーブ
ルを示す。(a)は第1,第3,第4および第6の単位
プロセッサ用ルーティングテーブルを、(b)は第2,
第7の単位プロセッサ用ルーティングテーブルを、
(c)は第5の単位プロセッサ用ルーティングテーブル
を示している。図4においてPの欄は演算プロセッサ、
Nの欄は上方向、Eの欄は右方向、Sの欄は下方向、W
の欄は左方向への転送を指定するビットである。第3の
単位プロセッサ33の演算プロセッサから送り出される
メッセージパケットは、クラスタ外ローカルアドレス2
をもち、異なるクラスタ内のプロセッサへ転送される。
まず、第3の単位プロセッサ33のルーティングテーブ
ル(図4(a))のアドレス2の値Eにより第4の単位
プロセッサ34に送られ、第4単位プロセッサ34で
は、第4の単位プロセッサ34のルーティングテーブル
(図4(a))のアドレス2の値Eにより第2のクラス
タに属する第5の単位プロセッサ35に送られ、第5の
単位プロセッサ35では、第5の単位プロセッサ35の
ルーティングテーブル(図4(c))のアドレス2の値
Nにより第6の単位プロセッサ36に送られる。第6の
単位プロセッサ36では、第6の単位プロセッサ36の
ルーティングテーブル(図4(a))のアドレス2の値
Eにより第7の単位プロセッサ37に送られる。第7の
単位プロセッサ37では、第7の単位プロセッサ37の
ルーティングテーブル(図4(b))のアドレス2の値
Pにより第7の単位プロセッサ37のプロセッサポート
に書込まれる。
FIG. 4 shows a routing table of each processor. (A) shows the routing tables for the first, third, fourth and sixth unit processors, and (b) shows the second and third unit processor routing tables.
The seventh unit processor routing table is
(C) shows a fifth unit processor routing table. In FIG. 4, the column of P is an arithmetic processor,
The column of N is upward, the column of E is rightward, the column of S is downward, W
Are bits for designating transfer to the left. The message packet sent from the arithmetic processor of the third unit processor 33 is a local address 2 outside the cluster.
And transferred to processors in different clusters.
First, it is sent to the fourth unit processor 34 based on the value E of the address 2 in the routing table (FIG. 4A) of the third unit processor 33, and the fourth unit processor 34 routes the fourth unit processor 34. The value E of the address 2 in the table (FIG. 4A) is sent to the fifth unit processor 35 belonging to the second cluster, and the fifth unit processor 35 sends the routing table of the fifth unit processor 35 (FIG. 4A). 4 (c)) is sent to the sixth unit processor 36 according to the value N of the address 2. The sixth unit processor 36 sends the sixth unit processor 36 to the seventh unit processor 37 according to the value E of the address 2 in the routing table (FIG. 4A). In the seventh unit processor 37, the value is written to the processor port of the seventh unit processor 37 by the value P of the address 2 in the routing table (FIG. 4B) of the seventh unit processor 37.

【0025】このようにメッセージ転送の経路は、図4
に示す各単位プロセッサのルーティングテーブルの設定
により決められ、第1のクラスタに属する第3の単位プ
ロセッサ33から送信されたパケットはローカルアドレ
ス2を有するのにもかかわらず、第1のクラスタにおい
てローカルアドレス2を有する第2の単位プロセッサ3
2には転送されず、第2のクラスタにおいてローカルア
ドレス2を有する第7の単位プロセッサに転送される。
As described above, the message transfer route is shown in FIG.
Is determined by the setting of the routing table of each unit processor shown in FIG. 3 and the packet transmitted from the third unit processor 33 belonging to the first cluster has the local address 2 in the first cluster despite the fact that the packet has the local address 2. 2nd unit processor 3 having 2
2 is transferred to the seventh unit processor having the local address 2 in the second cluster.

【0026】図5は、第2の発明の一実施例であり、4
本のリンクに接続された単位プロセッサノード10を2
次元格子状に接続したアレイプロセッサを2次元格子状
の第1,第2,第3および第4の4つのクラスタに分割
した構成を示す。単位プロセッサノード10の構成は、
図2に示した構成と同じである。
FIG. 5 shows an embodiment of the second invention.
Unit processor nodes 10 connected to two links
A configuration in which an array processor connected in a dimensional lattice is divided into four clusters of a first, second, third and fourth two-dimensional lattice is shown. The configuration of the unit processor node 10 is as follows.
This is the same as the configuration shown in FIG.

【0027】図6にメッセージ転送の一例を示す。図6
は図5に示した2次元格子状に接続されたアレイプロセ
ッサを示す。図6において各単位プロセッサ内のPは演
算プロセッサを示す。図6に示すアレイプロセッサの第
1のクラスタは第1の単位プロセッサ31、第2の単位
プロセッサ32、第3の単位プロセッサ33、等から構
成され、第2のクラスタは第4の単位プロセッサ34、
第5の単位プロセッサ35、第6の単位プロセッサ3
6、等から構成され、第3のクラスタは第7の単位プロ
セッサ37、第8の単位プロセッサ38、等から構成さ
れる。このうち第4の単位プロセッサ34は第2のクラ
スタのゲートウェイノードであり、第7の単位プロセッ
サ37は第3のクラスタのゲートウェイノードである。
FIG. 6 shows an example of message transfer. FIG.
Denotes an array processor connected in a two-dimensional lattice shown in FIG. In FIG. 6, P in each unit processor indicates an arithmetic processor. The first cluster of the array processor shown in FIG. 6 includes a first unit processor 31, a second unit processor 32, a third unit processor 33, and the like, and the second cluster is a fourth unit processor 34,
Fifth unit processor 35, sixth unit processor 3
The third cluster is composed of a seventh unit processor 37, an eighth unit processor 38, and the like. Among them, the fourth unit processor 34 is a gateway node of the second cluster, and the seventh unit processor 37 is a gateway node of the third cluster.

【0028】図7に各プロセッサのルーティングテーブ
ルを示す。(a)は第1,第2,第3および第4の単位
プロセッサ用ルーティングテーブルを、(b)は、第5
および第6の単位プロセッサ用ルーティングテーブル
を、(c)は、第7の単位プロセッサ用ルーティングテ
ーブルを、(d)は、第8の単位プロセッサ用ルーティ
ングテーブルを示している。図7においてPの欄は演算
プロセッサ、Nの欄は上方向、Eの欄は右方向、Sの欄
は下方向、Wの欄は左方向への転送を指定するビットで
ある。
FIG. 7 shows a routing table of each processor. (A) is the first, second, third and fourth unit processor routing tables, and (b) is the fifth
And (c) shows the seventh unit processor routing table, and (d) shows the eighth unit processor routing table. In FIG. 7, the column P indicates an arithmetic processor, the column N indicates an upward direction, the column E indicates a rightward direction, the column S indicates a downward direction, and the column W indicates a bit for specifying a transfer to the left.

【0029】第1の単位プロセッサ31の演算プロセッ
サから送り出されるメッセージパケットは、クラスタア
ドレス200とクラスタ内ローカルアドレス2をもち、
異なるクラスタ内のプロセッサへのメッセージ転送であ
るため、まずクラスタアドレスによりルーティングを行
う。まず、第1の単位プロセッサ31のルーティングテ
ーブル(図7(a))のアドレス200の値Eにより第
2の単位プロセッサ32に送られ、第2の単位プロセッ
サ32では、第2の単位プロセッサ32のルーティング
テーブル(図7(a))のアドレス200の値Eにより
第3の単位プロセッサ33に送られ、第3の単位プロセ
ッサ33では、第2の単位プロセッサ33のルーティン
グテーブル(図7(a))のアドレス200の値Eによ
り第4の単位プロセッサ37に送られる。第4の単位プ
ロセッサ34では、第4の単位プロセッサ34のルーテ
ィングテーブル(図7(a))のアドレス200の値E
により第5の単位プロセッサ35に送られる。
The message packet sent from the arithmetic processor of the first unit processor 31 has a cluster address 200 and a local address 2 within the cluster.
Since the message is transferred to a processor in a different cluster, routing is first performed by using the cluster address. First, the first unit processor 31 is sent to the second unit processor 32 based on the value E of the address 200 in the routing table (FIG. 7A). It is sent to the third unit processor 33 according to the value E of the address 200 in the routing table (FIG. 7A), and the third unit processor 33 routes the second unit processor 33 (FIG. 7A). Is sent to the fourth unit processor 37 according to the value E of the address 200 of the third unit. In the fourth unit processor 34, the value E of the address 200 in the routing table (FIG. 7A) of the fourth unit processor 34
Is sent to the fifth unit processor 35.

【0030】第5の単位プロセッサ35では、第5の単
位プロセッサ35のルーティングテーブル(図7
(b))のアドレス200の値Sにより第6の単位プロ
セッサ36に送られる。第6の単位プロセッサ36で
は、第6の単位プロセッサ36のルーティングテーブル
(図7(b))のアドレス200の値Sにより第7の単
位プロセッサ37に送られる。
In the fifth unit processor 35, the routing table of the fifth unit processor 35 (FIG. 7)
It is sent to the sixth unit processor 36 by the value S of the address 200 in (b)). The sixth unit processor 36 sends the sixth unit processor 36 to the seventh unit processor 37 based on the value S of the address 200 in the routing table (FIG. 7B) of the sixth unit processor 36.

【0031】第7の単位プロセッサ37では、第7の単
位プロセッサ37のルーティングテーブル(図7
(c))のアドレス200の値Pにより第3のクラスタ
のゲートウェイプロセッサである第7の単位プロセッサ
37のプロセッサポートに書き込まれる。第7の単位プ
ロセッサの演算プロセッサはメッセージパケット内のク
ラスタ内ローカルアドレス2によりルーティングを行う
ように再設定してメッセージパケットを送信する。第7
の単位プロセッサ37の演算プロセッサから送り出され
たメッセージパケットは第7の単位プロセッサ37のル
ーティングテーブルのアドレス2の値Sにより第8の単
位プロセッサ38に送られ、第8の単位プロセッサ38
では、第8の単位プロセッサ38のルーティングテーブ
ル(図7(d))のアドレス2の値Pにより宛先プロセ
ッサである第8の単位プロセッサ38のプロセッサポー
トに書込まれる。
In the seventh unit processor 37, the routing table of the seventh unit processor 37 (FIG. 7)
The data is written to the processor port of the seventh unit processor 37 which is the gateway processor of the third cluster by the value P of the address 200 in (c)). The arithmetic processor of the seventh unit processor resets the routing so as to perform the routing based on the intra-cluster local address 2 in the message packet and transmits the message packet. Seventh
The message packet sent from the arithmetic processor of the unit processor 37 is sent to the eighth unit processor 38 according to the value S of the address 2 of the routing table of the seventh unit processor 37, and the eighth unit processor 38
Then, the data is written to the processor port of the eighth unit processor 38 as the destination processor by the value P of the address 2 in the routing table (FIG. 7D) of the eighth unit processor 38.

【0032】このようにメッセージ転送の経路は図7に
示す各単位プロセッサのルーティングテーブルの設定に
より決められる。
As described above, the path of the message transfer is determined by the setting of the routing table of each unit processor shown in FIG.

【0033】次に、第3の発明の実施例について説明す
る。アドレスプロセッサのクラスタへの分割は図5に同
じであり、単位プロセッサノードの構成は、図2に示し
た構成と同じである。
Next, an embodiment of the third invention will be described. The division of the address processor into clusters is the same as in FIG. 5, and the configuration of the unit processor node is the same as the configuration shown in FIG.

【0034】図8に示すメッセージ転送の一例を示す。
図8は図5に示した2次元格子状に接続されたアレイプ
ロセッサを示す。図8において各単位プロセッサ内のP
は演算プロセッサを示す。図8に示すアレイプロセッサ
の第1のクラスタは第1の単位プロセッサ31、第2の
単位プロセッサ32、第3の単位プロセッサ33、第9
の単位プロセッサ39、第10の単位プロセッサ40、
第11の単位プロセッサ41、等から構成され、第2の
クラスタは第4の単位プロセッサ34、第5の単位プロ
セッサ35、第6の単位プロセッサ36、第12の単位
プロセッサ42、等から構成され、第3のクラスタ第7
の単位プロセッサ37、第8の単位プロセッサ38、第
13の単位プロセッサ43、第14の単位プロセッサ4
4、等から構成される。このうち第4の単位プロセッサ
34および第12の単位プロセッサ42は第2のクラス
タのゲートウェイノードであり、第7の単位プロセッサ
37および第13の単位プロセッサ43は第3のクラス
タのゲートウェイノードである。
FIG. 8 shows an example of the message transfer shown in FIG.
FIG. 8 shows an array processor connected in a two-dimensional grid pattern shown in FIG. In FIG. 8, P in each unit processor
Indicates an arithmetic processor. The first cluster of the array processors shown in FIG. 8 includes a first unit processor 31, a second unit processor 32, a third unit processor 33, and a ninth unit processor.
Unit processor 39, tenth unit processor 40,
The second cluster is composed of a fourth unit processor 34, a fifth unit processor 35, a sixth unit processor 36, a twelfth unit processor 42, and the like. Third cluster seventh
Unit processor 37, eighth unit processor 38, thirteenth unit processor 43, fourteenth unit processor 4
4, etc. Among them, the fourth unit processor 34 and the twelfth unit processor 42 are gateway nodes of the second cluster, and the seventh unit processor 37 and the thirteenth unit processor 43 are gateway nodes of the third cluster.

【0035】図9および図10に各プロセッサのルーテ
ィングテーブルを示す。図9(a)は第1,第2,第
3,第4,第9,第10および第11の単位プロセッサ
用ルーティングテーブルを、図9(b)は第5,第6お
よび第12の単位プロセッサ用ルーティングテーブル
を、図9(c)は第7の単位プロセッサ用ルーティング
テーブルを、図9(d)は第8の単位プロセッサ用ルー
ティングテーブルを、図10(e)は第13の単位プロ
セッサ用ルーティンテーブルを、図10(f)は第14
の単位プロセッサ用ルーティングテーブルを示してい
る。
FIGS. 9 and 10 show a routing table of each processor. FIG. 9A shows the routing tables for the first, second, third, fourth, ninth, tenth, and eleventh unit processors, and FIG. 9B shows the fifth, sixth, and twelfth unit processors. FIG. 9C shows the routing table for the seventh unit processor, FIG. 9D shows the routing table for the eighth unit processor, and FIG. 10E shows the routing table for the thirteenth unit processor. The routine table is shown in FIG.
3 shows a unit processor routing table.

【0036】図9および図10においてPの欄は演算プ
ロセッサ、Nの欄は上方向、Eの欄は右方向、Sの欄は
下方向、Wの欄は左方向への転送を指定するビットであ
る。
In FIGS. 9 and 10, a column P designates an arithmetic processor, a column N designates an upward direction, a column E designates a rightward direction, a column S designates a downward direction, and a column W designates a transfer direction to the left. It is.

【0037】第1の単位プロセッサ31の演算プロセッ
サから送り出されるメッセージパケットはクラスタアド
レス200とクラスタ内ローカルアドレス2をもち、異
なるクラスタ内のプロセッサへのメッセージ転送である
ため、まずクラスタアドレスによりルーティングを行
う。まず、第1の単位プロセッサ31のルーティングテ
ーブル(図9(a))のアドレス200の値Eにより第
2の単位プロセッサ32に送られ、第2単位プロセッサ
32では、第2の単位プロセッサ32のルーティングテ
ーブル(図9(a))のアドレス200の値Eにより第
3の単位プロセッサ33に送られ、第3の単位プロセッ
サ33では、第3の単位プロセッサ33のルーティング
テーブル(図9(a))のアドレス200の値Eにより
第4の単位プロセッサ34に送られる。第4の単位プロ
セッサ34では、第4の単位プロセッサ34のルーティ
ングテーブル(図9(a))のアドレス200の値Eに
より第5の単位プロセッサ35に送られる。
The message packet sent from the arithmetic processor of the first unit processor 31 has a cluster address 200 and an intra-cluster local address 2, and is a message transfer to a processor in a different cluster. . First, the first unit processor 31 is sent to the second unit processor 32 based on the value E of the address 200 in the routing table (FIG. 9A). In the second unit processor 32, the routing of the second unit processor 32 is performed. It is sent to the third unit processor 33 according to the value E of the address 200 of the table (FIG. 9A), and the third unit processor 33 stores the value in the routing table of the third unit processor 33 (FIG. 9A). It is sent to the fourth unit processor 34 by the value E of the address 200. The fourth unit processor 34 sends the fourth unit processor 34 to the fifth unit processor 35 based on the value E of the address 200 in the routing table (FIG. 9A) of the fourth unit processor 34.

【0038】第5の単位プロセッサ35では、第5の単
位プロセッサ35のルーティングテーブル(図9
(b))のアドレス200の値Sにより第6の単位プロ
セッサ36に送られる。第6の単位プロセッサ36で
は、第6の単位プロセッサ36のルーティングテーブル
(図9(b))のアドレス200の値Sにより第7の単
位プロセッサ37に送られる。
In the fifth unit processor 35, the routing table of the fifth unit processor 35 (FIG. 9)
It is sent to the sixth unit processor 36 by the value S of the address 200 in (b)). The sixth unit processor 36 sends the sixth unit processor 36 to the seventh unit processor 37 based on the value S of the address 200 in the routing table (FIG. 9B).

【0039】第7の単位プロセッサ37では、第7の単
位プロセッサ37のルーティングテーブル(図9
(c))のアドレス200の値Pにより第3のクラスタ
のゲートウェイプロセッサである第7の単位プロセッサ
37のプロセッサポートに書込まれる。第7の単位プロ
セッサの演算プロセッサは、メッセージパケット内のク
ラスタ内ローカルアドレス2によりルーティングを行う
ように再設定してメッセージパケットを再送信する。第
7の単位プロセッサ37の演算プロセッサから送り出さ
れたメッセージパケットは、第7の単位プロセッサ37
のルーティングテーブルのアドレス2の値Sにより第8
の単位プロセッサ38に送られ、第8の単位プロセッサ
38では、第8の単位プロセッサ38のルーティングテ
ーブル(図9(d))のアドレス2の値Pにより宛先プ
ロセッサである第8の単位プロセッサ38のプロセッサ
ポートに書込まれる。
In the seventh unit processor 37, the routing table of the seventh unit processor 37 (FIG. 9)
The value is written to the processor port of the seventh unit processor 37 which is the gateway processor of the third cluster by the value P of the address 200 in (c)). The arithmetic processor of the seventh unit processor resets the routing so as to perform the routing using the intra-cluster local address 2 in the message packet and retransmits the message packet. The message packet sent from the arithmetic processor of the seventh unit processor 37 is
The value S of the address 2 in the routing table of
Of the eighth unit processor 38, which is the destination processor, based on the value P of the address 2 in the routing table (FIG. 9D) of the eighth unit processor 38. Written to the processor port.

【0040】一方、第9の単位プロセッサ39の演算プ
ロセッサから送り出されるメッセージパケットは、クラ
スタアドレス200とクラスタ内ローカルアドレス3を
もち、異なるクラスタ内のプロセッサへのメッセージ転
送であるため、まずクラスタアドレスによりルーティン
グを行う。まず、第9の単位プロセッサ39のルーティ
ングテーブル(図9(a))のアドレス200の値Eに
より第10の単位プロセッサ40に送られ、第10の単
位プロセッサ40では、第10の単位プロセッサ40の
ルーティングテーブル(図9(a))のアドレス200
の値Eにより第11の単位プロセッサ41に送られ、第
11の単位プロセッサ41では、第11の単位プロセッ
サ41のルーティングテーブル(図9(a))のアドレ
ス200の値Eにより第12の単位プロセッサ42に送
られ、第12の単位プロセッサ42では、第12の単位
プロセッサ42のルーティングテーブル(図9(b))
のアドレス200の値Sにより第13の単位プロセッサ
43に送られる。
On the other hand, a message packet sent from the arithmetic processor of the ninth unit processor 39 has a cluster address 200 and a local address 3 within a cluster, and is a message transfer to a processor in a different cluster. Perform routing. First, the ninth unit processor 39 is sent to the tenth unit processor 40 by the value E of the address 200 in the routing table (FIG. 9A). Address 200 in the routing table (FIG. 9A)
Is transmitted to the eleventh unit processor 41 according to the value E of the twelfth unit processor in the eleventh unit processor 41 by the value E of the address 200 in the routing table (FIG. 9A) of the eleventh unit processor 41. The routing table of the twelfth unit processor 42 is sent to the twelfth unit processor 42 (FIG. 9B).
Is sent to the thirteenth unit processor 43 according to the value S of the address 200 of.

【0041】第13の単位プロセッサ43では、第13
の単位プロセッサ43のルーティングテーブル(図10
(e))のアドレス200の値Pにより第3のクラスタ
のゲートウェイプロセッサである第13の単位プロセッ
サ43のプロセッサポートに書込まれる。第13の単位
プロセッサの演算プロセッサは、メッセージパケット内
のクラスタ内ローカルアドレス3によりルーティングを
行うように再設定してメッセージパケットを送信する。
第13の単位プロセッサ43の演算プロセッサから送り
出されたメッセージパケットは13の単位プロセッサ4
3のルーティングテーブルのアドレス3の値Sにより第
14の単位プロセッサ44に送られ、第14の単位プロ
セッサ44では、第14の単位プロセッサ44のルーテ
ィングテーブル(図10(f))のアドレス3の値Pに
より宛先プロセッサである第14の単位プロセッサ44
のプロセッサポートに書込まれる。
In the thirteenth unit processor 43, the thirteenth
Table of the unit processor 43 of FIG.
The value is written to the processor port of the thirteenth unit processor 43 which is the gateway processor of the third cluster by the value P of the address 200 in (e)). The arithmetic processor of the thirteenth unit processor resets the routing so as to perform the routing using the intra-cluster local address 3 in the message packet, and transmits the message packet.
The message packet sent from the arithmetic processor of the thirteenth unit processor 43 is the thirteenth unit processor 4.
3 is sent to the fourteenth unit processor 44 based on the value S of the address 3 of the routing table, and the fourteenth unit processor 44 transmits the value of the address 3 in the routing table of the fourteenth unit processor 44 (FIG. 10F). The fourteenth unit processor 44 which is the destination processor by P
Is written to the processor port.

【0042】このようにメッセージ転送の経路は図9お
よび図10に示す各単位プロセッサのルーティングテー
ブルの設定により決められる。
As described above, the message transfer path is determined by the setting of the routing table of each unit processor shown in FIGS.

【0043】[0043]

【発明の効果】以上説明したように、第1の発明に従え
ばアドレスプロセッサにおいてルーティングテーブルの
サイズによりアレイクラスタを構成し、クラスタ内の一
部のプロセッサの転送先を他のクラスタ内のプロセッサ
と設定することにより複数のクラスタを結合して大規模
なアレイプロセッサを構成することができる。
As described above, according to the first aspect of the present invention, an array cluster is formed by the size of the routing table in the address processor, and the transfer destination of some processors in the cluster is set to the processor in another cluster. By setting, a plurality of clusters can be combined to configure a large-scale array processor.

【0044】また2の発明に従えばアレイプロセッサに
おいてルーティングテーブルにクラスタアドレスとロー
カルアドレスとを書換えることにより、任意の経路のメ
ッセージパケットを送ることができる。
According to the second aspect of the present invention, a message packet of an arbitrary route can be sent by rewriting the cluster address and the local address in the routing table in the array processor.

【0045】さらに第3の発明に従えば複数の単位プロ
セッサから1つのクラスタ内の複数の単位プロセッサに
同時にメッセージパケットを送ることが可能である。
Further, according to the third aspect, it is possible to simultaneously send a message packet from a plurality of unit processors to a plurality of unit processors in one cluster.

【図面の簡単な説明】[Brief description of the drawings]

【図1】第1の発明におけるクラスタ分割を示す図であ
る。
FIG. 1 is a diagram showing cluster division in the first invention.

【図2】単位プロセッサの構成を示す図である。FIG. 2 is a diagram illustrating a configuration of a unit processor.

【図3】第1の発明によるメッセージ転送の一例を示す
図である。
FIG. 3 is a diagram showing an example of a message transfer according to the first invention.

【図4】図3の例における各単位プロセッサのルーティ
ングテーブルを示す図である。
FIG. 4 is a diagram illustrating a routing table of each unit processor in the example of FIG. 3;

【図5】第2の発明におけるクラスタ分割を示す図であ
る。
FIG. 5 is a diagram showing cluster division in the second invention.

【図6】第2の発明によるメッセージ転送の一例を示す
図である。
FIG. 6 is a diagram showing an example of a message transfer according to the second invention.

【図7】図6の例における各単位プロセッサのルーティ
ングテーブルを示す図である。
FIG. 7 is a diagram illustrating a routing table of each unit processor in the example of FIG. 6;

【図8】第3の発明によるメッセージ転送の一例を示す
図である。
FIG. 8 is a diagram showing an example of a message transfer according to the third invention.

【図9】図8の例における各単位プロセッサのルーティ
ングテーブルを示す図である。
FIG. 9 is a diagram illustrating a routing table of each unit processor in the example of FIG. 8;

【図10】図8の例における各単位プロセッサのルーテ
ィングテーブルを示す図である。
FIG. 10 is a diagram showing a routing table of each unit processor in the example of FIG. 8;

【符号の説明】[Explanation of symbols]

10 単位プロセッサノード 21 演算プロセッサ 22 プロセッサポート 23 第1の通信ポート 24 第2の通信ポート 25 第3の通信ポート 26 第4の通信ポート 27 制御回路 28 ルーティングテーブル 31 第1の単位プロセッサ 32 第2の単位プロセッサ 33 第3の単位プロセッサ 34 第4の単位プロセッサ 35 第5の単位プロセッサ 36 第6の単位プロセッサ 37 第7の単位プロセッサ 38 第8の単位プロセッサ 39 第9の単位プロセッサ 40 第10の単位プロセッサ 41 第11の単位プロセッサ 42 第12の単位プロセッサ 43 第13の単位プロセッサ 44 第14の単位プロセッサ Reference Signs List 10 unit processor node 21 arithmetic processor 22 processor port 23 first communication port 24 second communication port 25 third communication port 26 fourth communication port 27 control circuit 28 routing table 31 first unit processor 32 second Unit processor 33 Third unit processor 34 Fourth unit processor 35 Fifth unit processor 36 Sixth unit processor 37 Seventh unit processor 38 Eighth unit processor 39 Ninth unit processor 40 Tenth unit processor 41 11th unit processor 42 12th unit processor 43 13th unit processor 44 14th unit processor

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の演算プロセッサと、プロセッサ間の
通信を行う低次元のメッシュ状の相互接続ネットワーク
とから構成されるアレイプロセッサにおいて、送信元プ
ロセッサから単数あるいは複数の宛先プロセッサへメッ
セージパケットのルーティングを行う方法であって、前
記ネットワーク内の各々の演算プロセッサに対して演算
プロセッサから発生したあるいは接続された複数の接続
リンクの一つから送られてきたメッセージパケットを複
数の接続リンクあるいは演算プロセッサの中から指定さ
れた単数あるいは複数の宛先に転送する手段および、メ
ッセージパケット内のアドレス情報からメッセージパケ
ットを転送する単数あるいは複数のリンクあるいは演算
プロセッサを指定する演算プロセッサにより書き換え可
能なルーティング情報記憶手段を備えるアレイプロセッ
サを複数のクラスタに分割し、クラスタ内の全部あるい
は一部のプロセッサのルーティング情報記憶手段におけ
る全部あるいは一部のアドレスを他のクラスタのプロセ
ッサに割り当てることにより、クラスタ外のプロセッサ
へのメッセージ転送を可能にすることを特徴とするメッ
セージパケットのルーティング方法。
1. An array processor comprising a plurality of arithmetic processors and a low-dimensional mesh interconnection network for communication between processors, wherein a message packet is routed from a source processor to one or more destination processors. A message packet generated from an arithmetic processor or sent from one of a plurality of connected links for each arithmetic processor in the network. Means for forwarding to one or more destinations designated from among them, and routing rewritable by an arithmetic processor which designates one or more links or arithmetic processors for forwarding the message packet from the address information in the message packet By dividing the array processor having the information storage means into a plurality of clusters and assigning all or some addresses in the routing information storage means of all or some processors in the cluster to processors in another cluster, A method for routing a message packet, wherein the method enables message transfer to a processor.
【請求項2】複数の演算プロセッサと、プロセッサ間の
通信を行う低次元のメッシュ状の相互接続ネットワーク
とから構成されるアレイプロセッサにおいて、送信元プ
ロセッサから単数あるいは複数の宛先プロセッサへメッ
セージパケットのルーティングを行う方法であって、前
記ネットワーク内の各々の演算プロセッサに対して演算
プロセッサから発生したあるいは接続された複数の接続
リンクの一つから送られてきたメッセージパケットを複
数の接続リンクあるいは演算プロセッサの中から指定さ
れた単数あるいは複数の宛先に転送する手段および、メ
ッセージパケット内のアドレス情報からメッセージパケ
ットを転送する単数あるいは複数のリンクあるいは演算
プロセッサを指定する演算プロセッサにより書き換え可
能なルーティング情報記憶手段を備えるアレイプロセッ
サを複数のクラスタに分割し、各々のクラスタに1つの
アドレスを割り当て、送信プロセッサが異なるクラスタ
に属する宛先プロセッサにメッセージパケットを送る場
合は、パケット内にクラスタアドレスとクラスタ内のロ
ーカルアドレスを付与し、クラスタアドレスによりルー
ティングを行うことにより宛先プロセッサの属するクラ
スタ内のクラスタアドレスを持つゲートウェイプロセッ
サに転送し、ゲートウェイプロセッサにおいて、クラス
タアドレスを指定されたメッセージパケットを受信した
場合はローカルアドレスによりルーティングを行うよう
に再設定してパケットの再送を行うことにより、宛先プ
ロセッサへの転送を行うことを特徴とするメッセージパ
ケットのルーティング方法。
2. An array processor comprising a plurality of arithmetic processors and a low-dimensional mesh interconnection network for communication between the processors, wherein a message packet is routed from a source processor to one or more destination processors. A message packet generated from an arithmetic processor or sent from one of a plurality of connected links for each arithmetic processor in the network. Means for forwarding to one or more destinations designated from among them, and routing rewritable by an arithmetic processor which designates one or more links or arithmetic processors for forwarding the message packet from the address information in the message packet When the array processor having the information storage means is divided into a plurality of clusters, one address is assigned to each cluster, and the transmitting processor sends a message packet to a destination processor belonging to a different cluster, the packet includes the cluster address and the Is transferred to a gateway processor having a cluster address in the cluster to which the destination processor belongs by performing routing by the cluster address. If the gateway processor receives a message packet in which the cluster address is specified, A method for routing a message packet, wherein the message is transferred to a destination processor by resetting the routing so as to perform routing by an address and retransmitting the packet.
【請求項3】請求項2記載のアレイプロセッサのメッセ
ージパケットルーティング方法において、各クラスタに
おいてクラスタ外部と接続するクラスタ内の複数のプロ
セッサを同じクラスタアドレスをもつゲートウェイプロ
セッサとし、クラスタ外のプロセッサを各々のゲートウ
ェイプロセッサに対して互いに交差せずにルーティング
を行えるようにルーティング情報を設定することによ
り、クラスタ内のプロセッサへの複数のメッセージ転送
を同時に行うことを特徴とするメッセージパケットのル
ーティング方法。
3. A message packet routing method for an array processor according to claim 2, wherein in each cluster, a plurality of processors in the cluster connected to the outside of the cluster are gateway processors having the same cluster address, and the processors outside the cluster are each a processor. A message packet routing method, wherein a plurality of message transfers to processors in a cluster are simultaneously performed by setting routing information so that routing can be performed without intersecting with a gateway processor.
JP4034860A 1992-02-21 1992-02-21 Message packet routing method for array processor Expired - Lifetime JP2936868B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4034860A JP2936868B2 (en) 1992-02-21 1992-02-21 Message packet routing method for array processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4034860A JP2936868B2 (en) 1992-02-21 1992-02-21 Message packet routing method for array processor

Publications (2)

Publication Number Publication Date
JPH05233567A JPH05233567A (en) 1993-09-10
JP2936868B2 true JP2936868B2 (en) 1999-08-23

Family

ID=12425927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4034860A Expired - Lifetime JP2936868B2 (en) 1992-02-21 1992-02-21 Message packet routing method for array processor

Country Status (1)

Country Link
JP (1) JP2936868B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006092825A1 (en) * 2005-02-28 2006-09-08 Fujitsu Limited Signal processing unit and signal processing system
US20090274157A1 (en) * 2008-05-01 2009-11-05 Vaidya Aniruddha S Method and apparatus for hierarchical routing in multiprocessor mesh-based systems

Also Published As

Publication number Publication date
JPH05233567A (en) 1993-09-10

Similar Documents

Publication Publication Date Title
US4797882A (en) Mesh-based switching network
EP0733237B1 (en) Multidimensional interconnection and routing network for an mpp computer
JP3532574B2 (en) Adaptive routing mechanism for torus interconnected networks
Davis et al. Wearable computers as packet transport mechanisms in highly-partitioned ad-hoc networks
US5170482A (en) Improved hypercube topology for multiprocessor computer systems
Chen et al. A fault-tolerant routing scheme for meshes with nonconvex faults
CN103125102B (en) For providing the system and method for the Ethernet virtual concentrator scalability based on infinite bandwidth in middleware machine environment
US6055599A (en) Hierarchical crossbar interconnection network for a cluster-based parallel processing computer
US6304568B1 (en) Interconnection network extendable bandwidth and method of transferring data therein
JPH06507744A (en) Procedure determination technology for hierarchical inter-processor communication network between massively parallel processors
KR20140139032A (en) A packet-flow interconnect fabric
JPH06325005A (en) Reconstructible torus network system
US7239606B2 (en) Scalable configurable network of sparsely interconnected hyper-rings
Al-Tawil et al. A survey and comparison of wormhole routing techniques in a mesh networks
Adda et al. Routing and fault tolerance in Z-fat tree
Xie et al. Mesh-of-Torus: a new topology for server-centric data center networks
JP2936868B2 (en) Message packet routing method for array processor
JP2976675B2 (en) Array processor routing method
Rahman et al. Dynamic communication performance of a TESH network under the nonuniform traffic patterns
JPH05303558A (en) Method and device for message packet routing of array processor
WO2006048826A1 (en) Integrated circuit and method for data transfer in a network on chip environment
Thurber Computer communication techniques
Gkalea Fault-Tolerant Nostrum NoC on FPGA for theForSyDe/NoC System Generator Tool Suite
Dally et al. Interconnection networks
Ould-Khaoua et al. Performance evaluation of hypermeshes and meshes with wormhole routing