JP2778520B2 - Multicast method and switching switch - Google Patents

Multicast method and switching switch

Info

Publication number
JP2778520B2
JP2778520B2 JP10502595A JP10502595A JP2778520B2 JP 2778520 B2 JP2778520 B2 JP 2778520B2 JP 10502595 A JP10502595 A JP 10502595A JP 10502595 A JP10502595 A JP 10502595A JP 2778520 B2 JP2778520 B2 JP 2778520B2
Authority
JP
Japan
Prior art keywords
output
multicast
packet
packet data
buffer
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 - Fee Related
Application number
JP10502595A
Other languages
Japanese (ja)
Other versions
JPH08305649A (en
Inventor
真章 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP10502595A priority Critical patent/JP2778520B2/en
Publication of JPH08305649A publication Critical patent/JPH08305649A/en
Application granted granted Critical
Publication of JP2778520B2 publication Critical patent/JP2778520B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、通信網や計算機の接続
網などのパケット交換を行うスイッチに関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a switch for performing packet exchange such as a communication network and a computer connection network.

【0002】[0002]

【従来の技術】従来、図1のような多段網における複数
の宛先へパケットを送るマルチキャスト方式としては、
パケットの特定フィールドにマルチキャストの宛先を書
き込む方式がある。
2. Description of the Related Art Conventionally, as a multicast system for transmitting a packet to a plurality of destinations in a multistage network as shown in FIG.
There is a method of writing a multicast destination in a specific field of a packet.

【0003】一般にパケット14は、図2のように、先
頭部分のヘッダ15とそれに続く実際のデータ(ボディ
16)で構成される。ヘッダ14は、宛先、マルチキャ
ストパケットであるか否か等、交換スイッチ通過の際に
必要な要素を含んでいる。
In general, as shown in FIG. 2, a packet 14 is composed of a header 15 at the head and actual data (body 16) following the header. The header 14 includes elements necessary for passing through the exchange switch, such as the destination and whether or not the packet is a multicast packet.

【0004】よって、マルチキャストを行うパケットの
場合、このヘッダ部分の特定フィールドに、マルチキャ
ストであるというフラグを立てるとともに、マルチキャ
ストすべき宛先が書き込まれる。
[0004] Therefore, in the case of a packet to be multicast, a flag indicating that the packet is multicast is set in a specific field of the header portion, and a destination to be multicast is written.

【0005】これにより、パケットがスイッチに到着す
ると、このフィールドを読み込み、マルチキャストのフ
ラグが立っている場合は、出力すべきポートを決定し、
そのポートへ同時に送信を行うというものである。
Thus, when a packet arrives at the switch, this field is read, and if a multicast flag is set, a port to be output is determined.
It transmits to the port at the same time.

【0006】こういう方式には、「網制御方式」(特願
平2−238779号)がある。「網制御方式」は、複
数の連続したアドレスを持つ宛先へのパケットのマルチ
キャストを可能にしている。
As such a system, there is a "network control system" (Japanese Patent Application No. 2-238779). The “network control method” enables multicasting of a packet to a destination having a plurality of consecutive addresses.

【0007】ここで、従来方式について、実施例を挙
げ、詳しく説明する。
Here, the conventional system will be described in detail with reference to embodiments.

【0008】図3は、従来方式の交換スイッチ(SU:
Switching Unit)のブロック図である。
21バッファ、22クロスバースイッチ、及び23コン
トローラで構成されている。
FIG. 3 shows a conventional exchange switch (SU:
FIG. 3 is a block diagram of a switching unit.
It comprises 21 buffers, 22 crossbar switches, and 23 controllers.

【0009】21バッファは、SUに入力されたパケッ
トを蓄え、23コントローラの指示により、その蓄えた
パケットを、22クロスバースイッチを通して、次段の
SU、もしくは、PEへ書き込みを行う。また、21バ
ッファに蓄えられたパケットデータが、その容量に対し
ある程度以上になった場合には、その情報(fullf
lag)を、この21バッファにて接続された、前段の
SU、もしくは、PEに伝達する。
The buffer 21 stores the packet input to the SU, and writes the stored packet to the next SU or PE through the crossbar switch 22 according to the instruction of the controller 23. If the packet data stored in the buffer 21 exceeds a certain amount with respect to the capacity, the information (fullf
lag) is transmitted to the preceding SU or PE connected by the 21 buffer.

【0010】22クロスバースイッチは、N本の入力ラ
インとM本の出力ラインで構成された、N×Mのクロス
バースイッチであり、23コントローラの指示により、
各格子点上で接続を切り替える。通常は、一つの入力ラ
インは、一つの出力ラインに接続されるが、一つの入力
ラインに対し、複数の出力ラインに接続することもで
き、これがマルチキャストとなる。逆に、1つの出力ラ
インに対し、複数の入力ラインが接続されるようなこと
はない。つまり、ある出力ラインが既に入力ラインと接
続されている場合、その他の入力ラインはその出力ライ
ンに接続できないということになる。このような排他制
御を行うことで、複数のポートの並列動作が可能にな
る。
The 22 crossbar switch is an N × M crossbar switch composed of N input lines and M output lines.
Switch connections on each grid point. Normally, one input line is connected to one output line, but one input line can be connected to a plurality of output lines, which is multicast. Conversely, a plurality of input lines are not connected to one output line. That is, if an output line is already connected to an input line, the other input lines cannot be connected to the output line. By performing such exclusive control, parallel operation of a plurality of ports becomes possible.

【0011】23コントローラの動作については、制御
遷移図を用いて説明する。ただし、実際は全てのポート
が並列に動作するが、説明が繁雑になるため、ここでは
一つのポートに着目して説明を行う。
The operation of the 23 controller will be described with reference to a control transition diagram. However, although all ports actually operate in parallel, the description is complicated, so the description will be made focusing on one port.

【0012】図8は従来方式の交換スイッチの制御の遷
移を示している。それぞれの状態は、以下の通りであ
る。
FIG. 8 shows a control transition of the conventional exchange switch. The respective states are as follows.

【0013】(状態0)アイドル状態。パケットの到着
を待つ。パケットが到着したら状態1へ。
(State 0) Idle state. Wait for the packet to arrive. When the packet arrives, go to state 1.

【0014】(状態1)パケットヘッダのチェック。到
着パケットのヘッダを調べ、マルチキャストの場合は状
態2へ。それ以外は、通常のワームホールルーティング
(Wormhole Routing)による状態遷移
をする。
(State 1) Checking of packet header. Check the header of the arriving packet, and go to state 2 in case of multicast. In other cases, state transition is performed by normal wormhole routing.

【0015】(状態2)クロスバースイッチの接続を行
う。入力ラインを接続すべき全ての出力ラインと接続す
る。もし、接続すべき出力ラインの中に、既に外の入力
ラインと接続され、この入力ラインに接続できないもの
がある場合には、その出力ラインが接続が可能になるま
で待つ。全て接続できたら、状態3へ。
(State 2) The crossbar switch is connected. Connect the input lines to all output lines to be connected. If any of the output lines to be connected is already connected to an external input line and cannot be connected to this input line, wait until the output line can be connected. If everything is connected, go to state 3.

【0016】(状態3)マルチキャストの動作状態。1
つ以上のポートへパケットを出力できなくなった時には
状態4へ。全てのマルチキャストパケットを送信した
ら、状態0へ。また、ポートへ出力できない時とは、そ
のポートに接続されたSU、もしくは、PEからful
l flagが伝達された時のことである。
(State 3) Operation state of multicast. 1
When packets cannot be output to one or more ports, go to state 4. When all multicast packets have been transmitted, go to state 0. Also, when output to a port is not possible, the SU or PE connected to that port
It is when the l flag is transmitted.

【0017】(状態4)待機状態。全てのポートへ出力
できるようになったら、状態2へ。
(State 4) Standby state. When output to all ports is possible, go to state 2.

【0018】この従来例をまとめると、以下のようにな
る。
This conventional example is summarized as follows.

【0019】パケットがスイッチに到着し、21バッフ
ァに蓄えられると、23コントローラは21バッファよ
り、パケットのヘッダを読み込み、マルチキャストパケ
ットであるかどうかと、宛先を調べる(状態1)。マル
チキャストの場合、接続すべき全ての出力ラインと接続
できれば状態3へ、できない場合は接続できるまで待つ
(状態2)。全てのポートに出力できる場合は、マルチ
キャストを行う(状態3)。もし、1つ以上のポートへ
パケットを出力できなくなった時には、状態4へ行き、
全てのポートに出力できるまで待機する。
When the packet arrives at the switch and is stored in the buffer 21, the controller 23 reads the header of the packet from the buffer 21 and checks whether or not the packet is a multicast packet and the destination (state 1). In the case of multicast, if all output lines to be connected can be connected, the state goes to state 3; if not, the state waits until connection can be made (state 2). If output is possible to all ports, multicast is performed (state 3). If packets cannot be output to one or more ports, go to state 4,
Wait for output to all ports.

【0020】[0020]

【発明が解決しようとする課題】従来の「網制御方式」
では、フロー制御としてWormholeルーティング
を使用した場合、デッドロックを起こし得るという欠点
があった。
The conventional "network control system"
However, when the Wormhole routing is used as the flow control, there is a disadvantage that a deadlock may occur.

【0021】Wormholeルーティングとは、スイ
ッチにパケット全体が到着しなくても、パケットの宛先
を示すフィールドを読み込み、出力ポートが決定した時
点で、パケットを送信するフロー制御で、遅延時間の短
縮に効果をあげている。
Wormhole routing is a flow control in which a field indicating the destination of a packet is read even when the entire packet does not arrive at a switch, and the packet is transmitted when an output port is determined. This is effective in reducing delay time. Is raised.

【0022】しかしながら、このフロー制御を用いる
と、図6のようなデッドロックを起こす事が確認されて
いる。これは、PE0とPE10から(PE:Proc
essor Element)、同時にすべてのPEへ
マルチキャストを行おうとしたものである。この場合、
PE0からのパケットは、SU4、5へは送信できる
(SU:Switching Unit)が、SU6、
7へは送信できないため、SU0からの送信は止まって
しまい、SU0は、SU6、7へ送信できるようになる
のを待っている。また、PE10からのパケットは、逆
に、SU6、7へは送信できるが、SU4、5へは送信
できないため、SU2からの送信は止まってしまい、S
U2は、SU4、5へ送信できるようになるのを待って
いる。よって、両者は、デッドロックを起こしてしまう
のである。
However, it has been confirmed that the use of this flow control causes a deadlock as shown in FIG. This is from PE0 and PE10 (PE: Proc
Essor Element), which attempts to perform multicast to all PEs at the same time. in this case,
The packet from PE0 can be transmitted to SU4 and SU5 (SU: Switching Unit), while SU6,
Since transmission to SU7 is not possible, transmission from SU0 stops, and SU0 is waiting for transmission to SU6 and SU7. Conversely, the packet from the PE 10 can be transmitted to the SUs 6 and 7 but cannot be transmitted to the SUs 4 and 5, so that the transmission from the SU 2 stops, and
U2 is waiting for transmission to SU4,5. Therefore, both will cause a deadlock.

【0023】これは、Wormholeルーティングを
使用すると、マルチキャストの際、スイッチ内で1つで
も出力不可能なポートがある場合には、出力可能なポー
トがあっても、すべてのポートへ出力できなくなってし
まうということが根底にある。そして、この現象が、複
数のスイッチで起こった場合、デッドロックが起こるの
である。
[0023] This is because, when the Wormhole routing is used, if at least one port in the switch cannot be output at the time of multicasting, even if there is a port that can be output, output cannot be performed to all ports. Underlying is underlying. When this phenomenon occurs in a plurality of switches, a deadlock occurs.

【0024】本発明の目的は、Wormholeルーテ
ィングを使用した場合でも、デッドロックを回避したマ
ルチキャストの実現を提供することである。
It is an object of the present invention to provide a multicast implementation that avoids deadlock even when using Wormhole routing.

【0025】[0025]

【課題を解決するための手段】本発明に係るマルチキャ
スト方式及び交換スイッチは、Wormholeルーテ
ィングを用いた通信網もしくは計算機の多段網で、マル
チキャストを行う際に、あるスイッチにおいて1つ以上
のポートへパケットを出力できなくなった時には、出力
可能なポートへはパケットを送信しつつ、同時にマルチ
キャスト用バッファにパケットデータを蓄え、その後、
出力できなかったポートが、出力可能な状態になったと
きには、このマルチキャスト用バッファからデータを取
り出し送信することで、マルチキャストを実現すること
を特徴とする。
SUMMARY OF THE INVENTION A multicast system and an exchange switch according to the present invention, when performing multicast in a communication network using Wormhole routing or a multistage network of computers, send packets to one or more ports in a certain switch. When it becomes impossible to output the packet, the packet is transmitted to the port that can output the packet, and the packet data is simultaneously stored in the multicast buffer.
When a port that could not be output becomes available for output, multicast is realized by extracting data from the multicast buffer and transmitting it.

【0026】[0026]

【作用】本発明では、Wormholeルーティングを
用いた多段網でマルチキャストを行う際に、あるスイッ
チにおいて1つ以上のポートへパケットを出力できなく
なった時には、出力可能なポートへはパケットを送信し
つつ、同時にこのマルチキャスト用バッファにパケット
データを蓄える。その後、出力できなかったポートが、
出力可能な状態になったときには、このマルチキャスト
用バッファからデータを取り出し送信する。以上の制御
により、1つでも出力不可能なポートがある場合には、
出力可能なポートがあっても、すべてのポートへ出力で
きなくなってしまうというデッドロックの原因を取り除
くことができる。
According to the present invention, when multicast is performed in a multistage network using Wormhole routing, if a packet cannot be output to one or more ports in a switch, the packet is transmitted to a port that can output the packet. At the same time, packet data is stored in the multicast buffer. After that, the port that could not output,
When the output becomes possible, data is extracted from the multicast buffer and transmitted. With the above control, if there is even one port that cannot be output,
Even if there is a port that can be output, it is possible to eliminate the cause of a deadlock that prevents output to all ports.

【0027】[0027]

【実施例】本発明のマルチキャスト方法及び交換スイッ
チについて、実施例を挙げ、詳しく説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The multicast method and exchange switch of the present invention will be described in detail with reference to embodiments.

【0028】図4、及び、図5は、本発明に関するブロ
ック図を示している。
FIGS. 4 and 5 are block diagrams showing the present invention.

【0029】図4は、マルチキャスト用バッファとし
て、メモリを用いたN入力M出力の交換スイッチ(S
U)である。34マルチキャスト用メモリはバッファに
接続され、データは31バッファから32クロスバース
イッチを介さず34マルチキャスト用メモリに直接書き
込まれる。よって、34マルチキャスト用メモリ上のデ
ータは、32クロスバースイッチを通して、交換スイッ
チから出力される。この場合、従来の方法のハードウェ
ア以外に必要なものは、各々の交換スイッチにつき、パ
ケット最大長分の1つのマルチキャスト用メモリであ
る。この方法は、追加ハードウェア量が少なくてよいと
いう利点がある。
FIG. 4 shows an N-input M-output exchange switch (S) using a memory as a multicast buffer.
U). The 34-multicast memory is connected to the buffer, and data is written directly from the 31-buffer to the 34-multicast memory without passing through the 32 crossbar switch. Therefore, the data on the 34 multicast memory is output from the exchange switch through the 32 crossbar switch. In this case, what is required besides the hardware of the conventional method is one multicast memory corresponding to the maximum packet length for each exchange switch. This method has the advantage that the amount of additional hardware is small.

【0030】図5は、マルチキャスト用バッファとし
て、FIFOを用いた交換スイッチである。44マルチ
キャスト用FIFOはクロスバースイッチに接続され、
41バッファのデータは42クロスバースイッチを通し
て、44マルチキャスト用FIFOに書き込まれる。よ
って、44マルチキャスト用FIFO上のデータは、4
2クロスバースイッチを通らず、直接スイッチユニット
から出力される。この場合、従来の方法のハードウェア
以外に必要なものは、各々の交換スイッチにつき、それ
ぞれの出力ポートについて、パケット最大長分のマルチ
キャスト用FIFOである。この方法は、FIFOであ
るためバッファ制御が容易であるという利点がある。
FIG. 5 shows an exchange switch using a FIFO as a multicast buffer. 44 Multicast FIFO is connected to the crossbar switch,
The data in the 41 buffer is written to the 44 FIFO FIFO through the 42 crossbar switch. Therefore, the data on the 44 multicast FIFO is 4
It is output directly from the switch unit without passing through the two crossbar switches. In this case, what is required other than the hardware of the conventional method is a multicast FIFO for the maximum length of the packet for each output port for each exchange switch. This method has an advantage that buffer control is easy because of FIFO.

【0031】次に、各要素(バッファ、クロスバースイ
ッチ、コントローラ、マルチキャスト用バッファ)の動
作について、説明する。
Next, the operation of each element (buffer, crossbar switch, controller, multicast buffer) will be described.

【0032】バッファ、クロスバースイッチについて
は、メモリ型、FIFO型ともに、前述した従来型と共
通な動作であるので、ここでは省略する。コントロー
ラ、及びマルチキャスト用バッファの動作については、
制御遷移図を用いて説明する。
The operation of the buffer and the crossbar switch is the same as that of the above-mentioned conventional type for both the memory type and the FIFO type. For the operation of the controller and the buffer for multicast,
This will be described with reference to a control transition diagram.

【0033】図9、及び、図10は、各型におけるスイ
ッチのコントローラ制御の遷移を示している。
FIGS. 9 and 10 show the transition of the controller control of the switch in each type.

【0034】図9はマルチキャスト用バッファとしてメ
モリを用いたスイッチの制御の遷移を示している。それ
ぞれの状態は、以下の通りである。ただし、実際は全て
のポートが並列に動作するが、説明が繁雑になるため、
ここでは一つのポートに着目して説明を行う。
FIG. 9 shows a transition of control of a switch using a memory as a multicast buffer. The respective states are as follows. However, although all ports actually operate in parallel, the explanation becomes complicated,
Here, the description will focus on one port.

【0035】(状態0)アイドル状態。パケットの到着
を待つ。パケットが到着したら状態1へ。
(State 0) Idle state. Wait for the packet to arrive. When the packet arrives, go to state 1.

【0036】(状態1)パケットヘッダのチェック。到
着パケットのヘッダを調べ、マルチキャストの場合は状
態2へ。それ以外は、通常のWormholeルーティ
ングによる状態遷移をする。
(State 1) Checking of packet header. Check the header of the arriving packet, and go to state 2 in case of multicast. Otherwise, state transition is performed by normal Wormhole routing.

【0037】(状態2)マルチキャストが行われている
最中かどうかをチェックする。コントローラは、現在の
マルチキャストの動作状況を各ポート毎に把握してい
る。つまり、それぞれのポートへマルチキャストをして
いるのかどうか、及び、マルチキャストをしている際に
は、それぞれのポートへマルチキャスト用メモリ上のど
のデータを送っているかについて、コントローラ内にマ
ルチキャスト用レジスタを用意し、それに情報を保持し
ている。マルチキャスト用レジスタの値は、送信中は、
マルチキャスト用メモリ上の送信すべきデータ位置(ポ
インタ)を示し、送信完了時に、nullを示す。つま
り、マルチキャスト用レジスタが全てnullを示す時
がマルチキャストをしていない場合であり、この時は状
態3へ。マルチキャストをしている場合には、全てのポ
ートへの出力が終了するまで待機する。
(State 2) It is checked whether multicast is being performed. The controller keeps track of the current multicast operation status for each port. In other words, a multicast register is prepared in the controller as to whether or not multicast is being performed to each port, and when multicasting, which data in the multicast memory is being transmitted to each port. And hold information on it. During transmission, the value of the multicast register is
Indicates the data position (pointer) to be transmitted on the multicast memory, and indicates null when transmission is completed. That is, when all the multicast registers indicate null, it means that the multicast is not being performed. If multicasting is being performed, the process waits until output to all ports is completed.

【0038】(状態3)クロスバースイッチの接続を行
う。入力ラインを接続すべき全ての出力ラインと接続す
る。もし、接続すべき出力ラインの中に、既に外の入力
ラインと接続され、この入力ラインに接続できないもの
がある場合には、状態5へ、全て接続できたら状態4
へ。
(State 3) The crossbar switch is connected. Connect the input lines to all output lines to be connected. If any of the output lines to be connected is already connected to an external input line and cannot be connected to this input line, go to state 5;
What.

【0039】(状態4)マルチキャストの動作状態。1
つ以上のポートへパケットを出力できなくなった時には
状態5へ。また、ポートへ出力できない時とは、そのポ
ートに接続されたSU、もしくは、PEからfull
flagが伝達された時のことである。
(State 4) Multicast operation state. 1
When packets cannot be output to one or more ports, go to state 5. In addition, when output to a port is not possible, the SU or PE connected to the port is full.
This is when the flag is transmitted.

【0040】(状態5)マルチキャスト用メモリへデー
タを蓄える。出力可能なポートへはパケットを送信しつ
つ、同時にこのマルチキャスト用メモリにパケットデー
タを蓄え、接続不可能な出力ライン、もしくは、出力不
可能なポートについては、マルチキャスト用メモリ上の
送信すべきデータのポインタをマルチキャスト用レジス
タに保持する。送るべきマルチキャストパケットをバッ
ファから全て読みだした後、もし、接続不可能だったラ
イン、もしくは出力不可能だったポートが接続可能もし
くは出力可能な状態になれば、マルチキャスト用レジス
タに保持されている情報により、データを送信しつつ、
マルチキャスト用レジスタの値を逐次設定する。マルチ
キャスト用レジスタの全ての値がnullを示したら、
状態0へ。
(State 5) Data is stored in the multicast memory. At the same time as transmitting a packet to an output-capable port, packet data is stored in this multicast memory. For an unconnectable output line or a port that cannot be output, the data to be transmitted on the multicast memory is stored. The pointer is held in the multicast register. After reading all the multicast packets to be sent from the buffer, if a line that could not be connected or a port that could not be output becomes connectable or outputable, the information held in the multicast register Allows you to send data,
Set the value of the multicast register sequentially. If all values of the multicast register indicate null,
Go to state 0.

【0041】この実施例をまとめると、以下のようにな
る。
The following is a summary of this embodiment.

【0042】パケットがスイッチに到着すると、まず、
パケットがマルチキャストパケットがどうかを調べる
(状態1)。マルチキャストの場合は、マルチキャスト
用レジスタの値を確認し、1つでもnullでないもの
があれば、全てがnullになるまで待つ(状態2)。
マルチキャスト用レジスタの値が全てnullになった
ら、クロスバースイッチの接続を行い(状態3)、その
後、パケットデータの送信を開始する(状態4)。も
し、この状態において、接続不可能な出力ラインがある
か、もしくは、出力不可能なポートがある場合は、出力
可能なポートへはパケットデータを送信しつつ、パケッ
トデータをマルチキャスト用メモリに蓄え、マルチキャ
スト用レジスタにメモリのポインタを設定する。もし、
接続不可能もしくは出力不可能だったポートが接続可能
もしくは出力可能な状態になれば、マルチキャスト用メ
モリからそのポインタの示すデータを送信しつつ、その
ポートのマルチキャスト用レジスタの値を逐次設定す
る。マルチキャスト用レジスタの全ての値がnullを
示したら、パケットの受信待ち状態(状態0)となる。
When a packet arrives at the switch, first,
It is checked whether the packet is a multicast packet (state 1). In the case of multicast, the value of the multicast register is checked, and if at least one is not null, the process waits until all of them are null (state 2).
When all the multicast register values become null, the crossbar switch is connected (state 3), and then transmission of packet data is started (state 4). In this state, if there is an output line that cannot be connected, or if there is a port that cannot be output, the packet data is stored in the multicast memory while transmitting the packet data to the output-capable port, Set the memory pointer in the multicast register. if,
When the port that cannot be connected or output becomes connectable or outputable, the value of the multicast register of the port is sequentially set while transmitting the data indicated by the pointer from the multicast memory. When all the values of the multicast register indicate null, a packet reception waiting state (state 0) is set.

【0043】図10はマルチキャスト用バッファとして
FIFOを用いたスイッチの制御の遷移を示している。
それぞれの状態は、以下の通りである。ただし、実際は
全てのポートが並列に動作するが、説明が繁雑になるた
め、ここでは一つのポートに着目して説明を行う。
FIG. 10 shows the transition of control of a switch using a FIFO as a multicast buffer.
The respective states are as follows. However, although all ports actually operate in parallel, the description is complicated, so the description will be made focusing on one port.

【0044】(状態0)アイドル状態。パケットの到着
を待つ。パケットが到着したら状態1へ。
(State 0) Idle state. Wait for the packet to arrive. When the packet arrives, go to state 1.

【0045】(状態1)パケットヘッダのチェック。到
着パケットのヘッダを調べ、マルチキャストの場合は状
態2へ。それ以外は、通常のWormholeルーティ
ングによる状態遷移をする。
(State 1) Checking of packet header. Check the header of the arriving packet, and go to state 2 in case of multicast. Otherwise, state transition is performed by normal Wormhole routing.

【0046】(状態2)マルチキャストが行われている
最中かどうかをチェックする。出力すべきポートのマル
チキャスト用FIFOにデータがない場合は状態3へ。
それ以外の時は、前記の状態になるまで待つ。
(State 2) It is checked whether or not the multicast is being performed. If there is no data in the multicast FIFO of the port to be output, go to state 3.
At other times, it waits until the above state is reached.

【0047】(状態3)クロスバースイッチの接続を行
う。入力ラインを接続すべき全ての出力ラインと接続す
る。もし、接続すべき出力ラインの中に、既に外の入力
ラインと接続され、この入力ラインに接続できないもの
がある場合には、その出力ラインが接続可能になるまで
待つ。全て接続できたら、状態4へ。
(State 3) The crossbar switch is connected. Connect the input lines to all output lines to be connected. If any of the output lines to be connected is already connected to an external input line and cannot be connected to this input line, wait until the output line becomes connectable. If everything is connected, go to state 4.

【0048】(状態4)マルチキャストの動作状態。1
つ以上のポートへパケットを出力できなくなった時には
状態5へ。また、ポートへ出力できない時とは、そのポ
ートに接続されたSU、もしくは、PEからのfull
flagが伝達された時である。
(State 4) Multicast operation state. 1
When packets cannot be output to one or more ports, go to state 5. In addition, when output to a port is not possible, the SU or PE connected to that port
It is when the flag is transmitted.

【0049】(状態5)マルチキャスト用FIFOへデ
ータを蓄える。出力可能なポートへはパケットを送信し
つつ、同時に出力できないポートのマルチキャスト用F
IFOにパケットデータを蓄える。もし、出力不可能だ
ったポートが出力可能な状態になれば、マルチキャスト
用FIFOからデータを送信する。全てのマルチキャス
トパケットを送信したら、状態0へ。
(State 5) Data is stored in the multicast FIFO. Multicast F for ports that cannot transmit simultaneously while transmitting packets to ports that can output
The packet data is stored in the IFO. If the output-disabled port becomes available for output, data is transmitted from the multicast FIFO. When all multicast packets have been transmitted, go to state 0.

【0050】この実施例をまとめると、以下のようにな
る。
The following is a summary of this embodiment.

【0051】パケットがスイッチに到着すると、まず、
パケットがマルチキャストパケットがどうかを調べる
(状態1)。マルチキャストの場合は、出力すべきポー
トのマルチキャスト用FIFOにデータがあるかどうか
を確認し、データが存在したら、データがなくなるまで
待つ(状態2)。マルチキャスト用FIFOにデータが
なくなったら、クロスバースイッチの接続を行う。接続
すべき全ての出力ラインと接続できれば状態4へ、でき
ない場合は接続できるまで待つ(状態3)。全てのポー
トに出力できる場合は、パケットデータの送信を開始す
る(状態4)。もし、この状態において、出力できない
ポートがある場合は、出力できるポートへはパケットデ
ータを送信しつつ、パケットデータをマルチキャスト用
FIFOに蓄える。もし、出力不可能だったポートが出
力可能な状態になれば、マルチキャスト用FIFOから
データを送信する。全てのマルチキャストパケットを送
信したら、パケットの受信待ち状態(状態0)となる。
When a packet arrives at the switch, first,
It is checked whether the packet is a multicast packet (state 1). In the case of multicast, it is confirmed whether or not there is data in the multicast FIFO of the port to be output, and if there is data, it waits until there is no more data (state 2). When there is no more data in the multicast FIFO, a crossbar switch is connected. If all output lines to be connected can be connected, the state goes to state 4; if not, the state waits until connection can be made (state 3). If output is possible to all ports, transmission of packet data is started (state 4). If there is a port that cannot be output in this state, the packet data is stored in the multicast FIFO while transmitting the packet data to the port that can output. If the output-disabled port becomes available for output, data is transmitted from the multicast FIFO. When all the multicast packets have been transmitted, the state becomes a packet reception waiting state (state 0).

【0052】図7は、本発明のメモリ方式の交換スイッ
チにおいて、図6のデッドロックを回避した例である。
FIG. 7 shows an example in which the deadlock shown in FIG. 6 is avoided in the memory type exchange switch of the present invention.

【0053】これは、PE0とPE10から、同時にす
べてのPE(ProcessorElement)へマ
ルチキャストを行おうとしたものである。本発明を用い
た場合、PE0からのパケットは、SU4、5へは送信
できるが、SU6、7へは送信できないため、SU0
は、遅れないマルチキャストパケットのデータをマルチ
キャスト用メモリに退避している。また、PE10から
のパケットは、逆に、SU6、7へは送信できるが、S
U4、5へは送信できないため、遅れないマルチキャス
トのパケットのデータをマルチキャスト用メモリに退避
している。その後、SU0から、SU6、7へ送信可能
となったため、マルチキャスト用メモリから、データを
送信している。同様に、SU2から、SU4、5へ送信
可能となったため、マルチキャスト用メモリから、デー
タを送信している。
This is an attempt to simultaneously perform multicast from PE0 and PE10 to all PEs (Processor Elements). When the present invention is used, the packet from PE0 can be transmitted to SU4 and SU5, but cannot be transmitted to SU6 and SU7.
Saves the data of the multicast packet without delay to the multicast memory. On the other hand, the packet from the PE 10 can be transmitted to the SUs 6 and 7 on the contrary.
Since the data cannot be transmitted to U4 and U5, the data of the multicast packet without delay is saved in the multicast memory. Thereafter, since transmission from SU0 to SU6 and SU7 is enabled, data is transmitted from the multicast memory. Similarly, since transmission from SU2 to SU4 and SU5 is enabled, data is transmitted from the multicast memory.

【0054】このようなハードウェアと制御方式によ
り、wormholeルーティングをフロー制御として
使用した多段網においても、マルチキャストの際にデッ
ドロックを回避することができる。
With such hardware and a control method, deadlock can be avoided at the time of multicasting even in a multi-stage network using warmhole routing as flow control.

【0055】また、本発明は、マルチキャスト以外のパ
ケットは、従来と全く同じ制御方式で処理できるという
利点がある。
Further, the present invention has an advantage that packets other than the multicast can be processed by the same control method as the conventional one.

【0056】[0056]

【発明の効果】以上で説明したように、本発明では、W
ormholeルーティングを使用した多段結合網にお
いて、マルチキャストを行う際に、マルチキャスト用バ
ッファと、特別な制御方法により、デッドロックを回避
し、マルチキャストを実現できる。このマルチキャスト
は、一回の転送で行えるため、より高速なマルチキャス
トを可能としている。
As described above, according to the present invention, W
When performing multicast in a multistage interconnected network using ormhole routing, deadlock can be avoided and multicast can be realized by a multicast buffer and a special control method. Since this multicast can be performed by one transfer, higher-speed multicast is possible.

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

【図1】64PEの場合の多段結合網の例を示す図。FIG. 1 is a diagram showing an example of a multistage connection network in the case of 64 PE.

【図2】パケットを示す図。FIG. 2 is a diagram showing a packet.

【図3】従来の交換スイッチのブロック図。FIG. 3 is a block diagram of a conventional exchange switch.

【図4】本発明のメモリ型の交換スイッチのブロック
図。
FIG. 4 is a block diagram of a memory type exchange switch according to the present invention.

【図5】本発明のFIFO型の交換スイッチのブロック
図。
FIG. 5 is a block diagram of a FIFO type exchange switch of the present invention.

【図6】従来の交換スイッチの場合で起こるデッドロッ
クの例を示す図。
FIG. 6 is a diagram showing an example of deadlock occurring in the case of a conventional exchange switch.

【図7】図6のデッドロックを本発明の交換スイッチに
より回避した例を示す図。
FIG. 7 is a diagram showing an example in which the deadlock of FIG. 6 is avoided by the exchange switch of the present invention.

【図8】従来の制御方法の具体的な状態遷移図。FIG. 8 is a specific state transition diagram of a conventional control method.

【図9】本方式のメモリ型の交換スイッチの制御方法の
具体的な状態遷移図。
FIG. 9 is a specific state transition diagram of the control method of the memory type exchange switch of the present system.

【図10】本方式のFIFO型の交換スイッチの制御方
法の具体的な状態遷移図。
FIG. 10 is a specific state transition diagram of the control method of the FIFO type exchange switch of the present system.

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

11 交換スイッチ 12 入力ポート 13 出力ポート 14 パケット 15 ヘッダ 16 ボディ 21 バッファ 22 クロスバースイッチ 23 コントローラ 31 バッファ 32 クロスバースイッチ 33 コントローラ 34 マルチキャスト用メモリ 41 バッファ 42 クロスバースイッチ 43 コントローラ 44 マルチキャスト用FIFO DESCRIPTION OF SYMBOLS 11 Exchange switch 12 Input port 13 Output port 14 Packet 15 Header 16 Body 21 Buffer 22 Crossbar switch 23 Controller 31 Buffer 32 Crossbar switch 33 Controller 34 Multicast memory 41 Buffer 42 Crossbar switch 43 Controller 44 Multicast FIFO

フロントページの続き (58)調査した分野(Int.Cl.6,DB名) H04L 12/56 H04L 12/18 H04L 12/28 JICSTファイル(JOIS)Continuation of the front page (58) Field surveyed (Int.Cl. 6 , DB name) H04L 12/56 H04L 12/18 H04L 12/28 JICST file (JOIS)

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の入出力ポートを持った交換スイッチ
が複数接続され、ワームホールルーティングを用いた通
信網もしくは計算機の多段網におけるマルチキャスト方
法において、 前記あるスイッチのある入力ポートにて1つ以上の出力
ポートへマルチキャストパケットを出力できなくなった
時、出力可能な出力ポートへはマルチキャストパケット
を送信し、同時に、入力バッファとは別に備えたマルチ
キャスト用バッファにパケットデータを蓄え、前記出力
できなかった出力ポートが出力可能になった時、前記マ
ルチキャスト用バッファからパケットを送信することを
特徴とするマルチキャスト方法。
In a multicast method in a communication network or a multi-stage computer network using wormhole routing, a plurality of switching switches having a plurality of input / output ports are connected. When it is impossible to output the multicast packet to the output port, the multicast packet is transmitted to the output port that can output, and at the same time, the packet data is stored in the multicast buffer provided separately from the input buffer, and the output that cannot be output is output. A multicast method, comprising: transmitting a packet from the multicast buffer when a port becomes available for output.
【請求項2】パケットデータを蓄積するN個のバッファ
と、前記パケットデータのヘッダを解析し当該パケット
データを出力する出力ポートを決定するコントローラ
と、前記バッファに蓄積されたパケットデータをM個の
出力ポートのうち前記コントローラにより指定された出
力ポートに出力するN入力M出力のクロスバースイッチ
とを有し、ワームホールルーティングを用いた通信網も
しくは計算機の多段網における交換スイッチにおいて、 前記N個のバッファと前記クロスバースイッチの間に接
続され前記パケットデータを格納するマルチキャスト用
メモリを有し、 前記コントローラが、マルチキャストの際に1つ以上の
出力ポートへパケットを出力できなくなった時、出力可
能な出力ポートへはパケットデータを送信し、同時に前
記マルチキャスト用バッファにパケットデータを蓄積
し、前記出力できなかった出力ポートが出力可能になっ
た時、当該出力ポートに前記マルチキャスト用メモリか
らパケットデータを送信するように制御することを特徴
とする交換スイッチ。
2. An N buffer for storing packet data, a controller for analyzing a header of the packet data and determining an output port for outputting the packet data, and M packets for storing the packet data stored in the buffer. An N-input / M-output crossbar switch for outputting to an output port designated by the controller among the output ports, and a switching switch in a communication network or multi-stage computer network using wormhole routing, wherein the N A multicast memory connected between a buffer and the crossbar switch for storing the packet data, wherein the controller can output a packet when it is unable to output a packet to one or more output ports during multicasting Sends the packet data to the output port and at the same time The packet data is stored in a buffer for multicasting, and when the output port that could not be output becomes available for output, control is performed so that packet data is transmitted from the multicast memory to the output port. switch.
【請求項3】パケットデータを蓄積するN個のバッファ
と、前記パケットデータのヘッダを解析し当該パケット
データを出力する出力ポートを決定するコントローラ
と、前記バッファに蓄積されたパケットデータをM個の
出力ポートのうち前記コントローラにより指定された出
力ポートに出力するN入力M出力のクロスバースイッチ
とを有し、ワームホールルーティングを用いた通信網も
しくは計算機の多段網における交換スイッチにおいて、 前記M個の出力ポートと前記クロスバースイッチの間に
前記出力ポート毎に接続され前記パケットデータを格納
するM個のマルチキャスト用FIFOを有し、 前記コントローラが、マルチキャストの際に1つ以上の
出力ポートへパケットを出力できなくなった時、出力可
能な出力ポートへはパケットデータを送信し、同時に出
力できなくなった出力ポートでは対応する前記マルチキ
ャスト用FIFOにパケットデータを蓄積し、前記出力
できなかった出力ポートが出力可能になった時、当該出
力ポートに前記マルチキャスト用FIFOからパケット
データを送信するように制御することを特徴とする交換
スイッチ。
3. A buffer for storing packet data, a controller for analyzing a header of the packet data and determining an output port for outputting the packet data, and M packets for storing the packet data stored in the buffer. An N-input M-output crossbar switch for outputting to an output port designated by the controller among the output ports, and a switching switch in a communication network using wormhole routing or a multi-stage computer network; M multicast FIFOs are connected between the output ports and the crossbar switch for each of the output ports and store the packet data, and the controller transmits packets to one or more output ports at the time of multicast. When output is no longer possible, a packet is Data is transmitted, and at the output port that cannot be output at the same time, packet data is stored in the corresponding FIFO for multicast, and when the output port that cannot be output becomes available for output, the output port receives the packet from the FIFO for multicast. An exchange switch for controlling transmission of packet data.
JP10502595A 1995-04-28 1995-04-28 Multicast method and switching switch Expired - Fee Related JP2778520B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10502595A JP2778520B2 (en) 1995-04-28 1995-04-28 Multicast method and switching switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10502595A JP2778520B2 (en) 1995-04-28 1995-04-28 Multicast method and switching switch

Publications (2)

Publication Number Publication Date
JPH08305649A JPH08305649A (en) 1996-11-22
JP2778520B2 true JP2778520B2 (en) 1998-07-23

Family

ID=14396509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10502595A Expired - Fee Related JP2778520B2 (en) 1995-04-28 1995-04-28 Multicast method and switching switch

Country Status (1)

Country Link
JP (1) JP2778520B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4489308B2 (en) * 2001-01-05 2010-06-23 富士通株式会社 Packet switch
JP5347975B2 (en) 2008-02-08 2013-11-20 日本電気株式会社 Network switch, route setting method and program
US8792488B2 (en) 2009-04-28 2014-07-29 Nec Corporation Network switch, route setup method, program, and parallel computer system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2857446B2 (en) * 1990-02-05 1999-02-17 富士通株式会社 ATM switch
JPH0461533A (en) * 1990-06-29 1992-02-27 Nec Corp Network control system

Also Published As

Publication number Publication date
JPH08305649A (en) 1996-11-22

Similar Documents

Publication Publication Date Title
US6631484B1 (en) System for packet communication where received packet is stored either in a FIFO or in buffer storage based on size of received packet
US7773599B1 (en) Packet fragment handling
US5675736A (en) Multi-node network with internode switching performed within processor nodes, each node separately processing data and control messages
US7936758B2 (en) Logical separation and accessing of descriptor memories
EP0725351A2 (en) Expedited message transfer in a multi-nodal data processing system
KR980013147A (en) Message transmitting device and message transmission control method in packet interconnection network
CA2011935A1 (en) Dual-path computer interconnect system with four-ported packet memory control
JPH0981487A (en) Network data transfer method
US20030200363A1 (en) Adaptive messaging
JPH07262152A (en) Computer system
JP3075163B2 (en) Multiport frame exchange method
JPH0824320B2 (en) Method and device for buffer chaining in communication control device
US7124231B1 (en) Split transaction reordering circuit
US7174394B1 (en) Multi processor enqueue packet circuit
JP2778520B2 (en) Multicast method and switching switch
SE470299B (en) Queue system for selectors with "Fast-Circuit" characteristics
KR20220135562A (en) Serial communication method and system for memory access
US6282203B1 (en) Packet data transmitting apparatus, and method therefor
JPH07111507A (en) Data reception system and communication controller
JPS63257052A (en) Multiprocessor system
JPS60167546A (en) Transmission control system
KR0154489B1 (en) Apparatus for receiving/sending ipc message in atm switching system and method thereof
JPH10327175A (en) Switch and switching method
JP3409862B2 (en) Parallel processor system
JPH02190059A (en) Buffer controller

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980407

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

Free format text: PAYMENT UNTIL: 20090508

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100508

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110508

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110508

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120508

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120508

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20130508

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20140508

Year of fee payment: 16

LAPS Cancellation because of no payment of annual fees