JPH0624361B2 - Data transmission method - Google Patents

Data transmission method

Info

Publication number
JPH0624361B2
JPH0624361B2 JP63030881A JP3088188A JPH0624361B2 JP H0624361 B2 JPH0624361 B2 JP H0624361B2 JP 63030881 A JP63030881 A JP 63030881A JP 3088188 A JP3088188 A JP 3088188A JP H0624361 B2 JPH0624361 B2 JP H0624361B2
Authority
JP
Japan
Prior art keywords
node
data
priority
transmission
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP63030881A
Other languages
Japanese (ja)
Other versions
JPH01206751A (en
Inventor
信行 守谷
康 和宇慶
実治 棟安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP63030881A priority Critical patent/JPH0624361B2/en
Publication of JPH01206751A publication Critical patent/JPH01206751A/en
Publication of JPH0624361B2 publication Critical patent/JPH0624361B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、ハイパーキューブ状に結合されたノード間に
おけるデータ伝送方式に関するものである。
Description: TECHNICAL FIELD The present invention relates to a data transmission method between nodes connected in a hypercube shape.

(従来の技術) 複数のノードをハイパーキューブ状に結合し、ノード間
でデータ転送(伝送)を行い並列処理を実行するシステ
ムとしては、例えば、ジョンP.ヘイズ(John P.Haye
s)他「ハイパーキューブ スーパコンピュータのアー
キテクチャ(ARCHITECTURE OF A HYPERCUBE SUPERCOMPUT
ER)」1986 IEEEやJ.C.ピータソン(J.C.Peterson)
他「マークIII ハイパーキューブ−アンサンブル コ
ンカレント コンピュータ(THE MARK III HYPERCUBE-EN
SEMBLE CONCURRENT COMPUTER)」1985IEEE等に記載
されているシステムを始め、数多く開発されている。第
2図にハイパーキューブ結合の例を示す。同図におい
て、黒丸印はノードを示す。このようなハイパーキュー
ブはN(=2,nは正の整数)個のノードからなり、
各ノードは主として、処理を実行するプロセッサと各ノ
ード間でデータ伝送を行うデータ通信部とから成る。各
ノードにはn本の転送路がある。ノードaのアドレスは
2進数(an−1……a)で表わされる。ノ
ードAは、n−1……a)、(a
n−1……a)、……、(an−1……
)、(an−1……a )をアドレスとす
るノードと結合している。すなわち、アドレスaのノー
ドAはそれとハミング距離が1だけ異なるノードに直接
結合している。
(Prior Art) As a system in which a plurality of nodes are connected in a hypercube form and data is transferred (transmitted) between the nodes to execute parallel processing, for example, John P. et al. Hayes (John P. Haye
s) Others "ARCHITECTURE OF A HYPERCUBE SUPERCOMPUT
ER) ”1986 IEEE and J. C. Pitason (JC Peterson)
Other `` Mark III Hyper Cube-Ensemble Concurrent Computer (THE MARK III HYPERCUBE-EN
SEMBLE CONCURRENT COMPUTER) ”1985 IEEE and other systems have been developed. FIG. 2 shows an example of hypercube combination. In the figure, black circles indicate nodes. Such a hypercube consists of N (= 2 n , n is a positive integer) nodes,
Each node mainly includes a processor that executes a process and a data communication unit that performs data transmission between the nodes. Each node has n transfer paths. The address of the node a is represented by a binary number (a n a n−1 ... A 2 a 1 ). The node A is: n a n−1 ...... a 2 a 1 ), (a n
n-1 ...... a 2 a 1 ), ......, (a n a n-1 ...... 2
a 1), it is bonded to the node whose address is the (a n a n-1 ...... a 2 1). That is, node A at address a is directly coupled to a node that differs from it by a Hamming distance of one.

以上のように構成されたシステムにおける従来のデータ
伝送方式の処理手順について説明する。例えば、ノード
A(a……a)からノードB(b……b)への
データ転送は次のように行われる。最下位ビットから調
べて、最初にa=1となるノード(a……b
i−1……b)にデータを送る。(a……a
……a)と(a……bi−1……b)はiビ
ット目のみ異なっている2進数であるので、直接つなが
っている隣接ノードとなっている。最上位ビットまでこ
の過程を繰り返すと、ノードAとノードBの通信ができ
る。
A processing procedure of the conventional data transmission method in the system configured as above will be described. For example, data transfer from the node A (a n ... A 1 ) to the node B (b n ... B 1 ) is performed as follows. Checking from the least significant bit, the node (a n ... b) where a i b i = 1 is first
i b i-1 ... Sends data to b 1 ). (A n ... a i
.. a i ) and (a n ... b i b i-1 .. b 1 ) are binary numbers that differ only in the i-th bit, and are therefore directly connected adjacent nodes. By repeating this process up to the most significant bit, communication between node A and node B is possible.

このように、任意の2つのノード間でデータ伝送を行う
場合、ノード数が多くなるほど、経由する転送路の平均
数は増加する。
Thus, in the case of performing data transmission between any two nodes, the average number of transfer paths passing through increases as the number of nodes increases.

ノードのデータ通信部においては、伝送制御を簡単にす
るために、半二重通信で行うことが考えられている。す
なわち、データの伝送を送信と受信に分け、同時に実行
しない方式である。この場合、データの伝送は以下に示
す手順に従って実行される。まず、送信ノードは送信要
求を隣接するノード(受信ノード)に送信する。該送信
要求を受信したノードは受信できる状態ならば、受信可
(ACK)を、また受信できない状態ならば受信不可
(NAK)を返送する。送信ノードは受信ノードからA
CKを受信することにより、データの送信を開始する。
また受信ノードは、ACKを返送した後、データ受信状
態にはいる。
In the data communication unit of the node, half-duplex communication is considered in order to simplify transmission control. In other words, it is a method in which data transmission is divided into transmission and reception and they are not executed simultaneously. In this case, data transmission is performed according to the procedure shown below. First, the transmission node transmits a transmission request to an adjacent node (reception node). The node that has received the transmission request returns a reception enable (ACK) if it is in a reception ready state, and returns a reception not possible (NAK) if it cannot receive it. The transmitting node is A from the receiving node
Data transmission is started by receiving CK.
Also, the receiving node enters the data receiving state after returning ACK.

また、各ノードにおいて、データ送信とデータ受信を同
時に行おうとする場合には、送信を受信よりも優先する
送信優先、あるいはこの逆の受信優先により行う。
In addition, in each node, when data transmission and data reception are to be performed at the same time, transmission is performed according to transmission priority, which has priority over reception, or vice versa.

(発明が解決しようとする問題点) しかしながら、上記データ伝送方式では、送信優先とす
る場合を考えると、ノードAがノードBへデータ伝送す
ることと、ノードBがノードAにデータ伝送しようとす
ることが同時に起きた場合、ノードAもノードBを互い
にデータを送信しようとするが、どちらもデータ受信さ
れないので、デッドロックとなる。また逆に、受信優先
の場合も、両方のノードが受信状態になり、デッドロッ
クとなる。このように、従来の送信優先、受信優先のデ
ータ伝送方式はデッドロックを起こすという問題点があ
った。本発明は以上述べた問題点を解決し、デッドロッ
クを防止するデータ伝送方式を提供することを目的とす
る。
(Problems to be Solved by the Invention) However, in the above-mentioned data transmission method, considering the case where transmission is prioritized, node A transmits data to node B and node B attempts to transmit data to node A. If both occur at the same time, node A also tries to send data to node B, but neither receives data, resulting in a deadlock. Conversely, in the case of reception priority, both nodes enter the reception state and deadlock occurs. As described above, the conventional transmission-priority and reception-priority data transmission systems have a problem that deadlock occurs. It is an object of the present invention to solve the above-mentioned problems and provide a data transmission method that prevents deadlock.

(問題点を解決するための手段) 本発明は前記問題点を解決するために、隣接するノード
がそれぞれハミング距離が1だけ異なるように2進数の
アドレスを付与されたハイパーキューブ状に結合されノ
ード間で、パケットを単位としてデータ伝送を行うデー
タ伝送方式において、隣接するノード間で互いにパケッ
トを送信しようとする際に、各送信ノードは自ノードの
アドレスと隣接する送信先のノードのアドレスを比較
し、相異なるビット位置の値が1か0かにより、パケッ
ト送信の優先順位を決定するものである。
(Means for Solving the Problems) In order to solve the above problems, the present invention relates to nodes connected in a hypercube shape in which adjacent nodes are provided with binary addresses so that the Hamming distances thereof are different from each other by 1. In a data transmission method in which data is transmitted in units of packets between each node, when sending packets to each other between adjacent nodes, each sending node compares the address of its own node with the address of the adjacent destination node. However, the priority of packet transmission is determined depending on whether the value of different bit positions is 1 or 0.

(作用) 本発明は次のように作用する。隣接するノード間で互い
にパケットを送信しようとする際に、各ノードは、自ノ
ードのアドレスと隣接する送信先のノードのアドレスを
比較し、相異なるビット位置の値が1か0かにより、パ
ケット送信の優先順位を決定する。優先順位の高い方の
送信ノードは送信不可(NAK)パケットを相手側ノード
に送信することにより、パケットを送信することができ
る。この後、優先順位の低い方のノードの送信を行う。
従って、デッドロックを防止することが可能となる。
(Operation) The present invention operates as follows. When transmitting packets to each other between adjacent nodes, each node compares the address of its own node with the address of the adjacent destination node and determines whether the value of the different bit position is 1 or 0. Determine the transmission priority. The transmitting node with the higher priority can transmit the packet by transmitting the non-transmission (NAK) packet to the partner node. After this, the node with the lower priority is transmitted.
Therefore, it becomes possible to prevent deadlock.

(実施例) 第1図は本発明の一実施例を示すシステム構成図であっ
て、説明を簡単にするため、ハイパーキューブ結合され
た複数のノードのうち、隣接するノードA,Bの構成の
みを示すものである。ノードA1は通信路(転送路)
2を介してノードB1に接続される。各ノードは同一
の内部構成を持ち、CPU3、送信データ用のバッファ
(OB)4、受信データ用のバッファ(IB)5、中継
データ用のバッファ(TB)6,7、ネットワーク制御
部(CNT)8、ポート(PORT)9から構成され
る。CPU3はノード全体を制御するプロセッサであ
る。OB4はCPU1で作成したデータを他ノードに送
信するためのバッファ、IB5は他ノードから自ノード
へ送信されてきたデータを受信するためのバッファ、T
B6,7は中継データを一時蓄積するためのバッファで
ある。CNT8は、データを送受信するための制御とル
ーティング処理を実行するネットワーク制御部である。
PORT9はデータの送受信を行うためのものであり、
他ノードと通信路によって接続される。
(Embodiment) FIG. 1 is a system configuration diagram showing an embodiment of the present invention. For simplification of description, only the configuration of adjacent nodes A and B among a plurality of hypercube-joined nodes is shown. Is shown. Node A1 a is communication path (transfer path)
2 to the node B1 b . Each node has the same internal configuration, and includes a CPU 3, a transmission data buffer (OB) 4, a reception data buffer (IB) 5, relay data buffers (TB) 6, 7, and a network control unit (CNT). 8 and a port (PORT) 9. The CPU 3 is a processor that controls the entire node. OB4 is a buffer for transmitting the data created by the CPU1 to another node, IB5 is a buffer for receiving the data transmitted from the other node to its own node, T
B6 and B7 are buffers for temporarily storing relay data. The CNT 8 is a network control unit that executes control for transmitting and receiving data and routing processing.
PORT9 is for transmitting and receiving data,
It is connected to another node via a communication path.

ここで、ノードA1の構成要素の参照符号には添字
a、同様にノードB1のものには添字bを付与する。
Here, the node A1 a subscript a to the reference numerals of the components of, likewise imparting subscript b is a thing of the node B1 b.

データの送受信は、パケットを単位として行う。各ノー
ドのアドレスは2進数で表わしたとき、i番目のビット
のみが異なる。即ち、ノードA1のアドレスを(a
……ai+1i−1……a)、ノードB1
アドレスを(b……bi+1i−1……b
とすると、 a=b(n≧j≧i+1、i−1≧j≧1) a≠b(j=i) である。ここでは、a=1,b=0とする。
Data is transmitted and received in units of packets. When the address of each node is represented by a binary number, only the i-th bit is different. That is, the address of the node A1 a (a n
...... a i + 1 a i a i-1 ...... a 1), the nodes B1 b the address of (b n ...... b i + 1 b i b i-1 ...... b 1)
Then, a j = b j (n ≧ j ≧ i + 1, i−1 ≧ j ≧ 1) a j ≠ b j (j = i). Here, it is assumed that a i = 1 and b i = 0.

すなわち、異なるビット位置の値(前述の優先情報)が
1のノードを優先ノード、0のノードを非優先ノードと
する。すなわちノードAが優先ノード、ノードBが非優
先ノードである。
That is, a node having a different bit position value (priority information described above) of 1 is a priority node, and a node of 0 is a non-priority node. That is, node A is a priority node and node B is a non-priority node.

次に本実施例の動作を説明する。Next, the operation of this embodiment will be described.

ノードAからノードBにデータを送信する場合には、C
PU3は送信先のアドレスと自ノードのアドレスを含
むパケット毎のデータを作成してOB4に格納する。
OB4に送信要求パケットが格納されると、CNT8
はこのパケットをポート9及び通信路2を介してノ
ードB1へ送信する。ノードB1ではポート9
介してCNT8が当該パケットを受信したとき(受信
パケットはIB5に一旦格納される)、CNT8
は、自ノードがノードA1に対してCPU3によ
り作成された送信要求パケットをOB4より読み出し
てポート9より送信し、送信可(ACK)パケットあ
るいは送信不可(NAK)パケットの応答を待っている
状態であれば、自ノードとノードA1との送信の優先
度を判断し、自ノードの優先度が高い場合には、ノード
A1からのデータ送信を不許可するためにNAKパケ
ットを送信し、逆に、自ノードの優先度が低い場合に
は、ノードA1からのデータ送信を許可するためにA
CKパケットを送信する。
When transmitting data from node A to node B, C
The PU3 a creates data for each packet including the address of the transmission destination and the address of its own node, and stores the data in the OB4 a .
When the transmission request packet to OB4 a is stored, CNT8
a transmits this packet to the node B1 b via the port 9 a and the communication path 2. When a node B1 b in through the ports 9 b CNT8 b receives the packet (received packet is temporarily stored in IB5 b), CNT8
b is the own node transmits the port 9 b reads from OB4 b the transmission request packet generated by CPU 3 b to the node A1 a, a response-send (ACK) packet or transmission impossible (NAK) packet If it is in a waiting state, the priority of transmission between its own node and the node A1 a is judged, and if the priority of its own node is high, a NAK packet is sent to disallow data transmission from the node A1 a. sends, to the contrary, if the priority of the node is low, a to permit data transmission from node A1 a
Send a CK packet.

一方、ノードA1はノードB1への送信要求パケッ
トを送信した後、ノードB1からの送信要求パケット
を受信したとき、自ノードの優先度が高い場合には、ノ
ードB1に対しNAKパケットを送信し、自ノードの
優先度が低い場合には、ノードB1に対しACKパケ
ットを送信する。NAKパケットを受信した場合、ノー
ドはデータの送信を止め、ACKパケットを受信した場
合、データ送信を行う。ここで、各ノードにおけるデー
タ伝送の優先順位の判断は次の基準による。
On the other hand, after the node A1 a is that transmitted the transmission request packet to the node B1 b, when receiving the transmission request packet from the node B1 b, if the priority of the node is high, node B1 b to NAK packet Is transmitted, and if the priority of the own node is low, an ACK packet is transmitted to the node B1 b . When receiving the NAK packet, the node stops transmitting data, and when receiving the ACK packet, the node transmits data. Here, the determination of the priority order of data transmission in each node is based on the following criteria.

・互いにデータ送信を行おうとする2つのノードの優先
度はノードの番号による。すなわち、ノードの番号を2
進数で表したとき、異なる1つのビットの値が1のノー
ドを優先度が高いノードとし、0のノードを優先度が低
いノードとする。あるいは、逆にビットの値が0のノー
ドを優先度が高いノード、1のノードを優先度が低いノ
ードとしてもよい。
-The priority of two nodes trying to send data to each other depends on the node number. That is, the node number is 2
When expressed in a decimal number, a node having a different one bit value of 1 is a node having a high priority, and a node having a value of 0 is a node having a low priority. Alternatively, conversely, a node having a bit value of 0 may be a node having a high priority, and a node having a bit value of 1 may be a node having a low priority.

(発明の効果) 隣接するノード間で互いにデータを送信しようとする場
合、各送信ノードのアドレスを比較することにより、一
方を優先順位の高いノード、他の一方を優先順位の低い
ノードとする。まず、優先順位の高い方のノードからの
送信を行い、その後優先順位の低いノードからの送信を
行うので、従って、デッドロックを防止することが可能
となる。
(Effect of the Invention) When transmitting data to each other between adjacent nodes, the addresses of the respective transmitting nodes are compared so that one node has a higher priority and the other node has a lower priority. First, the node with the higher priority transmits first, and then the node with the lower priority transmits, so that it is possible to prevent deadlock.

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

第1図は本発明の一実施例を示すシステム構成図、第2
図はハイパーキューブ結合例を示す図である。 1(1a,1b)……ノード(A,B) 2……通信路(転送路)、 3(3a,3b)……CPU、 4(4a,4b)……送信データ用のバッファ(OB)、 5(5a,5b)……受信データ用のバッファ(IB)、 6(6a,6b)、7(7a,7b)…… 中継データ用のバッファ(TB)、 8(8a,8b)……ネットワーク制御部(CNT)、 9(9a,9b)……ポート(PORT)。
FIG. 1 is a system configuration diagram showing an embodiment of the present invention, and FIG.
The figure is a diagram showing a hypercube combination example. 1 (1 a , 1 b ) ... node (A, B) 2 ... communication path (transfer path), 3 (3 a , 3 b ) ... CPU, 4 (4 a , 4 b ) ... transmission data Buffer (OB), 5 (5 a , 5 b ) ... received data buffer (IB), 6 (6 a , 6 b ), 7 (7 a , 7 b ) ... relay data buffer (TB), 8 (8 a , 8 b ) ... Network control unit (CNT), 9 (9 a , 9 b ) ... Port (PORT).

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−90850(JP,A) 特開 昭60−84661(JP,A) 特開 昭58−166850(JP,A) 特公 昭58−47110(JP,B2) ─────────────────────────────────────────────────── ─── Continuation of the front page (56) Reference JP-A-58-90850 (JP, A) JP-A-60-84661 (JP, A) JP-A-58-166850 (JP, A) JP-B-58- 47110 (JP, B2)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】隣接するノードがそれぞれハミング距離が
1だけ異なるように2進数のアドレスを付与されたハイ
パーキューブ状に結合されノード間で、パケットを単位
としてデータ伝送を行うデータ伝送方式において、 隣接するノード間で互いにパケットを送信しようとする
際に、各送信ノードは自ノードのアドレスと隣接する送
信先のノードのアドレスを比較し、相異なるビット位置
の値が1か0かにより、パケット送信の優先順位を決定
することを特徴とするデータ伝送方式。
1. A data transmission method in which adjacent nodes are connected in a hypercube shape to which binary addresses are assigned so that the Hamming distances are different from each other by one, and data is transmitted between the nodes in units of packets. When sending packets to each other, each sending node compares the address of its own node with the address of the adjacent destination node and sends the packet depending on whether the value of the different bit position is 1 or 0. A data transmission method characterized by deciding the priority of the.
JP63030881A 1988-02-15 1988-02-15 Data transmission method Expired - Lifetime JPH0624361B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63030881A JPH0624361B2 (en) 1988-02-15 1988-02-15 Data transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63030881A JPH0624361B2 (en) 1988-02-15 1988-02-15 Data transmission method

Publications (2)

Publication Number Publication Date
JPH01206751A JPH01206751A (en) 1989-08-18
JPH0624361B2 true JPH0624361B2 (en) 1994-03-30

Family

ID=12316080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63030881A Expired - Lifetime JPH0624361B2 (en) 1988-02-15 1988-02-15 Data transmission method

Country Status (1)

Country Link
JP (1) JPH0624361B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4643527B2 (en) * 2006-09-05 2011-03-02 エヌ・ティ・ティ・コミュニケーションズ株式会社 Data transfer system, data transfer method, and transfer device used therefor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5847110A (en) * 1981-09-16 1983-03-18 Toshiyuki Ikegami Suction and exhaust port closing device for internal combustion engine with use of rotary disc
JPS5890850A (en) * 1981-11-24 1983-05-30 Nec Corp Loop transmission system and its transmission and reception device
US4814973A (en) * 1983-05-31 1989-03-21 Hillis W Daniel Parallel processor

Also Published As

Publication number Publication date
JPH01206751A (en) 1989-08-18

Similar Documents

Publication Publication Date Title
JP4160642B2 (en) Network data transfer method
US6011910A (en) Supporting authentication across multiple network access servers
US6266334B1 (en) Method for optimizing acknowledge packet rate
US4667287A (en) Multiprocessor multisystem communications network
JP3586281B2 (en) Network communication device using adaptive router
US4630259A (en) Lockup detection and recovery in a packet switching network
JP3806183B2 (en) Data communication system and method
US5590328A (en) Protocol parallel processing apparatus having a plurality of CPUs allocated to process hierarchical protocols
US6453406B1 (en) Multiprocessor system with fiber optic bus interconnect for interprocessor communications
EP0687985A2 (en) Multi-system interconnect facility
US20050132089A1 (en) Directly connected low latency network and interface
CA2011935A1 (en) Dual-path computer interconnect system with four-ported packet memory control
JPH0771110B2 (en) Self-routed packet switch network
US6147987A (en) Supporting load sharing across multiple network access servers
US6026085A (en) Architecture to support a single system image across multiple network access servers
US6157951A (en) Dual priority chains for data-communication ports in a multi-port bridge for a local area network
US5054019A (en) Transfer direction turnaround in network data communications
US6278705B1 (en) Integrated architecture to support a single system image across multiple network access servers
US8885673B2 (en) Interleaving data packets in a packet-based communication system
JPH0865317A (en) Communication of multisegment network and its method
US6233232B1 (en) Supporting multilink connections across multiple network access servers
JPH10308791A (en) Method and equipment for data communication and data communication program recording medium
JPS63501663A (en) multiprocessor communication device
EP1225741A1 (en) High speed interconnection for embedded systems within a computer network
JPH0624361B2 (en) Data transmission method

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term