WO2010104033A1 - プロセッサ間通信システム及び通信方法、ネットワークスイッチ、及び並列計算システム - Google Patents
プロセッサ間通信システム及び通信方法、ネットワークスイッチ、及び並列計算システム Download PDFInfo
- Publication number
- WO2010104033A1 WO2010104033A1 PCT/JP2010/053785 JP2010053785W WO2010104033A1 WO 2010104033 A1 WO2010104033 A1 WO 2010104033A1 JP 2010053785 W JP2010053785 W JP 2010053785W WO 2010104033 A1 WO2010104033 A1 WO 2010104033A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- output
- input
- slot
- port
- data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
Definitions
- the present invention relates to an inter-processor communication system and communication method, a network switch, and a parallel computing system, which are communication methods between functional nodes in a parallel processing (parallel computing) system composed of a plurality of processing (function) nodes, and more particularly to functional nodes.
- the present invention relates to a communication system and a communication method for guaranteeing a communication bandwidth between them.
- FIG. 2 is a configuration example of a parallel computing system 1000 having a two-dimensional mesh configuration.
- the parallel computing system 1000 includes a plurality of functional nodes 200 and a plurality of network switches 100 that connect the functional nodes 200. Communication between the functional nodes 200 is performed via the network switch 100.
- Non-Patent Document 1 A typical network switch (on-chip router) for on-chip network is described in Non-Patent Document 1 (FIG. 13). Since the conventional network switch dynamically determines the route based on the destination node address stored in the packet header, the transfer may wait for an indefinite time depending on the congestion degree of the transferred packet. Depending on the routing algorithm, deadlock may occur, but by introducing a virtual channel, deadlock can be avoided and packet retention can be reduced.
- FIG. 13 shows an example of the network switch 100 having two virtual channels.
- the network switch 100 includes five input ports 110, five output ports 120, a 5 ⁇ 5 crossbar switch, an arbiter unit, and five FIFO (First-In). First-Out) buffer.
- data transfer from each input port 110 to each output port 120 is performed via a crossbar switch.
- the transfer time is indeterminate, and it is difficult to transfer a packet with a guaranteed communication bandwidth in communication between functional nodes.
- the performance of the network switch 100 is designed to be larger than necessary compared to the required communication bandwidth.
- FIG. 14 shows a time division multiplexing switch disclosed in Patent Document 1 and Non-Patent Document 2.
- the network switch 100 constituting this time division multiplex switch includes five input ports 110, five output ports 120, a 5 ⁇ 5 crossbar switch, a slot table 700, and five FIFO buffers.
- data transfer from the input port 110 to the output port 120 is performed via a crossbar switch.
- the crossbar switch is controlled by dividing a unit time called a frame into smaller times called slots. This crossbar switch is controlled based on connection information stored in the slot table 700 in advance. By allocating slots according to the data transfer communication bandwidth necessary for data transfer from a certain input port 110 to the output port 120, communication with a guaranteed communication bandwidth is possible.
- An object of the present invention is to provide a communication system and a communication method between functional nodes that guarantee a communication bandwidth between a plurality of functional nodes and are low in power.
- the inter-processor communication system has a plurality of network switches.
- the network switch includes a plurality of input means for inputting data transferred between nodes, a plurality of output means for outputting the data, and data transferred between the plurality of input means and the plurality of output means.
- a plurality of buffer means that intervene, an input port control unit setting means for setting control information for controlling the plurality of input means, and an output port control for setting control information for controlling the plurality of output means
- a unit setting means, and the data transferred between the nodes via the plurality of input means, the plurality of output means, and the plurality of buffer means is divided into a plurality of slots divided in unit time. Allocate and transfer by time division multiplexing.
- the input means includes an input port for inputting the data transferred in the slot, and an input port control unit.
- the input port control unit selects the buffer unit according to an input slot into which the data is input and transfers the data input from the input port to the buffer unit, and the selection unit includes the selection unit An input slot correspondence management table for storing the correspondence between the input slot and the buffer means for selecting the buffer means according to the input slot; and input port management information for controlling the communication bandwidth of the input port; .
- the output means includes an output port for outputting the data transferred in the slot, and an output port control unit.
- the output port control unit selects the buffer means according to an output slot from which the data is output, and transfers the data output to the output port from the selected buffer means to the output port.
- Output port management information for control.
- the inter-processor communication method according to the present invention is a communication method using a plurality of network switches.
- the network switch assigns data transferred between nodes via a plurality of input means, a plurality of buffer means, and a plurality of output means to a slot obtained by dividing a unit time into a plurality of sections, and performs time division multiplexing. Forward.
- the plurality of input means store a correspondence relationship between the input slot and the buffer means for selecting the buffer means in accordance with an input slot into which the data is input in an input slot correspondence management table, and input port management information To control the communication bandwidth of the input port, input the data transferred in the slot from the input port, and according to the input slot to which the data is input based on the input slot correspondence management table
- the buffer means is selected to transfer the data input from the input port to the buffer means.
- the plurality of output means store a correspondence relationship between the output slot and the buffer means for selecting the buffer means in accordance with an output slot from which the data is output in an output slot correspondence management table, and output port management information To control the communication bandwidth of the output port, and select the buffer means to select the data to be output to the output port according to the output slot to which the data is output based on the output slot correspondence management table
- the data is transferred from the buffer means to the output port, and the data transferred in the slot is output from the output port.
- data transferred between nodes is assigned to a slot obtained by dividing a unit time into a plurality of sections and transferred by time division multiplexing, and data transfer to an input port and an output port of a network switch is performed by: This is performed based on information set in advance as an input slot correspondence management table and an output slot correspondence management table. For this reason, transfer between the input port and the output port can be reliably performed in a fixed time, and communication with a guaranteed communication bandwidth is possible.
- each input port and output port of the network switch can individually set a communication bandwidth by input port management information and output port management information, and is required according to the requested communication bandwidth. Low power communication is possible by setting a minimum communication bandwidth.
- FIG. 4 is a block diagram illustrating an example of mapping when the process of FIG. 3 is mapped to the parallel computing system of FIG. 2.
- (A)-(c) is explanatory drawing of the example of allocation of the communication bandwidth to the input / output port of a network switch.
- 6 is a timing chart for explaining data transfer according to an example of assignment of input port slots and output port slots in FIG. 5.
- FIG. 10 is a block diagram illustrating a configuration example of a time division multiplex switch disclosed in Patent Document 1.
- FIG. 1 is a block diagram showing a configuration of a network switch 100 using an interprocessor communication system according to an embodiment of the present invention.
- the network switch 100 shown in FIG. 1 includes a plurality (five in FIG. 1) of input ports 110, a plurality (five in FIG. 1) of output ports 120, and an input port control unit 130 corresponding to each input port 110.
- the output port control unit 140 corresponding to each output port 120 and a plurality of buffers BUF 150 that mediate transfer of data from each input port 110 to each output port 120 are provided.
- the plurality of input ports 110 and the input port control unit 130 are a plurality of input units
- the plurality of output ports 120 and the output port control unit 140 are a plurality of output units
- the plurality of buffer BUFs 150 are a plurality of units. Each corresponds to a buffer means.
- the input port control unit 130 selects which output port side buffer BUF 150 the data of the input port 110 is transferred to, and which output port side buffer BUF 150 the data of the input port 110 is transferred to. It has an input slot correspondence management table 132 that manages information, and input port management information 133 for controlling the communication bandwidth of the input port 110.
- the output port control unit 140 selects which input port side buffer BUF 150 data is transferred to the output port 120, manages the multiplexing unit MUX 141 that multiplexes and outputs the information, and how to multiplex the information
- the output slot correspondence management table 142, and output port management information 143 for controlling the communication bandwidth of the output port 120.
- each input port control unit 130 can be changed by an input port control unit setting signal 160.
- the operation of each output port control unit 140 can be changed by an output port control unit setting signal 170.
- the configuration of 5 inputs and 5 outputs is shown, but the present invention is not limited to this, and other configurations of N inputs and M outputs can be easily accommodated. .
- FIG. 2 is a configuration example of a parallel computing system 1000 having a two-dimensional mesh configuration using the network switch 100.
- a parallel computing system 1000 illustrated in FIG. 2 includes a plurality of functional nodes 200 and a plurality of network switches 100.
- the network switch 100 forms a communication path on a two-dimensional lattice.
- each functional node 200 exists.
- the network switch 100 includes five input ports, five input ports in order to transfer data between the other four adjacent network switches 100 in the figure, and one adjacent functional node 200. Has an output port.
- the function node 200 is a component of processing having functions such as an arithmetic function, a storage function, and an IO function.
- the function node 200 is not limited to one type, and a plurality of function nodes having different functions may be mixed.
- the parallel computing system 1000 shown in FIG. 2 is an example of a two-dimensional mesh configuration, but the present invention is not limited to this, and a configuration employing another topology may be used.
- FIG. 3 is a configuration example of a process 300 including a plurality of functional nodes 200.
- the process 300 is a series of processes having a certain purpose, and includes functions such as data input, calculation, and output.
- two IO nodes n1, n6) for input / output
- four operation nodes n2, n3, n4, n5
- storage nodes for storing data such as intermediate results of processing
- An example of a process 300 consisting of n7, n8, n9 is shown.
- Each functional node 200 constituting the process has a communication path (lnk1, lnk2,..., Lnk19) 400 for transferring data to each other.
- lnk1, lnk2,..., Lnk19 communication path
- FIG. 4 is an example in which the process 300 in FIG. 3 is mapped to the parallel computing system 1000 in FIG.
- the parallel computing system 1000 of FIG. 4 includes eight operation nodes 200a, four storage nodes 200b, and four IO nodes 200c. Each functional node of the process 300 is assigned to these functional nodes.
- a communication path 400 between functional nodes is configured using a plurality of network switches 100. In order for the mapped process 300 to achieve a predetermined performance, each functional node 200 proceeds with a predetermined performance, and each communication path 400 guarantees a predetermined communication bandwidth and transfers data. There is a need.
- FIG. 5 explains the allocation of communication bandwidth required for the network switch 100.
- FIG. 5A shows a plurality of communication paths 400 that pass through the network switch 100.
- the network switch 100 includes X-, X +, Y-, Y + sides respectively corresponding to the other four network switch 100 sides adjacent to each other along the XY direction orthogonal to each other in a two-dimensional mesh configuration, and one adjacent function.
- the core (core) side corresponding to the node 200 side has an input port 110 and an output port 120, respectively.
- data enters the network switch 100 from the Core side input port 110 and exits from the X + side output port 120.
- the X-side input port 110 is shared by the two communication paths L2 and L3, and the X + side output port 120 is shared by the three communication paths L1, L3, and L4.
- FIG. 5B is an example of the communication bandwidth required by each communication path 400.
- the number of the bandwidth is a transfer capacity per unit time, and is expressed in units of the minimum value (w) that can be realized.
- FIG. 5C shows communication bandwidths to be allocated to the input ports 110 and the output ports 120 of the network switch 100 when the communication path 400 requests the communication bandwidth of FIG. 4B. It is.
- the communication bandwidth is allocated to any integral multiple of the minimum communication bandwidth (w) in the range from 1 (1w) of the minimum communication bandwidth w to the maximum communication bandwidth (Nw). It can be set.
- the communication bandwidth of the input port 110 and the output port 120 can also be set as the operating frequency of the input port 110 and the output port 120. For example, if the operating frequency for realizing the minimum communication bandwidth w is f, by setting a frequency that is an integral multiple of 1f, 2f, 3f,..., Nf, it is possible to set the frequency from 1 to N times the minimum communication bandwidth w. Arbitrary communication bandwidth can be realized.
- the operating frequency of the input port 110 can be set by the input port management information 133 of each input port control unit 130. Further, the operating frequency of the output port 120 can be set by the output port management information 143 of each output port control unit 140.
- FIG. 5 shows an example in which the minimum communication bandwidth is set to 2 ⁇ , 4 ⁇ , 8 ⁇ , and 2 for simplification of description, but the following description is an arbitrary integer. It is applicable even when setting by double.
- the input port 100 at the X-side port position is shared by the two communication paths L2 and L3, and the total of the communication bandwidths 2w and 4w required by the two communication paths L2 and L3 is 6w or more. It is necessary to allocate the communication bandwidth. In this case, assuming that the maximum communication bandwidth is 8w, the maximum communication bandwidth 8w is allocated to the input port 100 at the X-side port position. Since the X + side output port 120 is shared by the three communication paths L1, L3, and L4, and the total of the requested communication bandwidths 1w, 4w, and 3w is 8w, an 8w communication bandwidth is allocated. Since there is no communication path 400 via the Y + and X + side input ports 110, no communication bandwidth is allocated. Similarly, since there is no communication path 400 via the Core, Y-, and X-side output ports 120, no communication bandwidth is allocated.
- FIG. 6 shows how the data transfer designated by each communication path 400 is performed in the network switch 100 described in FIG.
- data transferred between nodes is assigned to a slot obtained by dividing a unit time into a plurality of sections and transferred by time division multiplexing.
- the unit time is called a frame 500.
- a frame 500 at a certain time is Fj
- consecutive frames 500 are represented as Fj + 1.
- the time interval of the frame 500 is divided into 1 division, 2 divisions,..., N divisions corresponding to the minimum communication bandwidth w to the maximum communication bandwidth Nw.
- the divided frame 500 is called a slot 600.
- the slot 600 is distinguished as S0, S1,..., Sk ⁇ 1 in order of time when the number of divisions is k.
- the slot 600 is classified as S0, S1,.
- FIG. 6 shows the division of the frame 500 of each input port 110 and each output port 120 in accordance with the allocation of the communication bandwidth to each input port 110 and each output port 120 described in FIG. .
- I / O ports to which no communication bandwidth is assigned are omitted.
- the Core-side input port 110 is routed through only the communication path L1, and is assigned a minimum communication bandwidth w. Therefore, the frame 500 of the core-side input port 110 is composed of only one slot S0 in one division.
- the communication path L2 is assigned to the Y + side output port 120. Since the communication path L2 requires a communication bandwidth of 2w, the Y + side output port 120 is assigned a communication bandwidth of 2w.
- the communication bandwidth of 1w + 4w + 3w 8w is allocated. .
- the four communication paths L1, L2, L3, and L4 are assigned to the slot 600 of the input port 110 on the Core side, the X-side, and the Y-side, respectively, and are input to the network switch 100.
- the communication path L1 is in the slot S0 of the Core side input port 110
- the communication path L2 is in the slots S0 and S1 of the X-side input port 110
- the communication path L3 is in the slots S2, S3, In S4 and S5
- the communication path L4 is assigned to the slots S0, S1 and S2 of the Y-side input port 110.
- the four communication paths L1, L2, L3, and L4 are assigned to the slot 600 of the output port 120 on the Y + side and the X + side, respectively, and are output from the network switch 100.
- the communication path L1 is in slot S1 of the X + side output port 120
- the communication path L2 is in slots S1 and S0 in the Y + side output port 120
- the communication path L3 is in slots S3, S5, S7, In S0
- the communication path L4 is assigned to the slots S2, S4, and S6 of the X + side output port 120.
- the slot 600 of the input port 110 is SI and the slot 600 of the output port 120 is SO
- the temporal relationship between the input port slot SI and the output port slot SO is assigned so as to satisfy the following condition.
- End time of input port slot SI ⁇ start time of output port slot SO (Formula 1)
- the slot 600 of the output port 120 that satisfies the condition of Expression 1 and is not associated with the slot 600 of the other input port 110 is in the time interval of the frame Fj. If not, the output port slot SO is associated with the slot 600 of the output port 120 of the frame Fj + 1 which is the next time interval of the frame Fj.
- the slot S0 of the input port 110 on the Core side of the communication path L1 is associated with the slot S1 of the output port 120 on the X + side of the next frame 500.
- the slot S5 of the input port 110 on the X ⁇ side of the communication path L3 is associated with the slot S0 of the output port 120 on the X + side of the next frame 500.
- the association between the slot 600 of the input port 110 and the slot 600 of the output port 120 is realized by two types of management tables: an input slot correspondence management table 132 and an output slot correspondence management table 142.
- Each input port control unit 130 of the network switch 100 manages, as an input slot correspondence management table 132, the correspondence to which output port 120 each slot 600 of the corresponding input port 110 is transferred.
- FIG. 7 is a configuration example of the input slot correspondence management table 132.
- the input slot correspondence management table 132 is one-dimensional having k entries corresponding to the input slots S0, S1,. It can be realized as a table. Each entry stores identification information of the output port 120 to be transferred.
- Each output port control unit 140 of the network switch 100 manages, as an output slot correspondence management table 142, correspondence of which input port 110 transfers data to each slot 600 of the corresponding output port 120.
- FIG. 8 is a configuration example of the output slot correspondence management table 142.
- the output slot correspondence management table 142 is one-dimensional having k entries corresponding to the output slots S0, S1,. It can be realized as a table. Each entry stores identification information of the input port 110 to be transferred to each output slot 600.
- the input port control unit 130 of the network switch 100 transfers the data in the slot 600 of the input port 110 to the designated buffer BUF 150 on the output port 110 side based on the information in the input slot correspondence management table 132.
- the input slot correspondence management table 132 is configured as shown in FIG. 7, the data of the slot 600 that arrives at the input port 110 in the order of S0, S1,.
- the selection unit SEL131 selects a transfer destination so as to transfer to the buffer BUF150 designated by the information.
- the output port control unit 140 of the network switch 100 determines which input side BUF 150 to transfer to the slot 600 of the output port 120 based on the information of the output slot correspondence management table 142, and multiplexes it to the slot 600 of the output port 120. Output.
- the output slot correspondence management table 142 is configured as shown in FIG. 8, the data to be output in the order of the slots S0, S1,.
- the data is taken out from the BUF 150 specified by the information, multiplexed by the multiplexing unit MUX 141, and output from the output port 120.
- each input port 110 and each output port 120 of the network switch 100 can operate at a minimum speed capable of realizing the requested communication bandwidth.
- the communication path 400 assigned to each slot 600 of the input port 110 can be determined as follows.
- the assignment of the communication path 400 to the slot 600 of each input port 110 of the network switch 100 is determined by the output port control unit 140 of the output port 120 of the preceding network switch 100 that outputs data to the input port 110. Further going back, it is determined by the output port 120 of the functional node 200 constituting the parallel computing system 1000. The number of slots necessary for the communication bandwidth of the communication path 400 via the output port 120 is allocated to the output port 120 of the functional node 200.
- the association between the assigned slot 600 and the communication path 400 may be arbitrary.
- the slot 600 of the input port 110 is determined from the input slot correspondence management table 132 and the output slot correspondence management table 142. It can be seen which slot 600 of the output port 120 is associated with. That is, it can be seen which communication path 400 is associated with which slot 600 of the output port 120.
- the above procedure is repeated for all the network switches 100 that reach the network switch 100 from the function node 200 that is the source of the communication path 400.
- a communication path 400 associated with each slot 600 of the port 110 is known.
- the output port 120 to which the data of the communication path 400 input from the input port 110 should be transferred is calculated in advance by a path search algorithm. Therefore, the entries of the slots S0, S1,..., Sk ⁇ 1 of the input slot correspondence management table 132 of the input port 110 may store the identifier of the output port 120 to which the data of the corresponding communication path 400 should be transferred. .
- a method of creating the output slot correspondence management table 142 of the output port control unit 140 of the network switch 110 will be described with reference to FIG. Assume that the input slot correspondence management table 132 of each input port 110 of the network switch 110 is given.
- step S101 steps S102 to S106 are repeated for each input port 110 of the network switch 100.
- the selected input port 110 is identified by the input port identifier Pin.
- step S102 steps S103 to S106 are repeated for each non-empty entry [Sin, Pout] in the input slot correspondence management table 132 indicated by the input port identifier Pin.
- Sin is an input slot number
- Pout is an output port identifier of the output port 120 to which Sin data is to be transferred.
- step S103 the output slot correspondence management table 142 of the output port identifier Pout is set as OSTout.
- step S104 it is determined whether there is a slot start time that is the same as or later than the slot Sin end time among the empty slots Sout of OSTout. If there is, in step S105, the input port identifier Pin is associated with the empty slot Sout of OSTout. If there is no empty slot Sout that matches the condition of step 104 in OSTout, the input-side slot Sin cannot be associated with the output-side slot in the same frame 500. Therefore, the slot Sin on the input side is associated with the slot on the output side in the slot of the frame 500 next to the current frame 500 (step S106).
- FIG. 10 is a setting example of the input slot correspondence management table 132 and the output slot correspondence management table 142 corresponding to the slot allocation example described in FIG.
- FIG. 11 is a flowchart of the operation of the input port control unit 132.
- the total number of slots 600 of the input port 110 of the network switch 100 is Nin, and the current slot number of the input port 110 is Sin (step S201).
- the input port control unit 132 repeats steps S202 to S204.
- step S202 the output slot identifier Pout corresponding to the current slot number Sin is searched from the input slot correspondence management table 132.
- step S203 the data of the input port 110 is transferred to the buffer BUF 150 indicated by the output port identifier Pout. As described above, the data of the input port 110 is transferred to the predetermined output port 120.
- step S204 the current slot number Sin of the input port 110 is updated.
- the input port control unit 130 performs data transfer in step S203 in synchronization with the start and end of the slot 600 of the input port 110.
- Information necessary for synchronization includes the time interval of the slot 600 and the total number of slots. These pieces of information are stored in the input port management information 133.
- the input port control unit 130 can also set the operating frequency according to the communication bandwidth requested for the input port 110. An operating frequency can be set in the input port management information 133.
- FIG. 12 is a flowchart of the operation of the output port control unit 142.
- the total number of slots 600 of the output port 120 of the network switch 100 is Nout, and the current slot number of the output port 120 is Sout (step S301).
- the output port control unit 142 repeats steps S302 to S304.
- step S302 the input port identifier Pin corresponding to the current slot number Sout is searched from the output slot correspondence management table 142.
- step S303 the data in the buffer BUF 150 indicated by the input port identifier Pin is transferred to the output port 120.
- step S304 the current slot number Sout of the output port 120 is updated.
- the output port control unit 140 performs data transfer in step S303 in synchronization with the start and end of the slot 600 of the output port 120.
- Information necessary for synchronization includes the time interval of the slot 600 and the total number of slots. These pieces of information are stored in the output port management information 143.
- the output port control unit 140 can also set the operating frequency according to the communication bandwidth requested for the output port 120. An operating frequency can be set in the output port management information 143.
- each input port control unit 130 and each output port control unit 140 of the network switch 100 can operate at different operating frequencies. For this reason, the input and output of the buffer BUF 150 are configured to be operable at different frequencies.
- the data transferred between the functional nodes 200 is assigned to the slot 600 obtained by dividing the frame 500 as a unit time into a plurality of sections, and is transferred by time division multiplexing.
- data transfer to the input port 110 and the output port 120 of the network switch 100 is performed based on information set in advance as the input slot correspondence management table 132 and the output slot correspondence management table 142. For this reason, transfer between the input port 110 and the output port 120 can be reliably performed in a fixed time, and communication with a guaranteed communication bandwidth is possible.
- each input port 110 and output port 120 of the network switch 100 can individually set a communication bandwidth by the input port management information 133 and the output port management information 143, respectively, and the minimum required according to the requested communication bandwidth. By setting a limited communication bandwidth, low-power communication is possible.
- the network switch 100 corresponds to a plurality of input ports 110, a plurality of output ports 120, an input port control unit 130 corresponding to each input port 110, and each output port 120.
- Output port control unit 140, and a plurality of buffers BUF 150 that mediate transfer of data from each input port 110 to each output port 120.
- the input port 110 independently transfers the data of the input slot to the buffer 150 based on the input slot correspondence management table 132.
- the output port 120 independently transfers data from the buffer 150 to the output slot based on the output slot correspondence management table 142.
- a communication system having a plurality of network switches, wherein the network switch includes a plurality of input means for inputting data transferred between nodes, a plurality of output means for outputting the data, and the plurality A plurality of buffer means for interposing data transferred between the input means and the plurality of output means, an input port control section setting means for setting control information for controlling the plurality of input means, and a plurality of Output port control unit setting means for setting control information for controlling the output means, and transfer between the nodes via the plurality of input means, the plurality of output means, and the plurality of buffer means Data is assigned to a slot divided into a plurality of sections and transferred by time division multiplexing, and the input means is transferred before the slot is transferred.
- An inter-processor communication system comprising: an output slot correspondence management table for storing the correspondence relationship between the output ports, and output port management information for controlling a communication bandwidth of the output port.
- the input slot correspondence management table has an entry of the number of slots of the input port, and the entry of the slot of the input port to which data of the slot of the input port is to be transferred is an entry of the input slot correspondence management table
- the output slot correspondence management table has an entry for the number of slots of the output port, and the entry of the output slot correspondence management table has the input port identification information for transferring data to the slot of the output port.
- the input means operates at the operating frequency set in the input port management information
- the output means operates at the operating frequency set in the output port management information
- the input means The data to the means is transferred in synchronization with the operating frequency set in the input port management information, and the data from the buffer means to the output means is synchronized with the operating frequency set in the output port management information. 4.
- the inter-processor communication system according to any one of appendices 1 to 3, wherein the inter-processor communication is performed.
- a communication method using a plurality of network switches in which the network switch is configured to transfer data transferred between nodes via a plurality of input means, a plurality of buffer means, and a plurality of output means.
- Time is allocated to a slot divided into a plurality of sections, transferred by time division multiplexing, and the plurality of input means and the input slot for selecting the buffer means according to the input slot into which the data is input;
- the correspondence relationship of the buffer means is stored in the input slot correspondence management table, the communication bandwidth of the input port is controlled by input port management information, the data transferred in the slot is input from the input port, Based on the input slot correspondence management table, the buffer means is selected according to the input slot into which the data is input, and the input port is selected.
- the data input from the output port is transferred to the buffer means, and the plurality of output means correspond to the output slot and the buffer means for selecting the buffer means according to the output slot from which the data is output.
- And the data output to the output port is transferred from the selected buffer means to the output port, and the data transferred in the slot is output from the output port. Communication method.
- the input slot correspondence management table has an entry of the number of slots of the input port, and the entry of the slot of the input port to which the data of the slot of the input port should be transferred is an entry of the input slot correspondence management table
- the output slot correspondence management table has an entry for the number of slots of the output port, and the entry of the output slot correspondence management table has the input port identification information for transferring data to the slot of the output port.
- the input means operates at the operating frequency set in the input port management information
- the output means operates at the operating frequency set in the output port management information
- the input means The data to the means is transferred in synchronization with the operating frequency set in the input port management information, and the data from the buffer means to the output means is synchronized with the operating frequency set in the output port management information.
- a plurality of input means for inputting data transferred between nodes, a plurality of output means for outputting the data, and data transferred between the plurality of input means and the plurality of output means A plurality of intervening buffer means, an input port control section setting means for setting control information for controlling the plurality of input means, and an output port control section for setting control information for controlling the plurality of output means Assigning data transferred between the nodes via the plurality of input means, the plurality of output means, and the plurality of buffer means to slots obtained by dividing a unit time into a plurality of sections.
- the input means includes an input port for inputting the data transferred in the slot, and an input port control unit, the input port control unit Selection means for selecting the buffer means in accordance with an input slot into which the data is input and transferring the data input from the input port to the buffer means; and the selection means in accordance with the input slot
- An input slot correspondence management table for storing a correspondence relationship between the input slot for selecting a buffer and the buffer means; and input port management information for controlling a communication bandwidth of the input port.
- a multiplexing method for transferring the data output to the output port from the selected buffer means to the output port.
- an output slot correspondence management table for storing a correspondence relationship between the output slot and the buffer means for the multiplexing means to select the buffer means according to the output slot, and to control a communication bandwidth of the output port.
- Output port management information for performing
- the input slot correspondence management table has an entry of the number of slots of the input port, and the entry of the slot of the input port to which the data of the slot of the input port is to be transferred is an entry of the input slot correspondence management table
- the output slot correspondence management table has an entry for the number of slots of the output port, and the entry of the output slot correspondence management table has the input port identification information for transferring data to the slot of the output port.
- the input means operates at the operating frequency set in the input port management information
- the output means operates at the operating frequency set in the output port management information
- the input means The data to the means is transferred in synchronization with the operating frequency set in the input port management information, and the data from the buffer means to the output means is synchronized with the operating frequency set in the output port management information.
- the network switch according to any one of appendices 9 to 11, wherein the network switch is transferred.
- the present invention can be applied to applications such as embedded control in which real-time performance and low power performance are important in a multi-core system composed of a plurality of functional nodes.
- the present invention can also be applied to a case where a plurality of processes are optimized for a plurality of cores for each process by an automatic parallelizing compiler and executed without interfering with each other on one parallel computing system. It is.
Abstract
Description
First-Out)バッファとを備える。この場合、各入力ポート110から各出力ポート120へのデータ転送は、クロスバスイッチを介して行われる。しかし、この場合も転送時間は不確定であり、機能ノード間の通信において通信帯域幅を保証したパケットの転送を行うことは困難であった。この場合、ノード間の通信帯域幅を保証するためには、ネットワークスイッチ100の性能を要求通信帯域幅に比べて必要以上の大きく設計する等で対応していた。
入力ポートスロットSIが属しているフレーム500をFjとした場合、式1の条件を満たし、他の入力ポート110のスロット600と対応付けされていない出力ポート120のスロット600がフレームFjの時間区間に存在しない場合は、フレームFjの次の時間区間であるフレームFj+1の出力ポート120のスロット600に出力ポートスロットSOを対応付ける。
110 入力ポート
120 出力ポート
130 入力ポート制御部
131 選択部
132 入力スロット対応管理表
133 入力ポート管理情報
140 出力ポート制御部
141 多重化部
142 出力スロット対応管理表
143 出力ポート管理情報
150 バッファ
160 入力ポート制御部設定信号
170 出力ポート制御部設定信号
200 機能ノード
200a 演算ノード
200b 記憶ノード
200c IOノード
300 プロセス
400 通信経路
500 フレーム
600 スロット
700 スロットテーブル
1000 並列計算システム
Claims (13)
- 複数のネットワークスイッチを有する通信システムであって、
前記ネットワークスイッチは、
ノード間で転送されるデータを入力する複数の入力手段と、
前記データを出力する複数の出力手段と、
前記複数の入力手段と前記複数の出力手段の間で転送されるデータを介在する複数のバッファ手段と、
複数の前記入力手段を制御するための制御情報を設定する入力ポート制御部設定手段と、
複数の前記出力手段を制御するための制御情報を設定する出力ポート制御部設定手段と、を備え、
前記複数の入力手段、前記複数の出力手段、前記複数のバッファ手段を介して、前記ノード間で転送されるデータを、単位時間を複数の区間に分割したスロットに割り当てて時分割多重で転送し、
前記入力手段は、
前記スロットで転送される前記データを入力するための入力ポートと、
入力ポート制御部とを備え、
前記入力ポート制御部は、
前記データが入力される入力スロットに応じて前記バッファ手段を選択して前記入力ポートから入力される前記データを前記バッファ手段へ転送する選択手段と、
前記選択手段が前記入力スロットに応じて前記バッファを選択するための前記入力スロットと前記バッファ手段の対応関係を格納する入力スロット対応管理表と、
前記入力ポートの通信帯域幅を制御するための入力ポート管理情報と、を備え、
前記出力手段は、
前記スロットで転送される前記データを出力するための出力ポートと、
出力ポート制御部とを備え、
前記出力ポート制御部は、
前記データが出力される出力スロットに応じて前記バッファ手段を選択して前記出力ポートへ出力される前記データを選択された前記バッファ手段から前記出力ポートへ転送する多重化手段と、
前記多重化手段が前記出力スロットに応じて前記バッファ手段を選択するための前記出力スロットと前記バッファ手段の対応関係を格納する出力スロット対応管理表と、
前記出力ポートの通信帯域幅を制御するための出力ポート管理情報と、を備えることを特徴とするプロセッサ間通信システム。 - 複数の前記入力ポートのそれぞれのスロット数を前記入力ポート管理情報として個別に設定し、
複数の前記出力ポートのそれぞれのスロット数を前記出力ポート管理情報として個別に設定し、
複数の前記入力ポートと複数の前記出力ポートが互いに異なるスロット数を持つことを特徴とする請求項1に記載のプロセッサ間通信システム。 - 前記入力スロット対応管理表は、前記入力ポートのスロット数のエントリをもち、前記入力スロット対応管理表のエントリには、前記入力ポートのスロットのデータを転送すべき前記出力ポート識別情報を格納し、
前記出力スロット対応管理表は、前記出力ポートのスロット数のエントリをもち、前記出力スロット対応管理表のエントリには、前記出力ポートのスロットへデータを転送すべき前記入力ポート識別情報を格納することを特徴とする、請求項1又は2に記載のプロセッサ間通信システム。 - 前記入力手段は、前記入力ポート管理情報に設定された動作周波数で動作し、
前記出力手段は、前記出力ポート管理情報に設定された動作周波数で動作し、
前記入力手段から前記バッファ手段へのデータは、前記入力ポート管理情報に設定された動作周波数に同期して転送し、
前記バッファ手段から前記出力手段へのデータは、前記出力ポート管理情報に設定された動作周波数に同期して転送することを特徴とする、請求項1から3のいずれか1項に記載のプロセッサ間通信システム。 - 複数のネットワークスイッチを用いた通信方法であって、
前記ネットワークスイッチが、複数の入力手段、複数のバッファ手段、複数の出力手段を介して、ノード間で転送されるデータを、単位時間を複数の区間に分割したスロットに割り当てて、時分割多重で転送し、
前記複数の入力手段が、
前記データが入力される入力スロットに応じて前記バッファ手段を選択するための前記入力スロットと前記バッファ手段の対応関係を入力スロット対応管理表に格納し、
入力ポート管理情報により前記入力ポートの通信帯域幅を制御し、
前記入力ポートから、前記スロットで転送される前記データを入力し、
前記入力スロット対応管理表に基づいて前記データが入力される入力スロットに応じて前記バッファ手段を選択して前記入力ポートから入力される前記データを前記バッファ手段へ転送し、
前記複数の出力手段が、
前記データが出力される出力スロットに応じて前記バッファ手段を選択するための前記出力スロットと前記バッファ手段の対応関係を出力スロット対応管理表に格納し、
出力ポート管理情報により前記出力ポートの通信帯域幅を制御し、
前記出力スロット対応管理表に基づいて前記データが出力される出力スロットに応じて前記バッファ手段を選択して前記出力ポートへ出力される前記データを選択された前記バッファ手段から前記出力ポートへ転送し、
前記出力ポートから、前記スロットで転送される前記データを出力することを特徴とするプロセッサ間通信方法。 - 複数の前記入力ポートのそれぞれのスロット数を前記入力ポート管理情報として個別に設定し、
複数の前記出力ポートのそれぞれのスロット数を前記出力ポート管理情報として個別に設定し、
複数の前記入力ポートと複数の前記出力ポートが互いに異なるスロット数を持つことを特徴とする請求項5に記載のプロセッサ間通信方法。 - 前記入力スロット対応管理表は、前記入力ポートのスロット数のエントリをもち、前記入力スロット対応管理表のエントリには、前記入力ポートのスロットのデータを転送すべき前記出力ポート識別情報を格納し、
前記出力スロット対応管理表は、前記出力ポートのスロット数のエントリをもち、前記出力スロット対応管理表のエントリには、前記出力ポートのスロットへデータを転送すべき前記入力ポート識別情報を格納することを特徴とする、請求項5又は6に記載のプロセッサ間通信方法。 - 前記入力手段は、前記入力ポート管理情報に設定された動作周波数で動作し、
前記出力手段は、前記出力ポート管理情報に設定された動作周波数で動作し、
前記入力手段から前記バッファ手段へのデータは、前記入力ポート管理情報に設定された動作周波数に同期して転送し、
前記バッファ手段から前記出力手段へのデータは、前記出力ポート管理情報に設定された動作周波数に同期して転送することを特徴とする、請求項5から7のいずれか1項に記載のプロセッサ間通信方法。 - ノード間で転送されるデータを入力する複数の入力手段と、
前記データを出力する複数の出力手段と、
前記複数の入力手段と前記複数の出力手段の間で転送されるデータを介在する複数のバッファ手段と、
複数の前記入力手段を制御するための制御情報を設定する入力ポート制御部設定手段と、
複数の前記出力手段を制御するための制御情報を設定する出力ポート制御部設定手段と、を備え、
前記複数の入力手段、前記複数の出力手段、前記複数のバッファ手段を介して、前記ノード間で転送されるデータを、単位時間を複数の区間に分割したスロットに割り当てて時分割多重で転送し、
前記入力手段は、
前記スロットで転送される前記データを入力するための入力ポートと、
入力ポート制御部とを備え、
前記入力ポート制御部は、
前記データが入力される入力スロットに応じて前記バッファ手段を選択して前記入力ポートから入力される前記データを前記バッファ手段へ転送する選択手段と、
前記選択手段が前記入力スロットに応じて前記バッファを選択するための前記入力スロットと前記バッファ手段の対応関係を格納する入力スロット対応管理表と、
前記入力ポートの通信帯域幅を制御するための入力ポート管理情報と、を備え、
前記出力手段は、
前記スロットで転送される前記データを出力するための出力ポートと、
出力ポート制御部とを備え、
前記出力ポート制御部は、
前記データが出力される出力スロットに応じて前記バッファ手段を選択して前記出力ポートへ出力される前記データを選択された前記バッファ手段から前記出力ポートへ転送する多重化手段と、
前記多重化手段が前記出力スロットに応じて前記バッファ手段を選択するための前記出力スロットと前記バッファ手段の対応関係を格納する出力スロット対応管理表と、
前記出力ポートの通信帯域幅を制御するための出力ポート管理情報と、を備えることを特徴とするネットワークスイッチ。 - 複数の前記入力ポートのそれぞれのスロット数を前記入力ポート管理情報として個別に設定し、
複数の前記出力ポートのそれぞれのスロット数を前記出力ポート管理情報として個別に設定し、
複数の前記入力ポートと複数の前記出力ポートが互いに異なるスロット数を持つことを特徴とする請求項9に記載のプロセッサ間通信ネットワークスイッチ。 - 前記入力スロット対応管理表は、前記入力ポートのスロット数のエントリをもち、前記入力スロット対応管理表のエントリには、前記入力ポートのスロットのデータを転送すべき前記出力ポート識別情報を格納し、
前記出力スロット対応管理表は、前記出力ポートのスロット数のエントリをもち、前記出力スロット対応管理表のエントリには、前記出力ポートのスロットへデータを転送すべき前記入力ポート識別情報を格納することを特徴とする、請求項9又は10に記載のネットワークスイッチ。 - 前記入力手段は、前記入力ポート管理情報に設定された動作周波数で動作し、
前記出力手段は、前記出力ポート管理情報に設定された動作周波数で動作し、
前記入力手段から前記バッファ手段へのデータは、前記入力ポート管理情報に設定された動作周波数に同期して転送し、
前記バッファ手段から前記出力手段へのデータは、前記出力ポート管理情報に設定された動作周波数に同期して転送することを特徴とする、請求項9から11のいずれか1項に記載のネットワークスイッチ。 - 請求項9から12のいずれか1項に記載のネットワークスイッチを備えたことを特徴とする並列計算システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/255,466 US8964760B2 (en) | 2009-03-09 | 2010-03-08 | Interprocessor communication system and communication method, network switch, and parallel calculation system |
JP2011503807A JPWO2010104033A1 (ja) | 2009-03-09 | 2010-03-08 | プロセッサ間通信システム及び通信方法、ネットワークスイッチ、及び並列計算システム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-055030 | 2009-03-09 | ||
JP2009055030 | 2009-03-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010104033A1 true WO2010104033A1 (ja) | 2010-09-16 |
Family
ID=42728322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/053785 WO2010104033A1 (ja) | 2009-03-09 | 2010-03-08 | プロセッサ間通信システム及び通信方法、ネットワークスイッチ、及び並列計算システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8964760B2 (ja) |
JP (1) | JPWO2010104033A1 (ja) |
WO (1) | WO2010104033A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017537404A (ja) * | 2014-11-28 | 2017-12-14 | 華為技術有限公司Huawei Technologies Co.,Ltd. | メモリアクセス方法、スイッチ、およびマルチプロセッサシステム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012146201A (ja) | 2011-01-13 | 2012-08-02 | Toshiba Corp | オンチップルータ及びそれを用いたマルチコアシステム |
ITTO20111180A1 (it) * | 2011-12-21 | 2013-06-22 | St Microelectronics Grenoble 2 | Dispositivo di controllo, ad esempio per system-on-chip, e corrispondente procedimento |
JP5624579B2 (ja) * | 2012-03-23 | 2014-11-12 | 株式会社東芝 | オンチップルータ |
US10331569B2 (en) | 2016-01-05 | 2019-06-25 | Friday Harbor Llc | Packet router buffer management |
US9942146B2 (en) * | 2016-01-05 | 2018-04-10 | Knuedge Incorporated | Router path selection and creation in a single clock cycle |
US10883687B2 (en) * | 2016-12-16 | 2021-01-05 | Lumileds Llc | Light conversion device with angular and wavelength selective coating |
CN112003787B (zh) * | 2020-08-14 | 2022-09-09 | 北京灵汐科技有限公司 | 一种路由路径确定方法、装置、控制设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11239159A (ja) * | 1994-07-21 | 1999-08-31 | Fujitsu Ltd | Atm交換機 |
JP2006522563A (ja) * | 2003-03-03 | 2006-09-28 | ザイリンクス インコーポレイテッド | 混合された相互接続リソースを備えたfpgaアーキテクチャ |
JP2007329936A (ja) * | 1997-01-29 | 2007-12-20 | Elixent Ltd | フィールドプログラマブルプロセッサアレイ |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5345441A (en) | 1992-10-20 | 1994-09-06 | At&T Bell Laboratories | Hierarchical path hunt for multirate connections |
CN1127280C (zh) * | 1997-11-06 | 2003-11-05 | 耐特因塞特公司 | 在时分多路复用网络的位流之间交换数据的方法和设备 |
JP3097681B2 (ja) | 1998-12-25 | 2000-10-10 | 日本電気株式会社 | パケット交換機及びその制御方法 |
JP3597113B2 (ja) | 2000-05-11 | 2004-12-02 | 日本電気株式会社 | パケット交換装置 |
US20030035371A1 (en) * | 2001-07-31 | 2003-02-20 | Coke Reed | Means and apparatus for a scaleable congestion free switching system with intelligent control |
US7082132B1 (en) * | 2001-12-26 | 2006-07-25 | Nortel Networks Limited | Universal edge node |
EP1625757B1 (en) | 2003-05-14 | 2007-04-18 | Koninklijke Philips Electronics N.V. | Time-division multiplexing circuit-switching router |
JP2005123770A (ja) | 2003-10-15 | 2005-05-12 | Mitsubishi Electric Corp | 時分割処理装置および通信装置 |
US7760625B2 (en) | 2004-10-14 | 2010-07-20 | Tokyo Denki University | Exchange node and exchange node control method |
JP2007074234A (ja) | 2005-09-06 | 2007-03-22 | Hitachi Communication Technologies Ltd | 伝送装置 |
JP4639175B2 (ja) | 2006-10-12 | 2011-02-23 | 株式会社日立製作所 | 伝送装置 |
-
2010
- 2010-03-08 JP JP2011503807A patent/JPWO2010104033A1/ja not_active Withdrawn
- 2010-03-08 US US13/255,466 patent/US8964760B2/en not_active Expired - Fee Related
- 2010-03-08 WO PCT/JP2010/053785 patent/WO2010104033A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11239159A (ja) * | 1994-07-21 | 1999-08-31 | Fujitsu Ltd | Atm交換機 |
JP2007329936A (ja) * | 1997-01-29 | 2007-12-20 | Elixent Ltd | フィールドプログラマブルプロセッサアレイ |
JP2006522563A (ja) * | 2003-03-03 | 2006-09-28 | ザイリンクス インコーポレイテッド | 混合された相互接続リソースを備えたfpgaアーキテクチャ |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017537404A (ja) * | 2014-11-28 | 2017-12-14 | 華為技術有限公司Huawei Technologies Co.,Ltd. | メモリアクセス方法、スイッチ、およびマルチプロセッサシステム |
US10282293B2 (en) | 2014-11-28 | 2019-05-07 | Huawei Technologies Co., Ltd. | Method, switch, and multiprocessor system using computations and local memory operations |
Also Published As
Publication number | Publication date |
---|---|
US8964760B2 (en) | 2015-02-24 |
JPWO2010104033A1 (ja) | 2012-09-13 |
US20110317691A1 (en) | 2011-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010104033A1 (ja) | プロセッサ間通信システム及び通信方法、ネットワークスイッチ、及び並列計算システム | |
EP2613479B1 (en) | Relay device | |
JP5603481B2 (ja) | 中継装置 | |
EP1625757B1 (en) | Time-division multiplexing circuit-switching router | |
JP2016503594A (ja) | インターコネクトにおける不均一なチャネル容量 | |
JP5834178B2 (ja) | 半導体回路のバスシステム | |
US8391178B2 (en) | Route allocation apparatus and method | |
JP2014506092A (ja) | 通信層を処理する複数のプロセッサを含むネットワーク通信ノードおよび関連ノード | |
US8665755B2 (en) | Communication device, communication system, and route allocation method | |
Lusala et al. | A SDM-TDM based circuit-switched router for on-chip networks | |
US8040821B2 (en) | Switching device, switching method, and switch control program | |
KR100527341B1 (ko) | 크로스바 방식의 방송스위치 | |
US20120210018A1 (en) | System And Method for Lock-Less Multi-Core IP Forwarding | |
Ding et al. | Bandwidth-based application-aware multipath routing for NoCs | |
JP2007288280A (ja) | 同期光パケット交換ネットワークにおける波長割当最適化計算法及び波長割当制御による衝突回避方法 | |
Ross et al. | Adaptive batch scheduling for packet switching with delays | |
Musumeci et al. | Dynamic routing and resource allocation in time-driven-switched optical networks | |
Yuan et al. | HyperOXN: Topology and Scheduling for Efficient Large-Scale Networks | |
Fan et al. | Efficient many-to-many real-time communication using an intelligent Ethernet switch | |
Saberi et al. | Fair matching algorithm: An optimal scheduling algorithm for the AAPN network | |
Chi et al. | An Efficient Scheduler for Circuit-Switched Network-on-Chip Architectures | |
Parik et al. | Buffer allocation approaches for virtual channel flow control | |
Chen | THE HENRY EDWIN SEVER GRADUATE SCHOOL DEPARTMENT OF ELECTRICAL ENGINEERING | |
Zhu et al. | Scalable switching fabric for Internet routers | |
Bergenhem et al. | A pipelined fiber-ribbon ring network with heterogeneous real-time support |
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: 10750786 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011503807 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13255466 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10750786 Country of ref document: EP Kind code of ref document: A1 |