Forwarding device and forwarding method

WO2026181178A1PCT designated stage Publication Date: 2026-09-03NT T INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/006506
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-26
Publication Date
2026-09-03

Smart Images

  • Figure JP2025006506_03092026_PF_FP_ABST
    Figure JP2025006506_03092026_PF_FP_ABST
Patent Text Reader

Abstract

A storage unit (16) of a switch (1) stores, for each combination of a protocol and a destination of a packet P, a rule management table (160) indicating set distribution rules. A rule setting unit (13) acquires information relating to the destination and the protocol from an inputted packet and sets distribution rules with reference to the rule management table. An output destination determination unit (14) determines an interface IF to serve as the output destination of the packet on the basis of the distribution rules. The distribution rules include a first rule under which the output destinations of packets constituting a traffic flow toward the same destination are distributed to the same interface, and a second rule under which the output destinations of packets constituting a traffic flow toward the same destination are distributed to a plurality of interfaces in packet units.
Need to check novelty before this filing date? Find Prior Art

Description

Transfer Apparatus and Transfer Method

[0001] The present invention relates to a transfer apparatus and a transfer method.

[0002] A network that performs LLM (Large Language Models) training is configured with, for example, a Clos topology, and includes two or three layers of switches (transfer apparatuses). Load in the network can be distributed by transferring packets from a transmission source to a destination via a plurality of routes.

[0003] An example of a load distribution method is ECMP (Equal-Cost Multi-Path), which distributes routes in units of traffic flows. In ECMP, each switch calculates a hash value from header information (for example, 5-tuple) of an input packet, and determines an interface to which a traffic flow is to be distributed based on the hash value. Another example of a load distribution method is DLB (Dynamic Load Balancing), which monitors the used bandwidth of a network and dynamically distributes traffic flows.

[0004] K. Qian, et al.,“Alibaba HPN: A Data Center Network for Large Language Model Training”, In Proceedings of the ACM SIGCOMM 2024 Conference (ACM SIGCOMM '24). Association for Computing Machinery, New York, NY, USA, 691‐706

[0005] One of the traffic characteristics of LLM training is that it is burst traffic (see Non-Patent Document 1). Also, unlike web-based services accessed by a large number of terminals, LLM training traffic has fewer source and destination server devices. Therefore, in the case of ECMP, the traffic flow path may be uneven, and the load may not be properly distributed. If the receive queue becomes congested on switches where the load is concentrated, packet loss and transmission delay may occur, which may degrade network performance.

[0006] In the case of DLB, routing can be distributed on a packet-by-packet basis, but if packets belonging to the same traffic flow travel through different routes, the arrival order of packets may be reversed (out-of-order) at the destination server device. In this case, the destination server device will need to reorder the packets, which may increase the computational load on the destination server device.

[0007] Therefore, switches are required to efficiently forward packets while minimizing the reduction in overall network throughput.

[0008] The forwarding device according to the present invention is a forwarding device that distributes and forwards packets to multiple interfaces within a network, and comprises: a storage unit that stores distribution rule management information indicating distribution rules to be set for each combination of destination and protocol of a packet; a rule setting unit that obtains information on the destination and protocol from the input packet, and sets a corresponding distribution rule by referring to the distribution rule management information; and an output destination determination unit that determines the interface to which the packet will be output based on the distribution rule, wherein the distribution rule includes: a first distribution rule that distributes the output destinations of packets constituting a traffic flow toward the same destination to the same interface; and a second distribution rule that distributes the output destinations of packets constituting a traffic flow toward the same destination to multiple interfaces on a packet-by-packet basis.

[0009] According to the present invention, packets can be efficiently forwarded while suppressing a decrease in overall network throughput.

[0010] This figure shows an example of a network configuration. This figure shows an example of an interface. This is a block diagram showing the configuration of a switch (transfer device) according to this embodiment. This figure shows an example of a rule management table. This figure shows an example of packet distribution. This figure shows an example of a hash value table. This figure shows an example of an output management table. This is a flowchart showing the processing flow of the switch (transfer device) according to this embodiment. This is a flowchart showing the details of the processing in step S08 of Figure 8. This is a hardware configuration diagram showing an example of a computer that implements the functions of the switch (transfer device) according to this embodiment.

[0011] Next, embodiments for carrying out the present invention (hereinafter referred to as "this embodiment") will be described with reference to the drawings. In this embodiment, an example of applying the forwarding device according to the present invention to a switch constituting a network will be described.

[0012] Figure 1 shows an example of a network (NW) configuration. As an example, Figure 1 shows a network (NW) configured with a Leaf-Spine architecture as a Close topology. The network (NW) comprises a two-layer switch group (Leaf switch group LG and Spine switch group SG) connecting server devices SV1 and SV2, which are the source or destination of packets. Each switch 1 constituting the Leaf switch group LG is directly connected to either server device SV1 or server device SV2. Each switch 1 constituting the Spine switch group SG is connected to all switches 1 of the Leaf switch group LG.

[0013] In a Leaf-Spine architecture network (NW), each switch 1 has multiple interfaces as destinations for received packets. Each switch 1 distributes the load by forwarding received packets to multiple interfaces. Such a Leaf-Spine architecture can be suitably used in networks with burst traffic characteristics, such as LLM (Large Language Models) training.

[0014] Figure 2 illustrates an example of an interface. As an example, Figure 2 shows a switch 1a connected to a server device SV1 and switches 1b, 1c, and 1d. Switch 1a has four interfaces to which packets are output: IF1 (connected to server device SV1), IF2 (connected to switch 1b), IF3 (connected to switch 1c), and IF4 (connected to switch 1d). When switch 1a receives a packet from, for example, server device SV1, it can distribute the packet to one of the interfaces IF2, IF3, or IF4. In the following explanation, when interfaces IF1 to IF4 are referred to without distinction, they will simply be called "interface IF".

[0015] Figure 3 is a block diagram showing the configuration of the switch (transfer device) 1 according to this embodiment. As shown in Figure 3, the switch 1 has a receiving unit 11, a rule setting unit 13, an output destination determination unit 14, a transmitting unit 15, and a storage unit 16. The storage unit 16 stores various data necessary for processing each unit and also temporarily stores the processing results of each unit.

[0016] The receiving unit 11 receives packets P input from server devices SV1, SV2, or other switches 1 in the network (NW) (see Figure 1). The receiving unit 11 sequentially stores the received packets P in a queue 110. The transmitting unit 15 sequentially transmits the packets P stored in the queue 110 to the interface IF determined as the output destination by the output destination determination unit 14, which will be described later. Packet P contains a payload, which is the data itself, and additional information such as header information and a trailer. The header information of packet P includes numerical data such as the source / destination IP addresses, source / destination L4 port numbers, and protocol ID. Packets P with common header information are grouped as a traffic flow TF.

[0017] The rule setting unit 13 sets distribution rules for determining the output destination of packets P stored in the queue 110. The storage unit 16 stores a rule management table 160 (distribution rule management information) used in the processing of the rule setting unit 13. Figure 4 shows an example of the rule management table 160. As shown in Figure 4, the rule management table 160 shows the distribution rules to be set for each combination of destination and protocol of packet P.

[0018] The rule setting unit 13 obtains information about the destination and protocol of packet P from the header information of packet P stored in queue 110. The rule setting unit 13 refers to the rule management table 160 and sets the distribution rule corresponding to the destination and protocol of packet P as the distribution rule when determining the output destination of packet P. In the example in Figure 4, for example, if the destination of packet P is server device SV2 and the protocol is TCP (Transmission Control Protocol), the first rule (first distribution rule) is set. Also, if the destination of packet P is server device SV2 and the protocol is UDP (User Datagram Protocol), the second rule (second distribution rule) is set.

[0019] Figure 5 shows an example of packet P distribution. In Figure 5, switch 1a shows an example of receiving traffic flows TF1 and TF2. Traffic flows TF1 and TF2 originate from server device SV1 and are destined for server device SV2 (see Figure 1). Traffic flow TF1 uses the TCP protocol. In this case, the rule setting unit 13 refers to the rule management table 160 in Figure 4 and sets the first rule in the distribution rules. Traffic flow TF2 uses the UDP protocol. In this case, the rule setting unit 13 sets the second rule in the distribution rules.

[0020] The first rule distributes packets P belonging to the same traffic flow TF to the same interface IF. In other words, under the first rule, switch 1 distributes traffic to interfaces IF on a traffic flow basis. As a concrete example, the first rule can employ load balancing methods such as 5-tuple hashing using ECMP (Equal-Cost Multi-Path). Under the first rule, for example, packets P1 and P2 of traffic flow TF1 are distributed to the same interface IF2.

[0021] The second rule distributes the output destination of packets P belonging to the same traffic flow TF to multiple interfaces IF on a packet-by-packet basis. For example, load balancing techniques such as Packet Spray can be used as a concrete example of the second rule. Under the second rule, packets P3 and P4 of traffic flow TF2 are distributed to different interfaces IF3 and IF4. In other words, under the second rule, packets P are distributed to more interfaces IF compared to the first rule.

[0022] In the aforementioned LLM training, there is a tendency for large amounts of data to be transmitted in a short period of time between specific server devices. In such cases, relying solely on distribution based on 5-tuple hashing or similar methods may result in packet P being biased towards specific interfaces (IF). When queue 110 is congested, biased destinations for packet P can lead to packet loss or transmission delays.

[0023] As mentioned above, the second rule distributes packets P to more interfaces IF, reducing the bias in the destination of packets P and thus making it easier to alleviate congestion in queue 110. However, with the second rule, packets P belonging to the same traffic flow TF are transmitted via different paths, which can lead to out-of-order packets. In this case, the destination server device SV2 needs to perform a reordering process to rearrange the received packets P. Frequent reordering increases the computational load on server device SV2, so it is desirable to minimize out-of-order packets.

[0024] In this embodiment, switch 1 dynamically switches between a first rule and a second rule depending on the destination and protocol of packet P. This ensures that packets P are efficiently forwarded at each switch 1, and minimizes the reversal of packet P's order at the destination server devices SV1 and SV2. This reduces the overall throughput of the network (NW). In the illustrated example, traffic flow-based distribution is broadly classified as the first rule, and packet-based distribution as the second rule. However, it is also possible to set multiple corresponding load balancing methods for each of the first and second rules. This makes it possible to set the optimal load balancing method for each packet P destination and protocol in the rule management table 160.

[0025] The output destination determination unit 14 (see Figure 3) determines the interface IF to which packets P stored in the queue 110 will be output, based on the distribution rule (first rule or second rule) set in the rule setting unit 13. The storage unit 16 stores a hash value table 161 (hash value information) and an output management table 162 (output volume management information) used for processing by the output destination determination unit 14. If the first rule is set, the output destination determination unit 14 processes by referring to the hash value table 161. If the second rule is set, the output destination determination unit 14 processes by referring to the output management table 162.

[0026] Figure 6 shows an example of a hash value table 161. As shown in Figure 6, the hash value table 161 lists the assigned interface IF for each hash value calculated from the numerical data contained in packet P. In the example in Figure 6, interfaces IF1 to IF4 are assigned to hash values ​​1 to 4, respectively. If the first rule is set, the output destination determination unit 14 inputs the numerical data (5-tuple) contained in the header of packet P into a predetermined hash function and calculates a hash value. The output destination determination unit 14 refers to the hash value table 161 and determines the interface IF corresponding to the calculated hash value as the output destination for packet P.

[0027] As shown in Figure 5, packets P1 and P2, belonging to the same traffic flow TF1, have the same header information, and therefore the same hash value is calculated. In this case, the destination determination unit 14 determines that the destination for packets P1 and P2 is the same interface IF (for example, IF2). In this way, if the first rule is set, the destination determination unit 14 distributes the packets P stored in the queue 110 to the interface IF on a traffic flow basis.

[0028] Figure 7 shows an example of the output management table 162. As shown in Figure 7, the output management table 162 records the output amount of packet P for each interface IF of switch 1. The output management table 162 can also record the number of outputs as an example of "output amount". When the distribution rule is set to the second rule, the output destination determination unit 14 refers to the output management table 162 and determines the destination of packet P by prioritizing the interface IF with the fewest recorded outputs. The output destination determination unit 14 also updates the number of outputs for the corresponding interface IF in the output management table 162 when it has determined the destination interface IF. The output destination determination unit 14 updates the number of outputs in both the first and second rule cases.

[0029] In the example shown in Figure 5, when the destination determination unit 14 determines that the destination of traffic flow TF1 is interface IF2 based on the first rule, it adds 1 to the output count of interface IF2 in the output management table 162. As a result, the output counts of interfaces IF2, IF3, and IF4 in the output management table 162 become 2, 1, and 2. Based on the second rule, the destination determination unit 14 determines the destinations of packets P3 and P4 belonging to traffic flow TF2. The destination determination unit 14 refers to the output counts of interfaces IF2 to IF4 in the output management table 162. The output counts of interfaces IF2 to IF4 are 2, 1, and 2. The destination determination unit 14 determines that the destination of packet P3 of traffic flow TF2 is interface IF3, which has the fewest output counts. The destination determination unit 14 adds 1 to the output count of interface IF3 in the output management table 162, making it 2. As a result, the output counts of interfaces IF2 to IF4 become 2. The output destination determination unit 14 can determine the output destination interface IF randomly or based on arbitrary criteria if the number of outputs for interfaces IF2 to IF4 are all the same.

[0030] The destination determination unit 14 can determine the destination of packet P4 of traffic flow TF2 to, for example, interface IF4. The destination determination unit 14 adds 1 to the output count of interface IF4 in the output management table 162, making it 3. As a result, the output counts for interfaces IF2 to IF4 become 2, 2, and 3. In this way, the second rule determines the destination by referring to the output count of packet P for each interface IF recorded in the output management table 162. This reduces the bias of packet P towards a specific interface IF and allows for more distributed output of packet P.

[0031] Figure 7 shows an example where the output management table 162 records the number of outputs as "output amount". In this case, the output destination determination unit 14 adds 1 to the output count when it determines any interface IF as the output destination, without distinguishing between traffic flow units (first rule) and packet units (second rule). The "output amount" recorded by the output management table 162 is not limited to the number of outputs; for example, the amount of packets P output to each interface IF may be counted as the output amount. For example, if the output determination unit determines the output destination on a traffic flow basis, the number of packets P included in the traffic flow TF may be added to the output amount.

[0032] Figure 8 is a flowchart showing the processing flow of switch 1. As shown in Figure 8, if there is a packet P stored in queue 110 (step S01: Yes), the rule setting unit 13 obtains information about the destination and protocol of packet P from the header information of packet P (step S02). The rule setting unit 13 refers to the rule management table 160 and searches for a distribution rule corresponding to the destination and protocol of packet P (step S03). The rule setting unit 13 sets the searched distribution rule as the distribution rule when outputting packet P (step S04). The output destination determination unit 14 determines the output destination of packet P based on the set distribution rule (step S05). The transmission unit 15 transmits packet P to the interface IF determined as the output destination (step S06).

[0033] Figure 9 is a flowchart detailing the processing in step S05 of Figure 8. If a first rule is set in the distribution rules (step S51: Yes), the output destination determination unit 14 inputs the numerical data (5-tuple) contained in the header of packet P into a predetermined hash function and calculates a hash value (step S52). The output destination determination unit 14 refers to the hash value table 161 and determines the interface IF corresponding to the calculated hash value as the output destination of packet P (step S53). If a second rule is set in the distribution rules (step S51: No), the output destination determination unit 14 refers to the output management table 162 and prioritizes determining the interface IF with the fewest output counts as the output destination of packet P (step S54). In step S55, the output destination determination unit 14 adds to and updates the output count of the interface IF determined as the output destination in the output management table 162.

[0034] <Hardware Configuration> The switch (transfer device) 1 according to this embodiment is implemented by a computer 900, for example, as shown in Figure 10. Figure 10 is a hardware configuration diagram showing an example of a computer 900 that implements the functions of the switch 1 according to this embodiment. The computer 900 has a CPU (Central Processing Unit) 901, ROM (Read Only Memory) 902, RAM (Random Access Memory) 903, HDD (Hard Disk Drive) 904, input / output I / F (Interface) 905, communication I / F 906, and media I / F 907.

[0035] The CPU 901 operates based on programs (data transfer programs) stored in the ROM 902 or HDD 904, and controls each of the functional units shown in Figure 3. The ROM 902 stores boot programs executed by the CPU 901 when the computer 900 starts up, as well as programs related to the computer 900's hardware.

[0036] The CPU 901 controls input devices 910, such as a mouse or keyboard, and output devices 911, such as a display, via the input / output interface 905. The CPU 901 acquires data from the input devices 910 via the input / output interface 905 and outputs the generated data to the output devices 911. In addition to the CPU 901, a GPU (Graphics Processing Unit) or the like may also be used as a processor.

[0037] The HDD 904 stores programs executed by the CPU 901 and data used by those programs. An SSD (Solid State Drive) may be used instead of the HDD 904. The communication I / F 906 receives data from other devices via a communication network (e.g., NW (Network) 920) and outputs it to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network.

[0038] The media interface 907 reads a program or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads the program related to the desired processing from the recording medium 912 onto the RAM 903 via the media interface 907 and executes the loaded program. The recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto Optical disk), a magnetic recording medium, a conductive memory tape medium, or a semiconductor memory.

[0039] For example, when computer 900 functions as switch 1 according to this embodiment, the CPU 901 of computer 900 realizes the function of switch 1 by executing a program loaded on RAM 903. The HDD 904 stores the data in RAM 903. The CPU 901 reads and executes a program related to the desired processing from the recording medium 912. Alternatively, the CPU 901 may read a program related to the desired processing from another device via a communication network (NW 920). Note that the computer realizing switch 1 is not limited to being composed solely of physical devices; at least a portion of it may be realized as a virtual machine or virtual container. In this case, the computer's hardware may include virtual hardware.

[0040] <Configuration and Effects of the Above Embodiment> (1) The switch 1 (transfer device) distributes and forwards packets P to multiple interfaces IF within the network NW. The switch 1 includes a storage unit 16, a rule setting unit 13, and an output destination determination unit 14. The storage unit 16 stores a rule management table 160 (distribution rule management information). The rule management table 160 shows the distribution rules to be set for each combination of destination and protocol of packets P. The rule setting unit 13 obtains information on the destination and protocol from the input packet P, and sets the corresponding distribution rule by referring to the rule management table 160 (steps S02 to S04, rule setting process). The output destination determination unit 14 determines the interface IF to which packets P will be output based on the distribution rules (steps S05, S51 to S55, output destination determination process). The distribution rules include a first rule (first distribution rule) and a second rule (second distribution rule). The first rule distributes the output destinations of packets P that constitute a traffic flow TF destined for the same destination to the same interface IF. The second rule distributes the output destinations of packets P that constitute a traffic flow TF destined for the same destination to multiple interfaces IF on a packet-by-packet basis.

[0041] According to the switch 1 (transfer device) of this embodiment, packets P can be efficiently transferred while suppressing a decrease in overall network throughput (NW). In a network (NW), when a large amount of data is transmitted in a short time between specific server devices, if distribution is performed based on a 5-tuple hash or the like, the output destination of packets P may be biased towards a specific interface IF. If the output destination of packets P is biased when queue 110 is congested, it may lead to packet loss or transmission delay. On the other hand, if distribution is performed on a packet-by-packet basis, the bias in the output destination of packets P can be reduced. However, if the arrival order of packets P is reversed, the destination server device will need to reorder the received packets P, so it is desirable to minimize the reversal of the arrival order.

[0042] In the switch 1 of this embodiment, the rule setting unit 13 obtains information about the destination and protocol from the header information of packet P, and sets the corresponding distribution rule by referring to the rule management table 160. That is, the switch 1 dynamically switches the load balancing method between distribution on a traffic flow basis (first rule) and distribution on a packet basis (second rule) depending on the destination and protocol of packet P. As a result, packets P are efficiently forwarded at each switch 1, and the reversal of the order of packets P at the destination server devices SV1 and SV2 is minimized. This makes it possible to suppress a decrease in the overall throughput of the network NW.

[0043] (2) The storage unit 16 stores the output management table 162 (output volume management information). The output management table 162 records the output volume of packet P for each interface IF. When the distribution rule is set to the second rule, the output destination determination unit 14 refers to the output management table 162 and determines the destination of packet P by prioritizing the interface IF with the smallest output volume of packet P.

[0044] With this configuration, since the switch 1 can output packets P preferentially to the interface IF with a smaller output volume of packets P, it is possible to reduce bias in output destinations and forward packets P more efficiently.

[0045] The above-described effect can also be applied to a transfer method executed by the switch 1 (transfer apparatus).

[0046] It should be noted that the present invention is not limited to the embodiments described above, and many modifications can be made by those skilled in the art having ordinary knowledge within the scope of the technical idea of the present invention.

[0047] 1 Switch (transfer apparatus) 11 Receiving unit 13 Rule setting unit 14 Output destination determining unit 15 Transmitting unit 16 Storage unit 160 Rule management table (distribution rule management information) 161 Hash value table 162 Output management table (output amount management information) 110 Queue NW Network P Packet TF Traffic flow IF Interface

Claims

1. A forwarding device for distributing and forwarding packets to multiple interfaces within a network, comprising: a storage unit that stores distribution rule management information indicating distribution rules to be set for each combination of destination and protocol of a packet; a rule setting unit that obtains information on the destination and protocol from an input packet, and sets the distribution rules by referring to the distribution rule management information; and an output destination determination unit that determines the interface to which the packet will be output based on the distribution rules, wherein the distribution rules include: a first distribution rule that distributes the output destinations of packets constituting a traffic flow toward the same destination to the same interface; and a second distribution rule that distributes the output destinations of packets constituting a traffic flow toward the same destination to multiple interfaces on a packet-by-packet basis.

2. The forwarding device according to claim 1, wherein the storage unit stores output volume management information for each interface, and the output destination determination unit, when the distribution rule is set to the second distribution rule, refers to the output volume management information and determines the destination of the packet by prioritizing the interface with the smallest packet output volume.

3. A forwarding method for a forwarding device that distributes and forwards packets to multiple interfaces within a network, wherein the forwarding device includes a storage unit that stores distribution rule management information indicating distribution rules to be set for each combination of destination and protocol of the packet, and includes a rule setting step of obtaining information about the destination and protocol from the header of the input packet and setting the distribution rule by referring to the distribution rule management information, and an output destination determination step of determining the interface to which the packet will be output based on the distribution rule, wherein the distribution rule includes a first distribution rule that distributes the output destinations of packets constituting a traffic flow toward the same destination to the same interface, and a second distribution rule that distributes the output destinations of packets constituting a traffic flow toward the same destination to multiple interfaces on a packet-by-packet basis.