A multi-path forwarding method and system in a computing power network
By building a multi-path forwarding method in the computing power network, the congestion and packet loss problems during the transmission of computing tasks are solved, and the deterministic forwarding and processing of computing tasks is realized, which improves resource utilization and user experience.
Patent Information
- Application Number
- CN202310249916.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-15
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2043-03-15
AI Technical Summary
Congestion and packet loss caused by insufficient link bandwidth during the transmission of computing tasks in existing computing power networks, and cannot provide certainty and stable transmission guarantees.
The multi-path forwarding method is performed on the software-defined network controller of the computing power network. By constructing a directed acyclic graph, the bandwidth and computing power requirements of the computing task are obtained, the remaining resources of each link and computing power node are calculated, the candidate computing power node with the highest comprehensive index is selected as the main target node, and the shortest path is found between the entrance node and the main target node as the main path, and a backup path that does not intersect with the main path is assigned to the computing task.
Deterministic forwarding and processing of computing tasks is realized, congestion and packet loss caused by insufficient link bandwidth and node failure are avoided, and resource utilization and user experience of computing power network are improved.
Smart Images

Figure CN116319522B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a multipath forwarding method and system in a computing power network. Background Art
[0002] Edge computing is limited by the size of the server and has limited computing power. It is often prone to unbalanced network loads, with some computing nodes overloaded and others idle. In order to solve these problems, computing network technology is proposed, which enables various computing nodes to collaboratively process massive computing tasks. When a computing task is not sufficiently powered or overloaded by the nearest computing node, the computing task can be calculated on a computing node farther away, avoiding queuing and packet loss caused by too many tasks on a certain node, thereby effectively improving the processing efficiency of computing tasks and the utilization of network resources.
[0003] However, in the existing computing power network, generally only the intelligent optimization of routing allocation and the reasonable selection of computing power nodes are considered, and the deterministic guarantee of computing tasks during the transmission process is not taken into account. That is, in the process of transmitting computing tasks to computing power nodes, congestion and packet loss often occur due to insufficient link bandwidth. Once a node in the network fails, it will have a great impact on the transmission of computing tasks, and it is impossible to provide deterministic and stable transmission guarantees for computing tasks. Summary of the invention
[0004] In view of this, an embodiment of the present invention provides a multi-path forwarding method and system in a computing power network to solve the congestion and packet loss phenomenon caused by insufficient link bandwidth and other problems when transmitting computing tasks in existing computing power networks.
[0005] One aspect of the present invention provides a multipath forwarding method in a computing network, the method being executed on a software-defined network controller disposed in the computing network, the computing network comprising a plurality of entry nodes, a plurality of forwarding nodes, and a plurality of computing nodes, the software-defined network controller being used to obtain in real time the network link status of the computing network and the resource usage of the computing nodes, the method comprising the following steps:
[0006] Obtain a computing task received by an entry node, wherein the attributes of the computing task include: the entry node where the computing task arrives, the transmission bandwidth requirement value of the computing task, the computing power requirement quantification value, and the maximum service processing delay; obtain the remaining bandwidth resources of each link in the computing power network and the remaining computing power resources of each computing power node;
[0007] The computing power network is constructed as a directed acyclic graph, wherein the nodes in the directed acyclic graph represent the entry node, the forwarding node, and the plurality of computing power nodes, the edges in the directed acyclic graph represent the links between the nodes, and each edge is marked with a total bandwidth and a transmission delay as attributes;
[0008] Compare the remaining bandwidth resources of each link with the transmission bandwidth requirement value, and delete the links that do not meet the transmission bandwidth requirement value; compare the remaining computing power resources of each computing power node with the computing power requirement quantization value, delete the computing power nodes that do not meet the computing power requirement quantization value, and use the remaining computing power nodes as candidate computing power nodes;
[0009] Calculate the hop count index of each candidate computing node according to the minimum number of hops from the entry node to each candidate computing node, calculate the computing power index of each candidate computing node according to the remaining computing power resources of each candidate computing node, and perform weighted summation of the hop count index and computing power index of each candidate computing node to obtain the corresponding comprehensive index;
[0010] The candidate computing power node with the largest comprehensive index is selected as the main target computing power node;
[0011] Using the Dijkstra algorithm to find the shortest path between the entry node and the target computing power node, and using the shortest path as the main path;
[0012] The load rate of the main target computing power node is calculated. If the load rate of the main target computing power node is less than or equal to a set threshold, after deleting the main path from the directed acyclic graph, the Dijkstra algorithm is used to find the shortest path between the entry node and the target computing power node as a backup path; if the load rate of the main target computing power node is greater than the set threshold, the candidate computing power node is searched for a node with a load rate less than the set threshold and the largest comprehensive index as a backup target computing power node, and the Dijkstra algorithm is used to find the shortest path between the entry node and the backup target computing power node as the backup path;
[0013] When the processing delays of the primary path and the backup path are both less than or equal to the maximum processing delay allowed by the computing task, the computing power network accepts and executes the computing task, and reserves the transmission bandwidth requirement value and the computing power requirement quantification value of the computing task on the primary path and the backup path to update the remaining bandwidth resources of each link in the computing power network and the remaining computing power resources of each computing power node.
[0014] In some embodiments, after using the Dijkstra algorithm to find the shortest path between the entry node and the backup target computing power node as a backup path, the method further includes:
[0015] If the processing delay of the backup path is greater than the maximum service processing delay, after deleting the main path from the directed acyclic graph, the Dijkstra algorithm is used to find the shortest path between the entry node and the main target computing power node as the backup path.
[0016] In some embodiments, the processing delay is the sum of the forwarding delay of each node in the path and the calculation delay of the computing power node. The processing delay calculation formula is:
[0017]
[0018] Among them, D k represents the processing delay, represents the delay of the router, t k,c represents the computation delay, t k,f represents the forwarding delay, L k represents the transmission path, k represents the computing task, and ij represents the link.
[0019] In some embodiments, updating the remaining bandwidth resources of each link in the computing network and the remaining computing power resources of each computing power node includes:
[0020] The remaining bandwidth resources of each link are updated as follows:
[0021] B ij =W ij -PB ij -BB ij ;
[0022] Among them, B ij Represents the remaining bandwidth resources of the link, W ij Indicates the total bandwidth resources of each link, PB ij Indicates the primary path bandwidth resources used by the link, BB ij Indicates the backup path bandwidth resources used by the link;
[0023] The remaining computing resources of each computing power node are updated as follows:
[0024] K i =M i -N i -L i ;
[0025] Among them, K i Indicates the remaining computing power resources of the computing power node, M i Represents the total computing power resources of each computing power node, N i Indicates the computing resources used by the main path in this computing node, L i Indicates the computing resources used by the backup path on this computing node.
[0026] In some embodiments, when the backup path is allocated to a computing task, the backup path will occupy the corresponding link bandwidth resources. When a link bandwidth is shared by two computing tasks, the remaining bandwidth resources of the link are set to 0.
[0027] In some embodiments, the load rate is calculated as:
[0028]
[0029] Among them, γ i represents the load factor, Indicates the total computing power resources of the computing power node. Represents the remaining computing power resources of the computing power node, and i represents the i-th computing power node.
[0030] In some embodiments, the hop count index is calculated as:
[0031]
[0032] The calculation formula of the computing power index is:
[0033]
[0034] in, represents the hop count index of computing power node A, represents the computing power index of computing power node A, J i represents the minimum number of hops required to reach any computing power node from the entry node, J A Indicates the minimum number of hops required from the entry node to computing node A, Indicates the remaining computing power resources of computing power node A. Indicates the remaining computing power resources of any computing power node.
[0035] In some embodiments, the calculation formula of the comprehensive index is:
[0036]
[0037] in, represents the comprehensive index, α k represents the hop count index, β k represents the computing power index, and γ is a non-negative constant less than 1.
[0038] On the other hand, the present invention also provides an electronic device, including a processor and a memory, wherein the memory stores computer instructions, and the processor is used to execute the computer instructions stored in the memory. When the computer instructions are executed by the processor, the device implements the steps of the above method.
[0039] On the other hand, the present invention further provides a computer-readable storage medium having a computer program stored thereon, which implements the steps of the above method when executed by a processor.
[0040] The beneficial effects of the present invention are at least:
[0041] The multi-path forwarding method and system in the computing power network described in the present invention obtains the computing power requirements and delay requirements of the computing task, and constructs the main path and the backup path. When the link bandwidth resources, computing power resources, main path and backup path processing delay of the computing power network all meet the computing task requirements, the computing task is accepted, and computing resources are reserved for the computing task in the computing power network. While allocating a main path to the computing task, the present invention allocates a backup path that does not intersect with the main path, and reserves communication resources on the backup path and computing power resources of the backup target computing power node. When the main path is congested or fails, the computing task can be transmitted through the backup path, ensuring the deterministic forwarding and processing of the computing task.
[0042] Furthermore, the comprehensive index of each computing node is calculated based on the distance from each candidate computing node to the entry node and the remaining computing resources of each candidate computing node, and the candidate computing node with the highest comprehensive index is selected as the main target computing node or the backup target computing node. The calculation of the comprehensive index ensures that when selecting the main computing target node and the backup computing target node for the computing task, it can not only ensure that the business processing time meets the computing task requirements, but also is conducive to maintaining the load balance of the computing network.
[0043] Furthermore, the computing task is accepted only when the computing resources, main path latency and backup path latency of the computing network meet the requirements of the computing task. Through multi-layer screening, it is ensured that the computing tasks accepted by the computing network will not experience congestion and packet loss when processed in the computing network, thereby ensuring the stability of the computing network and improving the user experience.
[0044] Furthermore, the present invention can improve the processing efficiency of computing tasks in the computing power network, while improving the overall resource utilization of the computing power network, thereby improving user satisfaction.
[0045] Additional advantages, purposes, and features of the present invention will be described in part in the following description, and will become apparent to those skilled in the art after studying the following, or may be learned from the practice of the present invention. The purposes and other advantages of the present invention may be achieved and obtained by the structures specifically indicated in the specification and the accompanying drawings.
[0046] Those skilled in the art will appreciate that the objectives and advantages that can be achieved with the present invention are not limited to the above specific description, and the above and other objectives that can be achieved by the present invention will be more clearly understood from the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The drawings described herein are used to provide a further understanding of the present invention, constitute a part of the present application, and do not constitute a limitation of the present invention. In the drawings:
[0048] Figure 1 This is an algorithm flow chart of a multi-path forwarding method in a computing power network described in one embodiment of the present invention.
[0049] Figure 2 The present invention is an overall flow chart of a multi-path forwarding method in a computing power network according to an embodiment of the present invention.
[0050] Figure 3 This is a schematic diagram of the computing power network system architecture described in one embodiment of the present invention.
[0051] Figure 4 This is a schematic diagram of the computing power network topology structure described in one embodiment of the present invention. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the embodiments and the accompanying drawings. Here, the illustrative embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.
[0053] It should also be noted that, in order to avoid obscuring the present invention due to unnecessary details, only structures and / or processing steps closely related to the solutions according to the present invention are shown in the accompanying drawings, while other details that are not closely related to the present invention are omitted.
[0054] It should be emphasized that the term “include / comprises” when used herein refers to the presence of features, elements, steps or components, but does not exclude the presence or addition of one or more other features, elements, steps or components.
[0055] It should also be noted that, unless otherwise specified, the term “connection” herein may refer not only to a direct connection but also to an indirect connection involving an intermediate.
[0056] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the accompanying drawings, the same reference numerals represent the same or similar components, or the same or similar steps.
[0057] With the development of network technology, more and more devices are connected to the Internet, generating a large amount of data and computing tasks. Cloud computing decomposes huge computing tasks into a system composed of multiple servers with powerful computing capabilities for processing and analysis through the network "cloud", which can complete computing tasks in a very short time and return the computing results to users. Although cloud computing has the ability to quickly process large amounts of data, users need to upload data to the cloud, and the privacy and security of user data is difficult to guarantee. In addition, cloud computing is generally accessed through remote networks, and network delays or interruptions can easily have a significant impact on cloud computing. Edge computing sinks computing to the edge side, without the need to transmit data to the cloud through the network, with faster network service response and better protection of user privacy. However, due to limitations such as server scale, edge computing has limited computing power, and it is often prone to network load imbalances where some computing nodes are overloaded while other computing nodes are idle. In order to solve the above problems, computing power network technology is proposed.
[0058] In a computing power network, network resources can be mainly divided into computing power resources and communication resources. With the development of computing power perception technology, the network can fully perceive the deployment location, real-time status, load information, etc. of computing power resources and computing power services. In addition, the overall topology of the network and the status of each link are also collected and updated in real time by the network controller as communication resource information. The prior art provides a computing power information perception and notification system and method in a computing power network, which can aggregate the perceived computing resources, storage resources and network resource information to generate computing power information and determine whether notification is required on the basis of saving link resources and reducing network overhead. However, in such a computing power network, generally only the intelligent optimization of routing allocation and the reasonable selection of computing power nodes are considered, and the deterministic guarantee of computing tasks during transmission is not considered. In the process of transmitting computing tasks to computing power nodes, congestion and packet loss often occur due to insufficient link bandwidth. Once a node in the network fails, it will have a great impact on the transmission of computing tasks, and it is impossible to provide deterministic transmission guarantee for computing tasks. Therefore, the present invention provides a multi-path forwarding method and device in a computing power network to solve the problem in the prior art that the computing power network cannot provide deterministic transmission guarantee for computing tasks.
[0059] One aspect of the present invention provides a multi-path forwarding method in a computing network, the method is executed on a software-defined network controller set in the computing network, the computing network includes multiple entry nodes, multiple forwarding nodes and multiple computing nodes, the software-defined network controller is used to obtain the network link status of the computing network and the resource usage of the computing nodes in real time, such as Figure 1 As shown, the method includes steps S101 to S108:
[0060] S101: Obtain a computing task received by an entry node, where the attributes of the computing task include: the entry node where the computing task arrives, the transmission bandwidth requirement value of the computing task, the quantitative value of the computing power requirement, and the maximum service processing delay; obtain the remaining bandwidth resources of each link in the computing power network and the remaining computing power resources of each computing power node.
[0061] S102: Construct the computing power network as a directed acyclic graph, where the nodes in the directed acyclic graph represent entry nodes, forwarding nodes, and multiple computing power nodes, and the edges in the directed acyclic graph represent links between nodes, and mark each edge with total bandwidth and transmission delay as attributes.
[0062] S103: Compare the remaining bandwidth resources of each link with the transmission bandwidth requirement value, and delete the links that do not meet the transmission bandwidth requirement value; compare the remaining computing power resources of each computing power node with the computing power requirement quantization value, delete the computing power nodes that do not meet the computing power requirement quantization value, and use the remaining computing power nodes as candidate computing power nodes.
[0063] S104: Calculate the hop count index of each candidate computing power node according to the minimum number of hops from the entry node to each candidate computing power node, calculate the computing power index of each candidate computing power node according to the remaining computing power resources of each candidate computing power node, and perform weighted summation of the hop count index and computing power index of each candidate computing power node to obtain the corresponding comprehensive index.
[0064] S105: The candidate computing power node with the largest comprehensive index is selected as the main target computing power node.
[0065] S106: Use the Dijkstra algorithm to find the shortest path between the entry node and the main target computing power node, and use the shortest path as the main path.
[0066] S107: Calculate the load rate of the main target computing power node. If the load rate of the main target computing power node is less than or equal to the set threshold, delete the main path from the directed acyclic graph, and use the Dijkstra algorithm to find the shortest path between the entry node and the target computing power node as the backup path; if the load rate of the main target computing power node is greater than the set threshold, find the candidate computing power node with a load rate less than the set threshold and the largest comprehensive index as the backup target computing power node, and use the Dijkstra algorithm to find the shortest path between the entry node and the backup target computing power node as the backup path.
[0067] S108: When the processing delays of the primary path and the backup path are both less than or equal to the maximum processing delay allowed by the computing task, the computing power network accepts and executes the computing task, and reserves the transmission bandwidth requirement value and computing power requirement quantization value of the computing task on the primary path and the backup path to update the remaining bandwidth resources of each link in the computing power network and the remaining computing power resources of each computing power node.
[0068] In step S101, Figure 3 As shown, the computing network consists of an entry node, a forwarding node, a computing node, and an SDN controller (software defined network controller). The SDN controller can sense the network topology and link status, the computing resource status of the computing node, etc., and perform traffic admission, path planning, resource allocation, configuration delivery and other functions according to the status of the computing network. At the same time, the SDN controller collects the transmission bandwidth and computing power requirements of the computing task, and determines whether the requirements of the computing task are met based on the remaining bandwidth resources and remaining computing power resources of the link of the computing network. The computing node can use the computing server deployed on the node to provide corresponding computing services for the computing task. A computing network has multiple entry nodes. The computing task arrives at the entry node at a certain time interval and enters the computing network from the nearest entry node. The entry node accepts the computing task, and the forwarding node forwards the computing task that meets the requirements to the computing node for calculation.
[0069] In some embodiments, the properties of a computing task may be represented as:
[0070] S k (A k ,B k ,C k ,D kmax );
[0071] Among them, A k Indicates the entry node of the computing network reached by computing task k, B k represents the bandwidth required for the transmission of computing task k, C k represents the quantified value of the computing power required for computing task k, D kmax Indicates the maximum service processing delay allowed by computing task k.
[0072] In some embodiments, when the remaining bandwidth resources of each link in the computing power network are greater than or equal to the transmission bandwidth requirement value of the computing task and the remaining computing power resources of each computing power node in the computing power network are greater than or equal to the quantified value of the computing power requirement of the computing task, the computing power network preliminarily accepts the computing task.
[0073] In step S102, a directed acyclic graph is used to represent the computing network topology. The directed acyclic graph can be represented by a directed graph G = (V, E), where V represents a set of nodes, E represents a set of links, and the total bandwidth of each link is W. ij , the transmission delay of each link is t ij ; The number of all computing nodes is N, and ESP = {Esp1, Esp2, Esp3, …, Esp N} indicates. Figure 4As shown in Figure 1, the computing network topology consists of terminal devices, routing nodes, light-load computing nodes, and heavy-load computing nodes. The SDN controller obtains information such as the bandwidth requirements, computing power requirements, and maximum allowed service processing delay of computing tasks. The link bandwidth in the computing network and the usage of computing node resources can be seen from the directed acyclic graph.
[0074] In step S103, delete the links in the computing network topology whose remaining bandwidth resources are less than the transmission requirements, delete the computing nodes whose remaining computing resources are less than the quantified value of the computing requirements, and delete the links and computing nodes that do not meet the computing task requirements to avoid planning the nodes of the computing tasks when planning the paths, thereby affecting the transmission of the computing tasks.
[0075] In some embodiments, before deleting the links and computing nodes in the computing network topology that do not meet the computing task requirements, the computing network also includes: judging whether to accept the computing task based on the remaining bandwidth resources and the remaining computing power resources, and preliminarily accepting the computing task if the computing network meets the transmission bandwidth requirement value and the computing power requirement quantization value of the computing task based on the remaining bandwidth resources and the remaining computing power resources, otherwise rejecting the computing task. After the computing network preliminarily accepts the computing task, it deletes the links and computing nodes in the computing network topology that do not meet the computing task requirements, and plans a forwarding path for the computing task.
[0076] In step S104, the hop count is the number of routers that the computing task passes through from the entry node to the computing power node.
[0077] In some embodiments, the hop count index is calculated as:
[0078]
[0079] The calculation formula of the computing power index is:
[0080]
[0081] in, Indicates the hop count index of computing power node A, Represents the computing power index of computing power node A, J i It represents the minimum number of hops required to reach any computing power node from the entry node, J A Indicates the minimum number of hops required from the entry node to computing node A. Indicates the remaining computing power resources of computing power node A. Indicates the remaining computing power resources of any computing power node. The fewer the hops between the computing power node and the entry node, the higher the hop index; the more remaining computing power resources of the computing power node, the higher the computing power index.
[0082] In some embodiments, the calculation formula of the comprehensive index is:
[0083]
[0084] in, represents the comprehensive index, α k represents the hop count index, β k Represents the computing power index, γ is a non-negative constant less than 1.
[0085] In step S105, the candidate computing node with the largest comprehensive index among the candidate computing nodes is found and used as the main target computing node for constructing the main path. The comprehensive index of each candidate computing node can be calculated to compare the comprehensive performance of each candidate node, and the candidate computing node with the highest comprehensive index is used as the main target computing node, which ensures that the computing task can be better calculated and transmitted at this computing node.
[0086] In step S106, the Dijkstra algorithm uses the shortest path from the entry node to the main target computing power node in the breadth search directed acyclic graph, and uses it as the main path. The Dijkstra algorithm is concise and can quickly obtain the optimal solution. When calculating the main path, γ is often set to a constant close to 1 to increase the influence of the hop index, giving priority to the delay factor. Calculating the comprehensive index of the candidate computing power node can not only ensure that the business processing time meets the requirements, but also help maintain the load balance of the computing power network. After the computing power node with the highest comprehensive index is used as the main target computing power node, the transmission delay of each link is used as the measurement value of the link length, and the Dijkstra algorithm is used to calculate the shortest path from the entry node to the main target computing power node, the main path of the computing task can be obtained.
[0087] In some embodiments, the Bellman-Ford algorithm is used to calculate the shortest distance between the main target computing power node and the entry node to obtain the main path.
[0088] In step S107, after planning the main path for each computing task, a backup path needs to be planned for each computing task to avoid congestion on the main path during the calculation process, which causes the computing task to be unable to be calculated and transmitted in time. It is necessary to delete the main path from the directed acyclic graph when planning the backup path in order to avoid congestion problems caused by intersections with the main path when building the backup path. After deleting the links and computing nodes that do not meet the requirements from the directed acyclic graph, if there is only one candidate computing node with remaining computing resources that meets the demand, the target nodes of the subsequent allocated main path and backup path are both the candidate computing node. Among them, the threshold is set as a percentage, which means that the load rate of the computing node does not exceed a few percent of the total computing resources of the computing node. The threshold can be modified according to demand.
[0089] In some embodiments, the load factor is calculated as:
[0090]
[0091] Among them, γ i Indicates the load factor, Indicates the total computing power resources of the computing power node. Indicates the remaining computing power resources of the computing power node, and i represents the i-th computing power node. The load rate indicates the percentage of the used computing power resources to the total computing power resources of the computing power node. The used computing power resources are the sum of the computing power resources occupied by all computing tasks of the computing power node.
[0092] In step S108, after the computing network plans the main path and backup path for the computing task, if both the main path and the backup path meet the latency requirements of the computing task, the computing task is accepted and computing resources are reserved for the computing task at the corresponding computing node, which is used for the forwarding node to forward the computing task to the computing node for calculation. The SDN controller decides whether to allow the computing task to be calculated based on the judgment of the main path and the backup path. After the computing task meets the requirements, the SDN controller updates the computing resources of each link and computing node, and reserves computing resources for the computing task. The computing network allocates network resources to the computing tasks in the order in which they arrive. After completing the resource allocation of each computing task, the network resource status is updated to the SDN controller, and the next computing task is processed. The processing delay of the computing task includes: forwarding delay and computing delay. The forwarding delay is the sum of the delays of all hops, and the computing delay is the delay of the computing node processing the computing task.
[0093] In some embodiments, the processing delay calculation formula of the computing task is:
[0094]
[0095] Among them, D k Indicates the processing delay, represents the delay of each hop, t k,c represents the computation delay, t k,f Represents the forwarding delay, L k represents the transmission path, k represents the computing task, and ij represents the link. The processing delay of the computing task includes the forwarding delay and the computing delay.
[0096] In some embodiments, updating the remaining bandwidth resources of each link in the computing network and the remaining computing power resources of each computing power node includes:
[0097] The remaining bandwidth resources of each link are updated as follows:
[0098] B ij =W ij -PB ij -BB ij ;
[0099] Among them, Bij Represents the remaining bandwidth resources of the link, W ij Indicates the total bandwidth resources of each link, PB ij Indicates the primary path bandwidth resources used by the link, BB ij Indicates the backup path bandwidth resources used by the link.
[0100] The remaining computing resources of each computing power node are updated as follows:
[0101] K i =M i -N i -L i ;
[0102] Among them, K i Indicates the remaining computing power resources of the computing power node, M i Represents the total computing power resources of each computing power node, N i Indicates the computing resources used by the main path in this computing node, L i Indicates the computing resources used by the backup path on this computing node.
[0103] In some embodiments, when a backup path is allocated for a computing task, the backup path will occupy the corresponding link bandwidth resources. When a link bandwidth is shared by two computing tasks, the remaining bandwidth resources of the link are set to 0, that is, a link can only process two computing tasks at the same time.
[0104] In some embodiments, when the processing delay of the main path is greater than the maximum processing delay allowed by the computing task, the computing task is rejected; when the processing delay is less than or equal to the maximum processing delay allowed by the computing task, the computing task is accepted, and then it is determined whether the processing delay of the backup path meets the requirements of the computing task. When the backup target computing power node is the same as the main target computing power node, if the processing delay of the backup path is less than or equal to the maximum processing delay allowed, the computing task is accepted; otherwise, the computing task is rejected; when the backup target computing power node is different from the main target computing power node, if the processing delay of the backup path is less than or equal to the maximum processing delay allowed, the computing task is accepted; if the processing delay of the backup path is greater than the maximum processing delay allowed, the backup target computing power node that meets the maximum processing delay allowed by the computing task is searched in descending order of the comprehensive index; if all candidate computing power nodes do not meet the requirements, the load rate of the candidate computing power node is not considered, and only the processing delay is considered. After deleting the main path from the directed acyclic graph, the Dijkstra algorithm is used to find the shortest path between the entry node and the main target computing power node as the backup path. Since the load rate is not considered, the backup target computing power node is the same as the main target computing power node at this time, and both are candidate computing power nodes with the highest comprehensive index. If the backup path processing delay at this time still does not meet the maximum business processing delay requirement allowed by the computing task, the computing task will be rejected. Only when both the main path and the backup path meet the maximum business processing delay requirement allowed by the computing task, the computing task will be forwarded by the forwarding node to the corresponding target computing power node for calculation.
[0105] The following is described in conjunction with a specific embodiment:
[0106] The present invention provides a multi-path forwarding method in a computing network, such as Figure 2 As shown, it includes steps S1 to S5:
[0107] S1: In the computing network scenario, the SDN controller obtains the network link status and resource usage of the computing nodes in real time. The computing tasks arrive at the network entry node (source node) at a certain time interval, and the computing tasks need to be forwarded to the computing node (destination node) for processing.
[0108] S2: Based on the computing task requirements of step S1, all computing tasks are accessed from the nearest entry node, and the SDN controller collects the latency requirements and computing power requirements of the computing tasks;
[0109] S3: For computing tasks that meet the requirements, a primary path and a backup path are allocated (the backup path does not intersect with the primary path), and the required computing resources are reserved at the destination node (computing power node). For computing tasks that do not meet the requirements, access is denied.
[0110] S4: After the computing task arrives at the entry node, based on the resource allocation method in step S3, the controller makes a decision on whether to allow its access according to the resource status of the network;
[0111] S5: The network allocates network resources to the tasks in the order in which they arrive. After completing the resource allocation of each computing task, the network resource status is updated to the SDN controller, and the next computing task is started to be processed.
[0112] The computing network mainly includes entry nodes, forwarding nodes, computing nodes and SDN controllers. Network resources mainly include communication resources (bandwidth resources) and computing resources. Among them, the computing node can use the computing server deployed on the node to provide corresponding computing services for user data; the SDN controller can perceive the network topology and link status, the computing resource status of the computing node, etc., and perform functions such as traffic admission, path planning, resource allocation, and configuration delivery according to the network status. The SDN controller can perceive changes in the network status at any time and update it.
[0113] The computation task in step S1 can be represented as a four-tuple S k (A k ,B k ,C k ,D kmax ), where A k represents the entry node of the network where service k arrives, B k represents the bandwidth required for transmission of service k, C k represents the quantified value of the computing power required by business k, D kmax Indicates the maximum service processing delay allowed for service k.
[0114] Processing delay D of service k k By forwarding delay t k,f and the calculation delay t k,c It consists of two parts. Forwarding delay t k,f is the sum of the delays of all hops, which is related to the forwarding path of the service; calculate the delay t k,c The latency of computing nodes in processing computing tasks. The computing tasks need to meet D k =t k,f +t k,c ≤D kmax , otherwise the computing task will be rejected. At the same time, the remaining bandwidth of the link needs to meet the task transmission requirements, and the remaining computing resources in the network need to meet the task computing requirements, otherwise the computing task will also be rejected.
[0115] In step S2, all computing tasks enter the computing network from the entry node and are transmitted to the computing server on the computing node for computing through routing forwarding. Among them, the SDN controller senses and computes network resources, makes decisions on the admission or rejection of computing task traffic, and sends the decision results to the entry node for execution. Each computing node is deployed with a computing server, and the computing server has limited computing resources and the number of computing nodes is limited. When multiple computing tasks request to enter the computing network for computing, communication resources and computing resources are allocated to the computing tasks in turn according to the time when the task traffic arrives at the entry node.
[0116] In step S3, according to the network status perceived by SDN, the link bandwidth resources and computing power resources of the network meet the task requirements, and then the forwarding path of the task is planned, and a main path and a backup path are calculated, which specifically includes the following steps:
[0117] S31: The SDN controller obtains parameters such as bandwidth requirement, computing power requirement and maximum latency of computing task k;
[0118] S32: The computing network topology can be represented by a directed graph G = (V, E), where V represents the set of nodes, E represents the set of links, and the total bandwidth of each link is W. ij , the transmission delay of each link is t ij ; The number of all computing nodes is N, and the set ESP = {Esp1, Esp2, Esp3, …, Esp N In the network topology, all links that do not meet the bandwidth requirements of computing task k are deleted, and all remaining links are represented by {x k}; Delete all computing nodes that do not meet the computing resource requirements. The remaining computing nodes are N k indivual.
[0119] S33: Each computing node has a hop count index α relative to task k k With a computing power index β k , calculate its comprehensive index Where γ is a constant less than 1. The fewer the hops between the computing power node and the entry node, the higher the hop index; the more remaining computing power resources the computing power node has, the higher the computing power index. The computing power node with the highest comprehensive index is selected as the destination node.
[0120] S34: After the user selects a computing node, the transmission delay of each link is used as the measurement value of the link length, and the Dijkstra algorithm is used to calculate the shortest path from the entry node to the computing node, and the main path of the computing task can be obtained.
[0121] S35: In order to ensure that the main path and the backup path do not intersect, when calculating the backup path, the main path topology is deleted from the network topology, and the comprehensive index of each computing power node is recalculated. If the comprehensive index If the load of the highest computing power node does not exceed the preset threshold H (such as 80%, which can be modified as needed), the computing power node is selected as the destination node of the backup path. This node is called the primary node, and the transmission delay of the link is used as the measurement value of the link length. The backup path is calculated using the Dijkstra algorithm.
[0122] S36: If the computing load of the destination node of the selected backup path exceeds the threshold value H, then select the comprehensive index whose load is less than the threshold value H The node with the highest computing power is used as the destination node of the backup path. This node is called the secondary node. The backup path is calculated using the Dijkstra algorithm.
[0123] In step S32, the number of all computing nodes in the network is N, and the set {Esp1, Esp2, Esp3, ..., Esp N} indicates that the i-th computing power node planned by the network for service k can be expressed as i∈1,2,…,N.
[0124] The total computing power resource size is expressed as:
[0125]
[0126] The remaining computing power resources are expressed as:
[0127]
[0128] γ i For computing power nodes The load rate is the percentage of used computing resources to the total computing resources of the node. The used computing resources are the sum of the computing resources occupied by all computing tasks of the computing node.
[0129] γ i The calculation formula is:
[0130]
[0131] In step S33, The calculation formula is:
[0132]
[0133] Wherein, γ is a non-negative constant less than 1.
[0134] In this embodiment, for two computing nodes A and B, if the entry node reaches any computing node Esp i (i=1,2,…,N) The minimum number of hops required is J i (i=1,2,…,N), then the minimum number of hops from the entry node to the computing power node A can be expressed as J A , the minimum number of hops from the entry node to the computing power node B can be expressed as J B ; If any computing power node Esp i The remaining computing power of (i=1,2,…,N) is Then the remaining computing power of computing node A can be expressed as The remaining computing power of computing node B can be expressed as
[0135] The calculation method of the hop index of nodes A and B is:
[0136]
[0137]
[0138] The calculation method of the computing power index of nodes A and B is:
[0139]
[0140]
[0141] The calculation method of the comprehensive index of nodes A and B is:
[0142]
[0143]
[0144] Compare the comprehensive index of node A The comprehensive index with Node B The node with the larger value is selected as the destination node.
[0145] In step S36, if the delay of the backup path does not meet the task requirements, the backup path destination node is set to be the same as the primary path, and the Dijkstra algorithm is used to recalculate the shortest path from the entry node to the node as the backup path. If the delay of the backup path still does not meet the task requirements, the deployment fails; otherwise, the deployment is successful, the task successfully accesses the network, and the SDN controller updates the network resource status.
[0146] In step S4, if and only if both the primary path and the backup path meet the requirements, the task is accepted, otherwise the task is rejected. The specific steps are as follows:
[0147] S41: If the delay of the main path is greater than the delay requirement of the task, the task is rejected; if the delay of the main path meets the delay requirement of the task, when calculating the backup path, the main path is deleted from the network topology map, and a backup path is allocated to it through calculation.
[0148] S42: When the destination node of the backup path is a primary node, if the backup path delay meets the task delay requirement, the task is accepted; otherwise, the task is rejected.
[0149] S43: When the destination node of the backup path is a secondary node, if the backup path delay meets the task delay requirement, the task is accepted; if it does not meet the task delay requirement, new secondary nodes are searched in descending order of the comprehensive index until a secondary node that meets the task delay requirement is found. If the delays of all secondary nodes do not meet the task delay requirement, the destination node of the backup path is changed from a secondary node to a primary node, and the processes of S33 and S42 are repeated.
[0150] Specifically, for a computing task to be allowed to access the network, its primary path and backup path must satisfy the following constraints at the same time:
[0151] C1:D k =t k,f +t k,c =≤D kmax ;
[0152] C2:
[0153] C3:
[0154] When a backup path is assigned to a task, the backup path will occupy the corresponding bandwidth resources. The total bandwidth of each link is W ij , P.B. ij Indicates the primary path bandwidth used on the link, BB ij represents the backup path bandwidth on the link, then the remaining bandwidth of the link is B ij =W ij -PB ij -BB ij , stipulating that at most two tasks can share part of the bandwidth (if a link bandwidth is being shared by two tasks, its remaining bandwidth is set to 0).
[0155] In step S5, all computing tasks enter the computing network from the entry node and are transmitted to the computing server on the computing node for computing through routing forwarding. Among them, the SDN controller senses and computes network resources, makes decisions on the admission or rejection of computing task traffic, and sends the decision results to the entry node for execution. Each computing node is deployed with a computing server, and the computing resources of the computing server are limited, and the number of computing nodes is limited. When multiple computing task requests enter the computing network for calculation, communication resources and computing resources are allocated to the computing tasks in turn according to the time when the task traffic arrives at the entry node. After the controller completes the processing of a computing task, it will update the network status in time and start processing the request for the next computing task.
[0156] In summary, the multi-path forwarding method and system in the computing power network described in the present invention obtains the computing power requirements and latency requirements of the computing task, constructs the main path and the backup path, and accepts the computing task when the link bandwidth resources, computing power resources, main path, and backup path processing latency of the computing power network meet the computing task requirements, and reserves computing resources for the computing task in the computing power network. While allocating a main path to the computing task, the present invention allocates a backup path that does not intersect with the main path, and reserves communication resources on the backup path and computing power resources of the backup target computing power node. When the main path is congested or fails, the computing task can be transmitted through the backup path, ensuring the deterministic forwarding and processing of the computing task.
[0157] Furthermore, the comprehensive index of each computing node is calculated according to the distance from each candidate computing node to the entry node and the remaining computing resources of each candidate computing node, and the candidate computing node with the highest comprehensive index is selected as the main target computing node or the backup target computing node. The calculation of the comprehensive index ensures that when selecting the main computing target node and the backup computing target node for the computing task, it can not only ensure that the business processing time meets the computing task requirements, but also help maintain the load balance of the computing network.
[0158] Furthermore, the computing task is accepted only when the computing resources, main path latency and backup path latency of the computing network meet the requirements of the computing task. Through multi-layer screening, it is ensured that the computing tasks accepted by the computing network will not experience congestion and packet loss when processed in the computing network, thereby ensuring the stability of the computing network and improving the user experience.
[0159] Furthermore, the present invention can improve the processing efficiency of computing tasks in the computing power network, while improving the overall resource utilization of the computing power network, thereby improving user satisfaction.
[0160] Corresponding to the above method, the present invention also provides a system, which includes a computer device, the computer device includes a processor and a memory, the memory stores computer instructions, the processor is used to execute the computer instructions stored in the memory, and when the computer instructions are executed by the processor, the system implements the steps of the method described above.
[0161] The embodiment of the present invention also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps of the aforementioned edge computing server deployment method are implemented. The computer-readable storage medium can be a tangible storage medium, such as a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a floppy disk, a hard disk, a removable storage disk, a CD-ROM, or any other form of storage medium known in the technical field.
[0162] It should be understood by those skilled in the art that the exemplary components, systems and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software or a combination of the two. Whether it is performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present invention are programs or code segments used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link via a data signal carried in a carrier.
[0163] It should be clear that the present invention is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present invention is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present invention.
[0164] In the present invention, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or replace features of other embodiments.
[0165] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the embodiments of the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A multi-path forwarding method in a computing network, characterized in that: The method is executed on a software-defined network controller set in a computing network, the computing network includes multiple entry nodes, multiple forwarding nodes and multiple computing nodes, the software-defined network controller is used to obtain the network link status of the computing network and the resource usage of the computing nodes in real time, and the method includes the following steps: Obtain a computing task received by an entry node, wherein the attributes of the computing task include: the entry node where the computing task arrives, the transmission bandwidth requirement value of the computing task, the computing power requirement quantification value, and the maximum service processing delay; obtain the remaining bandwidth resources of each link in the computing power network and the remaining computing power resources of each computing power node; The computing power network is constructed as a directed acyclic graph, wherein the nodes in the directed acyclic graph represent the entry node, the forwarding node, and the plurality of computing power nodes, the edges in the directed acyclic graph represent the links between the nodes, and each edge is marked with a total bandwidth and a transmission delay as attributes; Compare the remaining bandwidth resources of each link with the transmission bandwidth requirement value, and delete the links that do not meet the transmission bandwidth requirement value; compare the remaining computing power resources of each computing power node with the computing power requirement quantization value, delete the computing power nodes that do not meet the computing power requirement quantization value, and use the remaining computing power nodes as candidate computing power nodes; Calculate the hop count index of each candidate computing node according to the minimum number of hops from the entry node to each candidate computing node, calculate the computing power index of each candidate computing node according to the remaining computing power resources of each candidate computing node, and perform weighted summation of the hop count index and computing power index of each candidate computing node to obtain the corresponding comprehensive index; The candidate computing power node with the largest comprehensive index is selected as the main target computing power node; Using the Dijkstra algorithm to find the shortest path between the entry node and the main target computing power node, and using the shortest path as the main path; The load rate of the main target computing power node is calculated. If the load rate of the main target computing power node is less than or equal to a set threshold, after deleting the main path from the directed acyclic graph, the Dijkstra algorithm is used to find the shortest path between the entry node and the target computing power node as a backup path; if the load rate of the main target computing power node is greater than the set threshold, the candidate computing power node is searched for a node with a load rate less than the set threshold and the largest comprehensive index as a backup target computing power node, and the Dijkstra algorithm is used to find the shortest path between the entry node and the backup target computing power node as the backup path; When the processing delays of the primary path and the backup path are both less than or equal to the maximum processing delay allowed by the computing task, the computing power network accepts and executes the computing task, and reserves the transmission bandwidth requirement value and the computing power requirement quantification value of the computing task on the primary path and the backup path to update the remaining bandwidth resources of each link in the computing power network and the remaining computing power resources of each computing power node.
2. The multi-path forwarding method in a computing power network according to claim 1, characterized in that: After using the Dijkstra algorithm to find the shortest path between the entry node and the backup target computing power node as a backup path, the method further includes: If the processing delay of the backup path is greater than the maximum service processing delay, after deleting the main path from the directed acyclic graph, the Dijkstra algorithm is used to find the shortest path between the entry node and the main target computing power node as the backup path.
3. The multi-path forwarding method in a computing power network according to claim 1, characterized in that: The processing delay is the sum of the forwarding delay of each node in the path and the calculation delay of the computing power node. The processing delay calculation formula is: Among them, D k represents the processing delay, represents the delay of the router, t k,c represents the computation delay, t k,f represents the forwarding delay, L k represents the transmission path, k represents the computing task, and ij represents the link.
4. The multi-path forwarding method in a computing power network according to claim 1, characterized in that: Updating the remaining bandwidth resources of each link in the computing power network and the remaining computing power resources of each computing power node includes: The remaining bandwidth resources of each link are updated as follows: B ij =W ij -PB ij -BB ij ; Among them, B ij Represents the remaining bandwidth resources of the link, W ij Indicates the total bandwidth resources of each link, PB ij Indicates the primary path bandwidth resources used by the link, BB ij Indicates the backup path bandwidth resources used by the link; The remaining computing resources of each computing power node are updated as follows: K i =M i -N i -L i ; Among them, K i Indicates the remaining computing power resources of the computing power node, M i Represents the total computing power resources of each computing power node, N i Indicates the computing resources used by the main path in this computing node, L i Indicates the computing resources used by the backup path on this computing node.
5. The multi-path forwarding method in a computing power network according to claim 4, characterized in that: When the backup path is allocated to a computing task, the backup path will occupy the corresponding link bandwidth resources. When a link bandwidth is shared by two computing tasks, the remaining bandwidth resources of the link are set to 0.
6. The multi-path forwarding method in a computing power network according to claim 1, characterized in that: The calculation formula of the load rate is: Among them, γ i represents the load factor, Indicates the total computing power resources of the computing power node. Represents the remaining computing power resources of the computing power node, and i represents the i-th computing power node.
7. The multi-path forwarding method in a computing power network according to claim 4, characterized in that: The calculation formula of the hop count index is: The calculation formula of the computing power index is: in, represents the hop count index of computing power node A, represents the computing power index of computing power node A, J i represents the minimum number of hops required to reach any computing power node from the entry node, J A Indicates the minimum number of hops required from the entry node to computing node A, Indicates the remaining computing power resources of computing power node A. Indicates the remaining computing power resources of any computing power node.
8. The multi-path forwarding method in a computing power network according to claim 7, characterized in that: The calculation formula of the comprehensive index is: in, represents the comprehensive index, α k represents the hop count index, β k represents the computing power index, and γ is a non-negative constant less than 1.
9. A multipath forwarding system in a computing network, comprising a processor and a memory, characterized in that: The memory stores computer instructions, and the processor is used to execute the computer instructions stored in the memory. When the computer instructions are executed by the processor, the system implements the steps of the method as claimed in any one of claims 1 to 8.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Differential virtual optical network mapping method based on safety perception
CN108156041A
Resource allocation method for computing power network service function chain
CN114710791A