JPH09120391A - Data transfer method for parallel computer and parallel computer processor - Google Patents

Data transfer method for parallel computer and parallel computer processor

Info

Publication number
JPH09120391A
JPH09120391A JP7274600A JP27460095A JPH09120391A JP H09120391 A JPH09120391 A JP H09120391A JP 7274600 A JP7274600 A JP 7274600A JP 27460095 A JP27460095 A JP 27460095A JP H09120391 A JPH09120391 A JP H09120391A
Authority
JP
Japan
Prior art keywords
packet
command
data
transfer
area
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
JP7274600A
Other languages
Japanese (ja)
Other versions
JP3674720B2 (en
Inventor
Haruhiko Ueno
治彦 上埜
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 JP27460095A priority Critical patent/JP3674720B2/en
Publication of JPH09120391A publication Critical patent/JPH09120391A/en
Application granted granted Critical
Publication of JP3674720B2 publication Critical patent/JP3674720B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the message transfer efficiency by sending a packet consisting of a packet body and a packet header including both transfer command and transmission control data to a reception processor to eliminate the need for copying the transfer data main body and also to transfer a single message with transfer of a single packet. SOLUTION: A packet header 11 provided on a main storage 4 of a transmitter PE 1 includes a command area 13 of a command 15 which instructs the transfer of data and a non-command area 14 which transfers the data designated by a program. The transmission control data 16 are set in the area 14. Then a transmission communication device 3 reads a packet body 17 pointed by the command 15 out of the storage 4 as a packet body 12. Then the device 3 adds the header 11 to the body 12 to form a packet 10 and sends this packet to an inter-PE connection network 2 to transfer it to the PE 1 of the reception side.

Description

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

【0001】(目次) 発明の属する技術分野 従来の技術(図8〜図11) 発明が解決しようとする課題(図10,図11) 課題を解決するための手段 発明の実施の形態 (a)第1実施形態の説明(図1〜図5) (b)第2実施形態の説明(図6,図7) 発明の効果(Technical Field of the Invention) Technical Field of the Invention Conventional Technology (FIGS. 8 to 11) Problems to be Solved by the Invention (FIGS. 10 and 11) Means for Solving the Problems Embodiments of the Invention (a) Description of First Embodiment (FIGS. 1 to 5) (b) Description of Second Embodiment (FIGS. 6 and 7)

【0002】[0002]

【発明の属する技術分野】本発明は、複数の処理装置
〔以下、PE(Processor Element)という〕を相互に通
信可能に接続して構成された並列計算機におけるデータ
転送方法、および、この方法を適用される並列計算機用
処理装置に関し、特に、分散主記憶MIMD(Multiple
Instruction stream Multiple Data stream)型並列計
算機システムに用いて好適の技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention applies a data transfer method in a parallel computer configured by connecting a plurality of processing devices (hereinafter referred to as PEs (Processor Elements)) to each other so that they can communicate with each other, and to apply this method. And a parallel processor for a parallel computer, particularly, a distributed main memory MIMD (Multiple
The present invention relates to a technique suitable for use in an instruction stream multiple data stream type parallel computer system.

【0003】[0003]

【従来の技術】近年、例えば数値計算や画像処理等のよ
うに膨大なデータを高速に処理する必要性から、コンピ
ュータシステムの高速化や大容量化が要求されるてい
る。これに伴って、複数のPEをそなえて相互に通信を
行ないながら並列的に処理を行なう並列処理技術が研究
・開発されている。
2. Description of the Related Art In recent years, there has been a demand for speeding up and increasing the capacity of computer systems due to the need to process enormous amounts of data at high speeds such as numerical calculation and image processing. Along with this, a parallel processing technology has been researched and developed in which a plurality of PEs are provided to perform parallel processing while communicating with each other.

【0004】一般に、並列計算機システムでは、例えば
図8に示すように、n台のPE(PE番号として#1〜
#nが付与されているものとする)101が、通信手段
としてのPE間結合網100を介して相互に通信可能に
接続されている。各PE101には、図9に示すよう
に、転送処理部102,命令処理部(CPU)103お
よび主記憶104がそなえられている。
Generally, in a parallel computer system, as shown in FIG. 8, for example, n PEs (PE numbers # 1 to # 1) are used.
(#N is given) 101 are connected to each other so that they can communicate with each other via the PE PE network 100 as a communication means. As shown in FIG. 9, each PE 101 has a transfer processing unit 102, an instruction processing unit (CPU) 103, and a main memory 104.

【0005】ここで、転送処理部102は、主記憶10
4上のデータの送受信処理を行なうものであり、命令処
理部103は、PE101相互間の通信に際してプログ
ラム処理を行なうものである。なお、上述のように転送
処理部102と命令処理部103とを独立に設けること
により、命令処理部103の負荷とオーバヘッドとを削
減できるようになっている。また、転送処理部102
は、送信処理と受信処理とを同時並列的に行なえるよう
に構成され、これにより、データ転送速度とデータ転送
効率との向上をはかっている。
Here, the transfer processing unit 102 uses the main memory 10
4 performs data transmission / reception processing, and the instruction processing unit 103 performs program processing during communication between PEs 101. By providing the transfer processing unit 102 and the instruction processing unit 103 independently as described above, the load and overhead of the instruction processing unit 103 can be reduced. In addition, the transfer processing unit 102
Is configured so that the transmission process and the reception process can be simultaneously performed in parallel, thereby improving the data transfer rate and the data transfer efficiency.

【0006】ところで、近年、上述のような分散主記憶
MIMD型並列計算機システムにおいては、メッセージ
パッシングモデルと呼ばれるプログラミングモデルを用
いた並列プログラミングが盛んになりつつある。このメ
ッセージパッシングモデルは、PE101相互間でメッ
セージの送受信を明示的に行なうことにより、PE10
1相互間のデータ転送処理とPE101相互間の同期処
理とを実行するモデルである。このため、並列計算機シ
ステムにおいて、メッセージパッシングモデルを効率よ
く実現できるようにする必要がある。
By the way, in recent years, in the distributed main memory MIMD type parallel computer system as described above, parallel programming using a programming model called a message passing model is becoming popular. This message passing model allows the PEs 10 to communicate with each other by explicitly transmitting and receiving messages.
This is a model for executing data transfer processing between one PE 101 and synchronization processing between the PEs 101. Therefore, it is necessary to efficiently realize the message passing model in the parallel computer system.

【0007】メッセージパッシングモデルでデータ転送
を行なう際には、一般に、送信側PE101では、転送
データ本体に、プログラムが指定する送信側制御データ
を付加する一方、受信側PE101では、受信した転送
データ本体と送信側制御データとに、受信側制御データ
を付加して保持・管理する必要がある。以下に、図10
および図11により、従来のメッセージ転送処理につい
て説明する。なお、図10,図11では、送信側および
受信側の各PE101の主記憶104上におけるデータ
保持状態が示され、時間経過が左方から右方へ進むもの
として概略的な表示がなされている。
When data is transferred in the message passing model, generally, the sending PE 101 adds the sending control data specified by the program to the transfer data body, while the receiving PE 101 receives the received transfer data body. It is necessary to add the control data on the receiving side to the control data on the transmitting side and the control data on the transmitting side for holding and management. Below, FIG.
A conventional message transfer process will be described with reference to FIGS. 10 and 11, the data holding state in the main memory 104 of each PE 101 on the transmitting side and the receiving side is shown, and a schematic display is made as the time progresses from left to right. .

【0008】図10に示すメッセージ転送処理では、送
信側PE101上のプログラムが、まず、主記憶104
上において、配列の一部等の転送データ本体201を複
写するとともに、複写された転送データ本体201に、
送信メッセージの識別子(以下、IDという)等の送信
側制御データ202を付加することにより、パケットボ
ディ200を組み立てる。同時に、送信側PE101上
のプログラムは、主記憶104上において、パケットボ
ディ200を転送するための通信装置(図9の転送処理
部102)への転送コマンド210の組立も行なう。そ
して、通信装置(図9の転送処理部102)に対して、
組み立てた転送コマンド210の実行を指示する〔以
上、図10中の期間(1)参照〕。
In the message transfer process shown in FIG. 10, the program on the sending side PE 101 first causes the main memory 104 to execute.
In the above, while copying the transfer data body 201 such as a part of the array,
The packet body 200 is assembled by adding the transmission side control data 202 such as the identifier (hereinafter referred to as ID) of the transmission message. At the same time, the program on the transmitting side PE 101 also assembles the transfer command 210 to the communication device (transfer processing unit 102 in FIG. 9) for transferring the packet body 200 in the main memory 104. Then, for the communication device (transfer processing unit 102 in FIG. 9),
The execution of the assembled transfer command 210 is instructed [above, refer to period (1) in FIG. 10].

【0009】これに応じて、通信装置は、転送コマンド
210によってポインティングされる主記憶104上の
パケットボディ200を読み出し、転送コマンド210
をパケットヘッダとして、このパケットヘッダとパケッ
トボディ200とからなるパケットを、PE間結合網1
00へ送り出す。PE間結合網100は、パケットヘッ
ダ内の転送コマンド210に含まれる受信側PE101
の指定情報に従い、パケットを受信側PE101へ転送
する〔以上、図10中の期間(2)参照〕。
In response to this, the communication device reads the packet body 200 on the main memory 104 pointed by the transfer command 210, and transfers it.
Is used as a packet header, and a packet composed of this packet header and the packet body 200 is used as the inter-PE coupling network 1
Send to 00. The PE-to-PE coupling network 100 includes the receiving PE 101 included in the transfer command 210 in the packet header.
The packet is transferred to the PE 101 on the receiving side in accordance with the designation information of the above [see the period (2) in FIG. 10 above].

【0010】受信側PE101では、パケットヘッダ内
の転送コマンド210は通信装置(図9の転送処理部1
02)へ送られ、コマンド解析等の処理が実行されると
ともに、送信側制御データ202および転送データ本体
201を含むパケットボディ200は、主記憶104上
のメッセージ受信キュー110内に格納される〔以上、
図10中の期間(3)参照〕。
In the PE 101 on the receiving side, the transfer command 210 in the packet header is transmitted to the communication device (transfer processing unit 1 in FIG. 9).
02), the processing such as command analysis is executed, and the packet body 200 including the transmission side control data 202 and the transfer data body 201 is stored in the message reception queue 110 on the main memory 104 [above ,
Refer to the period (3) in FIG. 10].

【0011】そして、受信側PE101上のプログラム
が、主記憶104上において、受信側制御データ220
を、受信したメッセージ(パケットボディ200)に付
加する〔図10中の期間(4)参照〕。この受信側制御
データ220には、受信メッセージのIDや、メッセー
ジ受信キュー110内のメッセージをポインティングす
るための情報などが含まれている。
Then, the program on the receiving side PE 101 stores the receiving side control data 220 on the main memory 104.
Is added to the received message (packet body 200) [see period (4) in FIG. 10]. The receiving side control data 220 includes the ID of the received message, information for pointing the message in the message receiving queue 110, and the like.

【0012】一方、図11に示すメッセージ転送処理で
は、送信側PE101上のプログラムが、まず、主記憶
104上において、送信メッセージの識別子(以下、I
Dという)等の送信側制御データ202を組み立てると
ともに、この送信側制御データ202を転送するための
通信装置への転送コマンド210Aと、転送データ本体
201を転送するための通信装置への転送コマンド21
0Bとを組み立てる。そして、通信装置(図9の転送処
理部102)に対して、組み立てた2つの転送コマンド
210A,210Bの実行を指示する〔以上、図11中
の期間(1)参照〕。
On the other hand, in the message transfer process shown in FIG. 11, the program on the transmitting side PE 101 first causes the identifier of the transmitted message (hereinafter, I
(Referred to as “D”) and the like, and a transfer command 210A to the communication device for transferring the control data 202 on the transmitting side and a transfer command 21 to the communication device for transferring the main body 201 of the transfer data.
Assemble with 0B. Then, the communication device (the transfer processing unit 102 in FIG. 9) is instructed to execute the two assembled transfer commands 210A and 210B [above, refer to the period (1) in FIG. 11].

【0013】これに応じて、通信装置は、転送コマンド
210Aによってポインティングされる主記憶104上
の送信側制御データ202を読み出し、転送コマンド2
10Aをパケットヘッダ、送信側制御データ202をパ
ケットボディとして、1つ目のパケットを、PE間結合
網100へ送り出す。続いて、通信装置は、転送コマン
ド210Bによってポインティングされる主記憶104
上の転送データ本体201を読み出し、転送コマンド2
10Bをパケットヘッダ、転送データ本体201をパケ
ットボディとして、2つ目のパケットを、PE間結合網
100へ送り出す。
In response to this, the communication device reads the transmission side control data 202 on the main memory 104 pointed by the transfer command 210A, and transfers the transfer command 2
With 10A as the packet header and the transmission side control data 202 as the packet body, the first packet is sent to the PE-PE coupling network 100. Subsequently, the communication device uses the transfer command 210B to point to the main memory 104.
Read the above transfer data body 201 and transfer command 2
The second packet is sent to the PE-to-PE coupling network 100 with 10B as the packet header and the transfer data body 201 as the packet body.

【0014】PE間結合網100は、これら2つのパケ
ットを、各パケットヘッダ内の転送コマンド210A,
210Bに含まれる受信側PE101の指定情報に従っ
て、受信側PE101へ転送する〔以上、図11中の期
間(2)参照〕。受信側PE101では、各パケットの
パケットヘッダ内の転送コマンド210A,210Bは
通信装置(図9の転送処理部102)へ送られ、コマン
ド解析等の処理が実行されるとともに、パケットボディ
として転送されてきた送信側制御データ202および転
送データ本体201は、一体化されて、主記憶104上
のメッセージ受信キュー110内に格納される〔以上、
図11中の期間(3)参照〕。
The PE-to-PE coupling network 100 transfers these two packets to the transfer commands 210A,
According to the designation information of the receiving PE 101 included in 210B, the data is transferred to the receiving PE 101 [above, refer to period (2) in FIG. 11]. In the PE 101 on the receiving side, the transfer commands 210A and 210B in the packet header of each packet are sent to the communication device (the transfer processing unit 102 in FIG. 9), where command analysis and other processing are executed and transferred as a packet body. The transmission side control data 202 and the transfer data body 201 are integrated and stored in the message reception queue 110 on the main memory 104 [above,
Refer to the period (3) in FIG. 11].

【0015】そして、受信側PE101上のプログラム
が、主記憶104上において、受信側制御データ220
を、受信したメッセージ(一体化された送信側制御デー
タ202および転送データ本体201)に付加する〔図
11中の期間(4)参照〕。この受信側制御データ22
0には、前述と同様、受信メッセージのIDや、メッセ
ージ受信キュー110内のメッセージをポインティング
するための情報などが含まれている。
Then, the program on the receiving side PE 101 stores the receiving side control data 220 on the main memory 104.
Is added to the received message (integrated transmission side control data 202 and transfer data body 201) [see period (4) in FIG. 11]. This receiving side control data 22
As described above, 0 includes the ID of the received message, information for pointing the message in the message reception queue 110, and the like.

【0016】[0016]

【発明が解決しようとする課題】しかしながら、図10
に示すメッセージ転送処理では、送信側PE101の主
記憶104上でメッセージ(パケットボディ200)を
組み立てる際に、転送データ本体201をコピーする必
要があるため、大きな処理量が必要となる。従って、大
容量のメッセージ転送を行なう場合には、そのコピー処
理に多大な時間を要し、メッセージパッシングを効率よ
く行なうことができないという課題があった。
However, as shown in FIG.
In the message transfer process shown in (1), since the transfer data body 201 needs to be copied when assembling the message (packet body 200) in the main memory 104 of the sending PE 101, a large amount of processing is required. Therefore, when transferring a large-capacity message, there is a problem that the copy process requires a lot of time and the message passing cannot be performed efficiently.

【0017】図11に示すメッセージ転送処理では、送
信側PE101において、転送データ本体201をコピ
ーする必要はなくなるが、1つのメッセージを転送する
ために2つのパケットを組み立てて転送する必要があ
り、2つの転送コマンド210A,210Bを組み立て
なければならず、処理量が多くなって効率が悪いという
課題があった。
In the message transfer process shown in FIG. 11, it is not necessary for the sending PE 101 to copy the transfer data body 201, but it is necessary to assemble and transfer two packets to transfer one message. Since one transfer command 210A and 210B must be assembled, there is a problem that the processing amount is large and the efficiency is low.

【0018】また、図11に示すメッセージ転送処理で
は、受信側PE101において、2つのパケットの間に
他PEからのパケットが割り込むと以後の処理が面倒に
なるため、送信側PE101からの2つのパケットを受
信し終えるまでは、他PEからのパケットを受信しない
ようにするなどの特殊な制御が必要になるなどの課題も
あった。
Further, in the message transfer process shown in FIG. 11, if the packet from another PE interrupts between the two packets in the PE 101 on the receiving side, the subsequent process becomes troublesome. There is also a problem that special control such as not receiving packets from other PEs is required until the end of receiving the packet.

【0019】本発明は、このような課題に鑑み創案され
たもので、転送データ本体のコピーが不要で、且つ、1
個のパケット転送で1個のメッセージを転送できるよう
にして、メッセージ転送のための処理量を少なくし、メ
ッセージ転送の効率化をはかった、並列計算機における
データ転送方法および並列計算機用処理装置を提供する
ことを目的とする。
The present invention was devised in view of such problems, and it is not necessary to copy the transfer data body, and
Provided is a data transfer method in a parallel computer and a processor for a parallel computer, in which one message can be transferred by each packet transfer, the processing amount for message transfer is reduced, and the efficiency of message transfer is improved. The purpose is to do.

【0020】[0020]

【課題を解決するための手段】このため、本発明の並列
計算機におけるデータ転送方法は、通信手段を介し複数
の処理装置を相互に通信可能に接続して構成された並列
計算機におけるデータ転送方法であって、送信側処理装
置が、各種制御情報を含むパケットヘッダと転送データ
本体を含むパケットボディとからなるパケットを該通信
手段に対して発信するとともに、該通信手段が、該パケ
ットを所定の受信側処理装置へ転送することにより、該
送信側処理装置の主記憶上のデータを該受信側処理装置
の主記憶上へ転送するものにおいて、該送信側処理装置
の主記憶上に作成される前記パケットヘッダを、データ
転送を指示するコマンド用のコマンド領域(ハードウエ
ア用コマンド領域)と、プログラムにより指定されたデ
ータを転送するための非コマンド領域(プログラム用領
域)とから構成し、前記パケットヘッダの非コマンド領
域に送信側制御データを設定することを特徴としている
(請求項1)。
Therefore, a data transfer method in a parallel computer according to the present invention is a data transfer method in a parallel computer constituted by connecting a plurality of processing devices so that they can communicate with each other via a communication means. Then, the transmission side processing device transmits a packet including a packet header containing various control information and a packet body containing the transfer data body to the communication means, and the communication means receives the packet in a predetermined manner. In the one for transferring the data in the main memory of the transmitting side processing device to the main memory of the receiving side processing device by transferring to the side processing device, the data created in the main memory of the transmitting side processing device The packet header is used to transfer the command area (command area for hardware) for commands that direct data transfer and the data specified by the program. Non command area of the constructed from (program area) and is characterized by setting the transmission side control data to the non-command area of the packet header (claim 1).

【0021】なお、請求項1の受信側処理装置におい
て、前記パケットを受信すると、前記パケットヘッダと
前記パケットボディとの両方を該主記憶上のメッセージ
受信キューに格納してもよいし(請求項2)、前記パケ
ットを受信すると、前記パケットヘッダの非コマンド領
域と前記パケットボディとを該主記憶上のメッセージ受
信キューに格納してもよい(請求項3)。
In the receiving side processing device of claim 1, when the packet is received, both the packet header and the packet body may be stored in the message reception queue on the main memory (claim). 2) When the packet is received, the non-command area of the packet header and the packet body may be stored in the message reception queue on the main memory (claim 3).

【0022】また、請求項3において、前記パケットヘ
ッダのコマンド領域を、該主記憶上のコマンド受信領域
に格納するように構成してもよい(請求項4)。このと
き、該コマンド受信領域が、複数のコマンド領域を格納
可能に構成され、受信に際して異常が発生しない場合に
は前記パケットヘッダのコマンド領域を該コマンド受信
領域に対して上書きにより格納する一方、異常発生時に
は当該異常の発生要因に係るパケットのコマンド領域を
該コマンド受信領域に保持し、該コマンド受信領域に、
新たなコマンド領域を格納するための有効領域が無くな
った場合には、新たなパケットの受信を停止する(請求
項5)。
Further, in claim 3, the command area of the packet header may be stored in a command receiving area on the main memory (claim 4). At this time, the command receiving area is configured to be able to store a plurality of command areas, and if no abnormality occurs during reception, the command area of the packet header is overwritten and stored in the command receiving area. At the time of occurrence, the command area of the packet relating to the cause of the abnormality is held in the command receiving area, and in the command receiving area,
When there is no valid area for storing a new command area, the reception of a new packet is stopped (claim 5).

【0023】さらに、請求項2において、該送信側処理
装置で前記パケットヘッダのコマンド領域にプロセス識
別子を設定するとともに、該受信側処理装置の主記憶上
に前記プロセス識別子毎にメッセージ受信キューをそな
え、該受信側処理装置では、前記パケットヘッダと前記
パケットボディとの両方を、前記パケットヘッダのコマ
ンド領域のプロセス識別子に応じたメッセージ受信キュ
ーに格納するように構成してもよい(請求項6)。
Further, in claim 2, a process identifier is set in the command area of the packet header in the transmitting side processing device, and a message receiving queue is provided in the main memory of the receiving side processing device for each process identifier. The receiving-side processing device may be configured to store both the packet header and the packet body in a message reception queue corresponding to a process identifier in a command area of the packet header (claim 6). .

【0024】同様に、請求項3〜5において、送信側処
理装置で前記パケットヘッダのコマンド領域にプロセス
識別子を設定するとともに、該受信側処理装置の主記憶
上に前記プロセス識別子毎にメッセージ受信キューをそ
なえ、該受信側処理装置では、前記パケットヘッダの非
コマンド領域と前記パケットボディとを、前記パケット
ヘッダのコマンド領域のプロセス識別子に応じたメッセ
ージ受信キューに格納するように構成してもよい(請求
項7)。
Similarly, in the third to fifth aspects, a process identifier is set in the command area of the packet header in the transmitting side processing device, and a message receiving queue for each process identifier is stored in the main memory of the receiving side processing device. In addition, the receiving side processing device may be configured to store the non-command area of the packet header and the packet body in a message reception queue corresponding to the process identifier of the command area of the packet header ( Claim 7).

【0025】一方、本発明の並列計算機用処理装置は、
通信手段を介して他処理装置と相互に通信可能に接続さ
れ並列計算機を構成する処理装置であって、該他処理装
置に対するデータ送信時には、各種制御情報を含むパケ
ットヘッダと転送データ本体を含むパケットボディとか
らなるパケットを、該通信手段に対して発信するものに
おいて、前記パケットヘッダが、データ転送を指示する
コマンド用のコマンド領域(ハードウエア用コマンド領
域)と、プログラムにより指定されたデータを転送する
ための非コマンド領域(プログラム用領域)とから構成
され、前記パケットヘッダの非コマンド領域に送信側制
御データが設定されることを特徴としている(請求項
8)。
On the other hand, the processor for parallel computers of the present invention is
A processing device that is communicably connected to another processing device via a communication means and constitutes a parallel computer, and a packet including a packet header including various control information and a transfer data body when transmitting data to the other processing device. In a device for transmitting a packet including a body to the communication means, the packet header transfers a command area for a command instructing data transfer (a command area for hardware) and data designated by a program. And a non-command area (program area) for performing transmission, and transmission side control data is set in the non-command area of the packet header (claim 8).

【0026】上述した本発明の並列計算機におけるデー
タ転送方法および並列計算機用処理装置では、データ送
信時に、データ転送を指示するコマンドがパケットヘッ
ダのコマンド領域に設定されるとともに、プログラムに
より送信側制御データがパケットヘッダの非コマンド領
域に設定され、転送コマンドおよび送信側制御データの
両方を含むパケットヘッダと転送データ本体を含むパケ
ットボディとからなるパケットが、受信側処理装置に転
送される。
In the above-described data transfer method in the parallel computer and the processing device for the parallel computer of the present invention, at the time of data transmission, the command for instructing the data transfer is set in the command area of the packet header, and the transmission side control data is set by the program. Is set in the non-command area of the packet header, and a packet composed of a packet header containing both a transfer command and transmission side control data and a packet body containing the transfer data body is transferred to the receiving side processing device.

【0027】このとき、転送データ本体は、パケットヘ
ッダのコマンド領域に設定された転送コマンドにより指
定されパケットボディとして主記憶から読み出されるの
で、送信側処理装置でのパケット組立時に転送データ本
体を主記憶上でコピーする必要がなく、また、パケット
ヘッダに送信側制御データが含まれているので、2個の
パケット転送を行なう必要もなくなり、1個のパケット
転送で1個のメッセージを転送することができる。
At this time, since the transfer data body is read from the main memory as a packet body designated by the transfer command set in the command area of the packet header, the transfer data body is stored in the main memory when the packet is assembled in the transmitting side processing device. Since there is no need to copy above, and because the packet header contains the control data on the transmission side, it is not necessary to transfer two packets, and one message can be transferred by one packet transfer. it can.

【0028】[0028]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。 (a)第1実施形態の説明 図1は本発明の第1実施形態としての並列計算機システ
ムの全体構成を示すブロック図であり、この図1に示す
ように、本実施形態の並列計算機システムも、図8に示
したものとほぼ同様に、n台のPE(PE番号として#
1〜#nが付与されているものとする)1が、通信手段
としてのPE間結合網2を介して相互に通信可能に接続
されている。
Embodiments of the present invention will be described below with reference to the drawings. (A) Description of First Embodiment FIG. 1 is a block diagram showing the overall configuration of a parallel computer system as a first embodiment of the present invention. As shown in FIG. 1, the parallel computer system of the present embodiment also , N PEs (PE number as #
1 to #n) are connected to each other so that they can communicate with each other via an inter-PE coupling network 2 as a communication means.

【0029】各PE1は、図2のPE番号#1のPE1
のブロック内に表記されるように、少なくとも通信装置
3および主記憶4をそなえて構成されている。なお、図
1においては、PE番号#1のPE1についてのみその
内部を図示しているが、他のPE番号#2〜#nのPE
1も、同様に構成され、後述する各種機能を有すること
は言うまでもない。
Each PE1 is the PE1 with PE number # 1 in FIG.
As shown in the block, it is configured to include at least the communication device 3 and the main memory 4. In FIG. 1, only the PE1 with PE number # 1 is shown, but the PEs with other PE numbers # 2 to #n are shown.
It goes without saying that 1 also has the same configuration and has various functions described later.

【0030】ここで、通信装置3は、図9にて前述した
転送処理部102と同様に、主記憶4上のデータの送受
信処理を行なうもので、その詳細構成や動作については
図4,図5により後述する。そして、本実施形態の各P
E1は、他PE1に対してデータ送信(メッセージ転
送)を行なう際には、基本的には従来と同様、パケット
ヘッダ11とパケットボディ12とからなるパケット1
0を、PE間結合網2に対して発信するものであるが、
本実施形態では、パケットヘッダ11が、データ転送を
指示するための各種コマンド(詳細は図3参照;以下、
通信装置転送コマンドという)15を設定されるコマン
ド領域(ハードウエア用コマンド領域)13と、プログ
ラムにより指定されたデータを転送するための非コマン
ド領域(プログラム用領域)14とから構成され、パケ
ットヘッダ11の非コマンド領域14には、プログラム
により送信側制御データ16が設定される。
Here, the communication device 3 performs transmission / reception processing of data in the main memory 4 similarly to the transfer processing unit 102 described above with reference to FIG. 9, and its detailed configuration and operation are shown in FIGS. 5, which will be described later. Then, each P of the present embodiment
When performing data transmission (message transfer) to another PE1, the E1 is basically a packet 1 including a packet header 11 and a packet body 12 as in the conventional case.
0 is transmitted to the PE-to-PE connection network 2,
In this embodiment, the packet header 11 uses various commands for instructing data transfer (see FIG. 3 for details;
A packet header is composed of a command area (hardware command area) 13 in which a communication device transfer command 15 is set, and a non-command area (program area) 14 for transferring data designated by a program. In the non-command area 11 of 11, transmission side control data 16 is set by the program.

【0031】なお、主記憶4上の配列の一部等の転送デ
ータ本体17は、パケットヘッダ11のコマンド領域1
3に設定される通信装置転送コマンド15により指定さ
れ、パケットボディ17として主記憶4から読み出され
るようになっている。また、パケットヘッド11の内容
は、例えば図3に示すようになっている。ここに示す例
では、ワード“0”〜“15”が前述したコマンド領域
13に対応する部分であり、ワード“16”〜“31”
が、送信側制御データ16を設定される非コマンド領域
14に対応する部分である。
The transfer data body 17 such as a part of the array on the main memory 4 is stored in the command area 1 of the packet header 11.
It is designated by the communication device transfer command 15 set to 3, and is read from the main memory 4 as the packet body 17. The contents of the packet head 11 are, for example, as shown in FIG. In the example shown here, the words "0" to "15" are the portions corresponding to the above-mentioned command area 13, and the words "16" to "31".
Is a portion corresponding to the non-command area 14 in which the transmission side control data 16 is set.

【0032】コマンド領域13に設定される通信装置転
送コマンド15としては、図3に示す通り、ワード
“0”に受信PE番号が、ワード“1”に送信PE番号
が、ワード“2”に送信コマンドコード,送信パケット
配置指定,送信ボディ配置指定,予約が設定され、同様
に、ワード“3”に受信コマンドコード,受信パケット
配置指定,受信ボディ配置指定,予約が設定される。さ
らに、ワード“4”に要素長が、ワード“5”にボディ
長が、ワード“6”に送信ボディ開始アドレスが、ワー
ド“7”に受信ボディ開始アドレスが、ワード“8”に
送信ストライド距離1が、ワード“9”に送信ストライ
ド距離1要素数が、ワード“10”に送信ストライド2
が、ワード“11”に予約が、ワード“12”に受信ス
トライド距離1が、ワード“13”に受信ストライド距
離1要素数が、ワード“14”に受信ストライド2が、
ワード“15”に予約が設定される。
As the communication device transfer command 15 set in the command area 13, as shown in FIG. 3, the reception PE number is transmitted in the word “0”, the transmission PE number is transmitted in the word “1”, and the transmission PE number is transmitted in the word “2”. A command code, a transmission packet layout designation, a transmission body layout designation, and a reservation are set, and similarly, a reception command code, a reception packet layout designation, a reception body layout designation, and a reservation are set in the word “3”. Further, the word “4” has the element length, the word “5” has the body length, the word “6” has the transmission body start address, the word “7” has the reception body start address, and the word “8” has the transmission stride distance. 1 is the transmission stride distance 1 in the word "9" and the number of elements is transmission stride 2 in the word "10"
, The word "11" is reserved, the word "12" is the received stride distance 1, the word "13" is the received stride distance 1 number of elements, and the word "14" is the received stride distance 2.
The reservation is set in the word "15".

【0033】ここで、上述した設定データのうち、“送
信パケット配置指定”は、本実施形態では、送信パケッ
ト10(パケットヘッダ11とパケットボディ12)の
配置手法は1通りしか無いので、この“送信パケット配
置指定”領域の内容は無視される。また、“受信パケッ
ト配置指定”として、例えば、“0x00”が設定された場
合、パケットボディ12(転送データ本体17)は、受
信ボディ開始アドレスに格納され、“OxO1”が設定され
た場合、後述するメッセージ受信キュー18内に、パケ
ットヘッダ11とパケットボディ12とが格納される。
Here, of the above-mentioned setting data, the “transmission packet arrangement designation” has only one arrangement method for the transmission packet 10 (packet header 11 and packet body 12) in the present embodiment, so this “transmission packet arrangement designation” is possible. The contents of the "Transmit packet placement designation" area are ignored. Further, for example, when "0x00" is set as the "receive packet arrangement designation", the packet body 12 (transfer data body 17) is stored at the receive body start address, and when "OxO1" is set, The packet header 11 and the packet body 12 are stored in the message reception queue 18.

【0034】“送信ボディ配置指定”や“受信ボディ配
置指定”としては、例えば、“0x00”により連続配置
が、“0x01”によりストライド配置が、“0x02”により
二重ストライド配置が、“0x03”によりインダイレクト
配置が指定される。このとき、ボディ開始アドレスを
S、ストライド距離1をD1、ストライド距離2をD2、ス
トライド距離1要素数をN1とすると、“送信ボディ配置
指定”としてストライド配置が指定された場合、送信側
PE1において、アドレスS, S+D1,S+2*D1,S+3*D1,
…,S+N1*D1のデータが主記憶4から転送データとして読
み出される一方、“受信ボディ配置指定”としてストラ
イド配置が指定された場合、受信側PE1において、主
記憶4のアドレスS,S+D1,S+2*D1,S+3*D1, …,S+N1*D1に
転送データが格納されることになる。
The "transmission body layout designation" and "reception body layout designation" are, for example, "0x00" for continuous layout, "0x01" for stride layout, "0x02" for double stride layout, "0x03". Specifies the indirect placement. At this time, when the body start address is S, the stride distance 1 is D1, the stride distance 2 is D2, and the stride distance 1 element number is N1, when the stride arrangement is designated as “transmit body arrangement designation”, the transmitting side PE1 , Address S, S + D1, S + 2 * D1, S + 3 * D1,
,, S + N1 * D1 data is read from the main memory 4 as transfer data, while stride arrangement is specified as "receive body arrangement specification", the receiving side PE1 receives addresses S, S + of main memory 4 Transfer data will be stored in D1, S + 2 * D1, S + 3 * D1, ..., S + N1 * D1.

【0035】また、“送信ボディ配置指定”として二重
ストライド配置が指定された場合、送信側PE1におい
て、アドレス S, S+D1, S+2*D1,..............,S+N1*D1, S+N1*D1+D2, S+N1*D1+D2+D1, S+N1*D1+D2+2*D1,.....,S+2*N1*D1+D2, S+2*N1*D1+2*D2,S+2*N1*D1+2*D2+D1,S+2*N1*D1+2*D2+2*D1,.,S+3*N1*D1+2*D2, S+3*N1*D1+3*D2,............ のデータが主記憶4から転送データとして読み出される
一方、“受信ボディ配置指定”として二重ストライド配
置が指定された場合、受信側PE1において、主記憶4
における上記アドレスに転送データが格納されることに
なる。
When the double stride arrangement is designated as the "transmit body arrangement designation", the addresses S, S + D1, S + 2 * D1 ,. ...., S + N1 * D1, S + N1 * D1 + D2, S + N1 * D1 + D2 + D1, S + N1 * D1 + D2 + 2 * D1, ....., S + 2 * N1 * D1 + D2, S + 2 * N1 * D1 + 2 * D2, S + 2 * N1 * D1 + 2 * D2 + D1, S + 2 * N1 * D1 + 2 * D2 + 2 * D1 ,. , S + 3 * N1 * D1 + 2 * D2, S + 3 * N1 * D1 + 3 * D2, ............ While data is read from main memory 4 as transfer data , When the double stride arrangement is designated as the “reception body arrangement designation”, the main memory 4 is set in the receiving side PE1.
The transfer data is stored at the above address in.

【0036】上述のような転送コマンドをパケットヘッ
ダ11のコマンド領域13に設定することにより、本実
施形態のパケットボディ12では、送信側PE1の主記
憶4上の配列のストライド転送や部分配列転送等を行な
うことができる。ただし、受信側PE1の主記憶4上で
のパケットボディ12は、図2や図6に示すように、常
に連続データとして格納される。
By setting the transfer command as described above in the command area 13 of the packet header 11, in the packet body 12 of this embodiment, stride transfer or partial array transfer of the array on the main memory 4 of the sending side PE 1 is performed. Can be done. However, the packet body 12 on the main memory 4 of the receiving side PE 1 is always stored as continuous data, as shown in FIGS.

【0037】次に、図2により、第1実施形態の並列計
算機システムにおけるデータ転送手順を説明する。な
お、図2では、送信側および受信側の各PE1の主記憶
4上におけるデータ保持状態が示され、時間経過が左方
から右方へ進むものとして概略的な表示がなされてい
る。図2に示すように、送信側PE1上のプログラム
が、まず、主記憶4上において、転送データ本体17を
転送するための通信装置転送コマンド15を、コマンド
領域13に指定するとともに、図3に示したごとくコマ
ンド領域13に連続する非コマンド領域14に、送信メ
ッセージのID等の送信側制御データ16を指定する。
これらのコマンド領域13と非コマンド領域14とを合
わせてパケットヘッダ11とする。そして、通信装置3
(図1参照)に対し、パケットヘッダ11のコマンド領
域13内の通信装置転送コマンド15の実行を指示する
〔以上、図2中の期間(1)参照〕。
Next, the data transfer procedure in the parallel computer system of the first embodiment will be described with reference to FIG. Note that FIG. 2 shows a data holding state in the main memory 4 of each PE 1 on the transmitting side and the receiving side, and is schematically displayed as time progresses from left to right. As shown in FIG. 2, the program on the transmitting side PE1 first designates the communication device transfer command 15 for transferring the transfer data body 17 in the command area 13 on the main memory 4, and As shown, the sending side control data 16 such as the ID of the sending message is designated in the non-command area 14 following the command area 13.
The command area 13 and the non-command area 14 are combined to form a packet header 11. And the communication device 3
(See FIG. 1) is instructed to execute the communication device transfer command 15 in the command area 13 of the packet header 11 [see the period (1) in FIG. 2 above].

【0038】これに応じて、送信側通信装置3は、通信
装置転送コマンド15によってポインティングされる主
記憶4上のパケットボディ17をパケットボディ12と
して読み出し、通信装置転送コマンド15および送信側
制御データ16を含むパケットヘッダ11を付加し、パ
ケット10を形成してPE間結合網2へ送り出す。PE
間結合網2は、パケットヘッダ11内の通信装置転送コ
マンド15に含まれる受信側PE1の指定情報に従い、
パケット10を受信側PE1へ転送する〔以上、図2中
の期間(2)参照〕。
In response to this, the transmission side communication device 3 reads the packet body 17 on the main memory 4 pointed by the communication device transfer command 15 as the packet body 12, and the communication device transfer command 15 and the transmission side control data 16 are read. Is added to the packet header 11 to form a packet 10 and the packet 10 is sent to the PE-to-PE coupling network 2. PE
The inter-connection network 2 follows the designation information of the receiving side PE1 included in the communication device transfer command 15 in the packet header 11,
The packet 10 is transferred to the receiving side PE1 [above, refer to period (2) in FIG. 2].

【0039】受信側PE1では、パケットヘッダ11の
通信装置転送コマンド15は、受信側通信装置3へ送ら
れ、コマンド解析等の処理が実行されるとともに、パケ
ット10の全体、つまり、通信装置転送コマンド15お
よび送信側制御データ16を含むパケットヘッダ11
と、転送データ本体17を含むパケットボディ12との
両方が、主記憶4上のサイクリックキューであるメッセ
ージ受信キュー18内に格納される〔以上、図2中の期
間(3)参照〕。
In the receiving side PE1, the communication device transfer command 15 of the packet header 11 is sent to the receiving side communication device 3 and processing such as command analysis is executed, and at the same time, the entire packet 10, that is, the communication device transfer command. Packet header 11 including 15 and sender control data 16
And the packet body 12 including the transfer data body 17 are stored in the message receiving queue 18 which is a cyclic queue on the main memory 4 (see the period (3) in FIG. 2).

【0040】そして、受信側PE1上のプログラムが、
主記憶4上において、受信側制御データ19を、受信し
たメッセージ(パケット10)に付加する〔図2中の期
間(4)参照〕。この受信側制御データ19には、受信
メッセージのIDや、メッセージ受信キュー18内のメ
ッセージをポインティングするための情報などが含まれ
ている。
Then, the program on the receiving side PE1
In the main memory 4, the receiving side control data 19 is added to the received message (packet 10) [see period (4) in FIG. 2]. The receiving side control data 19 includes the ID of the received message, information for pointing the message in the message receiving queue 18, and the like.

【0041】なお、送信側PE1で、パケットヘッダ1
1のコマンド領域13に、通信装置転送コマンド15の
情報の一つとしてプロセスIDを設定する一方、受信側
PE1の主記憶4上にプロセスID毎に複数のメッセー
ジ受信キュー18をそなえておいてもよい。この場合、
受信側PE1では、パケットヘッダ11とパケットボデ
ィ12との両方が、パケットヘッダ11のコマンド領域
13のプロセスIDに応じたメッセージ受信キュー18
に格納される。
It is to be noted that at the transmitting side PE1, the packet header 1
While setting the process ID as one of the information of the communication device transfer command 15 in the command area 13 of No. 1, a plurality of message reception queues 18 may be provided in the main memory 4 of the receiving side PE 1 for each process ID. Good. in this case,
In the receiving side PE1, both the packet header 11 and the packet body 12 have a message receiving queue 18 corresponding to the process ID of the command area 13 of the packet header 11.
Is stored in

【0042】ところで、次に、本実施形態の各PE1に
おける通信装置3の詳細構成について、図4を参照しな
がら説明する。なお、この図4に示す通信装置3は、後
述する第2実施形態でも用いられるものである。通信装
置3は、大きく分けて3つの部分、即ち、送信系3A,
受信系3Bおよび主記憶アクセス制御部3Cから構成さ
れている。主記憶アクセス制御部3Cは、送信系3Aお
よび受信系3Bからの指令に応じ主記憶4に対してアク
セスを行ない、主記憶4から送信系3Aへのデータ転送
や、受信系3Bから主記憶4へのデータ転送を制御する
ものである。
Now, the detailed configuration of the communication device 3 in each PE 1 of this embodiment will be described with reference to FIG. The communication device 3 shown in FIG. 4 is also used in the second embodiment described later. The communication device 3 is roughly divided into three parts, namely, a transmission system 3A,
It is composed of a receiving system 3B and a main memory access control section 3C. The main memory access control unit 3C accesses the main memory 4 in response to commands from the transmitting system 3A and the receiving system 3B, transfers data from the main memory 4 to the transmitting system 3A, and receives data from the receiving system 3B to the main memory 4. Control data transfer to and from.

【0043】送信系3Aは、コマンドレジスタ21,デ
コーダ22,制御回路23,アドレスレジスタ24,セ
レクタ25,加算器26,ボディアドレスレジスタ2
7,アドレス生成回路28,パケットヘッダキューベー
スアドレスレジスタ29,送信ポインタ30,1加算器
31,送信末尾ポインタ32,比較器33および出力バ
ッファ34から構成されている。
The transmission system 3A includes a command register 21, a decoder 22, a control circuit 23, an address register 24, a selector 25, an adder 26, and a body address register 2.
7, an address generation circuit 28, a packet header queue base address register 29, a transmission pointer 30, a 1 adder 31, a transmission end pointer 32, a comparator 33 and an output buffer 34.

【0044】ここで、コマンドレジスタ21は、データ
送信時に、主記憶アクセス制御部3Cを介して主記憶4
から読み出されたパケットヘッダ11の通信装置転送コ
マンド15を一時的に保持するものである。デコーダ2
2は、コマンドレジスタ21に保持された転送コマンド
15を解析するものであり、制御回路23は、このデコ
ーダ22の解析結果に基づいて、送信系3Aの各部を制
御するものである。
Here, the command register 21 sends data to the main memory 4 via the main memory access control unit 3C.
The communication device transfer command 15 of the packet header 11 read out from is temporarily held. Decoder 2
2 analyzes the transfer command 15 held in the command register 21, and the control circuit 23 controls each part of the transmission system 3A based on the analysis result of the decoder 22.

【0045】アドレスレジスタ24は、主記憶4から読
み出すべき転送データの主記憶上アドレスを一時的に保
持するもので、このアドレスレジスタ24には、セレク
タ25により選択されたアドレスデータが保持されるよ
うになっている。セレクタ25は、加算器26,ボディ
アドレスレジスタ27またはアドレス生成回路28のい
ずれかからのアドレスデータを選択して、アドレスレジ
スタ24に出力するものである。
The address register 24 temporarily holds the address on the main memory of the transfer data to be read from the main memory 4, and the address register 24 holds the address data selected by the selector 25. It has become. The selector 25 selects address data from any one of the adder 26, the body address register 27 and the address generation circuit 28 and outputs it to the address register 24.

【0046】加算器26は、パケットヘッダ11を主記
憶4から読み出すために、パケットヘッダ11の部分に
対応するアドレスを順次生成するもので、レジスタ29
に保持されるパケットヘッダキューベースアドレス(パ
ケットヘッダ11の主記憶4上の先頭アドレス)と、送
信ポインタ30の値とを加算してセレクタ25へ出力す
る。送信ポインタ30は、初期値として0が設定されて
いるが、データ送信を開始すると、その送信ポインタ3
0の値は、1加算器31により1ずつカウントアップさ
れる。
The adder 26 sequentially generates addresses corresponding to the packet header 11 in order to read the packet header 11 from the main memory 4, and the register 29
The packet header queue base address (head address on the main memory 4 of the packet header 11) held in the above is added to the value of the transmission pointer 30 and output to the selector 25. The transmission pointer 30 is set to 0 as an initial value, but when data transmission is started, the transmission pointer 3
The value of 0 is incremented by 1 by the 1 adder 31.

【0047】従って、加算器26からの出力は、パケッ
トヘッダキューベースアドレスを初期値として1ずつ順
に増加する。このような加算器26からのアドレス値
は、パケットヘッダキューベースアドレスからパケット
ヘッダ11の最終アドレスに到達するまで、セレクタ2
5を介してアドレスレジスタ24に順次設定される。こ
れにより、パケットヘッダ11が、主記憶アクセス制御
部3Cを介して主記憶4から読み出される。
Therefore, the output from the adder 26 sequentially increases by 1 with the packet header queue base address as the initial value. The address value from the adder 26 as described above is selected from the packet header queue base address until the final address of the packet header 11 is reached.
5 are sequentially set in the address register 24. As a result, the packet header 11 is read from the main memory 4 via the main memory access control unit 3C.

【0048】また、ボディアドレスレジスタ27は、ボ
ディアドレス(主記憶4上の転送データ本体17の先頭
アドレス,前述したボディ開始アドレスS)を保持する
ものであり、パケットヘッダ11の読出後には、セレク
タ25により、このレジスタ27のボディアドレスがア
ドレスレジスタ24に設定されることで、パケットボデ
ィ12を成す転送データ本体17の読出が開始される。
The body address register 27 holds the body address (the start address of the transfer data body 17 in the main memory 4, the above-mentioned body start address S), and after reading the packet header 11, the selector. 25, the body address of the register 27 is set in the address register 24, whereby the reading of the transfer data body 17 forming the packet body 12 is started.

【0049】ボディアドレスがアドレスレジスタ24に
設定されると、以降、セレクタ25は、アドレス生成回
路28からのアドレス値を選択して、順次、アドレスレ
ジスタ24に設定するように動作する。このとき、アド
レス生成回路28は、転送コマンド15中で指定される
送信ボディ配置に応じ、ボディアドレスを初期値として
アドレス生成を行なうもので、送信ボディ配置が連続配
置指定であればボディアドレスから1ずつ増加する値を
出力するほか、送信ボディ配置がストライド配置指定あ
るいは二重ストライド配置指定であれば、前述した計算
式に基づいてアドレス値を生成する。
When the body address is set in the address register 24, the selector 25 thereafter operates to select the address value from the address generation circuit 28 and sequentially set it in the address register 24. At this time, the address generation circuit 28 generates an address by using the body address as an initial value in accordance with the transmission body arrangement specified in the transfer command 15. In addition to outputting a value that increments by one, if the transmission body arrangement is stride arrangement designation or double stride arrangement designation, an address value is generated based on the above-described calculation formula.

【0050】このようなアドレス生成回路28からのア
ドレス値は、セレクタ25を介してアドレスレジスタ2
4に順次設定され、これにより、転送データ本体17
が、パケットボディ12として、主記憶アクセス制御部
3Cを介して主記憶4から順次読み出される。上述のご
とく読み出されたパケットヘッダ11およびパケットボ
ディ12は、パケット10として出力バッファ34に保
持され、図5にて後述するごとく、PE間結合網2を経
由して、受信側PE1へ転送されるようになっている。
The address value from the address generating circuit 28 is sent to the address register 2 via the selector 25.
4 is sequentially set, and as a result, the transfer data body 17
However, the packet body 12 is sequentially read from the main memory 4 via the main memory access control unit 3C. The packet header 11 and the packet body 12 read as described above are held in the output buffer 34 as the packet 10 and transferred to the receiving side PE 1 via the PE-to-PE coupling network 2 as will be described later with reference to FIG. It has become so.

【0051】なお、送信末尾ポインタ32は、送信末尾
のポインタ値を予め設定されるものであり、比較器33
は、送信ポインタ30の値と送信末尾ポインタ32の値
とを比較し、一致した場合には送信停止信号を出力する
ものである。一方、受信系3Bは、コマンドレジスタ3
5,デコーダ36,制御回路37,入力バッファ38,
アドレスレジスタ39,セレクタ40,加算器41,コ
マンド受信領域アドレスレジスタ42,43,アドレス
生成回路44,メッセージ受信キューベースアドレスレ
ジスタ45,受信ポインタ46,1加算器47,受信先
頭ポインタ48および比較器49から構成されている。
The transmission end pointer 32 has a transmission end pointer value set in advance, and the comparator 33
Compares the value of the transmission pointer 30 with the value of the transmission end pointer 32, and outputs a transmission stop signal when they match. On the other hand, the receiving system 3B has the command register 3
5, decoder 36, control circuit 37, input buffer 38,
Address register 39, selector 40, adder 41, command reception area address registers 42 and 43, address generation circuit 44, message reception queue base address register 45, reception pointer 46, 1 adder 47, reception start pointer 48 and comparator 49. It consists of

【0052】ここで、コマンドレジスタ35は、PE間
結合網2からのデータ受信時に、パケットヘッダ11の
通信装置転送コマンド15を一時的に保持するものであ
り、デコーダ36は、コマンドレジスタ35に保持され
た転送コマンド15を解析するものであり、制御回路3
7は、このデコーダ36の解析結果に基づいて、受信系
3Bの各部を制御するものである。
Here, the command register 35 temporarily holds the communication device transfer command 15 of the packet header 11 when receiving data from the PE-to-PE coupling network 2, and the decoder 36 holds it in the command register 35. The control circuit 3 analyzes the transferred transfer command 15.
Reference numeral 7 controls each part of the reception system 3B based on the analysis result of the decoder 36.

【0053】入力バッファ38は、PE間結合網2を介
して送信側PE1から受信したパケット10を一時的に
保持するもので、この入力バッファ38に保持されたパ
ケット10のデータは、図5や図7に示すフローチャー
トに従って後述するごとく、アドレスレジスタ39に示
されるアドレスと組になって、順次、主記憶アクセス制
御部3Cを介して主記憶4上のメッセージ受信キュー1
8に格納されるようになっている。
The input buffer 38 temporarily holds the packet 10 received from the PE 1 on the transmitting side through the PE-PE coupling network 2, and the data of the packet 10 held in the input buffer 38 is as shown in FIG. As will be described later according to the flowchart shown in FIG. 7, the message reception queue 1 on the main memory 4 is sequentially paired with the address shown in the address register 39 via the main memory access control unit 3C.
8 is stored.

【0054】アドレスレジスタ39は、入力バッファ3
8に保持されているパケット10を書き込むべき主記憶
4上のアドレスを一時的に保持するもので、このアドレ
スレジスタ39には、セレクタ40により選択されたア
ドレスデータが保持されるようになっている。セレクタ
40は、加算器41,コマンド受信領域アドレスレジス
タ42,43またはアドレス生成回路44のいずれかか
らのアドレスデータを選択して、アドレスレジスタ39
に出力するものである。なお、コマンド受信領域アドレ
スレジスタ42,43は、第1実施形態では用いられ
ず、後述する第2実施形態を実現する際に使用されるも
ので、これらの構成要素の構成・動作については第2実
施形態の説明中で行なう。
The address register 39 is the input buffer 3
It temporarily holds the address in the main memory 4 to which the packet 10 held in 8 is to be written. The address data selected by the selector 40 is held in this address register 39. . The selector 40 selects the address data from any one of the adder 41, the command receiving area address registers 42 and 43, or the address generation circuit 44, and then selects the address register 39.
Is output to The command reception area address registers 42 and 43 are not used in the first embodiment, but are used when realizing the second embodiment described later. Regarding the configuration and operation of these constituent elements, the second embodiment will be described. This will be described in the description of the embodiment.

【0055】加算器41は、入力バッファ38に保持さ
れているパケット10を主記憶4上のメッセージ受信キ
ュー18に格納する際の書込アドレスを順次生成するた
めのもので、レジスタ45に保持されるメッセージ受信
キューベースアドレス(メッセージ受信キュー18の空
きの先頭アドレス)と、受信ポインタ46の値とを加算
してセレクタ40へ出力する。
The adder 41 is for sequentially generating a write address when the packet 10 held in the input buffer 38 is stored in the message reception queue 18 in the main memory 4, and is held in the register 45. The message reception queue base address (empty start address of the message reception queue 18) and the value of the reception pointer 46 are added and output to the selector 40.

【0056】受信ポインタ46は、初期値として0が設
定されているが、主記憶4へのデータ書込を開始する
と、その受信ポインタ46の値は、メッセージ受信キュ
ー18に対してこの受信キュー18の1ブロック分のデ
ータが書き込まれる度に、1加算器47により1ずつカ
ウントアップされ、セレクタ40を介してアドレスレジ
スタ39に設定されるようになっている。
Although the reception pointer 46 is set to 0 as an initial value, when the data writing to the main memory 4 is started, the value of the reception pointer 46 is set to the reception queue 18 for the message reception queue 18. Each time one block of data is written, it is incremented by 1 by the 1 adder 47 and set in the address register 39 via the selector 40.

【0057】従って、加算器41からの出力は、メッセ
ージ受信キューベースアドレスを初期値として1ブロッ
ク分のデータ書込毎に1ずつ順に増加する。このような
加算器41からのアドレス値は、パケット10を全て書
き込むまで、セレクタ40を介してアドレスレジスタ3
9に順次設定される。そして、パケット10のデータ
は、アドレスレジスタ39に順次設定されるアドレスと
組になって、主記憶アクセス制御部3Cを介して主記憶
4のメッセージ受信キュー18に書き込まれる。
Therefore, the output from the adder 41 is sequentially incremented by 1 every time one block of data is written with the message reception queue base address as an initial value. The address value from the adder 41 is sent to the address register 3 via the selector 40 until the entire packet 10 is written.
It is sequentially set to 9. Then, the data of the packet 10 is written in the message reception queue 18 of the main memory 4 via the main memory access control unit 3C in combination with the addresses sequentially set in the address register 39.

【0058】このとき、アドレス生成回路44は、加算
器41からのアドレス値がアドレスレジスタ39に設定
されると、入力バッファ38から主記憶4へのデータ書
込を行なう度に、アドレスレジスタ39に設定されたア
ドレス値に対して1回のデータ格納バイト長を加算する
もので、その加算結果は、セレクタ40を介してアドレ
スレジスタ39に設定される。このアドレス生成回路4
4による加算処理は、1ブロック分のデータ書込を完了
するかパケット10全ての書込を終了するまで行なわれ
る。
At this time, when the address value from adder 41 is set in address register 39, address generation circuit 44 stores in address register 39 each time data is written from input buffer 38 to main memory 4. The data storage byte length is added once to the set address value, and the addition result is set in the address register 39 via the selector 40. This address generation circuit 4
The addition process by 4 is performed until the data writing for one block is completed or the writing of all the packets 10 is completed.

【0059】なお、受信先頭ポインタ48は、サイクリ
ックキューであるメッセージ受信キュー18の先頭ポイ
ンタ値を予め設定されるものであり、比較器49は、受
信ポインタ46の値と受信先頭ポインタ48の値とを比
較し、一致した場合には受信溢れ信号を出力するもので
ある。次に、第1実施形態の動作〔特にデータ受信時
(PE間結合網2および受信系3B)の動作〕につい
て、図5のフローチャート(ステップS1〜S12)に
従って説明する。
The reception head pointer 48 is set in advance to the head pointer value of the message reception queue 18 which is a cyclic queue, and the comparator 49 sets the value of the reception pointer 46 and the value of the reception head pointer 48. Are compared with each other, and if they match, a reception overflow signal is output. Next, the operation of the first embodiment [particularly the operation at the time of data reception (inter-PE coupling network 2 and reception system 3B)] will be described according to the flowchart (steps S1 to S12) of FIG.

【0060】PE間結合網2は、このPE間結合網2に
接続された各PE1の入力バッファ38の空きワード数
を、常時、捕捉しており(ステップS1)、所定PE1
を宛先(受信側PE)とするパケット10が存在し、且
つ、この受信側PE1の入力バッファ38が空いている
場合には(ステップS2)、1ワード目にパケット送信
開始信号を伴ってパケット10の転送を開始し(ステッ
プS3)、受信側PE1の入力バッファ38の空き状態
に応じて、パケット10の全体をその受信側PE1に転
送する(ステップS4)。このステップS4による処理
は、1つのパケット10の転送を終了するまで(ステッ
プS5でYES判定となるまで)繰り返し行なわれ、パ
ケット10の転送を終了すると、ステップS1に戻る。
The inter-PE coupling network 2 always captures the number of empty words in the input buffer 38 of each PE 1 connected to the inter-PE coupling network 2 (step S1), and the predetermined PE1
If there is a packet 10 destined for (reception side PE) and the input buffer 38 of this reception side PE1 is empty (step S2), the packet 10 is accompanied by a packet transmission start signal in the first word. Is started (step S3), and the entire packet 10 is transferred to the receiving side PE1 according to the empty state of the input buffer 38 of the receiving side PE1 (step S4). The process in step S4 is repeated until the transfer of one packet 10 is completed (until a YES determination is made in step S5). When the transfer of packet 10 is completed, the process returns to step S1.

【0061】ステップS3,S4によりPE間結合網2
から受信側PE1へのパケット転送が開始されると、受
信側PE1の通信装置3内の受信系3Bでは、入力バッ
ファ38が空いている限り、パケット10を読み込む
(ステップS6)。このとき、パケットヘッダ11内の
コマンドコード(通信装置転送コマンド15)が流れる
タイミングで、その転送コマンド15をコマンドレジス
タ35に読み込む(ステップS7)。
PE interconnection network 2 through steps S3 and S4
When packet transfer to the PE1 on the receiving side is started, the packet 10 is read in the receiving system 3B in the communication device 3 on the PE1 on the receiving side as long as the input buffer 38 is empty (step S6). At this time, when the command code (communication device transfer command 15) in the packet header 11 flows, the transfer command 15 is read into the command register 35 (step S7).

【0062】ステップS7によりコマンドレジスタ35
に読み込まれたコマンドコードはデコーダ36により解
読されて、パケット10の受信格納方法を制御するため
の信号が、制御回路37により生成される(ステップS
8)。本実施形態では、図2により前述したように、パ
ケット10の全体、つまり、通信装置転送コマンド15
および送信側制御データ16を含むパケットヘッダ11
と、転送データ本体17を含むパケットボディ12との
両方を、主記憶4上のメッセージ受信キュー18にエン
キューすべく、まず、セレクタ40により、加算器41
からのアドレス値が選択されてアドレスレジスタ39に
設定される。
In step S7, the command register 35
The command code read in is decoded by the decoder 36, and a signal for controlling the receiving and storing method of the packet 10 is generated by the control circuit 37 (step S).
8). In the present embodiment, as described above with reference to FIG. 2, the entire packet 10, that is, the communication device transfer command 15
And a packet header 11 including transmission side control data 16
And the packet body 12 including the transfer data body 17 are enqueued to the message reception queue 18 on the main memory 4 by the selector 40 first.
The address value from is selected and set in the address register 39.

【0063】つまり、アドレスレジスタ39には、ま
ず、メッセージ受信キューベースアドレスレジスタ45
の値と受信ポインタ46の値との加算値が設定される。
受信ポインタ46の値は、メッセージ受信キュー18に
対して1ブロック分のパケットデータの格納を終える毎
に1加算器47により1ずつカウントアップされる(ス
テップS9)。
In other words, the address register 39 first has the message reception queue base address register 45.
Is added to the value of the reception pointer 46.
The value of the reception pointer 46 is incremented by one by the adder 47 each time the storage of one block of packet data in the message reception queue 18 is completed (step S9).

【0064】アドレスレジスタ39に設定されたアドレ
スと入力バッファ38からのパケットデータとを組にし
て主記憶アクセス制御部3Cへ送り、この主記憶アクセ
ス制御部3Cを介して、パケットデータを主記憶4上の
メッセージ受信キュー18内へ格納する(ステップS1
0)。ステップS10により、パケットデータを1回格
納すると、アドレス生成回路44により、アドレスレジ
スタ39のアドレス値に1回のデータ格納バイト長が加
算され、その加算結果が、セレクタ40を介してアドレ
スレジスタ39に設定される(ステップS11)。
The address set in the address register 39 and the packet data from the input buffer 38 are paired and sent to the main memory access control unit 3C, and the packet data is sent to the main memory 4 via the main memory access control unit 3C. Stored in the above message reception queue 18 (step S1)
0). When the packet data is stored once in step S10, the data storage byte length of one time is added to the address value of the address register 39 by the address generation circuit 44, and the addition result is stored in the address register 39 via the selector 40. It is set (step S11).

【0065】ステップS10およびS11による処理
は、メッセージ受信キュー18に対して1ブロック分の
パケットデータ転送を完了するか、パケット10の全て
をメッセージ受信キュー18に転送するまで(ステップ
S12でYES判定となるまで)繰り返し実行され、ま
た、上述したステップS9〜S12による処理は、パケ
ット10の受信を完了するまで、つまり、パケット10
の全てをメッセージ受信キュー18に転送するまで(ス
テップS13でYES判定となるまで)繰り返し実行さ
れる。
In the processing in steps S10 and S11, the packet data transfer for one block to the message reception queue 18 is completed or all the packets 10 are transferred to the message reception queue 18 (YES determination in step S12). Until the reception of the packet 10 is completed, that is, the packet 10 is repeatedly executed.
Are repeatedly executed until all of the above are transferred to the message reception queue 18 (until YES determination is made in step S13).

【0066】このように、本発明の第1実施形態によれ
ば、転送コマンド15および送信側制御データ16の両
方を含むパケットヘッダ11と、転送データ本体17を
含むパケットボディ12とからなるパケット10が受信
側PE1に転送されるので、送信側PE1でのパケット
組立時に転送データ本体17を主記憶4上でコピーする
必要がなく、1個のパケット転送で1個のメッセージを
転送できる。従って、メッセージ転送のための処理量/
オーバヘッドを少なくすることができ、このようなメッ
セージ転送(メッセージパッシング)の性能や効率が大
幅に向上するという利点がある。
As described above, according to the first embodiment of the present invention, the packet 10 including the packet header 11 including both the transfer command 15 and the transmission side control data 16 and the packet body 12 including the transfer data body 17 is described. Are transferred to the PE1 on the receiving side, it is not necessary to copy the transfer data body 17 on the main memory 4 when assembling the packet on the PE1 on the sending side, and one message can be transferred by one packet transfer. Therefore, the processing amount for message transfer /
There is an advantage that the overhead can be reduced and the performance and efficiency of such message transfer (message passing) are significantly improved.

【0067】(b)第2実施形態の説明 次に、本発明の第2実施形態について説明するが、この
第2実施形態においても、送信側PE1で行なわれるパ
ケット10の組立処理や、送信側PE1からPE間結合
網2へのパケット送出処理は第1実施形態のものと全く
同じであるが、第2実施形態では、図6および図7にて
説明する通り、受信側PE1でのパケット10の格納手
法が第1実施形態と異なっている。
(B) Description of Second Embodiment Next, a second embodiment of the present invention will be described. Also in this second embodiment, the process of assembling the packet 10 performed by the sending side PE1 and the sending side are performed. The packet transmission process from the PE1 to the PE-PE coupling network 2 is exactly the same as that in the first embodiment. However, in the second embodiment, the packet 10 in the receiving side PE1 is described as described with reference to FIGS. 6 and 7. The storage method is different from that of the first embodiment.

【0068】図6により、第2実施形態の並列計算機シ
ステムにおけるデータ転送手順を説明する。なお、図6
でも、送信側および受信側の各PE1の主記憶4上にお
けるデータ保持状態が示され、時間経過が左方から右方
へ進むものとして概略的な表示がなされている。図6に
示すように、送信側PE1上のプログラムが、まず、主
記憶4上において、転送データ本体17を転送するため
の通信装置転送コマンド15を、コマンド領域13に指
定するとともに、図3に示したごとくコマンド領域13
に連続する非コマンド領域14に、送信メッセージのI
D等の送信側制御データ16を指定する。これらのコマ
ンド領域13と非コマンド領域14とを合わせてパケッ
トヘッダ11とする。そして、通信装置3に対し、パケ
ットヘッダ11のコマンド領域13内の通信装置転送コ
マンド15の実行を指示する〔以上、図6中の期間
(1)参照〕。
A data transfer procedure in the parallel computer system of the second embodiment will be described with reference to FIG. FIG.
However, the data holding state in the main memory 4 of each PE 1 on the transmitting side and the receiving side is shown, and a schematic display is made as the time progresses from left to right. As shown in FIG. 6, the program on the transmitting side PE1 first specifies the communication device transfer command 15 for transferring the transfer data body 17 in the command area 13 on the main memory 4, and Command area 13 as shown
In the non-command area 14 consecutive to
The transmission side control data 16 such as D is designated. The command area 13 and the non-command area 14 are combined to form a packet header 11. Then, the communication device 3 is instructed to execute the communication device transfer command 15 in the command area 13 of the packet header 11 [see the period (1) in FIG. 6 above].

【0069】これに応じて、送信側通信装置3は、通信
装置転送コマンド15によってポインティングされる主
記憶4上のパケットボディ17をパケットボディ12と
して読み出し、通信装置転送コマンド15および送信側
制御データ16を含むパケットヘッダ11を付加し、パ
ケット10を形成してPE間結合網2へ送り出す。PE
間結合網2は、パケットヘッダ11内の通信装置転送コ
マンド15に含まれる受信側PE1の指定情報に従い、
パケット10を受信側PE1へ転送する〔以上、図6中
の期間(2)参照〕。ここまでの処理は、第1実施形態
と全く同じである。
In response to this, the transmission side communication device 3 reads the packet body 17 in the main memory 4 pointed by the communication device transfer command 15 as the packet body 12, and the communication device transfer command 15 and the transmission side control data 16 are read. Is added to the packet header 11 to form a packet 10 and the packet 10 is sent to the PE-to-PE coupling network 2. PE
The inter-connection network 2 follows the designation information of the receiving side PE1 included in the communication device transfer command 15 in the packet header 11,
The packet 10 is transferred to the receiving side PE1 [above, refer to period (2) in FIG. 6]. The processing up to this point is exactly the same as in the first embodiment.

【0070】第2実施形態の受信側PE1では、主記憶
4上に、メッセージ受信キュー18以外に、パケットヘ
ッダ11のコマンド領域13(転送コマンド15)を2
個分格納するためのコマンド受信領域20A,20Bが
設けられている。そして、図7にても後述するごとく、
パケットヘッダ11の通信装置転送コマンド15は、受
信側通信装置3へ送られ、コマンド解析等の処理が実行
された後、コマンド受信領域20A,20Bの空き状態
に応じ、コマンド受信領域20Aまたは20Bに保持さ
れる。
In the receiving side PE1 of the second embodiment, the command area 13 (transfer command 15) of the packet header 11 is stored in the main memory 4 in addition to the message receiving queue 18.
Command receiving areas 20A and 20B for storing the individual pieces are provided. And, as will be described later in FIG. 7,
The communication device transfer command 15 of the packet header 11 is sent to the communication device 3 on the receiving side, and after processing such as command analysis is performed, the communication device transfer command 15 is sent to the command receiving area 20A or 20B according to the free state of the command receiving area 20A or 20B. Retained.

【0071】このとき、第2実施形態では、受信に際し
て異常が発生しない場合、パケットヘッダ11のコマン
ド領域13は、コマンド受信領域20Aまたは20Bに
対して上書きにより格納される一方、異常発生時には、
当該異常の発生要因に係るパケット10のコマンド領域
13をコマンド受信領域20Aまたは20Bに保持し続
け、新たなコマンド領域13を格納するための有効領域
が無くなった場合、コマンド受信領域20A,20Bの
いずれにも転送コマンド15が保持され上書きを行なえ
ない状況になった場合には、新たなパケット10の受信
を停止し、異常要因が解消されるまで待機する。
At this time, in the second embodiment, when no abnormality occurs during reception, the command area 13 of the packet header 11 is stored by overwriting in the command receiving area 20A or 20B, while when an abnormality occurs,
When the command area 13 of the packet 10 relating to the cause of the abnormality is kept held in the command receiving area 20A or 20B and the effective area for storing the new command area 13 disappears, the command receiving area 20A or 20B If the transfer command 15 is held and it becomes impossible to overwrite, the reception of the new packet 10 is stopped, and the process waits until the cause of the abnormality is eliminated.

【0072】パケットヘッダ11のコマンド領域13
(転送コマンド15)を主記憶4上のコマンド受信領域
20Aまたは20Bに格納した後には、パケット10の
残りの部分、つまり、非コマンド領域14における送信
側制御データ16と、転送データ本体17を含むパケッ
トボディ12とが、主記憶4上のサイクリックキューで
あるメッセージ受信キュー18内に格納される〔以上、
図6中の期間(3)参照〕。
Command area 13 of packet header 11
After the (transfer command 15) is stored in the command receiving area 20A or 20B on the main memory 4, the remaining part of the packet 10, that is, the transmission side control data 16 in the non-command area 14 and the transfer data body 17 are included. The packet body 12 and the packet body 12 are stored in a message reception queue 18 which is a cyclic queue on the main memory 4 [above,
See period (3) in FIG. 6].

【0073】そして、受信側PE1上のプログラムが、
主記憶4上において、受信側制御データ19を、受信し
たメッセージ(送信側制御データ16および転送データ
本体17)に付加する〔図2中の期間(4)参照〕。こ
の受信側制御データ19には、受信メッセージのID
や、メッセージ受信キュー18内のメッセージをポイン
ティングするための情報などが含まれている。
Then, the program on the receiving side PE1
In the main memory 4, the receiving side control data 19 is added to the received message (the transmitting side control data 16 and the transfer data body 17) [see period (4) in FIG. 2]. This receiving side control data 19 contains the ID of the received message.
And information for pointing a message in the message reception queue 18 and the like.

【0074】なお、第2実施形態においても、送信側P
E1で、パケットヘッダ11のコマンド領域13に、通
信装置転送コマンド15の情報の一つとしてプロセスI
Dを設定する一方、受信側PE1の主記憶4上にプロセ
スID毎に複数のメッセージ受信キュー18をそなえて
おいてもよい。この場合、受信側PE1では、パケット
ヘッダ11の送信側制御データ16とパケットボディ1
2(転送データ本体17)とが、パケットヘッダ11の
コマンド領域13のプロセスIDに応じたメッセージ受
信キュー18に格納される。
Also in the second embodiment, the transmitting side P
At E1, in the command area 13 of the packet header 11, the process I as one of the information of the communication device transfer command 15 is transmitted.
While setting D, a plurality of message reception queues 18 may be provided in the main memory 4 of the receiving side PE1 for each process ID. In this case, the PE 1 on the receiving side transmits the control data 16 on the transmitting side of the packet header 11 and the packet body 1
2 (transfer data body 17) is stored in the message reception queue 18 corresponding to the process ID of the command area 13 of the packet header 11.

【0075】ここで、図4に示した通信装置3(受信系
3B)の構成のうち、この第2実施形態に係る部分の構
成について詳細に説明する。図4に示したコマンド受信
領域アドレスレジスタ42,43およびアドレス生成回
路44は、パケットヘッダ11のうち通信装置転送コマ
ンド13のみ、メッセージ受信キュー18ではなく主記
憶4上のコマンド受信領域20Aまたは20Bに書き込
む際に用いられる。このとき、送信側制御データ15お
よび転送データ本体17は、前述した加算器41からの
アドレス値に基づいてメッセージ受信キュー18に書き
込まれる。
Here, of the configuration of the communication device 3 (reception system 3B) shown in FIG. 4, the configuration of the portion according to the second embodiment will be described in detail. The command reception area address registers 42 and 43 and the address generation circuit 44 shown in FIG. 4 store only the communication device transfer command 13 in the packet header 11 in the command reception area 20A or 20B on the main memory 4 instead of the message reception queue 18. Used when writing. At this time, the transmission side control data 15 and the transfer data body 17 are written in the message reception queue 18 based on the address value from the adder 41 described above.

【0076】コマンド受信領域アドレスレジスタ42,
43は、図6に示すコマンド受信領域20A,20Bの
先頭アドレスをそれぞれ保持するものであり、第2実施
形態では、コマンド受信領域20A,20Bの空き状態
に応じて、まず、セレクタ40が、コマンド受信領域ア
ドレスレジスタ42または43のアドレスを選択してア
ドレスレジスタ39に設定するようになっている。
Command receiving area address register 42,
Reference numerals 43 hold the start addresses of the command receiving areas 20A and 20B shown in FIG. 6, respectively. In the second embodiment, the selector 40 first sets the command The address of the receiving area address register 42 or 43 is selected and set in the address register 39.

【0077】コマンド受信領域アドレスがアドレスレジ
スタ39に設定されると、以降、セレクタ40は、アド
レス生成回路44からのアドレス値を選択して、順次、
アドレスレジスタ39に設定するように動作する。この
とき、アドレス生成回路44は、入力バッファ38から
主記憶4へのデータ書込を行なう度に、アドレスレジス
タ39に設定されたアドレス値に対して1回のデータ格
納バイト長を加算するもので、その加算結果は、セレク
タ40を介してアドレスレジスタ39に設定される。こ
のアドレス生成回路44による加算処理は、パケットヘ
ッダ11のコマンド領域13(転送コマンド15)をコ
マンド受信領域20Aまたは20Bに格納するまで行な
われる。
When the command receiving area address is set in the address register 39, the selector 40 thereafter selects the address value from the address generating circuit 44 and sequentially selects it.
It operates as if set in the address register 39. At this time, the address generation circuit 44 adds the data storage byte length once to the address value set in the address register 39 each time data is written from the input buffer 38 to the main memory 4. The addition result is set in the address register 39 via the selector 40. The addition processing by the address generation circuit 44 is performed until the command area 13 (transfer command 15) of the packet header 11 is stored in the command receiving area 20A or 20B.

【0078】これにより、入力バッファ38に保持され
ているパケットヘッダ11の転送コマンド15が、その
アドレス値と組になって、主記憶アクセス制御部3Cを
介して主記憶4上のコマンド受信領域20Aまたは20
Bに書き込まれる。転送コマンド15の書込を終了する
と、セレクタ40が、加算器41からのアドレス値とア
ドレス生成回路44からのアドレス値とを適宜選択して
アドレスレジスタ39に設定するように動作することに
より、入力バッファ38に保持されているパケットヘッ
ダ11の送信側制御データ16およびパケットボディ1
2である転送データ本体17は、第1実施形態と全く同
様にして、主記憶アクセス制御部3Cを介して主記憶4
上のメッセージ転送キュー18に書き込まれるようにな
っている。
As a result, the transfer command 15 of the packet header 11 held in the input buffer 38 becomes a pair with the address value, and the command reception area 20A on the main memory 4 is passed through the main memory access control section 3C. Or 20
Written to B. When the writing of the transfer command 15 is completed, the selector 40 operates to select the address value from the adder 41 and the address value from the address generation circuit 44 and set them in the address register 39. The transmission side control data 16 of the packet header 11 and the packet body 1 held in the buffer 38
The transfer data body 17, which is No. 2, is stored in the main memory 4 via the main memory access control unit 3C in exactly the same manner as in the first embodiment.
It is adapted to be written in the upper message transfer queue 18.

【0079】次に、第2実施形態の動作〔特にデータ受
信時(PE間結合網2および受信系3B)の動作〕につ
いて、図7のフローチャート(ステップS21〜S3
8)に従って説明する。PE間結合網2は、第1実施形
態と全く同様に、PE間結合網2に接続された各PE1
の入力バッファ38の空きワード数を、常時、捕捉する
(ステップS21)。そして、所定PE1を宛先(受信
側PE)とするパケット10が存在し、且つ、この受信
側PE1の入力バッファ38が空いている場合には(ス
テップS22)、1ワード目にパケット送信開始信号を
伴ってパケット10の転送を開始し(ステップS2
3)、受信側PE1の入力バッファ38の空き状態に応
じて、パケット10の全体をその受信側PE1に転送す
る(ステップS24)。このステップS24による処理
は、1つのパケット10の転送を終了するまで(ステッ
プS25でYES判定となるまで)繰り返し行なわれ、
パケット10の転送を終了すると、ステップS21に戻
る。
Next, regarding the operation of the second embodiment [in particular, the operation at the time of receiving data (inter-PE coupling network 2 and receiving system 3B)], the flowchart of FIG. 7 (steps S21 to S3)
It will be described according to 8). The PE-to-PE connecting network 2 is the same as in the first embodiment, and each PE 1 is connected to the PE-to-PE connecting network 2.
The number of empty words in the input buffer 38 is always captured (step S21). Then, when there is a packet 10 destined to the predetermined PE1 (PE on the receiving side) and the input buffer 38 of the PE1 on the receiving side is empty (step S22), a packet transmission start signal is sent to the first word. Accordingly, the transfer of the packet 10 is started (step S2
3) According to the empty state of the input buffer 38 of the receiving side PE1, the entire packet 10 is transferred to the receiving side PE1 (step S24). The processing in step S24 is repeated until the transfer of one packet 10 is completed (until a YES determination is made in step S25),
When the transfer of the packet 10 is completed, the process returns to step S21.

【0080】ステップS23,S24によりPE間結合
網2から受信側PE1へのパケット転送が開始される
と、受信側PE1の通信装置3内の受信系3Bでは、入
力バッファ38が空いている限り、パケット10を読み
込む(ステップS26)。このとき、パケットヘッダ1
1内のコマンドコード(通信装置転送コマンド15)が
流れるタイミングで、その転送コマンド15をコマンド
レジスタ35に読み込む(ステップS27)。
When the packet transfer from the inter-PE coupling network 2 to the receiving side PE1 is started in steps S23 and S24, as long as the input buffer 38 is empty in the receiving system 3B in the communication device 3 of the receiving side PE1, The packet 10 is read (step S26). At this time, packet header 1
When the command code in 1 (communication device transfer command 15) flows, the transfer command 15 is read into the command register 35 (step S27).

【0081】ステップS27によりコマンドレジスタ3
5に読み込まれたコマンドコードはデコーダ36により
解読されて、パケット10の受信格納方法を制御するた
めの信号が、制御回路37により生成される(ステップ
S28)。本実施形態では、図6により前述したよう
に、コマンド領域13の通信装置転送コマンド15を主
記憶4上のコマンド受信領域20Aまたは20Bに格納
するとともに、非コマンド領域14の送信側制御データ
16と転送データ本体17を含むパケットボディ12と
を、主記憶4上のメッセージ受信キュー18にエンキュ
ーすべく、セレクタ40により、コマンド受信領域アド
レスレジスタ42,43のアドレス値,加算器41から
のアドレス値もしくはアドレス生成回路44からのアド
レス値のいずれかが適宜選択されてアドレスレジスタ3
9に設定される(後述するステップS30〜S38)。
In step S27, the command register 3
The command code read in 5 is decoded by the decoder 36, and a signal for controlling the receiving and storing method of the packet 10 is generated by the control circuit 37 (step S28). In the present embodiment, as described above with reference to FIG. 6, the communication device transfer command 15 in the command area 13 is stored in the command receiving area 20A or 20B in the main memory 4, and the transmission side control data 16 in the non-command area 14 is stored. In order to enqueue the packet body 12 including the transfer data body 17 into the message reception queue 18 in the main memory 4, the selector 40 causes the address values of the command reception area address registers 42 and 43, the address value from the adder 41, or Any of the address values from the address generation circuit 44 is appropriately selected and the address register 3
9 (steps S30 to S38 described later).

【0082】このとき、コマンド受信領域20Aおよび
20Bの両方とも空いていなければ少なくとも一方が空
き状態になるまで待機し(ステップS29)、コマンド
受信領域20Aまたは20Bのいずれか一方が空き状態
であれば、まず、セレクタ40により、アドレスレジス
タ39に、コマンド受信領域アドレスレジスタ42また
は43のアドレス値を設定する(ステップS30)。
At this time, if both of the command receiving areas 20A and 20B are not empty, wait until at least one becomes empty (step S29), and if either one of the command receiving areas 20A or 20B is empty. First, the selector 40 sets the address value of the command receiving area address register 42 or 43 in the address register 39 (step S30).

【0083】アドレスレジスタ39に設定されたアドレ
スと入力バッファ38の転送コマンド15とを組にして
主記憶アクセス制御部3Cへ送り、この主記憶アクセス
制御部3Cを介して、転送コマンド15を主記憶4上の
コマンド受信領域20Aまたは20Bに格納する(ステ
ップS31)。ステップS31により、転送コマンド1
5のデータを1回格納すると、アドレス生成回路44に
より、アドレスレジスタ39のアドレス値に1回のデー
タ格納バイト長が加算され、その加算結果が、セレクタ
40を介してアドレスレジスタ39に設定される(ステ
ップS32)。
The address set in the address register 39 and the transfer command 15 of the input buffer 38 are paired and sent to the main memory access control unit 3C, and the transfer command 15 is sent via the main memory access control unit 3C. 4 in the command receiving area 20A or 20B (step S31). Transfer command 1 by step S31
When the data of 5 is stored once, the address generation circuit 44 adds the data storage byte length of once to the address value of the address register 39, and the addition result is set in the address register 39 via the selector 40. (Step S32).

【0084】ステップS31およびS32による処理
は、パケットヘッダ11のコマンド領域13(転送コマ
ンド15)を全て主記憶4上のコマンド受信領域20A
または20Bに格納するまで(ステップS33でYES
判定となるまで)繰り返し実行される。転送コマンド1
5を全て主記憶4上のコマンド受信領域20Aまたは2
0Bに格納すると、第1実施形態とほぼ同様に、セレク
タ40により、アドレスレジスタ39には、メッセージ
受信キューベースアドレスレジスタ45の値と受信ポイ
ンタ46の値との加算値が設定される。受信ポインタ4
6の値は、メッセージ受信キュー18に対して1ブロッ
ク分のパケットデータの格納を終える毎に1加算器47
により1ずつカウントアップされる(ステップS3
4)。
In the processing of steps S31 and S32, the command area 13 (transfer command 15) of the packet header 11 is entirely transferred to the command receiving area 20A on the main memory 4.
Or until stored in 20B (YES in step S33)
It is repeatedly executed until it becomes a judgment. Transfer command 1
5 is the command receiving area 20A or 2 on the main memory 4
When stored in 0B, the selector 40 sets the added value of the value of the message reception queue base address register 45 and the value of the reception pointer 46 in the address register 39, as in the first embodiment. Receive pointer 4
The value of 6 is incremented by 1 when the storage of one block of packet data in the message reception queue 18 is completed.
Is incremented by 1 (step S3
4).

【0085】アドレスレジスタ39に設定されたアドレ
スと入力バッファ38からのパケットデータ(送信側制
御データ16および転送データ本体17)とを組にして
主記憶アクセス制御部3Cへ送り、この主記憶アクセス
制御部3Cを介して、パケットデータを主記憶4上のメ
ッセージ受信キュー18内へ格納する(ステップS3
5)。
The address set in the address register 39 and the packet data (transmitting side control data 16 and transfer data body 17) from the input buffer 38 are sent as a set to the main memory access control section 3C, and this main memory access control is carried out. The packet data is stored in the message reception queue 18 on the main memory 4 via the unit 3C (step S3).
5).

【0086】ステップS35により、パケットデータを
1回格納すると、アドレス生成回路44により、アドレ
スレジスタ39のアドレス値に1回のデータ格納バイト
長が加算され、その加算結果が、セレクタ40を介して
アドレスレジスタ39に設定される(ステップS3
6)。ステップS35およびS36による処理は、メッ
セージ受信キュー18に対して1ブロック分のパケット
データ転送を完了するか、パケット10のうち転送コマ
ンド15以外の全てをメッセージ受信キュー18に転送
するまで(ステップS37でYES判定となるまで)繰
り返し実行され、また、上述したステップS34〜S3
7による処理は、パケット10の受信を完了するまで、
つまり、パケット10のうち転送コマンド15以外の全
てをメッセージ受信キュー18に転送するまで(ステッ
プS38でYES判定となるまで)繰り返し実行され
る。
When the packet data is stored once in step S35, the data storage byte length is added once to the address value of the address register 39 by the address generation circuit 44, and the addition result is addressed via the selector 40. It is set in the register 39 (step S3)
6). The processing in steps S35 and S36 is performed until the packet data transfer for one block to the message reception queue 18 is completed or all the packets 10 other than the transfer command 15 are transferred to the message reception queue 18 (in step S37). It is repeatedly executed until a YES determination is made, and the above-described steps S34 to S3 are performed.
The process by 7 is until the reception of the packet 10 is completed.
That is, the packet 10 is repeatedly executed until all of the packets other than the transfer command 15 are transferred to the message reception queue 18 (until YES is determined in step S38).

【0087】このような本発明の第2実施形態によって
も、第1実施形態と同様の作用効果を得ることができる
ほか、第2実施形態では、転送コマンド15が、メッセ
ージ受信キュー18と別個のコマンド受信領域20Aま
たは20Bに保持され、異常受信した場合にはその異常
が解消されるまで転送コマンド15が保持されているの
で、転送コマンド15をコマンド受信領域20Aまたは
20Bから読み出してその異常受信に直ちに対処するこ
とができる。
According to the second embodiment of the present invention as described above, the same operation and effect as those of the first embodiment can be obtained, and in the second embodiment, the transfer command 15 is separate from the message reception queue 18. The transfer command 15 is held in the command receiving area 20A or 20B, and when the error is received, the transfer command 15 is held until the abnormality is resolved. Therefore, the transfer command 15 is read from the command receiving area 20A or 20B and the error is received. Can be dealt with immediately.

【0088】[0088]

【発明の効果】以上詳述したように、本発明の並列計算
機におけるデータ転送方法および並列計算機用処理装置
によれば、転送コマンドおよび送信側制御データの両方
を含むパケットヘッダとパケットボディとからなるパケ
ットが受信側処理装置に転送されるので、送信側処理装
置でのパケット組立時に転送データ本体を主記憶上でコ
ピーする必要がなく、1個のパケット転送で1個のメッ
セージを転送できる。
As described above in detail, according to the data transfer method and the parallel computer processing device in the parallel computer of the present invention, the packet header and the packet body each include both the transfer command and the transmission side control data. Since the packet is transferred to the receiving side processing device, it is not necessary to copy the transfer data body on the main memory when assembling the packet in the transmitting side processing device, and one message can be transferred by one packet transfer.

【0089】従って、メッセージ転送のための処理量/
オーバヘッドを少なくすることができ、このようなメッ
セージ転送(メッセージパッシング)の性能や効率の向
上に寄与するところが大きい。
Therefore, the processing amount for message transfer /
Overhead can be reduced, and it greatly contributes to improvement of performance and efficiency of such message transfer (message passing).

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

【図1】本発明の第1実施形態としての並列計算機シス
テムの全体構成を示すブロック図である。
FIG. 1 is a block diagram showing an overall configuration of a parallel computer system as a first embodiment of the present invention.

【図2】第1実施形態の並列計算機システムにおけるデ
ータ転送手順を説明するための図である。
FIG. 2 is a diagram for explaining a data transfer procedure in the parallel computer system of the first embodiment.

【図3】本実施形態におけるパケットヘッダの内容を説
明するための図である。
FIG. 3 is a diagram for explaining the contents of a packet header in this embodiment.

【図4】本実施形態のPEにおける通信装置の詳細構成
を示すブロック図である。
FIG. 4 is a block diagram showing a detailed configuration of a communication device in the PE of this embodiment.

【図5】第1実施形態の動作を説明するためのフローチ
ャートである。
FIG. 5 is a flowchart for explaining the operation of the first embodiment.

【図6】本発明の第2実施形態としての並列計算機シス
テムにおけるデータ転送手順を説明するための図であ
る。
FIG. 6 is a diagram for explaining a data transfer procedure in the parallel computer system as the second embodiment of the present invention.

【図7】第2実施形態の動作を説明するためのフローチ
ャートである。
FIG. 7 is a flowchart for explaining the operation of the second embodiment.

【図8】一般的な並列計算機システムの構成を示すブロ
ック図である。
FIG. 8 is a block diagram showing a configuration of a general parallel computer system.

【図9】一般的な並列計算機用処理装置の構成を示すブ
ロック図である。
FIG. 9 is a block diagram illustrating a configuration of a general parallel computer processing device.

【図10】並列計算機システムにおける従来のデータ転
送処理を説明するための図である。
FIG. 10 is a diagram for explaining a conventional data transfer process in a parallel computer system.

【図11】並列計算機システムにおける従来のデータ転
送処理の他例を説明するための図である。
FIG. 11 is a diagram for explaining another example of conventional data transfer processing in a parallel computer system.

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

1 PE(並列計算機用処理装置) 2 PE間結合網(通信手段) 3 通信装置 3A 送信系 3B 受信系 3C 主記憶アクセス制御部 4 主記憶 10 パケット 11 パケットヘッダ 12 パケットボディ 13 コマンド領域(ハードウエア用コマンド領域) 14 非コマンド領域(プログラム用領域) 15 通信装置転送コマンド 16 送信側制御データ 17 転送データ本体 18 メッセージ受信キュー(サイクリックキュー) 19 受信側制御データ 20A,20B コマンド受信領域 21 コマンドレジスタ 22 デコーダ 23 制御回路 24 アドレスレジスタ 25 セレクタ 26 加算器 27 ボディアドレスレジスタ 28 アドレス生成回路 29 パケットヘッダキューベースアドレスレジスタ 30 送信ポインタ 31 1加算器 32 送信末尾ポインタ 33 比較器 34 出力バッファ 35 コマンドレジスタ 36 デコーダ 37 制御回路 38 入力バッファ 39 アドレスレジスタ 40 セレクタ 41 加算器 42,43 コマンド受信領域アドレスレジスタ 44 アドレス生成回路 45 メッセージ受信キューベースアドレスレジスタ 46 受信ポインタ 47 1加算器 48 受信先頭ポインタ 49 比較器 1 PE (processor for parallel computer) 2 PE interconnection network (communication means) 3 communication device 3A transmission system 3B reception system 3C main memory access control unit 4 main memory 10 packet 11 packet header 12 packet body 13 command area (hardware) Command area) 14 non-command area (program area) 15 communication device transfer command 16 transmission side control data 17 transfer data body 18 message reception queue (cyclic queue) 19 reception side control data 20A, 20B command reception area 21 command register 22 Decoder 23 Control Circuit 24 Address Register 25 Selector 26 Adder 27 Body Address Register 28 Address Generation Circuit 29 Packet Header Queue Base Address Register 30 Transmission Pointer 31 1 Adder 32 Transmission End Inter 33 Comparator 34 Output Buffer 35 Command Register 36 Decoder 37 Control Circuit 38 Input Buffer 39 Address Register 40 Selector 41 Adder 42, 43 Command Reception Area Address Register 44 Address Generation Circuit 45 Message Reception Queue Base Address Register 46 Reception Pointer 47 1 Adder 48 Reception start pointer 49 Comparator

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 通信手段を介し複数の処理装置を相互に
通信可能に接続して構成された並列計算機におけるデー
タ転送方法であって、送信側処理装置が、各種制御情報
を含むパケットヘッダと転送データ本体を含むパケット
ボディとからなるパケットを該通信手段に対して発信す
るとともに、該通信手段が、該パケットを所定の受信側
処理装置へ転送することにより、該送信側処理装置の主
記憶上のデータを該受信側処理装置の主記憶上へ転送す
るデータ転送方法において、 該送信側処理装置の主記憶上に作成される前記パケット
ヘッダを、データ転送を指示するコマンド用のコマンド
領域と、プログラムにより指定されたデータを転送する
ための非コマンド領域とから構成し、 前記パケットヘッダの非コマンド領域に送信側制御デー
タを設定することを特徴とする、並列計算機におけるデ
ータ転送方法。
1. A data transfer method in a parallel computer constituted by connecting a plurality of processing devices so that they can communicate with each other via a communication means, wherein a transmission side processing device transfers a packet header including various control information and transfers. A packet composed of a packet body including a data body is transmitted to the communication means, and the communication means transfers the packet to a predetermined reception side processing device, thereby storing the main memory of the transmission side processing device. A data transfer method for transferring the data in the main memory of the receiving side processing device, the packet header created in the main memory of the transmitting side processing device, and a command area for a command for instructing data transfer, It is composed of a non-command area for transferring data specified by the program, and sender-side control data is set in the non-command area of the packet header. Data transfer method in characterized, parallel computer to.
【請求項2】 該受信側処理装置では、前記パケットを
受信すると、前記パケットヘッダと前記パケットボディ
との両方を該主記憶上のメッセージ受信キューに格納す
ることを特徴とする、請求項1記載の並列計算機におけ
るデータ転送方法。
2. The reception side processing device, when receiving the packet, stores both the packet header and the packet body in a message reception queue on the main memory. Data Transfer Method for Parallel Computers in Japan.
【請求項3】 該受信側処理装置では、前記パケットを
受信すると、前記パケットヘッダの非コマンド領域と前
記パケットボディとを該主記憶上のメッセージ受信キュ
ーに格納することを特徴とする、請求項1記載の並列計
算機におけるデータ転送方法。
3. The receiving side processing device, when receiving the packet, stores the non-command area of the packet header and the packet body in a message reception queue on the main memory. 1. A data transfer method in the parallel computer according to 1.
【請求項4】 前記パケットヘッダのコマンド領域を、
該主記憶上のコマンド受信領域に格納することを特徴と
する、請求項3記載の並列計算機におけるデータ転送方
法。
4. A command area of the packet header,
4. The data transfer method in a parallel computer according to claim 3, wherein the data is stored in a command receiving area on the main memory.
【請求項5】 該コマンド受信領域が、複数のコマンド
領域を格納可能に構成され、 受信に際して異常が発生しない場合には前記パケットヘ
ッダのコマンド領域を該コマンド受信領域に対して上書
きにより格納する一方、異常発生時には当該異常の発生
要因に係るパケットのコマンド領域を該コマンド受信領
域に保持し、 該コマンド受信領域に、新たなコマンド領域を格納する
ための有効領域が無くなった場合には、新たなパケット
の受信を停止することを特徴とする、請求項4記載の並
列計算機におけるデータ転送方法。
5. The command receiving area is configured to be able to store a plurality of command areas, and when no abnormality occurs during reception, the command area of the packet header is stored by overwriting the command receiving area. When an abnormality occurs, the command area of the packet related to the cause of the abnormality is held in the command receiving area, and when the command receiving area has no effective area for storing a new command area, a new area is created. The data transfer method in a parallel computer according to claim 4, wherein reception of packets is stopped.
【請求項6】 該送信側処理装置で、前記パケットヘッ
ダのコマンド領域にプロセス識別子を設定するととも
に、 該受信側処理装置の主記憶上に、前記プロセス識別子毎
にメッセージ受信キューをそなえ、 該受信側処理装置では、前記パケットヘッダと前記パケ
ットボディとの両方を、前記パケットヘッダのコマンド
領域のプロセス識別子に応じたメッセージ受信キューに
格納することを特徴とする、請求項2記載の並列計算機
におけるデータ転送方法。
6. The transmission side processing device sets a process identifier in a command area of the packet header, and a message reception queue is provided for each process identifier in the main memory of the reception side processing device. 3. The data in the parallel computer according to claim 2, wherein the side processing device stores both the packet header and the packet body in a message reception queue corresponding to a process identifier of a command area of the packet header. Transfer method.
【請求項7】 該送信側処理装置で、前記パケットヘッ
ダのコマンド領域にプロセス識別子を設定するととも
に、 該受信側処理装置の主記憶上に、前記プロセス識別子毎
にメッセージ受信キューをそなえ、 該受信側処理装置では、前記パケットヘッダの非コマン
ド領域と前記パケットボディとを、前記パケットヘッダ
のコマンド領域のプロセス識別子に応じたメッセージ受
信キューに格納することを特徴とする、請求項3〜請求
項5のいずれかに記載の並列計算機におけるデータ転送
方法。
7. The transmission side processing device sets a process identifier in the command area of the packet header, and a message reception queue is provided for each process identifier in the main memory of the reception side processing device. 6. The side processing device stores the non-command area of the packet header and the packet body in a message reception queue corresponding to a process identifier of the command area of the packet header. A data transfer method in a parallel computer according to any one of 1.
【請求項8】 通信手段を介して他処理装置と相互に通
信可能に接続され並列計算機を構成する処理装置であっ
て、該他処理装置に対するデータ送信時には、各種制御
情報を含むパケットヘッダと転送データ本体を含むパケ
ットボディとからなるパケットを、該通信手段に対して
発信する並列計算機用処理装置において、 前記パケットヘッダが、データ転送を指示するコマンド
用のコマンド領域と、プログラムにより指定されたデー
タを転送するための非コマンド領域とから構成され、 前記パケットヘッダの非コマンド領域に送信側制御デー
タが設定されることを特徴とする、並列計算機用処理装
置。
8. A processing device constituting a parallel computer, which is communicably connected to another processing device via a communication means, wherein a packet header including various control information and a transfer are transmitted when the data is transmitted to the other processing device. In a parallel computer processing device that transmits a packet composed of a packet body including a data body to the communication means, the packet header has a command area for a command for instructing data transfer, and data specified by a program. And a non-command area for transferring a packet, and transmission side control data is set in the non-command area of the packet header.
JP27460095A 1995-10-23 1995-10-23 Data transfer method in parallel computer Expired - Fee Related JP3674720B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27460095A JP3674720B2 (en) 1995-10-23 1995-10-23 Data transfer method in parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27460095A JP3674720B2 (en) 1995-10-23 1995-10-23 Data transfer method in parallel computer

Publications (2)

Publication Number Publication Date
JPH09120391A true JPH09120391A (en) 1997-05-06
JP3674720B2 JP3674720B2 (en) 2005-07-20

Family

ID=17544001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27460095A Expired - Fee Related JP3674720B2 (en) 1995-10-23 1995-10-23 Data transfer method in parallel computer

Country Status (1)

Country Link
JP (1) JP3674720B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100401783C (en) * 2003-08-21 2008-07-09 松下电器产业株式会社 Digital video signal processing apparatus and electronic device therewith
JP2021157771A (en) * 2018-10-18 2021-10-07 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04312160A (en) * 1991-03-29 1992-11-04 Internatl Business Mach Corp <Ibm> Multiprocessor system and its message transmission and reception controller
JPH06110845A (en) * 1992-09-25 1994-04-22 Hitachi Ltd Inter-processor data communication method
JPH06301618A (en) * 1993-04-15 1994-10-28 Matsushita Electric Ind Co Ltd Remote procedure accessing method
JPH07121493A (en) * 1993-10-22 1995-05-12 Hitachi Ltd Storage control method of parallel computer and parallel computer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04312160A (en) * 1991-03-29 1992-11-04 Internatl Business Mach Corp <Ibm> Multiprocessor system and its message transmission and reception controller
JPH06110845A (en) * 1992-09-25 1994-04-22 Hitachi Ltd Inter-processor data communication method
JPH06301618A (en) * 1993-04-15 1994-10-28 Matsushita Electric Ind Co Ltd Remote procedure accessing method
JPH07121493A (en) * 1993-10-22 1995-05-12 Hitachi Ltd Storage control method of parallel computer and parallel computer

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100401783C (en) * 2003-08-21 2008-07-09 松下电器产业株式会社 Digital video signal processing apparatus and electronic device therewith
JP2021157771A (en) * 2018-10-18 2021-10-07 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
JP2021166033A (en) * 2018-10-18 2021-10-14 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
JP2021166034A (en) * 2018-10-18 2021-10-14 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
US11797467B2 (en) 2018-10-18 2023-10-24 Shanghai Cambricon Information Technology Co., Ltd. Data processing device with transmission circuit
US11809360B2 (en) 2018-10-18 2023-11-07 Shanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
US11841816B2 (en) 2018-10-18 2023-12-12 Shanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
US11868299B2 (en) 2018-10-18 2024-01-09 Shanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
US11880328B2 (en) 2018-10-18 2024-01-23 Shanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
US11880329B2 (en) 2018-10-18 2024-01-23 Shanghai Cambricon Information Technology Co., Ltd. Arbitration based machine learning data processor
US11880330B2 (en) 2018-10-18 2024-01-23 Shanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
US11960431B2 (en) 2018-10-18 2024-04-16 Guangzhou University Network-on-chip data processing method and device
US11971836B2 (en) 2018-10-18 2024-04-30 Shanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing method and device
US12061564B2 (en) 2018-10-18 2024-08-13 Shanghai Cambricon Information Technology Co., Ltd. Network-on-chip data processing based on operation field and opcode

Also Published As

Publication number Publication date
JP3674720B2 (en) 2005-07-20

Similar Documents

Publication Publication Date Title
JP3601955B2 (en) Data transfer method and computer system suitable for it
US5630059A (en) Expedited message transfer in a multi-nodal data processing system
JP5220974B2 (en) Apparatus and method for acceleration of hardware execution or operating system functions
US6397316B2 (en) System for reducing bus overhead for communication with a network interface
KR0163234B1 (en) Data streaming between peer subsystems of a computer system
US5930480A (en) Software architecture for controlling data streams based on linked command blocks
US5717854A (en) Multimedia server having a plurality of stream controllers directly connected to the network
US20040109369A1 (en) Scratchpad memory
CN101027634A (en) Data transfer mechanism
US6904475B1 (en) Programmable first-in first-out (FIFO) memory buffer for concurrent data stream handling
KR100516411B1 (en) Method and system for autonomous operation of PCI-serial bus interface device of packetized data communication interface device
US5961614A (en) System for data transfer through an I/O device using a memory access controller which receives and stores indication of a data status signal
JP2008236378A (en) Data transfer method between host computer and network interface controller, program and network interface controller
JP3674720B2 (en) Data transfer method in parallel computer
US6457072B1 (en) System and method for effectively performing physical direct memory access operations
US8054857B2 (en) Task queuing methods and systems for transmitting frame information over an I/O interface
US5712975A (en) Input/output cell in parallel computer and parallel computer system
US20020087827A1 (en) Architecture of psm-mpus and coprocessors
JP3909730B2 (en) Server computer data transmission method, recording medium, and server computer
JP2505298B2 (en) Variable bus width designation method and variable bus width information reception method in split bus
JP3967792B2 (en) Method for autonomously operating PCI serial bus interface device circuit of packetized data communication interface device and autonomous boot circuit
JP2984594B2 (en) Multi-cluster information processing system
JP3252585B2 (en) Computer equipment
JP3640976B2 (en) Data transfer control method
JP2821053B2 (en) Network system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050323

TRDD Decision of grant or rejection written
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050314

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050420

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080513

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees