JPH07253954A - Parallel computer - Google Patents

Parallel computer

Info

Publication number
JPH07253954A
JPH07253954A JP6042322A JP4232294A JPH07253954A JP H07253954 A JPH07253954 A JP H07253954A JP 6042322 A JP6042322 A JP 6042322A JP 4232294 A JP4232294 A JP 4232294A JP H07253954 A JPH07253954 A JP H07253954A
Authority
JP
Japan
Prior art keywords
node
data
processor
processing
processor element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6042322A
Other languages
Japanese (ja)
Other versions
JP3290798B2 (en
Inventor
Tatsuyuki Ootsuka
竜志 大塚
Hideki Yoshizawa
英樹 吉沢
Katsuto Fujimoto
克仁 藤本
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 JP04232294A priority Critical patent/JP3290798B2/en
Priority to US08/381,399 priority patent/US5715471A/en
Publication of JPH07253954A publication Critical patent/JPH07253954A/en
Application granted granted Critical
Publication of JP3290798B2 publication Critical patent/JP3290798B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE:To perform processing at a high speed by eliminating the need for reallocating a processing program to a processor and rearrange data at the time of execution even when network constitution is altered. CONSTITUTION:Respecitve nodes 1-(n) are each provided with >=2 processors PE1 and PE2. The processing program is allocated to the processors PE1 and PE2 in the order of the nodes 1-(n) without being made to correspond to the transfer direction of the data, which are arranged while made to correspond to the processors PE1 and PE2. When the data are transferred to the processors PE1 and PE2, the processors performs data arranged on the respective processors and the transferred data to perform processing for finding the product of a matrix, etc. The processors are allocated in the order of the nodes, so the network constitution can easily be altered. Even when the network constitution is altered, the need to rearrange the data at the time of the execution is eliminated and the processing is performed at a high speed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、各ノードの持つデータ
を転送して処理を行う、各ノードを往路と復路が通過す
るリング型ネットワークにおいて、効率的に処理を実現
するための並列コンピュータに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel computer for efficiently processing data in a ring type network that forwards data in each node and processes the data. .

【0002】[0002]

【従来の技術】図11は本発明の前提となる並列コンピ
ュータを備えたシステムの構成を示す図であり、同図に
おいて、CPU1はリング型ネットワークを備えた並列
コンピュータ、CPU2はホストコンピュータ、1はホ
ストコンピュータのプロセッサ、2はホストコンピュー
タCPU2の主記憶装置、3はインタフェースである。
2. Description of the Related Art FIG. 11 is a diagram showing the configuration of a system equipped with a parallel computer which is the premise of the present invention. In FIG. 11, a CPU 1 is a parallel computer equipped with a ring network, a CPU 2 is a host computer, and 1 is a host computer. A processor of the host computer, 2 is a main memory of the host computer CPU 2, and 3 is an interface.

【0003】並列コンピュータCPU1のプロセッサ・
エレメントPE1,PE2 はプロセッサとメモリから構成
され、並列演算の1つの計算処理単位となる。また、ノ
ードNode1 ,…,Nodex は2個のプロセッサ・エレメン
トPE1,PE2 から構成され、これがリング型ネットワ
ークのデータ転送単位となる。並列コンピュータCPU
1は上記ノードNode-1,…,Node-xをリング型ネットワ
ークで結合し、各プロセッサ・エレメントPE1,PE2
で演算処理を施しながらリングRING上をデータを循環さ
せることで最終的な結果を得る。
Processor of parallel computer CPU1
Each of the elements PE1 and PE2 is composed of a processor and a memory and serves as one calculation processing unit of parallel operation. Further, the nodes Node1, ..., Nodex are composed of two processor elements PE1 and PE2, which are the data transfer units of the ring network. Parallel computer CPU
1 connects the above-mentioned nodes Node-1, ..., Node-x in a ring network to form processor elements PE1 and PE2.
The final result is obtained by circulating the data on the ring RING while performing the arithmetic processing in.

【0004】また、ホストコンピュータCPU2は並列
コンピュータCPU1の各プロセッサ・エレメントPE
1,PE2 に直結したホストバス4を持ち、並列コンピュ
ータCPU1に対してデータの設定、データの読み出
し、演算処理の制御を行う。そして、計算すべき課題は
ホストコンピュータCPU2が受け付け、プログラムや
データを並列コンピュータCPU1内の各プロセッサ・
エレメントPE1,PE2 のメモリmem にローディングし
た後、並列コンピュータCPU1で実行する。
Further, the host computer CPU2 is each processor element PE of the parallel computer CPU1.
1 has a host bus 4 directly connected to PE2 and controls data setting, data reading, and arithmetic processing for the parallel computer CPU1. Then, the host computer CPU2 accepts the problems to be calculated, and the programs and data are processed by each processor in the parallel computer CPU1.
After being loaded into the memory mem of the elements PE1 and PE2, the parallel computer CPU1 executes it.

【0005】実行した結果は、演算終了後、各プロセッ
サ・エレメント内のメモリmem からホストコンピュータ
CPU2側のメモリ2に読み出した後、出力される。図
12は本発明の前提となる上記した並列コンピュータC
PU1における、往路と復路が通過するリング型ネット
ワークの構成を示す図である。同図において、Node-1,
…,Node-nはリング型ネットワークの各ノードであり、
各ノードNode-1,…,Node-nには2個のプロセッサ・エ
レメントが用意され、各ノードのプロセッサ・エレメン
トは同図に示すようにリング状に接続されている。ま
た、各プロセッサ・エレメントにはネットワークの物理
的な順序に従いPE1 からPE2nの番号が付けられてお
り、データもこの順に各プロセッサ・エレメントに分散
して配置される。
After the operation is completed, the result of execution is read out from the memory mem in each processor element to the memory 2 on the side of the host computer CPU2, and then output. FIG. 12 shows the above-described parallel computer C which is the premise of the present invention.
FIG. 3 is a diagram showing a configuration of a ring network in which a forward path and a backward path pass in PU1. In the figure, Node-1,
…, Node-n is each node of the ring network,
Two processor elements are prepared for each node Node-1, ..., Node-n, and the processor elements of each node are connected in a ring shape as shown in FIG. Further, the processor elements are numbered PE1 to PE2n according to the physical order of the network, and data is also distributed and arranged in the processor elements in this order.

【0006】図13,図14は(1)式に示す行列演算
を行う場合に、各プロセッサ・エレメントへのデータ配
置を行うための処理を示すフローチャートである。な
お、同図はフローチャートを簡略化するため、n,mは
何方も偶数の場合を示している。n,mが奇数の場合に
は、空きプロセッサ・エレメントを割り出す例外処理が
追加されるだけて本質的には上記フローチャートと変わ
らない。
FIGS. 13 and 14 are flow charts showing a process for allocating data to each processor element when the matrix calculation shown in the equation (1) is performed. In addition, in order to simplify the flowchart, the figure shows the case where n and m are even numbers. When n and m are odd numbers, exception processing for allocating a free processor element is added, and the flow chart is essentially the same as the above flowchart.

【0007】[0007]

【数1】 [Equation 1]

【0008】図13,図14のフローチャートにより、
従来における各プロセッサ・エレメントへのデータ配置
について説明する。なお、以下の説明においては、分か
りやすくするため、m=6,n=4の行列を例にとり説
明するが、m,nは6,4に限定されるものではない。
図13のステップS1において、i=1、および、mn
=max(m,n)、すなわち、mnをm,n内の大き
い方の値、この場合には6に設定する。ステップS2に
おいて、i<=mn/2か否か判別し、i<=mn/2
の場合には、ステップS3において、n1=i,p1=
1に設定し、また、i>mn/2の場合、すなわち、i
が3より大きくなった場合には、ステップS4におい
て、n1=mn−i+1,p1=2に設定する。
According to the flowcharts of FIGS. 13 and 14,
The conventional data arrangement in each processor element will be described. In the following description, a matrix of m = 6 and n = 4 will be described as an example for easy understanding, but m and n are not limited to 6,4.
In step S1 of FIG. 13, i = 1 and mn
= Max (m, n), that is, mn is set to the larger value in m, n, in this case 6. In step S2, it is determined whether i <= mn / 2 and i <= mn / 2.
In the case of, in step S3, n1 = i, p1 =
1 and when i> mn / 2, that is, i
When is larger than 3, in step S4, n1 = mn-i + 1 and p1 = 2 are set.

【0009】ついで、ステップS5において、i<=n
であるか否かを判別し、i>nの場合には、図14のス
テップS12に行き後述する処理を行う。また、i<=
nの場合には、ステップS6に行き、j=1に設定し、
ステップS7に行き、i+j−1<=mか否かを判断す
る。そして、i+j−1<=mの場合には、ステップS
8に行き、NODE(n1),PE(p1),mem(j)=a(i,i+j-1) とす
る。すなわち、まず、ノードNode-1のプロセッサ・エレ
メントPE1 のメモリmem の第1番目の領域にa1,1 の
データを配置する。以上の処理が終わると、図14のス
テップS10に行き、j=j+1として、ステップS1
1において、j<=mか否かを判断し、j<=mの場合
には、ステップS7に戻り上記処理を行う。
Then, in step S5, i <= n
If i> n, the process proceeds to step S12 of FIG. 14 and the process described later is performed. Also, i <=
If n, go to step S6 and set j = 1,
In step S7, it is determined whether i + j-1 <= m. If i + j-1 <= m, then step S
Go to No. 8 and set NODE (n1), PE (p1), mem (j) = a (i, i + j-1). That is, first, the data of a1,1 is arranged in the first area of the memory mem of the processor element PE1 of the node Node-1. When the above process is completed, the process goes to step S10 in FIG. 14, j = j + 1 is set, and step S1
In 1, it is determined whether j <= m, and if j <= m, the process returns to step S7 to perform the above process.

【0010】これにより、ノードNode-1のプロセッサ・
エレメントPE1 のメモリmem の第2番目の領域にa1,
2 が配置される。同様に以上の処理を繰り返し、j=6
になるとノードNode-1のプロセッサ・エレメントPE1
のメモリmem の第6番目の領域にa1,6 が配置される。
以上の処理により、ノードNode-1のプロセッサ・エレメ
ントPE1 のメモリmem の1〜6番目の領域にa1,1 、
a1,2 、a1,3 、a1,4 、a1,5 、a1,6 のデータが配
置される。
As a result, the processor of node Node-1
A1, in the second area of the memory mem of the element PE1
Two are placed. Similarly, the above processing is repeated, and j = 6
Becomes the processor element PE1 of node Node-1
A1,6 is arranged in the sixth area of the memory mem of the.
By the above processing, a1,1 are assigned to the first to sixth areas of the memory mem of the processor element PE1 of the node Node-1,
The data of a1,2, a1,3, a1,4, a1,5 and a1,6 are arranged.

【0011】そして、ステップS10でj=j+1とす
ると、jは6を越えるので、ステップS11からステッ
プS12に行き、i<=mか否かを判別する。この場合
には、i<=mであるので、ステップS13に行き、NO
DE(n1),PE(p1),mem(x)=x(i)とする。すなわち、ノードN
ode-1のプロセッサ・エレメントPE1 のメモリmemのx
の領域にx1 のデータを配置する。
If j = j + 1 is set in step S10, j exceeds 6. Therefore, the process proceeds from step S11 to step S12 to determine whether i <= m. In this case, i <= m, so go to step S13 and NO.
DE (n1), PE (p1), mem (x) = x (i). That is, node N
x of memory mem of processor element PE1 of ode-1
Place x1 data in the area.

【0012】ついで、ステップS14において、i=i
+1とし、ステップS15において、i<=mnである
か否かを判別し、i<=mnの場合には、ステップS2
に戻り、上記処理を繰り返し、ノードNode-2のプロセッ
サ・エレメントPE1 のメモリmem の各領域に、上記の
ようにデータを配置する。ここで、i=2でj=6にな
ったとき、ステップS7でi+j−1>mとなるので、
ステップS9に行き、NODE(n1),PE(p1),mem(j)=a(i,i+j
-m-1) とする。すなわち、ノードNode-2のプロセッサ・
エレメントPE1 のメモリmem の第6番目の領域にはa
2,1 のデータが配置される。
Then, in step S14, i = i
+1 is set, and in step S15, it is determined whether or not i <= mn. If i <= mn, step S2
Then, the above process is repeated to arrange the data in each area of the memory mem of the processor element PE1 of the node Node-2 as described above. When i = 2 and j = 6, i + j-1> m in step S7.
Go to step S9, NODE (n1), PE (p1), mem (j) = a (i, i + j
-m-1). That is, the processor of node Node-2
The sixth area of the memory mem of the element PE1 has a
2,1 data is placed.

【0013】以上の処理により、ノードNode-2のプロセ
ッサ・エレメントPE1 のメモリmem の1〜6番目の領
域にa2,2 、a2,3 、a2,4 、a2,5 、a2,6 、a2,1
が配置され、メモリmem のxの領域にx2 のデータが配
置される。同様な処理を行うことにより、ノードNode-3
のプロセッサ・エレメントPE1のメモリmem の1〜6
番目の領域にa3,3 、a3,4 、a3,5 、a3,6 、a3,1
、a3,2 が配置され、メモリmem のxの領域にx3 の
データが配置される。
As a result of the above processing, a2,2, a2,3, a2,4, a2,5, a2,6, a2, are stored in the first to sixth areas of the memory mem of the processor element PE1 of the node Node-2. 1
Is arranged, and the data of x2 is arranged in the area of x of the memory mem. By performing similar processing, node Node-3
1 to 6 of the memory mem of the processor element PE1 of
In the second region, a3,3, a3,4, a3,5, a3,6, a3,1
, A3,2 are arranged, and the data of x3 is arranged in the area of x of the memory mem.

【0014】そして、ステップS2において、i>mn
/2、すなわち、i=4となると、ステップS4に行
き、n1=mn−i+1、すなわち、n1=3、p1=
2に設定し、ステップS5からS11において、j=1
からj=6まで上記処理を繰り返す。これにより、ノー
ドNode-3のプロセッサ・エレメントPE2 のメモリmem
の1〜6番目の領域にa4,4 、a4,5 、a4,6 、a4,1
、a4,2 、a4,3 が配置され、メモリmem のxの領域
にx4 のデータが配置される。
Then, in step S2, i> mn
/ 2, i.e., i = 4, go to step S4, n1 = mn-i + 1, that is, n1 = 3, p1 =
2 and j = 1 in steps S5 to S11.
To j = 6 are repeated. As a result, the memory mem of the processor element PE2 of node Node-3
In the 1st to 6th areas of a4,4, a4,5, a4,6, a4,1
, A4,2, a4,3 are arranged, and x4 data is arranged in the x area of the memory mem.

【0015】以上の処理を行ったのち、ステップS14
でiを1増加し(iは5となる)、n1=mn−i+1
=2、P1=2に設定した後、ステップS5に行くと、
i>n(この場合はnは4)となるので、ノードNode-2
のプロセッサ・エレメントPE2 のメモリmem の1〜6
番目の領域にはデータを配置せず、ステップS12に行
き、ノードNode-2のプロセッサ・エレメントPE2 のメ
モリmem のxの領域にx5 のデータを配置する。
After performing the above processing, step S14
To increase i by 1 (i becomes 5), and n1 = mn-i + 1
= 2, P1 = 2, and then go to step S5,
Since i> n (n is 4 in this case), node Node-2
1 to 6 of memory mem of processor element PE2 of
The data is not arranged in the second area, the process goes to step S12, and the data of x5 is arranged in the area of x of the memory mem of the processor element PE2 of the node Node-2.

【0016】同様に、i=6になると、ノードNode-1の
プロセッサ・エレメントPE2 のメモリmem のxの領域
にx6 のデータを配置し、i<mnとなるので、ステッ
プS15からendに行き終了する。以上の処理を行う
ことにより、ノードNode-1〜 Node-3 のプロセッサ・エ
レメントPE1 と、ノードNode-3のプロセッサ・エレメ
ントPE2 のメモリmem の第1〜第6の領域に、それぞ
れ、a1,1 〜a1,6 、a2,2 〜a2,1 、a3,3 〜a3,2
、a4,4 〜a4,3 のデータが配置され、ノードNode-1
〜 Node-3 のプロセッサ・エレメントPE1 と、ノード
Node-3〜 Node-1 のプロセッサ・エレメントPE2 のメ
モリmem のxの領域に、それぞれ、x1 〜x6 のデータ
が配置される。
Similarly, when i = 6, the data of x6 is arranged in the area of x of the memory mem of the processor element PE2 of the node Node-1, and i <mn, so that the process goes from step S15 to end. To do. By performing the above-described processing, a1,1 are respectively allocated to the processor elements PE1 of the nodes Node-1 to Node-3 and the first to sixth areas of the memory mem of the processor element PE2 of the node Node-3. To a1,6, a2,2 to a2,1, a3,3 to a3,2
, A4,4 to a4,3 data are placed and node Node-1
~ Processor element PE1 of Node-3 and node
The data of x1 to x6 are arranged in the x area of the memory mem of the processor element PE2 of Node-3 to Node-1, respectively.

【0017】次に、上記リング型ネットワークによる並
列計算の一例として、2n行、2n列の要素を持つ行列
Wと2n個の要素を持つベクトルxの積和計算Wxにつ
いて示す。まず、各プロセッサ・エレメントには、図1
5に示すように、Wの各行の要素Wij(i=1,…,2
n,j=1,…,2n)を持たせ、リング上にxの各要
素xj (j=1,…,2n)を配置し、次の手順で演算
を行う。 各プロセッサ・エレメントは図16に示すようにリ
ング上のデータを取り込み、内部に持つWijと積算し、
内部のワークエリアに書き込む。 リング上のデータを全体に一段シフトする。その結
果、リング上のデータ配置は図17に示すようになる。 再度、プロセッサ・エレメントはリング上のデータ
を取り込み、図18に示すように内部にもつWijの次の
要素と積算し、内部のワークエリアに書き込まれた前回
の結果に加算する。 以下、全データに渡って上記処理を繰り返す。
Next, as an example of parallel calculation by the ring network, a matrix W having 2n rows and 2n columns of elements and a product-sum calculation Wx of a vector x having 2n elements will be shown. First, each processor element has
As shown in FIG. 5, elements W ij (i = 1, ..., 2) of each row of W
n, j = 1, ..., 2n), each element x j (j = 1, ..., 2n) of x is arranged on the ring, and the calculation is performed in the following procedure. Each processor element takes in the data on the ring as shown in FIG. 16 and multiplies it with the internal W ij ,
Write to the internal work area. Shift the data on the ring by one step. As a result, the data arrangement on the ring is as shown in FIG. Again, the processor element takes in the data on the ring, integrates it with the next element of W ij inside as shown in FIG. 18, and adds it to the previous result written in the internal work area. Hereinafter, the above process is repeated for all data.

【0018】[0018]

【発明が解決しようとする課題】図12においては、n
個のノードを通るリング型ネットワークを構成し、2n
個のプロセッサ・エレメントにより処理を行っている
が、往路と復路が通過する図12に示すようなリング型
ネットワークの特徴として、リングを通過するノード数
を変更することが可能であり、これにより、例えば、大
きさの異なった行列を次々に計算することができる。
In FIG. 12, n
2n
Although the processing is performed by the number of processor elements, it is possible to change the number of nodes passing through the ring, which is a characteristic of the ring type network as shown in FIG. For example, matrices of different sizes can be calculated one after another.

【0019】図12に示したリング型ネットワークのノ
ード数を変更し、m個のノードを通るリングを構成した
場合、プロセッサ・エレメントの割り付けは図19に示
すようになる。同図に示すように、この場合にはプロセ
ッサ・エレメントの番号はPE1 からPE2mとなり、P
En+1 からPE2mまでのプロセッサ番号はネットワーク
を変更する前と後ろで異なったものとなる。
When the number of nodes in the ring network shown in FIG. 12 is changed and a ring passing through m nodes is constructed, the allocation of processor elements is as shown in FIG. In this case, the processor element numbers are PE1 to PE2m as shown in FIG.
The processor numbers from En + 1 to PE2m are different before and after changing the network.

【0020】したがって、図15に示したプロセッサ・
エレメントに処理プログラムを割り付け、データ配置処
理をした後、ネットワークの構成を図19に示すように
変更する場合には、その時点でプロセッサ番号の移動に
伴うデータの再配置が必要となる。以上のように、従来
の技術においては、演算規模が変わってネットワーク構
成が変更されるとき、ネットワーク上を通るデータがプ
ロセッサ・エレメントに投入される順序が変わるため、
データの再配置をしなければならない。これは、全ての
データを把握しているホストコンピュータCPU2でし
か行えないため、並列コンピュータCPU1側の演算を
中断し、一つもしくは少数のホストコンピュータ内のプ
ロセッサでプロセッサ・エレメントのメモリを更新しな
れければならず、並列コンピュータの高速性能が犠牲に
なる。
Therefore, the processor shown in FIG.
When the processing program is assigned to the element and the data arrangement processing is performed, and then the network configuration is changed as shown in FIG. 19, it is necessary to relocate the data at that time in accordance with the movement of the processor number. As described above, in the conventional technique, when the operation scale is changed and the network configuration is changed, the order in which the data passing through the network is input to the processor element is changed.
Data must be rearranged. Since this can be done only by the host computer CPU2 that knows all the data, interrupt the operation on the parallel computer CPU1 side and update the memory of the processor element by one or a few processors in the host computer. Must be done, and the high speed performance of parallel computers is sacrificed.

【0021】上記のような問題を避けるため、一連の演
算の中で、最も規模の大きい場合のプロセッサ・エレメ
ント数を通るようにネットワーク構成を固定してしまう
方法もあるが、演算規模が小さいときも全てのプロセッ
サ・エレメント上をデータが通過しなければならず、転
送時間の無駄が生ずる。したがって、往路と復路が各ノ
ードを通過する本発明の前提となるリング型ネットワー
クにおいて、その特徴を生かすために演算途中でプロセ
ッサ構成が変わってもデータの再配置が不要となるプロ
セッサへの処理プログラムの割り付けが望ましい。
In order to avoid the above problems, there is also a method of fixing the network configuration so that the number of processor elements in the case of the largest scale is passed in the series of calculations, but when the scale of the calculation is small. Data must pass over all processor elements, resulting in wasted transfer time. Therefore, in the ring network which is a premise of the present invention in which the forward path and the backward path pass through each node, the processing program for the processor which does not require the data rearrangement even if the processor configuration is changed in the middle of the calculation in order to take advantage of its characteristics. Allocation is desirable.

【0022】なお、各ノードに一つのプロセッサ・エレ
メントしかもたず、復路がプロセッサ・エレメントを通
過しないリング型ネットワークのように、ネットワーク
構成が可変にできない通常の1通りリングの場合には、
上記問題点は生じない。本発明は上記した従来技術の問
題点を考慮してなされたものであって、ネットワーク構
成を変更しても実行時のデータの再配置を不要とするこ
とにより、高速に処理を行うことができる並列コンピュ
ータを提供することを目的とする。
In the case of a normal one-way ring in which the network configuration cannot be made variable, such as a ring network in which each node has only one processor element and the return path does not pass through the processor element,
The above problems do not occur. The present invention has been made in consideration of the above-mentioned problems of the prior art, and even if the network configuration is changed, it is possible to perform high-speed processing by eliminating the need to relocate data during execution. The purpose is to provide a parallel computer.

【0023】[0023]

【課題を解決するための手段】図1は本発明の原理図で
ある。同図において、ノードNode-1, …,Node-n は往路
と復路が通過するリング型ネットワークにおけるノー
ド、PE1,PE2 は各ノードに設けられたプロセッサ・
エレメントであり、各ノードNode-1, …,Node-nには、
プロセッサ・エレメントPE1,PE2 が少なくとも2個
以上設けられている。
FIG. 1 shows the principle of the present invention. In the figure, nodes Node-1, ..., Node-n are nodes in a ring network through which the forward path and the return path pass, and PE1 and PE2 are processors provided in each node.
It is an element, and each node Node-1, ..., Node-n has
At least two processor elements PE1 and PE2 are provided.

【0024】上記課題を解決するため、本発明の請求項
1の発明は、各ノードNode-1, …,Node-n に少なくとも
2個のプロセッサ・エレメントPE1,PE2を備え、
各ノードを往路と復路が通過するリング型ネットワーク
で構成され、各ノードNode-1, …,Node-n のプロセッサ
・エレメントPE1,PE2が持つデータを各プロセッ
サ・エレメントPE1,PE2間で転送して、各プロセ
ッサ・エレメントPE1,PE2により処理を行う並列
コンピュータにおいて、ノードNode-1, …,Node-n の順
番に、当該ノードに備えられたプロセッサ・エレメント
PE1,PE2から順次ネットワーク上を転送されるデ
ータを処理する処理プログラムを割り付けたものであ
る。
In order to solve the above problems, the invention of claim 1 of the present invention comprises at least two processor elements PE1 and PE2 in each node Node-1, ..., Node-n,
It is composed of a ring type network that passes forward and backward through each node, and transfers the data held by the processor elements PE1 and PE2 of each node Node-1, ..., Node-n between the processor elements PE1 and PE2. , In a parallel computer that performs processing by the processor elements PE1 and PE2, nodes Node-1, ..., Node-n are sequentially transferred on the network from the processor elements PE1 and PE2 provided in the node. A processing program for processing data is assigned.

【0025】本発明の請求項2の発明は、各ノードNode
-1, …,Node-n に少なくとも2個のプロセッサ・エレメ
ントPE1,PE2を備え、各ノードを往路と復路が通
過するリング型ネットワークで構成され、各ノードNode
-1, …,Node-n のプロセッサ・エレメントPE1,PE
2が持つデータを各プロセッサ・エレメントPE1,P
E2間で転送して、各プロセッサ・エレメントPE1,
PE2により処理を行う並列コンピュータにおいて、ノ
ードNode-1, …,Node-n の順番に、当該ノードに備えら
れたプロセッサ・エレメントPE1,PE2から順次、
ネットワーク上を転送されるデータを処理する処理プロ
グラムを割り付け、ノードNode-1, …,Node-n の順番
に、当該ノードに備えられた各プロセッサ・エレメント
PE1,PE2から順次データを配置したものである。
According to the second aspect of the present invention, each node Node
-1, ..., Node-n is provided with at least two processor elements PE1 and PE2, and each node is configured as a ring type network in which a forward path and a backward path pass, and each node Node
-1, ..., Node-n processor elements PE1, PE
2 has the data that each processor element PE1, P has
Transfer between E2 and each processor element PE1,
In a parallel computer that performs processing by PE2, nodes Node-1, ..., Node-n are arranged in this order from processor elements PE1 and PE2 provided in the node,
A processing program for processing the data transferred on the network is allocated, and the data is sequentially arranged from the processor elements PE1 and PE2 provided in the node in the order of the nodes Node-1, ..., Node-n. is there.

【0026】[0026]

【作用】図1に示すリング型ネットワークにおいて、各
ノードに少なくとも2個以上のプロセッサ・エレメント
PE1,PE2 を設ける。また、データ転送方向が同図矢
印に示す方向の場合、ノードNode-1, …,Node-n の順番
に、当該ノードに備えられたプロセッサ・エレメントP
E1,PE2から順次ネットワーク上を転送されるデー
タを処理する処理プログラムを割り付ける。
In the ring type network shown in FIG. 1, each node is provided with at least two or more processor elements PE1 and PE2. When the data transfer direction is the direction shown by the arrow in the figure, the processor elements P provided in the node are arranged in the order of nodes Node-1, ..., Node-n.
A processing program for sequentially processing data transferred on the network from E1 and PE2 is allocated.

【0027】そして、同図に示す転送方向で各プロセッ
サ・エレメントPE1,PE2 にデータが転送された際、
各プロセッサ・エレメントPE1,PE2 は各プロセッサ
・エレメントに配置されたデータと転送データの演算を
行い、例えば、行列の積を求める等の所定の処理を行
う。なお、上記のようにノードNode-1, …,Node-n の順
番に、当該ノードに備えられたプロセッサ・エレメント
PE1,PE2から順次ネットワーク上を転送されるデ
ータを処理する処理プログラムを割り付けることによ
り、リング上から見たプロセッサ番号が不連続となり、
転送されるデータが順番に並ばなくなるが、プロセッサ
・エレメントPE1,PE2 が内部に持つデータおよび計
算順序を予め再配置しておけば、この問題は解決でき
る。これは、従来のような実行時のデータ再配置ではな
いので、処理時間に及ぼす影響は無視できる。
When data is transferred to the processor elements PE1 and PE2 in the transfer direction shown in FIG.
Each of the processor elements PE1 and PE2 calculates the data arranged in each of the processor elements and the transfer data, and performs a predetermined process such as obtaining a matrix product. As described above, by allocating the processing programs for sequentially processing the data transferred on the network from the processor elements PE1 and PE2 provided in the node in order of the nodes Node-1, ..., Node-n , Processor numbers seen from the ring are discontinuous,
The data to be transferred is not arranged in order, but this problem can be solved by rearranging the data and calculation order internally held by the processor elements PE1 and PE2. Since this is not the data relocation at the time of execution as in the past, the influence on the processing time can be ignored.

【0028】本発明の請求項1の発明においては、上記
のように、ノードNode-1, …,Node-n の順番に、当該ノ
ードに備えられたプロセッサ・エレメントPE1,PE
2から順次ネットワーク上を転送されるデータを処理す
る処理プログラムを割り付けているので、リング型ネッ
トワークにおいて、ネットワーク構成によらずに、プロ
セッサの割り付けを一意に決定することができる。
According to the first aspect of the present invention, as described above, the processor elements PE1 and PE provided in the node are arranged in the order of the nodes Node-1, ..., Node-n.
Since the processing programs for sequentially processing the data transferred on the network from 2 are allocated, the allocation of the processors can be uniquely determined in the ring network regardless of the network configuration.

【0029】本発明の請求項2の発明においては、ノー
ドNode-1〜Node-nの順番にプロセッサ・エレメントPE
1,PE2 ,…を割り付け、ノードNode-1, …,Node-n の
順番に、当該ノードに備えられたプロセッサ・エレメン
トPE1,PE2から順次ネットワーク上を転送される
データを処理する処理プログラムを割り付け、ノードNo
de-1, …,Node-n の順番に、当該ノードに備えられた各
プロセッサ・エレメントPE1,PE2から順次データ
を配置しているので、ネットワーク構成を変更しても、
実行時のデータの再配置が不要となり、高速に処理する
ことが可能となる。
In the second aspect of the present invention, the processor elements PE are arranged in the order of the nodes Node-1 to Node-n.
1, PE2, ... Are allocated, and in order of nodes Node-1, ..., Node-n, processing programs for processing the data transferred sequentially on the network from the processor elements PE1, PE2 provided in the node are allocated. , Node No
Since data is sequentially arranged from the processor elements PE1 and PE2 provided in the node in the order de-1, ..., Node-n, even if the network configuration is changed,
Relocation of data at the time of execution becomes unnecessary, and high-speed processing becomes possible.

【0030】[0030]

【実施例】図2は本発明の第1の実施例の処理プログラ
ムの割り付けを示す図であり、同図において、Node-1か
らNode-nのノードには、2個のプロセッサ・エレメント
が割り付けられており、ノードNode-1にはプロセッサ・
エレメントPE1 〜PE2が、また、ノードNode-2には
プロセッサ・エレメントPE3 〜PE4 というように、
ノードの順番にPE1 からPE2nのプロセッサに処理プ
ログラムが割り付けられている。
FIG. 2 is a diagram showing the allocation of processing programs according to the first embodiment of the present invention. In FIG. 2, two processor elements are allocated to nodes Node-1 to Node-n. The node Node-1 has a processor
Elements PE1 to PE2, and processor elements PE3 to PE4 for node Node-2,
Processing programs are assigned to the processors PE1 to PE2n in the order of nodes.

【0031】図3、図4、図5は本実施例において、式
(1)に示す行列演算を行うため、各ノードのプロセッ
サ・エレメントにデータ配置を行う処理を示すフローチ
ャートであり、同図はフローチャートを簡略化するた
め、従来例の場合と同様、n,mは何方も偶数の場合を
示している。図3,図5のフローチャートにより、本実
施例における各プロセッサ・エレメントへのデータ配置
について説明する。なお、この場合においても、分かり
やすくするため、m=6、n=4の場合について説明す
る。
FIGS. 3, 4 and 5 are flowcharts showing a process of allocating data to the processor element of each node in order to perform the matrix operation shown in the equation (1) in this embodiment. In order to simplify the flowchart, as in the case of the conventional example, n and m are even numbers. Data allocation to each processor element in the present embodiment will be described with reference to the flowcharts of FIGS. Also in this case, for the sake of simplicity, the case of m = 6 and n = 4 will be described.

【0032】図3のステップS1において、i1=1,
i2=max(m,n)、j=1に設定し、ステップS
2において、table(i1)=j、table(i
2)=j+1に設定する。ついで、ステップS3におい
て、i1=i1+1,i2=i2−1、j=j+2とし
て、ステップS4において、i1<i2であるか否か判
断し、i1<i2の場合には、ステップS2に戻り、上
記処理を繰り返す。
In step S1 of FIG. 3, i1 = 1,
i2 = max (m, n) and j = 1 are set, and step S
2, table (i1) = j, table (i
2) = j + 1 is set. Then, in step S3, i1 = i1 + 1, i2 = i2-1, j = j + 2 is determined, and in step S4, it is determined whether i1 <i2. If i1 <i2, the process returns to step S2, and Repeat the process.

【0033】その結果、m=6、n=4の場合、tab
leは次のように設定される。 table(1)=1,table(2)=3,tab
le(3)=5 table(4)=6,table(5)=4,tab
le(6)=2 次に、ステップS5に行き、i1=1,mn=max
(m,n)に設定し、ステップS6において、i<=m
n/2であるか否か判別する。そして、i<=mn/2
の場合には、ステップS7に行き、i1=table
(i)、n1=i、p1=1に設定する。また、後述す
るように、iが増加してi>mn/2、すなわち、iが
4以上となると、i1=table(i)、n1=mn
−i+1、p1=2に設定する。したがって、最初は、
i1=1、n1=1、p1=1に設定される。
As a result, when m = 6 and n = 4, tab
le is set as follows. table (1) = 1, table (2) = 3, tab
le (3) = 5 table (4) = 6, table (5) = 4, tab
le (6) = 2 Next, in step S5, i1 = 1 and mn = max.
(M, n), and i <= m in step S6
It is determined whether it is n / 2. And i <= mn / 2
In the case of, go to step S7 and i1 = table
(I), n1 = i and p1 = 1 are set. Further, as will be described later, when i increases and i> mn / 2, that is, i becomes 4 or more, i1 = table (i), n1 = mn
-I + 1 and p1 = 2 are set. So at first,
i1 = 1, n1 = 1 and p1 = 1 are set.

【0034】ついで、図4のステップS9に行き、i1
<=nか否かを判別し、i1>nになると後述するよう
に図5のステップS16に行く。i1<=nの場合に
は、ステップS10に行き、j=1とし、ステップS1
1において、i+j−1<=mか否かを判断する。そし
て、i+j−1<=mの場合には、ステップS12に行
き、NODE(n1),PE(p1),mem(j)=a(i1,table(i+j-1)) とす
る。すなわち、table(i+j−1)=table
(1)=1であるので、まず、ノードNode-1のプロセッ
サ・エレメントPE1 のメモリmem の第1番目の領域に
a1,1 のデータを配置する。
Then, in step S9 of FIG. 4, i1
It is determined whether or not <= n, and if i1> n, the process proceeds to step S16 of FIG. 5 as described later. If i1 <= n, go to step S10 and set j = 1, and then step S1
At 1, it is determined whether i + j-1 <= m. When i + j-1 <= m, the process goes to step S12, where NODE (n1), PE (p1), mem (j) = a (i1, table (i + j-1)). That is, table (i + j-1) = table
Since (1) = 1, first, the data of a1,1 is arranged in the first area of the memory mem of the processor element PE1 of the node Node-1.

【0035】ついで、ステップS14に行き、j=j+
1とし、ステップS15において、j<=mであるか否
かを判別し、j<=mの場合には、ステップS11に戻
り上記処理をj=6まで繰り返す。これにより、ノード
Node-1のプロセッサ・エレメントPE1 のメモリmem の
第1〜6番目の領域にそれぞれ、a1,1 、a1,3 、a1,
5 、a1,6 、a1,4 、a1,2 のデータが配置される。
Then, in step S14, j = j +
1, and in step S15, it is determined whether or not j <= m. If j <= m, the process returns to step S11 and the above process is repeated until j = 6. This allows the node
In the first to sixth areas of the memory mem of the processor element PE1 of Node-1, a1,1, a1,3 and a1, respectively.
The data of 5, a1,6, a1,4 and a1,2 are arranged.

【0036】そして、ステップS14でj=j+1とす
ると、jは6を越えるので、ステップS15から図5の
ステップS16に行き、i<=mか否かを判別する。こ
の場合には、i<=mであるので、ステップS17に行
き、NODE(n1),PE(p1),mem(x)=x(i) とする。すなわち、
ノードNode-1のプロセッサ・エレメントPE1 のメモリ
mem のxの領域にx1 のデータを配置する。
If j = j + 1 is set in step S14, j exceeds 6. Therefore, the process goes from step S15 to step S16 in FIG. 5 to determine whether i <= m. In this case, since i <= m, the process goes to step S17 to set NODE (n1), PE (p1), mem (x) = x (i). That is,
Memory of processor element PE1 of node Node-1
Place the x1 data in the x area of mem.

【0037】以上の処理により、ノードNode-1のプロセ
ッサ・エレメントPE1 のメモリmem の1〜6番目の領
域に上記のようなa1,1 〜a1,2 のデータが配置され、
メモリmem のxの領域にx1 のデータが配置される。つ
いで、ステップS18において、i=i+1とし、ステ
ップS19において、i<=mnであるか否かを判別
し、i<=mnの場合には、ステップS6に戻る。
By the above processing, the data of a1,1 to a1,2 as described above are arranged in the first to sixth areas of the memory mem of the processor element PE1 of the node Node-1.
The x1 data is placed in the x area of the memory mem. Then, in step S18, i = i + 1 is set, and in step S19, it is determined whether or not i <= mn. If i <= mn, the process returns to step S6.

【0038】今度は、i=2となっているので、i1=
3、n1=2、p1=1に設定され、ノードNode-2のプ
ロセッサ・エレメントPE1 のメモリmem の領域にデー
タが配置される。つまり、i+j−1<=mの場合に
は、ステップS11からステップS12に行き、NODE(n
1),PE(p1),mem(j)=a(i1,table(i+j-1)) とする。すなわ
ち、table(i+j−1)=table(2)=3
であるので、ノードNode-2のプロセッサ・エレメントP
E1 のメモリmem の第1番目の領域にa3,3 のデータを
配置する。
Since i = 2 this time, i1 =
3, n1 = 2 and p1 = 1 are set, and the data is arranged in the area of the memory mem of the processor element PE1 of the node Node-2. That is, when i + j-1 <= m, the process goes from step S11 to step S12, and NODE (n
1), PE (p1), mem (j) = a (i1, table (i + j-1)). That is, table (i + j-1) = table (2) = 3
Therefore, the processor element P of the node Node-2 is
The data of a3,3 is arranged in the first area of the memory mem of E1.

【0039】ついで、ステップS14に行き、j=j+
1とし、ステップS15において、j<=mであるか否
かを判別し、j<=mの場合には、ステップS11に戻
り上記処理をj=5まで繰り返す。これにより、ノード
Node-2のプロセッサ・エレメントPE1 のメモリmem の
第2〜5番目の領域には、a3,5 、a3,6 、a3,4 、a
3,2 のデータが配置される。
Then, in step S14, j = j +
1, and in step S15, it is determined whether or not j <= m. If j <= m, the process returns to step S11 and the above processing is repeated until j = 5. This allows the node
In the second to fifth areas of the memory mem of the processor element PE1 of Node-2, a3,5, a3,6, a3,4, a
3 and 2 data are placed.

【0040】j=6になると、i+j−1>mになるの
で、ステップS13に行き、NODE(n1),PE(p1),mem(j)=a
(i1,table(i+j-1-m)) とする。すなわち、table
(i+j−1−m)=table(1)=1であるの
で、ノードNode-2のプロセッサ・エレメントPE1 のメ
モリmem の第6番目の領域にa3,1 のデータを配置す
る。そして、ステップS14でj=j+1とすると、j
は6を越えるので、ステップS15から図5のステップ
S16に行き、i<=mか否かを判別する。この場合に
は、i<=mであるので、ステップS17に行き、NODE
(n1),PE(p1),mem(x)=x(i) とする。すなわち、ノードNo
de-2のプロセッサ・エレメントPE1 のメモリmem のx
の領域にx3 のデータを配置する。
When j = 6, i + j-1> m. Therefore, the process proceeds to step S13, where NODE (n1), PE (p1), mem (j) = a.
(i1, table (i + j-1-m)). That is, table
Since (i + j-1-m) = table (1) = 1, the data of a3,1 is arranged in the sixth area of the memory mem of the processor element PE1 of the node Node-2. Then, if j = j + 1 in step S14, j
Exceeds 6, the process goes from step S15 to step S16 in FIG. 5 to determine whether i <= m. In this case, i <= m, so go to step S17
Let (n1), PE (p1), mem (x) = x (i). That is, node number
x of memory mem of processor element PE1 of de-2
Place x3 data in the area.

【0041】以上の処理により、ノードNode-2のプロセ
ッサ・エレメントPE1 のメモリmem の1〜6番目の領
域に上記のようなa3,3 〜a3,1 のデータが配置され、
メモリmem のxの領域にx3 のデータが配置される。以
上の処理を行ったのち、ステップS18でiを1増加し
(iは3となる)、ステップS19でi<mnが否か判
別し、ステップS6に戻る。
By the above processing, the data of a3,3 to a3,1 as described above are arranged in the first to sixth areas of the memory mem of the processor element PE1 of the node Node-2,
The x3 data is placed in the x area of the memory mem. After performing the above processing, i is incremented by 1 (i becomes 3) in step S18, it is determined whether i <mn is satisfied in step S19, and the process returns to step S6.

【0042】そして、ステップS7において、i1=t
able(3)=5、n1=3、p1=1に設定し、ス
テップS9に行く。今度は、i1=5であり、i1はn
(この場合は4)を越えるので、ステップS16におい
て、i1<mであるか否かを判別し、i1<mの場合に
は、ステップS17に行き、NODE(n1),PE(p1),mem(x)=x
(i) とする。すなわち、ノードNode-3のプロセッサ・エ
レメントPE1 のメモリmem の1〜6番目の領域にはデ
ータを配置せず、ノードNode-3のプロセッサ・エレメン
トPE1 のメモリmem のxの領域にx5 のデータを配置
する。
Then, in step S7, i1 = t
The setting is made as “able (3) = 5”, “n1 = 3”, and “p1 = 1”, and the process goes to step S9. This time, i1 = 5 and i1 is n
Since (4 in this case) is exceeded, it is determined in step S16 whether i1 <m. If i1 <m, the process proceeds to step S17, where NODE (n1), PE (p1), mem. (x) = x
(i) That is, the data is not placed in the first to sixth areas of the memory mem of the processor element PE1 of the node Node-3, and the data of x5 is placed in the x area of the memory mem of the processor element PE1 of the node Node-3. Deploy.

【0043】そして、ステップS18において、iを1
増加し(iは4となる)、ステップS19でi<mnが
否か判別し、ステップS6に戻る。ステップS6におい
て、i<=mn/2を判別すると、iは4でmn/2=
3を越えるので、ステップS8に行き、i1=tabl
e(4)=6、n1=mn−i+1=3、p2=2に設
定する。ついで、ステップS9に行き、i1<=nであ
るか否かを判別すると、i1はnを越える(この場合n
は4)、ステップS16に行き、前記と同様、ノードNo
de-3のプロセッサ・エレメントPE2 のメモリmem の1
〜6番目の領域にはデータを配置せず、ノードNode-3の
プロセッサ・エレメントPE2 のメモリmem のxの領域
にx6 のデータを配置する。
Then, in step S18, i is set to 1
It increases (i becomes 4), it is determined in step S19 whether i <mn, and the process returns to step S6. When i <= mn / 2 is determined in step S6, i is 4 and mn / 2 =
Since 3 is exceeded, go to step S8, i1 = tabl
Set e (4) = 6, n1 = mn-i + 1 = 3, and p2 = 2. Then, in step S9, if it is determined whether or not i1 <= n, i1 exceeds n (in this case, n
4), go to step S16 and, as before, go to the node No.
1 of memory mem of processor element PE2 of de-3
The data is not arranged in the 6th area, but the data of x6 is arranged in the area of x of the memory mem of the processor element PE2 of the node Node-3.

【0044】ついで、ステップS18において、i=i
+1とし、ステップS19において、i<=mnである
か否かを判別し、i<=mnの場合には、ステップS6
に戻る。今度は、i=5となっているので、ステップS
8において、i1=4、n1=2、p1=2に設定さ
れ、ノードNode-2のプロセッサ・エレメントPE2 のメ
モリmem の領域にデータが配置される。
Then, in step S18, i = i
+1 is set, and it is determined in step S19 whether i <= mn. If i <= mn, step S6
Return to. Since i = 5 this time, step S
8, i1 = 4, n1 = 2, p1 = 2 are set, and the data is arranged in the area of the memory mem of the processor element PE2 of the node Node-2.

【0045】そして前記と同様、ノードNode-2のプロセ
ッサ・エレメントPE2 のメモリmem の第1〜6番目の
領域には、a4,4 、a4,2 、a4,1 、a4,3 、a4,5 、
a4,6 が配置され、メモリmem のxの領域にx4 のデー
タが配置される。そして、i=6となると、ノードNode
-1のプロセッサ・エレメントPE2 のメモリmem の第1
〜6番目の領域には、a2,2 、a2,1 、a2,3 、a2,5
、a2,6、a2,4 が配置され、メモリmem のxの領域に
x2 のデータか配置される。
Then, as described above, a4,4, a4,2, a4,1, a4,3, a4,5 are stored in the first to sixth areas of the memory mem of the processor element PE2 of the node Node-2. ,
a4,6 are arranged, and x4 data is arranged in the x area of the memory mem. Then, when i = 6, the node Node
-1 first memory mem of processor element PE2
~ The sixth area contains a2,2, a2,1, a2,3, a2,5
, A2,6, a2,4 are arranged, and data of x2 is arranged in the area of x of the memory mem.

【0046】そして、ステップS18でiを1増加する
と、i>mとなるので、ステップS19からendに行
き終了する。以上の処理を行うことにより、ノードNode
-1のプロセッサ・エレメントPE1, PE2 とノードNod
e-2のプロセッサ・エレメントPE1 とPE2 のメモリm
emの第1〜第6の領域に、それぞれ、上記したようにa
1,1 〜a1,2 、a2,2 〜a2,4 、a3,3 〜a3,1 、a4,
4 〜a4,6 のデータが配置され、ノードNode-1〜 Node-
3 のプロセッサ・エレメントPE1 と、ノードNode-3〜
Node-1 のプロセッサ・エレメントPE2 のメモリmem
のxの領域に、それぞれ、x1 〜x6 のデータが配置さ
れる。
When i is incremented by 1 in step S18, i> m, so that the process goes from step S19 to end and ends. By performing the above processing, node Node
-1 processor elements PE1, PE2 and node Nod
Memory m of processor element PE1 and PE2 of e-2
In each of the first to sixth areas of em, as described above,
1,1 to a1,2, a2,2 to a2,4, a3,3 to a3,1, a4,
Data of 4 to a4,6 are placed, and nodes Node-1 to Node-
Processor element PE1 of 3 and node Node-3 ~
Memory mem of processor element PE2 of Node-1
The data of x1 to x6 are arranged in the area of x in FIG.

【0047】図6は図2に示したプロセッサへ処理プロ
グラムの割り付けを行ったリング型ネットワークにおい
て、上記した処理により、前記した2n行、2n列の要
素を持つ行列Wと2n個の要素を持つベクトルxのデー
タ配置を示す図である。同図に示すように、本実施例に
おいては、各プロセッサ・エレメントPE1 からPE2n
に、行列Wijの各行の要素Wij(i=1,…,2n,j
=1,…,2n)を各プロセッサ・エレメントPE1 〜
PE2nの番号に対応させて配置し、また、リング上のx
の各要素xj (j=1,…,2n)を同様に各プロセッ
サ・エレメントPE1 〜PE2nの番号に対応させて配置
する。
FIG. 6 shows a matrix W having 2n rows and 2n columns and 2n elements having the above-mentioned processing in the ring network in which the processing program is allocated to the processor shown in FIG. It is a figure which shows the data arrangement of the vector x. As shown in the figure, in this embodiment, each processor element PE1 to PE2n is
, The elements W ij (i = 1, ..., 2n, j) of each row of the matrix W ij
= 1, ..., 2n) for each processor element PE1 ...
It is arranged corresponding to the number of PE2n, and x on the ring
Similarly, each element x j (j = 1, ..., 2n) is arranged corresponding to the number of each processor element PE1 to PE2n.

【0048】そして、2n行、2n列の要素を持つ行列
Wと2n個の要素を持つベクトルxの積和計算Wxを求
める場合には、図15から図18に示した場合と同様、
リング上のデータを取り込み、内部に持つWijと積算し
て内部のワークエリアに書込み、リンク上のデータを全
体にシフトしながらそれらの和を求める。以上の処理を
行うことにより、図15から図18に示した従来例とは
演算の順序は若干異なるが、同一の結果を得ることがで
きる。
Then, when the product sum calculation Wx of the matrix W having 2n rows and 2n columns and the vector x having 2n elements is obtained, as in the case shown in FIGS.
The data on the ring is taken in, integrated with the internal Wij and written to the internal work area, and the sum of them is obtained while shifting the data on the link as a whole. By performing the above processing, the same result can be obtained although the order of calculation is slightly different from that of the conventional example shown in FIGS.

【0049】図7は上記実施例において、ネットワーク
の構成を変更しノード数をnからmにした場合を示して
いる。ノード数を変更した場合、ノードNode-1からNode
-nについての処理プログラムの割り付けは図2の場合と
同一であり、ノードNode-n+1からNode-mについて、新た
にノードの順番にプロセッサ・エレメントが割り付けら
れる。
FIG. 7 shows a case where the network configuration is changed and the number of nodes is changed from n to m in the above embodiment. If you change the number of nodes, Node-1 to Node
The allocation of the processing program for -n is the same as in the case of FIG. 2, and the processor elements are newly allocated in the order of nodes for the nodes Node-n + 1 to Node-m.

【0050】したがって、図6に示したような行列Wと
ベクトルxの積和計算Wxを行った後、大きさが異なっ
た行列とベクトルの積和を求める場合には、プロセッサ
・エレメントはノードNode-n+1からNode-mについて割り
付ければよく、また、データについても、ノードNode-n
+1からNode-mのプロセッサ・エレメントに新たに配置す
ればよい。
Therefore, when the product-sum calculation Wx of the matrix W and the vector x as shown in FIG. 6 is performed and the product-sum of the matrix and the vector having different sizes is obtained, the processor element is the node Node. Allocate from -n + 1 to Node-m, and also for data, node Node-n
It should be newly arranged from +1 to the processor element of Node-m.

【0051】すなわち、ノードNode-1からNode-nについ
ては図2の場合と同一であり、ノードNode-n+1からNode
-mについて、プロセッサへの処理プログラムの割り付
け、データの配置をすればよいので、従来方法のように
ネットワーク全体のプロセッサへの処理プログラムの再
割り付けおよびデータの再配置を行う必要がない。図8
は従来方法と、本実施例の方法における処理プログラム
の割り付け、データの配置を示す図である。同図は、入
力データがx1 ,x2 ,…,x6 の6個、出力データが
y1 ,y2 ,…,y4 の4個の次の式(2)示す行列演
算を行う場合の処理プログラムの割り付けとデータの配
置を示しており、同図(a)は従来方法による場合、
(b)は本実施例の方法による場合を示している。
That is, the nodes Node-1 to Node-n are the same as in the case of FIG.
As for -m, it is sufficient to allocate the processing program to the processors and allocate the data, so that it is not necessary to reallocate the processing programs to the processors of the entire network and reallocate the data unlike the conventional method. Figure 8
FIG. 9 is a diagram showing allocation of processing programs and data arrangement in the conventional method and the method of the present embodiment. In the figure, the allocation of the processing program when the matrix operation shown in the following formula (2) is performed for six pieces of input data x1, x2, ..., X6 and four pieces of output data y1, y2 ,. The data arrangement is shown in FIG. 3A, which is the case of the conventional method.
(B) shows the case according to the method of this embodiment.

【0052】[0052]

【数2】 [Equation 2]

【0053】ここで、演算開始前のデータの配置を見る
限り2つの方法に優劣はない。しかし、演算結果のy1
,y2 ,…,y4 について、次の式(3)の演算を行
う場合に決定的な差が生ずる。
Here, as far as the arrangement of data before the start of calculation is concerned, the two methods are not superior or inferior. However, the calculation result y1
, Y2, ..., Y4, a definite difference occurs when the calculation of the following formula (3) is performed.

【0054】[0054]

【数3】 [Equation 3]

【0055】図9は式(2)の演算結果を示す図であ
り、同図(a)は従来例の場合、(b)は本実施例の場
合を示している。同図に示すように、従来方法の場合に
は、出力データはノードNode-1からNode-3のPE1とノ
ードNode-3のPE2に配置され、本実施例の方法の場合
には、出力データはノードNode-1からNode-2のPE1と
PE2に配置される。
FIG. 9 is a diagram showing the calculation result of the equation (2). FIG. 9A shows the case of the conventional example, and FIG. 9B shows the case of the present embodiment. As shown in the figure, in the case of the conventional method, the output data is arranged in the PE1 of the node Node-1 to the node-3 and the PE2 of the node Node-3, and in the case of the method of the present embodiment, the output data is Are arranged in PE1 and PE2 of nodes Node-1 to Node-2.

【0056】図9に示すように、従来例においては、ノ
ードNode-3にy3 ,y4 が残されるため、ノードNode-2
までの4つのプロセッサ・エレメントで演算できる処理
であっても、ノードNode-3まで含めた6つのプロセッサ
・エレメントで処理するか、さもなくば、一旦データを
ホストプロセッサで読み出した後、再度、式(3)の行
列データb11,…,b24とともに前記した図13、図1
4のフローチャートに従ってノードNode-1とNode-2に再
配置しなければならない。
As shown in FIG. 9, in the conventional example, since y3 and y4 are left in the node Node-3, the node Node-2
Even if the processing that can be performed by the four processor elements up to is processed by the six processor elements including node Node-3, otherwise, once the data is read by the host processor, the expression is re-expressed. , 3 described above together with the matrix data b11, ..., B24 of (3).
It must be relocated to nodes Node-1 and Node-2 according to the flow chart of 4.

【0057】これに対して、本実施例では、y1 ,y2
,…,y4 も、最初のデータx1 ,x2 ,…,x6 と
本質的に同じであるため、予め行列データb11,…,b
24を配置しておくことにより計算処理を短縮することが
できる。図10は本発明の第2の実施例を示す図であ
り、本実施例は各ノードに4個のプロセッサ・エレメン
トを設け、最大8個のノード間をリングで接続したリン
グ型ネットワークを示している。
On the other hand, in the present embodiment, y1, y2
, ..., y4 are also essentially the same as the first data x1, x2, ..., x6, so the matrix data b11, ..., b are previously set.
Arranging 24 makes it possible to shorten the calculation process. FIG. 10 is a diagram showing a second embodiment of the present invention. This embodiment shows a ring-type network in which four processor elements are provided in each node and a maximum of eight nodes are connected by a ring. There is.

【0058】本実施例においても、ノードNode-1からNo
de-8へのプロセッサ・エレメントPE1 〜PE32の割り
付けは図2に示した第1の実施例と同様にノード順に割
り付けられる。そして、図6に示したような行列とベク
トルの積和を求める場合には、図6と同様に、各プロセ
ッサ・エレメントPE1 からPE32に、行列Wijの各行
の要素を各プロセッサ・エレメントPE1 〜PE32の番
号に対応させて配置し、また、リング上のxの各要素を
同様に各プロセッサ・エレメントPE1 〜PE32の番号
に対応させて配置する。
Also in the present embodiment, the nodes Node-1 to No
The processor elements PE1 to PE32 are allocated to de-8 in the node order, as in the first embodiment shown in FIG. When the product sum of the matrix and the vector as shown in FIG. 6 is obtained, the elements of each row of the matrix W ij are assigned to the processor elements PE1 to PE32 in the same manner as in FIG. The elements of x on the ring are similarly arranged corresponding to the numbers of PE32, and the elements of x on the ring are similarly arranged corresponding to the numbers of the processor elements PE1 to PE32.

【0059】これにより、前記した場合と同様な手順で
行列とベクトルの積和を求めることができる。以上のよ
うに、各ノードに2以上のプロセッサ・エレメントを配
置した場合にも第1の実施例と同様、本発明を適用する
ことが可能である。
As a result, the product sum of the matrix and the vector can be obtained by the same procedure as that described above. As described above, the present invention can be applied to the case where two or more processor elements are arranged in each node as in the first embodiment.

【0060】[0060]

【発明の効果】以上説明したように、本発明において
は、データの転送方向とは対応づけず、ノードの順番に
プロセッサ・エレメントへ処理プログラムを割り付けて
いるので、リング型ネットワークにおいて、ネットワー
ク構成の変更を容易に行うことができる。また、ノード
の順番に各プロセッサ・エレメントにデータを配置する
ことにより、ネットワーク構成を変更しても、実行時の
データの再配置が不要となり、高速に処理することが可
能となる。
As described above, in the present invention, the processing program is allocated to the processor elements in the order of the nodes, not in correspondence with the data transfer direction. Changes can be made easily. Further, by arranging the data in each processor element in the order of the nodes, even if the network configuration is changed, it is not necessary to re-arrange the data at the time of execution, and the processing can be performed at high speed.

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

【図1】本発明の原理図である。FIG. 1 is a principle diagram of the present invention.

【図2】本発明の第1の実施例の処理プログラムの割り
付けを示す図である。
FIG. 2 is a diagram showing allocation of processing programs according to the first embodiment of this invention.

【図3】本実施例におけるデータ配置処理のフローチャ
ートである。
FIG. 3 is a flowchart of a data arrangement process in this embodiment.

【図4】本実施例におけるデータ配置処理のフローチャ
ート(続き)である。
FIG. 4 is a flowchart (continuation) of data arrangement processing in the present embodiment.

【図5】本実施例におけるデータ配置処理のフローチャ
ート(続き)である。
FIG. 5 is a flowchart (continuation) of data arrangement processing in the present embodiment.

【図6】本実施例におけるデータ配置を示す図である。FIG. 6 is a diagram showing a data arrangement in this embodiment.

【図7】本実施例において構成を変更したリング型ネッ
トワークを示す図である。
FIG. 7 is a diagram showing a ring network whose configuration is changed in the present embodiment.

【図8】従来方法と本実施例の方法におけるデータの配
置を示す図である。
FIG. 8 is a diagram showing data arrangement in the conventional method and the method of the present embodiment.

【図9】従来方法と本実施例の方法における演算の結果
を示す図である。
FIG. 9 is a diagram showing the result of calculation in the conventional method and the method of the present embodiment.

【図10】本発明の第2の実施例を示す図である。FIG. 10 is a diagram showing a second embodiment of the present invention.

【図11】本発明の前提となるシステムの構成を示す図
である。
FIG. 11 is a diagram showing a configuration of a system which is a premise of the present invention.

【図12】本発明の前提となるリング型ネットワークの
構成を示す図である。
FIG. 12 is a diagram showing a configuration of a ring network that is a premise of the present invention.

【図13】従来例におけるデータ配置処理のフローチャ
ートである。
FIG. 13 is a flowchart of a data arrangement process in a conventional example.

【図14】従来例におけるデータ配置処理のフローチャ
ート(続き)である。
FIG. 14 is a flowchart (continuation) of data arrangement processing in the conventional example.

【図15】従来のリング型ネットワークにおけるデータ
配置を示す図である。
FIG. 15 is a diagram showing a data arrangement in a conventional ring network.

【図16】従来のリング型ネットワークにおける積算処
理を示す図である。
FIG. 16 is a diagram showing integration processing in a conventional ring network.

【図17】従来のリング型ネットワークにおける転送処
理を示す図である。
FIG. 17 is a diagram showing a transfer process in a conventional ring network.

【図18】従来のリング型ネットワークにおける次段の
積算処理を示す図である。
FIG. 18 is a diagram showing a next-stage integration process in a conventional ring network.

【図19】従来例において構成を変更したリング型ネッ
トワークを示す図である。
FIG. 19 is a diagram showing a ring network whose configuration has been changed in the conventional example.

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

Node-1〜Node-n ノード PE1 〜PE2m, PE2n プロセッサ・エ
レメント CPU1 並列コンピュー
タ CPU2 ホストコンピュ
ータ 1 プロセッサ 2 主記憶装置 3 インタフェース
Node-1 to Node-n nodes PE1 to PE2m, PE2n Processor element CPU1 Parallel computer CPU2 Host computer 1 Processor 2 Main memory 3 Interface

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 各ノード(Node-1,…,Node-n)に少なくと
も2個のプロセッサ・エレメント(PE1,PE2) を備え、各
ノードを往路と復路が通過するリング型ネットワークで
構成され、 各ノード(Node-1,…,Node-n)のプロセッサ・エレメント
(PE1,PE2) が持つデータを各プロセッサ・エレメント(P
E1,PE2) 間で転送して、各プロセッサ・エレメント(PE
1,PE2) により処理を行う並列コンピュータにおいて、 ノード(Node-1,…,Node-n)の順番に当該ノードに備えら
れたプロセッサ・エレメント(PE1,PE2, …) から順次ネ
ットワーク上を転送されるデータを処理する処理プログ
ラムが割り付けられていることを特徴とする並列コンピ
ュータ。
1. A ring type network comprising at least two processor elements (PE1, PE2) in each node (Node-1, ..., Node-n) and comprising a forward path and a return path passing through each node, Processor element of each node (Node-1, ..., Node-n)
The data held by (PE1, PE2) is stored in each processor element (P
E1, PE2) to transfer each processor element (PE
In a parallel computer that performs processing by (1, PE2), nodes (Node-1, ..., Node-n) are sequentially transferred on the network from the processor elements (PE1, PE2, ...) provided in the node. A parallel computer characterized in that a processing program for processing data is allocated.
【請求項2】 各ノード(Node-1,…,Node-n)に少なくと
も2個のプロセッサ・エレメント(PE1,PE2) を備え、各
ノードを往路と復路が通過するリング型ネットワークで
構成され、 各ノード(Node-1,…,Node-n)のプロセッサ・エレメント
(PE1,PE2) が持つデータを各プロセッサ・エレメント(P
E1,PE2) 間で転送して、各プロセッサ・エレメント(PE
1,PE2) により処理を行う並列コンピュータにおいて、 ノード(Node-1,…,Node-n)の順番に当該ノードに備えら
れたプロセッサ・エレメント(PE1,PE2) から順次ネット
ワーク上を転送されるデータを処理する処理プログラム
が割り付けられており、ノード(Node-1,…,Node-n)の順
番に当該ノードに備えられた各プロセッサ・エレメント
(PE1,PE2) から順次データが配置されていることを特徴
とする並列コンピュータ。
2. Each node (Node-1, ..., Node-n) is provided with at least two processor elements (PE1, PE2), and is constituted by a ring-type network in which an outward path and a return path pass through each node, Processor element of each node (Node-1, ..., Node-n)
The data held by (PE1, PE2) is stored in each processor element (P
E1, PE2) to transfer each processor element (PE
In a parallel computer that processes by (1, PE2), data transferred sequentially on the network from the processor elements (PE1, PE2) provided in the node (Node-1, ..., Node-n) in order. A processing program for processing is assigned to each processor element provided in the node in the order of nodes (Node-1, ..., Node-n).
A parallel computer in which data is sequentially arranged from (PE1, PE2).
JP04232294A 1994-03-14 1994-03-14 Parallel computer Expired - Fee Related JP3290798B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP04232294A JP3290798B2 (en) 1994-03-14 1994-03-14 Parallel computer
US08/381,399 US5715471A (en) 1994-03-14 1995-01-31 Parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04232294A JP3290798B2 (en) 1994-03-14 1994-03-14 Parallel computer

Publications (2)

Publication Number Publication Date
JPH07253954A true JPH07253954A (en) 1995-10-03
JP3290798B2 JP3290798B2 (en) 2002-06-10

Family

ID=12632783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04232294A Expired - Fee Related JP3290798B2 (en) 1994-03-14 1994-03-14 Parallel computer

Country Status (2)

Country Link
US (1) US5715471A (en)
JP (1) JP3290798B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090769A (en) * 2006-10-05 2008-04-17 Nippon Telegr & Teleph Corp <Ntt> Parallel computing method, computing unit, and program for computing unit
JP2020519979A (en) * 2017-05-12 2020-07-02 グーグル エルエルシー Image processor with configurable number of active cores and supporting internal network

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11379447B2 (en) 2020-02-06 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller
US11449386B2 (en) 2020-03-20 2022-09-20 Alibaba Group Holding Limited Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
US11301173B2 (en) 2020-04-20 2022-04-12 Alibaba Group Holding Limited Method and system for facilitating evaluation of data access frequency and allocation of storage device resources
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4247892A (en) * 1978-10-12 1981-01-27 Lawrence Patrick N Arrays of machines such as computers
BG35575A1 (en) * 1982-04-26 1984-05-15 Kasabov Multimicroprocessor system
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4763247A (en) * 1984-12-26 1988-08-09 Vmei "Lenin" Multiprocessor system formed by microprocessor matrix
US5274832A (en) * 1990-10-04 1993-12-28 National Semiconductor Corporation Systolic array for multidimensional matrix computations
FR2686175B1 (en) * 1992-01-14 1996-12-20 Andre Thepaut MULTIPROCESSOR DATA PROCESSING SYSTEM.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090769A (en) * 2006-10-05 2008-04-17 Nippon Telegr & Teleph Corp <Ntt> Parallel computing method, computing unit, and program for computing unit
JP2020519979A (en) * 2017-05-12 2020-07-02 グーグル エルエルシー Image processor with configurable number of active cores and supporting internal network

Also Published As

Publication number Publication date
US5715471A (en) 1998-02-03
JP3290798B2 (en) 2002-06-10

Similar Documents

Publication Publication Date Title
JP3290798B2 (en) Parallel computer
JP7315317B2 (en) Processors and how they transfer data
JP2770603B2 (en) Parallel computer
CN108470009B (en) Processing circuit and neural network operation method thereof
CN112506567B (en) Data reading method and data reading circuit
KR100280854B1 (en) Data processing device and data processing method
WO2019082859A1 (en) Inference device, convolutional computation execution method, and program
CN110377874B (en) Convolution operation method and system
US5659714A (en) Data processor including memory for associating data elements of two-dimensional array which are numbered in spiral order with element numbers thereof
JP3982634B2 (en) Method and system for interconnecting processors of parallel computers to facilitate torus partitioning
WO2018139265A1 (en) Processor, information processing device, and processor operation method
Merigot et al. A pyramidal system for image processing
JPH07271744A (en) Parallel computer
JPS6347835A (en) Pipeline computer
JP3304445B2 (en) Program generation processing device
US20210117352A1 (en) Semiconductor device and method of controlling the same
EP0273051B1 (en) Parallel processing computer
JPH0926941A (en) Data processor
JP2591362B2 (en) Data selection processing method
Stojcev et al. Data reordering converter: an interface block in a linear chain of processing arrays
Mathur et al. Data parallel algorithms for the finite element method
JPS58159169A (en) Parallel processing system
JPH09179840A (en) Inter-processor coupling network for parallel computer
JPH05324584A (en) Allocating method for hypercube
JPH0156421B2 (en)

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020312

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

Free format text: PAYMENT UNTIL: 20080322

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090322

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100322

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100322

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110322

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110322

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120322

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees