WO2024021990A1 - 一种路径确定的方法及相关设备 - Google Patents
一种路径确定的方法及相关设备 Download PDFInfo
- Publication number
- WO2024021990A1 WO2024021990A1 PCT/CN2023/103818 CN2023103818W WO2024021990A1 WO 2024021990 A1 WO2024021990 A1 WO 2024021990A1 CN 2023103818 W CN2023103818 W CN 2023103818W WO 2024021990 A1 WO2024021990 A1 WO 2024021990A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- network device
- network
- network devices
- communication
- paths
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Definitions
- the present application relates to the field of communications, and in particular, to a path determination method and related equipment.
- the forwarding device may include a router, a switch, a virtual machine, etc.
- the communication device As the scale of the network becomes larger and larger, it may be necessary to forward the data flows between different communication devices through multi-layer network forwarding.
- this multi-layer network there are often multiple paths between the communication device corresponding to the source address of the data flow and the communication device corresponding to the destination address of the data flow.
- the communication device When the communication device as a forwarding device forwards a data flow, it selects a path among the multiple paths based on local policies, and forwards the data flow based on the locally selected path.
- each communication device serving as a forwarding device there are often multiple communication devices serving as forwarding devices, and the path determination of each communication device serving as a forwarding device is based on its own local data flow, which can easily lead to conflicts in the paths determined by different forwarding devices. Affects the forwarding efficiency of data flow.
- This application provides a path determination method and related equipment to improve the forwarding efficiency of data flows.
- the first aspect of the present application provides a method for path determination, which method is executed by a first network device, or the method is executed by some components (such as a processor, a chip or a chip system, etc.) in the first network device, or The method may also be implemented by a logic module or software that can realize all or part of the functions of the first network device.
- the method is described by taking the example that the method is executed by a first network device.
- the first network device may be a router, a switch, a virtual machine, etc.
- the first network device obtains first topology information.
- the first topology information includes connection relationships between N second network devices and P third network devices. Any second network device is any first network device.
- the upstream network device of the three network devices N is an integer greater than or equal to 2, and P is an integer greater than or equal to 1; the first network device obtains the communication relationship of M data streams, and each piece of data in the M data streams
- the communication relationship of the flow includes source address information and destination address information.
- M is an integer greater than or equal to 2.
- the M data flows are transmitted to the P third network devices through the N second network devices respectively; the first network The device determines M paths based on the communication relationships of the M data flows and the first topology information.
- the M paths respectively correspond to the M data flows.
- the M paths indicate the P data flows through the N second network devices.
- the third network device transmits the M data flow paths; the first network device sends the M paths to the N second network devices respectively.
- the first network device obtains the first topology information including the connection relationships between N second network devices and P third network devices, and the first network device obtains the communication relationships of the M data streams Afterwards, the first network device determines and sends M paths to the N second network devices according to the communication relationships of the M data flows and the first topology information. Thereafter, N second network devices may respectively send the M data streams to P third network devices based on the M paths.
- the first network device serves as a path determination device, and the path determination basis of the first network device is the connection relationship between the N second network devices and the P third network devices and the communication relationship of the M data streams.
- the first network device can determine the path based on global information to avoid path conflicts. Conflicts improve the forwarding efficiency of data flows.
- any one of the M data streams may be a unidirectional data stream or a bidirectional data stream, which is not limited in this application.
- the communication relationship of the bidirectional data flow may only include source address information and destination address information of a certain flow direction.
- the communication relationship of the bidirectional data flow may also include source address information and destination address information corresponding to the two flow directions, which are not limited here.
- the M data flows pass through the P third network devices to the K fourth network devices.
- Transmission, K is an integer greater than or equal to 1;
- the M data streams include a first data stream and a second data stream, and the source address information of the first data stream and the source address information of the second data stream correspond to different The second network device, the destination address information of the first data flow and the destination address information of the second data flow correspond to the same fourth network device,
- the M paths include the first path and the second path, and the first path and The first data flow corresponds to the second data flow, the second path corresponds to the second data flow, and the first path and the second path correspond to different third network devices.
- any fourth network device is different from any second network device.
- At least one network device among the N second network devices and at least one network device among the K fourth network devices are the same network device.
- N and K are equal, and the N second network devices and the K fourth network devices are the same network devices.
- the M paths determined by the first network device include a first path corresponding to the first data flow and a second path corresponding to the second data flow, and the first path and the second path correspond to Different third network devices, wherein the source address information of the first data flow and the source address information of the second data flow correspond to different second network devices, and the destination address information of the first data flow is different from the second data flow.
- the destination address information of the data flow corresponds to the same fourth network device.
- any fourth network device is a downstream network device of any third network device, after the first data flow and the second data flow are respectively sent to different third network devices through different second network devices, the different The third network device respectively sends the first data flow and the second data flow to the same fourth network device. Therefore, it is possible to avoid network congestion caused by data flows from different second network devices being transmitted through the same third network device and then being transmitted to the same fourth network device through the same third network device, thereby improving the first The transmission efficiency of the data stream and the second data stream.
- the M paths also indicate egress ports of the M data flows on the N second network devices.
- the M paths determined by the first network device in addition to indicating the paths for transmitting the M data streams through the N second network devices to the P third network devices, the M paths determined by the first network device also indicate the The egress ports of the M data flows on the N second network devices, so that the N second network devices can clearly send the egress ports of the M data flows after receiving M paths.
- the M data streams include a third data stream and a fourth data stream
- the source address information of the third data stream and the source address information of the fourth data stream correspond to
- the M paths include a third path and a fourth path, the third path corresponds to the third data flow, the fourth path corresponds to the fourth data flow, and the third path corresponds to the third data flow. The four paths are different.
- the M paths determined by the first network device include a third path corresponding to the third data flow and a fourth path corresponding to the fourth data flow, and the third path and the fourth path are different.
- the source address information of the third data flow and the source address information of the fourth data flow correspond to the same second network device.
- the third data stream and the fourth data stream are transmitted through different paths through the same second network device. Therefore, network congestion caused when the data flow from the same second network device is transmitted through the same path can be avoided, thereby improving the transmission efficiency of the third data flow and the fourth data flow.
- the topology information also includes connection relationships between P third network devices and K fourth network devices.
- an implementation method for the first network device to determine M paths is provided, so that the first network device determines the M paths based on the mapping relationship between the N second network devices and the K fourth network devices. path.
- the first network device determining the M paths according to the first mapping relationship includes: the first network device determining the first sorting information according to the first mapping relationship, the first A sorting information is used to indicate the sorting of the number of second network devices corresponding to the K fourth network devices; the first network device sequentially traverses the egress ports of the N second network devices according to the first sorting information, Obtain a second mapping relationship; wherein the second mapping relationship is used to indicate the mapping relationship between the egress ports of the N second network devices and the K fourth network devices; the first network device is based on the second mapping The relationship determines the M paths.
- an implementation method for the first network device to determine M paths is provided, so that the first network device can determine M paths based on The first mapping relationship, the first sorting information and the second mapping relationship determined in sequence determine the M paths.
- the first network device sequentially traverses the egress ports of the N second network devices according to the first sorting information
- the second mapping relationship obtained includes: the first network device The device sequentially traverses the egress ports of the N second network devices according to the first sorting information to obtain a third mapping relationship; wherein the third mapping relationship is used to indicate the second port corresponding to each fourth network device.
- the third mapping relationship is used to indicate the optional number of egress ports of the second network device corresponding to each fourth network device, wherein the larger the value of the optional number is, the larger the value of the corresponding fourth network device is.
- the smaller the uncertainty of the optional path of the network device conversely, the smaller the value of the optional number, the greater the uncertainty of the corresponding optional path of the fourth network device.
- the second mapping relationship determined based on the third mapping relationship can be traversed first for the egress port of the second network device corresponding to the fourth network device with less uncertainty in the optional path, so as to improve the accuracy of the solution. property, to avoid subsequent conflicts among the M paths determined based on the second mapping relationship.
- the method further includes: the first network device acquiring second topology information, the second topology information including A second network devices and the P third network devices.
- the connection relationship between, at least one second network device among the A second network devices is the same as at least one second network device among the N second network devices, and the A is an integer greater than or equal to 1; the A network device obtains the communication relationship of B data streams.
- the communication relationship of each data stream in the B data streams includes source address information and destination address information.
- B is an integer greater than or equal to 1.
- the B data streams Transmit to the P third network devices respectively through the A second network devices; after the first network device determines M paths based on the communication relationships of the M data flows and the topology information, the method also includes: The first network device determines B paths according to the communication relationship of the B data flows and the topology information. The B paths respectively correspond to the B data flows. The B paths indicate the direction to the P through the A second network device. Paths through which the M third network devices send the M data flows; wherein the egress ports of the second network devices corresponding to the B paths are different from the egress ports of the second network devices corresponding to the M paths; the first network device Send the B paths to the A second network devices respectively.
- the egress ports of the second network device corresponding to the B paths determined by the first network device are different from the egress ports of the second network device corresponding to the M paths, so as to avoid M data flows and B data flows.
- the data transmission efficiency of the M data flows and the B data flows is improved when traffic conflicts occur when corresponding to the egress port of the same second network device.
- the first network device obtaining the communication relationships of the M data streams includes: the first network device respectively receiving the communication relationships of the M data streams from the N second network devices. communication relationship.
- the first network device can obtain the communication relationships of the M data streams based on respectively receiving the communication relationships of the M data streams from the N second network devices, so that the first network The communication relationship of the M data streams is obtained through interaction between the device and the N second network devices.
- the communication relationships of the M data streams are preconfigured on the first network device to avoid an increase in overhead and delay caused by interactions between different network devices.
- the M data streams correspond to one of multiple artificial intelligence (artificial intelligence, AI) collective communication tasks.
- AI artificial intelligence
- the M data flows correspond to a long-term steady-state traffic task, and the traffic size of the data flows in the long-term steady-state traffic task is greater than a preset threshold within a certain period of time.
- the first network device is a controller or a network device among the P third network devices.
- the first network device that executes the method to determine and send M paths can be a controller or one of the P third network devices to improve the flexibility of solution implementation.
- the second aspect of the present application provides a method for determining a path.
- the method is executed by a second network device, or the method is executed by some components (such as a processor, a chip or a chip system, etc.) in the second network device, or The method may also be implemented by a logic module or software that can realize all or part of the functions of the second network device.
- the method is described by taking the example that the method is executed by a second network device.
- the second network device may be a router, a switch, a virtual machine, etc.
- the second network device sends the communication relationship of Q data streams to the first network device.
- the communication relationship of each data stream in the Q data streams includes source address information and destination address information.
- Q is greater than or An integer equal to 1; the second network device receives Q paths from the first network device, the Q The paths indicate the paths used by the second network device to transmit the Q data streams; the second network device transmits the Q data streams based on the Q paths.
- the second network device receives an instruction from the first network device indicating that the second network device transmits the Q data streams.
- Q paths are used, and the second network device transmits the Q data streams based on the Q paths.
- the first network device serves as a device for determining paths, and the first network device can determine M paths corresponding to M data flows transmitted between N second network devices and P third network devices. Therefore, compared with the implementation in which N second network devices only use local data flows as the basis for path determination, which may easily lead to path conflicts, in the above method, the first network device can determine the path based on global information to avoid path conflicts. Conflicts improve the forwarding efficiency of data flows.
- any one of the Q data streams can be a unidirectional data stream or a bidirectional data stream, which is not limited in this application.
- the communication relationship of the bidirectional data flow can only include source address information and destination address information of a certain flow direction.
- the communication relationship of the bidirectional data flow may also include source address information and destination address information corresponding to the two flow directions, which are not limited here.
- the path information also indicates the egress ports of the Q data flows on the second network device.
- the Q paths received by the second network device in addition to indicating the paths for transmitting the Q data flows through the second network device, the Q paths received by the second network device also indicate that the Q data flows are transmitted through the second network device. so that after receiving Q paths, the second network device can clearly send the egress ports of the Q data flows.
- the Q data streams include a third data stream and a fourth data stream
- the source address information of the third data stream and the source address information of the fourth data stream correspond to
- the path information includes a third path and a fourth path
- the third path corresponds to the third data flow
- the fourth path corresponds to the fourth data flow
- the third path corresponds to the fourth data flow.
- the paths are different.
- the Q paths received by the second network device include a third path corresponding to the third data flow and a fourth path corresponding to the fourth data flow, and the third path and the fourth path are different.
- the source address information of the third data flow and the source address information of the fourth data flow correspond to the same second network device.
- the third data stream and the fourth data stream are transmitted through different paths through the same second network device. Therefore, network congestion caused when the data flow from the same second network device is transmitted through the same path can be avoided, thereby improving the transmission efficiency of the third data flow and the fourth data flow.
- the Q data streams correspond to one task among multiple AI collective communication tasks.
- the Q data flows correspond to a long-term steady-state traffic task, and the traffic size of the data flows in the long-term steady-state traffic task is greater than a preset threshold within a certain period of time.
- a third aspect of the present application provides a communication device that can implement the method in the above first aspect or any possible implementation of the first aspect.
- the device includes corresponding units or modules for performing the above method.
- the units or modules included in the device can be implemented by software and/or hardware.
- the device can be a first network device, or the device can be a component (such as a processor, a chip or a chip system, etc.) in the first network device, or the device can also be a device that can implement all or part of the first network device.
- Logic modules or software for device functionality are examples of the devices.
- the device includes a transceiver unit and a processing unit; the transceiver unit is used to obtain first topology information.
- the first topology information includes connection relationships between N second network devices and P third network devices.
- Any second network The device is an upstream network device of any third network device, N is an integer greater than or equal to 2, and P is an integer greater than or equal to 1; the transceiver unit is also used to obtain the communication relationship of the M data streams.
- the communication relationship of each data flow in the flow includes source address information and destination address information.
- M is an integer greater than or equal to 2.
- the M data flows pass through the N second network devices to the P third network devices. Transmission; the processing unit is configured to determine M paths based on the communication relationships of the M data streams and the first topology information.
- the M paths respectively correspond to the M data streams, and the M paths indicate passing through the N second
- the network device transmits the M data flow paths to the P third network devices; the transceiver unit is also used to send the M paths to the N
- the M data streams are transmitted to K fourth network devices through the P third network devices, where K is an integer greater than or equal to 1;
- the M data streams include The first data stream and the second data stream, the source address information of the first data stream and the source address information of the second data stream correspond to different second network devices, and the destination address information of the first data stream is the same as the second data stream.
- the destination address information of the data flow corresponds to the same fourth network device.
- the M paths include a first path and a second path. The first path corresponds to the first data flow, and the second path corresponds to the second data flow. , the first path and the second path correspond to different third network devices.
- the M paths also indicate egress ports of the M data flows on the N second network devices.
- the M data streams include a third data stream and a fourth data stream
- the source address information of the third data stream and the source address information of the fourth data stream correspond to
- the M paths include a third path and a fourth path, the third path corresponds to the third data flow, the fourth path corresponds to the fourth data flow, and the third path corresponds to the third data flow. The four paths are different.
- the M data streams are transmitted to K fourth network devices through the P third network devices, and K is a positive integer; the processing unit is specifically configured to: according to the M The communication relationship of the M data streams and the first topology information determine a first mapping relationship.
- the first mapping relationship is used to indicate the second network device corresponding to the source address information of each of the M data streams and the M data streams.
- a mapping relationship between fourth network devices corresponding to the target address information of each data stream in the data stream; the M paths are determined according to the first mapping relationship.
- the processing unit is specifically configured to: determine first sorting information according to the first mapping relationship, where the first sorting information is used to indicate the Kth fourth network device corresponding to Sorting of the number of the two network devices; sequentially traversing the egress ports of the N second network devices according to the first sorting information to obtain a second mapping relationship; wherein the second mapping relationship is used to indicate the N second Mapping relationship between the egress port of the network device and the K fourth network devices; determining the M paths based on the second mapping relationship.
- the processing unit is specifically configured to: sequentially traverse the egress ports of the N second network devices according to the first sorting information to obtain a third mapping relationship; wherein, the The third mapping relationship is used to indicate an optional number of egress ports of the second network device corresponding to each fourth network device; the second mapping relationship is determined based on the third mapping relationship.
- the transceiver unit is also configured to obtain second topology information, where the second topology information includes connection relationships between A second network devices and the P third network devices.
- the second topology information includes connection relationships between A second network devices and the P third network devices.
- at least one second network device among the A second network devices is the same as at least one second network device among the N second network devices, and A is an integer greater than or equal to 1;
- the transceiver unit is also used to Obtain the communication relationship of B data streams.
- the communication relationship of each data stream in the B data streams includes source address information and destination address information.
- B is an integer greater than or equal to 1.
- the B data streams pass through the A second network devices transmit to the P third network devices; the processing unit is also used to determine B paths based on the communication relationships of the B data flows and the topology information, and the B paths are respectively connected to the B data flows.
- the B paths indicate paths for sending the M data streams to the P third network devices through the A second network devices; wherein, the egress ports of the second network devices corresponding to the B paths are different from the The M paths correspond to the outgoing ports of the second network device; the transceiver unit is also used to send the B paths to the A second network devices respectively.
- the transceiver unit is specifically configured to receive the communication relationships of the M data streams from the N second network devices respectively.
- the M data streams correspond to one of multiple artificial intelligence AI collective communication tasks.
- the first network device is a controller or a network device among the P third network devices.
- the component modules of the communication device can also be used to perform the steps performed in each possible implementation manner of the first aspect, and achieve corresponding technical effects.
- the component modules of the communication device can also be used to perform the steps performed in each possible implementation manner of the first aspect, and achieve corresponding technical effects.
- a fourth aspect of the present application provides a communication device that can implement the method in the above second aspect or any possible implementation manner of the second aspect.
- the device includes corresponding units or modules for performing the above method.
- the units or modules included in the device can be implemented by software and/or hardware.
- the device can be a second network device, or the device can be a component (such as a processor, a chip or a chip system, etc.) in the second network device, or the device can also be a device that can implement all or part of the second network.
- Logic modules or software for device functionality are examples of the devices.
- the device includes a transceiver unit and a processing unit; the processing unit is used to determine the communication relationship of Q data streams.
- the communication relationship of each data stream includes source address information and destination address information, Q is an integer greater than or equal to 1;
- the transceiver unit is used to send the communication relationship of Q data streams to the first network device;
- the transceiver unit is also used to Receive Q paths from the first network device, the Q paths indicate the paths used by the second network device to transmit the Q data streams;
- the transceiver unit is also used to transmit the Q data streams based on the Q paths.
- the path information also indicates the egress ports of the Q data flows on the second network device.
- the Q data streams include a third data stream and a fourth data stream
- the source address information of the third data stream and the source address information of the fourth data stream correspond to
- the path information includes a third path and a fourth path
- the third path corresponds to the third data flow
- the fourth path corresponds to the fourth data flow
- the third path corresponds to the fourth data flow.
- the paths are different.
- the Q data streams correspond to one of multiple artificial intelligence AI collective communication tasks.
- the component modules of the communication device can also be used to perform the steps performed in each possible implementation manner of the second aspect, and achieve corresponding technical effects.
- the component modules of the communication device can also be used to perform the steps performed in each possible implementation manner of the second aspect, and achieve corresponding technical effects.
- a fifth aspect of this application provides a communication device.
- the communication device includes at least one processor.
- the at least one processor is coupled to memory. This memory is used to store programs or instructions.
- the at least one processor is used to execute the program or instructions, so that the device implements the foregoing first aspect or the method described in any possible implementation manner of the first aspect, or so that the device implements the foregoing second aspect or the third aspect.
- the sixth aspect of the present application provides a communication device, including at least one logic circuit and an input and output interface; the logic circuit is used to perform the method described in the aforementioned first aspect or any possible implementation of the first aspect, or , the logic circuit is used to perform the method described in the aforementioned second aspect or any possible implementation manner of the second aspect.
- a seventh aspect of the present application provides a computer-readable storage medium for storing computer instructions; when the computer instructions are executed by a processor, the processor executes the above-mentioned first aspect or any possible implementation manner of the first aspect.
- the method described above, or the processor performs the method described in the above second aspect or any possible implementation manner of the second aspect.
- An eighth aspect of the present application provides a computer program product (or computer program).
- the computer program product includes instructions.
- the processor executes the first aspect or the first aspect.
- the method of any possible implementation of the aspect, or the processor executes the above second aspect or the method of any possible implementation of the second aspect.
- a ninth aspect of the present application provides a chip system.
- the chip system includes at least one processor for supporting a communication device to implement the functions involved in the above-mentioned first aspect or any possible implementation of the first aspect, or, It is used to support the communication device to implement the functions involved in the above second aspect or any possible implementation manner of the second aspect.
- the chip system may also include a memory for storing necessary program instructions and data of the communication device.
- the chip system may be composed of chips, or may include chips and other discrete devices.
- the chip system further includes an interface circuit that provides program instructions and/or data to the at least one processor.
- a tenth aspect of the present application provides a communication system, which includes the first network device in any of the above aspects.
- the communication system includes one or more second network devices in any of the above aspects.
- the communication system includes one or more third network devices in any of the above aspects.
- the communication system includes one or more fourth network devices in any of the above aspects.
- Figure 1a is a schematic diagram of the communication system provided by this application.
- FIG 1b is another schematic diagram of the communication system provided by this application.
- Figure 1c is another schematic diagram of the communication system provided by this application.
- FIG. 1d is another schematic diagram of the communication system provided by this application.
- Figure 1e is another schematic diagram of the communication system provided by this application.
- Figure 1f is another schematic diagram of the communication system provided by this application.
- FIG. 2a is a schematic diagram of the communication scenario involved in this application.
- Figure 2b is another schematic diagram of the communication scenario involved in this application.
- Figure 2c is another schematic diagram of the communication scenario involved in this application.
- Figure 2d is another schematic diagram of the communication scenario involved in this application.
- Figure 2e is another schematic diagram of the communication scenario involved in this application.
- Figure 2f is another schematic diagram of the communication scenario involved in this application.
- Figure 2g is another schematic diagram of the communication scenario involved in this application.
- FIG. 3 is a schematic diagram of the path determination method provided by this application.
- Figure 4a is another schematic diagram of the path determination method provided by this application.
- Figure 4b is another schematic diagram of the path determination method provided by this application.
- FIG. 5a is a schematic diagram of the AI collective communication process provided by this application.
- Figure 5b is another schematic diagram of the AI collective communication process provided by this application.
- Figure 5c is another schematic diagram of the AI collective communication process provided by this application.
- FIG. 6 is another schematic diagram of the AI collective communication process provided by this application.
- FIG. 7 is another schematic diagram of the AI collective communication process provided by this application.
- FIG. 8 is a schematic diagram of the communication device provided by this application.
- Figure 9 is another schematic diagram of the communication device provided by this application.
- system and “network” in the embodiments of this application may be used interchangeably.
- “At least one” means one or more, and “plurality” means two or more.
- “And/or” describes the relationship between associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A alone exists, A and B exist simultaneously, and B alone exists, where A, B can be singular or plural.
- the character “/” generally indicates that the related objects are in an “or” relationship.
- “At least one of the following” or similar expressions thereof refers to any combination of these items, including any combination of a single item (items) or a plurality of items (items).
- At least one of A, B, and C includes A, B, C, AB, AC, BC, or ABC.
- the ordinal numbers such as “first” and “second” mentioned in the embodiments of this application are used to distinguish multiple objects and are not used to limit the order, timing, priority or importance of multiple objects. degree.
- the forwarding device may include a router, a switch, a virtual machine, etc.
- the system includes multiple customer edge (CE) devices, such as user edge device 101 and user edge device 102, as well as other user edge devices that may exist; the system also includes multiple network devices, For example, network device 103, network device 104, and network device 105, as well as other network devices that may exist.
- CE customer edge
- the user edge device can serve as an entry device for the data flow transmitted by the communication system.
- the user edge device can connect to the sending end of the data flow, that is, the device indicated by the source address information of the data flow.
- the user edge device can serve as an egress device for the data flow transmitted by the communication system.
- the user edge device can connect to the receiving end of the data flow, that is, the device indicated by the destination address information of the data flow.
- the sending end of the data flow or the receiving end of the data flow can be a terminal device, a server, a virtual machine and other devices with data sending and receiving requirements.
- network device 103, network device 104 and network device 105 are routers, switches, virtual machines and other devices. These network devices can be used to transmit data flows from one user edge device to another user edge device.
- the user edge device may be called an edge switching device.
- FIG. 1b An implementation example is shown in Figure 1b.
- the arrow in the figure points to the direction of the data flow.
- the data flow sequentially flows from the source device indicated by the source address information of the data flow to N (N is an integer greater than or equal to 2) second devices.
- N N is an integer greater than or equal to 2
- P P is an integer greater than or equal to 1
- P is greater than or equal to 2 as an example
- K K is an integer greater than or equal to 2 fourth network devices
- the data stream is received by the destination device indicated by the destination address information.
- the N second network devices are upstream devices of the P third network devices.
- the P third network devices can also be called downstream devices of the N second network devices.
- the P third network devices are upstream devices of the K fourth network devices.
- the K fourth network devices may also be called downstream devices of the P third network devices.
- scenario example shown in Figure 1b may also include a controller connected to each second network device.
- the path determination method provided in this application may be executed by the controller or any third network device. implement.
- the source device of a certain data flow and the destination device of the data flow may both be connected to the same network device, or the source device of a certain data flow and the destination device of another data flow may be connected to the same network device. It is possible that both are connected to the same network device, or the source device of a certain data flow and the destination device of the data flow may not be connected to the same network device, or the source device of a certain data flow is not connected to the same network device of another data flow.
- the destination device may not be connected to the same network device.
- the N second network devices may be completely different from the K fourth network devices, or the N second network devices may be partially or identically identical to the K fourth network devices.
- N second network devices are completely different from K fourth network devices, that is, any fourth network device is different from any second network device.
- FIG. 1d Another implementation example is shown in Figure 1d.
- the value of N is equal to the value of K, and the N second network devices and the K fourth network devices are exactly the same.
- the multi-layer network composed of N second network devices, P third network devices and K fourth network devices may be a three-layer network including an access layer, an aggregation layer and a core layer.
- the layer network may also be a two-layer network including spine nodes and leaf nodes, or other implementations, which are not limited in this application.
- the above multi-layer network is taken as an example of a two-layer network including Spine nodes and Leaf nodes.
- N second network devices and K fourth network devices are completely identical as an example for explanation.
- Leaf nodes can be connected to one or more servers (Servers), and the data flows interacted between different servers can be forwarded through Leaf nodes.
- Servers servers
- the data flow between the two Servers can be interacted through the forwarding of the same Leaf node; when the two Servers are connected to different Leaf nodes, the data flow between the two Servers The data flow between them needs to be forwarded through the respective connected Leaf nodes and Spine nodes to achieve interaction.
- the communication process between the two-layer networks will be mainly introduced for description.
- the following embodiments can also be applied to the communication process between any two networks in other networks.
- the following embodiments may be applied to the network between the access layer and the aggregation layer, or may be applied to the network between the aggregation layer and the core layer.
- the following embodiments may be applied to the network, or may be applied to the network between the access layer and the core layer.
- the above-mentioned multi-layer network is still taken as a two-layer network including Spine nodes and Leaf nodes as an example.
- the implementation process of the following embodiments mainly involves network devices (such as Spine nodes and Leaf nodes) for Improvement of at least one of a receiving module for receiving data, a processing module for processing data locally, and a sending module for sending data.
- ECMP Equal-Cost Multi-Path
- Devices at multi-path bifurcations will select paths based on specific policies and send packets to different paths to achieve traffic load sharing.
- the ECMP mechanism uses the characteristic fields of the data packet (such as source media access control (MAC) address, destination MAC address, IP quintuple information, etc.) as hash factors and generates them through the hash (HASH) algorithm.
- HASH-KEY value selects a member link in the load sharing link to forward the data packet based on the HASH-KEY value.
- the communication device as a forwarding device forwards a data flow, it selects a path among the multiple paths based on local policies, and forwards the data flow based on the locally selected path.
- the following will exemplarily describe the implementation process of determining a path based on local selection, taking the architecture shown in Figure 1b as an example and combining the implementation examples of Figures 2a to 2g.
- FIG. 2a when server A (Server-A) needs to communicate with server B (Server-B) and server C (Server-C), it needs to go through the switching device A (Switch-A) and the switching device.
- the data streams involved in Figure 2a include four, namely data stream 1 for transmitting messages 1, 5, and 9 in Figure 2a, data stream 2 for transmitting messages 5, 6, and 10, and data stream 3, 7, and 11 for transmitting messages Data flow 3, transmission message 4, 8, 12 data flow 4.
- Switch-A is an implementation example of the second network device
- Switch-1, Switch-2, Switch-3 and Switch-4 are implementation examples of the third network device
- Switch-B is Implementation example of fourth network device.
- Server-A communicates with Server-B and Server-C through a multi-layer network
- there are 4 identical paths between Switch-A and Switch-B in the network which are 4 equal-cost paths.
- ECMP is calculated through hash. The hash-key value selects and forwards the data packet among the member links of equal cost, so that the four data flows are transmitted separately on the four ECMP.
- the implementation process of determining the path based on local selection can be implemented based on load sharing technology.
- the most common ones based on granularity are Packet-based Load Balancing, Flow-based Load Balancing, and Flowlet-based Load Balancing. .
- Implementation method one the implementation process of packet-by-packet load sharing.
- the switching device forwards the Nth packet to path i, the N+1th packet to path i+1, and so on.
- the port is polled.
- the mathematical description of its behavior is that the path selection is based on the number of the packet modulo the number of optional equivalent paths. The purpose is to evenly distribute all packets on the equal-cost member links of the next hop.
- Server-A sends four messages to Server-B in chronological order, namely messages 1-4 in the figure. These four messages also arrive in the order in which they were sent.
- Switch-A forwards packets 1 and 3 to the path connected to Switch-1 according to the packet-by-packet load balancing policy, and Switch-A forwards packets 2 and 4 to the path connected to Switch-2 superior.
- Implementation method two is the implementation process of flow-by-flow load sharing.
- the ECMP mechanism is relied upon to realize the selection of multiple next-hop mechanisms.
- This mechanism uses the characteristic fields of the data packet (such as source MAC address, destination MAC address, IP quintuple information, etc.) as hash factors, and uses HASH The algorithm generates a HASH-KEY value, and then selects a member link in the load-sharing link to forward the data packet based on the HASH-KEY value. For data packets with different characteristic fields, since their HASH-KEY values may be different, different member links may be selected for forwarding; for data packets with the same characteristic field, since their HASH-KEY values are the same, different member links may be selected for forwarding. Select the same member link for forwarding. In this way, load-sharing forwarding of different data flows on different member links is realized, and the timing of arrival of each data packet in the same data flow at the receiving end is ensured.
- Server-A transmits data flow 1 (recorded as Flow 1) containing messages 1, 2, 5, and 6 to Server-D.
- Server-B transmits data flow 2 (recorded as Flow 2) containing messages 3 and 4 to Server-C.
- Switch-A performs hash calculation based on the five-tuple information of the incoming port packets. Messages 1, 2, 5, and 6 obtain the same Key value and take the same path on the next hop of Switch-A. In the same way, packets 3 and 4 take another downstream path of Switch-A.
- the disadvantage of flow-by-flow load sharing is that it does not consider the utilization of each member link in the load sharing link, which results in unbalanced load sharing among member links, especially when large data flows occur. It will aggravate the congestion of the selected member links and even cause packet loss.
- conflict One type of conflict can be called a local conflict.
- the reason is that the hash-key results calculated by the hash algorithm for different input feature fields are the same, resulting in different flows being forwarded to the same path, resulting in conflicts.
- FIG. 2e An exemplary implementation process of local conflict is shown in Figure 2e.
- the IP addresses of Server-A, Server-B, Server-C, and Server-D are: 0.0.0.1, 0.0.0.2, 0.0.0.3, 0.0.0.4 respectively.
- Server-A sends packets 1, 2 to Server-C.
- Server-B sends packets 3, 4 to Server-D.
- the HASH function on Switch-A is "source ip + destination ip".
- the path calculation method performed locally by Switch-A is as follows:
- the message sent by Server-A to Server-C the HASH function calculation result is 4, the number of paths is 2, the HASH function calculation result modulo the number of paths is 0, that is, the 0th path is selected (the path number starts from 0 ).
- the HASH function calculation result is 6 and the number of paths is 2.
- the HASH function calculation result modulo the number of paths is 0, that is, the 0th path is selected (the path number starts from 0 ).
- Another type of conflict can be called a global conflict.
- the reason is that the current load sharing technology uses a distributed decision-making mechanism and lacks a global perspective.
- the switching device cannot predict and control the flow of upstream traffic, resulting in traffic conflicts.
- Flow-1 which contains packets 1 and 2
- Flow-2 which contains packets 3 and 4
- Flow-1 passes through Switch-A
- the member link to Switch-1 is selected to forward the traffic.
- Flow-2 passes through Switch-B
- the member link to Switch-1 is also selected to forward flow-2.
- the destination switching devices of Flow-1 and Flow-2 are both local to Switch-C, and there is only one link between Switch-1 and Switch-C. Therefore, Flow-1 and Flow-2 will conflict on the downstream link of Switch-1, and in the current distributed decision-making load sharing technology, the global conflict problem cannot be foreseen and controlled to avoid, and such conflicts will be serious. Affect network performance.
- Implementation method three is the implementation process of sub-flow load sharing.
- the network device when forwarding a data packet, the network device will determine the time interval between the data packet to be forwarded and the previous data packet in the data flow to which it belongs. If it is greater than the maximum link transmission delay of each member link in the load sharing link ( flowlet_gap_time), the data packet to be forwarded is considered to be the first packet of a new sub-flow (Flowlet); if it is less than the maximum link transmission delay of each member link in the load-sharing link, it is regarded as the same Flowlet as the previous data packet. . Based on the Flowlet, the device selects the lighter-loaded member link in the current load sharing link for forwarding. Data packets in the same Flowlet select the same member link for forwarding.
- FIG. 2g An implementation example is shown in Figure 2g.
- Server-A and Server-B respectively send Flow-1 and Flow-2 to Server-C through the network.
- Packets 1, 2, and 3 in Flow-1 are forwarded by the link between Switch-1 and Switch-A and are recorded as data flow 1-1 (Flowlet1-1).
- Packets 4 and 5 in Flow-2 are If the flow is not the same, it is forwarded by another equal-cost member link, that is, the link between Switch-2 and Switch-A, which is recorded as data flow 2-1 (Flowlet2-1). Because the distance between messages 6 and 7 in Flow-1 is greater than flowlet_gap, message 6 is detected as the first packet of the new flowlet. Then the new flowlet composed of messages 6 and 7 is different from message 1.
- Flowlet1-2 data flow 1-2
- Flowlet1-1 in Flow-1 that is, packets 1, 2, and 3, are forwarded through the link between Switch-A and Switch-1
- Flowlet1-2 and Flow-1 in Flow-1 2 means that packets 4, 5, 6, and 7 are forwarded through the link between Switch-A and Switch-2.
- the host side cannot actively construct a flowlet; on the other hand, if the host side is forced to use a send-stop-send mechanism to forcibly construct a flowlet, it will affect throughput when the network is not congested and the link utilization will be low; and when the network is congested , there is no guarantee that the interval of the constructed flowlet is greater than the flowlet gap set by the switch, which will cause the receiving end to be out of order and trigger retransmission.
- the Flowlet-based multi-path load sharing technology has the disadvantages of both packet-based and flow-based load sharing technologies, namely the risk of load imbalance and packet disorder.
- flowlet-based load sharing technology needs to be considered, balancing maximizing network throughput and minimizing packet disorder, and accurately setting the flowlet_gap_time value.
- flowlet_gap_time is not a static parameter, and the flowlet_gap_time value needs to be dynamically adjusted through feedback from network performance indicators.
- this mechanism of dynamic flowlet_gap_time value will affect the throughput rate of the network and fail to achieve the global optimal value.
- each communication device in a multi-layer network, there are often multiple communication devices as forwarding devices, and each communication device as a forwarding device needs to perform a path selection process among multiple paths based on its own local policy before it can determine forwarding path, resulting in a less efficient path determination method.
- the path determination method is prone to causing other problems. For example, in the first implementation method, it is easy to cause local traffic conflicts on the switching device. In the second implementation method, it is easy to cause global conflicts and local conflicts. In the third implementation method, it is easy to affect the throughput rate of the network.
- this application provides a path determination method and related equipment to improve the forwarding efficiency of data flows. This will be described in further detail below with reference to the accompanying drawings.
- Figure 3 is a schematic diagram of an implementation of a path determination method provided in this application.
- the method includes the following steps. It should be noted that this method can be executed by the first network device, or this method can also be executed by some components (such as a processor, a chip or a chip system, etc.) in the first network device, or this method can also be executed by a capable Logic modules or software implementations that implement all or part of the functions of the first network device. In the following embodiments, the method is described by taking the example that the method is executed by a first network device.
- the first network device may be a router, a switch, a virtual machine, etc.
- the first network device obtains the first topology information.
- the first topology information obtained by the first network device in step S301 includes connection relationships between N second network devices and P third network devices, and any second network device is any third network device.
- the upstream network device of the network device N is an integer greater than or equal to 2
- P is an integer greater than or equal to 1.
- the first network device is a controller or one of the P third network devices.
- the first network device that executes the method to determine and send the M paths may be a controller, or may be one of the P third network devices to improve the flexibility of solution implementation.
- the first network device may be the controller in Figure 1b, or the first network device may be any third network device in Figure 1b.
- the data stream sent by the server may need to pass through the server connected to the server. Forwarding of the Leaf node connected to the Leaf node (for ease of reference later, marked as the source Leaf node), Spine node, and the other Server (for ease of reference later, marked as the destination Leaf node).
- the source Leaf node may be the N second network devices indicated by the first topology information in step S301
- the spine node may be the P third network devices indicated by the first topology information in step S301
- the destination Leaf node may be The K fourth network devices mentioned later.
- the first network device may be any Spine node connected to each Leaf node in Figure 1e, or the first network device may be a controller (not shown in the figure) connected to each Leaf node in Figure 1e , so that the first network device sends M paths to each Leaf node in the subsequent step S304.
- a certain Leaf node is both the source Leaf node of one direction of the data flow and the destination Leaf node of the other direction of the data flow.
- a certain Leaf node It is the source Leaf node of the data flow, or the destination Leaf node of the data flow.
- the same Leaf node can be used to transmit different data streams. In a certain data stream, the Leaf node may be the source Leaf node, and in another data stream, the Leaf node may be the source Leaf node or the destination Leaf. node.
- the first network device obtains the communication relationships of M data streams.
- the communication relationship of each of the M data streams obtained by the first network device in step S302 includes source address information and destination address information.
- M is an integer greater than or equal to 2.
- the M data streams The flows are respectively transmitted to the P third network devices through the N second network devices.
- step S301 does not limit the implementation process of step S301 and step S302. That is, the first network device may first execute step S301 and then execute step S302. The first network device may also execute step S302 first and then execute step S302. S301.
- any one of the M data streams may be a unidirectional data stream or a bidirectional data stream, which is not limited in this application.
- the communication relationship of the bidirectional data flow may only include source address information and destination address information of a certain flow direction.
- the communication relationship of the bidirectional data flow may also include source address information and destination address information corresponding to the two flow directions, which are not limited here.
- the first network device obtaining the communication relationships of the M data streams includes: the first network device respectively receiving the communication relationships of the M data streams from the N second network devices. Specifically, the first network device may obtain the communication relationships of the M data streams based on respectively receiving the communication relationships of the M data streams from the N second network devices, so that the first network device and The communication relationships of the M data streams are obtained through interaction between the N second network devices.
- step S302 the communication relationships of the M data streams are pre-configured on the first network device to avoid an increase in overhead and delay caused by interactions between different network devices.
- the first topology information obtained by the first network device in step S301 may be determined by the respective topology information sent by the N second network devices, or the first topology information may be pre-configured. on the first network device.
- the communication relationship of the first topology information in step S301 and the M data streams in step S302 is determined based on the respective communication relationships and topology information sent by the first network device through the N second network devices.
- each second network device needs to establish a flow table for local large flows, including the following process.
- the second network device adds the five-tuple and characteristic information of the flow (for example: first packet time, number of bytes) to the original flow table.
- the second network device sets a threshold value for large and small flows based on the number of bytes in the collection period, and filters out small flows while retaining large flows.
- the second network device converts the original flow table into a tuple flow table, retaining the source IP and destination IP.
- the purpose is to retain the key fields required by the global optimal path allocation algorithm and save storage space.
- the second network device aggregates local topology knowledge from the filtered tuple flow table to form a local traffic information table.
- Implementation examples of the local traffic information table are shown in Tables 1 to 3.
- the second network device can delete the aged table entries.
- all communication nodes of a task can also be provided in the form of files, such as using a host file (hostfile) to explicitly provide all communication devices of the task. With the explicit communication algorithm name, the communication relationship of the current task can be obtained.
- hostfile host file
- the second network device aggregates the built flow table to the first network device, so that the first network device obtains the communication relationships of the M data flows in step S302.
- Table 4 an implementation example of the table obtained by aggregating the above Tables 1 to 3 is shown in Table 4 below.
- the above implementation process can be expressed as the implementation process in Figure 4a, including "step 401. Establish a flow table for local large flows and aggregate communication relationships.” It should be understood that the "global computing node” in the implementation process shown in Figure 4a is the first network device, and the “edge switching node” is the N second network devices.
- the first network device periodically acquires local traffic communication relationships and topology information. And aggregated to the first network device, the first network device integrates the local traffic information tables of the aggregated N second network devices, and divides communication clusters through communication relationships to determine the M data flows.
- the first network device can determine whether the M data streams currently to be calculated belong to a single task scenario or a multi-task scenario. If it is a scenario with multiple tasks, resource allocation needs to be performed for each individual task.
- the implementation process can be expressed as "Step 402. Obtain local topology information and aggregate the topology information of the complete task" in the implementation process in Figure 4a. .
- the first network device can also perform "Step 403 to determine whether all nodes are covered” in Figure 4a, and, if it is determined that all nodes are covered, the first network device performs "Step 405. Guide according to the aggregation flow table All tasks and all step communication relationships"; if it is determined that all nodes are not covered, the first network device executes the implementation process in "Step 404. Allocate resources by tasks according to communication relationships" in Figure 4a.
- step 404 in Figure 4a The implementation process corresponding to step 404 in Figure 4a will be further described below, including the following processes.
- the number of Tor occurrences is traversed and distributed in descending order.
- the first network device converts the communication relationships of the same task into a communication relationship matrix based on the topology information and the first packet time. Furthermore, the first network device converts the communication relationship matrix into a mapping matrix from Dtor to Stor, and allocates resources starting from the ToR that appears the most.
- the available communication relationship matrix is shown in Table 5
- the Dtor-SID mapping matrix is shown in Table 6 below
- the Dtor-Stor mapping matrix is shown in Table 7 below.
- the M data streams obtained by the first network device in step S302 correspond to one of multiple artificial intelligence (artificial intelligence, AI) collective communication tasks.
- the M data flows correspond to a long-term steady-state traffic task, and the traffic size of the data flows in the long-term steady-state traffic task is greater than a preset threshold within a certain period of time.
- the solution provided by this application can be applied to large flow scenarios where communication relationships change periodically or where convergence time requirements are strict. It is mainly subdivided into long-term steady-state flow scenarios and AI collective communication scenarios.
- the characteristics of the communication relationship in the long-term steady-state traffic scenario are: the communication relationship generally does not change, and can also be regarded as having an infinite change period.
- the flow table is updated and aged as the task starts and ends. The process only requires that after the new task starts, the edge switching device obtains the local traffic communication relationship and aggregates it into a traffic information table on the first network device, which can be used as the input of the global optimal path allocation algorithm for calculation. But if the same destination IP appears, but the source IP is different. This indicates that there is incast traffic in this scenario.
- the Incast scenario of long steady-state traffic is not a problem to be solved by this invention. If such a communication relationship is encountered, it does not need to be calculated by the global optimal path allocation algorithm.
- the communication relationship characteristics of the AI collective communication scenario are: inter-device communication in the AI collective communication scenario usually divides the entire process into multiple sub-phases (phases) according to the algorithm. In each phase, the communication relationships of the devices change, and at the beginning of each phase, all devices in the communication cluster need to be synchronized. This imposes high requirements on the convergence speed of the algorithm.
- the following is an illustrative description of the three main types of algorithms used in AI collective communication scenarios.
- the three types of algorithms include Halving-Doubling (H-D) algorithm, Ring algorithm, and Tree algorithm.
- the HD algorithm is divided into two stages: the first stage performs a reduce-scatter operation for Halving, as shown in Figure 5a.
- a total of (log 2 N) sub-phases are executed, where N is the number of communication nodes.
- N is the number of communication nodes.
- the characteristics of the communication relationship in the AI collective communication scenario are: the inter-device communication in the AI collective communication scenario usually divides the entire process into multiple sub-phases (phases) according to the algorithm. In different phases, the communication relationships of the devices change, and the communication step size is, where n is the current phase and N is the number of communication nodes. And at the beginning of each phase, all devices in the communication cluster need to be synchronized. This imposes high requirements on the convergence speed of the algorithm.
- the second stage performs a global collection (all-gather) operation for Doubling, as shown in Figure 5b. Same as Halving, a total of log 2 N phases are executed, so a total of 2*log 2 N phases need to be executed in the entire HD process. Different from Halving, every time a phase is advanced, the amount of data interacted between nodes doubles.
- N is the number of communication nodes.
- the aforementioned Table 4 can be expressed as the communication relationship in Figure 5c. It can be seen that all phase communication relationships of the all-reduce process supported by the H-D algorithm are recovered from the communication relationship of a task. For all communication devices, all local streams of the same server are sorted, and the positions with the same number after sorting are the same phase. The advantage of this sorting is that it avoids clock synchronization of the entire network.
- the Ring algorithm is different from the H-D algorithm mainly in that the communication relationship of the entire communication process does not change.
- the Ring algorithm is divided into two parts like the HD algorithm.
- the first step is scatter-reduce
- the second step is all-gather.
- communication nodes will exchange data so that each node can obtain a piece of data as the final result.
- the nodes will exchange these final blocks so that all nodes have the completed data.
- N communication nodes Each node will receive and send data N-1 times respectively.
- N communication nodes perform a total of 2 (N-1) phases, but in all phases, the communication relationships of the nodes do not change. Therefore, the communication relationship processing method of this type of algorithm is the same as that of long-term steady-state traffic. It only needs to calculate the optimal path of one phase to obtain the global optimal path calculation result of all phases.
- the difference between the Tree algorithm and the Ring algorithm is that the communication relationship of the Tree algorithm changes in each phase.
- the difference from the H-D algorithm is that in the same phase of the Tree algorithm, the communication objects that send and receive data are different.
- the communication relationship characteristics of the entire all-reduce stage For example, as shown in Figure 7, it is the communication relationship characteristics of the entire all-reduce stage.
- the Tree algorithm two communication relationship trees need to be operated. The characteristics of the two trees are that the leaf nodes of the first tree are the ridge nodes of the second tree, and the ridge nodes of the first tree are the leaf nodes of the second tree. In addition, leaf nodes under the same spine node cannot send or receive data to the spine node at the same time.
- the Tree algorithm is also divided into two steps: the first step is reduction, and the second step is broadcast.
- the reduce phase at the i-th time, the devices whose communication relationship is connected by the dotted-line link in the figure can communicate. At the i+1-th time, the devices whose communication relationship is connected by the solid-line link in the figure can communicate.
- the communication relationship has the same characteristics as the communication relationship in the reduce phase.
- the three algorithms change the communication relationship of nodes, including the communication relationship characteristics of long-term and stable traffic.
- the communication characteristics of long-term and stable traffic are similar to the Ring algorithm and will not change during the entire communication process between devices.
- the node communication relationship of the H-D algorithm changes periodically, and the Halving process and the Doubling process are reciprocal.
- the communication relationship is that the sending and receiving objects are the same.
- the communication relationship between nodes of the Tree algorithm is similar to the H-D algorithm and will change periodically.
- the same node under the Tree algorithm sends and receives data to different objects.
- the solution provided by this application can be applied to scenarios where the overall network bandwidth is sufficient.
- the overall bandwidth of the network is sufficient, assuming that there are n flows with a bandwidth of d in the network, which are distributed among m equivalent links with a capacity of c. If nd > mc, it means that the overall bandwidth of the network is insufficient.
- the load balancing mechanism alone cannot solve the congestion problem, and collaborative scheduling algorithms or congestion control algorithms are required to jointly solve the network congestion problem.
- the present invention is applicable to the scenario where nd ⁇ mc. For example: the AI collective communication scenarios mentioned above are dominated by large flows, the communication relationship changes periodically, and the algorithm convergence time has strict requirements; the long-term steady-state traffic scenario where the communication relationship is relatively fixed, etc.
- the first network device determines M paths based on the communication relationships of the M data flows and the first topology information.
- step S303 the first network device obtains the first topology information based on the communication relationships of the M data flows in step S303.
- the M paths determined by the communication relationship and the first topology information respectively correspond to M data flows, and the M paths indicate the paths for transmitting the M data flows through the N second network devices to the P third network devices. .
- the M data streams are transmitted to K fourth network devices through the P third network devices, where K is a positive integer; the first network device performs the transmission according to the M data in step S403.
- the process of determining the M paths based on the communication relationships of the flows and the first topology information specifically includes: the first network device determines a first mapping relationship based on the communication relationships of the M data streams and the first topology information.
- the first mapping relationship Used to indicate the mapping relationship between the second network device corresponding to the source address information of each of the M data flows and the fourth network device corresponding to the destination address information of each of the M data flows; The first network device determines the M paths according to the first mapping relationship.
- the topology information also includes connection relationships between P third network devices and K fourth network devices.
- any fourth network device is different from any second network device.
- At least one network device among the N second network devices and at least one network device among the K fourth network devices are the same network device.
- N and K are equal, and the N second network devices and the K fourth network devices are the same network devices.
- an implementation method for the first network device to determine M paths is provided, so that the first network device determines the M paths based on the mapping relationship between the N second network devices and the K fourth network devices. .
- the first network device determining the M paths according to the first mapping relationship includes: the first network device determining first sorting information according to the first mapping relationship, and the first sorting information is In order to indicate the sorting of the number of second network devices corresponding to the K fourth network devices; the first network device sequentially traverses the egress ports of the N second network devices according to the first sorting information to obtain the second mapping relationship; wherein, the second mapping relationship is used to indicate the mapping relationship between the egress ports of the N second network devices and the K fourth network devices; the first network device determines the M based on the second mapping relationship path.
- an implementation manner for the first network device to determine M paths is provided, so that the first network device determines the M paths based on the first mapping relationship, the first sorting information, and the second mapping relationship determined in sequence.
- the first network device sequentially traverses the egress ports of the N second network devices according to the first sorting information, and obtaining the second mapping relationship includes: the first network device according to the first sorting information.
- a sorting information sequentially traverses the egress ports of the N second network devices to obtain a third mapping relationship; wherein the third mapping relationship is used to indicate the egress port of the second network device corresponding to each fourth network device.
- An optional number of ports; the first network device determines the second mapping relationship based on the third mapping relationship.
- the third mapping relationship is used to indicate the optional number of egress ports of the second network device corresponding to each fourth network device, wherein the larger the value of the optional number, the more the corresponding fourth network device The smaller the uncertainty of the optional path, and conversely, the smaller the value of the optional number, the greater the uncertainty of the corresponding optional path of the fourth network device.
- the second mapping relationship determined based on the third mapping relationship can be traversed first for the egress port of the second network device corresponding to the fourth network device with less uncertainty in the optional path, so as to improve the accuracy of the solution. property, to avoid subsequent conflicts among the M paths determined based on the second mapping relationship.
- the first network device sends the M paths to the N second network devices respectively.
- the first network device after the first network device determines M paths in step S303, the first network device sends the M paths to the N second network devices respectively in step S304.
- the M data streams are transmitted to K fourth network devices through the P third network devices, where K is an integer greater than or equal to 1; the first network device obtains in step S302
- the M data streams corresponding to the communication relationship include a first data stream and a second data stream.
- the source address information of the first data stream and the source address information of the second data stream correspond to different second network devices.
- the destination address information of the data flow and the destination address information of the second data flow correspond to the same fourth network device.
- the M paths determined by the first network device in step S303 include a first path corresponding to the first data flow, and a second path corresponding to the second data flow. A path and the second path correspond to different third network devices.
- the M paths determined by the first network device include a first path corresponding to the first data flow and a second path corresponding to the second data flow, and the first path and the second path correspond to different A third network device, wherein the source address information of the first data flow and the source address information of the second data flow correspond to different second network devices, and the destination address information of the first data flow and the second data flow
- the destination address information corresponds to the same fourth network device.
- any fourth network device is a downstream network device of any third network device, after the first data flow and the second data flow are respectively sent to different third network devices through different second network devices, the different The third network device respectively sends the first data flow and the second data flow to the same fourth network device. Therefore, it is possible to avoid network congestion caused by data flows from different second network devices being transmitted through the same third network device and then being transmitted to the same fourth network device through the same third network device, thereby improving the first The transmission efficiency of the data stream and the second data stream.
- the M paths determined by the first network device in step S303 also indicate the egress ports of the M data flows on the N second network devices. Specifically, in addition to indicating the paths for transmitting the M data flows through the N second network devices to the P third network devices, the M paths determined by the first network device also indicate the M data streams. The egress ports of the data flows on the N second network devices are so that the N second network devices can clearly send the egress ports of the M data flows after receiving M paths.
- the implementation method shown in Figure 3 further includes: the first network device obtains second topology information, where the second topology information includes A second network devices and the P third network devices.
- the connection relationship between, at least one second network device among the A second network devices is the same as at least one second network device among the N second network devices, and the A is an integer greater than or equal to 1;
- the A network device obtains the communication relationship of B data streams.
- the communication relationship of each data stream in the B data streams includes source address information and destination address information.
- B is an integer greater than or equal to 1.
- the B data streams Transmit to the P third network devices respectively through the A second network devices; after the first network device determines M paths based on the communication relationships of the M data flows and the topology information, the method also includes: The first network device determines B paths according to the communication relationship of the B data flows and the topology information. The B paths respectively correspond to the B data flows. The B paths indicate the direction to the P through the A second network device. Paths for a third network device to send the M data streams; among which, the B The egress ports of the second network device corresponding to the M paths are different from the egress ports of the second network device corresponding to the M paths; the first network device sends the B paths to the A second network devices respectively.
- the egress ports of the second network device corresponding to the B paths determined by the first network device are different from the egress ports of the second network device corresponding to the M paths, so as to avoid that the M data flows and the B data flows correspond to Traffic conflicts generated at the outgoing port of the same second network device improve the data transmission efficiency of M data streams and B data streams.
- the M data streams corresponding to the communication relationship obtained by the first network device in step S302 include a third data stream and a fourth data stream, and the source address information of the third data stream and the third data stream are The source address information of the four data streams corresponds to the same second network device.
- the M paths determined by the first network device in step S303 include a third path and a fourth path, the third path corresponds to the third data flow, the fourth path corresponds to the fourth data flow, and the third path corresponds to the fourth data flow. The third path is different from the fourth path.
- the M paths determined by the first network device include a third path corresponding to the third data flow and a fourth path corresponding to the fourth data flow, and the third path and the fourth path are different.
- the source address information of the third data flow and the source address information of the fourth data flow correspond to the same second network device.
- the third data stream and the fourth data stream are transmitted through different paths through the same second network device. Therefore, network congestion caused when the data flow from the same second network device is transmitted through the same path can be avoided, thereby improving the transmission efficiency of the third data flow and the fourth data flow.
- the first network device acquires the first topology information including the connection relationship between N second network devices and P third network devices in step S301, and the first network device obtains the first topology information in step S302.
- the first network device determines based on the communication relationships of the M data streams and the first topology information in step S303 and sends M data to the N second network devices in step S304. path.
- N second network devices may respectively send the M data streams to P third network devices based on the M paths.
- the first network device serves as a device for determining paths, and the first network device can determine M paths corresponding to M data flows transmitted between N second network devices and P third network devices.
- the first network device can determine the path based on global information to avoid path conflicts. Conflicts improve the forwarding efficiency of data flow.
- the network device corresponding to the source address information i.e., the second network device
- the network device corresponding to the destination address information i.e., the fourth network device
- the destination rack Taking a top-of-rack (destination top of rack, Dtor) as an example, the implementation process of the above step S303 is illustratively explained.
- the M paths determined in the above step S303 can be used to solve the optimal path allocation problem, where the optimal path allocation problem is a mathematically accurate coverage problem and is an NP-complete problem. It is described as that the full set
- the problem is that S is required to be an exact coverage of X, that is, the Stor upstream ports corresponding to all Dtors cannot be allocated repeatedly. This achieves the purpose of assigning an optimal path to each flow in the network.
- the entire optimal path allocation calculation process is divided into the following steps. Among them, the algorithm used to solve this problem in step S303 may be called a flow matrix algorithm (flow matrix algorithm, FMA).
- FMA flow matrix algorithm
- the implementation process of the first network device in step S303 can be represented as the implementation process in the dotted box 4 in Figure 4a (ie, "Step 407. Calculate the global optimal path according to the task"), including the following implementation process.
- Step 4071 The first network device obtains the input communication relationship [SIP, DIP].
- Step 4072 The first network device establishes a Dtor to Stor mapping matrix based on the communication relationship and topology information.
- Step 4073 The first network device traverses the traffic matrix in the Dtor dimension, and the negative effect value (NEV) guides the matrix column iteration sequence.
- NEV negative effect value
- Step 4074 The first network device uses the horizontal degree of freedom (HDOF) value and the vertical degree of freedom (VDOF) value to guide the matrix row calculation sequence within the iteration.
- HDOF horizontal degree of freedom
- VDOF vertical degree of freedom
- Step 4075 Determine whether the for loop traversing Dtor is completed. If so, execute step 4076. If not, repeat step 4073.
- Step 4076 Output the optimal allocation result.
- Communication relationship identification can also be used as one of the inputs in “Step 407.
- the corresponding data stream is used to perform the AI collective communication task in 4061 or the steady-state flow communication task in 4062.
- Steps 1 and 2 will be introduced below with some implementation examples.
- step 4071 an implementation of the first network device aggregating the traffic information of the task communication cluster is shown in Table 8.
- the complete flow table gathered by the first network device includes: flow number, flow table generation switch information, communication relationship pair, that is, [SIP, DIP], first packet time and number of bytes, several important items.
- this flow table needs to be initialized.
- the calculation-related information in the table includes the switch generated by the flow table and the communication IP pair [SIP, DIP].
- the communication unidirectional flow table in the original table is converted into a bidirectional flow table, as shown in Table 9 and Table 10.
- step 4072 the original bidirectional flow table is converted into a matrix of Dtor to Stor mapping, as shown in Table 11.
- the original communication relationship table is first converted into a Dtor to SIP mapping matrix, and then the Stor where the SIP is located is found in the flow table generation switching device item in the original table. Therefore, it is finally converted into a mapping relationship matrix from Dtor to Stor.
- the core of the global optimal path allocation algorithm is to calculate and process the Dtor-Stor mapping relationship matrix.
- Dtor-Stor mapping matrix shown in Table 11 is an implementation example of the first mapping relationship in the aforementioned step S303.
- Step 4073, step 4074 and step 4075 will be introduced below through some implementation examples.
- the Dtor-Stor mapping matrix and ToR available port matrix need to be initialized.
- the first network device converts the aggregated original flow table into a Dtor to Stor mapping matrix, as shown in Table 11.
- the columns in the Dtor-Stor mapping matrix are represented by Dtor (Dtor), and the rows are represented by the Stor egress port number of the flow to Dtor.
- the entries in the matrix represent the Stor (Stor) corresponding to the traffic to the Dtor (Dtor) corresponding to the column.
- the entry ‘-1’ in the Dtor to Stor mapping matrix represents traffic flowing only through the local ToR.
- two steps are required during the initialization phase: the first step is to convert the original flow table into a relationship matrix of Dtor to Stor mapping.
- the second step is to generate the available outbound port matrix of ToR, as shown in Table 12.
- the columns of the matrix are defined as the numbers of ToRs.
- a row is defined as the egress port number that can be used as an alternative when the flow passes through each ToR. In the entire optimal path calculation stage, it is the calculation operation of the Dtor to Stor mapping matrix and the ToR available port matrix.
- x represents the Dtor to Stor mapping relationship matrix, which represents the row index
- j represents the column index of the matrix
- k represents the element of the matrix corresponding to cell (i, j)
- the first network device calculates the traffic matrix according to the FMA algorithm.
- the FMA algorithm performs iterative calculations in the Dtor dimension of the traffic matrix, that is, traversing each column of the Dtor to Stor mapping matrix.
- the algorithm selects the traversal order based on the negative effect value of each column, that is, the size of the NEV indicator value.
- NEV is defined as the total number of entries minus 1, as shown in Table 13.
- Table 13 shows the calculation before the first round of iteration. Except for Dtor-4 and Dtor-5, the elements of all Dtor columns have four unique values. According to the NEV definition, the value of its negative effects is 4-1, which is 3. In the case of the same NEV values, the selection of columns in the current iteration cycle is based on the natural Dtor order and the minimum value is selected to enter the current iteration cycle. When the NEV values are different: for example, Dtor-0 is selected for calculation in the first iteration cycle. The elements are 1, 2, 3, 7. Before the calculation of the second iteration cycle, the NEV value of Dtor-1 is 7-1, which is 6. The NEV value of Dtor-3 is 5-1, which is 4.
- Dtor-1 A value smaller than Dtor-1 is also the smallest among all Dtor columns to be traversed. Then according to the traversal order constraints. Dtor-3 will enter the iteration calculation in second place. In this way, the certainty of the algorithm can be guaranteed. It can be seen from Table 13 that Dtor-4 and Dtor-5 do not perform NEV calculation at the beginning of the current iteration cycle. The reason is that the two Dtors have local traffic, which will cause the traffic out of the local switching device to be less than the number of outgoing ports. Take Table 13 as an example: Dtor-4 and Dtor-5 each have only 2 flows that need to be allocated and calculated on their respective 4 outgoing ports. The total number of allocation methods is, a total of 12 allocation methods.
- the FMA algorithm traverses and iterates all Dtors through the above method.
- the first network device directs ToR port allocation through the degree of freedom value. Specifically, after selecting the Dtor of the current iteration through NEV, it is necessary to calculate and allocate the egress port number on Stor for different traffic with the same Dtor in this iteration. As shown in Table 14.
- the Dtor of the first round of iteration is selected as Dtor-0 based on the method described in Table 13, and its elements include traffic from 1, 2, 3, and 7Stor.
- the traffic distribution calculation is performed on the Stor's egress port based on the longitudinal degree of freedom values, that is, VDOF and HDOF.
- HDOF is defined as the total number of available output ports with the same number in the sub-matrix of this round of iterative calculation.
- the algorithm stipulates that allocation calculations are performed in ascending order of HDOF values. If the HDOF values are the same, allocation is performed in natural order from small to large. calculate.
- Table 14 in the initialization phase, all ToR outgoing ports are in a state to be allocated and calculated, so in the sub-matrix of the first round of iteration consisting of 4 ToRs, all outgoing ports with the same number are available. So the total HDOF value is 4.
- the sub-traffic matrix composed of each iteration has strong randomness.
- Calculation of ToR output port allocation based on the constraints of the HDOF value ensures that the optimal solution can be calculated in each iteration cycle.
- Another indicator is VDOF, which is defined as the number of ports that can be selected by the corresponding TOR after this round of iterative calculation.
- the algorithm stipulates that the allocation calculation is carried out in order from small to large VDOF values. If the VDOF values are the same, the allocation calculation is carried out in the natural order from small to large. As shown in Table 14, in the current iteration cycle, traffic with Dtor of 0 needs to select one port on each of the outgoing ports of the Stor.
- the current number of optional ports for each Stor is the initial 4, so after the current cycle allocation calculation is completed, the number of optional ports for each Stor in the current sub-traffic matrix is 4-1, which is 3. Therefore, the port allocation calculation should be performed in the natural order of ToR in the current iteration cycle.
- the blocks with an "x" symbol in Table 14 represent the calculation and allocation results of the outgoing ports on Stor for several flows of Dtor-0 in this round of iteration.
- the global optimal path allocation algorithm completes the entire calculation process in four dimensions based on three index values. Because in addition to processing the dimension calculation of the three indicators themselves, the time dimension and historical calculation results are also taken into consideration to ensure the maximum deterministic distribution of this iteration and to ensure that subsequent iterations can continuously calculate the optimal solution until the end of the iteration.
- the global optimal path allocation result can be calculated, as shown in Table 15.
- the global optimal path allocation algorithm needs to traverse the traffic matrix in respective dimensions based on three indicator values, so its time complexity is O(n3), where n is the number of switch ports.
- the calculation results can be traversed and checked on the rows and columns of the traffic matrix according to the traffic non-crossing determination rules, so the time complexity of the verification results is O(n2), where n is the number of switch ports.
- the first network device records the calculated optimal path allocation result into the original flow table, as shown in Table 16.
- the next hop of Stor the key output of path planning
- the output calculation result matrix can be converted into a path planning table associated with the Stor outlet port.
- the results are synchronized to the edge switching equipment of the network, guiding the traffic to select the egress port corresponding to the next hop of the edge switching node, thereby completing the global path allocation process.
- the core innovation point of the embodiment of the present application lies in the multi-layer network system including N second network devices and P third network devices.
- the first network device obtains the communication relationship and topology information
- the first network device performs optimization calculation through the global optimal path allocation algorithm based on the gathered communication relationship information and network topology information.
- the first network device sends the calculated optimization results to the N second network devices.
- the N second network devices select routes based on the received optimization calculation results as local traffic path allocation guidance to achieve load sharing and control network congestion. Therefore, when N second network devices perform service packet forwarding, the global optimal path allocation algorithm is used to calculate the optimal path for all traffic, thereby converging in one step without the need for hashing on a local single device.
- Function calculation routing solves the local conflict problem in the flow-by-flow multi-path load sharing method and the global conflict problem caused by the local decision-making mechanism; the business packet forwarding paths with fixed communication relationships are consistent, solving the packet-by-packet multi-path load sharing method The problem of out-of-order packets.
- the N second network devices obtain traffic communication relationship information entering the network, including: source IP, destination IP, and first packet time.
- the N second network devices obtain local topology information. and aggregate the obtained local traffic communication relationship information and topology information to the first network device.
- the first network device combines the communication relationship information and topology information of the converged edge switching nodes into a network traffic information table.
- the network information table records at least one edge node topology information and communication relationship.
- the network information table is input to the global optimal path allocation algorithm, and the columns of the network information table are mappings of traffic destination edge switching nodes to all source switching nodes to this destination edge switching node.
- the rows in the network information table represent the egress port numbers of the source switching nodes to be allocated.
- the first network device calculates and outputs a network traffic path allocation table through a global optimal path allocation algorithm.
- the network traffic path allocation table contains network path allocation information for traffic within N second network devices.
- the columns of the network path allocation table map the traffic destination edge switching node to all source switching nodes to this destination edge switching node.
- the rows of the network path allocation table represent the traffic to the destination edge node that is allocated to the source edge node. Output port.
- the communication device 800 can implement the functions of the communication device (ie, the first network device or the second network device) in the above method embodiment, and therefore can also implement the above method. Beneficial effects possessed by the embodiment.
- the communication device 800 When the communication device 800 is used to implement the function of the aforementioned first network device, the communication device includes a transceiver unit 801 and a processing unit 802; the transceiver unit 801 is used to obtain first topology information, and the first topology information includes N
- the transceiver unit 801 is also used to obtain the communication relationship of M data streams.
- the communication relationship of each data stream in the M data streams includes source address information and destination address information.
- M is an integer greater than or equal to 2.
- the M data streams are respectively transmitted to the P third network devices through the N second network devices;
- the processing unit 802 is configured to determine M paths according to the communication relationships of the M data streams and the first topology information.
- the M paths respectively correspond to M data streams, and the M paths indicate paths for transmitting the M data streams through the N second network devices to the P third network devices;
- the transceiver unit 801 is also used to The M paths are sent to the N second network devices respectively.
- the M data streams are transmitted to K fourth network devices through the P third network devices, where K is an integer greater than or equal to 1;
- the M data streams include the first data stream and a second data stream, the source address information of the first data stream and the source address information of the second data stream correspond to different second network devices, and the destination address information of the first data stream and the second data stream
- the destination address information corresponds to the same fourth network device
- the M paths include a first path and a second path, the first path corresponds to the first data flow, the second path corresponds to the second data flow, and the A path and the second path correspond to different third network devices.
- the M paths also indicate the egress ports of the M data flows on the N second network devices.
- the M data streams include a third data stream and a fourth data stream, and the source address information of the third data stream and the source address information of the fourth data stream correspond to the same second network.
- the M paths include a third path and a fourth path, the third path corresponds to the third data flow, the fourth path corresponds to the fourth data flow, and the third path is different from the fourth path.
- the M data streams are transmitted to K fourth network devices through the P third network devices, where K is a positive integer; the processing unit 802 is specifically configured to: according to the M data streams
- the communication relationship and the first topology information determine a first mapping relationship.
- the first mapping relationship is used to indicate the second network device corresponding to the source address information of each of the M data streams and the second network device in the M data streams.
- a mapping relationship between fourth network devices corresponding to the target address information of each data flow; the M paths are determined according to the first mapping relationship.
- the processing unit 802 is specifically configured to determine first sorting information according to the first mapping relationship, where the first sorting information is used to indicate second network devices corresponding to the K fourth network devices. Sorting of the number; sequentially traverse the egress ports of the N second network devices according to the first sorting information to obtain a second mapping relationship; wherein the second mapping relationship is used to indicate the N second network devices. Mapping relationship between the egress port and the K fourth network devices; determining the M paths based on the second mapping relationship.
- the processing unit 802 is specifically configured to: sequentially traverse the egress ports of the N second network devices according to the first sorting information to obtain a third mapping relationship; wherein, the third mapping The relationship is used to indicate an optional number of egress ports of the second network device corresponding to each fourth network device; the second mapping relationship is determined based on the third mapping relationship.
- the transceiver unit 801 is also configured to obtain second topology information.
- the second topology information includes connection relationships between A second network devices and the P third network devices.
- the A At least one second network device among the N second network devices is the same as at least one second network device among the N second network devices, and A is an integer greater than or equal to 1; the transceiver unit 801 is also used to obtain B
- the communication relationship of each data stream in the B data streams includes source address information and destination address information.
- B is an integer greater than or equal to 1.
- the B data streams pass through the A respectively.
- the second network device transmits to the P third network devices; the processing unit 802 is also configured to determine B paths according to the communication relationships of the B data flows and the topology information, and the B paths respectively correspond to the B data flows. , the B paths indicate paths for sending the M data streams to the P third network devices through the A second network devices; wherein, the egress ports of the second network devices corresponding to the B paths are different from the M The egress ports of the second network devices corresponding to the paths; the transceiver unit 801 is also configured to send the B paths to the A second network devices respectively.
- the transceiver unit 801 is specifically configured to receive the communication relationships of the M data streams from the N second network devices respectively.
- the M data streams correspond to one of multiple artificial intelligence AI collective communication tasks.
- the first network device is a controller or one of the P third network devices.
- the device When the communication device 800 is used to implement the function of the aforementioned second network device, the device includes a transceiver unit 801 and a processing unit 802; the processing unit 802 is used to determine the communication relationships of Q data streams.
- the communication relationship of each data stream includes source address information and destination address information, and Q is an integer greater than or equal to 1; the transceiver unit 801 is used to send the communication relationships of Q data streams to the first network device; the transceiver unit 801 also Used to receive Q paths from the first network device, the Q paths indicate the paths used by the second network device to transmit the Q data streams; the transceiver unit 801 is also used to transmit the Q data streams based on the Q paths. data flow.
- the path information also indicates the egress ports of the Q data flows on the second network device.
- the Q data streams include a third data stream and a fourth data stream
- the source address information of the third data stream and the source address information of the fourth data stream correspond to the second network Device
- the path information includes a third path and a fourth path
- the third path corresponds to the third data flow
- the fourth path corresponds to the fourth data flow
- the third path and the fourth path are different.
- the Q data streams correspond to one task among multiple artificial intelligence AI collective communication tasks.
- FIG. 9 is a schematic structural diagram of a communication device 900 provided by an embodiment of the present application.
- the communication device 900 performs the functions of the first network device in FIG. 3 and related embodiments; wherein, the communication device 1000 performs the functions of the second network device in FIG. 3 and related embodiments.
- the communication device 900 performs the functions of the second network device in FIG. 3 and related embodiments; wherein, the communication device 1000 performs the functions of the first network device in FIG. 3 and related embodiments.
- the communication device 900 shown in FIG. 9 includes a memory 902 and at least one processor 901.
- the processor 901 implements the method in the above embodiment by reading instructions stored in the memory 902, or the processor 901 can also implement the method in the above embodiment by using internally stored instructions.
- the processor 901 implements the method in the above embodiment by reading the instructions stored in the memory 902
- the memory 902 stores instructions for implementing the method provided by the above embodiment of the present application.
- At least one processor 901 is one or more CPUs, or a single-core CPU, or a multi-core CPU.
- At least one processor 901 can also be used to execute the implementation process corresponding to the processing unit 602 in the embodiment shown in FIG. 6 and achieve corresponding beneficial effects, which will not be described again here.
- the memory 902 includes, but is not limited to, RAM, ROM, EPROM, flash memory, optical memory, etc.
- the memory 902 stores operating system instructions.
- the communication device After the program instructions stored in the memory 902 are read by the at least one processor 901, the communication device performs the corresponding operations in the aforementioned embodiments.
- the communication device shown in FIG. 9 also includes a network interface 903.
- the network interface 903 may be a wired interface, such as an FDDI or GE interface; the network interface 903 may also be a wireless interface.
- the network interface 903 is used to perform data sending and receiving in FIG. 3 and related embodiments.
- the network interface 903 can also be used to execute the implementation process corresponding to the transceiver unit 601 in the embodiment shown in FIG. 6 and achieve corresponding beneficial effects, which will not be described again here.
- the network interface 903 has the functions of receiving data and sending data.
- the function of "receiving data” and the function of “sending data” can be integrated and implemented in the same transceiver interface, or the function of "receiving data” and the function of “sending data” can be implemented. ” functions can be implemented in different interfaces, and there are no limitations here.
- the network interface 903 may include one or more interfaces for implementing the function of "receiving data” and the function of "sending data”.
- the processor 901 reads the program instructions in the memory 902, for other functions that the communication device 900 can perform, please refer to the descriptions in the previous method embodiments.
- the communication device 900 also includes a bus 904.
- the processor 901 and the memory 902 are usually connected to each other through the bus 904, but may also be connected to each other in other ways.
- the communication device 900 also includes an input and output interface 905.
- the input and output interface 905 is used to connect with an input device and receive relevant configuration information input by the user or other devices that can be linked with the communication device 900 through the input device.
- Input devices include but are not limited to keyboards, touch screens, microphones, etc.
- the communication device 900 provided by the embodiment of the present application is used to perform the method performed by the communication device (first network device) provided by the above method embodiments, and achieve corresponding beneficial effects.
- the communication device 900 when the communication device 900 performs the functions of the first network device in FIG. 3 and related embodiments; the communication device 900 obtains the first connection relationship between N communication devices 1000 and P third network devices. A piece of topology information, and after the communication device 900 obtains the communication relationships of the M data streams, the communication device 900 determines and sends M paths to the N communication devices 1000 based on the communication relationships of the M data streams and the first topology information. . Thereafter, N communication devices 1000 may respectively send the M data streams to P third network devices based on the M paths. In other words, the communication device 900 serves as a device for determining paths. The communication device 900 can determine M paths corresponding to M data streams transmitted between N communication devices 1000 and P third network devices. Therefore, the communication device 900 can determine the path based on the global information to avoid path conflicts and improve the forwarding efficiency of the data flow.
- the communication device 900 when the communication device 900 performs the functions of the second network device in FIG. 3 and related embodiments; after the communication device 900 sends the communication relationships of Q data streams to the communication device 1000, the communication device 900 receives The communication device 1000 instructs the communication device 900 to use Q paths when transmitting the Q data streams, and the communication device 900 transmits the Q data streams based on the Q paths.
- the communication device 1000 serves as a device for determining paths.
- the communication device 1000 can determine M paths corresponding to M data streams transmitted between N communication devices 900 and P third network devices. Therefore, the communication device 1000 can determine the path based on the global information to avoid path conflicts and improve the forwarding efficiency of the data flow.
- An embodiment of the present application also provides a communication system, which includes at least a first network device and N second network devices.
- the communication system also includes P third network devices.
- the communication system also includes K fourth network devices.
- each network device can also apply other methods involved in the foregoing embodiments and achieve corresponding technical effects, which will not be described again here.
- the disclosed systems, devices and methods can be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of the units is only a logical function division. In actual implementation, there may be other division methods.
- multiple units or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented.
- the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical, mechanical or other forms.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
DataTransferred=2(N-1)K/N;
Claims (28)
- 一种路径确定的方法,其特征在于,包括:第一网络设备获取第一拓扑信息,所述第一拓扑信息包括N个第二网络设备和P个第三网络设备之间的连接关系,任一第二网络设备为任一第三网络设备的上游网络设备,所述N为大于或等于2的整数,所述P为大于或等于1的整数;所述第一网络设备获取M条数据流的通信关系,所述M条数据流中的每条数据流的通信关系包括源地址信息和目的地址信息,所述M为大于或等于2的整数,所述M条数据流分别通过所述N个第二网络设备向所述P个第三网络设备传输;所述第一网络设备根据所述M条数据流的通信关系和所述第一拓扑信息确定M个路径,所述M个路径分别与M条数据流对应,所述M个路径指示通过所述N个第二网络设备向所述P个第三网络设备传输所述M条数据流的路径;所述第一网络设备分别向所述N个第二网络设备发送所述M个路径。
- 根据权利要求1所述的方法,其特征在于,所述M条数据流通过所述P个第三网络设备向K个第四网络设备传输,K为大于或等于1的整数;所述M条数据流包括第一数据流和第二数据流,所述第一数据流的源地址信息与所述第二数据流的源地址信息对应于不同的第二网络设备,所述第一数据流的目的地址信息与所述第二数据流的目的地址信息对应于同一第四网络设备,所述M个路径包括第一路径和第二路径,所述第一路径与所述第一数据流对应,所述第二路径与所述第二数据流对应,所述第一路径与所述第二路径对应于不同的第三网络设备。
- 根据权利要求1或2所述的方法,其特征在于,所述M个路径还指示所述M条数据流在所述N个第二网络设备上的出端口。
- 根据权利要求1至3所述的方法,其特征在于,所述M条数据流通过所述P个第三网络设备向K个第四网络设备传输,K为正整数;所述第一网络设备根据所述M条数据流的通信关系和所述第一拓扑信息确定M个路径包括:所述第一网络设备根据所述M条数据流的通信关系和所述第一拓扑信息确定第一映射关系,所述第一映射关系用于指示所述M条数据流中每条数据流的源地址信息对应的第二网络设备与所述M条数据流中每条数据流的目标地址信息对应的第四网络设备之间的映射关系;所述第一网络设备根据所述第一映射关系确定所述M个路径。
- 根据权利要求4所述的方法,其特征在于,所述第一网络设备根据所述第一映射关系确定所述M个路径包括:所述第一网络设备根据所述第一映射关系确定第一排序信息,所述第一排序信息用于指示所述K个第四网络设备对应的第二网络设备的数量的排序;所述第一网络设备根据所述第一排序信息依次对所述N个第二网络设备的出端口进行遍历,得到第二映射关系;其中,所述第二映射关系用于指示所述N个第二网络设备的出端口与所述K个第四网络设备之间的映射关系;所述第一网络设备基于所述第二映射关系确定所述M个路径。
- 根据权利要求5所述的方法,其特征在于,所述第一网络设备根据所述第一排序信息依次对所述N个第二网络设备的出端口进行遍历,得到第二映射关系包括:所述第一网络设备根据所述第一排序信息依次对所述N个第二网络设备的出端口进行遍历,得到第三映射关系;其中,所述第三映射关系用于指示每个所述第四网络设备对应的所述第二网络设备的出端 口的可选数量;所述第一网络设备基于所述第三映射关系确定所述第二映射关系。
- 根据权利要求1至6任一项所述的方法,其特征在于,所述第一网络设备获取M条数据流的通信关系包括:所述第一网络设备分别接收来自所述N个第二网络设备的所述M条数据流的通信关系。
- 根据权利要求1至7任一项所述的方法,其特征在于,所述M条数据流对应于多个人工智能AI集合通信任务中的一个任务。
- 根据权利要求1至8任一项所述的方法,其特征在于,所述第一网络设备为控制器或所述P个第三网络设备中的一个网络设备。
- 一种路径确定的方法,其特征在于,包括:第二网络设备向第一网络设备发送Q条数据流的通信关系,所述Q条数据流中的每条数据流的通信关系包括源地址信息和目的地址信息,Q为大于或等于1的整数;所述第二网络设备接收来自第一网络设备的Q个路径,所述Q个路径指示所述第二网络设备传输所述Q条数据流时使用的路径;所述第二网络设备基于所述Q个路径传输所述Q条数据流。
- 根据权利要求10所述的方法,其特征在于,所述路径信息还指示所述Q条数据流在所述第二网络设备上的出端口。
- 根据权利要求10或11所述的方法,其特征在于,所述一个或多条数据流对应于多个人工智能AI集合通信任务中的一个任务。
- 一种通信装置,其特征在于,包括收发单元和处理单元;所述收发单元用于获取第一拓扑信息,所述第一拓扑信息包括N个第二网络设备和P个第三网络设备之间的连接关系,任一第二网络设备为任一第三网络设备的上游网络设备,所述N为大于或等于2的整数,所述P为大于或等于1的整数;所述收发单元还用于获取M条数据流的通信关系,所述M条数据流中的每条数据流的通信关系包括源地址信息和目的地址信息,所述M为大于或等于2的整数,所述M条数据流分别通过所述N个第二网络设备向所述P个第三网络设备传输;所述处理单元用于根据所述M条数据流的通信关系和所述第一拓扑信息确定M个路径,所述M个路径分别与M条数据流对应,所述M个路径指示通过所述N个第二网络设备向所述P个第三网络设备传输所述M条数据流的路径;所述收发单元还用于分别向所述N个第二网络设备发送所述M个路径。
- 根据权利要求13所述的装置,其特征在于,所述M条数据流通过所述P个第三网络设备向K个第四网络设备传输,K为大于或等于1的整数;所述M条数据流包括第一数据流和第二数据流,所述第一数据流的源地址信息与所述第二数据流的源地址信息对应于不同的第二网络设备,所述第一数据流的目的地址信息与所述第二数据流的目的地址信息对应于同一第四网络设备,所述M个路径包括第一路径和第二路径,所述第一路径与所述第一数据流对应,所述第二路径与所述第二数据流对应,所述第一路径与所述第二路径对应于不同的第三网络设备。
- 根据权利要求13或14所述的装置,其特征在于,所述M个路径还指示所述M条数据流在所述N个第二网络设备上的出端口。
- 根据权利要求13至15所述的装置,其特征在于,所述M条数据流通过所述P个第三网络设备向K个第四网络设备传输,K为正整数;所述处理单元具体用于:根据所述M条数据流的通信关系和所述第一拓扑信息确定第一映射关系,所述第一映射关系用于指示所述M条数据流中每条数据流的源地址信息对应的第二网络设备与所述M条数据流中每条数据流的目标地址信息对应的第四网络设备之间的映射关系;根据所述第一映射关系确定所述M个路径。
- 根据权利要求16所述的装置,其特征在于,所述处理单元具体用于:根据所述第一映射关系确定第一排序信息,所述第一排序信息用于指示所述K个第四网络设备对应的第二网络设备的数量的排序;根据所述第一排序信息依次对所述N个第二网络设备的出端口进行遍历,得到第二映射关系;其中,所述第二映射关系用于指示所述N个第二网络设备的出端口与所述K个第四网络设备之间的映射关系;基于所述第二映射关系确定所述M个路径。
- 根据权利要求17所述的装置,其特征在于,所述处理单元具体用于:根据所述第一排序信息依次对所述N个第二网络设备的出端口进行遍历,得到第三映射关系;其中,所述第三映射关系用于指示每个所述第四网络设备对应的所述第二网络设备的出端口的可选数量;基于所述第三映射关系确定所述第二映射关系。
- 根据权利要求13至18任一项所述的装置,其特征在于,所述收发单元具体用于分别接收来自所述N个第二网络设备的所述M条数据流的通信关系。
- 根据权利要求13至19任一项所述的装置,其特征在于,所述M条数据流对应于多个人工智能AI集合通信任务中的一个任务。
- 根据权利要求13至20任一项所述的装置,其特征在于,所述第一网络设备为控制器或所述P个第三网络设备中的一个网络设备。
- 一种通信装置,其特征在于,包括收发单元和处理单元;所述处理单元用于确定Q条数据流的通信关系,所述Q条数据流中的每条数据流的通信关系包括源地址信息和目的地址信息,Q为大于或等于1的整数;所述收发单元用于向第一网络设备发送Q条数据流的通信关系;所述收发单元还用于接收来自第一网络设备的Q个路径,所述Q个路径指示所述第二网络设备传输所述Q条数据流时使用的路径;所述收发单元还用于基于所述Q个路径传输所述Q条数据流。
- 根据权利要求22所述的装置,其特征在于,所述路径信息还指示所述Q条数据流在所述第二网络设备上的出端口。
- 根据权利要求22或23所述的装置,其特征在于,所述一个或多条数据流对应于多个人工智能AI集合通信任务中的一个任务。
- 一种通信装置,其特征在于,包括至少一个处理器,所述至少一个处理器与存储器耦合;所述存储器用于存储程序或指令;所述至少一个处理器用于执行所述程序或指令,以使所述通信装置实现如权利要求1至9中任一项所述的方法,或,以使所述通信装置实现如权利要求10至12中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述介质存储有指令,当所述指令被处理器执行时,实现权利要求1至12中任一项所述的方法。
- 一种计算机程序产品,其特征在于,包括指令,当所述指令在处理器上运行时,实现如权利要求1至12中任一项所述的方法。
- 一种通信系统,其特征在于,所述通信系统包括第一网络设备以及N个第二网络设备,其中,所述第一网络设备用于执行如权利要求1至9中任一项所述的方法,所述第二网络设备用于如权利要求10至12中任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23845203.1A EP4557688A4 (en) | 2022-07-27 | 2023-06-29 | METHOD FOR DETERMINING TRAIL AND ASSOCIATED DEVICE |
| US19/027,916 US20250168116A1 (en) | 2022-07-27 | 2025-01-17 | Path Determining Method and Related Device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210891496.0A CN117527675A (zh) | 2022-07-27 | 2022-07-27 | 一种路径确定的方法及相关设备 |
| CN202210891496.0 | 2022-07-27 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/027,916 Continuation US20250168116A1 (en) | 2022-07-27 | 2025-01-17 | Path Determining Method and Related Device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024021990A1 true WO2024021990A1 (zh) | 2024-02-01 |
Family
ID=89705247
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/103818 Ceased WO2024021990A1 (zh) | 2022-07-27 | 2023-06-29 | 一种路径确定的方法及相关设备 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20250168116A1 (zh) |
| EP (1) | EP4557688A4 (zh) |
| CN (2) | CN117527675A (zh) |
| WO (1) | WO2024021990A1 (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120835027A (zh) * | 2024-04-23 | 2025-10-24 | 华为技术有限公司 | 报文转发方法、通信节点、通信系统及相关产品 |
| CN121194269A (zh) * | 2024-06-20 | 2025-12-23 | 华为技术有限公司 | 一种路径信息的处理方法以及相关设备 |
| CN121644443A (zh) * | 2024-09-10 | 2026-03-10 | 华为技术有限公司 | 通告消息的处理方法、发送方法及装置 |
| CN119583435A (zh) * | 2024-11-29 | 2025-03-07 | 联想(北京)有限公司 | 一种流量转发调度方法及装置 |
| CN119788597B (zh) * | 2024-12-31 | 2026-02-03 | 中国电信股份有限公司技术创新中心 | 通信优化方法及装置、存储介质及电子设备 |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104601485A (zh) * | 2015-02-12 | 2015-05-06 | 清华大学 | 网络流量的分配方法及实现网络流量分配的路由方法 |
| CN104767694A (zh) * | 2015-04-08 | 2015-07-08 | 大连理工大学 | 一种面向Fat-Tree数据中心网络架构的数据流转发方法 |
| CN105634974A (zh) * | 2015-12-31 | 2016-06-01 | 杭州华为数字技术有限公司 | 软件定义网络中的路由确定方法和装置 |
| CN107579922A (zh) * | 2017-09-08 | 2018-01-12 | 北京信息科技大学 | 网络负载均衡装置和方法 |
| US20180176134A1 (en) * | 2016-12-21 | 2018-06-21 | Cisco Technology, Inc. | MACHINE LEARNING-DERIVED ENTROPY PATH GRAPH FROM IN-SITU OAM (iOAM) DATA |
| US10148551B1 (en) * | 2016-09-30 | 2018-12-04 | Juniper Networks, Inc. | Heuristic multiple paths computation for label switched paths |
| US10630579B1 (en) * | 2018-01-16 | 2020-04-21 | Amazon Technologies, Inc. | Ensuring separate paths for network traffic between source devices and a destination device |
| WO2021017578A1 (zh) * | 2019-07-31 | 2021-02-04 | 华为技术有限公司 | 报文发送方法、装置及存储介质 |
| CN114024969A (zh) * | 2020-07-17 | 2022-02-08 | 华为技术有限公司 | 一种负载均衡方法、装置和系统 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10291503B2 (en) * | 2013-09-26 | 2019-05-14 | Taiwan Semiconductor Manufacturing Co., Ltd. | File block placement in a distributed network |
-
2022
- 2022-07-27 CN CN202210891496.0A patent/CN117527675A/zh active Pending
- 2022-07-27 CN CN202511342438.2A patent/CN121418335A/zh active Pending
-
2023
- 2023-06-29 EP EP23845203.1A patent/EP4557688A4/en active Pending
- 2023-06-29 WO PCT/CN2023/103818 patent/WO2024021990A1/zh not_active Ceased
-
2025
- 2025-01-17 US US19/027,916 patent/US20250168116A1/en active Pending
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104601485A (zh) * | 2015-02-12 | 2015-05-06 | 清华大学 | 网络流量的分配方法及实现网络流量分配的路由方法 |
| CN104767694A (zh) * | 2015-04-08 | 2015-07-08 | 大连理工大学 | 一种面向Fat-Tree数据中心网络架构的数据流转发方法 |
| CN105634974A (zh) * | 2015-12-31 | 2016-06-01 | 杭州华为数字技术有限公司 | 软件定义网络中的路由确定方法和装置 |
| US10148551B1 (en) * | 2016-09-30 | 2018-12-04 | Juniper Networks, Inc. | Heuristic multiple paths computation for label switched paths |
| US20180176134A1 (en) * | 2016-12-21 | 2018-06-21 | Cisco Technology, Inc. | MACHINE LEARNING-DERIVED ENTROPY PATH GRAPH FROM IN-SITU OAM (iOAM) DATA |
| CN107579922A (zh) * | 2017-09-08 | 2018-01-12 | 北京信息科技大学 | 网络负载均衡装置和方法 |
| US10630579B1 (en) * | 2018-01-16 | 2020-04-21 | Amazon Technologies, Inc. | Ensuring separate paths for network traffic between source devices and a destination device |
| WO2021017578A1 (zh) * | 2019-07-31 | 2021-02-04 | 华为技术有限公司 | 报文发送方法、装置及存储介质 |
| CN114024969A (zh) * | 2020-07-17 | 2022-02-08 | 华为技术有限公司 | 一种负载均衡方法、装置和系统 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4557688A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250168116A1 (en) | 2025-05-22 |
| CN117527675A (zh) | 2024-02-06 |
| CN121418335A (zh) | 2026-01-27 |
| EP4557688A1 (en) | 2025-05-21 |
| EP4557688A4 (en) | 2025-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Noormohammadpour et al. | Datacenter traffic control: Understanding techniques and tradeoffs | |
| WO2024021990A1 (zh) | 一种路径确定的方法及相关设备 | |
| Wang et al. | Adaptive path isolation for elephant and mice flows by exploiting path diversity in datacenters | |
| Guo et al. | On-line multicast scheduling with bounded congestion in fat-tree data center networks | |
| CN113438163B (zh) | 一种基于路径隔离的数据中心网络混合流路由方法及系统 | |
| Rojas-Cessa et al. | Schemes for fast transmission of flows in data center networks | |
| Wang et al. | Freeway: Adaptively isolating the elephant and mice flows on different transmission paths | |
| JP2022532729A (ja) | スライスベースルーティング | |
| Liu et al. | Delay-optimized video traffic routing in software-defined interdatacenter networks | |
| Wu et al. | DARD: Distributed adaptive routing for datacenter networks | |
| CN104767694A (zh) | 一种面向Fat-Tree数据中心网络架构的数据流转发方法 | |
| CN117294643A (zh) | 一种基于SDN架构的网络QoS保障路由方法 | |
| CN106059821A (zh) | 一种基于sdn的数据中心业务服务质量保障方法 | |
| CN113746751A (zh) | 一种通信方法及装置 | |
| CN107454017A (zh) | 一种云数据中心网络中混合数据流协同调度方法 | |
| CN116684360B (zh) | 一种确定性网络时延控制方法、系统及可读存储介质 | |
| Zhang et al. | A stable matching based elephant flow scheduling algorithm in data center networks | |
| CN106330545A (zh) | 一种地震解释系统及基于该系统的数据传输调度方法 | |
| Nepolo et al. | A predictive ECMP routing protocol for fat-tree enabled data centre networks | |
| CN117459414A (zh) | 一种业务路径的编排方法及相关设备 | |
| Huang et al. | Weaver: Efficient coflow scheduling in heterogeneous parallel networks | |
| Pang et al. | Research on SDN-based data center network traffic management and optimization | |
| CN108347378A (zh) | 一种用于大电网的控制专用网络及动态路由方法 | |
| Avci et al. | A content-based traffic engineering policy for Information-Centric Networks | |
| Bouacherine et al. | Parallel multi-path forwarding strategy for named data networking |
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: 23845203 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023845203 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2023845203 Country of ref document: EP Effective date: 20250214 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023845203 Country of ref document: EP |