Network communication system, method, device, storage medium and program product
By introducing control nodes to the network communication system for global path planning and target marking mechanism, the hash polarization problem under the ECMP strategy is solved, and more efficient path utilization and bandwidth management are achieved.
Patent Information
- Application Number
- CN202510007044.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-02
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2045-01-02
AI Technical Summary
In the prior art, multipath equivalent routing (ECMP) strategies are prone to hash polarization problems in network communication across computing nodes, resulting in path congestion and bandwidth utilization decreases.
By introducing control nodes into the network communication system, global path planning is carried out from multiple paths based on the communication relationship and topological relationship between the computing nodes, the most suitable path is selected, and the relevant network nodes are notified to forward data through the target marking mechanism.
This method effectively reduces path blocking, improves bandwidth utilization, solves hash polarization problem, and improves the efficiency and effectiveness of network communication.
Smart Images

Figure CN119420689B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of network communication, and in particular, to a network communication system, method, device, storage medium, and program product. Background Art
[0002] To meet the requirements of large-scale data processing, a network architecture across computing nodes has emerged. Under this network architecture, multiple computing nodes cooperate to process data through computing power coordination and resource scheduling, greatly improving the data processing efficiency.
[0003] During the process of cooperative data processing, data transmission between different computing nodes is usually involved. Different computing nodes forward data through a data forwarding system, and there are usually multiple paths between one computing node and another. In the prior art, the ECMP (Equal-Cost Multipath Routing) strategy is used to select a path from multiple paths. However, this path selection method is prone to hash polarization problems, resulting in a series of problems such as path congestion and decreased bandwidth utilization. Summary of the Invention
[0004] Embodiments of the present application provide a network communication system, method, device, storage medium, and program product to solve the hash polarization problem in the prior art, aiming to reduce path congestion and improve bandwidth utilization.
[0005] In a first aspect, the present application provides a network communication system, including multiple computing nodes, a control node, and a data forwarding system; the data forwarding system includes multiple network nodes at a first level and multiple network nodes at a second level; wherein, the multiple computing nodes have a connection relationship with the multiple network nodes at the first level, and the multiple network nodes at the first level have a connection relationship with the multiple network nodes at the second level;
[0006] The control node is configured to determine multiple paths involved between the first computing node and the second computing node according to the communication relationship between the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and the multiple network nodes at the first level; perform path planning from the multiple paths to determine a first path, and notify the second network node at the first level connected to the second computing node of the first path;
[0007] The second network node is configured to set a target mark for the target route matched by the first path, and notify the first network node at the first level connected to the first computing node of the target mark corresponding to the target route;
[0008] The first computing node is configured to send target data to the first network node;
[0009] The first network node is configured to, when determining that the target data matches the target route, send the target data to the second network node through the third network node at the second level according to the first path indicated by the target label, so that the second network node forwards the target data to the second computing node.
[0010] In a second aspect, the present application provides a network communication method, which is applied to a control node in a network communication system. The network communication system further includes a plurality of computing nodes and a data forwarding system; the data forwarding system includes a plurality of network nodes at a first level and a plurality of network nodes at a second level; wherein, the plurality of computing nodes are connected to the plurality of network nodes at the first level, and the plurality of network nodes at the first level are connected to the plurality of network nodes at the second level;
[0011] The method includes:
[0012] Determine multiple paths involved between the first computing node and the second computing node according to the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and the plurality of network nodes at the first level respectively;
[0013] Perform path planning from the multiple paths to determine a first path;
[0014] Notify the second network node at the first level connected to the second computing node of the first path, so that the second network node sets a target label for the target route matching the first path, and notify the first network node at the first level connected to the first computing node of the target label corresponding to the target route, where the target label is used for the first network node to determine that when the target data matches the target route, send the target data to the second network node through the third network node at the second level according to the first path indicated by the target label, so that the second network node forwards the target data to the second computing node, and the target data is sent from the first computing node to the first network node.
[0015] In a third aspect, the present application provides a network communication method, which is applied to a first network node at a first level in a network communication system; the network communication system includes multiple computing nodes, a control node, and a data forwarding system; the data forwarding system includes multiple network nodes at the first level and multiple network nodes at the second level; wherein, the multiple computing nodes are connected to the multiple network nodes at the first level, and the multiple network nodes at the first level are connected to the multiple network nodes at the second level;
[0016] The method includes:
[0017] Receiving target data sent by a first computing node;
[0018] When it is determined that the target data matches a target route, sending the target data to a second network node at the first level through a third network node at the second level according to a first path indicated by a target label corresponding to the target route, so that the second network node forwards the target data to a second computing node;
[0019] Wherein, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node, the multiple paths are determined by the control node according to the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and the multiple network nodes at the first level respectively, the target label is set by the second network node for the target route matching the first path, and the target label corresponding to the target route is notified to the first network node.
[0020] In a fourth aspect, the present application provides a network communication method, which is applied to a second network node at a first level in a network communication system; the network communication system includes multiple computing nodes, a control node, and a data forwarding system; the data forwarding system includes multiple network nodes at the first level and multiple network nodes at the second level; wherein, the multiple computing nodes are connected to the multiple network nodes at the first level, and the multiple network nodes at the first level are connected to the multiple network nodes at the second level;
[0021] The method includes:
[0022] Receiving a first path sent by the control node; wherein, the first path is obtained by path planning from multiple paths, and the multiple paths are determined according to the communication relationship between a first computing node accessing a second computing node and the topological relationships between the first computing node and the second computing node and the multiple network nodes at the first level respectively;
[0023] Set a target label for the target route matched for the first path;
[0024] Notify the first network node at the first level connected to the first computing node of the target label corresponding to the target route. When the first network node determines that the target data matches the target route, send the target data to the second network node through the third network node at the second level according to the first path indicated by the target label; wherein, the target data is sent from the first computing node to the first network node;
[0025] Receive the target data sent by the third network node;
[0026] Forward the target data to the second computing node.
[0027] In a fifth aspect, the present application provides a network communication method applied to a first computing node in a network communication system; the network communication system includes multiple computing nodes, a control node, and a data forwarding system; the data forwarding system includes multiple network nodes at a first level and multiple network nodes at a second level; wherein, the multiple computing nodes have a connection relationship with the multiple network nodes at the first level, and the multiple network nodes at the first level have a connection relationship with the multiple network nodes at the second level;
[0028] The method includes:
[0029] Send target data to the first network node to which it is connected. When the first network node determines that the target data matches the target route, send the target data to the second network node through the third network node at the second level according to the first path indicated by the target label corresponding to the target route, so that the second network node forwards the target data to the second computing node;
[0030] Wherein, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node, and the multiple paths are determined by the control node according to the communication relationship between the first computing node and the second computing node and the topological relationship between the first computing node and the second computing node and the multiple network nodes at the first level; the target label is set by the second network node for the target route matched for the first path, and the target label corresponding to the target route is notified to the first network node.
[0031] Sixth aspect, the present application provides a computing device, including a storage component and a processing component; the storage component stores one or more computer program instructions, and the computer program instructions are called and executed by the processing component, and the processing component executes the one or more computer program instructions to implement the network communication method described in any one of the second aspect to the fifth aspect.
[0032] Seventh aspect, the present application provides a computer-readable storage medium storing a computer program, and the computer program is executed by a computer to implement the network communication method described in any one of the second aspect to the fifth aspect.
[0033] Eighth aspect, the present application provides a computer program product storing a computer program, and when the computer program is executed by a computer, it implements the network communication method described in any one of the second aspect to the fifth aspect.
[0034] In the network communication system provided by the solution of the embodiment of the present application, it includes multiple computing nodes, a control node, and a data forwarding system. The data forwarding system includes multiple network nodes at a first level and multiple network nodes at a second level. Among them, the multiple computing nodes have a connection relationship with the multiple network nodes at the first level, and the multiple network nodes at the first level have a connection relationship with the multiple network nodes at the second level. Specifically, the control node can determine multiple paths involved between the first computing node and the second computing node according to the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and the multiple network nodes at the first level respectively, perform path planning among the multiple paths to determine a first path, and notify the second network node at the first level connected to the second computing node of the first path; the second network node can set a target label for the target route matched by the first path and notify the first network node at the first level connected to the first computing node of the target label corresponding to the target route; the first network node can receive the target data sent by the first computing node, and when determining that the target data matches the target route, send the target data to the second network node through the third network node at the second level according to the first path indicated by the target label, so that the second network node forwards it to the second computing node. By having the control node perform path planning and select a first path from the multiple paths involved between the first computing node and the second computing node with a communication relationship, the communication process is realized that the first network node sends the target data sent by the first computing node to the second network node through the third network node at the second level according to the first path, and the second network node forwards it to the second computing node. By having the control node perform path planning to determine the forwarding path in the data forwarding system and no longer using the ECMP path selection method, the most suitable path can be found from a global perspective, so path blocking is reduced, the bandwidth utilization rate is improved, the hash polarization problem is solved, and the network communication effect is improved. Moreover, by notifying the second network node of the first path, having the second network node set a target label for the target route matched by the first path and notify the first network node of the target label, and having the first network node perform the above communication process according to the first path indicated by the target label when determining that the target data matches the target route without modifying the target data, the target data transmission and path planning can be synchronized, the path planning efficiency is improved, and thus the network communication efficiency is improved.
[0035] These aspects or other aspects of the present application will be more clearly understood in the following description of the embodiments. Brief Description of the Drawings
[0036] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0037] Figure 1 FIG. 4 shows a schematic structural diagram of an embodiment of a network communication system provided by the present application;
[0038] Figure 2 FIG. 8 shows a schematic diagram of the topological relationship between a computing node and a data forwarding system in an actual application;
[0039] Figure 3 FIG. 12 shows a flowchart of an embodiment of a network communication method provided by the present application;
[0040] Figure 4 FIG. 16 shows a flowchart of another embodiment of a network communication method provided by the present application;
[0041] Figure 5 FIG. 20 shows a flowchart of yet another embodiment of a network communication method provided by the present application;
[0042] Figure 6 FIG. 24 shows a schematic diagram of a data transmission scenario based on a network communication system in an actual application;
[0043] Figure 7 FIG. 28 shows a schematic structural diagram of an embodiment of a network communication device provided by the present application;
[0044] Figure 8 FIG. 32 shows a schematic structural diagram of another embodiment of a network communication device provided by the present application;
[0045] Figure 9 FIG. 36 shows a schematic structural diagram of yet another embodiment of a network communication device provided by the present application;
[0046] Figure 10 FIG. 40 shows a schematic structural diagram of an embodiment of a computing device provided by the present application. Detailed Embodiments
[0047] To enable those skilled in the art to better understand the solutions of the present application, the following will clearly and completely describe the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings in the embodiments of the present application.
[0048] In some processes described in the specification, claims, and the above-mentioned drawings of this application, there are multiple operations that appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order in which they appear herein or may be executed in parallel. The operation numbers such as 301 and 302 are only used to distinguish different operations, and the numbers themselves do not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions such as "first" and "second" in this article are used to distinguish different messages, devices, modules, etc., do not represent a sequence, and do not limit that "first" and "second" are of different types.
[0049] The technical solution of the embodiment of this application can be applied to communication scenarios across computing nodes, especially cross-computing node communication scenarios with the characteristics of "large flow and few flows", such as cross-computing node communication scenarios during distributed training of machine learning models. The so-called "large flow and few flows" means that the number of data streams for communication between cross-computing nodes is small, but the bandwidth resources occupied are large. Taking the distributed training of large-scale language models as an example, a single training task of the model usually needs to be decomposed into multiple subtasks and completed collaboratively on multiple computing nodes with the help of computing resources such as GPUs (Graphics Processing Units) of multiple computing nodes. During distributed training, different computing nodes need to exchange training data, such as model parameters, gradient information, intermediate training results, etc., to ensure the consistency and accuracy of the model. In this data exchange process, the data transmitted between different computing nodes has the characteristics of small quantity but large bandwidth resources occupied, that is, "large flow and few flows".
[0050] For cross-computing node communication scenarios with the characteristics of "large flow and few flows", when using the ECMP strategy in the traditional method for path planning, it is prone to the problem of hash polarization. Specifically, ECMP (Equal-Cost Multipath Routing) is a routing strategy, which means that when there are multiple equivalent paths to the destination in the network, the data stream is dispersed to these paths through algorithms such as HASH (hash) to achieve load balancing. However, when performing path planning for data transmission with the characteristics of "large flow and few flows", it is easy to have the problem that a small number of paths transmit and occupy a large amount of bandwidth resources, resulting in path congestion, while the bandwidth of the remaining paths is not utilized, leading to a decrease in bandwidth utilization, which is called the hash polarization problem, and it has a great impact on the communication effect and efficiency.
[0051] To solve the problem of hash polarization, the inventor considered that the path planning could be carried out by changing the source port of the data (a field in the data packet used to identify the program or process that sends the data packet). However, this path planning method is relatively complex to implement, and since it involves changing the fields in the data packet, communication can only be carried out after the path planning is completed, resulting in low efficiency.
[0052] To solve the problem of hash polarization and be able to implement path selection without modifying the data packet, the inventor proposed the technical solution of this application through a series of innovative thinking. The network communication system includes multiple computing nodes, a control node, and a data forwarding system; the data forwarding system includes multiple network nodes at the first level and multiple network nodes at the second level; wherein, the multiple computing nodes have a connection relationship with the multiple network nodes at the first level, and the multiple network nodes at the first level have a connection relationship with the multiple network nodes at the second level; the control node is configured to determine multiple paths involved between the first computing node and the second computing node according to the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and the multiple network nodes at the first level respectively; perform path planning from the multiple paths to determine a first path, and notify the second network node at the first level connected to the second computing node of the first path; the second network node is configured to set a target mark for the target route matching the first path, and notify the first network node at the first level connected to the first computing node of the target mark corresponding to the target route; the first computing node is configured to send target data to the first network node; the first network node is configured to, when determining that the target data matches the target route, send the target data to the second network node through the third network node at the second level according to the first path indicated by the target mark, so that the second network node forwards the target data to the second computing node.
[0053] By the control node selecting a first path from multiple paths involved between a first computing node and a second computing node with a communication relationship for path planning, it is realized that the first network node sends the target data sent by the first computing node to the second network node through a third network node at the second level according to the first path, and the second network node forwards it to the second computing node. By the control node performing path planning to determine the forwarding path in the data forwarding system, the ECMP path selection method is no longer adopted, so that the most suitable path can be found from a global perspective, thus reducing path blocking, improving bandwidth utilization, solving the hash polarization problem, and improving the network communication effect. Moreover, by notifying the second network node of the first path, the second network node sets a target mark for the target route matched by the first path and notifies the first network node of the target mark. When the first network node determines that the target data matches the target route, it performs the above communication process according to the first path indicated by the target mark without modifying the target data, enabling the target data transmission and path planning to be synchronized, improving the path planning efficiency, and further improving the network communication efficiency.
[0054] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative efforts shall fall within the protection scope of the present application.
[0055] It should be noted that the embodiments of the present application may involve the use of user data. In practical applications, it is possible to use user-specific personal data in the solutions described herein within the scope permitted by applicable laws and regulations in accordance with the requirements of applicable laws and regulations in the country of residence (for example, with the user's explicit consent, giving the user a practical notice, etc.).
[0056] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or fully authorized by all parties. And the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or refuse.
[0057] It should be noted that the technical solutions of the embodiments of the present application are applicable to a network virtual environment. The users described generally refer to "virtual users". Real users can register user accounts on the server through registration to obtain user identities in the network environment.
[0058] Such asFigure 1 As shown in the figure, it is a schematic structural diagram of an embodiment of a network communication system provided by this application. The system may include a control node 101, multiple computing nodes 102, and a data forwarding system.
[0059] The data forwarding system may include multiple network nodes 1031 at the first level and multiple network nodes 1032 at the second level. Multiple computing nodes 102 have a connection relationship with multiple network nodes 1031 at the first level, and multiple network nodes 1031 at the first level have a connection relationship with multiple network nodes 1032 at the second level. Generally, the path between a computing node and a network node at the first level is fixed. When a computing node accesses another computing node, there are multiple paths to be selected between the network node at the first level connected to one computing node and the network node at the first level connected to the other computing node. In the embodiment of this application:
[0060] The control node 101 can be used to determine multiple paths involved between the first computing node and the second computing node according to the communication relationship between the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes at the first level respectively, and perform path planning from the multiple paths to determine a first path, and notify the second network node at the first level connected to the second computing node of the first path.
[0061] The second network node can be used to set a target label for the target route matched by the first path, and notify the first network node at the first level connected to the first computing node of the target label corresponding to the target route.
[0062] The first computing node can be used to send target data to the first network node.
[0063] The first network node can be used to, when determining that the target data matches the target route, send the target data to the second network node through the third network node at the second level according to the first path indicated by the target label, so that the second network node forwards the target data to the second computing node.
[0064] In the embodiment of this application, the control node may refer to a control system for path planning, which can be implemented based on SDN (Software-Defined Networking). In an actual application, the control node may be an SDN controller.
[0065] A computing node can refer to the basic unit in a distributed computing architecture, which can be a physical server, a virtual machine, or a container. Each computing node can have independent computing resources, such as GPUs (Graphics Processing Units), CPUs (Central Processing Units), etc., and can have its own processor, memory, and storage devices to efficiently execute various computing tasks. In a practical application, the computing node can be a physical server.
[0066] A data forwarding system can refer to a network architecture that transfers data from one computing node to another to achieve cross-computing node communication. In the embodiments of this application, the data forwarding system includes a two-level network topology structure, and each level can include multiple network nodes. A network node can be a network device for data transmission and forwarding, such as a switch or a router, etc.
[0067] Specifically, there is a connection relationship between the multiple network nodes in the first level and the multiple network nodes in the second level. There is also a connection relationship between the multiple network nodes in the first level and the multiple computing nodes. There is no connection relationship between two computing nodes, and there is also no connection relationship between two network nodes in the first level. Therefore, a computing node specifically communicates with another computing node by passing through the network node in the first level connected to it, then through the network node in the second level, and then through another network node in the first level.
[0068] In a practical application, the data forwarding system can be a spine-leaf architecture (leaf-spine network architecture). The spine-leaf architecture is a network topology structure composed of two data exchange layers, namely the spine layer and the leaf layer. Among them, the Leaf layer includes multiple leaf switches, which serve as the multiple network nodes in the first level and have a connection relationship with the multiple computing nodes. The spine layer includes multiple spine switches, which serve as the multiple network nodes in the second level and have a connection relationship with the multiple leaf switches. On this basis, a computing node specifically communicates with another computing node by passing through the leaf switch connected to it, then through the spine switch, and then through another leaf switch.
[0069] For ease of description, two computing nodes having a communication relationship are respectively referred to as a first computing node and a second computing node. Among them, the communication relationship in which the first computing node accesses the second computing node means that data is transmitted from the first computing node to the second computing node. Among them, the first computing node can refer to any computing node, the second computing node refers to the second computing node that the first computing node needs to access, the first network node refers to the first-level network node connected to the first computing node, and the second network node refers to the first-level network node connected to the second computing node.
[0070] Optionally, before performing path planning, the control node can also be used to obtain the communication relationships between multiple computing nodes and the topological relationships between multiple computing nodes and multiple first-level network nodes respectively. Among them, the communication relationship can be determined based on the actual computing task, which will be described in subsequent embodiments, and the topological relationship represents the connection relationship between the computing node and the first-level network node.
[0071] When performing path planning, the control node can determine the first first-level network node connected to the first computing node according to the topological relationship between the first computing node and multiple first-level network nodes. Correspondingly, according to the topological relationship between the second computing node and multiple first-level network nodes, the second first-level network node connected to the second computing node can be determined. And, by combining the connection relationships between the first network node and the second network node and multiple second-level network nodes respectively, multiple paths for the first computing node to communicate with the second computing node through the first network node, passing through multiple second-level network nodes, and then through the second network node can be determined.
[0072] Furthermore, the control node can perform path planning from multiple paths to determine the first path, and notify the second network node, that is, the network node connected to the second computing node to be accessed, of the determined first path. Among them, there are various implementation manners for path planning, which will be described in detail in subsequent embodiments and will not be elaborated here.
[0073] After receiving the first path sent by the control node, the second network node may set a target label for the target route matching the first path. The target label may uniquely identify the first path, and it may be in any coding form such as Arabic numerals or letters, etc., which is not limited in this application. In the embodiments of this application, a route refers to the path information for a data packet to be transmitted from a source address to a destination address, which may include destination information such as a destination address, a mask, an interface, and a next-hop address, etc. That is to say, the second network node may set a target label for the destination information that hits the first path, and notify the first network node of the target label corresponding to the target route. And the path includes information such as a destination address and an interface, which matches the destination address or interface in the route, and it can be considered that the route is hit.
[0074] The first network node may receive the target data sent by the first computing node. According to the destination address in the five-tuple information of the target data, when it is determined that the target route is matched, the target data is sent to the second network node through the third network node at the second level according to the first path indicated by the target label, so that the second network node forwards the target data to the second computing node, thereby realizing the communication between the first computing node and the second computing node.
[0075] In this embodiment, the control node performs path planning and selects the first path from multiple paths involved between the first computing node and the second computing node having a communication relationship, so that the first network node sends the target data sent by the first computing node to the second network node through the third network node at the second level according to the first path, and the second network node forwards it to the second computing node. By performing path planning by the control node to determine the forwarding path in the data forwarding system, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective. Because the path blocking is reduced, the bandwidth utilization rate is improved, the hash polarization problem is solved, and the network communication effect is improved. And, by notifying the second network node of the first path, the second network node sets a target label for the target route matching the first path, and notifies the first network node of the target label. When the first network node determines that the target data matches the target route, the above communication process is performed according to the first path indicated by the target label, without modifying the target data, so that the target data transmission and path planning can be synchronized, the path planning efficiency is improved, and thus the network communication efficiency is improved.
[0076] In order to further improve the network communication effect, in some embodiments, the connection relationship between multiple computing nodes and multiple network nodes at the first level may include:
[0077] One network interface of one computing node is connected to one downlink interface of one network node at the first level.
[0078] The connection relationship between multiple network nodes at the first level and multiple network nodes at the second level may include:
[0079] An uplink interface of a network node at the first level is connected to a network node at the second level, and a network node at the second level is connected to an uplink interface of a network node at the first level.
[0080] In this embodiment, a computing node may include one or more network interfaces. Taking the computing node as a physical server as an example, the network interface may refer to a network card. A network interface may be connected to a downlink interface of a network node at the first level. That is to say, when a computing node includes multiple network interfaces, a computing node may be connected to a network node at the first level or multiple network nodes at the first level, and this application does not limit this.
[0081] It can be understood that when a computing node includes multiple network interfaces, the communication relationship between a computing node and another computing node refers to a network interface in a computing node accessing a network interface in another computing node. And a network node at the first level may include multiple downlink interfaces. A network interface of a computing node may be fixedly connected to a downlink interface of a network node at the first level. The topological relationship between a computing node and multiple network nodes at the first level also refers to the connection relationship between the network interface of a computing node and a downlink interface of a network node.
[0082] A network node at the first level may include multiple uplink interfaces. The number of uplink interfaces may be the same as the number of network nodes at the second level, so that each uplink interface is uniquely connected to a network node at the second level, and each network node at the second level is uniquely connected to an uplink interface. Taking the network node as a switch as an example, the uplink interface and the downlink interface may refer to ports, that is, physical interfaces.
[0083] For ease of understanding, taking the data forwarding system as a spine - leaf architecture as an example, Figure 2 shows a schematic diagram of the topological relationship between a computing node and a data forwarding system in an actual application. As Figure 2As shown in the figure, taking two computing nodes with a communication relationship, the first computing node 21 and the second computing node 22 as an example, each computing node includes 8 network interfaces. The computing node is connected to the downlink interfaces of the leaf switch (not shown in the figure) through 8 network interfaces. For example, each network interface of the first computing node 21 is connected to a downlink interface of the leaf switch 1, and each network interface of the second computing node 22 is connected to a downlink interface of the leaf switch 2. Each leaf switch includes 64 uplink interfaces, namely uplink interface 1, uplink interface 2, ···, uplink interface 64. The spine layer includes 64 spine switches, namely spine switch 1, spine switch 2, ···, spine switch 64. Each leaf switch is respectively connected to a spine switch through 64 uplink interfaces one by one. Among them, uplink interface 1 is connected to spine switch 1, uplink interface 2 is connected to spine switch 2, ···, uplink interface 64 is connected to spine switch 64.
[0084] By adopting a topology structure in which multiple network nodes in the first layer converge with multiple network nodes in the second layer in a 1:1 manner, that is, a topology structure in which multiple uplink interfaces in one network node in the first layer are respectively connected to one network node in the second layer one by one, the network communication performance in the data forwarding system is improved, and the network communication effect and efficiency between cross-computing nodes are further improved.
[0085] The path planning process will be described below.
[0086] In some embodiments, the control node performs path planning from multiple paths to determine the first path, and notifying the second network node in the first layer connected to the second computing node may include:
[0087] The control node selects the first path that meets the load requirement from multiple paths, and notifies the second network node in the first layer connected to the second computing node of the first path and the target label corresponding to the first path.
[0088] Optionally, selecting the first path that meets the load requirement from multiple paths may include one or more of the following implementation manners:
[0089] Arbitrarily select a path with an empty load as the first path;
[0090] Arbitrarily select a path with a load level lower than the threshold as the first path;
[0091] Select the path with the lowest load level from multiple paths as the first path.
[0092] Specifically, the control node can combine the planned path and select the first path that meets the load requirement from multiple paths. For example, when there is a path with an empty load, any one of the paths can be selected as the first path. When there is no path with an empty load, at least one path with a load level lower than the threshold can be determined from multiple paths, and any one of them can be selected as the first path. Alternatively, a path with the lowest load level can also be selected as the first path. Among them, the calculation of the load level can refer to the calculation method in the traditional solution, and the threshold can be set according to actual requirements.
[0093] According to the foregoing description, when the computing node includes multiple network interfaces, the communication relationship in which one computing node accesses another computing node refers to one network interface in one computing node accessing one network interface in another computing node. Combining with the topological relationship between the computing node and the network nodes at the first level, it can be known that one network interface in one computing node is only connected to one downlink interface of one network node at the first level. That is to say, the path for the computing node to connect to the network nodes at the first level is unique. Therefore, after determining the first network node connected to the first computing node and the second network node connected to the second computing node based on the communication relationship, the path between the first computing node and the first network node is unique, and the path between the second computing node and the second network node is also unique. There is no need to select a path, and the control node only needs to select a path from the multiple paths involved between the first network node and the second network node.
[0094] Therefore, in some embodiments, the control node notifying the second network node at the first level connected to the second computing node of the first path and the target label corresponding to the first path may include:
[0095] The control node determines the target uplink interface of the first network node involved in the first path and the target downlink interface of the second network node, determines the target label corresponding to the target uplink interface from the labels respectively configured for different uplink interfaces, and notifies the second network node of the target label and the target downlink interface.
[0096] In this embodiment, the labels corresponding to each uplink interface can be pre-configured in the network nodes at the first level and the control node. For example, the label corresponding to uplink interface 1 is tag1, and the label corresponding to uplink interface 2 is tag2, etc. The control node can determine the target uplink interface and the corresponding target label involved in the first path in the first network node, and the target downlink interface in the second network node that is connected to the target network interface in the second computing node (i.e., the network interface accessed in the communication relationship), and notify the second network node of the target label and the target downlink interface together.
[0097] On this basis, the second network node setting a target tag for the target route matched by the first path may include:
[0098] The second network node sets a target tag for a target route that matches the target downlink interface.
[0099] The target route matched by the target downlink interface is the destination information of the target network interface in the second computing node.
[0100] On this basis, the first network node sending the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag may include:
[0101] The first network node sends the target data through the target uplink interface corresponding to the target tag, and forwards the target data to the second network node through the third network node of the second layer connected to the target uplink interface.
[0102] After receiving the target tag notified by the second network node, the first network node can determine the target uplink interface corresponding to the target tag, and use the target uplink interface to send the target data to the connected third network node, which is then forwarded to the second network node.
[0103] For ease of understanding, combined Figure 2 The schematic diagram shown illustrates the above process by taking the communication relationship that network interface 1 in the first computing node accesses network interface 1 in the second computing node as an example, wherein the address of network interface 1 in the first computing node is 1.1.1.1 and the address of network interface 1 in the second computing node is 1.1.1.2.
[0104] The communication relationship can be expressed as 1.1.1.1 → 1.1.1.2; assuming that the leaf switch uses 128 * 400G, that is, a switch with 128 ports providing 400 Gbps (switching bandwidth), the network interface 1 of the second computing node is connected to the lower-link interface 1 of the leaf switch 2, assumed to be 400G1 / 0 / 1, and the topological relationship can be expressed as: 1.1.1.2 - 400G1 / 0 / 1. Based on the communication relationship and the topological relationship, the control node determines 64 paths between the leaf switch 1 and the leaf switch 2, and performs path planning to select the first path from the upper-link interface 2 of the leaf switch 1 through the spine switch 2 to the upper-link interface 2 of the leaf switch 2. Among them, the control node selects the target path according to the load requirement. The target upper-link interface corresponding to the target path in the leaf switch 1 is the upper-link interface 2, and the target label corresponding to the upper-link interface 2 is tag2. And it determines that the target lower-link interface in the leaf switch 2 connected to the network interface 1 in the second computing node is the lower-link interface 1, then the tag2 and the lower-link interface 1 can be notified to the leaf switch 2.
[0105] Specifically, the control node can generate a marking policy corresponding to the leaf switch 2 based on the target label: tag2 and the target lower-link interface: lower-link interface 1. For example, this marking policy can be that if the target route matches the lower-link interface 1, set the target label tag2 for the target route.
[0106] Based on the marking policy, the leaf switch 2 sets the target label tag2 for the target route matched by the lower-link interface 1, that is, the network interface 1 in the second computing node, and notifies the target label to the leaf switch 1.
[0107] When the leaf switch 1 receives the target data sent by the network interface 1 in the first computing node, it determines that the access destination is the network interface 1 in the second computing node according to the target address in the five-tuple information of the target data, which matches the target route. According to the upper-link interface 2 corresponding to the target label tag2, the target data is sent to the spine switch 2, forwarded by the spine switch 2 to the leaf switch 2, and then forwarded by the lower-link interface 1 of the leaf switch 2 to the network interface 1 in the second computing node to complete the communication.
[0108] By pre-setting the labels corresponding to multiple upper-link interfaces in the first-level network nodes, the target label realizes the binding of the target route, the first path, and the target upper-link interface, ensuring that when the second network node notifies the target label to the first network node, the first network node can determine the target label according to the matched target route, and then determine the first path and the target upper-link interface according to the target label, so as to realize communication according to the target upper-link interface and the first path.
[0109] In some embodiments, the control node may also be used to notify the first network node of the target label. Optionally, the control node may separately send the target label to multiple network nodes at the first level, and the first network node can then learn the target label.
[0110] Combined with Figure 2 In the schematic diagram shown, the control node may generate a selection policy corresponding to leaf switch 1 based on the target label: tag2. For example, the selection policy may be that if the target route sets the target label, select the target path indicated by the target label for communication.
[0111] At this time, the first network node may also be used to determine the target route matching the target data and determine whether the target route is set with the target label. When it is determined that the target route is set with the target label, the target data may be sent to the second network node through the third network node at the second level according to the first path indicated by the target label.
[0112] The first network node may also be used to, when it is determined that the target route is not set with the target label, select a second path from multiple paths and send the target data to the second network node through the fourth network node at the second level according to the second path.
[0113] That is to say, when the first network node determines that the target route is not set with the target label, that is, when it has not received the relevant information of path planning, it can select a second path that meets the load requirements from multiple paths and communicate according to the second path. Thus, the decoupling of path planning and calculation time is achieved, and there is no need to wait for the path planning to be completed before communicating and processing calculation tasks, further improving the communication efficiency and task calculation efficiency between cross-computing nodes.
[0114] In some embodiments, the second network node sets a target label for the target route matching the first path and notifies the first network node at the first level connected to the first computing node of the target label corresponding to the target route, which may include:
[0115] The second network node may determine the target route matching the first path, set the target label for the target route through the routing community attribute, and send the target label to the first network node at the first level connected to the first computing node.
[0116] Among them, the route community attribute is a mechanism used to classify and label routes in BGP (Border Gateway Protocol). By attaching one or more tags to the route information, specific processing of the route is achieved. The route community attribute can include well-known community attributes and extended community attributes. In this embodiment, the target label can be used as an extended community attribute and notified to the first network node.
[0117] Set the target label for the target route through the route community attribute, and send the target label to the first network node to achieve the transfer of the target label, ensuring that the first network node receives the target label and communicates according to the indicated first path.
[0118] Optionally, the second network node can notify the target label set for the target route to multiple network nodes at the first level through the route community attribute. The first network node can obtain the route community attribute and determine that the target label is set for the target route. The first network node can then combine the selection policy issued by the control system to determine to communicate with the second network node according to the target path indicated by the target label. Optionally, when the label is associated with the upstream interface, it can be determined to send the target data according to the target upstream interface indicated by the target label.
[0119] In practical applications, there may be path failures. Therefore, in some embodiments, the first network node sending the target data to the second network node through the third network node at the second level according to the first path indicated by the target label may include:
[0120] The first network node determines whether the first path indicated by the target label is available;
[0121] If so, send the target data to the second network node through the third network node at the second level according to the first path; otherwise, select a third path from multiple paths and send the target data to the second network node through the fifth network node at the second level according to the third path.
[0122] Among them, when the first path is unavailable, the first network node can select a path that meets the load requirements from other available paths as the third path and communicate according to the third path to achieve automatic fault repair, avoid interrupting the communication process, and ensure the smooth progress of the communication process.
[0123] In practical applications, the first computing node can specifically be used to, in response to a data transmission instruction, send the target data to the first network node and generate a path planning instruction, and send the path planning instruction to the control node;
[0124] A control node can be specifically used to respond to a path planning instruction and determine multiple paths involved between a first computing node and a second computing node according to the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and multiple network nodes at the first level.
[0125] Optionally, the control node can also be used to delete the planned first path in response to a transmission termination instruction.
[0126] In practical applications, multiple computing nodes can each include multiple processing components.
[0127] The first computing node can also be used to receive a computing task, call a first processing component to process the computing task to obtain a computing result, generate target data including the computing result based on the communication relationship with the second computing node, and generate a data transmission instruction based on the target data. Thus, the processing of the computing task is realized.
[0128] Optionally, the second computing node can call a second processing component to process the target data after receiving the target data.
[0129] Among them, the communication relationship between the first computing node and the second computing node can refer to the communication relationship between the first processing component accessing the second processing component. Since each processing component in each computing node can be connected to a network interface, the communication relationship between the first processing component accessing the second processing component also refers to the communication relationship between the network interface of the first processing component accessing the network interface of the second processing component. The communication relationship can be represented by the access relationship between the addresses of the network interfaces. For example, taking the address of network interface 1 corresponding to the first processing component in the first computing node as 1.1.1.1 and the address of network interface 2 corresponding to the second processing component in the second computing node as 1.1.1.2, the communication relationship between the first processing component accessing the second processing component can be represented as: 1.1.1.1→1.1.1.2.
[0130] In some embodiments, the system can also include a communication library. Multiple computing nodes each include a proxy program. In the case where each computing node includes multiple processing components, a proxy program can be deployed in each processing component. And since each processing component can correspond to a network interface, the communication relationship can be represented by the access relationship between the addresses of the network interfaces.
[0131] Any computing node can also be used to obtain the communication relationships with multiple computing nodes from the communication library by using an agent program, and send the communication relationships and the topological relationships with multiple network nodes at the first level to the control node; when an agent program is deployed in each processing component, the agent program in each processing component can be used to obtain its communication relationship with other processing components from the communication library, and other processing components include the processing components in the remaining computing nodes except the current computing node. The agent program can report the communication relationships and topological relationships to the control node by using, for example, a Remote Procedure Call (RPC) framework, etc. Of course, the present application does not limit this.
[0132] The control node can obtain the communication relationships between the multiple computing nodes and the topological relationships between the multiple computing nodes and multiple network nodes at the first level.
[0133] The communication relationship between a computing node and multiple computing nodes can refer to the communication relationship for accessing other computing nodes. Specifically, the communication relationship can specifically refer to the communication relationship between a processing component in a computing node and a processing component in another computing node.
[0134] The communication library can manage the communication relationships between multiple computing nodes, can determine the other computing nodes accessed by a computing node in response to a communication request sent by the computing node, and feedback the communication relationship between the computing node and the other computing nodes it accesses to the computing node. The computing node can generate a path planning instruction based on the communication relationship and send it to the control node to trigger the control node to perform path planning, thereby realizing the determination and acquisition of the communication relationship, which is convenient for the subsequent path planning by the controller based on the communication relationship.
[0135] As Figure 3 shown, it is a flowchart of an embodiment of a network communication method provided by the present application, which can be applied to the control node in a network communication system. The network communication system can include the control node, multiple computing nodes, and a data forwarding system. The data forwarding system can include multiple network nodes at the first level and multiple network nodes at the second level; among them, the multiple computing nodes have a connection relationship with the multiple network nodes at the first level, and the multiple network nodes at the first level have a connection relationship with the multiple network nodes at the second level. Among them, the connection relationships of one or more nodes in the network communication system have been described in the corresponding embodiment shown Figure 1 hereinbefore, and will not be elaborated herein.
[0136] The method can include the following steps:
[0137] 301: Determine multiple paths involved between the first computing node and the second computing node based on the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and multiple network nodes at the first level.
[0138] 302: Perform path planning among the multiple paths to determine the first path.
[0139] 303: Notify the second network node at the first level connected to the second computing node of the first path, so that the second network node sets a target marker for the target route matched by the first path, and notify the first network node at the first level connected to the first computing node of the target marker corresponding to the target route. The target marker is used for the first network node to determine that when the target data matches the target route, according to the first path indicated by the target marker, send the target data to the second network node through the third network node at the second level, so that the second network node forwards the target data to the second computing node. The target data is sent from the first computing node to the first network node.
[0140] By the control node performing path planning and selecting the first path from multiple paths involved between the first computing node and the second computing node with a communication relationship, the communication process is realized that the first network node sends the target data sent by the first computing node to the second network node through the third network node at the second level according to the first path, and the second network node forwards it to the second computing node. By the control node performing global path planning to determine the forwarding path in the data forwarding system, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective. Therefore, path blocking is reduced, bandwidth utilization is improved, the hash polarization problem is solved, and the network communication effect is improved. And, by notifying the second network node of the first path, the second network node sets a target marker for the target route matched by the first path, and notifies the first network node of the target marker. When the first network node determines that the target data matches the target route, the above communication process is performed according to the first path indicated by the target marker without modifying the target data, so that the target data transmission and path planning can be synchronized, the path planning efficiency is improved, and thus the network communication efficiency is improved.
[0141] In some embodiments, performing path planning among the multiple paths to determine the first path may include:
[0142] Select the first path that meets the load requirements from the multiple paths.
[0143] Notifying the second network node at the first level connected to the second computing node of the first path may include:
[0144] Notify a second network node at a first level connected to a second computing node of a first path and a target label corresponding to the first path.
[0145] In some embodiments, notifying a second network node at a first level connected to a second computing node of a first path and a target label corresponding to the first path may include:
[0146] Determine a target upstream interface of a first network node involved in the first path and a target downstream interface of the second network node;
[0147] Determine a target label corresponding to the target upstream interface from labels respectively configured for different upstream interfaces;
[0148] Notify the second network node of the target label and the target downstream interface, so that the second network node sets the target label for a target route matched by the target downstream interface, and the target label can be used for the first network node to send target data through the target upstream interface corresponding to the target label, and forward the target data to the second network node through a third network node at a second level connected to the target upstream interface.
[0149] In some embodiments, the method may further include:
[0150] Notify the first network node of the target label, so that the first network node determines a target route matched by the target data, and determines whether the target route is set with the target label. If it is determined that the target route is set with the target label, send the target data to the second network node through a third network node at a second level according to the first path indicated by the target label; otherwise, select a second path from multiple paths, and send the target data to the second network node through a fourth network node at a second level according to the second path.
[0151] In some embodiments, selecting a first path that meets the load requirement from multiple paths may include one or more of the following implementation manners:
[0152] Optionally select a path with an empty load as the first path;
[0153] Optionally select a path with a load level lower than a threshold as the first path;
[0154] Select a path with the lowest load level from multiple paths as the first path.
[0155] In some embodiments, the method may further include:
[0156] Obtain communication relationships between multiple computing nodes and topological relationships between multiple computing nodes and multiple network nodes at a first level.
[0157] In some embodiments, determining multiple paths involved between a first computing node and a second computing node according to the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and multiple network nodes at the first level may include:
[0158] In response to a path planning instruction, determine multiple paths involved between the first computing node and the second computing node according to the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and multiple network nodes at the first level.
[0159] Wherein, the path planning instruction is generated and sent by the first computing node in response to a data transmission instruction.
[0160] As Figure 4 shown, it is a flowchart of another embodiment of a network communication method provided by this application. This method can be applied to the first network node at the first level in a network communication system. The network communication system may include a control node, multiple computing nodes, and a data forwarding system. The data forwarding system may include multiple network nodes at the first level and multiple network nodes at the second level. Among them, the multiple computing nodes have a connection relationship with the multiple network nodes at the first level, and the multiple network nodes at the first level have a connection relationship with the multiple network nodes at the second level. Among them, the connection relationships of one or more nodes in the network communication system have corresponding descriptions in the Figure 1 shown embodiment, and will not be elaborated here.
[0161] This method may include the following steps:
[0162] 401: Receive target data sent by the first computing node;
[0163] 402: When it is determined that the target data matches the target route, send the target data to the second network node at the first level through the third network node at the second level according to the first path indicated by the target label corresponding to the target route, so that the second network node forwards the target data to the second computing node.
[0164] Wherein, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node. The multiple paths are determined by the control node according to the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and multiple network nodes at the first level. The target label is set by the second network node for the target route matched by the first path, and the target label corresponding to the target route is notified to the first network node.
[0165] By the control node selecting a first path from multiple paths involved between a first computing node and a second computing node with a communication relationship for path planning, it is realized that the first network node sends the target data sent by the first computing node to the second network node through the third network node at the second level according to the first path, and the second network node forwards it to the second computing node. By the control node performing global path planning to determine the forwarding path in the data forwarding system, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective, thereby reducing path blocking, improving bandwidth utilization, solving the problem of hash polarization, and improving the network communication effect. Moreover, by notifying the second network node of the first path, the second network node sets a target mark for the target route matched by the first path and notifies the first network node of the target mark. When the first network node determines that the target data matches the target route, it performs the above communication process according to the first path indicated by the target mark without modifying the target data, enabling the target data transmission and path planning to be synchronized, improving the path planning efficiency, and further improving the network communication efficiency.
[0166] In some embodiments, sending the target data to the second network node at the first level through the third network node at the second level according to the first path indicated by the target mark corresponding to the target route may include:
[0167] Sending the target data through the target uplink interface corresponding to the target mark, and forwarding the target data to the second network node through the third network node at the second level connected to the target uplink interface.
[0168] Wherein, the target uplink interface is determined by the control node.
[0169] In some embodiments, the method may further include:
[0170] Receiving the target mark sent by the control node;
[0171] Determining the target route matched by the target data and determining whether the target route is set with a target mark;
[0172] When it is determined that the target route is set with a target mark, sending the target data to the second network node through the third network node at the second level according to the first path indicated by the target mark; otherwise, selecting a second path from multiple paths and sending the target data to the second network node through the fourth network node at the second level according to the second path.
[0173] In some embodiments, sending the target data to the second network node at the first level through the third network node at the second level according to the first path indicated by the target mark corresponding to the target route may include:
[0174] Determine whether the first path indicated by the target tag is available;
[0175] If so, send the target data to the second network node through the third network node at the second level according to the first path; otherwise, select the third path from multiple paths and send the target data to the second network node through the fifth network node at the second level according to the third path.
[0176] As Figure 5 shown, it is a flowchart of another embodiment of a network communication method provided by this application. This method can be applied to the second network node at the first level in a network communication system. The network communication system may include a control node, multiple computing nodes, and a data forwarding system. The data forwarding system may include multiple network nodes at the first level and multiple network nodes at the second level; among them, the multiple computing nodes have a connection relationship with the multiple network nodes at the first level, and the multiple network nodes at the first level have a connection relationship with the multiple network nodes at the second level. Among them, the connection relationship of one or more nodes in the network communication system has been described in the Figure 1 embodiment shown, and will not be elaborated here.
[0177] This method may include the following steps:
[0178] 501: Receive the first path sent by the control node.
[0179] Among them, the first path is obtained through path planning from multiple paths, and the multiple paths are determined according to the communication relationship between the first computing node and the second computing node and the topological relationship between the first computing node and the second computing node and the multiple network nodes at the first level.
[0180] 502: Set a target tag for the target route matched by the first path.
[0181] 503: Notify the first network node at the first level connected to the first computing node of the target tag corresponding to the target route. When the first network node determines that the target data matches the target route, send the target data to the second network node through the third network node at the second level according to the first path indicated by the target tag.
[0182] 504: Receive the target data sent by the third network node at the second level. Among them, the target data is sent from the first computing node to the first network node.
[0183] 505: Forward the target data to the second computing node.
[0184] By selecting the first path through path planning by the control node from multiple paths involved between the first computing node and the second computing node having a communication relationship, the first network node sends the target data sent by the first computing node to the second network node through the third network node of the second layer according to the first path, and the communication process is forwarded by the second network node to the second computing node. By performing global path planning by the control node to determine the forwarding path in the data forwarding system, the ECMP path selection method is no longer used, so that the most suitable path can be found from a global perspective, thereby reducing path blocking, improving bandwidth utilization, solving the hash polarization problem, and improving network communication effects. In addition, by notifying the second network node of the first path, the second network node sets a target tag for the target route matched by the first path, and notifies the first network node of the target tag, the first network node performs the above communication process according to the first path indicated by the target tag when determining that the target data matches the target route, without modifying the target data, so that the target data transmission and path planning can be carried out simultaneously, improving the path planning efficiency, and thus improving the network communication efficiency.
[0185] In some embodiments, receiving the first path sent by the control node may include:
[0186] The first path and the target mark corresponding to the first path sent by the control node are received.
[0187] In some embodiments, receiving the first path and the target tag corresponding to the first path sent by the control node may include:
[0188] Receive the target tag and target downlink interface sent by the control node.
[0189] The target tag corresponds to a target uplink interface in the first network node, and the target uplink interface is an uplink interface in the first network node involved in the first path determined by the control node.
[0190] On this basis, setting a target tag for the target route matched by the first path may include:
[0191] Set this destination tag for the destination route that matches the destination downstream interface.
[0192] In some embodiments, setting a target tag for a target route matched by the first path may include:
[0193] A target route matching the first path is determined, and a target tag is set for the target route through a routing community attribute.
[0194] In yet another embodiment of the present application, a network communication method is further provided, which can be applied to a first computing node in a network communication system. The network communication system may include a control node, a plurality of computing nodes, and a data forwarding system. The data forwarding system may include a plurality of network nodes at a first level and a plurality of network nodes at a second level. Among them, the plurality of computing nodes have a connection relationship with the plurality of network nodes at the first level, and the plurality of network nodes at the first level have a connection relationship with the plurality of network nodes at the second level. Among them, the connection relationships of one or more nodes in the network communication system are described in Figure 1 the corresponding embodiment shown, and will not be elaborated here.
[0195] The method may include the following steps:
[0196] Send the target data to the connected first network node. When the first network node determines that the target data matches the target route, send the target data to the second network node through the third network node at the second level according to the first path indicated by the target label corresponding to the target route, so that the second network node forwards the target data to the second computing node;
[0197] Among them, the first path is obtained by the control node for path planning from multiple paths and notified to the second network node. The multiple paths are determined by the control node according to the communication relationship between the first computing node and the second computing node and the topological relationship between the first computing node and the second computing node and the plurality of network nodes at the first level. The target label is set by the second network node for the target route matched by the first path, and the target label corresponding to the target route is notified to the first network node.
[0198] In some embodiments, sending the target data to the connected first network node may include:
[0199] In response to a data transmission instruction, send the target data to the first network node.
[0200] In some embodiments, each of the plurality of computing nodes may include a plurality of processing components.
[0201] On this basis, the method may include:
[0202] Receive a computing task, and call the first processing component to process the computing task to obtain a computing result;
[0203] Generate target data including the computing result based on the communication relationship with the second computing node;
[0204] Generate a data transmission request based on the target data.
[0205] In some embodiments, the method may include:
[0206] The communication relationships with the plurality of computing nodes are acquired from the communication library, and the communication relationships and the topological relationships with the plurality of network nodes at the first level are sent to the control node by using an agent program.
[0207] To make it easier to understand, take the distributed training of machine learning models as an example. Figure 6 A schematic diagram of data transmission based on a network communication system in an actual scenario is shown. Figure 6 As shown, the network communication system includes multiple computing nodes, a control node (not shown in the figure) and a data forwarding system, and the data forwarding system can be a spine-leaf topology. Each computing node is connected to the downlink interface (not shown in the figure) of the leaf switch through 8 network interfaces. Each leaf switch includes 64 uplink interfaces, and the spine layer includes 64 spine switches. One uplink interface of each leaf switch is uniquely connected to one spine switch, and one spine switch is uniquely connected to one uplink interface of one leaf switch. In addition, the system architecture can also include a task scheduling node 600.
[0208] The task scheduling node 600 can divide the model training task into multiple computing tasks, which are trained collaboratively by multiple computing nodes, or the task scheduling node 600 can send the model training task to a certain computing node, which performs task splitting and distribution, etc. Among them, it can be understood that the communication between the task scheduling node 600 and the computing node may also involve one or more network nodes for data forwarding, etc., which is not limited in this application.
[0209] Assume that the network interface 1 of the first computing node receives a computing task, and the network interface 1 of the third computing node receives another computing task, and the respective processing components are called to process the computing tasks to obtain computing results. The first computing node 61 obtains the communication relationship of accessing the network interface 1 of the second computing node 62 from the communication library (not shown in the figure), generates target data including its own computing results, generates a data transmission request based on the target data, sends the target data to the leaf switch 1, and generates a path planning instruction, and sends the path planning instruction to the control node (not shown in the figure). The third computing node 63 obtains the communication relationship of accessing the network interface 1 of the fourth computing node 64 from the communication library, generates target data including its own computing results, generates a data transmission request based on the target data, sends the target data to the leaf switch 1, and generates a path planning instruction, and sends the path planning instruction to the control node.
[0210] The control node determines 64 paths between leaf switch 1 and leaf switch 2 based on the communication relationship and topological relationship of accessing the network interface 1 of the second computing node 62 through the network interface 1 of the first computing node 61, and performs path planning to select the first path from the uplink interface 1 of leaf switch 1 through spine switch 1 to the uplink interface 1 of leaf switch 2. The control node determines that the target uplink interface in leaf switch 1 is the uplink interface 1, the corresponding target label is tag1, and determines that the target downlink interface in leaf switch 2 connected to the network interface 1 in the second computing node is the downlink interface 1. A marking policy corresponding to leaf switch 2 is generated based on tag1 and the downlink interface 1, and leaf switch 2 is notified. Moreover, the control node determines 64 paths between leaf switch 1 and leaf switch 2 based on the communication relationship and topological relationship of accessing the network interface 1 of the fourth computing node 64 through the network interface 1 of the third computing node 63, and performs path planning to select the first path from the uplink interface 2 of leaf switch 1 through spine switch 2 to the uplink interface 2 of leaf switch 2. The control node determines that the target uplink interface in leaf switch 1 is the uplink interface 2, the corresponding target label is tag2, and determines that the target downlink interface in leaf switch 2 connected to the network interface 1 in the second computing node is the downlink interface 1. A marking policy corresponding to leaf switch 2 is generated based on tag2 and the downlink interface 1, and leaf switch 2 is notified.
[0211] Based on the marking policy, leaf switch 2 sets the target label tag1 for the target route matched by the downlink interface 1, that is, the network interface 1 in the second computing node 62, and notifies leaf switch 1 of this target label. Moreover, it sets the target label tag2 for the target route matched by the downlink interface 1, that is, the network interface 1 in the fourth computing node 64, and notifies leaf switch 1 of this target label.
[0212] The leaf switch 1 receives the target data sent by the network interface 1 in the first computing node. It determines that the access destination is the network interface 1 in the second computing node according to the destination address in the five-tuple information of the target data, and matches the target route. According to the uplink interface 1 corresponding to the target tag tag1, it sends the target data to the spine switch 1, which forwards it to the leaf switch 2, and then the downlink interface 1 of the leaf switch 2 forwards it to the network interface 1 in the second computing node to complete the communication. Also, it receives the target data sent by the network interface 1 in the third computing node, determines that the access destination is the network interface 1 in the fourth computing node according to the destination address in the five-tuple information of the target data, and matches the target route. According to the uplink interface 2 corresponding to the target tag tag2, it sends the target data to the spine switch 2, which forwards it to the leaf switch 2, and then the downlink interface 1 of the leaf switch 2 forwards it to the network interface 1 in the fourth computing node to complete the communication.
[0213] By the control node performing path planning and selecting the first path from multiple paths involved between the first computing node and the second computing node with a communication relationship, the first network node sends the target data sent by the first computing node to the second network node through the third network node at the second level according to the first path, and the second network node forwards it to the second computing node for the communication process. By the control node performing global path planning to determine the forwarding path in the data forwarding system and no longer using the ECMP path selection method, it is possible to find the most suitable path from a global perspective, so path blocking is reduced, bandwidth utilization is improved, the hash polarization problem is solved, and the network communication effect is improved. Also, by notifying the second network node of the first path, the second network node sets a target tag for the target route matched by the first path and notifies the first network node of the target tag. When the first network node determines that the target data matches the target route, it performs the above communication process according to the first path indicated by the target tag without modifying the target data, enabling the target data transmission and path planning to be synchronized, improving the path planning efficiency, and thus improving the network communication efficiency.
[0214] Furthermore, by adopting a topological structure with a 1:1 convergence of multiple network nodes at the first level and multiple network nodes at the second level, that is, a topological structure in which multiple uplink interfaces in one network node at the first level are respectively connected to one network node at the second level one by one, the network communication performance in the data forwarding system is improved, and the network communication effect and efficiency between cross-computing nodes are further improved.
[0215] Further, by presetting marks corresponding to multiple uplink interfaces in the network nodes of the first layer, and using the target mark to implement the binding of the target route with the first path and the target uplink interface, it is ensured that when the second network node notifies the first network node of the target mark, the first network node can determine the target mark according to the matching target route, and then determine the first path and the target uplink interface according to the target mark, and communicate according to the target uplink interface and the first path, so as to improve the communication effect and efficiency.
[0216] Optionally, the first network node may also be used to determine the target route matched by the target data and determine whether the target mark is set for the target route. When it is determined that the target mark is set for the target route, the target data may be sent to the second network node through the third network node of the second layer according to the first path indicated by the target mark. When it is determined that the target mark is not set for the target route, a second path is selected from multiple paths, and the target data is sent to the second network node through the fourth network node of the second layer according to the second path. That is to say, when the first network node determines that the target mark is not set for the target route, that is, when the relevant information of path planning is not received, it can select a second path that meets the load requirements from multiple paths and communicate according to the second path. Thus, the decoupling of path planning and calculation time is realized, and there is no need to wait for the path planning to be completed before communication and calculation tasks can be processed, further improving the communication efficiency and task calculation efficiency between cross-computing nodes.
[0217] Optionally, the target mark is set for the target route through the route community attribute, and the target mark is sent to the first network node to realize the transfer of the target mark, ensuring that the first network node receives the target mark and communicates according to the indicated first path.
[0218] Optionally, when the first path is unavailable, the first network node may select a path that meets the load requirements from other available paths as the third path and communicate according to the third path, realizing automatic fault repair, avoiding interrupting the communication process, and ensuring the smooth progress of the communication process.
[0219] As Figure 7 shown, it is a schematic structural diagram of an embodiment of a network communication device provided by the present application, which can be applied to a control node in a network communication system. The network communication system may include the control node, multiple computing nodes, and a data forwarding system. The data forwarding system may include multiple network nodes of the first layer and multiple network nodes of the second layer; wherein, the multiple computing nodes have a connection relationship with the multiple network nodes of the first layer, and the multiple network nodes of the first layer have a connection relationship with the multiple network nodes of the second layer. Among them, the connection relationship of one or more nodes in the network communication system is in Figure 1A corresponding description has been provided in the illustrated embodiments and will not be elaborated here.
[0220] The device may include the following modules:
[0221] A first determination module 701, configured to determine multiple paths involved between a first computing node and a second computing node according to the communication relationship between the first computing node accessing the second computing node and the topological relationships between the first computing node and the second computing node and multiple network nodes at a first level respectively.
[0222] A path planning module 702, configured to perform path planning from the multiple paths to determine a first path.
[0223] A first notification module 703, configured to notify a second network node at the first level connected to the second computing node of the first path, so that the second network node sets a target mark for a target route matching the first path, and notify a first network node at the first level connected to the first computing node of the target mark corresponding to the target route, where the target mark is used for the first network node to determine that when the target data matches the target route, send the target data to the second network node through a third network node at a second level according to the first path indicated by the target mark, so that the second network node forwards the target data to the second computing node, and the target data is sent from the first computing node to the first network node.
[0224] Figure 7 The illustrated network communication device may be used to execute Figure 3 The illustrated network communication method, and its implementation principle and technical effects will not be elaborated. Among them, Figure 7 One or more modules of the illustrated network communication device may constitute Figure 6 The server side in the illustrated system architecture. For the network communication device in the above embodiments, the specific manners in which each module performs operations have been described in detail in the embodiments related to the method and will not be elaborated here.
[0225] As Figure 8 shown, it is a schematic structural diagram of another embodiment of a network communication device provided by the present application, which may be applied to a first network node at a first level in a network communication system. The network communication system may include a control node, multiple computing nodes, and a data forwarding system. The data forwarding system may include multiple network nodes at a first level and multiple network nodes at a second level; among them, the multiple computing nodes have a connection relationship with the multiple network nodes at the first level, and the multiple network nodes at the first level have a connection relationship with the multiple network nodes at the second level. Among them, the connection relationships of one or more nodes in the network communication system have been described in the Figure 1 illustrated embodiments and will not be elaborated here.
[0226] The device may include the following modules:
[0227] A first receiving module 801, configured to receive target data sent by a first computing node.
[0228] A first sending module 802, configured to, when it is determined that the target data matches a target route, send the target data to a second network node at a first level through a third network node at a second level according to a first path indicated by a target label corresponding to the target route, so that the second network node forwards the target data to a second computing node.
[0229] Wherein, the first path is obtained by path planning by a control node from multiple paths and notified to the second network node, the multiple paths are determined by the control node according to the communication relationship between the first computing node and the second computing node and the topological relationships between the first computing node and the second computing node and multiple network nodes at the first level respectively, the target label is set by the second network node for the target route matched with the first path, and the target label corresponding to the target route is notified to the first network node.
[0230] Figure 8 The network communication device shown can be used to execute Figure 4 The network communication method shown, and its implementation principle and technical effects will not be elaborated herein. Among them, Figure 8 One or more modules of the network communication device shown can constitute Figure 6 The server side in the system architecture shown. The specific manners in which each module of the network communication device in the above embodiments performs operations have been described in detail in the embodiments related to the method, and will not be elaborated herein.
[0231] As Figure 9 shown, this is a schematic structural diagram of another embodiment of a network communication device provided by the present application, which can be applied to a first network node at a first level in a network communication system. The network communication system may include a control node, multiple computing nodes, and a data forwarding system. The data forwarding system may include multiple network nodes at a first level and multiple network nodes at a second level; wherein, the multiple computing nodes have connection relationships with the multiple network nodes at the first level, and the multiple network nodes at the first level have connection relationships with the multiple network nodes at the second level. Among them, the connection relationships of one or more nodes in the network communication system have corresponding descriptions in Figure 1 the embodiments shown, and will not be elaborated herein.
[0232] The device may include the following modules:
[0233] A second receiving module 901, configured to receive a first path sent by a control node. The first path is obtained through path planning from multiple paths, and the multiple paths are determined according to the communication relationship between a first computing node and a second computing node and the topological relationships between the first computing node and the second computing node and multiple network nodes at a first level.
[0234] A marking module 902, configured to set a target mark for a target route matched by the first path.
[0235] A second notification module 903, configured to notify a first network node at the first level connected to the first computing node of the target mark corresponding to the target route. When the first network node determines that target data matches the target route, the first network node sends the target data to a second network node through a third network node at a second level according to the first path indicated by the target mark.
[0236] A third receiving module 904, configured to receive target data sent by a third network node at the second level. The target data is sent from the first computing node to the first network node.
[0237] A second sending module 905, configured to forward the target data to the second computing node.
[0238] Figure 9 The network communication device shown can be used to execute Figure 5 The network communication method shown. The implementation principle and technical effects will not be elaborated here. Among them, Figure 9 One or more modules of the network communication device shown can constitute Figure 6 The server side in the system architecture shown. For the network communication device in the above embodiments, the specific manners in which each module performs operations have been described in detail in the embodiments related to the method, and will not be elaborated here.
[0239] As Figure 10 shown, a structural schematic diagram of an embodiment of a computing device provided by this application is shown. The device may include a storage component 1001 and a processing component 1002;
[0240] The storage component 901 may be configured to store one or more computer program instructions. One or more computer program instructions are called and executed by the processing component 1002 to implement Figures 3 to 5 The network communication method shown in any embodiment.
[0241] Of course, the above computing device may also include other components, such as input / output interfaces, communication components, etc.
[0242] The input / output interface provides an interface between the processing component and the peripheral interface module, and the above-mentioned peripheral interface module can be an output device, an input device, etc. The communication component is configured to facilitate communication between the computing device and other devices in a wired or wireless manner, etc.
[0243] It should be noted that the above-mentioned computing device can be a physical device or an elastic computing host provided by a cloud computing platform, etc. It can be implemented as a distributed cluster composed of multiple servers or terminal devices, or can be implemented as a single server or a single terminal device.
[0244] Optionally, the above-mentioned computing device can also be implemented as an electronic device. An electronic device can refer to a device used by a user and having functions such as Internet access, computing, and communication required by the user. For example, it can be a mobile phone, a tablet computer, a personal computer, a wearable device, etc. It can be understood that the above-mentioned electronic device will necessarily also include other components such as a display component, an input / output interface, and a communication component, which will not be elaborated here.
[0245] In the above one or more embodiments, the processing component can include one or more processors to execute computer instructions to complete all or part of the steps in the above-mentioned method. Of course, the processing component can also be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components for executing the above-mentioned method.
[0246] The storage component is configured to store various types of data to support operations on the terminal. The storage component can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, a magnetic disk or an optical disc.
[0247] The display component can be an electroluminescent (EL) element, a liquid crystal display or a microdisplay with a similar structure, or a retina-direct display or a similar laser scanning display.
[0248] The embodiment of the present application also provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a computer, it can implement Figures 3 to 5 the network communication method shown in any one of the embodiments. The computer-readable medium can be included in the computing device described in the above embodiments; or can exist alone without being assembled into the computing device.
[0249] A computer-readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above, etc.
[0250] The embodiments of the present application also provide a computer program product, which includes a computer program carried on a computer-readable storage medium. When the computer program is executed by a computer, it can implement Figures 3 to 5 the network communication method shown in any of the embodiments.
[0251] In such an embodiment, the computer program can be downloaded and installed from a network, and / or installed from a removable medium. When the computer program is executed by a processor, it executes various functions defined in the system of the present application.
[0252] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described systems, apparatuses, and units can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.
[0253] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative labor.
[0254] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0255] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements on some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of each embodiment of the present application.
Claims
1. A network communication system, characterized in that: The invention comprises a plurality of computing nodes, a control node and a data forwarding system; the data forwarding system comprises a plurality of network nodes of a first layer and a plurality of network nodes of a second layer; wherein the plurality of computing nodes are connected to the plurality of network nodes of the first layer, and the plurality of network nodes of the first layer are connected to the plurality of network nodes of the second layer; The control node is used to determine multiple paths involved between the first computing node and the second computing node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first layer respectively; perform path planning from the multiple paths to determine a first path, and notify the second network node of the first layer connected to the second computing node of the first path; The second network node is configured to set a target tag for a target route matched by the first path, and notify a first network node of the first layer connected to the first computing node of the target tag corresponding to the target route; The first computing node is used to send the target data to the first network node; The first network node is used to determine that when the target data matches the target route, send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node.
2. The system according to claim 1, characterized in that When the control node performs path planning from the multiple paths to determine a first path and notifies the second network node of the first layer connected to the second computing node of the first path, the control node is specifically configured to: A first path that meets the load requirement is selected from the multiple paths, and the second network node of the first layer connected to the second computing node is notified of the first path and a target tag corresponding to the first path.
3. The system according to claim 2, characterized in that A network interface of a computing node is connected to a downlink interface of a network node of the first layer; an uplink interface of a network node of the first layer is connected to a network node of the second layer, and a network node of the second layer is connected to an uplink interface of a network node of the first layer; When the control node notifies the second network node of the first layer connected to the second computing node of the first path and the target tag corresponding to the first path, the control node is specifically configured to: Determine a target uplink interface of the first network node and a target downlink interface of the second network node involved in the first path, determine a target tag corresponding to the target uplink interface from tags respectively configured for different uplink interfaces, and notify the second network node of the target tag corresponding to the target uplink interface and the target downlink interface; When the second network node sets a target tag for the target route matched by the first path, the second network node is specifically configured to: Setting the target tag for the target route matched by the target downlink interface; When the first network node sends the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag, the first network node is specifically configured to: The target data is sent through the target uplink interface corresponding to the target tag, and the target data is forwarded to the second network node through the third network node of the second layer connected to the target uplink interface.
4. The system according to claim 3, characterized in that The control node is further configured to notify the first network node of the target mark; The first network node is further configured to determine a target route that matches the target data, and determine whether the target route is set with the target tag; The first network node, when determining that the target data matches the target route, sends the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag, specifically: In a case where it is determined that the target route is set with the target tag, sending the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag; The first network node is further configured to select a second path from the multiple paths when it is determined that the target route does not have the target tag set, and send the target data to the second network node through the fourth network node of the second layer according to the second path.
5. The system according to claim 1, characterized in that The second network node, when setting a target tag for a target route matched by the first path and notifying the first network node of the first layer connected to the first computing node of the target tag corresponding to the target route, is specifically configured to: A target route matching the first path is determined, a target tag is set for the target route through a routing community attribute, and the target tag is sent to a first network node of the first level to which the first computing node is connected.
6. The system according to claim 1, characterized in that When the first network node sends the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag, the first network node is specifically configured to: Determine whether the first path indicated by the target tag is available; if so, send the target data to the second network node through the third network node of the second level according to the first path; otherwise, select a third path from the multiple paths, and send the target data to the second network node through the fifth network node of the second level according to the third path.
7. The system according to claim 2, characterized in that Selecting a first path that meets the load requirement from the multiple paths includes one or more of the following implementations: Select any one path from the paths with empty load as the first path; Selecting one path from the paths whose load levels are lower than a threshold as a first path; A path with the lowest load level is selected from the plurality of paths as a first path.
8. The system according to claim 1, characterized in that It also includes a communication library, and the plurality of computing nodes respectively include an agent program; Any computing node is further configured to obtain the communication relationships with the plurality of computing nodes respectively from the communication library, and send the communication relationships and the topological relationships with the plurality of network nodes of the first level respectively to the control node by using the agent program; The control node is further used to obtain the communication relationship between the multiple computing nodes and the topological relationship between the multiple computing nodes and the multiple network nodes of the first layer.
9. The system according to any one of claims 1 to 8, characterized in that: The first computing node is further configured to send the target data to the first network node in response to the data transmission instruction, generate a path planning instruction, and send the path planning instruction to the control node; The control node is specifically used to respond to the path planning instruction and determine multiple paths involved between the first computing node and the second computing node based on the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively.
10. The system according to claim 9, characterized in that The plurality of computing nodes respectively include a plurality of processing components; The first computing node is also used to receive a computing task, call the first processing component to process the computing task to obtain a computing result, and based on the communication relationship with the second computing node, generate target data including the computing result, and based on the target data, generate the data transmission instruction.
11. A network communication method, characterized in that: A control node applied to a network communication system, wherein the network communication system further comprises a plurality of computing nodes and a data forwarding system; the data forwarding system comprises a plurality of network nodes at a first level and a plurality of network nodes at a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes at the first level, and the plurality of network nodes at the first level are connected to the plurality of network nodes at the second level; The method comprises: Determine multiple paths involved between the first computing node and the second computing node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first layer respectively; performing path planning to determine a first path from among the plurality of paths; Notify the second network node of the first level connected to the second computing node of the first path, so that the second network node can set a target tag for the target route matched by the first path, and notify the first network node of the first level connected to the first computing node of the target tag corresponding to the target route, wherein the target tag is used for the first network node to determine that the target data matches the target route, and then send the target data to the second network node through the third network node of the second level according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node, and the target data is sent from the first computing node to the first network node.
12. The method according to claim 11, characterized in that The performing path planning from the plurality of paths to determine a first path comprises: Selecting a first path that meets the load requirement from the plurality of paths; The step of notifying the second network node of the first layer to which the second computing node is connected of the first path comprises: The second network node of the first level connected to the second computing node is notified of the first path and the target tag corresponding to the first path.
13. The method according to claim 12, characterized in that The step of notifying the second network node of the first level connected to the second computing node of the first path and the target tag corresponding to the first path comprises: Determine a target uplink interface of a first network node to which the first computing node is connected, and a target downlink interface of a second network node to which the second computing node is connected, involved in the first path; Determine the target tag corresponding to the target uplink interface from the tags respectively configured for different uplink interfaces; The target tag corresponding to the target uplink interface and the target downlink interface are notified to the second network node.
14. A network communication method, characterized in that: A first network node of a first level applied to a network communication system; the network communication system comprises a plurality of computing nodes, a control node and a data forwarding system; the data forwarding system comprises a plurality of network nodes of a first level and a plurality of network nodes of a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes of the first level, and the plurality of network nodes of the first level are connected to the plurality of network nodes of the second level; The method comprises: Receiving target data sent by the first computing node; When it is determined that the target data matches the target route, the target data is sent to the second network node of the first layer through the third network node of the second layer according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node; Among them, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node, the multiple paths are determined by the control node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively, the target tag is set by the second network node for the target route matched by the first path, and the target tag corresponding to the target route is notified to the first network node.
15. A network communication method, characterized in that: A second network node of a first level applied to a network communication system; the network communication system comprises a plurality of computing nodes, a control node and a data forwarding system; the data forwarding system comprises a plurality of network nodes of a first level and a plurality of network nodes of a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes of the first level, and the plurality of network nodes of the first level are connected to the plurality of network nodes of the second level; The method comprises: Receive a first path sent by the control node; wherein the first path is obtained by path planning from multiple paths, and the multiple paths are determined according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively; Setting a target tag for a target route matched by the first path; Notifying the first network node of the first layer connected to the first computing node of the target tag corresponding to the target route, so that the first network node can send the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag corresponding to the target route when determining that the target data matches the target route; wherein the target data is sent from the first computing node to the first network node; receiving the target data sent by the third network node; The target data is forwarded to the second computing node.
16. The method according to claim 15, characterized in that The receiving a first path sent by the control node comprises: A first path and a target tag corresponding to the first path sent by the control node are received.
17. A network communication method, characterized in that: A first computing node applied to a network communication system; the network communication system comprises a plurality of computing nodes, a control node and a data forwarding system; the data forwarding system comprises a plurality of network nodes at a first level and a plurality of network nodes at a second level; wherein the plurality of computing nodes are connected to the plurality of network nodes at the first level, and the plurality of network nodes at the first level are connected to the plurality of network nodes at the second level; The method comprises: Sending the target data to the connected first network node, for the first network node to determine that the target data matches the target route, and then sending the target data to the second network node through the third network node of the second layer according to the first path indicated by the target tag corresponding to the target route, so that the second network node forwards the target data to the second computing node; Among them, the first path is obtained by the control node through path planning from multiple paths and notified to the second network node, and the multiple paths are determined by the control node according to the communication relationship of the first computing node accessing the second computing node and the topological relationship between the first computing node and the second computing node and multiple network nodes of the first level respectively; the target tag is set by the second network node for the target route matched by the first path, and the target tag corresponding to the target route is notified to the first network node.
18. A computing device, characterized in that It comprises a storage component and a processing component; the storage component stores one or more computer program instructions, the computer program instructions are called and executed by the processing component, and the processing component executes the one or more computer program instructions to implement the network communication method as described in any one of claims 12 to 17.
19. A computer-readable storage medium, characterized in that: A computer program is stored, and the computer program is executed by a computer to implement the network communication method as described in any one of claims 12 to 17.
20. A computer program product, characterized in that A computer program is stored, and when the computer program is executed by a computer, the network communication method according to any one of claims 12 to 17 is implemented.
Citation Information
Patent Citations
Method and network device for determining communication path
CN110178410A
Message transmission method, device and system
CN114615179A