WO2010058693A1 - Packet transmission device, inter-processor communication system, parallel processor system, and packet transmission method - Google Patents

Packet transmission device, inter-processor communication system, parallel processor system, and packet transmission method Download PDF

Info

Publication number
WO2010058693A1
WO2010058693A1 PCT/JP2009/068674 JP2009068674W WO2010058693A1 WO 2010058693 A1 WO2010058693 A1 WO 2010058693A1 JP 2009068674 W JP2009068674 W JP 2009068674W WO 2010058693 A1 WO2010058693 A1 WO 2010058693A1
Authority
WO
WIPO (PCT)
Prior art keywords
packets
processor
communication
packet
communication path
Prior art date
Application number
PCT/JP2009/068674
Other languages
French (fr)
Japanese (ja)
Inventor
健 加納
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2010539197A priority Critical patent/JP5310735B2/en
Publication of WO2010058693A1 publication Critical patent/WO2010058693A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Definitions

  • the present invention relates to a packet transfer device, an inter-processor communication system, a parallel processor system, and a packet transfer method, for example, a packet transfer device, an inter-processor communication system, a parallel processor system, and a packet transfer method used 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.
  • 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 in the order of packet transmission.
  • order guaranteed communication communication in which the order of a plurality of packets must be guaranteed.
  • 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.
  • the receiving side receives a packet with a sequence number different from the predicted value, and determines that it is an error.
  • 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. .
  • 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.
  • Communication that requires 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.
  • Patent Document 1 discloses a technique for changing a data transfer path based on failure information and bypassing a failure switch in a network between parallel processors.
  • Patent Document 2 discloses an interprocessor data communication method in which a partial network used in place of a failed crossbar switch is determined in advance.
  • 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.
  • 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 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 control unit, a.
  • the inter-processor communication system of the present invention includes the packet transfer device and the plurality of communication paths.
  • the parallel processor system of the present invention includes the inter-processor communication system, the first processor, and the second processor.
  • 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.
  • the transfer destination is changed to another of the plurality of communication paths. Switch to the communication path.
  • 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 information during communication is stored in the storage unit, when the transfer destination switching instruction is received, all of the plurality of packets are After being transferred to the set communication path as the transfer destination, the transfer destination to switch to another communication path among the plurality of communication paths.
  • the packet transfer method 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. Is stored in the storage unit, and the packet transfer device is in a state where the communication information is stored in the storage unit.
  • the transfer destination switching instruction is accepted, 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 the communication path.
  • FIG. 1 is a block diagram illustrating a configuration of a parallel processor system according to a first embodiment of this invention. It is explanatory drawing for demonstrating the format of the packet 200 communicated in the network 2 between processors. It is explanatory drawing which showed the detail of the crossbar 105 between planes. It is explanatory drawing which showed the data path of the direction to a processor in the crossbar 105 between planes. It is a flowchart for demonstrating the process in the data path of the direction to a network plane in the crossbar between planes. It is a figure explaining operation
  • 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.
  • the parallel processor system 1 includes a plurality of network planes 101 to 104, a plurality of interplane crossbars (interplane crossbar switches) 105 to 112, and a plurality of processors 113 to 144.
  • processors 113 to 144 perform parallel operations in cooperation with each other.
  • processors 113-144 can generally be referred to as a first processor and a second processor.
  • each of the processors 113 to 144 divides the transmission data and generates a plurality of packets addressed to the other processors.
  • each of the processors 113 to 144 adds information indicating that the order guarantee is necessary to each of the plurality of packets.
  • 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.
  • Each of the processors 113 to 144 transmits individual packets constituting one communication command to the inter-processor network 2 one by one in order.
  • the interprocessor network 2 can be generally called an interprocessor communication system.
  • the interprocessor network 2 is connected to each of the processors 113 to 144.
  • the inter-processor network 2 includes a plurality of network planes 101 to 104 and a plurality of inter-plane crossbars 105 to 112.
  • the network planes 101 to 104 can generally be called 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.
  • 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.
  • Each of the interplane crossbars 105 to 112 can be generally called a packet transfer device.
  • Each of the interplane crossbars 105 to 112 is connected to the network planes 101 to 104.
  • the interplane crossbar 105 is also connected to the processors 113 to 116.
  • the interplane crossbar 106 is also connected to the processors 117 to 120.
  • the interplane crossbar 107 is also connected to the processors 121 to 124.
  • the interplane crossbar 108 is also connected to the processors 125 to 128.
  • the interplane crossbar 109 is also connected to the processors 129 to 132.
  • the interplane crossbar 110 is also connected to the processors 133 to 136.
  • the interplane crossbar 111 is also connected to the processors 137 to 140.
  • the interplane crossbar 112 is also connected to the processors 141 to 144.
  • Each of the crossbars 105 to 112 between the planes is an 8-input 8-output crossbar.
  • Each of the interplane crossbars 105 to 112 receives a plurality of packets addressed to another processor (second processor), one by one, sequentially transmitted from the processor (first processor) connected thereto, and the packet Are transferred to the network plane set as the transfer destination among the network planes 101 to 104.
  • each of the network planes 101 to 104 receives a packet from any of the interplane crossbars 105 to 112, the network plane 101 to 104 sends the packet to any one of the interplane crossbars 105 to 112 based on the routing information described in the packet. Forward to.
  • each of the interplane crossbars 105 to 112 When each of the interplane crossbars 105 to 112 receives a packet from any one of the network planes 101 to 104, the interplane crossbars 105 to 112 send the packet to any of the processors connected to the packet based on the routing information described in the packet. Transfer to.
  • the network planes 101 to 104 function as a plurality of communication paths leading to the packet destination processor.
  • the configuration as shown in FIG. 1 is shown.
  • the number of network planes as a partial network the topology and configuration of the partial network, the number of ports and the number of crossbars between planes,
  • the number of processors is arbitrary.
  • FIG. 2 is an explanatory diagram for explaining a format of the packet 200 communicated in the inter-processor network 2.
  • the packet 200 is generated by each of the processors 113 to 144.
  • each of the processors 113 to 144 generates a plurality of packets 200 by dividing the transmission data.
  • Each of the processors 113 to 144 transmits the individual packets 200 to the inter-processor network 2 one by one in order.
  • the packet 200 includes routing information 201, an order guarantee flag 202, a last packet flag 203, a packet length 204, and data 205.
  • the routing information 201 is used for routing in the inter-processor network 2.
  • the route designation information 201 includes first route designation information 206, second route designation information 207, and third route designation information 208.
  • the first routing information 206 is used by the interplane crossbar (hereinafter referred to as “reception plane crossbar”) that has received the packet 200 from any of the processors 113 to 144 among the interplane crossbars 105 to 112.
  • the first route designation information 206 is information (information related to routing) for designating a network plane (hereinafter referred to as “destination network plane”) as a transmission destination from the crossbar between the reception planes among the network planes 101 to 104. It is.
  • the first route designation information 206 designates an output port (destination output port) connected to the transmission destination network plane among the output ports of the crossbar between the reception planes.
  • the second routing information 207 is used by the destination network plane.
  • the second route designation information 207 is information (routing) for designating an interplane crossbar (hereinafter referred to as “destination plane crossbar”) that is a transmission destination from the transmission destination network plane among the interplane crossbars 105 to 112. Information).
  • the second route designation information 207 designates an output port connected to the crossbar between the transmission destination planes among the output ports of the transmission destination network plane.
  • the third routing information 208 is used by the crossbar between transmission destination planes.
  • the third routing information 208 is information (information related to routing) for designating a processor (hereinafter referred to as “destination processor”) as a transmission destination from the crossbar between the transmission destination planes among the processors 113 to 144. .
  • the third route designation information 208 designates an output port connected to the destination processor among the output ports of the crossbar between the destination planes.
  • the order guarantee flag 202 indicates whether the packet 200 is a packet that requires order guarantee in the inter-processor network 2.
  • the order guarantee flag 202 when the order guarantee flag 202 is “1”, it indicates that the packet 200 is a packet that requires order guarantee. On the other hand, when the order guarantee flag 202 is “0”, it indicates that the packet 200 is a packet that does not require the order guarantee.
  • the last packet flag 203 indicates whether or not the packet 200 is the last packet of one communication command.
  • the last packet flag 203 when the last packet flag 203 is “0”, it indicates that the packet 200 is not the last packet of one communication command. On the other hand, when the last packet flag 203 is “1”, it indicates that the packet 200 is the last packet of one communication command.
  • Packet length 204 specifies the length of data 205.
  • FIG. 3 is an explanatory diagram showing details of the crossbar 105 between planes. 3, the same components as those shown in FIG. 1 are denoted by the same reference numerals.
  • FIG. 3 illustrates the interplane crossbar 105 shown in FIG. 1, but the interplane crossbars 105 to 112 have the same configuration, except that the connected processor is changed. For this reason, the description about the other crossbar between planes is abbreviate
  • FIG. 3 shows only the data path in the direction to the network plane at the crossbar 105 between the planes.
  • the data path in the direction of the processor in the interplane crossbar 105 will be described with reference to FIG.
  • the interplane crossbar 105 includes four input ports 301 to 304 and four output ports 305 to 308 for the data path in the direction toward the network plane.
  • the number “0” is assigned to the output port 305.
  • the output port 306 is numbered “1”.
  • the output port 307 is numbered “2”.
  • the output port 308 is numbered “3”. Note that the number can generally be referred to as identification information.
  • Each of the four input ports 301 to 304 is connected to one of the processors 113 to 116.
  • the input port 301 is connected to the processor 113.
  • the input port 302 is connected to the processor 114.
  • the input port 303 is connected to the processor 115.
  • the input port 304 is connected to the processor 116.
  • Each of the four output ports 305 to 308 is connected to one of the network planes 101 to 104.
  • the output port 305 is connected to the network plane 101.
  • the output port 306 is connected to the network plane 102.
  • the output port 307 is connected to the network plane 103.
  • the output port 308 is connected to the network plane 104.
  • the interplane crossbar 105 includes storage units 105a to 105d and a control unit 105e.
  • Each of the storage units 105a to 105d can be generally referred to as storage means.
  • the storage unit 105 a includes a switching status register 309, a switching destination register 310, a normal destination register 311, and a pending register 312.
  • the storage unit 105 b includes a switching status register 313, a switching destination register 314, a normal destination register 315, and a pending register 316.
  • the storage unit 105 c includes a switching status register 317, a switching destination register 318, a normal destination register 319, and a pending register 320.
  • the storage unit 105 d includes a switching status register 321, a switching destination register 322, a normal destination register 323, and a pending register 324.
  • Control unit 105e can be generally referred to as control means.
  • the control unit 105e includes multiplexers 325 to 328, control circuits 329 to 332, and arbitration circuits 333 to 336.
  • the number “0” is assigned to the arbitration circuit 333.
  • the arbitration circuit 334 is numbered “1”.
  • the arbitration circuit 335 is numbered “2”.
  • the arbitration circuit 336 is numbered “3”.
  • the input port 301 is associated with the storage unit 105a and the control circuit 329.
  • the input port 302 is associated with the storage unit 105b and the control circuit 330.
  • the input port 303 is associated with the storage unit 105c and the control circuit 331.
  • the input port 304 is associated with the storage unit 105d and the control circuit 332.
  • the output port 305 is associated with the multiplexer 325 and the arbitration circuit 333.
  • the output port 306 is associated with the multiplexer 326 and the arbitration circuit 334.
  • the output port 307 is associated with the multiplexer 327 and the arbitration circuit 335.
  • the output port 308 is associated with the multiplexer 328 and the arbitration circuit 336.
  • 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 output ports 305 to 308 (numbers “0” to “3”).
  • the numbers 0 to 3 described above the switching status registers 309, 313, 317, and 321 correspond to the numbers “0” to “3” of the output ports 305 to 308, respectively.
  • each of the normal destination registers 311, 315, 319 and 323 is output to a portion (register) existing in the number 0 column described above each of the switching status registers 309, 313, 317 and 321.
  • the number of the arbitration circuit corresponding to the port 305 is stored.
  • each of the normal destination registers 311, 315, 319 and 323 has an output port in a portion (register) existing in the number 1 column described above each of the switching status registers 309, 313, 317 and 321.
  • the number of the arbitration circuit corresponding to 306 is stored.
  • each of the normal destination registers 311, 315, 319 and 323 has an output port in a portion (register) existing in the number 2 column described above each of the switching status registers 309, 313, 317 and 321.
  • the number of the arbitration circuit corresponding to 307 is stored.
  • each of the normal destination registers 311, 315, 319 and 323 has an output port in a part (register) existing in the column of number 3 described on each of the switching status registers 309, 313, 317 and 321.
  • the number of the arbitration circuit corresponding to 308 is stored.
  • 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 output ports 305 to 308 (numbers “0” to “3”). To do.
  • Each of the switching destination registers 310, 314, 318, and 322 has a portion (register) in the column of number 0 described above each of the switching status registers 309, 313, 317, and 321 in the output port 305. Stores the number of the arbitration circuit corresponding to the output port of the switching destination.
  • Each of the switching destination registers 310, 314, 318, and 322 is connected to a portion (register) that exists in the number 1 column described above each of the switching status registers 309, 313, 317, and 321. Stores the number of the arbitration circuit corresponding to the output port of the switching destination.
  • Each of the switching destination registers 310, 314, 318, and 322 has a portion (register) in the column of number 2 described above each of the switching status registers 309, 313, 317, and 321 in the output port 307. Stores the number of the arbitration circuit corresponding to the output port of the switching destination.
  • Each of the switch destination registers 310, 314, 318, and 322 is connected to the portion (register) of the output port 308 in a portion (register) existing in the number 3 column described above each of the switch state registers 309, 313, 317, and 321. Stores the number of the arbitration circuit corresponding to the output port of the switching destination.
  • each of the switching destination registers 310, 314, 318, and 322 adds mod 1 to the output port number for each of the output ports 305 to 308 (numbers “0” to “3”).
  • the calculated value is stored as the arbitration circuit number corresponding to the output port of the switching destination.
  • Each of the switching status registers 309, 313, 317 and 321 has switching status information (“0” to “0”) indicating the switching status of the output port for each of the output ports 305 to 308 (numbers “0” to “3”). Any one of “3”) is stored.
  • Each of the switching status registers 309, 313, 317, and 321 stores switching status information for the output port 305 in a portion (register) existing in the number 0 column described above.
  • Each of the switching status registers 309, 313, 317, and 321 stores the switching status information for the output port 306 in the portion (register) that exists in the column of number 1 described above.
  • Each of the switching status registers 309, 313, 317 and 321 stores the switching status information for the output port 307 in the part (register) existing in the column of number 2 described above.
  • Each of the switching status registers 309, 313, 317, and 321 stores switching status information for the output port 308 in a portion (register) that exists in the column of number 3 described above.
  • the switching state information is changed from “0” to “1”. Is changed.
  • 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.
  • the network plane where the failure has occurred can be disconnected from the parallel processor system 1. Therefore, at this point, maintenance is performed for the network plane where the failure has occurred.
  • the network plane in which the failure has occurred is repaired and incorporated into the parallel processor system 1 again.
  • the switching state information of the output port connected to the network plane where the failure has occurred is changed from “2” to “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.
  • the example shown in FIG. 3 shows a state where no failure has occurred yet. Therefore, all the switching state information is “0”.
  • Each of the in-process 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.
  • Packets that require an order guarantee guarantee the order in the inter-processor network 2 between a plurality of packets, and that the order of packets sent from the source processor and the arrival order at the destination processor are the same. It is a packet that needs to be guaranteed.
  • each of the control circuits 329 to 332 receives a packet transmitted first among a plurality of packets that require order guarantee from an input port corresponding to the control circuit 329 to 332, “1” (information during communication) is stored.
  • Each of the control circuits 329 to 332 determines whether or not the packet 200 received from the input port corresponding to the control circuit 329 to 332 is the packet transmitted last among the plurality of packets that need the order guarantee.
  • the state of the packet flag 202 is checked and determined.
  • each of the control circuits 329 to 332 determines that the packet 200 is not the last packet transmitted among a plurality of packets that require order guarantee.
  • each of the control circuits 329 to 332 determines that the packet 200 is the last packet transmitted among a plurality of packets that require order guarantee.
  • each of the control circuits 329 to 332 has an in-process register value corresponding to the same input port as that of itself, and when the packet 200 that requires the order guarantee arrives, the packet 200 is ordered. It is determined that the packet is the first packet transmitted out of a plurality of packets that need to be guaranteed.
  • control circuits 329 to 332 When each of the control circuits 329 to 332 transfers the packet 200 to the output port 305 according to the first routing information 206 in the packet 200 and the information in the storage unit corresponding to the same input port as the self, the control circuits 329 to 332 Send a request for transmission.
  • control circuits 329 to 332 When each of the control circuits 329 to 332 transfers the packet 200 to the output port 306 according to the first routing information 206 in the packet 200 and the information in the storage unit corresponding to the same input port as the self, the control circuits 329 to 332 Send a request for transmission.
  • control circuits 329 to 332 When each of the control circuits 329 to 332 transfers the packet 200 to the output port 307 according to the first routing information 206 in the packet 200 and the information in the storage unit corresponding to the same input port as itself, the control circuits 329 to 332 Send a request for transmission.
  • control circuits 329 to 332 When each of the control circuits 329 to 332 transfers the packet 200 to the output port 308 according to the first routing information 206 in the packet 200 and the information in the storage unit corresponding to the same input port as the self, the control circuits 329 to 332 Send a request for transmission.
  • the arrival order at the destination processor is reversed.
  • Each of the multiplexers 325 to 328 selects one input port from the four input ports 301 to 304 based on an instruction from the arbitration circuit corresponding to the same output port as itself. Each of the multiplexers 325 to 328 forwards the packet 200 from the selected input port to the output port corresponding to itself.
  • each of the arbitration circuits 333 to 336 When each of the arbitration circuits 333 to 336 receives a request from any of the control circuits 329 to 332, each of the arbitration circuits 333 to 336 sends an instruction to select an input port corresponding to the control circuit that transmitted the request to the same output port as itself. Output to the corresponding multiplexer.
  • each of the storage units 105a to 105b the processor connected to the input port corresponding to the storage unit 105a to 105b has already transmitted one or more packets out of a predetermined plurality of 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.
  • a predetermined plurality of packets for example, a plurality of packets requiring order guarantee
  • 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.
  • control unit 105e When the control unit 105e receives individual packets constituting a predetermined plurality of packets from a certain input port, the control unit 105e transfers the packets to the network plane set as the transfer destination.
  • the control unit 105e switches the packet transfer destination from the input port in a situation where the storage unit corresponding to one input port among the storage units 105a to 105b stores communication information.
  • the control unit 105e switches the packet transfer destination from the input port in a situation where the storage unit corresponding to one input port among the storage units 105a to 105b stores communication information.
  • all of the predetermined packets sent to the input port are transferred to the network plane set as the transfer destination, and then the transfer destination is transferred to another network plane among the plurality of network planes. Switch.
  • FIG. 4 is an explanatory diagram showing only the data path in the direction of the processor in the crossbar 105 between the planes.
  • the same components as those shown in FIG. 4 are identical to those shown in FIG. 4, the same components as those shown in FIG. 4, the same components as those shown in FIG. 4, the same components as those shown in FIG. 4, the same components as those shown in FIG. 4, the same components as those shown in FIG. 4, the same components as those shown in FIG. 4, the same components as those shown in FIG.
  • FIG. 4 illustrates the interplane crossbar 105 shown in FIG. 1, but the interplane crossbars 105 to 112 have the same configuration except that the connected processor is changed. For this reason, the description about the other crossbar between planes is abbreviate
  • Interplane crossbar 105 includes four input ports 401 to 404 and four output ports 405 to 408 for the data path in the direction to the processor.
  • the interplane crossbar 105 includes multiplexers 409 to 412, control circuits 413 to 416, and arbitration circuits 417 to 420.
  • the arbitration circuit 417 is numbered “4”.
  • the arbitration circuit 418 is numbered “5”.
  • the arbitration circuit 419 is numbered “6”.
  • the arbitration circuit 420 is numbered “7”.
  • Each of the four input ports 401 to 404 is connected to one of the network planes 101 to 104.
  • the input port 401 is connected to the network plane 101.
  • the input port 402 is connected to the network plane 102.
  • the input port 403 is connected to the network plane 103.
  • the input port 404 is connected to the network plane 104.
  • the input port 401 is associated with the control circuit 413.
  • the input port 402 is associated with the control circuit 414.
  • the input port 403 is associated with the control circuit 415.
  • the input port 404 is associated with the control circuit 416.
  • Each of the four output ports 405 to 408 is connected to one of the processors 113 to 116.
  • the output port 405 is connected to the processor 113.
  • the output port 406 is connected to the processor 114.
  • the output port 407 is connected to the processor 115.
  • the output port 408 is connected to the processor 116.
  • the output port 405 is associated with the multiplexer 409 and the arbitration circuit 417.
  • the output port 406 is associated with the multiplexer 410 and the arbitration circuit 418.
  • the output port 407 is associated with the multiplexer 411 and the arbitration circuit 419.
  • the output port 408 is associated with the multiplexer 412 and the arbitration circuit 420.
  • control circuit 413 to 416 When each of the control circuits 413 to 416 transfers the packet 200 from the input port corresponding to itself to the output port 405 according to the third routing information 208 in the packet 200, the control circuit 413 to 416 sends a request for transmission to the arbitration circuit 417. Send.
  • control circuit 413 to 416 When each of the control circuits 413 to 416 transfers the packet 200 from the input port corresponding to the control circuit 413 to the output port 406 according to the third routing information 208 in the packet 200, the control circuit 413 to 416 sends a request for transmission to the arbitration circuit 418. Send.
  • control circuit 413 to 416 When each of the control circuits 413 to 416 transfers the packet 200 from the input port corresponding to the control circuit 413 to the output port 407 according to the third routing information 208 in the packet 200, the control circuit 413 to 416 sends a request for transmission to the arbitration circuit 419. Send.
  • control circuit 413 to 416 When each of the control circuits 413 to 416 transfers the packet 200 from the input port corresponding to the control circuit 413 to the output port 408 according to the third routing information 208 in the packet 200, the control circuit 413 to 416 sends a request for transmission to the arbitration circuit 420. Send.
  • Each of the multiplexers 409 to 412 selects one input port from the four input ports 401 to 404 based on an instruction from the arbitration circuit corresponding to the same output port as itself. Each of the multiplexers 409 to 412 transfers the packet 200 from the selected input port to the output port corresponding to itself.
  • each of the arbitration circuits 417 to 420 When each of the arbitration circuits 417 to 420 receives a request from any of the control circuits 413 to 416, each of the arbitration circuits 417 to 420 issues an instruction to select an input port corresponding to the control circuit that transmitted the request to the same output port as itself. Output to the corresponding multiplexer.
  • FIG. 5 is a flowchart for explaining processing in the data path in the direction toward the network plane in the crossbar between planes.
  • the processor 113 transmits the packet 200 to the input port 301
  • the input port to which the packet 200 is input, the control circuit that executes the process, and the storage unit that is used are different, and the description thereof is omitted.
  • the control circuit 329 When receiving the packet 200 from the input port 301, the control circuit 329 first confirms the destination output port indicated by the first routing information 206 in the packet 200, and among the switching state information in the switching state register 309, The switching state information corresponding to the destination output port (hereinafter referred to as “corresponding switching state information”) is checked (step 501).
  • the control circuit 329 checks whether or not the packet 200 is a packet that requires order guarantee (step 503).
  • the control circuit 329 checks the value of the in-process register 312 (step 505).
  • the control circuit 329 checks the last packet flag 203 of the packet 200 (step 507).
  • Step 509 If the last packet flag 203 indicates “1”, that is, the last packet, that is, in the case of step 508, the control circuit 329 changes the value of the in-process register 312 from “1” to “0”. (Step 509).
  • the control circuit 329 stores “1” in the in-progress register 312 (step 512).
  • the control circuit 329 checks whether the correspondence switching state information is “0” or “2” following Step 509, 510, 512 or 513 (Step 514).
  • the control circuit 329 specifies a number corresponding to the destination output port from the numbers in the normal destination register 311, and the number is A request is sent to the added arbitration circuit (step 516).
  • the control circuit 329 specifies the number corresponding to the destination output port from the numbers in the switching destination register 310, and the number is A request is sent to the added arbitration circuit (step 518).
  • control circuit 329 first checks whether the packet 200 is a packet that requires order guarantee (step 520).
  • the control circuit 329 checks the value of the in-process register 312 (step 522).
  • the control circuit 329 checks the last packet flag 203 of the packet 200 (step 524).
  • Step 526 When the last packet flag 203 indicates “1”, that is, the last packet, that is, in the case of step 525, the control circuit 329 changes the value of the in-process register 312 from “1” to “0”. (Step 526).
  • control circuit 329 specifies a number corresponding to the destination output port from the numbers in the normal destination register 311 and sends a request to the arbitration circuit to which the number is added (step 527).
  • step 527 executes step 527 without changing the value of the in-process register 312. To do.
  • the control circuit 329 can send all of the plurality of packets that require the order guarantee to the network plane of the switching destination.
  • control circuit 329 changes the correspondence switching state information from “1” to “2” (step 530), and stores “1” in the in-progress register 312 (step 531).
  • control circuit 329 specifies a number corresponding to the destination output port from the numbers in the switching destination register 310, and sends a request to the arbitration circuit to which the number is added (step 532).
  • step 532 When the order guarantee flag 202 of the packet 200 is “0”, that is, in the case of step 533, the control circuit 329 executes step 532.
  • control circuit 329 first checks whether the packet 200 is a packet that requires order guarantee (step 535).
  • the control circuit 329 checks the value of the in-process register 312 (step 537).
  • the control circuit 329 checks the last packet flag 203 of the packet 200 (step 539).
  • Step 541 When the last packet flag 203 indicates “1”, that is, the last packet, that is, in the case of step 540, the control circuit 329 changes the value of the in-process register 312 from “1” to “0”. (Step 541).
  • control circuit 329 specifies a number corresponding to the destination output port from the numbers in the switching destination register 310, and sends a request to the arbitration circuit to which the number is added (step 542).
  • step 543 When the last packet flag 203 indicates “0”, that is, it is not the last packet, that is, in the case of step 543, the control circuit 329 executes step 542 without changing the value of the in-process register 312. To do.
  • the control circuit 329 can send all of a plurality of packets that require an order guarantee to the normal destination network plane.
  • control circuit 329 changes the correspondence switching state information from “3” to “0” (step 545), and stores “1” in the in-progress register 312 (step 546).
  • control circuit 329 specifies a number corresponding to the destination output port from the numbers in the normal destination register 311 and sends a request to the arbitration circuit to which the number is added (step 547).
  • step 548 the control circuit 329 executes step 547.
  • FIGS. 6A to 6E the same components as those shown in FIG. 3 are denoted by the same reference numerals.
  • FIG. 6A is an explanatory diagram showing a state immediately before a failure occurs in the network plane 102. All of the switching status registers 309, 313, 317 and 321 store “0” as the switching status information.
  • FIG. 6B is an explanatory diagram showing a state immediately after a failure occurs in the network plane 102.
  • registers 601 to 604 corresponding to the output port 306 (number “1”) store “1” as switching status information.
  • FIG. 6C is an explanatory diagram showing a situation in which a packet arrives at the input ports 301 and 303 and is processed.
  • the packet 605 addressed to the output port 306 that requires the order guarantee arrives at the input port 301 from the processor 113.
  • the in-process register 312 corresponding to the input port 301 stores “1”. For this reason, even if the register 601 in the switching status register 309 stores “1”, the control circuit 329 selects the number “1” 606 corresponding to the output port 306 from the numbers in the normal destination register 311. The request is sent to the arbitration circuit 334 assigned with the number “1”, and the packet 605 is sent to the network plane 102.
  • the control circuit 331 determines that the packet 607 is the first packet of a plurality of packets that require order guarantee.
  • control circuit 331 changes the value of the register 603 in the switching status register 317 from “1” to “2”, changes the value of the in-progress register 320 from “0” to “1”, and switches the switching destination register.
  • the number “2” 608 corresponding to the output port 306 is identified from the numbers in 318, the request is sent to the arbitration circuit 335 to which the number “2” is assigned, and the packet 607 is sent to the network plane 103. .
  • FIG. 6D is an explanatory diagram showing a state immediately after the network plane 102 that has been disconnected due to a failure has been recovered.
  • the registers 601 to 604 corresponding to the output port 306 (number “1”) store “3” as the switching status information.
  • FIG. 6E is an explanatory diagram showing a situation where a packet arrives at the input ports 301 and 304 and is processed.
  • a packet 609 addressed to the output port 306 that requires the order guarantee arrives at the input port 301 from the processor 113.
  • the in-process register 312 corresponding to the input port 301 stores “0”. For this reason, the control circuit 329 determines that the packet 609 is the first packet of a plurality of packets that require order guarantee.
  • control circuit 329 changes the value of the register 601 in the switching status register 309 from “3” to “0”, changes the value of the in-progress register 312 from “0” to “1”, and sets the normal destination register.
  • a number “1” 606 corresponding to the output port 306 is identified from the numbers in 311, a request is sent to the arbitration circuit 334 to which the number “1” is assigned, and a packet 609 is sent to the network plane 102. .
  • the in-process register 324 corresponding to the input port 304 stores “1”. Therefore, the control circuit 332 changes the value of the in-process register 324 from “1” to “0”, and specifies the number “2” 611 corresponding to the output port 306 from the numbers in the switching destination register 322. Then, a request is sent to the arbitration circuit 335 to which the number “2” is assigned, and a packet 610 is sent to the network plane 103.
  • each of the storage units 105a to 105b has a processor connected to an input port corresponding to the storage unit 105a to 105b having transmitted one or more packets among a plurality of predetermined packets, and In-communication information indicating that communication is in progress when all of the plurality of packets are not transmitted is stored.
  • control unit 105e When the control unit 105e receives individual packets constituting a predetermined plurality of packets from a certain input port, the control unit 105e transfers the packets to the network plane set as the transfer destination.
  • the control unit 105e in the situation where the storage unit corresponding to a certain input port among the storage units 105a to 105b stores communication information, instructs to switch the transfer destination of the packet from that input port.
  • the transfer destination is transferred to the other network plane among the plurality of network planes. Switch.
  • a plurality of packets that require order assurance are used as the predetermined plurality of packets.
  • the order can be guaranteed for a plurality of packets that need to be ordered.
  • control unit 105e has the transfer destination switched to another network plane, and the storage unit corresponding to one input port among the storage units 105a to 105b stores the information during communication.
  • the control unit 105e When receiving an instruction to switch the communication path to the original network plane, all of a plurality of predetermined packets transmitted to the input port are transferred to other network planes. Switch from the other network plane to the original network plane.
  • a plurality of independent partial networks (network planes) that are not directly connected to each other are used as a plurality of communication paths.
  • the interprocessor network 2 includes a plurality of network planes 101 to 104 and at least one interplane crossbar. In this case, it is possible to guarantee the order of a plurality of packets in the interprocessor network 2.
  • the parallel processor system 1 includes a plurality of processors 113 to 144 and an interprocessor network 2.
  • the parallel processor system 1 can guarantee the order of a plurality of packets.
  • the configuration of the parallel processor system 1 of the second embodiment is the same as that of FIG. 1 of the first embodiment except that the configuration of the registers in each storage unit in each interplane crossbar is simplified. It is.
  • interplane crossbars 105A to 112A in which the configuration of each register in each storage unit is simplified are used instead of the interplane crossbars 105 to 112.
  • the packet output destination in the normal case is determined in advance according to each input port of the interplane crossbar.
  • the network plane that is normally used is determined by the processor.
  • All network planes 101 to 104 are connected to all interplane crossbars 105A to 112A. Therefore, each of the interplane crossbars 105A to 112A can transmit a packet to a destination interplane crossbar, more specifically, a destination processor, regardless of which network plane is used.
  • FIG. 7 is an explanatory diagram for explaining the format of the packet 700 used in the second embodiment.
  • the same information as that shown in FIG. 7 the same information as that shown in FIG. 7
  • Packet 700 is generated by each of processors 113-144.
  • each of the processors 113 to 144 generates a plurality of packets 700 by dividing the transmission data.
  • Each of the processors 113 to 144 transmits individual packets 700 to the inter-processor network 2 one by one in order.
  • the packet 700 includes routing information 701, an order guarantee flag 202, a last packet flag 203, a packet length 204, and data 205.
  • the routing information 701 is used for routing in the interprocessor network 2.
  • the routing information 701 includes second routing information 207 and third routing information 208.
  • routing in the direction of the network plane in the interplane crossbars 105A to 112A has already been determined. For this reason, routing information for designating the direction to the network plane in the interplane crossbars 105A to 112A is not added to the packet 700.
  • FIG. 8 is an explanatory diagram showing details of the crossbar 105A between planes. In FIG. 8, the same components as those shown in FIG. 8, the same components as those shown in FIG.
  • FIG. 8 shows only the data path in the direction toward the network plane in the cross-plane crossbar 105A. Note that the data path in the direction to the processor in the interplane crossbar 105A is the same as that shown in FIG. 4 in the first embodiment.
  • interplane crossbar 105 ⁇ / b> A will be described focusing on differences from the interplane crossbar 105.
  • the interplane crossbar 105A includes storage units 105aA to 105dA and a control unit 105eA.
  • Each of the storage units 105aA to 105dA can be generally referred to as storage means.
  • the storage unit 105aA includes a switching status register 801, a switching destination register 802, a normal destination register 803, and a pending register 804.
  • the storage unit 105bA includes a switching status register 805, a switching destination register 806, a normal destination register 807, and a pending register 808.
  • the storage unit 105cA includes a switching status register 809, a switching destination register 810, a normal destination register 811, and a pending register 812.
  • the storage unit 105dA includes a switching status register 813, a switching destination register 814, a normal destination register 815, and a pending register 816.
  • Control unit 105eA can be generally referred to as control means.
  • the control unit 105eA includes multiplexers 325 to 328, control circuits 329A to 332A, and arbitration circuits 333 to 336.
  • the input port 301 is associated with the storage unit 105aA and the control circuit 329A.
  • the input port 302 is associated with the storage unit 105bA and the control circuit 330A.
  • the input port 303 is associated with the storage unit 105cA and the control circuit 331A.
  • the input port 304 is associated with the storage unit 105dA and the control circuit 332A.
  • 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.
  • the normal destination register 803 stores the number “0”.
  • the normal destination register 807 stores the number “1”.
  • the normal destination register 811 stores the number “2”.
  • the normal destination register 815 stores the number “3”.
  • 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.
  • Each of the switching destination registers 802, 806, 810 and 814 stores the value calculated by adding 1 to the corresponding output port number as the number of the arbitration circuit corresponding to the output port of the switching destination.
  • 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.
  • the switching state information is changed from “0” to “1”. Is changed.
  • 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.
  • 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.
  • the network plane where the failure has occurred can be disconnected from the parallel processor system 1. Therefore, at this point, maintenance is performed for the network plane where the failure has occurred.
  • the network plane in which the failure has occurred is repaired and incorporated into the parallel processor system 1 again.
  • the switching state information of the output port connected to the network plane where the failure has occurred is changed from “2” to “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 number of the packet that requires the order guarantee. Or the number in the switch destination register is used.
  • 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.
  • FIG. 8 shows a state where a failure has not yet occurred. Therefore, all the switching state information is “0”.
  • 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.
  • control circuits 329A to 332A When each of the control circuits 329A to 332A receives the last transmitted packet from the input ports corresponding to the control circuit 329A to 332A, the in-progress register corresponding to the same input port as that of the control circuit 329A to 332A is received. "1" (information during communication) is deleted and "0" is stored.
  • Each of the control circuits 329A to 332A determines whether or not the packet 700 received from the input port corresponding to the control circuit 329A to 332A is the last packet transmitted among a plurality of packets that require order guarantee.
  • the state of the packet flag 202 is checked and determined.
  • each of the control circuits 329A to 332A determines that the packet 700 is not the last packet transmitted among a plurality of packets that require order guarantee.
  • each of the control circuits 329A to 332A determines that the packet 700 is the last packet transmitted among a plurality of packets that require order guarantee.
  • each of the control circuits 329A to 332A when the value of the in-process register corresponding to the same input port as that of itself is “0” and the packet 700 that requires the order guarantee arrives, It is determined that the packet is the first packet transmitted among a plurality of packets that need to be guaranteed.
  • Each of the control circuits 329A to 332A transmits a transmission request to the arbitration circuit 333 when transferring the packet 700 to the output port 305 according to the information in the storage unit corresponding to the same input port as the control circuit 329A to 332A.
  • control circuit 329A to 332A When each of the control circuits 329A to 332A transfers the packet 700 to the output port 306 in accordance with the information in the storage unit corresponding to the same input port as itself, the control circuit 329A to 332A transmits a transmission request to the arbitration circuit 334.
  • Each of the control circuits 329A to 332A transmits a transmission request to the arbitration circuit 335 when transferring the packet 700 to the output port 307 according to the information in the storage unit corresponding to the same input port as the control circuit 329A to 332A.
  • control circuit 329A to 332A When each of the control circuits 329A to 332A transfers the packet 700 to the output port 308 according to the information in the storage unit corresponding to the same input port as itself, the control circuit 329A to 332A transmits a transmission request to the arbitration circuit 336.
  • Each of the control circuits 329A to 332A has a destination register (transfer destination) of the packet 700 when the value of the in-process register corresponding to the same input port as that of the control circuit 329A to 332A arrives and the packet 700 that requires the order guarantee arrives. Do not switch the output port.
  • the arrival order at the destination processor is reversed.
  • each of the arbitration circuits 333 to 336 When each of the arbitration circuits 333 to 336 receives a request from any of the control circuits 329A to 332A, an instruction to select an input port corresponding to the control circuit that transmitted the request is sent to the same output port as itself. Output to the corresponding multiplexer.
  • the processor connected to the input port corresponding to the storage unit 105aA to 105bA has already transmitted one or more packets out of a predetermined plurality of packets (for example, a plurality of packets requiring order guarantee).
  • a predetermined plurality of packets for example, a plurality of packets requiring order guarantee.
  • in-communication information indicating that communication is in progress is stored.
  • 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.
  • control unit 105eA 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.
  • the control unit 105eA performs switching 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 information during communication.
  • 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.
  • the output port that is, the network plane that is normally used is determined by the interplane crossbar 105. For this reason, the same effects as those of the first embodiment can be obtained, and it is not necessary to describe the first routing information 206 in the packet.
  • 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.
  • 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.

Abstract

A packet transfer device receives a predetermined number of packets which have been successively transmitted one by one from a first processor to a second processor and transfers the packets to a communication path set as a transfer destination among a plurality of communication paths leading to the second processor.  The packet transfer device includes: a storage unit which stores communication-in-progress information when the first processor has transmitted one or more of the plurality of packets and not yet transmitted all of the packets; and a control unit.  Upon reception of a transfer destination switching instruction while the communication-in-progress information is stored in the storage unit, the control unit switches the transfer destination to another communication path among the communication paths after all of the packets have been transferred to the communication path set as the transfer destination.

Description

パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法Packet transfer device, inter-processor communication system, parallel processor system, and packet transfer method
 本発明は、パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法に関し、例えば、並列コンピュータで使用されるパケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法に関する。 The present invention relates to a packet transfer device, an inter-processor communication system, a parallel processor system, and a packet transfer method, for example, a packet transfer device, an inter-processor 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 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 in the order of packet transmission. 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 that requires 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には、並列プロセッサ間のネットワークにおいて、故障情報を元にデータの転送経路を変更して故障スイッチを迂回する技術が開示されている。 Patent Document 1 discloses a technique for changing a data transfer path based on failure information and bypassing a failure switch in a network between parallel processors.
 特許文献2には、故障したクロスバスイッチの代わりに使用される部分ネットワークが予め決められている、プロセッサ間データ通信方法が開示されている。 Patent Document 2 discloses an interprocessor data communication method in which a partial network used in place of a failed crossbar switch is determined in advance.
特許第2960454号公報Japanese Patent No. 2960454 特開平8-77127号公報JP-A-8-77127
 並列コンピュータのプロセッサ間ネットワークで障害が発生した場合に障害箇所を切り離す障害処理において、特許文献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 Patent Documents 1 and 2, simply changing the transfer path and bypassing the failure location is not necessary. There is a problem that the order of packets that need to be guaranteed cannot be guaranteed.
 なぜなら、先行したパケットが通る経路と、後続のパケットが通る迂回経路とが異なるため、その経路間の混雑度の差によっては、パケットの到着順序が逆転する可能性があるためである。 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 control unit, 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 the communication 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 information during communication is stored in the storage unit, when the transfer destination switching instruction is received, all of the plurality of packets are After being transferred to the set communication path as the 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. Is stored in the storage unit, and the packet transfer device is in a state where the communication information is stored in the storage unit. When the transfer destination switching instruction is accepted, 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 the communication path.
 本発明によれば、通信経路の切り替えが生じる際にも、複数のパケットの順序を保証することが可能になる。 According to the present invention, it is possible to guarantee the order of a plurality of packets even when a communication path is switched.
本発明の第1の実施の形態の並列プロセッサシステムの構成を示したブロック図である。1 is a block diagram illustrating a configuration of a parallel processor system according to a first embodiment of this invention. プロセッサ間ネットワーク2で通信されるパケット200の形式を説明するための説明図である。It is explanatory drawing for demonstrating the format of the packet 200 communicated in the network 2 between processors. プレーン間クロスバ105の詳細を示した説明図である。It is explanatory drawing which showed the detail of the crossbar 105 between planes. プレーン間クロスバ105でのプロセッサ行き方向のデータパスを示した説明図である。It is explanatory drawing which showed the data path of the direction to a processor in the crossbar 105 between planes. プレーン間クロスバでのネットワークプレーン行き方向のデータパスでの処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process in the data path of the direction to a network plane in the crossbar between planes. 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。It is a figure explaining operation | movement of the crossbar between planes of the 1st Embodiment of this invention. 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。It is a figure explaining operation | movement of the crossbar between planes of the 1st Embodiment of this invention. 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。It is a figure explaining operation | movement of the crossbar between planes of the 1st Embodiment of this invention. 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。It is a figure explaining operation | movement of the crossbar between planes of the 1st Embodiment of this invention. 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。It is a figure explaining operation | movement of the crossbar between planes of the 1st Embodiment of this invention. 本発明の第2の実施の形態で使用されるパケット700の形式を説明するための説明図である。It is explanatory drawing for demonstrating the format of the packet 700 used by the 2nd Embodiment of this invention. 本発明の第2の実施の形態のプレーン間クロスバのネットワークプレーン行き方向のデータパスを示した説明図である。It is explanatory drawing which showed the data path of the network plane direction of the crossbar between planes of the 2nd Embodiment of this invention.
 以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。 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 parallel processor system 1 includes a plurality of network planes 101 to 104, a plurality of interplane crossbars (interplane crossbar switches) 105 to 112, and a plurality of processors 113 to 144.
 並列プロセッサシステム1では、プロセッサ113~144が、相互に協調しあって並列演算を行う。プロセッサ113~144のそれぞれは、一般的に、第1プロセッサおよび第2プロセッサと呼ぶことができる。 In the parallel processor system 1, the processors 113 to 144 perform parallel operations in cooperation with each other. Each of processors 113-144 can generally be referred to as a first processor and a second processor.
 プロセッサ113~144のそれぞれは、他のプロセッサに送信すべきデータ(以下「送信用データ」と称する)があると、送信用データを分割して、他のプロセッサ宛ての複数のパケットを生成する。 When there is data to be transmitted to other processors (hereinafter referred to as “transmission data”), each of the processors 113 to 144 divides the transmission data and generates a plurality of packets addressed to the other processors.
 複数のパケットが順序保証を必要とする場合、プロセッサ113~144のそれぞれは、複数のパケットのそれぞれに、順序保証を必要とする旨の情報を付加する。 When a plurality of packets require the order guarantee, each of the processors 113 to 144 adds information indicating that the order guarantee is necessary to each of the plurality of packets.
 順序保証を必要とする複数のパケットは、一般的に所定の複数のパケットと呼ぶことができる。この複数のパケットによって、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 processors 113 to 144 transmits individual packets constituting one communication command to the inter-processor network 2 one by one in order.
 プロセッサ間ネットワーク2は、一般的にプロセッサ間通信システムと呼ぶことができる。 The interprocessor network 2 can be generally called an interprocessor communication system.
 プロセッサ間ネットワーク2は、プロセッサ113~144のそれぞれと接続されている。プロセッサ間ネットワーク2は、複数のネットワークプレーン101~104と、複数のプレーン間クロスバ105~112と、を含む。 The interprocessor network 2 is connected to each of the processors 113 to 144. The inter-processor network 2 includes a plurality of network planes 101 to 104 and a plurality of inter-plane crossbars 105 to 112.
 ネットワークプレーン101~104は、一般的に複数の通信経路と呼ぶことができる。また、ネットワークプレーン101~104は、互いに直接接続されていない独立した複数の部分ネットワークと呼ぶことができる。 The network planes 101 to 104 can generally be called 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 interplane crossbars 105 to 112 can be generally called a packet transfer device.
 プレーン間クロスバ105~112のそれぞれは、ネットワークプレーン101~104と接続されている。 Each of the interplane crossbars 105 to 112 is connected to the network planes 101 to 104.
 プレーン間クロスバ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 interplane crossbar 105 is also connected to the processors 113 to 116. The interplane crossbar 106 is also connected to the processors 117 to 120. The interplane crossbar 107 is also connected to the processors 121 to 124. The interplane crossbar 108 is also connected to the processors 125 to 128. The interplane crossbar 109 is also connected to the processors 129 to 132. The interplane crossbar 110 is also connected to the processors 133 to 136. The interplane crossbar 111 is also connected to the processors 137 to 140. The interplane crossbar 112 is also connected to the processors 141 to 144.
 プレーン間クロスバ105~112のそれぞれは、8入力8出力のクロスバである。 Each of the crossbars 105 to 112 between the planes is an 8-input 8-output crossbar.
 プレーン間クロスバ105~112のそれぞれは、自己に接続されているプロセッサ(第1プロセッサ)から1つずつ順番に送信された他のプロセッサ(第2プロセッサ)宛ての複数のパケットを受信し、そのパケットのそれぞれを、ネットワークプレーン101~104のうち転送先として設定されたネットワークプレーンに転送する。 Each of the interplane crossbars 105 to 112 receives a plurality of packets addressed to another processor (second processor), one by one, sequentially transmitted from the processor (first processor) connected thereto, and the packet Are transferred to the network plane set as the transfer destination among the network planes 101 to 104.
 ネットワークプレーン101~104のそれぞれは、プレーン間クロスバ105~112のいずれかからパケットを受信すると、そのパケットに記載されたルーティングに関する情報に基づいて、そのパケットを、プレーン間クロスバ105~112のいずれかに転送する。 When each of the network planes 101 to 104 receives a packet from any of the interplane crossbars 105 to 112, the network plane 101 to 104 sends the packet to any one of the interplane crossbars 105 to 112 based on the routing information described in the packet. Forward to.
 プレーン間クロスバ105~112のそれぞれは、ネットワークプレーン101~104のいずれかからパケットを受信すると、そのパケットに記載されたルーティングに関する情報に基づいて、そのパケットを、自己に接続されているプロセッサのいずれかに転送する。 When each of the interplane crossbars 105 to 112 receives a packet from any one of the network planes 101 to 104, the interplane crossbars 105 to 112 send the packet to any of the processors connected to the packet based on the routing information described in the packet. Transfer to.
 このため、ネットワークプレーン101~104は、パケットの宛先のプロセッサに通じる複数の通信経路として機能する。 For this reason, 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 parallel processor system 1, the configuration as shown in FIG. 1 is shown. However, the number of network planes as a partial network, the topology and configuration of the partial network, the number of ports and the number of crossbars between planes, In addition, the number of processors is arbitrary.
 図2は、プロセッサ間ネットワーク2で通信されるパケット200の形式を説明するための説明図である。 FIG. 2 is an explanatory diagram for explaining a format of the packet 200 communicated in the inter-processor network 2.
 図2において、パケット200は、プロセッサ113~144のそれぞれによって生成される。本実施形態では、プロセッサ113~144のそれぞれは、送信用データを分割することによって、複数のパケット200を生成する。プロセッサ113~144のそれぞれは、個々のパケット200を、1つずつ順番に、プロセッサ間ネットワーク2に送信する。 In FIG. 2, the packet 200 is generated by each of the processors 113 to 144. In the present embodiment, each of the processors 113 to 144 generates a plurality of packets 200 by dividing the transmission data. Each of the processors 113 to 144 transmits the individual packets 200 to the inter-processor network 2 one by one in order.
 パケット200は、経路指定情報201、順序保証フラグ202、ラストパケットフラグ203、パケット長204、および、データ205から構成される。 The packet 200 includes routing information 201, an order guarantee flag 202, a last packet flag 203, a packet length 204, and data 205.
 経路指定情報201は、プロセッサ間ネットワーク2でのルーティングに用いられる。経路指定情報201は、第1経路指定情報206と、第2経路指定情報207と、第3経路指定情報208と、を含む。 The routing information 201 is used for routing in the inter-processor network 2. The route designation information 201 includes first route designation information 206, second route designation information 207, and third route designation information 208.
 第1経路指定情報206は、プレーン間クロスバ105~112のうち、プロセッサ113~144のいずれかからパケット200を受信したプレーン間クロスバ(以下「受信プレーン間クロスバ」と称する)によって使用される。 The first routing information 206 is used by the interplane crossbar (hereinafter referred to as “reception plane crossbar”) that has received the packet 200 from any of the processors 113 to 144 among the interplane crossbars 105 to 112.
 第1経路指定情報206は、ネットワークプレーン101~104のうち、受信プレーン間クロスバからの送信先となるネットワークプレーン(以下「送信先ネットワークプレーン」と称する)を指定するための情報(ルーティングに関する情報)である。 The first route designation information 206 is information (information related to routing) for designating a network plane (hereinafter referred to as “destination network plane”) as a transmission destination from the crossbar between the reception planes among the network planes 101 to 104. It is.
 本実施形態では、第1経路指定情報206は、受信プレーン間クロスバの出力ポートのうち、送信先ネットワークプレーンと接続している出力ポート(宛先出力ポート)を指定する。 In the present embodiment, the first route designation information 206 designates an output port (destination output port) connected to the transmission destination network plane among the output ports of the crossbar between the reception planes.
 第2経路指定情報207は、送信先ネットワークプレーンによって使用される。第2経路指定情報207は、プレーン間クロスバ105~112のうち、送信先ネットワークプレーンからの送信先となるプレーン間クロスバ(以下「送信先プレーン間クロスバ」と称する)を指定するための情報(ルーティングに関する情報)である。 The second routing information 207 is used by the destination network plane. The second route designation information 207 is information (routing) for designating an interplane crossbar (hereinafter referred to as “destination plane crossbar”) that is a transmission destination from the transmission destination network plane among the interplane crossbars 105 to 112. Information).
 本実施形態では、第2経路指定情報207は、送信先ネットワークプレーンの出力ポートのうち、送信先プレーン間クロスバと接続している出力ポートを指定する。 In the present embodiment, the second route designation information 207 designates an output port connected to the crossbar between the transmission destination planes among the output ports of the transmission destination network plane.
 第3経路指定情報208は、送信先プレーン間クロスバによって使用される。第3経路指定情報208は、プロセッサ113~144のうち、送信先プレーン間クロスバからの送信先となるプロセッサ(以下「送信先プロセッサ」と称する)を指定するための情報(ルーティングに関する情報)である。 The third routing information 208 is used by the crossbar between transmission destination planes. The third routing information 208 is information (information related to routing) for designating a processor (hereinafter referred to as “destination processor”) as a transmission destination from the crossbar between the transmission destination planes among the processors 113 to 144. .
 本実施形態では、第3経路指定情報208は、送信先プレーン間クロスバの出力ポートのうち、送信先プロセッサと接続している出力ポートを指定する。 In the present embodiment, the third route designation information 208 designates an output port connected to the destination processor among the output ports of the crossbar between the destination planes.
 順序保証フラグ202は、パケット200が、プロセッサ間ネットワーク2内で順序保証が必要なパケットかどうかを示す。 The order guarantee flag 202 indicates whether the packet 200 is a packet that requires order guarantee in the inter-processor network 2.
 本実施形態では、順序保証フラグ202が“1”である場合は、パケット200は、順序保証が必要なパケットであることを示す。一方、順序保証フラグ202が“0”である場合は、パケット200は、順序保証が必要ないパケットであることを示す。 In the present embodiment, when the order guarantee flag 202 is “1”, it indicates that the packet 200 is a packet that requires order guarantee. On the other hand, when the order guarantee flag 202 is “0”, it indicates that the packet 200 is a packet that does not require the order guarantee.
 ラストパケットフラグ203は、パケット200が、1つの通信命令の最後のパケットであるかどうかを示す。 The last packet flag 203 indicates whether or not the packet 200 is the last packet of one communication command.
 本実施形態では、ラストパケットフラグ203が“0”である場合は、パケット200は、1つの通信命令の最後のパケットでないことを示す。一方、ラストパケットフラグ203が“1”である場合は、パケット200は、1つの通信命令の最後のパケットであることを示す。 In the present embodiment, when the last packet flag 203 is “0”, it indicates that the packet 200 is not the last packet of one communication command. On the other hand, when the last packet flag 203 is “1”, it indicates that the packet 200 is the last packet of one communication command.
 パケット長204は、データ205の長さを指定する。 Packet length 204 specifies the length of data 205.
 図3は、プレーン間クロスバ105の詳細を示した説明図である。図3において、図1に示したものと同一構成のものには同一符号を付してある。 FIG. 3 is an explanatory diagram showing details of the crossbar 105 between planes. 3, the same components as those shown in FIG. 1 are denoted by the same reference numerals.
 図3では、図1に示したプレーン間クロスバ105を図示しているが、プレーン間クロスバ105~112は、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。 3 illustrates the interplane crossbar 105 shown in FIG. 1, but the interplane crossbars 105 to 112 have the same configuration, except that the connected processor is changed. For this reason, the description about the other crossbar between planes is abbreviate | omitted.
 図3では、プレーン間クロスバ105でのネットワークプレーン行き方向のデータパスのみを図示している。なお、プレーン間クロスバ105でのプロセッサ行き方向のデータパスは、図4で説明する。 FIG. 3 shows only the data path in the direction to the network plane at the crossbar 105 between the planes. The data path in the direction of the processor in the interplane crossbar 105 will be described with reference to FIG.
 プレーン間クロスバ105は、ネットワークプレーン行き方向のデータパスについては、4つの入力ポート301~304と、4つの出力ポート305~308と、を含む。 The interplane crossbar 105 includes four input ports 301 to 304 and four output ports 305 to 308 for the data path in the direction toward the network plane.
 出力ポート305に番号「0」が付してある。出力ポート306に番号「1」が付してある。出力ポート307に番号「2」が付してある。出力ポート308に番号「3」が付してある。なお、番号は、一般的に識別情報と呼ぶことができる。 The number “0” is assigned to the output port 305. The output port 306 is numbered “1”. The output port 307 is numbered “2”. The output port 308 is numbered “3”. Note that the number can generally be referred to as identification information.
 4つの入力ポート301~304のそれぞれは、プロセッサ113~116のいずれかに接続されている。本実施形態では、入力ポート301はプロセッサ113と接続されている。入力ポート302はプロセッサ114と接続されている。入力ポート303はプロセッサ115と接続されている。入力ポート304はプロセッサ116と接続されている。 Each of the four input ports 301 to 304 is connected to one of the processors 113 to 116. In the present embodiment, the input port 301 is connected to the processor 113. The input port 302 is connected to the processor 114. The input port 303 is connected to the processor 115. The input port 304 is connected to the processor 116.
 4つの出力ポート305~308のそれぞれは、ネットワークプレーン101~104のいずれかに接続されている。本実施形態では、出力ポート305はネットワークプレーン101と接続されている。出力ポート306はネットワークプレーン102と接続されている。出力ポート307はネットワークプレーン103と接続されている。出力ポート308はネットワークプレーン104と接続されている。 Each of the four output ports 305 to 308 is connected to one of the network planes 101 to 104. In the present embodiment, the output port 305 is connected to the network plane 101. The output port 306 is connected to the network plane 102. The output port 307 is connected to the network plane 103. The output port 308 is connected to the network plane 104.
 プレーン間クロスバ105は、格納部105a~105dと、制御部105eと、を含む。 The interplane crossbar 105 includes storage units 105a to 105d and a control unit 105e.
 格納部105a~105dのそれぞれは、一般的に格納手段と呼ぶことができる。 Each of the storage units 105a to 105d can be generally referred to as storage means.
 格納部105aは、切り替え状態レジスタ309と、切り替え先レジスタ310と、通常宛先レジスタ311と、仕掛中レジスタ312と、を含む。格納部105bは、切り替え状態レジスタ313と、切り替え先レジスタ314と、通常宛先レジスタ315と、仕掛中レジスタ316と、を含む。格納部105cは、切り替え状態レジスタ317と、切り替え先レジスタ318と、通常宛先レジスタ319と、仕掛中レジスタ320と、を含む。格納部105dは、切り替え状態レジスタ321と、切り替え先レジスタ322と、通常宛先レジスタ323と、仕掛中レジスタ324と、を含む。 The storage unit 105 a includes a switching status register 309, a switching destination register 310, a normal destination register 311, and a pending register 312. The storage unit 105 b includes a switching status register 313, a switching destination register 314, a normal destination register 315, and a pending register 316. The storage unit 105 c includes a switching status register 317, a switching destination register 318, a normal destination register 319, and a pending register 320. The storage unit 105 d includes a switching status register 321, a switching destination register 322, a normal destination register 323, and a pending register 324.
 制御部105eは、一般的に制御手段と呼ぶことができる。 Control unit 105e can be generally referred to as control means.
 制御部105eは、マルチプレクサ325~328と、制御回路329~332と、調停回路333~336と、を含む。 The control unit 105e includes multiplexers 325 to 328, control circuits 329 to 332, and arbitration circuits 333 to 336.
 調停回路333に番号「0」が付してある。調停回路334に番号「1」が付してある。調停回路335に番号「2」が付してある。調停回路336に番号「3」が付してある。 The number “0” is assigned to the arbitration circuit 333. The arbitration circuit 334 is numbered “1”. The arbitration circuit 335 is numbered “2”. The arbitration circuit 336 is numbered “3”.
 入力ポート301は、格納部105aと、制御回路329と、に対応づけられている。入力ポート302は、格納部105bと、制御回路330と、に対応づけられている。入力ポート303は、格納部105cと、制御回路331と、に対応づけられている。入力ポート304は、格納部105dと、制御回路332と、に対応づけられている。 The input port 301 is associated with the storage unit 105a and the control circuit 329. The input port 302 is associated with the storage unit 105b and the control circuit 330. The input port 303 is associated with the storage unit 105c and the control circuit 331. The input port 304 is associated with the storage unit 105d and the control circuit 332.
 出力ポート305は、マルチプレクサ325と、調停回路333と、に対応づけられている。出力ポート306は、マルチプレクサ326と、調停回路334と、に対応づけられている。出力ポート307は、マルチプレクサ327と、調停回路335と、に対応づけられている。出力ポート308は、マルチプレクサ328と、調停回路336と、に対応づけられている。 The output port 305 is associated with the multiplexer 325 and the arbitration circuit 333. The output port 306 is associated with the multiplexer 326 and the arbitration circuit 334. The output port 307 is associated with the multiplexer 327 and the arbitration circuit 335. The output port 308 is associated with the multiplexer 328 and the arbitration circuit 336.
 通常宛先レジスタ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 output ports 305 to 308 (numbers “0” to “3”).
 図3では、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載してある0~3の番号が、出力ポート305~308の番号「0」~「3」に対応する。 In FIG. 3, the numbers 0 to 3 described above the switching status registers 309, 313, 317, and 321 correspond to the numbers “0” to “3” of the output ports 305 to 308, respectively.
 このため、通常宛先レジスタ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 number 0 column described above each of the switching status registers 309, 313, 317 and 321. The number of the arbitration circuit corresponding to the port 305 is stored.
 また、通常宛先レジスタ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 number 1 column described above each of the switching status registers 309, 313, 317 and 321. The number of the arbitration circuit corresponding to 306 is stored.
 また、通常宛先レジスタ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 number 2 column described above each of the switching status registers 309, 313, 317 and 321. The number of the arbitration circuit corresponding to 307 is stored.
 また、通常宛先レジスタ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 number 3 described on each of the switching status registers 309, 313, 317 and 321. The number of the arbitration circuit corresponding to 308 is stored.
 切り替え先レジスタ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 output ports 305 to 308 (numbers “0” to “3”). To do.
 切り替え先レジスタ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 number 0 described above each of the switching status registers 309, 313, 317, and 321 in the output port 305. Stores the number of the arbitration circuit corresponding to the output port of the switching destination.
 切り替え先レジスタ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 number 1 column described above each of the switching status registers 309, 313, 317, and 321. Stores the number of the arbitration circuit corresponding to the output port of the switching destination.
 切り替え先レジスタ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 number 2 described above each of the switching status registers 309, 313, 317, and 321 in the output port 307. Stores the number of the arbitration circuit corresponding to the output port of the switching destination.
 切り替え先レジスタ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 output port 308 in a portion (register) existing in the number 3 column described above each of the switch state registers 309, 313, 317, and 321. Stores the number of the arbitration circuit corresponding to the output port of the switching destination.
 本実施形態では、切り替え先レジスタ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 mod 1 to the output port number for each of the output ports 305 to 308 (numbers “0” to “3”). The calculated value is stored as the arbitration circuit number corresponding to the output port of the switching destination.
 切り替え状態レジスタ309、313、317および321のそれぞれは、出力ポート305~308(番号「0」~「3」)のそれぞれについて、その出力ポートの切り替えの状態を表す切り替え状態情報(「0」~「3」のいずれか)を格納する。 Each of the switching status registers 309, 313, 317 and 321 has switching status information (“0” to “0”) indicating the switching status of the output port for each of the output ports 305 to 308 (numbers “0” to “3”). Any one of “3”) is stored.
 切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号0の列に存在する部分(レジスタ)に、出力ポート305についての切り替え状態情報を格納する。 Each of the switching status registers 309, 313, 317, and 321 stores switching status information for the output port 305 in a portion (register) existing in the number 0 column described above.
 切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号1の列に存在する部分(レジスタ)に、出力ポート306についての切り替え状態情報を格納する。 Each of the switching status registers 309, 313, 317, and 321 stores the switching status information for the output port 306 in the portion (register) that exists in the column of number 1 described above.
 切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号2の列に存在する部分(レジスタ)に、出力ポート307についての切り替え状態情報を格納する。 Each of the switching status registers 309, 313, 317 and 321 stores the switching status information for the output port 307 in the part (register) existing in the column of number 2 described above.
 切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号3の列に存在する部分(レジスタ)に、出力ポート308についての切り替え状態情報を格納する。 Each of the switching status registers 309, 313, 317, and 321 stores switching status information for the output port 308 in a portion (register) that exists in the column of number 3 described above.
 ある出力ポートに接続されているネットワークプレーンに障害が発生していない場合は、その出力ポートを他の出力ポートに切り替える必要がない。出力ポートを切り替えない場合、その出力ポートに対応する切り替え状態情報として「0」が格納される。切り替え状態情報が「0」である場合には、通常宛先レジスタ内の番号が使用される。 If there is no failure in the network plane connected to an output port, there is no need 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 status information changes from “1” to “2” will be described later with reference to FIG.
 切り替え状態情報が「2」の場合には、必ず、切り替え先レジスタ内の番号が使用される。 When the switching status 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 crossbars 105 to 112 between the planes changes from “1” to “2”, the network plane where the failure occurred is used. I will not be broken.
 この時点で、障害が発生したネットワークプレーンを、並列プロセッサシステム1から切り離すことが可能となる。このため、この時点で、障害が発生したネットワークプレーンについて、保守が行われる。 At this point, the network plane where the failure has occurred can be disconnected from the parallel processor system 1. Therefore, at this point, maintenance is performed for the network plane where the failure has occurred.
 そして、障害が発生したネットワークプレーンが修理され、再び、並列プロセッサシステム1に組み込まれる。この時点で、障害が発生したネットワークプレーンに接続されていた出力ポートの切り替え状態情報が、「2」から「3」に変更される。 Then, the network plane in which the failure has occurred is repaired and incorporated into the parallel processor system 1 again. At this time, the switching state information of the output port connected to the network plane where the failure has occurred is changed from “2” to “3”.
 切り替え状態情報が「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 status 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-process 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 inter-processor network 2 between a plurality of packets, and that the order of packets sent from the source processor and the arrival order at the destination processor are the same. It is a packet that needs to be guaranteed.
 プロセッサ間ネットワーク2内でパケットの順序が逆転すると、エラーが発生したり、宛先プロセッサによるメモリ(不図示)へのデータの書込みの順序を保証できなくなるなどの問題が発生する。 If the order of packets in the inter-processor network 2 is reversed, problems such as errors occur and the order of data writing to the memory (not shown) by the destination processor cannot be guaranteed.
 制御回路329~332のそれぞれは、自己に対応する入力ポートから、順序保証が必要な複数のパケットのうち最初に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタに、「1」(通信中情報)を格納する。 When each of the control circuits 329 to 332 receives a packet transmitted first among a plurality of packets that require order guarantee from an input port corresponding to the control circuit 329 to 332, “1” (information during communication) is stored.
 そして、制御回路329~332のそれぞれは、自己に対応する入力ポートから、順序保証の必要な複数のパケットのうち最後に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタ内の「1」(通信中情報)を削除して「0」を格納する。 When each of the control circuits 329 to 332 receives from the input port corresponding to itself the last transmitted packet among the plurality of packets that require order guarantee, the in-process register corresponding to the same input port as that of itself "1" (information during communication) is deleted and "0" is stored.
 制御回路329~332のそれぞれは、自己に対応する入力ポートから受信したパケット200が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであるかどうかを、図2に示したラストパケットフラグ202の状態を調べて判定する。 Each of the control circuits 329 to 332 determines whether or not the packet 200 received from the input port corresponding to the control circuit 329 to 332 is the packet transmitted last among the plurality of packets that need the order guarantee. The state of the packet flag 202 is checked and determined.
 ラストパケットフラグ202が“0”である場合、制御回路329~332のそれぞれは、パケット200が、順序保証の必要な複数のパケットのうち最後に送信されたパケットでないと判定する。 When the last packet flag 202 is “0”, each of the control circuits 329 to 332 determines that the packet 200 is not the last packet transmitted among a plurality of packets that require order guarantee.
 一方、ラストパケットフラグ202が“1”である場合、制御回路329~332のそれぞれは、パケット200が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであると判定する。 On the other hand, when the last packet flag 202 is “1”, each of the control circuits 329 to 332 determines that the packet 200 is the last packet transmitted among a plurality of packets that require order guarantee.
 また、制御回路329~332のそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「0」で、かつ、順序保証が必要なパケット200が到着した場合、そのパケット200が、順序保証の必要な複数のパケットのうち最初に送信されたパケットであると判定する。 In addition, each of the control circuits 329 to 332 has an in-process register value corresponding to the same input port as that of itself, and when the packet 200 that requires the order guarantee arrives, the packet 200 is ordered. It is determined that the packet is the first packet transmitted out of a plurality of packets that need to be guaranteed.
 制御回路329~332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート305に転送する場合、調停回路333に、送信用のリクエストを送信する。 When each of the control circuits 329 to 332 transfers the packet 200 to the output port 305 according to the first routing information 206 in the packet 200 and the information in the storage unit corresponding to the same input port as the self, the control circuits 329 to 332 Send a request for transmission.
 制御回路329~332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート306に転送する場合、調停回路334に、送信用のリクエストを送信する。 When each of the control circuits 329 to 332 transfers the packet 200 to the output port 306 according to the first routing information 206 in the packet 200 and the information in the storage unit corresponding to the same input port as the self, the control circuits 329 to 332 Send a request for transmission.
 制御回路329~332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート307に転送する場合、調停回路335に、送信用のリクエストを送信する。 When each of the control circuits 329 to 332 transfers the packet 200 to the output port 307 according to the first routing information 206 in the packet 200 and the information in the storage unit corresponding to the same input port as itself, the control circuits 329 to 332 Send a request for transmission.
 制御回路329~332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート308に転送する場合、調停回路336に、送信用のリクエストを送信する。 When each of the control circuits 329 to 332 transfers the packet 200 to the output port 308 according to the first routing information 206 in the packet 200 and the information in the storage unit corresponding to the same input port as the self, the control circuits 329 to 332 Send a request for transmission.
 制御回路329~332のそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「1」で、かつ、順序保証が必要なパケット200が到着した場合、パケット200の宛先(転送先)となる出力ポートの切り替えを行わない。 When each of the control circuits 329 to 332 has the value of the in-process register corresponding to the same input port as “1” and the packet 200 that requires the order guarantee arrives, the destination (transfer destination) of the packet 200 Do not switch the output port.
 なぜなら、2つのパケットが異なるネットワークプレーンを通ると、プロセッサ間ネットワーク2内での順序保証ができないからである。 This is because if two packets pass through different network planes, the order in the inter-processor network 2 cannot be guaranteed.
 例えば、先に来たパケットが通るネットワークプレーンが混雑していて、後から来たパケットが通るネットワークプレーンが空いていると、宛先となっているプロセッサへの到着順序が逆転してしまう。 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 multiplexers 325 to 328 selects one input port from the four input ports 301 to 304 based on an instruction from the arbitration circuit corresponding to the same output port as itself. Each of the multiplexers 325 to 328 forwards the packet 200 from the selected input port to the output port corresponding to itself.
 調停回路333~336のそれぞれは、制御回路329~332のいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。 When each of the arbitration circuits 333 to 336 receives a request from any of the control circuits 329 to 332, each of the arbitration circuits 333 to 336 sends an instruction to select an input port corresponding to the control circuit that transmitted the request to the same output port as itself. Output to the corresponding multiplexer.
 格納部105a~105bのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケット(例えば、順序保証が必要な複数のパケット)のうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。 In each of the storage units 105a to 105b, the processor connected to the input port corresponding to the storage unit 105a to 105b has already transmitted one or more packets out of a predetermined plurality of 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.
 なお、所定の複数のパケットは、順序保証が必要な複数のパケットであることが望ましいが、順序保証が必要な複数のパケットの他に、他のパケットが含まれてもよい。この場合、他のパケットも含めて、順序を保証することができる。 It should be noted 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 control unit 105e receives individual packets constituting a predetermined plurality of packets from a certain input port, the control unit 105e transfers the packets to the network plane set as the transfer destination.
 制御部105eは、格納部105a~105bのうち、ある1つの入力ポートに対応する格納部が、通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてを、転送先として設定されたネットワークプレーンへ転送した後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。 The control unit 105e switches the packet transfer destination from the input port in a situation where the storage unit corresponding to one input port among the storage units 105a to 105b stores communication information. When the instruction is accepted, all of the predetermined packets sent to the input port are transferred to the network plane set as the transfer destination, and then the transfer destination is transferred to another network plane among the plurality of network planes. Switch.
 図4は、プレーン間クロスバ105でのプロセッサ行き方向のデータパスのみを示した説明図である。なお、図4において、図1に示したものと同一構成のものには同一符号を付してある。 FIG. 4 is an explanatory diagram showing only the data path in the direction of the processor in the crossbar 105 between the planes. In FIG. 4, the same components as those shown in FIG.
 図4では、図1に示したプレーン間クロスバ105を図示しているが、プレーン間クロスバ105~112は、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。 FIG. 4 illustrates the interplane crossbar 105 shown in FIG. 1, but the interplane crossbars 105 to 112 have the same configuration except that the connected processor is changed. For this reason, the description about the other crossbar between planes is abbreviate | omitted.
 プレーン間クロスバ105は、プロセッサ行き方向のデータパスについては、4つの入力ポート401~404と、4つの出力ポート405~408と、を含む。 Interplane crossbar 105 includes four input ports 401 to 404 and four output ports 405 to 408 for the data path in the direction to the processor.
 また、プレーン間クロスバ105は、マルチプレクサ409~412と、制御回路413~416と、調停回路417~420と、を含む。 The interplane crossbar 105 includes multiplexers 409 to 412, control circuits 413 to 416, and arbitration circuits 417 to 420.
 本実施形態では、調停回路417に番号「4」が付してある。調停回路418に番号「5」が付してある。調停回路419に番号「6」が付してある。調停回路420に番号「7」が付してある。 In this embodiment, the arbitration circuit 417 is numbered “4”. The arbitration circuit 418 is numbered “5”. The arbitration circuit 419 is numbered “6”. The arbitration circuit 420 is numbered “7”.
 4つの入力ポート401~404のそれぞれは、ネットワークプレーン101~104のいずれかに接続されている。本実施形態では、入力ポート401はネットワークプレーン101と接続されている。入力ポート402はネットワークプレーン102と接続されている。入力ポート403はネットワークプレーン103と接続されている。入力ポート404はネットワークプレーン104と接続されている。 Each of the four input ports 401 to 404 is connected to one of the network planes 101 to 104. In the present embodiment, the input port 401 is connected to the network plane 101. The input port 402 is connected to the network plane 102. The input port 403 is connected to the network plane 103. The input port 404 is connected to the network plane 104.
 入力ポート401は、制御回路413に対応づけられている。入力ポート402は、制御回路414に対応づけられている。入力ポート403は、制御回路415に対応づけられている。入力ポート404は、制御回路416に対応づけられている。 The input port 401 is associated with the control circuit 413. The input port 402 is associated with the control circuit 414. The input port 403 is associated with the control circuit 415. The input port 404 is associated with the control circuit 416.
 4つの出力ポート405~408のそれぞれは、プロセッサ113~116のいずれかに接続されている。本実施形態では、出力ポート405はプロセッサ113と接続されている。出力ポート406はプロセッサ114と接続されている。出力ポート407はプロセッサ115と接続されている。出力ポート408はプロセッサ116と接続されている。 Each of the four output ports 405 to 408 is connected to one of the processors 113 to 116. In the present embodiment, the output port 405 is connected to the processor 113. The output port 406 is connected to the processor 114. The output port 407 is connected to the processor 115. The output port 408 is connected to the processor 116.
 出力ポート405は、マルチプレクサ409と、調停回路417と、に対応づけられている。出力ポート406は、マルチプレクサ410と、調停回路418と、に対応づけられている。出力ポート407は、マルチプレクサ411と、調停回路419と、に対応づけられている。出力ポート408は、マルチプレクサ412と、調停回路420と、に対応づけられている。 The output port 405 is associated with the multiplexer 409 and the arbitration circuit 417. The output port 406 is associated with the multiplexer 410 and the arbitration circuit 418. The output port 407 is associated with the multiplexer 411 and the arbitration circuit 419. The output port 408 is associated with the multiplexer 412 and the arbitration circuit 420.
 制御回路413~416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート405に転送する場合、調停回路417に、送信用のリクエストを送信する。 When each of the control circuits 413 to 416 transfers the packet 200 from the input port corresponding to itself to the output port 405 according to the third routing information 208 in the packet 200, the control circuit 413 to 416 sends a request for transmission to the arbitration circuit 417. Send.
 制御回路413~416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート406に転送する場合、調停回路418に、送信用のリクエストを送信する。 When each of the control circuits 413 to 416 transfers the packet 200 from the input port corresponding to the control circuit 413 to the output port 406 according to the third routing information 208 in the packet 200, the control circuit 413 to 416 sends a request for transmission to the arbitration circuit 418. Send.
 制御回路413~416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート407に転送する場合、調停回路419に、送信用のリクエストを送信する。 When each of the control circuits 413 to 416 transfers the packet 200 from the input port corresponding to the control circuit 413 to the output port 407 according to the third routing information 208 in the packet 200, the control circuit 413 to 416 sends a request for transmission to the arbitration circuit 419. Send.
 制御回路413~416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート408に転送する場合、調停回路420に、送信用のリクエストを送信する。 When each of the control circuits 413 to 416 transfers the packet 200 from the input port corresponding to the control circuit 413 to the output port 408 according to the third routing information 208 in the packet 200, the control circuit 413 to 416 sends a request for transmission to the arbitration circuit 420. Send.
 マルチプレクサ409~412のそれぞれは、自己と同じ出力ポートに対応する調停回路からの指示に基づいて、4つの入力ポート401~404から1つの入力ポートを選択する。マルチプレクサ409~412のそれぞれは、その選択された入力ポートからのパケット200を、自己に対応する出力ポートに転送する。 Each of the multiplexers 409 to 412 selects one input port from the four input ports 401 to 404 based on an instruction from the arbitration circuit corresponding to the same output port as itself. Each of the multiplexers 409 to 412 transfers the packet 200 from the selected input port to the output port corresponding to itself.
 調停回路417~420のそれぞれは、制御回路413~416のいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。 When each of the arbitration circuits 417 to 420 receives a request from any of the control circuits 413 to 416, each of the arbitration circuits 417 to 420 issues an instruction to select an input port corresponding to the control circuit that transmitted the request to the same output port as itself. Output to the corresponding multiplexer.
 次に、動作を説明する。 Next, the operation will be described.
 図5は、プレーン間クロスバでのネットワークプレーン行き方向のデータパスでの処理を説明するためのフローチャートである。 FIG. 5 is a flowchart for explaining processing in the data path in the direction toward the network plane in the crossbar between planes.
 以下では、プロセッサ113が、入力ポート301に、パケット200を送信した場合を例にとって説明する。なお、他のプロセッサがパケット200を送信した場合では、パケット200が入力される入力ポートと、処理を実行する制御回路と、使用される格納部とが、異なるだけなので、その説明は省略する。 Hereinafter, a case where the processor 113 transmits the packet 200 to the input port 301 will be described as an example. When another processor transmits the packet 200, the input port to which the packet 200 is input, the control circuit that executes the process, and the storage unit that is used are different, and the description thereof is omitted.
 制御回路329は、入力ポート301からパケット200を受信すると、まず、パケット200内の第1経路指定情報206で示された宛先出力ポートを確認し、切り替え状態レジスタ309内の切り替え状態情報のうち、その宛先出力ポートに対応する切り替え状態情報(以下、「対応切り替え状態情報」と称する)を調べる(ステップ501)。 When receiving the packet 200 from the input port 301, the control circuit 329 first confirms the destination output port indicated by the first routing information 206 in the packet 200, and among the switching state information in the switching state register 309, The switching state information corresponding to the destination output port (hereinafter referred to as “corresponding switching state information”) is checked (step 501).
 まず、対応切り替え状態情報が「0」か「2」である場合、つまり、ステップ502の場合には、制御回路329は、パケット200が順序保証を必要とするパケットかどうかを調べる(ステップ503)。 First, when the correspondence switching state information is “0” or “2”, that is, in the case of step 502, the control circuit 329 checks whether or not the packet 200 is a packet that requires order guarantee (step 503). .
 パケット200の順序保証フラグ202が“1”の場合、つまり、ステップ504の場合、制御回路329は、仕掛中レジスタ312の値を調べる(ステップ505)。 When the order guarantee flag 202 of the packet 200 is “1”, that is, in the case of step 504, the control circuit 329 checks the value of the in-process register 312 (step 505).
 仕掛中レジスタ312が「1」を格納している場合、つまり、ステップ506の場合には、制御回路329は、パケット200のラストパケットフラグ203を調べる(ステップ507)。 When the in-process register 312 stores “1”, that is, in the case of step 506, the control circuit 329 checks the last packet flag 203 of the packet 200 (step 507).
 そして、ラストパケットフラグ203が、“1”すなわち最後のパケットであることを示している場合、つまり、ステップ508の場合は、制御回路329は、仕掛中レジスタ312の値を「1」から「0」に変更する(ステップ509)。 If the last packet flag 203 indicates “1”, that is, the last packet, that is, in the case of step 508, the control circuit 329 changes the value of the in-process register 312 from “1” to “0”. (Step 509).
 ラストパケットフラグ203が、“0”すなわち最後のパケットでないことを示している場合、つまり、ステップ510の場合は、制御回路329は、仕掛中レジスタ312の値を変更しない。 When the last packet flag 203 indicates “0”, that is, it is not the last packet, that is, in the case of Step 510, the control circuit 329 does not change the value of the in-process register 312.
 仕掛中レジスタ312が「0」を格納している場合、つまり、ステップ511の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路329は、仕掛中レジスタ312に「1」を格納する(ステップ512)。 When the in-process register 312 stores “0”, that is, in the case of step 511, it means that the first packets of a plurality of packets that require order guarantee have arrived. Therefore, the control circuit 329 stores “1” in the in-progress register 312 (step 512).
 パケット200の順序保証フラグ202が“0”である場合、つまり、ステップ513の場合は、制御回路329は、仕掛中レジスタ312の値を変更しない。 When the order guarantee flag 202 of the packet 200 is “0”, that is, in the case of step 513, the control circuit 329 does not change the value of the in-process register 312.
 制御回路329は、ステップ509、510、512または513に続いて、対応切り替え状態情報が、「0」なのか「2」なのかを調べる(ステップ514)。 The control circuit 329 checks whether the correspondence switching state information is “0” or “2” following Step 509, 510, 512 or 513 (Step 514).
 対応切り替え状態情報が「0」である場合、つまり、ステップ515の場合は、制御回路329は、通常宛先レジスタ311内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ516)。 When the correspondence switching state information is “0”, that is, in the case of step 515, the control circuit 329 specifies a number corresponding to the destination output port from the numbers in the normal destination register 311, and the number is A request is sent to the added arbitration circuit (step 516).
 対応切り替え状態情報が「2」である場合、つまり、ステップ517の場合は、制御回路329は、切り替え先レジスタ310内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ518)。 When the correspondence switching state information is “2”, that is, in the case of step 517, the control circuit 329 specifies the number corresponding to the destination output port from the numbers in the switching destination register 310, and the number is A request is sent to the added arbitration circuit (step 518).
 次に、対応切り替え状態情報が「1」である場合、つまり、ステップ519の場合は、宛先出力ポートに接続されたネットワークプレーンに障害が発生し、制御回路329が、転送先の切替え指示を受け付け、対応切り替え状態情報に「1」を格納した状態である。 Next, when the correspondence switching state information is “1”, that is, in the case of step 519, a failure occurs in the network plane connected to the destination output port, and the control circuit 329 accepts a transfer destination switching instruction. In this state, “1” is stored in the correspondence switching state information.
 この場合、制御回路329は、まず、パケット200が順序保証を必要とするパケットかどうかを調べる(ステップ520)。 In this case, the control circuit 329 first checks whether the packet 200 is a packet that requires order guarantee (step 520).
 パケット200の順序保証フラグ202が“1”である場合、つまり、ステップ521の場合、制御回路329は、仕掛中レジスタ312の値を調べる(ステップ522)。 When the order guarantee flag 202 of the packet 200 is “1”, that is, in the case of step 521, the control circuit 329 checks the value of the in-process register 312 (step 522).
 仕掛中レジスタ312が「1」を格納している場合、つまり、ステップ523の場合には、制御回路329は、パケット200のラストパケットフラグ203を調べる(ステップ524)。 When the in-process register 312 stores “1”, that is, in the case of step 523, the control circuit 329 checks the last packet flag 203 of the packet 200 (step 524).
 そして、ラストパケットフラグ203が、“1”すなわち最後のパケットであることを示している場合、つまり、ステップ525の場合は、制御回路329は、仕掛中レジスタ312の値を「1」から「0」に変更する(ステップ526)。 When the last packet flag 203 indicates “1”, that is, the last packet, that is, in the case of step 525, the control circuit 329 changes the value of the in-process register 312 from “1” to “0”. (Step 526).
 続いて、制御回路329は、通常宛先レジスタ311内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ527)。 Subsequently, the control circuit 329 specifies a number corresponding to the destination output port from the numbers in the normal destination register 311 and sends a request to the arbitration circuit to which the number is added (step 527).
 ラストパケットフラグ203が、“0”すなわち最後のパケットでないことを示している場合、つまり、ステップ528の場合は、制御回路329は、仕掛中レジスタ312の値を変更せずに、ステップ527を実行する。 When the last packet flag 203 indicates “0”, that is, not the last packet, that is, in the case of step 528, the control circuit 329 executes step 527 without changing the value of the in-process register 312. To do.
 仕掛中レジスタ312が「0」を格納している場合、つまり、ステップ529の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路329は、順序保証が必要な複数のパケットのすべてを、切り替え先のネットワークプレーンに送ることができる。 When the in-process register 312 stores “0”, that is, in the case of step 529, it means that the first packets of a plurality of packets that require the order guarantee have arrived. For this reason, the control circuit 329 can send all of the plurality of packets that require the order guarantee to the network plane of the switching destination.
 したがって、制御回路329は、対応切り替え状態情報を「1」から「2」に変更し(ステップ530)、仕掛中レジスタ312に「1」を格納する(ステップ531)。 Therefore, the control circuit 329 changes the correspondence switching state information from “1” to “2” (step 530), and stores “1” in the in-progress register 312 (step 531).
 続いて、制御回路329は、切り替え先レジスタ310内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ532)。 Subsequently, the control circuit 329 specifies a number corresponding to the destination output port from the numbers in the switching destination register 310, and sends a request to the arbitration circuit to which the number is added (step 532).
 パケット200の順序保証フラグ202が“0”である場合、つまり、ステップ533の場合は、制御回路329は、ステップ532を実行する。 When the order guarantee flag 202 of the packet 200 is “0”, that is, in the case of step 533, the control circuit 329 executes step 532.
 最後に、対応切り替え状態情報が「3」である場合、つまり、ステップ534の場合は、宛先出力ポートに接続されているネットワークプレーンが復旧され、そのネットワークプレーンが利用できる状態である。 Finally, when the correspondence switching state information is “3”, that is, in the case of step 534, the network plane connected to the destination output port is restored and the network plane can be used.
 この場合、制御回路329は、まず、パケット200が順序保証を必要とするパケットかどうかを調べる(ステップ535)。 In this case, the control circuit 329 first checks whether the packet 200 is a packet that requires order guarantee (step 535).
 パケット200の順序保証フラグ202が“1”である場合、つまり、ステップ536の場合、制御回路329は、仕掛中レジスタ312の値を調べる(ステップ537)。 When the order guarantee flag 202 of the packet 200 is “1”, that is, in the case of step 536, the control circuit 329 checks the value of the in-process register 312 (step 537).
 仕掛中レジスタ312が「1」を格納している場合、つまり、ステップ538の場合には、制御回路329は、パケット200のラストパケットフラグ203を調べる(ステップ539)。 When the in-process register 312 stores “1”, that is, in the case of step 538, the control circuit 329 checks the last packet flag 203 of the packet 200 (step 539).
 そして、ラストパケットフラグ203が、“1”すなわち最後のパケットであることを示している場合、つまり、ステップ540の場合は、制御回路329は、仕掛中レジスタ312の値を「1」から「0」に変更する(ステップ541)。 When the last packet flag 203 indicates “1”, that is, the last packet, that is, in the case of step 540, the control circuit 329 changes the value of the in-process register 312 from “1” to “0”. (Step 541).
 続いて、制御回路329は、切り替え先レジスタ310内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ542)。 Subsequently, the control circuit 329 specifies a number corresponding to the destination output port from the numbers in the switching destination register 310, and sends a request to the arbitration circuit to which the number is added (step 542).
 ラストパケットフラグ203が、“0”すなわち最後のパケットでないことを示している場合、つまり、ステップ543の場合は、制御回路329は、仕掛中レジスタ312の値を変更せずに、ステップ542を実行する。 When the last packet flag 203 indicates “0”, that is, it is not the last packet, that is, in the case of step 543, the control circuit 329 executes step 542 without changing the value of the in-process register 312. To do.
 仕掛中レジスタ312が「0」を格納している場合、つまり、ステップ544の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路329は、順序保証が必要な複数のパケットのすべてを、通常の宛先のネットワークプレーンに送ることができる。 When the in-process register 312 stores “0”, that is, in the case of step 544, it means that the first packets of a plurality of packets that require order guarantee have arrived. For this reason, the control circuit 329 can send all of a plurality of packets that require an order guarantee to the normal destination network plane.
 したがって、制御回路329は、対応切り替え状態情報を「3」から「0」に変更し(ステップ545)、仕掛中レジスタ312に「1」を格納する(ステップ546)。 Therefore, the control circuit 329 changes the correspondence switching state information from “3” to “0” (step 545), and stores “1” in the in-progress register 312 (step 546).
 続いて、制御回路329は、通常宛先レジスタ311内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ547)。 Subsequently, the control circuit 329 specifies a number corresponding to the destination output port from the numbers in the normal destination register 311 and sends a request to the arbitration circuit to which the number is added (step 547).
 パケット200の順序保証フラグ202が“0”である場合、つまり、ステップ548の場合は、制御回路329は、ステップ547を実行する。 When the order guarantee flag 202 of the packet 200 is “0”, that is, in the case of step 548, the control circuit 329 executes step 547.
 次に、図6A~6Eを用いて、本発明の実施の形態のプレーン間クロスバの動作について説明する。図6A~6Eにおいて、図3に示したものと同一構成のものには同一符号を付してある。 Next, the operation of the crossbar between planes according to the embodiment of the present invention will be described with reference to FIGS. 6A to 6E. 6A to 6E, the same components as those shown in FIG. 3 are denoted by the same reference numerals.
 図6Aは、ネットワークプレーン102に障害が発生する直前の状態を示した説明図である。切り替え状態レジスタ309、313、317および321のすべては、切り替え状態情報として、「0」を格納している。 FIG. 6A is an explanatory diagram showing a state immediately before a failure occurs in the network plane 102. All of the switching status registers 309, 313, 317 and 321 store “0” as the switching status information.
 図6Bは、ネットワークプレーン102に障害が発生した直後の状態を示した説明図である。切り替え状態レジスタ309、313、317および321のすべてにおいて、出力ポート306(番号「1」)に対応するレジスタ601~604が、切り替え状態情報として「1」を格納している。 FIG. 6B is an explanatory diagram showing a state immediately after a failure occurs in the network plane 102. In all of the switching status registers 309, 313, 317, and 321, registers 601 to 604 corresponding to the output port 306 (number “1”) store “1” as switching status information.
 図6Cは、入力ポート301および303にパケットが到着して処理される状況を示した説明図である。 FIG. 6C is an explanatory diagram showing a situation in which a packet arrives at the input ports 301 and 303 and is processed.
 まず、プロセッサ113から、順序保証が必要な、出力ポート306宛のパケット605が、入力ポート301に到着する。 First, the packet 605 addressed to the output port 306 that requires the order guarantee arrives at the input port 301 from the processor 113.
 このとき、入力ポート301に対応する仕掛中レジスタ312は「1」を格納している。このため、切り替え状態レジスタ309内のレジスタ601が「1」を格納していても、制御回路329は、通常宛先レジスタ311内の番号の中から、出力ポート306に対応する番号「1」606を特定し、その番号「1」が付与されている調停回路334にリクエストを送って、ネットワークプレーン102にパケット605を送る。 At this time, the in-process register 312 corresponding to the input port 301 stores “1”. For this reason, even if the register 601 in the switching status register 309 stores “1”, the control circuit 329 selects the number “1” 606 corresponding to the output port 306 from the numbers in the normal destination register 311. The request is sent to the arbitration circuit 334 assigned with the number “1”, and the packet 605 is sent to the network plane 102.
 次に、プロセッサ115から、順序保証が必要な、出力ポート306宛のパケット607が、入力ポート303に到着する。 Next, a packet 607 addressed to the output port 306 that requires the order guarantee arrives at the input port 303 from the processor 115.
 このとき、入力ポート303に対応する仕掛中レジスタ320は「0」を格納している。このため、制御回路331は、パケット607が、順序保証が必要な複数のパケットの最初のパケットであると判定する。 At this time, the in-process register 320 corresponding to the input port 303 stores “0”. For this reason, the control circuit 331 determines that the packet 607 is the first packet of a plurality of packets that require order guarantee.
 したがって、制御回路331は、切り替え状態レジスタ317内のレジスタ603の値を「1」から「2」に変更し、仕掛中レジスタ320の値を「0」から「1」に変更し、切り替え先レジスタ318内の番号の中から、出力ポート306に対応する番号「2」608を特定し、その番号「2」が付与されている調停回路335にリクエストを送って、ネットワークプレーン103にパケット607を送る。 Therefore, the control circuit 331 changes the value of the register 603 in the switching status register 317 from “1” to “2”, changes the value of the in-progress register 320 from “0” to “1”, and switches the switching destination register. The number “2” 608 corresponding to the output port 306 is identified from the numbers in 318, the request is sent to the arbitration circuit 335 to which the number “2” is assigned, and the packet 607 is sent to the network plane 103. .
 図6Dは、障害が発生して切り離されていたネットワークプレーン102が復旧した直後の状態を示した説明図である。切り替え状態レジスタ309、313、317および321のすべてにおいて、出力ポート306(番号「1」)に対応するレジスタ601~604が、切り替え状態情報として「3」を格納している。 FIG. 6D is an explanatory diagram showing a state immediately after the network plane 102 that has been disconnected due to a failure has been recovered. In all of the switching status registers 309, 313, 317, and 321, the registers 601 to 604 corresponding to the output port 306 (number “1”) store “3” as the switching status information.
 図6Eは、入力ポート301および304にパケットが到着して処理される状況を示した説明図である。 FIG. 6E is an explanatory diagram showing a situation where a packet arrives at the input ports 301 and 304 and is processed.
 まず、プロセッサ113から、順序保証が必要な、出力ポート306宛のパケット609が、入力ポート301に到着する。 First, a packet 609 addressed to the output port 306 that requires the order guarantee arrives at the input port 301 from the processor 113.
 このとき、入力ポート301に対応する仕掛中レジスタ312は「0」を格納している。このため、制御回路329は、パケット609が、順序保証が必要な複数のパケットの最初のパケットであると判定する。 At this time, the in-process register 312 corresponding to the input port 301 stores “0”. For this reason, the control circuit 329 determines that the packet 609 is the first packet of a plurality of packets that require order guarantee.
 したがって、制御回路329は、切り替え状態レジスタ309内のレジスタ601の値を「3」から「0」に変更し、仕掛中レジスタ312の値を「0」から「1」に変更し、通常宛先レジスタ311内の番号の中から、出力ポート306に対応する番号「1」606を特定し、その番号「1」が付与されている調停回路334にリクエストを送って、ネットワークプレーン102にパケット609を送る。 Therefore, the control circuit 329 changes the value of the register 601 in the switching status register 309 from “3” to “0”, changes the value of the in-progress register 312 from “0” to “1”, and sets the normal destination register. A number “1” 606 corresponding to the output port 306 is identified from the numbers in 311, a request is sent to the arbitration circuit 334 to which the number “1” is assigned, and a packet 609 is sent to the network plane 102. .
 次に、プロセッサ116から、順序保証が必要な、出力ポート306宛の最後のパケット610が、入力ポート304に到着する。 Next, the last packet 610 addressed to the output port 306 that requires the order guarantee arrives at the input port 304 from the processor 116.
 このとき、入力ポート304に対応する仕掛中レジスタ324は「1」を格納している。このため、制御回路332は、仕掛中レジスタ324の値を「1」から「0」に変更し、切り替え先レジスタ322内の番号の中から、出力ポート306に対応する番号「2」611を特定し、その番号「2」が付与されている調停回路335にリクエストを送って、ネットワークプレーン103にパケット610を送る。 At this time, the in-process register 324 corresponding to the input port 304 stores “1”. Therefore, the control circuit 332 changes the value of the in-process register 324 from “1” to “0”, and specifies the number “2” 611 corresponding to the output port 306 from the numbers in the switching destination register 322. Then, a request is sent to the arbitration circuit 335 to which the number “2” is assigned, and a packet 610 is sent to the network plane 103.
 本実施形態によれば、格納部105a~105bのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケットのうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。 According to the present embodiment, each of the storage units 105a to 105b has a processor connected to an input port corresponding to the storage unit 105a to 105b having transmitted one or more packets among a plurality of predetermined packets, and In-communication information indicating that communication is in progress when all of the plurality of packets are not transmitted is stored.
 制御部105eは、ある1つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。 When the control unit 105e receives individual packets constituting a predetermined plurality of packets from a certain input port, the control unit 105e transfers the packets to the network plane set as the transfer destination.
 制御部105eは、格納部105a~105bのうち、ある1つの入力ポートに対応する格納部が通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが、転送先として設定されたネットワークプレーンへ転送された後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。 The control unit 105e, in the situation where the storage unit corresponding to a certain input port among the storage units 105a to 105b stores communication information, instructs to switch the transfer destination of the packet from that input port. When all of the predetermined packets sent to the input port are transferred to the network plane set as the transfer destination, the transfer destination is transferred to the other network plane among the plurality of network planes. Switch.
 このため、切替え指示が受け付けられても、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 assurance 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 control unit 105e has the transfer destination switched to another network plane, and the storage unit corresponding to one input port among the storage units 105a to 105b stores the information during communication. When receiving an instruction to switch the communication path to the original network plane, all of a plurality of predetermined packets transmitted to the input port are transferred to other network planes. Switch from the other network plane to the original network plane.
 この場合、例えば、故障したネットワークプレーンが修理された後に復帰した場合でも、1つのプロセッサから送信される所定の複数のパケットを同一のネットワークプレーンに転送することが可能になる。よって、所定の複数のパケットの順番を保証することが可能になる。 In this case, for example, even when the failed network plane is repaired and then restored, a predetermined plurality of 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 a plurality of communication paths.
 この場合、複数の通信経路として、複数の部分ネットワークが用いられている場合に、複数のパケットの順番を保証することが可能になる。 In this case, when a plurality of partial networks are used as a plurality of communication paths, the order of a plurality of packets can be guaranteed.
 本実施形態では、プロセッサ間ネットワーク2は、複数のネットワークプレーン101~104と、少なくとも1つのプレーン間クロスバと、を含む。この場合、プロセッサ間ネットワーク2において、複数のパケットの順番を保証することが可能になる。 In this embodiment, the interprocessor network 2 includes a plurality of network planes 101 to 104 and at least one interplane crossbar. In this case, it is possible to guarantee the order of a plurality of packets in the interprocessor network 2.
 本実施形態では、並列プロセッサシステム1は、複数のプロセッサ113~144と、プロセッサ間ネットワーク2と、を含む。この場合、並列プロセッサシステム1において、複数のパケットの順番を保証することが可能になる。 In this embodiment, the parallel processor system 1 includes a plurality of processors 113 to 144 and an interprocessor network 2. In this case, the parallel processor system 1 can guarantee the order of a plurality of packets.
 (第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 parallel processor system 1 of the second embodiment is the same as that of FIG. 1 of the first embodiment except that the configuration of the registers in each storage unit in each interplane crossbar is simplified. It is.
 第2の実施の形態では、各格納部内の各レジスタの構成が簡略化されているプレーン間クロスバ105A~112Aを、プレーン間クロスバ105~112の代わりに用いる。 In the second embodiment, the interplane crossbars 105A to 112A in which the configuration of each register in each storage unit is simplified are used instead of the interplane crossbars 105 to 112.
 第2の実施の形態では、通常の場合のパケットの出力先は、プレーン間クロスバの各入力ポートに応じて予め決められている。つまり、プロセッサによって、通常時に使用するネットワークプレーンが決まっている。 In the second embodiment, the packet output destination in the 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 network planes 101 to 104 are connected to all interplane crossbars 105A to 112A. Therefore, each of the interplane crossbars 105A to 112A can transmit a packet to a destination interplane crossbar, more specifically, a destination processor, regardless of which network plane is used.
 図7は、第2の実施の形態で用いるパケット700の形式を説明するための説明図である。なお、図7において、図2に示したものと同一情報のものには同一符号を付してある。 FIG. 7 is an explanatory diagram for explaining the format of the 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 processors 113 to 144 generates a plurality of packets 700 by dividing the transmission data. Each of the processors 113 to 144 transmits individual packets 700 to the inter-processor network 2 one by one in order.
 パケット700は、経路指定情報701、順序保証フラグ202、ラストパケットフラグ203、パケット長204、および、データ205から構成される。 The packet 700 includes routing information 701, an order guarantee flag 202, a last packet flag 203, a packet length 204, and data 205.
 経路指定情報701は、プロセッサ間ネットワーク2でのルーティングに用いられる。経路指定情報701は、第2経路指定情報207と、第3経路指定情報208と、を含む。 The routing information 701 is used for routing in the interprocessor network 2. The routing information 701 includes second routing information 207 and third routing information 208.
 本実施形態では、プレーン間クロスバ105A~112Aでのネットワークプレーン行き方向のルーティングは、すでに決められている。このため、プレーン間クロスバ105A~112Aでのネットワークプレーン行き方向を指定するルーティング情報は、パケット700には付加されていない。 In this embodiment, the routing in the direction of the network plane in the interplane crossbars 105A to 112A has already been determined. For this reason, routing information for designating the direction to the network plane in the interplane crossbars 105A to 112A is not added to the packet 700.
 図8は、プレーン間クロスバ105Aの詳細を示した説明図である。図8において、図3に示したものと同一構成のものには同一符号を付してある。 FIG. 8 is an explanatory diagram showing details of the crossbar 105A between planes. In FIG. 8, the same components as those shown in FIG.
 図8では、プレーン間クロスバ105Aを図示しているが、プレーン間クロスバ105A~112Aは、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。 8 shows the interplane crossbar 105A, but the interplane crossbars 105A to 112A all have the same configuration, except that the connected processor is changed. For this reason, the description about the other crossbar between planes is abbreviate | omitted.
 図8では、プレーン間クロスバ105Aでのネットワークプレーン行き方向のデータパスのみを図示している。なお、プレーン間クロスバ105Aでのプロセッサ行き方向のデータパスは、第1の実施の形態において図4で示した構成と同じである。 FIG. 8 shows only the data path in the direction toward the network plane in the cross-plane crossbar 105A. Note that the data path in the direction to the processor in the interplane crossbar 105A is the same as that shown in FIG. 4 in the first embodiment.
 以下では、プレーン間クロスバ105Aについて、プレーン間クロスバ105と異なる点を中心に説明を行う。 Hereinafter, the interplane crossbar 105 </ b> A will be described focusing on differences from the interplane crossbar 105.
 プレーン間クロスバ105Aは、格納部105aA~105dAと、制御部105eAと、を含む。 The interplane crossbar 105A includes storage units 105aA to 105dA and a control unit 105eA.
 格納部105aA~105dAのそれぞれは、一般的に格納手段と呼ぶことができる。 Each of the 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 switching status register 801, a switching destination register 802, a normal destination register 803, and a pending register 804. The storage unit 105bA includes a switching status register 805, a switching destination register 806, a normal destination register 807, and a pending register 808. The storage unit 105cA includes a switching status register 809, a switching destination register 810, a normal destination register 811, and a pending register 812. The storage unit 105dA includes a switching status register 813, a switching destination register 814, a normal destination register 815, and a pending register 816.
 制御部105eAは、一般的に制御手段と呼ぶことができる。 Control unit 105eA can be generally referred to as control means.
 制御部105eAは、マルチプレクサ325~328と、制御回路329A~332Aと、調停回路333~336と、を含む。 The control unit 105eA includes multiplexers 325 to 328, control circuits 329A to 332A, and arbitration circuits 333 to 336.
 入力ポート301は、格納部105aAと、制御回路329Aと、に対応づけられている。入力ポート302は、格納部105bAと、制御回路330Aと、に対応づけられている。入力ポート303は、格納部105cAと、制御回路331Aと、に対応づけられている。入力ポート304は、格納部105dAと、制御回路332Aと、に対応づけられている。 The input port 301 is associated with the storage unit 105aA and the control circuit 329A. The input port 302 is associated with the storage unit 105bA and the control circuit 330A. The input port 303 is associated with the storage unit 105cA and the control circuit 331A. The input port 304 is associated with the storage unit 105dA and the control circuit 332A.
 通常宛先レジスタ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 normal destination register 803 stores the number “0”. The normal destination register 807 stores the number “1”. The normal destination register 811 stores the number “2”. The normal destination register 815 stores the number “3”.
 切り替え先レジスタ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 the value calculated by adding 1 to the corresponding output port number as the number of the arbitration circuit corresponding to the output port of the switching destination.
 切り替え状態レジスタ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 an output port, there is no need 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 status information is “2”, the number in the switching destination register is always used.
 プレーン間クロスバ105A~112Aの出力ポートのうち、故障が発生したネットワークプレーンに接続されたすべての出力ポートの切り替え状態情報が、「1」から「2」になると、障害が発生したネットワークプレーンは使われなくなる。 Among the output ports of the crossplanes 105A to 112A between the planes, when the switching status information of all output ports connected to the network plane where the failure has occurred changes from “1” to “2”, the network plane where the failure has occurred is used. I will not be broken.
 この時点で、障害が発生したネットワークプレーンを、並列プロセッサシステム1から切り離すことが可能となる。このため、この時点で、障害が発生したネットワークプレーンについて、保守が行われる。 At this point, the network plane where the failure has occurred can be disconnected from the parallel processor system 1. Therefore, at this point, maintenance is performed for the network plane where the failure has occurred.
 そして、障害が発生したネットワークプレーンが修理され、再び、並列プロセッサシステム1に組み込まれる。この時点で、障害が発生したネットワークプレーンに接続されていた出力ポートの切り替え状態情報が、「2」から「3」に変更される。 Then, the network plane in which the failure has occurred is repaired and incorporated into the parallel processor system 1 again. At this time, the switching state information of the output port connected to the network plane where the failure has occurred is changed from “2” to “3”.
 切り替え状態情報が「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 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 a failure has not yet occurred. 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内でパケットの順序が逆転すると、エラーが発生したり、宛先プロセッサによるメモリ(不図示)へのデータの書込みの順序を保証できなくなるなどの問題が発生する。 If the order of packets in the inter-processor network 2 is reversed, problems such as errors occur and the order of data writing to the memory (not shown) by the destination processor cannot be guaranteed.
 制御回路329A~332Aのそれぞれは、自己に対応する入力ポートから、順序保証が必要な複数のパケットのうち最初に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタに、「1」(通信中情報)を格納する。 When each of the control circuits 329A to 332A receives a packet transmitted first among a plurality of packets that require an order guarantee from an input port corresponding to the control circuit 329A to 332A, “1” (information during communication) is stored.
 そして、制御回路329A~332Aのそれぞれは、自己に対応する入力ポートから、順序保証の必要な複数のパケットのうち最後に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタ内の「1」(通信中情報)を削除して「0」を格納する。 When each of the control circuits 329A to 332A receives the last transmitted packet from the input ports corresponding to the control circuit 329A to 332A, the in-progress register corresponding to the same input port as that of the control circuit 329A to 332A is received. "1" (information during communication) is deleted and "0" is stored.
 制御回路329A~332Aのそれぞれは、自己に対応する入力ポートから受信したパケット700が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであるかどうかを、図7に示したラストパケットフラグ202の状態を調べて判定する。 Each of the control circuits 329A to 332A determines whether or not the packet 700 received from the input port corresponding to the control circuit 329A to 332A is the last packet transmitted among a plurality of packets that require order guarantee. The state of the packet flag 202 is checked and determined.
 ラストパケットフラグ202が“0”である場合、制御回路329A~332Aのそれぞれは、パケット700が、順序保証の必要な複数のパケットのうち最後に送信されたパケットでないと判定する。 When the last packet flag 202 is “0”, each of the control circuits 329A to 332A determines that the packet 700 is not the last packet transmitted among a plurality of packets that require order guarantee.
 一方、ラストパケットフラグ202が“1”である場合、制御回路329A~332Aのそれぞれは、パケット700が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであると判定する。 On the other hand, when the last packet flag 202 is “1”, each of the control circuits 329A to 332A determines that the packet 700 is the last packet transmitted among a plurality of packets that require order guarantee.
 また、制御回路329A~332Aのそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「0」で、かつ、順序保証が必要なパケット700が到着した場合、そのパケット700が、順序保証の必要な複数のパケットのうち最初に送信されたパケットであると判定する。 Further, each of the control circuits 329A to 332A, when the value of the in-process register corresponding to the same input port as that of itself is “0” and the packet 700 that requires the order guarantee arrives, It is determined that the packet is the first packet transmitted among a plurality of packets that need to be guaranteed.
 制御回路329A~332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート305に転送する場合、調停回路333に、送信用のリクエストを送信する。 Each of the control circuits 329A to 332A transmits a transmission request to the arbitration circuit 333 when transferring the packet 700 to the output port 305 according to the information in the storage unit corresponding to the same input port as the control circuit 329A to 332A.
 制御回路329A~332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート306に転送する場合、調停回路334に、送信用のリクエストを送信する。 When each of the control circuits 329A to 332A transfers the packet 700 to the output port 306 in accordance with the information in the storage unit corresponding to the same input port as itself, the control circuit 329A to 332A transmits a transmission request to the arbitration circuit 334.
 制御回路329A~332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート307に転送する場合、調停回路335に、送信用のリクエストを送信する。 Each of the control circuits 329A to 332A transmits a transmission request to the arbitration circuit 335 when transferring the packet 700 to the output port 307 according to the information in the storage unit corresponding to the same input port as the control circuit 329A to 332A.
 制御回路329A~332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート308に転送する場合、調停回路336に、送信用のリクエストを送信する。 When each of the control circuits 329A to 332A transfers the packet 700 to the output port 308 according to the information in the storage unit corresponding to the same input port as itself, the control circuit 329A to 332A transmits a transmission request to the arbitration circuit 336.
 制御回路329A~332Aのそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「1」で、かつ、順序保証が必要なパケット700が到着した場合、パケット700の宛先(転送先)となる出力ポートの切り替えを行わない。 Each of the control circuits 329A to 332A has a destination register (transfer destination) of the packet 700 when the value of the in-process register corresponding to the same input port as that of the control circuit 329A to 332A arrives and the packet 700 that requires the order guarantee arrives. Do not switch the output port.
 なぜなら、2つのパケットが異なるネットワークプレーンを通ると、プロセッサ間ネットワーク2内での順序保証ができないからである。 This is because if two packets pass through different network planes, the order in the inter-processor network 2 cannot be guaranteed.
 例えば、先に来たパケットが通るネットワークプレーンが混雑していて、後から来たパケットが通るネットワークプレーンが空いていると、宛先となっているプロセッサへの到着順序が逆転してしまう。 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 arbitration circuits 333 to 336 receives a request from any of the control circuits 329A to 332A, an instruction to select an input port corresponding to the control circuit that transmitted the request is sent to the same output port as itself. Output to the corresponding multiplexer.
 格納部105aA~105bAのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケット(例えば、順序保証が必要な複数のパケット)のうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。 In each of the storage units 105aA to 105bA, the processor connected to the input port corresponding to the storage unit 105aA to 105bA has already transmitted one or more packets out of a predetermined plurality of packets (for example, a plurality of packets requiring order guarantee). In addition, when all of the plurality of packets are not transmitted, in-communication information indicating that communication is in progress is stored.
 なお、所定の複数のパケットは、順序保証が必要な複数のパケットであることが望ましいが、順序保証が必要な複数のパケットの他に、他のパケットが含まれてもよい。この場合、他のパケットも含めて、順序を保証することができる。 It should be noted 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 performs switching 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 information during communication. 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, that is, the network plane that is normally used is determined by the interplane crossbar 105. For this reason, the same effects as those of the first embodiment can be obtained, and it is not necessary to describe the first routing information 206 in the packet.
 次に、上記各実施の形態の効果を説明する。 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.
 このため、パケットの転送先を、障害が発生した部分ネットワークから予め決められた他の部分ネットワークに切り替える際に、順序保証が必要な複数のパケットの順序を保証することができる。 For this reason, 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.
 また、障害が発生した部分ネットワークへ送られる予定であったパケットは、予め決められた他の部分ネットワークに送られる。このため、部分ネットワークを切り替えた場合の通信性能への影響を予測することが可能になる。 Also, 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.
 以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 As mentioned above, although this invention was demonstrated with reference to each embodiment, this invention is not limited to the said 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 priority based on Japanese Patent Application No. 2008-297981, filed on November 21, 2008, the entire disclosure of which is incorporated herein.
   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 Crossbar between planes 113-144 Processor 145-147 Crossbar 105a-105d, 105aA-105dA Storage unit 105e, 105eA Control unit 200, 700 Packet 201, 701 Routing information 202 Order guarantee flag 203 Last packet Flag 204 Packet length 205 Data 206 First routing information 207 Second routing information 208 Third routing information 301 to 304 Input ports 305 to 308 Output ports 309, 313, 317, 321, 801, 805, 809, 813 Switching Status registers 310, 314, 318, 322, 802, 806, 810, 814 Switching destination registers 311, 315, 319, 323, 803, 807, 811, 815 Normal destination register 312, 316, 320, 324, 804, 808, 812, 816 In-progress register 325-328 Multiplexer 329-332, 329A-332A Control circuit 333-336 Arbitration circuit 401-404 Input Port 405 to 408 Output port 409 to 412 Multiplexer 413 to 416 Control circuit 417 to 420 Arbitration circuit 601 to 604 Register 605, 607, 609, 610 Packet 606, 608, 611 Number

Claims (12)

  1.  第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置であって、
     前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する格納手段と、
     前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える制御手段と、を含むパケット転送装置。
    A communication path which receives a plurality of predetermined packets addressed to the second processor, which are sequentially transmitted from the first processor, and is set as a transfer destination among the plurality of communication paths leading to 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.
  2.  前記所定の複数のパケットは、順序保証が必要な複数のパケットである、請求項1に記載のパケット転送装置。 The packet transfer apparatus according to claim 1, wherein the predetermined plurality of packets are a plurality of packets that require order guarantee.
  3.  前記制御手段は、前記転送先が前記他の通信経路に切り替えられており、かつ、前記通信中情報が前記格納手段に格納されている状況で、通信経路を元の通信経路に切り替える旨の指示を受け付けると、前記複数のパケットのすべてが、前記他の通信経路へ転送された後、前記転送先を、前記他の通信経路から前記元の通信経路に切り替える、請求項1または2に記載のパケット転送装置。 The control means instructs to switch the communication path to the original communication path when the transfer destination is switched to the other communication path and the in-communication information is stored in the storage means. When all of the plurality of packets are transferred to the other communication path, the transfer destination is switched from the other communication path to the original communication path. Packet transfer device.
  4.  請求項1から3のいずれか1項に記載のパケット転送装置と、前記複数の通信経路と、を含むプロセッサ間通信システム。 An interprocessor communication system including the packet transfer apparatus according to any one of claims 1 to 3 and the plurality of communication paths.
  5.  前記複数の通信経路は、互いに直接接続されていない独立した複数の部分ネットワークである、請求項4に記載のプロセッサ間通信システム。 The inter-processor communication system according to claim 4, wherein the plurality of communication paths are a plurality of independent partial networks that are not directly connected to each other.
  6.  請求項4または5に記載のプロセッサ間通信システムと、前記第1プロセッサと、前記第2プロセッサと、を含む、並列プロセッサシステム。 A parallel processor system comprising the interprocessor communication system according to claim 4, the first processor, and the second processor.
  7.  第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置が行うパケット転送方法であって、
     前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
     前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。
    A communication path which receives a plurality of predetermined packets addressed to the second processor, which are sequentially transmitted from the first processor, and is set as a transfer destination among the plurality of communication paths leading to 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.
  8.  前記所定の複数のパケットは、順序保証が必要な複数のパケットである、請求項7に記載のパケット転送方法。 The packet transfer method according to claim 7, wherein the predetermined plurality of packets are a plurality of packets that require order guarantee.
  9.  前記転送先が前記他の通信経路に切り替えられており、かつ、前記通信中情報が前記格納手段に格納されている状況で、通信経路を元の通信経路に切り替える旨の指示を受け付けると、前記複数のパケットのすべてが、前記他の通信経路へ転送された後、前記転送先を、前記他の通信経路から前記元の通信経路に切り替える、請求項7または8に記載のパケット転送方法。 When the transfer destination is switched to the other communication path and the communication information is stored in the storage unit, an instruction to switch the communication path to the original communication path is received. The packet transfer method according to claim 7 or 8, wherein after all of a plurality of packets are transferred to the other communication path, the transfer destination is switched from the other communication path to the original communication path.
  10.  第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、前記複数の経路と、を含むプロセッサ間通信システムが行うパケット転送方法であって、
     前記パケット転送装置が、前記第1プロセッサが前記複数のパケットのうち1個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
     前記パケット転送装置が、前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。
    A communication path which receives a plurality of predetermined packets addressed to the second processor, which are sequentially transmitted from the first processor, and is set as a transfer destination among the plurality of communication paths leading to 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 situation 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.
  11.  前記複数の通信経路は、互いに直接接続されていない独立した複数の部分ネットワークである、請求項10に記載のパケット転送方法。 The packet transfer method according to claim 10, wherein the plurality of communication paths are a plurality of independent partial networks that are not directly connected to each other.
  12.  第1プロセッサと、第2プロセッサと、前記第2プロセッサに通じる複数の通信経路と、前記第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、を含む並列プロセッサシステムが行う並列コンピュータシステムが行うパケット転送方法であって、
     前記パケット転送装置が、前記第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 situation 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.
PCT/JP2009/068674 2008-11-21 2009-10-30 Packet transmission device, inter-processor communication system, parallel processor system, and packet transmission method WO2010058693A1 (en)

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 (2)

Application Number Priority Date Filing Date Title
JP2008-297981 2008-11-21
JP2008297981 2008-11-21

Publications (1)

Publication Number Publication Date
WO2010058693A1 true WO2010058693A1 (en) 2010-05-27

Family

ID=42198132

Family Applications (1)

Application Number Title Priority Date Filing Date
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

Country Status (2)

Country Link
JP (1) JP5310735B2 (en)
WO (1) WO2010058693A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016038865A (en) * 2014-08-11 2016-03-22 富士通株式会社 Arithmetic processing unit, information processing unit, and method for controlling information processing unit
CN106797350A (en) * 2014-05-26 2017-05-31 索莫亚私人有限公司 Transaction system

Citations (3)

* Cited by examiner, † Cited by third party
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
JP2006178866A (en) * 2004-12-24 2006-07-06 Nec Computertechno Ltd Data transfer system, data transfer method and crossbar lsi

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
JP2006178866A (en) * 2004-12-24 2006-07-06 Nec Computertechno Ltd Data transfer system, data transfer method and crossbar lsi

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106797350A (en) * 2014-05-26 2017-05-31 索莫亚私人有限公司 Transaction system
CN106797350B (en) * 2014-05-26 2020-12-01 索莫亚私人有限公司 Transaction system
JP2016038865A (en) * 2014-08-11 2016-03-22 富士通株式会社 Arithmetic processing unit, information processing unit, and method for controlling information processing unit

Also Published As

Publication number Publication date
JPWO2010058693A1 (en) 2012-04-19
JP5310735B2 (en) 2013-10-09

Similar Documents

Publication Publication Date Title
US11461617B2 (en) Neural network device
JP4519159B2 (en) Packet transfer apparatus and packet transfer method
JP6600518B2 (en) Bus system
KR100219350B1 (en) Distributed data processing system
JP5322412B2 (en) Interconnect logic for data processing equipment.
US7844730B2 (en) Computer system and method of communication between modules within computer system
JPS61214694A (en) Switching unit for data transmission
CA2530348A1 (en) Duplicate synchronization system and method of operating duplicate synchronization system
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
EP0600581A2 (en) Multiprocessor system transferring abnormality detection signal generated in networking apparatus back to processor in parallel with data transfer route
EP2355419B1 (en) Switching device of dual-port ethernet system
US11251991B2 (en) Communication system, communication apparatus, communication method, and program
JP5039732B2 (en) Packet transfer apparatus and packet transfer method
JP2004040726A (en) Optical cross connect apparatus
JPWO2020129219A1 (en) Network equipment, network systems, network methods, and network programs
JP2007116350A (en) Load disperser
JP2020005017A (en) Dynamic variable capacity memory device and storage capacity dynamic variable method
JP2013005145A (en) Packet transfer device and packet transfer method
JPH1166024A (en) Crossbar switch changeover system
JP2000124949A (en) Packet switch
CN112352227A (en) Circuit for buffered transmission of data
CN112073162A (en) Method for operating redundant automation systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09827474

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010539197

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09827474

Country of ref document: EP

Kind code of ref document: A1