JPWO2010058693A1 - Packet transfer device, inter-processor communication system, parallel processor system, and packet transfer method - Google Patents
Packet transfer device, inter-processor communication system, parallel processor system, and packet transfer method Download PDFInfo
- Publication number
- JPWO2010058693A1 JPWO2010058693A1 JP2010539197A JP2010539197A JPWO2010058693A1 JP WO2010058693 A1 JPWO2010058693 A1 JP WO2010058693A1 JP 2010539197 A JP2010539197 A JP 2010539197A JP 2010539197 A JP2010539197 A JP 2010539197A JP WO2010058693 A1 JPWO2010058693 A1 JP WO2010058693A1
- Authority
- JP
- Japan
- Prior art keywords
- packets
- processor
- communication
- packet
- communication path
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 148
- 238000012546 transfer Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims description 51
- 238000003860 storage Methods 0.000 claims abstract description 67
- 230000005540 biological transmission Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101100457838 Caenorhabditis elegans mod-1 gene Proteins 0.000 description 1
- 101150110972 ME1 gene Proteins 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
Abstract
第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置は、第1プロセッサが、複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する格納部と、通信中情報が格納部に格納されている状況で、転送先の切替え指示を受け付けると、複数のパケットのすべてが、転送先として設定された通信経路へ転送された後、転送先を、複数の通信経路のうちの他の通信経路に切り替える制御部と、を含む。A plurality of predetermined packets addressed to the second processor, which are sequentially transmitted from the first processor, are received, and the packets are transmitted to a communication path set as a transfer destination among a plurality of communication paths leading to the second processor. The packet transfer apparatus for transferring indicates that the first processor is communicating when one or more of the plurality of packets have been transmitted and all of the plurality of packets have not been transmitted. When receiving a transfer destination switching instruction in a situation where the communication information is stored in the storage unit and the communication information is stored in the storage unit, all of a plurality of packets are transferred to the communication path set as the transfer destination. And a control unit that switches the transfer destination to another communication path among the plurality of communication paths.
Description
本発明は、パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法に関し、例えば、並列コンピュータで使用されるパケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法に関する。 The present invention relates to a packet transfer apparatus, an interprocessor communication system, a parallel processor system, and a packet transfer method, and more particularly to a packet transfer apparatus, an interprocessor communication system, a parallel processor system, and a packet transfer method used in a parallel computer.
並列コンピュータでのプロセッサ間通信では、送信データが、複数のパケットに分割され、各パケットが、プロセッサ間ネットワークを通して、宛先のプロセッサまで転送される。プロセッサ間ネットワークには、クロスバスイッチ等のプロセッサ間データ転送装置が存在する。 In inter-processor communication in a parallel computer, transmission data is divided into a plurality of packets, and each packet is transferred to a destination processor through an inter-processor network. An inter-processor data transfer device such as a crossbar switch exists in the inter-processor network.
プロセッサ間通信では、複数のパケットの順序を保証しなければならない通信、つまり、パケットの送信順序の通りにパケットが受信されなければならない通信がある。以下、複数のパケットの順序を保証しなければならない通信を、「順序保証通信」と称する。 In the inter-processor communication, there is communication in which the order of a plurality of packets must be guaranteed, that is, communication in which packets must be received according to the packet transmission order. Hereinafter, communication in which the order of a plurality of packets must be guaranteed is referred to as “order guaranteed communication”.
順序保証通信の1つの例は、送信側が、送信データの分割によって生成されたパケットにシーケンス番号を付与して送信し、受信側が、パケットの受信時に、そのシーケンス番号の予測値と、到着したパケットに付与されたシーケンス番号と、を比較して、エラー検出をする通信である。 In one example of order-guaranteed communication, a transmission side assigns a sequence number to a packet generated by dividing transmission data and transmits the packet, and a reception side receives a predicted value of the sequence number and a packet that arrives when the packet is received. Is a communication for detecting an error by comparing the sequence number assigned to the.
この場合、もし、プロセッサ間ネットワーク内でパケット間の順序が変わると、受信側は、予測値と異なるシーケンス番号の付いたパケットを受信してしまい、エラーと判定する。 In this case, if the order of packets in the inter-processor network changes, the receiving side receives a packet with a sequence number different from the predicted value, and determines that it is an error.
順序保障通信の他の例は、受信側が、送信データの最後の部分を有するパケットを受信して、その最後の部分を書き込んだときに、送信データ全体の受信が完了したと判断する通信である。 Another example of order-guaranteed communication is communication in which the receiving side receives a packet having the last part of transmission data and determines that reception of the entire transmission data is completed when the last part is written. .
この場合、もし、プロセッサ間ネットワーク内でパケットの順序が変わると、1つの送信データから生成された複数のパケットのすべてが受信される前に、受信側は、受信完了と判断して送信データを読み出す。このため、1つの送信データのすべてが書き込まれる前の値が読み出されてしまう。 In this case, if the order of the packets is changed in the inter-processor network, the reception side determines that the reception is completed before receiving all of the plurality of packets generated from one transmission data. read out. For this reason, the value before all of one transmission data is written is read.
このように、プロセッサ間ネットワーク内でパケットの順序を保証することは重要なことである。 Thus, it is important to guarantee the order of packets within the interprocessor network.
順序保証が必要な通信は、1つの送信データの分割によって生成された複数のパケットが、同じプロセッサから、同じ宛先のプロセッサに送信される通信である。なお、パケットが、同じプロセッサから同じ宛先のプロセッサに送信される通信でも、異なる送信データから生成されたパケット間の順序保証は不要である。 Communication requiring order guarantee is communication in which a plurality of packets generated by dividing one transmission data are transmitted from the same processor to the same destination processor. Note that even in the case of communication in which packets are transmitted from the same processor to the same destination processor, it is not necessary to guarantee the order between packets generated from different transmission data.
特許文献1には、並列プロセッサ間のネットワークにおいて、故障情報を元にデータの転送経路を変更して故障スイッチを迂回する技術が開示されている。
特許文献2には、故障したクロスバスイッチの代わりに使用される部分ネットワークが予め決められている、プロセッサ間データ通信方法が開示されている。
並列コンピュータのプロセッサ間ネットワークで障害が発生した場合に障害箇所を切り離す障害処理において、特許文献1および2に記載されたように、単純に転送経路を変更して故障箇所を迂回するだけでは、順序保証が必要なパケットの順序を保証することができないという課題がある。
In the failure processing for isolating the failure location when a failure occurs in the network between the processors of the parallel computer, as described in
なぜなら、先行したパケットが通る経路と、後続のパケットが通る迂回経路とが異なるため、その経路間の混雑度の差によっては、パケットの到着順序が逆転する可能性があるためである。 This is because the route through which the preceding packet passes differs from the detour route through which the subsequent packet passes, and the arrival order of the packets may be reversed depending on the difference in the degree of congestion between the routes.
本発明の目的は、上述した課題を解決可能なパケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法を提供することである。 An object of the present invention is to provide a packet transfer apparatus, an interprocessor communication system, a parallel processor system, and a packet transfer method that can solve the above-described problems.
本発明のパケット転送装置は、第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置であって、前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する格納部と、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える制御部と、を含む。 The packet transfer apparatus of the present invention receives a plurality of predetermined packets addressed to the second processor, which are sequentially transmitted from the first processor one by one, and transmits the packets among the plurality of communication paths leading to the second processor. A packet transfer apparatus for transferring to a communication path set as a transfer destination, wherein the first processor has transmitted one or more packets of the plurality of packets, and all of the plurality of packets are transmitted. A storage unit that stores in-communication information indicating that communication is in progress when not transmitting, and in a situation where the in-communication information is stored in the storage unit, the transfer destination switching instruction is received, After all of the plurality of packets are transferred to the communication path set as the transfer destination, the transfer destination is switched to another communication path among the plurality of communication paths. It includes a part, a.
本発明のプロセッサ間通信システムは、前記パケット転送装置と、前記複数の通信経路と、を含む。 The inter-processor communication system of the present invention includes the packet transfer device and the plurality of communication paths.
本発明の並列プロセッサシステムは、前記プロセッサ間通信システムと、前記第1プロセッサと、前記第2プロセッサと、を含む。 The parallel processor system of the present invention includes the inter-processor communication system, the first processor, and the second processor.
本発明のパケット転送方法は、第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置が行うパケット転送方法であって、前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納部に格納し、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える。 The packet transfer method of the present invention receives a plurality of predetermined packets addressed to the second processor, which are sequentially transmitted from the first processor one by one, and transmits the packets to the second processor among the plurality of communication paths. A packet transfer method performed by a packet transfer apparatus that transfers to a communication path set as a transfer destination, wherein the first processor has transmitted one or more packets of the plurality of packets, and the plurality When not transmitting all of the packets, the communication information indicating that communication is in progress is stored in the storage unit, and the transfer destination is switched in a situation where the communication information is stored in the storage unit. When receiving the instruction, after all of the plurality of packets are transferred to the communication path set as the transfer destination, the transfer destination is changed to another of the plurality of communication paths. Switch to signal path.
本発明のパケット転送方法は、第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、前記複数の経路と、を含むプロセッサ間通信システムが行うパケット転送方法であって、前記パケット転送装置が、前記第1プロセッサが前記複数のパケットのうち1個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納部に格納し、前記パケット転送装置が、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える。 The packet transfer method of the present invention receives a plurality of predetermined packets addressed to the second processor, which are sequentially transmitted from the first processor one by one, and transmits the packets to the second processor among the plurality of communication paths. A packet transfer method performed by an inter-processor communication system including a packet transfer apparatus configured to transfer to a communication path set as a transfer destination and the plurality of paths, wherein the packet transfer apparatus is configured such that the first processor includes the plurality of the plurality of paths. The communication unit stores in-communication information indicating that communication is in progress when one or more packets have been transmitted and all of the plurality of packets have not been transmitted, and the packet transfer apparatus However, in a situation where the communication information is stored in the storage unit, when receiving the transfer destination switching instruction, all of the plurality of packets are: After being transferred to the set communication path as serial transfer destination, the transfer destination to switch to another communication path among the plurality of communication paths.
本発明のパケット転送方法は、第1プロセッサと、第2プロセッサと、前記第2プロセッサに通じる複数の通信経路と、前記第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、を含む並列プロセッサシステムが行う並列コンピュータシステムが行うパケット転送方法であって、前記パケット転送装置が、前記第1プロセッサが前記複数のパケットのうち1個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納部に格納し、前記パケット転送装置が、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える。 The packet transfer method according to the present invention includes a first processor, a second processor, a plurality of communication paths that communicate with the second processor, and a predetermined address addressed to the second processor that is sequentially transmitted from the first processor. A packet transfer method performed by a parallel computer system that includes a packet transfer apparatus that receives a plurality of packets and transfers the packets to a communication path set as a transfer destination among the plurality of communication paths. The packet transfer apparatus is in communication when the first processor has transmitted one or more of the plurality of packets and has not transmitted all of the plurality of packets. In-situ communication information is stored in the storage unit, and the packet transfer apparatus stores the in-communication information in the storage unit. When the transfer destination switching instruction is received, after all of the plurality of packets are transferred to the communication path set as the transfer destination, the transfer destination is changed to another communication of the plurality of communication paths. Switch to a route.
本発明によれば、通信経路の切り替えが生じる際にも、複数のパケットの順序を保証することが可能になる。 According to the present invention, it is possible to guarantee the order of a plurality of packets even when a communication path is switched.
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。 Hereinafter, the best mode for carrying out the present invention will be described in detail with reference to the drawings.
(第1の実施の形態)
図1は、本発明の第1の実施の形態の並列プロセッサシステム、プロセッサ間通信システムおよびパケット転送装置を示したブロック図である。(First embodiment)
FIG. 1 is a block diagram illustrating a parallel processor system, an interprocessor communication system, and a packet transfer apparatus according to a first embodiment of this invention.
図1において、並列プロセッサシステム1は、複数のネットワークプレーン101〜104と、複数のプレーン間クロスバ(プレーン間クロスバスイッチ)105〜112と、複数のプロセッサ113〜144と、を含む。
1, the
並列プロセッサシステム1では、プロセッサ113〜144が、相互に協調しあって並列演算を行う。プロセッサ113〜144のそれぞれは、一般的に、第1プロセッサおよび第2プロセッサと呼ぶことができる。
In the
プロセッサ113〜144のそれぞれは、他のプロセッサに送信すべきデータ(以下「送信用データ」と称する)があると、送信用データを分割して、他のプロセッサ宛ての複数のパケットを生成する。
When there is data to be transmitted to another processor (hereinafter referred to as “transmission data”), each of the
複数のパケットが順序保証を必要とする場合、プロセッサ113〜144のそれぞれは、複数のパケットのそれぞれに、順序保証を必要とする旨の情報を付加する。
When a plurality of packets require the order guarantee, each of the
順序保証を必要とする複数のパケットは、一般的に所定の複数のパケットと呼ぶことができる。この複数のパケットによって、1つの通信命令が構成される。 A plurality of packets requiring order guarantee can be generally called a predetermined plurality of packets. One communication command is constituted by the plurality of packets.
プロセッサ113〜144のそれぞれは、1つの通信命令を構成する個々のパケットを、1つずつ順番に、プロセッサ間ネットワーク2に送信する。
Each of the
プロセッサ間ネットワーク2は、一般的にプロセッサ間通信システムと呼ぶことができる。
プロセッサ間ネットワーク2は、プロセッサ113〜144のそれぞれと接続されている。プロセッサ間ネットワーク2は、複数のネットワークプレーン101〜104と、複数のプレーン間クロスバ105〜112と、を含む。
The
ネットワークプレーン101〜104は、一般的に複数の通信経路と呼ぶことができる。また、ネットワークプレーン101〜104は、互いに直接接続されていない独立した複数の部分ネットワークと呼ぶことができる。 Network planes 101-104 can generally be referred to as a plurality of communication paths. The network planes 101 to 104 can be called independent partial networks that are not directly connected to each other.
ネットワークプレーン101〜104のそれぞれは、8入力8出力のネットワークである。ネットワークプレーン101〜104のそれぞれは、8入力8出力の3個のクロスバ(クロスバスイッチ)145〜147を含む。 Each of the network planes 101 to 104 is an 8-input 8-output network. Each of the network planes 101 to 104 includes three crossbars (crossbar switches) 145 to 147 having eight inputs and eight outputs.
プレーン間クロスバ105〜112のそれぞれは、一般的にパケット転送装置と呼ぶことができる。
Each of the
プレーン間クロスバ105〜112のそれぞれは、ネットワークプレーン101〜104と接続されている。
Each of the
プレーン間クロスバ105は、プロセッサ113〜116とも接続されている。プレーン間クロスバ106は、プロセッサ117〜120とも接続されている。プレーン間クロスバ107は、プロセッサ121〜124とも接続されている。プレーン間クロスバ108は、プロセッサ125〜128とも接続されている。プレーン間クロスバ109は、プロセッサ129〜132とも接続されている。プレーン間クロスバ110は、プロセッサ133〜136とも接続されている。プレーン間クロスバ111は、プロセッサ137〜140とも接続されている。プレーン間クロスバ112は、プロセッサ141〜144とも接続されている。
The
プレーン間クロスバ105〜112のそれぞれは、8入力8出力のクロスバである。
Each of the
プレーン間クロスバ105〜112のそれぞれは、自己に接続されているプロセッサ(第1プロセッサ)から1つずつ順番に送信された他のプロセッサ(第2プロセッサ)宛ての複数のパケットを受信し、そのパケットのそれぞれを、ネットワークプレーン101〜104のうち転送先として設定されたネットワークプレーンに転送する。
Each of the
ネットワークプレーン101〜104のそれぞれは、プレーン間クロスバ105〜112のいずれかからパケットを受信すると、そのパケットに記載されたルーティングに関する情報に基づいて、そのパケットを、プレーン間クロスバ105〜112のいずれかに転送する。
When each of the network planes 101 to 104 receives a packet from any one of the
プレーン間クロスバ105〜112のそれぞれは、ネットワークプレーン101〜104のいずれかからパケットを受信すると、そのパケットに記載されたルーティングに関する情報に基づいて、そのパケットを、自己に接続されているプロセッサのいずれかに転送する。
When each of the
このため、ネットワークプレーン101〜104は、パケットの宛先のプロセッサに通じる複数の通信経路として機能する。 Therefore, the network planes 101 to 104 function as a plurality of communication paths leading to the packet destination processor.
ここでは、並列プロセッサシステム1の一例として、図1に示したような構成を示しているが、部分ネットワークであるネットワークプレーンの数、部分ネットワークのトポロジおよび構成、プレーン間クロスバのポート数および個数、並びに、プロセッサの個数は、任意である。
Here, as an example of the
図2は、プロセッサ間ネットワーク2で通信されるパケット200の形式を説明するための説明図である。
FIG. 2 is an explanatory diagram for explaining the format of the packet 200 communicated in the
図2において、パケット200は、プロセッサ113〜144のそれぞれによって生成される。本実施形態では、プロセッサ113〜144のそれぞれは、送信用データを分割することによって、複数のパケット200を生成する。プロセッサ113〜144のそれぞれは、個々のパケット200を、1つずつ順番に、プロセッサ間ネットワーク2に送信する。
In FIG. 2, the packet 200 is generated by each of the
パケット200は、経路指定情報201、順序保証フラグ202、ラストパケットフラグ203、パケット長204、および、データ205から構成される。
The packet 200 includes
経路指定情報201は、プロセッサ間ネットワーク2でのルーティングに用いられる。経路指定情報201は、第1経路指定情報206と、第2経路指定情報207と、第3経路指定情報208と、を含む。
The
第1経路指定情報206は、プレーン間クロスバ105〜112のうち、プロセッサ113〜144のいずれかからパケット200を受信したプレーン間クロスバ(以下「受信プレーン間クロスバ」と称する)によって使用される。
The
第1経路指定情報206は、ネットワークプレーン101〜104のうち、受信プレーン間クロスバからの送信先となるネットワークプレーン(以下「送信先ネットワークプレーン」と称する)を指定するための情報(ルーティングに関する情報)である。
The first
本実施形態では、第1経路指定情報206は、受信プレーン間クロスバの出力ポートのうち、送信先ネットワークプレーンと接続している出力ポート(宛先出力ポート)を指定する。
In the present embodiment, the first
第2経路指定情報207は、送信先ネットワークプレーンによって使用される。第2経路指定情報207は、プレーン間クロスバ105〜112のうち、送信先ネットワークプレーンからの送信先となるプレーン間クロスバ(以下「送信先プレーン間クロスバ」と称する)を指定するための情報(ルーティングに関する情報)である。
The
本実施形態では、第2経路指定情報207は、送信先ネットワークプレーンの出力ポートのうち、送信先プレーン間クロスバと接続している出力ポートを指定する。
In the present embodiment, the second
第3経路指定情報208は、送信先プレーン間クロスバによって使用される。第3経路指定情報208は、プロセッサ113〜144のうち、送信先プレーン間クロスバからの送信先となるプロセッサ(以下「送信先プロセッサ」と称する)を指定するための情報(ルーティングに関する情報)である。
The
本実施形態では、第3経路指定情報208は、送信先プレーン間クロスバの出力ポートのうち、送信先プロセッサと接続している出力ポートを指定する。
In the present embodiment, the third
順序保証フラグ202は、パケット200が、プロセッサ間ネットワーク2内で順序保証が必要なパケットかどうかを示す。
The
本実施形態では、順序保証フラグ202が“1”である場合は、パケット200は、順序保証が必要なパケットであることを示す。一方、順序保証フラグ202が“0”である場合は、パケット200は、順序保証が必要ないパケットであることを示す。
In this embodiment, when the
ラストパケットフラグ203は、パケット200が、1つの通信命令の最後のパケットであるかどうかを示す。
The
本実施形態では、ラストパケットフラグ203が“0”である場合は、パケット200は、1つの通信命令の最後のパケットでないことを示す。一方、ラストパケットフラグ203が“1”である場合は、パケット200は、1つの通信命令の最後のパケットであることを示す。
In the present embodiment, when the
パケット長204は、データ205の長さを指定する。
The
図3は、プレーン間クロスバ105の詳細を示した説明図である。図3において、図1に示したものと同一構成のものには同一符号を付してある。
FIG. 3 is an explanatory diagram showing details of the
図3では、図1に示したプレーン間クロスバ105を図示しているが、プレーン間クロスバ105〜112は、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。
FIG. 3 illustrates the
図3では、プレーン間クロスバ105でのネットワークプレーン行き方向のデータパスのみを図示している。なお、プレーン間クロスバ105でのプロセッサ行き方向のデータパスは、図4で説明する。
In FIG. 3, only the data path in the direction to the network plane in the
プレーン間クロスバ105は、ネットワークプレーン行き方向のデータパスについては、4つの入力ポート301〜304と、4つの出力ポート305〜308と、を含む。
The
出力ポート305に番号「0」が付してある。出力ポート306に番号「1」が付してある。出力ポート307に番号「2」が付してある。出力ポート308に番号「3」が付してある。なお、番号は、一般的に識別情報と呼ぶことができる。
The
4つの入力ポート301〜304のそれぞれは、プロセッサ113〜116のいずれかに接続されている。本実施形態では、入力ポート301はプロセッサ113と接続されている。入力ポート302はプロセッサ114と接続されている。入力ポート303はプロセッサ115と接続されている。入力ポート304はプロセッサ116と接続されている。
Each of the four
4つの出力ポート305〜308のそれぞれは、ネットワークプレーン101〜104のいずれかに接続されている。本実施形態では、出力ポート305はネットワークプレーン101と接続されている。出力ポート306はネットワークプレーン102と接続されている。出力ポート307はネットワークプレーン103と接続されている。出力ポート308はネットワークプレーン104と接続されている。
Each of the four
プレーン間クロスバ105は、格納部105a〜105dと、制御部105eと、を含む。
The
格納部105a〜105dのそれぞれは、一般的に格納手段と呼ぶことができる。
Each of
格納部105aは、切り替え状態レジスタ309と、切り替え先レジスタ310と、通常宛先レジスタ311と、仕掛中レジスタ312と、を含む。格納部105bは、切り替え状態レジスタ313と、切り替え先レジスタ314と、通常宛先レジスタ315と、仕掛中レジスタ316と、を含む。格納部105cは、切り替え状態レジスタ317と、切り替え先レジスタ318と、通常宛先レジスタ319と、仕掛中レジスタ320と、を含む。格納部105dは、切り替え状態レジスタ321と、切り替え先レジスタ322と、通常宛先レジスタ323と、仕掛中レジスタ324と、を含む。
The
制御部105eは、一般的に制御手段と呼ぶことができる。
制御部105eは、マルチプレクサ325〜328と、制御回路329〜332と、調停回路333〜336と、を含む。
調停回路333に番号「0」が付してある。調停回路334に番号「1」が付してある。調停回路335に番号「2」が付してある。調停回路336に番号「3」が付してある。
The
入力ポート301は、格納部105aと、制御回路329と、に対応づけられている。入力ポート302は、格納部105bと、制御回路330と、に対応づけられている。入力ポート303は、格納部105cと、制御回路331と、に対応づけられている。入力ポート304は、格納部105dと、制御回路332と、に対応づけられている。
The
出力ポート305は、マルチプレクサ325と、調停回路333と、に対応づけられている。出力ポート306は、マルチプレクサ326と、調停回路334と、に対応づけられている。出力ポート307は、マルチプレクサ327と、調停回路335と、に対応づけられている。出力ポート308は、マルチプレクサ328と、調停回路336と、に対応づけられている。
The
通常宛先レジスタ311、315、319および323のそれぞれは、出力ポート305〜308(番号「0」〜「3」)のそれぞれについて、その出力ポートに対応する調停回路の番号を格納する。
Each of the normal destination registers 311, 315, 319 and 323 stores the number of the arbitration circuit corresponding to the output port for each of the
図3では、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載してある0〜3の番号が、出力ポート305〜308の番号「0」〜「3」に対応する。
In FIG. 3, the
このため、通常宛先レジスタ311、315、319および323のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号0の列に存在する部分(レジスタ)に、出力ポート305に対応する調停回路の番号を格納する。
Therefore, each of the normal destination registers 311, 315, 319 and 323 is output to a portion (register) existing in the
また、通常宛先レジスタ311、315、319および323のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号1の列に存在する部分(レジスタ)に、出力ポート306に対応する調停回路の番号を格納する。
In addition, each of the normal destination registers 311, 315, 319 and 323 has an output port in a portion (register) existing in the
また、通常宛先レジスタ311、315、319および323のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号2の列に存在する部分(レジスタ)に、出力ポート307に対応する調停回路の番号を格納する。
In addition, each of the normal destination registers 311, 315, 319 and 323 has an output port in a portion (register) existing in the
また、通常宛先レジスタ311、315、319および323のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号3の列に存在する部分(レジスタ)に、出力ポート308に対応する調停回路の番号を格納する。
In addition, each of the normal destination registers 311, 315, 319 and 323 has an output port in a part (register) existing in the column of
切り替え先レジスタ310、314、318および322のそれぞれは、出力ポート305〜308(番号「0」〜「3」)のそれぞれについて、その出力ポートから切り替えられる出力ポートに対応する調停回路の番号を格納する。
Each of the switching destination registers 310, 314, 318, and 322 stores the number of the arbitration circuit corresponding to the output port switched from the output port for each of the
切り替え先レジスタ310、314、318および322のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号0の列に存在する部分(レジスタ)に、出力ポート305の切り替え先の出力ポートに対応する調停回路の番号を格納する。
Each of the switching destination registers 310, 314, 318, and 322 has a portion (register) in the column of
切り替え先レジスタ310、314、318および322のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号1の列に存在する部分(レジスタ)に、出力ポート306の切り替え先の出力ポートに対応する調停回路の番号を格納する。
Each of the switching destination registers 310, 314, 318, and 322 is connected to a portion (register) that exists in the
切り替え先レジスタ310、314、318および322のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号2の列に存在する部分(レジスタ)に、出力ポート307の切り替え先の出力ポートに対応する調停回路の番号を格納する。
Each of the switching destination registers 310, 314, 318, and 322 has a portion (register) in the column of
切り替え先レジスタ310、314、318および322のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号3の列に存在する部分(レジスタ)に、出力ポート308の切り替え先の出力ポートに対応する調停回路の番号を格納する。
Each of the switch destination registers 310, 314, 318, and 322 is connected to the portion (register) of the
本実施形態では、切り替え先レジスタ310、314、318および322のそれぞれは、出力ポート305〜308(番号「0」〜「3」)のそれぞれについて、その出力ポートの番号に1を加えてmod4を計算した値を、切り替え先の出力ポートに対応する調停回路の番号として格納している。
In this embodiment, each of the switching destination registers 310, 314, 318, and 322 adds
切り替え状態レジスタ309、313、317および321のそれぞれは、出力ポート305〜308(番号「0」〜「3」)のそれぞれについて、その出力ポートの切り替えの状態を表す切り替え状態情報(「0」〜「3」のいずれか)を格納する。
Each of the switching status registers 309, 313, 317 and 321 includes switching status information (“0” to “0”) indicating the switching status of the output port for each of the
切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号0の列に存在する部分(レジスタ)に、出力ポート305についての切り替え状態情報を格納する。
Each of the switching status registers 309, 313, 317, and 321 stores switching status information about the
切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号1の列に存在する部分(レジスタ)に、出力ポート306についての切り替え状態情報を格納する。
Each of the switching status registers 309, 313, 317, and 321 stores the switching status information for the
切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号2の列に存在する部分(レジスタ)に、出力ポート307についての切り替え状態情報を格納する。
Each of the switching status registers 309, 313, 317, and 321 stores the switching status information for the
切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号3の列に存在する部分(レジスタ)に、出力ポート308についての切り替え状態情報を格納する。
Each of the switching status registers 309, 313, 317, and 321 stores the switching status information for the
ある出力ポートに接続されているネットワークプレーンに障害が発生していない場合は、その出力ポートを他の出力ポートに切り替える必要がない。出力ポートを切り替えない場合、その出力ポートに対応する切り替え状態情報として「0」が格納される。切り替え状態情報が「0」である場合には、通常宛先レジスタ内の番号が使用される。 If there is no failure in the network plane connected to a certain output port, it is not necessary to switch the output port to another output port. When the output port is not switched, “0” is stored as the switching state information corresponding to the output port. When the switching status information is “0”, the number in the normal destination register is used.
ある出力ポートに接続されているネットワークプレーンに障害が発生して他のネットワークプレーンを使用するために、その出力ポートを他の出力ポートに切り替える場合は、切り替え状態情報が、「0」から「1」に変更される。 When a failure occurs in a network plane connected to a certain output port and the other port is used to switch the output port to another output port, the switching state information is changed from “0” to “1”. Is changed.
切り替え状態情報が「1」である場合には、パケット200が、順序保証が必要なパケットかどうか、および、パケット200が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。 When the switching state information is “1”, the packet 200 is in the normal destination register depending on whether the packet 200 is a packet that requires the order guarantee and the packet number of the packet that requires the order guarantee. Or the number in the switch destination register is used.
使用する番号の決定方法と切り替え状態情報が「1」から「2」になる場合については、あとで図5を使って説明する。 The method for determining the number to be used and the case where the switching state information changes from “1” to “2” will be described later with reference to FIG.
切り替え状態情報が「2」の場合には、必ず、切り替え先レジスタ内の番号が使用される。 When the switching state information is “2”, the number in the switching destination register is always used.
プレーン間クロスバ105〜112の出力ポートのうち、故障が発生したネットワークプレーンに接続されたすべての出力ポートの切り替え状態情報が、「1」から「2」になると、障害が発生したネットワークプレーンは使われなくなる。
When the switching status information of all the output ports connected to the network plane where the failure occurred among the output ports of the
この時点で、障害が発生したネットワークプレーンを、並列プロセッサシステム1から切り離すことが可能となる。このため、この時点で、障害が発生したネットワークプレーンについて、保守が行われる。
At this point, the network plane where the failure has occurred can be disconnected from the
そして、障害が発生したネットワークプレーンが修理され、再び、並列プロセッサシステム1に組み込まれる。この時点で、障害が発生したネットワークプレーンに接続されていた出力ポートの切り替え状態情報が、「2」から「3」に変更される。
Then, the network plane in which the failure has occurred is repaired and incorporated into the
切り替え状態情報が「3」である場合には、パケット200が、順序保証が必要なパケットかどうか、および、パケット200が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。 When the switching state information is “3”, the packet 200 is in the normal destination register depending on whether the packet 200 is a packet that requires order guarantee and the number of the packet that requires the order guarantee. Or the number in the switch destination register is used.
使用する番号の決定方法と切り替え状態情報が「3」から「0」になる場合については、あとで図5を使って説明する。 The method of determining the number to be used and the case where the switching state information changes from “3” to “0” will be described later with reference to FIG.
図3に示した例は、まだ、障害が発生していない状態を示している。このため、切り替え状態情報は、すべて「0」である。 The example shown in FIG. 3 shows a state where no failure has occurred yet. Therefore, all the switching state information is “0”.
仕掛中レジスタ312、316、320および324のそれぞれは、自己に対応する入力ポートに接続されたプロセッサが、順序保証が必要な複数のパケットのうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報「1」を格納する。 Each of the in-progress registers 312, 316, 320, and 324 has a processor connected to its corresponding input port having transmitted one or more packets out of a plurality of packets that require an order guarantee, and When all of the plurality of packets are not transmitted, communication information “1” indicating that communication is in progress is stored.
順序保証が必要なパケットとは、複数のパケット間のプロセッサ間ネットワーク2内での順序を保証し、送り元プロセッサから送信されたパケットの順序と宛先プロセッサへの到着順序とが同じになることを保証する必要があるパケットである。
Packets that require an order guarantee guarantee the order in the
プロセッサ間ネットワーク2内でパケットの順序が逆転すると、エラーが発生したり、宛先プロセッサによるメモリ(不図示)へのデータの書込みの順序を保証できなくなるなどの問題が発生する。
When the order of the packets is reversed in the
制御回路329〜332のそれぞれは、自己に対応する入力ポートから、順序保証が必要な複数のパケットのうち最初に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタに、「1」(通信中情報)を格納する。
When each of the
そして、制御回路329〜332のそれぞれは、自己に対応する入力ポートから、順序保証の必要な複数のパケットのうち最後に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタ内の「1」(通信中情報)を削除して「0」を格納する。
When each of the
制御回路329〜332のそれぞれは、自己に対応する入力ポートから受信したパケット200が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであるかどうかを、図2に示したラストパケットフラグ202の状態を調べて判定する。
Each of the
ラストパケットフラグ202が“0”である場合、制御回路329〜332のそれぞれは、パケット200が、順序保証の必要な複数のパケットのうち最後に送信されたパケットでないと判定する。
When the
一方、ラストパケットフラグ202が“1”である場合、制御回路329〜332のそれぞれは、パケット200が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであると判定する。
On the other hand, when the
また、制御回路329〜332のそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「0」で、かつ、順序保証が必要なパケット200が到着した場合、そのパケット200が、順序保証の必要な複数のパケットのうち最初に送信されたパケットであると判定する。
In addition, each of the
制御回路329〜332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート305に転送する場合、調停回路333に、送信用のリクエストを送信する。
When each of the
制御回路329〜332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート306に転送する場合、調停回路334に、送信用のリクエストを送信する。
When each of the
制御回路329〜332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート307に転送する場合、調停回路335に、送信用のリクエストを送信する。
When each of the
制御回路329〜332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート308に転送する場合、調停回路336に、送信用のリクエストを送信する。
When each of the
制御回路329〜332のそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「1」で、かつ、順序保証が必要なパケット200が到着した場合、パケット200の宛先(転送先)となる出力ポートの切り替えを行わない。
Each of the
なぜなら、2つのパケットが異なるネットワークプレーンを通ると、プロセッサ間ネットワーク2内での順序保証ができないからである。
This is because if two packets pass through different network planes, the order in the
例えば、先に来たパケットが通るネットワークプレーンが混雑していて、後から来たパケットが通るネットワークプレーンが空いていると、宛先となっているプロセッサへの到着順序が逆転してしまう。 For example, if the network plane through which the earlier packet passes is congested and the network plane through which the later packet passes is free, the arrival order at the destination processor is reversed.
マルチプレクサ325〜328のそれぞれは、自己と同じ出力ポートに対応する調停回路からの指示に基づいて、4つの入力ポート301〜304から1つの入力ポートを選択する。マルチプレクサ325〜328のそれぞれは、その選択された入力ポートからのパケット200を、自己に対応する出力ポートに転送する。
Each of the
調停回路333〜336のそれぞれは、制御回路329〜332のいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。
When each of the
格納部105a〜105bのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケット(例えば、順序保証が必要な複数のパケット)のうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。
In each of the
なお、所定の複数のパケットは、順序保証が必要な複数のパケットであることが望ましいが、順序保証が必要な複数のパケットの他に、他のパケットが含まれてもよい。この場合、他のパケットも含めて、順序を保証することができる。 Note that the predetermined plurality of packets are preferably a plurality of packets that require the order guarantee, but other packets may be included in addition to the plurality of packets that require the order guarantee. In this case, the order can be guaranteed including other packets.
制御部105eは、ある1つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。
When the
制御部105eは、格納部105a〜105bのうち、ある1つの入力ポートに対応する格納部が、通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてを、転送先として設定されたネットワークプレーンへ転送した後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。
The
図4は、プレーン間クロスバ105でのプロセッサ行き方向のデータパスのみを示した説明図である。なお、図4において、図1に示したものと同一構成のものには同一符号を付してある。
FIG. 4 is an explanatory diagram showing only a data path in the direction to the processor in the
図4では、図1に示したプレーン間クロスバ105を図示しているが、プレーン間クロスバ105〜112は、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。
In FIG. 4, the
プレーン間クロスバ105は、プロセッサ行き方向のデータパスについては、4つの入力ポート401〜404と、4つの出力ポート405〜408と、を含む。
The
また、プレーン間クロスバ105は、マルチプレクサ409〜412と、制御回路413〜416と、調停回路417〜420と、を含む。
The
本実施形態では、調停回路417に番号「4」が付してある。調停回路418に番号「5」が付してある。調停回路419に番号「6」が付してある。調停回路420に番号「7」が付してある。
In the present embodiment, the
4つの入力ポート401〜404のそれぞれは、ネットワークプレーン101〜104のいずれかに接続されている。本実施形態では、入力ポート401はネットワークプレーン101と接続されている。入力ポート402はネットワークプレーン102と接続されている。入力ポート403はネットワークプレーン103と接続されている。入力ポート404はネットワークプレーン104と接続されている。
Each of the four
入力ポート401は、制御回路413に対応づけられている。入力ポート402は、制御回路414に対応づけられている。入力ポート403は、制御回路415に対応づけられている。入力ポート404は、制御回路416に対応づけられている。
The
4つの出力ポート405〜408のそれぞれは、プロセッサ113〜116のいずれかに接続されている。本実施形態では、出力ポート405はプロセッサ113と接続されている。出力ポート406はプロセッサ114と接続されている。出力ポート407はプロセッサ115と接続されている。出力ポート408はプロセッサ116と接続されている。
Each of the four
出力ポート405は、マルチプレクサ409と、調停回路417と、に対応づけられている。出力ポート406は、マルチプレクサ410と、調停回路418と、に対応づけられている。出力ポート407は、マルチプレクサ411と、調停回路419と、に対応づけられている。出力ポート408は、マルチプレクサ412と、調停回路420と、に対応づけられている。
The
制御回路413〜416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート405に転送する場合、調停回路417に、送信用のリクエストを送信する。
When each of the
制御回路413〜416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート406に転送する場合、調停回路418に、送信用のリクエストを送信する。
When each of the
制御回路413〜416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート407に転送する場合、調停回路419に、送信用のリクエストを送信する。
When each of the
制御回路413〜416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート408に転送する場合、調停回路420に、送信用のリクエストを送信する。
When each of the
マルチプレクサ409〜412のそれぞれは、自己と同じ出力ポートに対応する調停回路からの指示に基づいて、4つの入力ポート401〜404から1つの入力ポートを選択する。マルチプレクサ409〜412のそれぞれは、その選択された入力ポートからのパケット200を、自己に対応する出力ポートに転送する。
Each of the
調停回路417〜420のそれぞれは、制御回路413〜416のいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。
When each of the
次に、動作を説明する。 Next, the operation will be described.
図5は、プレーン間クロスバでのネットワークプレーン行き方向のデータパスでの処理を説明するためのフローチャートである。 FIG. 5 is a flowchart for explaining processing in the data path in the direction to the network plane in the crossbar between planes.
以下では、プロセッサ113が、入力ポート301に、パケット200を送信した場合を例にとって説明する。なお、他のプロセッサがパケット200を送信した場合では、パケット200が入力される入力ポートと、処理を実行する制御回路と、使用される格納部とが、異なるだけなので、その説明は省略する。
Hereinafter, a case where the
制御回路329は、入力ポート301からパケット200を受信すると、まず、パケット200内の第1経路指定情報206で示された宛先出力ポートを確認し、切り替え状態レジスタ309内の切り替え状態情報のうち、その宛先出力ポートに対応する切り替え状態情報(以下、「対応切り替え状態情報」と称する)を調べる(ステップ501)。
When receiving the packet 200 from the
まず、対応切り替え状態情報が「0」か「2」である場合、つまり、ステップ502の場合には、制御回路329は、パケット200が順序保証を必要とするパケットかどうかを調べる(ステップ503)。
First, when the correspondence switching state information is “0” or “2”, that is, in the case of
パケット200の順序保証フラグ202が“1”の場合、つまり、ステップ504の場合、制御回路329は、仕掛中レジスタ312の値を調べる(ステップ505)。
When the
仕掛中レジスタ312が「1」を格納している場合、つまり、ステップ506の場合には、制御回路329は、パケット200のラストパケットフラグ203を調べる(ステップ507)。
When the in-
そして、ラストパケットフラグ203が、“1”すなわち最後のパケットであることを示している場合、つまり、ステップ508の場合は、制御回路329は、仕掛中レジスタ312の値を「1」から「0」に変更する(ステップ509)。
If the
ラストパケットフラグ203が、“0”すなわち最後のパケットでないことを示している場合、つまり、ステップ510の場合は、制御回路329は、仕掛中レジスタ312の値を変更しない。
When the
仕掛中レジスタ312が「0」を格納している場合、つまり、ステップ511の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路329は、仕掛中レジスタ312に「1」を格納する(ステップ512)。
When the in-
パケット200の順序保証フラグ202が“0”である場合、つまり、ステップ513の場合は、制御回路329は、仕掛中レジスタ312の値を変更しない。
When the
制御回路329は、ステップ509、510、512または513に続いて、対応切り替え状態情報が、「0」なのか「2」なのかを調べる(ステップ514)。
Following
対応切り替え状態情報が「0」である場合、つまり、ステップ515の場合は、制御回路329は、通常宛先レジスタ311内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ516)。
When the correspondence switching state information is “0”, that is, in the case of
対応切り替え状態情報が「2」である場合、つまり、ステップ517の場合は、制御回路329は、切り替え先レジスタ310内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ518)。
When the correspondence switching state information is “2”, that is, in the case of
次に、対応切り替え状態情報が「1」である場合、つまり、ステップ519の場合は、宛先出力ポートに接続されたネットワークプレーンに障害が発生し、制御回路329が、転送先の切替え指示を受け付け、対応切り替え状態情報に「1」を格納した状態である。
Next, when the correspondence switching state information is “1”, that is, in the case of
この場合、制御回路329は、まず、パケット200が順序保証を必要とするパケットかどうかを調べる(ステップ520)。
In this case, the
パケット200の順序保証フラグ202が“1”である場合、つまり、ステップ521の場合、制御回路329は、仕掛中レジスタ312の値を調べる(ステップ522)。
When the
仕掛中レジスタ312が「1」を格納している場合、つまり、ステップ523の場合には、制御回路329は、パケット200のラストパケットフラグ203を調べる(ステップ524)。
When the in-
そして、ラストパケットフラグ203が、“1”すなわち最後のパケットであることを示している場合、つまり、ステップ525の場合は、制御回路329は、仕掛中レジスタ312の値を「1」から「0」に変更する(ステップ526)。
When the
続いて、制御回路329は、通常宛先レジスタ311内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ527)。
Subsequently, the
ラストパケットフラグ203が、“0”すなわち最後のパケットでないことを示している場合、つまり、ステップ528の場合は、制御回路329は、仕掛中レジスタ312の値を変更せずに、ステップ527を実行する。
When the
仕掛中レジスタ312が「0」を格納している場合、つまり、ステップ529の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路329は、順序保証が必要な複数のパケットのすべてを、切り替え先のネットワークプレーンに送ることができる。
When the in-
したがって、制御回路329は、対応切り替え状態情報を「1」から「2」に変更し(ステップ530)、仕掛中レジスタ312に「1」を格納する(ステップ531)。
Therefore, the
続いて、制御回路329は、切り替え先レジスタ310内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ532)。
Subsequently, the
パケット200の順序保証フラグ202が“0”である場合、つまり、ステップ533の場合は、制御回路329は、ステップ532を実行する。
When the
最後に、対応切り替え状態情報が「3」である場合、つまり、ステップ534の場合は、宛先出力ポートに接続されているネットワークプレーンが復旧され、そのネットワークプレーンが利用できる状態である。
Finally, when the correspondence switching state information is “3”, that is, in the case of
この場合、制御回路329は、まず、パケット200が順序保証を必要とするパケットかどうかを調べる(ステップ535)。
In this case, the
パケット200の順序保証フラグ202が“1”である場合、つまり、ステップ536の場合、制御回路329は、仕掛中レジスタ312の値を調べる(ステップ537)。
When the
仕掛中レジスタ312が「1」を格納している場合、つまり、ステップ538の場合には、制御回路329は、パケット200のラストパケットフラグ203を調べる(ステップ539)。
If the in-
そして、ラストパケットフラグ203が、“1”すなわち最後のパケットであることを示している場合、つまり、ステップ540の場合は、制御回路329は、仕掛中レジスタ312の値を「1」から「0」に変更する(ステップ541)。
When the
続いて、制御回路329は、切り替え先レジスタ310内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ542)。
Subsequently, the
ラストパケットフラグ203が、“0”すなわち最後のパケットでないことを示している場合、つまり、ステップ543の場合は、制御回路329は、仕掛中レジスタ312の値を変更せずに、ステップ542を実行する。
When the
仕掛中レジスタ312が「0」を格納している場合、つまり、ステップ544の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路329は、順序保証が必要な複数のパケットのすべてを、通常の宛先のネットワークプレーンに送ることができる。
When the in-
したがって、制御回路329は、対応切り替え状態情報を「3」から「0」に変更し(ステップ545)、仕掛中レジスタ312に「1」を格納する(ステップ546)。
Therefore, the
続いて、制御回路329は、通常宛先レジスタ311内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ547)。
Subsequently, the
パケット200の順序保証フラグ202が“0”である場合、つまり、ステップ548の場合は、制御回路329は、ステップ547を実行する。
When the
次に、図6A〜6Eを用いて、本発明の実施の形態のプレーン間クロスバの動作について説明する。図6A〜6Eにおいて、図3に示したものと同一構成のものには同一符号を付してある。 Next, the operation of the interplane crossbar according to the embodiment of the present invention will be described with reference to FIGS. 6A to 6E, the same components as those shown in FIG.
図6Aは、ネットワークプレーン102に障害が発生する直前の状態を示した説明図である。切り替え状態レジスタ309、313、317および321のすべては、切り替え状態情報として、「0」を格納している。
FIG. 6A is an explanatory diagram showing a state immediately before a failure occurs in the
図6Bは、ネットワークプレーン102に障害が発生した直後の状態を示した説明図である。切り替え状態レジスタ309、313、317および321のすべてにおいて、出力ポート306(番号「1」)に対応するレジスタ601〜604が、切り替え状態情報として「1」を格納している。
FIG. 6B is an explanatory diagram showing a state immediately after a failure has occurred in the
図6Cは、入力ポート301および303にパケットが到着して処理される状況を示した説明図である。
FIG. 6C is an explanatory diagram showing a situation where a packet arrives at the
まず、プロセッサ113から、順序保証が必要な、出力ポート306宛のパケット605が、入力ポート301に到着する。
First, a
このとき、入力ポート301に対応する仕掛中レジスタ312は「1」を格納している。このため、切り替え状態レジスタ309内のレジスタ601が「1」を格納していても、制御回路329は、通常宛先レジスタ311内の番号の中から、出力ポート306に対応する番号「1」606を特定し、その番号「1」が付与されている調停回路334にリクエストを送って、ネットワークプレーン102にパケット605を送る。
At this time, the in-
次に、プロセッサ115から、順序保証が必要な、出力ポート306宛のパケット607が、入力ポート303に到着する。
Next, a
このとき、入力ポート303に対応する仕掛中レジスタ320は「0」を格納している。このため、制御回路331は、パケット607が、順序保証が必要な複数のパケットの最初のパケットであると判定する。
At this time, the in-
したがって、制御回路331は、切り替え状態レジスタ317内のレジスタ603の値を「1」から「2」に変更し、仕掛中レジスタ320の値を「0」から「1」に変更し、切り替え先レジスタ318内の番号の中から、出力ポート306に対応する番号「2」608を特定し、その番号「2」が付与されている調停回路335にリクエストを送って、ネットワークプレーン103にパケット607を送る。
Therefore, the
図6Dは、障害が発生して切り離されていたネットワークプレーン102が復旧した直後の状態を示した説明図である。切り替え状態レジスタ309、313、317および321のすべてにおいて、出力ポート306(番号「1」)に対応するレジスタ601〜604が、切り替え状態情報として「3」を格納している。
FIG. 6D is an explanatory diagram showing a state immediately after the
図6Eは、入力ポート301および304にパケットが到着して処理される状況を示した説明図である。
FIG. 6E is an explanatory diagram showing a situation in which a packet arrives at the
まず、プロセッサ113から、順序保証が必要な、出力ポート306宛のパケット609が、入力ポート301に到着する。
First, a
このとき、入力ポート301に対応する仕掛中レジスタ312は「0」を格納している。このため、制御回路329は、パケット609が、順序保証が必要な複数のパケットの最初のパケットであると判定する。
At this time, the in-
したがって、制御回路329は、切り替え状態レジスタ309内のレジスタ601の値を「3」から「0」に変更し、仕掛中レジスタ312の値を「0」から「1」に変更し、通常宛先レジスタ311内の番号の中から、出力ポート306に対応する番号「1」606を特定し、その番号「1」が付与されている調停回路334にリクエストを送って、ネットワークプレーン102にパケット609を送る。
Therefore, the
次に、プロセッサ116から、順序保証が必要な、出力ポート306宛の最後のパケット610が、入力ポート304に到着する。
Next, the
このとき、入力ポート304に対応する仕掛中レジスタ324は「1」を格納している。このため、制御回路332は、仕掛中レジスタ324の値を「1」から「0」に変更し、切り替え先レジスタ322内の番号の中から、出力ポート306に対応する番号「2」611を特定し、その番号「2」が付与されている調停回路335にリクエストを送って、ネットワークプレーン103にパケット610を送る。
At this time, the in-
本実施形態によれば、格納部105a〜105bのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケットのうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。
According to the present embodiment, each of the
制御部105eは、ある1つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。
When the
制御部105eは、格納部105a〜105bのうち、ある1つの入力ポートに対応する格納部が通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが、転送先として設定されたネットワークプレーンへ転送された後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。
The
このため、切替え指示が受け付けられても、1つのプロセッサから送信される所定の複数のパケットのすべてを同一のネットワークプレーンに転送することが可能になる。よって、所定の複数のパケットの順番を保証することが可能になる。 For this reason, even if a switching instruction is accepted, it is possible to transfer all of a plurality of predetermined packets transmitted from one processor to the same network plane. Therefore, it becomes possible to guarantee the order of a plurality of predetermined packets.
本実施形態では、所定の複数のパケットとして、順序保証が必要な複数のパケットが用いられる。この場合、順序保証が必要な複数のパケットについて、順番を保証することが可能になる。 In the present embodiment, a plurality of packets that require order guarantee are used as the predetermined plurality of packets. In this case, the order can be guaranteed for a plurality of packets that need to be ordered.
本実施形態では、制御部105eは、転送先が他のネットワークプレーンに切り替えられており、かつ、格納部105a〜105bのうち、ある1つの入力ポートに対応する格納部が通信中情報を格納している状況で、通信経路を元のネットワークプレーンに切り替える旨の指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが他のネットワークプレーンへ転送された後、転送先を、他のネットワークプレーンから元のネットワークプレーンに切り替える。
In the present embodiment, the
この場合、例えば、故障したネットワークプレーンが修理された後に復帰した場合でも、1つのプロセッサから送信される所定の複数のパケットを同一のネットワークプレーンに転送することが可能になる。よって、所定の複数のパケットの順番を保証することが可能になる。 In this case, for example, even when the failed network plane is restored after being repaired, a plurality of predetermined packets transmitted from one processor can be transferred to the same network plane. Therefore, it becomes possible to guarantee the order of a plurality of predetermined packets.
本実施形態では、複数の通信経路として、互いに直接接続されていない独立した複数の部分ネットワーク(ネットワークプレーン)が用いられている。 In this embodiment, a plurality of independent partial networks (network planes) that are not directly connected to each other are used as the plurality of communication paths.
この場合、複数の通信経路として、複数の部分ネットワークが用いられている場合に、複数のパケットの順番を保証することが可能になる。 In this case, when a plurality of partial networks are used as the plurality of communication paths, the order of the plurality of packets can be guaranteed.
本実施形態では、プロセッサ間ネットワーク2は、複数のネットワークプレーン101〜104と、少なくとも1つのプレーン間クロスバと、を含む。この場合、プロセッサ間ネットワーク2において、複数のパケットの順番を保証することが可能になる。
In the present embodiment, the
本実施形態では、並列プロセッサシステム1は、複数のプロセッサ113〜144と、プロセッサ間ネットワーク2と、を含む。この場合、並列プロセッサシステム1において、複数のパケットの順番を保証することが可能になる。
In the present embodiment, the
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して説明する。(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to the drawings.
第2の実施の形態の並列プロセッサシステム1の構成は、各プレーン間クロスバ内の各格納部内のレジスタの構成が簡略化されている点を除いて、第1の実施の形態の図1と同じである。
The configuration of the
第2の実施の形態では、各格納部内の各レジスタの構成が簡略化されているプレーン間クロスバ105A〜112Aを、プレーン間クロスバ105〜112の代わりに用いる。
In the second embodiment, the
第2の実施の形態では、通常の場合のパケットの出力先は、プレーン間クロスバの各入力ポートに応じて予め決められている。つまり、プロセッサによって、通常時に使用するネットワークプレーンが決まっている。 In the second embodiment, the output destination of a packet in a normal case is determined in advance according to each input port of the interplane crossbar. In other words, the network plane that is normally used is determined by the processor.
すべてのネットワークプレーン101〜104は、すべてのプレーン間クロスバ105A〜112Aに接続されている。このため、プレーン間クロスバ105A〜112Aのそれぞれは、どのネットワークプレーンを使っても、送信先のプレーン間クロスバ、さらに言えば、宛先のプロセッサにパケットを送信することができる。
All the network planes 101 to 104 are connected to all the
図7は、第2の実施の形態で用いるパケット700の形式を説明するための説明図である。なお、図7において、図2に示したものと同一情報のものには同一符号を付してある。 FIG. 7 is an explanatory diagram for explaining the format of a packet 700 used in the second embodiment. In FIG. 7, the same information as that shown in FIG.
パケット700は、プロセッサ113〜144のそれぞれによって生成される。本実施形態では、プロセッサ113〜144のそれぞれは、送信用データを分割することによって、複数のパケット700を生成する。プロセッサ113〜144のそれぞれは、個々のパケット700を、1つずつ順番に、プロセッサ間ネットワーク2に送信する。
Packet 700 is generated by each of processors 113-144. In the present embodiment, each of the
パケット700は、経路指定情報701、順序保証フラグ202、ラストパケットフラグ203、パケット長204、および、データ205から構成される。
The packet 700 includes
経路指定情報701は、プロセッサ間ネットワーク2でのルーティングに用いられる。経路指定情報701は、第2経路指定情報207と、第3経路指定情報208と、を含む。
The
本実施形態では、プレーン間クロスバ105A〜112Aでのネットワークプレーン行き方向のルーティングは、すでに決められている。このため、プレーン間クロスバ105A〜112Aでのネットワークプレーン行き方向を指定するルーティング情報は、パケット700には付加されていない。
In the present embodiment, the routing in the network plane direction in the
図8は、プレーン間クロスバ105Aの詳細を示した説明図である。図8において、図3に示したものと同一構成のものには同一符号を付してある。
FIG. 8 is an explanatory diagram showing details of the
図8では、プレーン間クロスバ105Aを図示しているが、プレーン間クロスバ105A〜112Aは、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。
In FIG. 8, the
図8では、プレーン間クロスバ105Aでのネットワークプレーン行き方向のデータパスのみを図示している。なお、プレーン間クロスバ105Aでのプロセッサ行き方向のデータパスは、第1の実施の形態において図4で示した構成と同じである。
In FIG. 8, only the data path in the direction to the network plane in the
以下では、プレーン間クロスバ105Aについて、プレーン間クロスバ105と異なる点を中心に説明を行う。
In the following, the
プレーン間クロスバ105Aは、格納部105aA〜105dAと、制御部105eAと、を含む。
The
格納部105aA〜105dAのそれぞれは、一般的に格納手段と呼ぶことができる。 Each of storage units 105aA to 105dA can be generally referred to as storage means.
格納部105aAは、切り替え状態レジスタ801と、切り替え先レジスタ802と、通常宛先レジスタ803と、仕掛中レジスタ804と、を含む。格納部105bAは、切り替え状態レジスタ805と、切り替え先レジスタ806と、通常宛先レジスタ807と、仕掛中レジスタ808と、を含む。格納部105cAは、切り替え状態レジスタ809と、切り替え先レジスタ810と、通常宛先レジスタ811と、仕掛中レジスタ812と、を含む。格納部105dAは、切り替え状態レジスタ813と、切り替え先レジスタ814と、通常宛先レジスタ815と、仕掛中レジスタ816と、を含む。
The storage unit 105aA includes a
制御部105eAは、一般的に制御手段と呼ぶことができる。 Control unit 105eA can be generally referred to as control means.
制御部105eAは、マルチプレクサ325〜328と、制御回路329A〜332Aと、調停回路333〜336と、を含む。
Control unit 105eA includes multiplexers 325-328,
入力ポート301は、格納部105aAと、制御回路329Aと、に対応づけられている。入力ポート302は、格納部105bAと、制御回路330Aと、に対応づけられている。入力ポート303は、格納部105cAと、制御回路331Aと、に対応づけられている。入力ポート304は、格納部105dAと、制御回路332Aと、に対応づけられている。
The
通常宛先レジスタ803、807、811および815のそれぞれは、自己に対応する入力ポートにより決定される出力ポート(以下「対応出力ポート」と称する)と対応する調停回路の番号を格納する。 Each of the normal destination registers 803, 807, 811 and 815 stores the number of the arbitration circuit corresponding to the output port (hereinafter referred to as “corresponding output port”) determined by the input port corresponding to itself.
通常宛先レジスタ803は、番号「0」を格納する。通常宛先レジスタ807は、番号「1」を格納する。通常宛先レジスタ811は、番号「2」を格納する。通常宛先レジスタ815は、番号「3」を格納する。
The
切り替え先レジスタ802、806、810および814のそれぞれは、対応出力ポートから切り替えられる出力ポートの番号を格納する。 Each of the switching destination registers 802, 806, 810, and 814 stores the number of the output port that is switched from the corresponding output port.
切り替え先レジスタ802、806、810および814のそれぞれは、対応出力ポートの番号に1を加えてmod4を計算した値を、切り替え先の出力ポートに対応する調停回路の番号として格納している。 Each of the switching destination registers 802, 806, 810, and 814 stores a value obtained by adding 1 to the corresponding output port number and calculating mod4 as the arbitration circuit number corresponding to the switching destination output port.
切り替え状態レジスタ801、805、809および813のそれぞれは、対応出力ポートの切り替えの状態を表す切り替え状態情報(「0」〜「3」のいずれか)を格納する。 Each of the switching status registers 801, 805, 809 and 813 stores switching status information (any one of “0” to “3”) indicating the switching status of the corresponding output port.
ある出力ポートに接続されているネットワークプレーンに障害が発生していない場合は、その出力ポートを他の出力ポートに切り替える必要がない。出力ポートを切り替えない場合、その出力ポートに対応する切り替え状態情報として「0」が格納される。切り替え状態情報が「0」である場合には、通常宛先レジスタ内の番号が使用される。 If there is no failure in the network plane connected to a certain output port, it is not necessary to switch the output port to another output port. When the output port is not switched, “0” is stored as the switching state information corresponding to the output port. When the switching status information is “0”, the number in the normal destination register is used.
ある出力ポートに接続されているネットワークプレーンに障害が発生して他のネットワークプレーンを使用するために、その出力ポートを他の出力ポートに切り替える場合は、切り替え状態情報が、「0」から「1」に変更される。 When a failure occurs in a network plane connected to a certain output port and the other port is used to switch the output port to another output port, the switching state information is changed from “0” to “1”. Is changed.
切り替え状態情報が「1」である場合には、パケット700が、順序保証が必要なパケットかどうか、および、パケット700が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。 When the switching state information is “1”, the packet 700 is in the normal destination register depending on whether the packet 700 is a packet that requires order guarantee and the number of the packet that requires order guarantee. Or the number in the switch destination register is used.
第2の実施の形態において、使用する番号の決定方法と切り替え状態情報が「1」から「2」になる場合の動作は、図5を用いて説明した第1の実施の形態の動作と同じである。 In the second embodiment, the method for determining the number to be used and the operation when the switching state information changes from “1” to “2” are the same as the operations of the first embodiment described with reference to FIG. It is.
切り替え状態情報が「2」の場合には、必ず、切り替え先レジスタ内の番号が使用される。 When the switching state information is “2”, the number in the switching destination register is always used.
プレーン間クロスバ105A〜112Aの出力ポートのうち、故障が発生したネットワークプレーンに接続されたすべての出力ポートの切り替え状態情報が、「1」から「2」になると、障害が発生したネットワークプレーンは使われなくなる。
Of the output ports of the
この時点で、障害が発生したネットワークプレーンを、並列プロセッサシステム1から切り離すことが可能となる。このため、この時点で、障害が発生したネットワークプレーンについて、保守が行われる。
At this point, the network plane where the failure has occurred can be disconnected from the
そして、障害が発生したネットワークプレーンが修理され、再び、並列プロセッサシステム1に組み込まれる。この時点で、障害が発生したネットワークプレーンに接続されていた出力ポートの切り替え状態情報が、「2」から「3」に変更される。
Then, the network plane in which the failure has occurred is repaired and incorporated into the
切り替え状態情報が「3」である場合には、パケット700が、順序保証が必要なパケットかどうか、および、パケット700が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。 When the switching state information is “3”, the packet 700 is in the normal destination register depending on whether the packet 700 is a packet that requires the order guarantee and the packet number of the packet that requires the order guarantee. Or the number in the switch destination register is used.
第2の実施の形態において、使用する番号の決定方法と切り替え状態情報が「3」から「0」になる場合の動作は、図5を用いて説明した第1の実施の形態の動作と同じである。 In the second embodiment, the method for determining the number to be used and the operation when the switching state information is changed from “3” to “0” are the same as those in the first embodiment described with reference to FIG. It is.
図8に示した例は、まだ、障害が発生していない状態を示している。このため、切り替え状態情報は、すべて「0」である。 The example shown in FIG. 8 shows a state where no failure has occurred yet. Therefore, all the switching state information is “0”.
仕掛中レジスタ804、808、812および816のそれぞれは、自己に対応する入力ポートに接続されたプロセッサが、順序保証が必要な複数のパケットのうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報「1」を格納する。 Each of the in-process registers 804, 808, 812, and 816 has a processor connected to its corresponding input port having transmitted one or more packets out of a plurality of packets that require an order guarantee, and When all of the plurality of packets are not transmitted, communication information “1” indicating that communication is in progress is stored.
プロセッサ間ネットワーク2内でパケットの順序が逆転すると、エラーが発生したり、宛先プロセッサによるメモリ(不図示)へのデータの書込みの順序を保証できなくなるなどの問題が発生する。
When the order of the packets is reversed in the
制御回路329A〜332Aのそれぞれは、自己に対応する入力ポートから、順序保証が必要な複数のパケットのうち最初に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタに、「1」(通信中情報)を格納する。
When each of the
そして、制御回路329A〜332Aのそれぞれは、自己に対応する入力ポートから、順序保証の必要な複数のパケットのうち最後に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタ内の「1」(通信中情報)を削除して「0」を格納する。
When each of the
制御回路329A〜332Aのそれぞれは、自己に対応する入力ポートから受信したパケット700が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであるかどうかを、図7に示したラストパケットフラグ202の状態を調べて判定する。
Each of the
ラストパケットフラグ202が“0”である場合、制御回路329A〜332Aのそれぞれは、パケット700が、順序保証の必要な複数のパケットのうち最後に送信されたパケットでないと判定する。
When the
一方、ラストパケットフラグ202が“1”である場合、制御回路329A〜332Aのそれぞれは、パケット700が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであると判定する。
On the other hand, when the
また、制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「0」で、かつ、順序保証が必要なパケット700が到着した場合、そのパケット700が、順序保証の必要な複数のパケットのうち最初に送信されたパケットであると判定する。
Further, each of the
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート305に転送する場合、調停回路333に、送信用のリクエストを送信する。
Each of the
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート306に転送する場合、調停回路334に、送信用のリクエストを送信する。
Each of the
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート307に転送する場合、調停回路335に、送信用のリクエストを送信する。
Each of the
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート308に転送する場合、調停回路336に、送信用のリクエストを送信する。
Each of the
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「1」で、かつ、順序保証が必要なパケット700が到着した場合、パケット700の宛先(転送先)となる出力ポートの切り替えを行わない。
Each of the
なぜなら、2つのパケットが異なるネットワークプレーンを通ると、プロセッサ間ネットワーク2内での順序保証ができないからである。
This is because if two packets pass through different network planes, the order in the
例えば、先に来たパケットが通るネットワークプレーンが混雑していて、後から来たパケットが通るネットワークプレーンが空いていると、宛先となっているプロセッサへの到着順序が逆転してしまう。 For example, if the network plane through which the earlier packet passes is congested and the network plane through which the later packet passes is free, the arrival order at the destination processor is reversed.
調停回路333〜336のそれぞれは、制御回路329A〜332Aのいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。
When each of the
格納部105aA〜105bAのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケット(例えば、順序保証が必要な複数のパケット)のうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。 In each of the storage units 105aA to 105bA, a processor connected to an input port corresponding to the storage unit 105aA to 105bA has already transmitted one or more packets out of a plurality of predetermined packets (for example, a plurality of packets requiring order guarantee). And, when all of the plurality of packets have not been transmitted, communication information indicating that communication is in progress is stored.
なお、所定の複数のパケットは、順序保証が必要な複数のパケットであることが望ましいが、順序保証が必要な複数のパケットの他に、他のパケットが含まれてもよい。この場合、他のパケットも含めて、順序を保証することができる。 Note that the predetermined plurality of packets are preferably a plurality of packets that require the order guarantee, but other packets may be included in addition to the plurality of packets that require the order guarantee. In this case, the order can be guaranteed including other packets.
制御部105eAは、ある1つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。 When the control unit 105eA receives individual packets constituting a predetermined plurality of packets from a certain input port, the control unit 105eA transfers the packets to the network plane set as the transfer destination.
制御部105eAは、格納部105aA〜105bAのうち、ある1つの入力ポートに対応する格納部が、通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが、転送先として設定されたネットワークプレーンへ転送された後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。 The control unit 105eA switches to switch the transfer destination of a packet from the input port in a situation where the storage unit corresponding to a certain input port among the storage units 105aA to 105bA stores communication information. When the instruction is accepted, all of the predetermined packets transmitted to the input port are transferred to the network plane set as the transfer destination, and then the transfer destination is changed to another network plane of the plurality of network planes. Switch to.
本実施形態によれば、通常時に使用する出力ポート、つまり、ネットワークプレーンが、プレーン間クロスバ105にて決定されている。このため、第1の実施の形態と同様の効果を奏すると共に、パケットに第1経路指定情報206を記載する必要がなくなる。
According to the present embodiment, the output port to be used at normal time, that is, the network plane is determined by the
次に、上記各実施の形態の効果を説明する。 Next, effects of the above embodiments will be described.
上記各実施の形態によれば、プレーン間クロスバが、プロセッサごとに、プロセッサが、順序保証が必要な複数のパケットのうち1個以上のパケットを通信済みで、かつ、最後のパケットがまだ通信されていないかどうかを記憶しており、最後のパケットが通信されてから、パケットの転送先を、障害が発生した部分ネットワークから予め決められた他の部分ネットワークに切り替える。 According to each of the embodiments described above, the interplane crossbar has, for each processor, the processor has already communicated one or more packets out of a plurality of packets requiring order guarantee, and the last packet is still communicated. If the last packet is communicated, the transfer destination of the packet is switched from the partial network where the failure has occurred to another predetermined partial network.
このため、パケットの転送先を、障害が発生した部分ネットワークから予め決められた他の部分ネットワークに切り替える際に、順序保証が必要な複数のパケットの順序を保証することができる。 Therefore, when the packet transfer destination is switched from the failed partial network to another predetermined partial network, it is possible to guarantee the order of a plurality of packets requiring order guarantee.
また、障害が発生した部分ネットワークへ送られる予定であったパケットは、予め決められた他の部分ネットワークに送られる。このため、部分ネットワークを切り替えた場合の通信性能への影響を予測することが可能になる。 Further, the packet that was scheduled to be sent to the failed partial network is sent to another predetermined partial network. For this reason, it becomes possible to predict the influence on the communication performance when the partial network is switched.
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to each embodiment, the present invention is not limited to the above embodiment. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
この出願は、2008年11月21日に出願された日本出願特願2008−297981を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2008-297981 for which it applied on November 21, 2008, and takes in those the indications of all here.
101〜104 ネットワークプレーン
105〜112 プレーン間クロスバ
113〜144 プロセッサ
145〜147 クロスバ
105a〜105d、105aA〜105dA 格納部
105e、105eA 制御部
200、700 パケット
201、701 経路指定情報
202 順序保証フラグ
203 ラストパケットフラグ
204 パケット長
205 データ
206 第1経路指定情報
207 第2経路指定情報
208 第3経路指定情報
301〜304 入力ポート
305〜308 出力ポート
309、313、317、321、801、805、809、813 切り替え状態レジスタ
310、314、318、322、802、806、810、814 切り替え先レジスタ
311、315、319、323、803、807、811、815 通常宛先レジスタ
312、316、320、324、804、808、812、816 仕掛中レジスタ
325〜328 マルチプレクサ
329〜332、329A〜332A 制御回路
333〜336 調停回路
401〜404 入力ポート
405〜408 出力ポート
409〜412 マルチプレクサ
413〜416 制御回路
417〜420 調停回路
601〜604 レジスタ
605、607、609、610 パケット
606、608、611 番号101-104 Network plane 105-112 Interplane crossbar 113-144 Processor 145-147
Claims (12)
前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する格納手段と、
前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える制御手段と、を含むパケット転送装置。A communication path that receives a plurality of predetermined packets addressed to the second processor, which are transmitted one by one from the first processor, one by one, and sets the packets as transfer destinations among the plurality of communication paths that communicate with the second processor A packet transfer device for transferring to
When the first processor has transmitted one or more of the plurality of packets and has not transmitted all of the plurality of packets, communication information indicating that communication is in progress is stored. Storage means for
In a situation where the information during communication is stored in the storage unit, when receiving the transfer destination switching instruction, after all of the plurality of packets are transferred to the communication path set as the transfer destination, Control means for switching a transfer destination to another communication path among the plurality of communication paths.
前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。A communication path that receives a plurality of predetermined packets addressed to the second processor, which are transmitted one by one from the first processor, one by one, and sets the packets as transfer destinations among the plurality of communication paths that communicate with the second processor A packet transfer method performed by a packet transfer apparatus for transferring to
In-communication information indicating that communication is being performed when the first processor has transmitted one or more packets of the plurality of packets and has not transmitted all of the plurality of packets, Store in storage means,
In a situation where the information during communication is stored in the storage unit, when receiving the transfer destination switching instruction, after all of the plurality of packets are transferred to the communication path set as the transfer destination, A packet transfer method for switching a transfer destination to another communication path among the plurality of communication paths.
前記パケット転送装置が、前記第1プロセッサが前記複数のパケットのうち1個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
前記パケット転送装置が、前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。A communication path that receives a plurality of predetermined packets addressed to the second processor, which are transmitted one by one from the first processor, one by one, and sets the packets as transfer destinations among the plurality of communication paths that communicate with the second processor A packet transfer method performed by an inter-processor communication system including a packet transfer device that transfers data to a plurality of paths,
The packet transfer device is in communication indicating that communication is in progress when the first processor has already transmitted one or more of the plurality of packets and has not transmitted all of the plurality of packets. Store information in storage means,
When the packet transfer apparatus accepts the transfer destination switching instruction in a state where the communication information is stored in the storage unit, all of the plurality of packets are transferred to the communication path set as the transfer destination. A packet transfer method for switching the transfer destination to another communication path among the plurality of communication paths after being transferred.
前記パケット転送装置が、前記第1プロセッサが前記複数のパケットのうち1個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
前記パケット転送装置が、前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。Receiving a first processor, a second processor, a plurality of communication paths leading to the second processor, and a plurality of predetermined packets addressed to the second processor transmitted one by one from the first processor in sequence; A packet transfer method performed by a parallel computer system performed by a parallel processor system including a packet transfer device configured to transfer a packet to a communication path set as a transfer destination among the plurality of communication paths,
The packet transfer device is in communication indicating that communication is in progress when the first processor has already transmitted one or more of the plurality of packets and has not transmitted all of the plurality of packets. Store information in storage means,
When the packet transfer apparatus accepts the transfer destination switching instruction in a state where the communication information is stored in the storage unit, all of the plurality of packets are transferred to the communication path set as the transfer destination. A packet transfer method for switching the transfer destination to another communication path among the plurality of communication paths after being transferred.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010539197A JP5310735B2 (en) | 2008-11-21 | 2009-10-30 | Packet transfer device, inter-processor communication system, parallel processor system, and packet transfer method |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008297981 | 2008-11-21 | ||
JP2008297981 | 2008-11-21 | ||
JP2010539197A JP5310735B2 (en) | 2008-11-21 | 2009-10-30 | Packet transfer device, inter-processor communication system, parallel processor system, and packet transfer method |
PCT/JP2009/068674 WO2010058693A1 (en) | 2008-11-21 | 2009-10-30 | Packet transmission device, inter-processor communication system, parallel processor system, and packet transmission method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010058693A1 true JPWO2010058693A1 (en) | 2012-04-19 |
JP5310735B2 JP5310735B2 (en) | 2013-10-09 |
Family
ID=42198132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010539197A Expired - Fee Related JP5310735B2 (en) | 2008-11-21 | 2009-10-30 | Packet transfer device, inter-processor communication system, parallel processor system, and packet transfer method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5310735B2 (en) |
WO (1) | WO2010058693A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106797350B (en) * | 2014-05-26 | 2020-12-01 | 索莫亚私人有限公司 | Transaction system |
JP6350098B2 (en) * | 2014-08-11 | 2018-07-04 | 富士通株式会社 | Arithmetic processing device, information processing device, and control method for information processing device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185716A (en) * | 1997-09-01 | 1999-03-30 | Hitachi Ltd | Parallel processor |
JP2000330952A (en) * | 1999-05-20 | 2000-11-30 | Nec Corp | Unit and method for flow control over multistage connection switch system |
JP4463097B2 (en) * | 2004-12-24 | 2010-05-12 | エヌイーシーコンピュータテクノ株式会社 | Data transfer system, data transfer method, and crossbar LSI |
-
2009
- 2009-10-30 WO PCT/JP2009/068674 patent/WO2010058693A1/en active Application Filing
- 2009-10-30 JP JP2010539197A patent/JP5310735B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP5310735B2 (en) | 2013-10-09 |
WO2010058693A1 (en) | 2010-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461617B2 (en) | Neural network device | |
JP4519159B2 (en) | Packet transfer apparatus and packet transfer method | |
KR100219350B1 (en) | Distributed data processing system | |
JP6600518B2 (en) | Bus system | |
JP4025674B2 (en) | Detour communication route design method | |
JPS61214694A (en) | Switching unit for data transmission | |
JPH07202942A (en) | Packet switchboard | |
JP4895972B2 (en) | Ring protocol fast switching method and apparatus | |
US20060212619A1 (en) | Data processing system | |
JP5492750B2 (en) | Packet transfer apparatus and packet transfer method | |
JP5310735B2 (en) | Packet transfer device, inter-processor communication system, parallel processor system, and packet transfer method | |
US11251991B2 (en) | Communication system, communication apparatus, communication method, and program | |
US5572679A (en) | Multiprocessor system transferring abnormality detection signal generated in networking apparatus back to processor in parallel with data transfer route | |
JP5039732B2 (en) | Packet transfer apparatus and packet transfer method | |
JP2007116350A (en) | Load disperser | |
JP6586374B2 (en) | COMMUNICATION DEVICE, ROUTE MANAGEMENT SERVER, COMMUNICATION METHOD, AND VIRTUAL PORT ALLOCATION METHOD | |
JP2004040726A (en) | Optical cross connect apparatus | |
JP3758523B2 (en) | Bidirectional ring network, node device, and bidirectional ring network control method | |
JP2020005017A (en) | Dynamic variable capacity memory device and storage capacity dynamic variable method | |
JP2015231091A (en) | Communication system, network device, and communication control method | |
JP2013005145A (en) | Packet transfer device and packet transfer method | |
JP2000124949A (en) | Packet switch | |
JPH1166024A (en) | Crossbar switch changeover system | |
JP2680096B2 (en) | Preliminary detour method for packet switching network | |
JP2005045681A (en) | Switch network device and its transfer control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130515 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5310735 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |