Computing power resource scheduling method and device, storage medium and program product

By responding to target service requests in the computing power network and determining the optimal node to optimize resource scheduling, the problems of network congestion and excessive load of computing nodes in the prior art are solved, and efficient resource utilization and cost reduction are achieved.

CN119473608APending Publication Date: 2025-02-18CHINA UNITED NETWORK COMM GRP CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411571659.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-05
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

The existing computing power network resource scheduling methods are prone to network congestion and excessive load on computing nodes during the transmission of service traffic data.

Method used

By responding to the target service request, the first node set is determined based on the resources required for the target service request and the current basic resource information of the computing power network, and the load target is determined from the first node set with the cost and load balancing standard deviation as the optimization goals. The optimal node for business requests.

Benefits of technology

This method can avoid excessive load on computing power nodes, improve the scheduling efficiency of computing power resources in computing power network, reduce resource waste, reduce operational costs, and improve overall performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119473608A_ABST
    Figure CN119473608A_ABST
Patent Text Reader

Abstract

The invention provides a computing power resource scheduling method, computing power resource scheduling equipment, a storage medium and a program product, relates to the technical field of communication, and is used for determining the computing power resource scheduling method meeting cost and load balancing targets under the condition that computing power resources and network resources are considered at the same time. The method comprises the following steps: in response to a received target service request, determining a first node set based on resources required by the target service request and current basic resource information of a computing power network; analyzing the cost of loading the target service request by each first node in the first node set; analyzing the load balancing standard deviation of the computing power network under the condition that each first node in the first node set loads the target service request; and determining the optimal node of the load target service request from the first node set by taking the cost and the load balancing standard deviation as optimization targets.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a computing resource scheduling method, device, storage medium and program product. Background Art

[0002] The computing power network emphasizes the widespread existence and availability of computing resources in a variety of devices and environments. At the same time, the effective allocation of computing resources among multiple nodes can meet the growing computing needs and support the integration of digital technologies and applications.

[0003] However, the current computing power network resource scheduling method is prone to problems such as network congestion and excessive load on computing nodes during the transmission of business traffic data. Summary of the invention

[0004] The present application provides a computing power resource scheduling method, device, storage medium and program product, which are used to determine a computing power resource scheduling method that meets cost and load balancing goals while considering computing power resources and network resources.

[0005] In a first aspect, the present application provides a computing resource scheduling method, including: in response to a received target business request, determining a first node set based on the resources required for the target business request and the current basic resource information of the computing network; the first node in the first node set can provide the resources required for the target business request; the target business request is used to request the execution of the target business; analyzing the cost of each first node in the first node set to load the target business request; analyzing the load balancing standard deviation of the computing network when each first node in the first node set is loaded with the target business request; with the cost and load balancing standard deviation as optimization targets, determining the optimal node for loading the target business request from the first node set.

[0006] It is understandable that the first node set is determined based on the resources required for the target business request and the current basic resource information of the computing power network, avoiding the problem of excessive load on the computing power nodes in the computing power network, speeding up the scheduling time of the computing power resources in the computing power network, thereby speeding up the processing of the target business request, and thus improving the overall performance of the computing power network. At the same time, the above method also includes determining the optimal node based on the cost of the target business request of the first node load and the load balancing difference of the computing power network as the optimization target, so that maintenance costs and operating costs can be saved, the waste of computing power resources is reduced, and the possibility of failure of the computing power network during computing power resource scheduling. Therefore, the present application provides a computing power network resource scheduling method that meets the standard deviation of cost and load balancing, while reducing the waste of computing power resources and network resources.

[0007] A possible implementation method is that the first node set includes a target first node, and the target first node is any first node in the first node set; the load balancing standard deviation of the computing power network is analyzed when each first node in the first node set is subjected to a load target business request, including: when the target first node is subjected to a load target business request, the load value of the target first node is determined based on the total resources of the target first node, the resources used by the target first node, and the resources required for the target business request; the load mean of the computing power network is determined based on the load value of the target first node and the load values ​​of other computing power nodes in the computing power network except the target first node; the load balancing standard deviation of the computing power network is determined based on the load value of the target first node, the load values ​​of other nodes in the computing power network except the target first node, and the load mean of the computing power network.

[0008] Another possible implementation method is to use cost and load balancing standard deviation as optimization targets and determine the optimal node for load target business requests from the first node set, including: using cost and load balancing standard deviation as optimization targets and using a multi-objective optimization algorithm to determine the second node set from the first node set; the second node set is the Pareto optimal solution set; and selecting the optimal node for load target business requests from the second node set.

[0009] In another possible implementation manner, the target service is a migration service of the third node set; and the load values ​​of the third nodes in the third node set are all greater than or equal to a preset threshold.

[0010] In another possible implementation, the basic resource information includes at least one of the following: computing resources, network resources, the unit price of unit resources of each computing node, and the resources occupied by the loaded services in each computing node.

[0011] Another possible implementation method is that the first node set includes a target first node, and the target first node is any first node in the first node set; the cost of each first node in the first node set loading the target business request is analyzed, including: based on the resources required for the target business request and the unit price of the unit resources of the target first node, determining the cost of the target first node loading the target business request.

[0012] In another possible implementation, the resources required by the target service request include computing resources and / or network bandwidth resources.

[0013] In the second aspect, the present application provides a computing resource scheduling device, including a processing module, an analysis module, and an optimization module; the processing module is used to respond to the received target business request, and determine the first node set based on the resources required for the target business request and the current basic resource information of the computing network; the first node in the first node set can provide the resources required for the target business request; the target business request is used to request the execution of the target business; the analysis module is used to analyze the cost of each first node in the first node set to load the target business request; analyze the load balancing standard deviation of the computing network when each first node in the first node set is loaded with the target business request; the optimization module is used to determine the optimal node for loading the target business request from the first node set with the cost and load balancing standard deviation as optimization targets.

[0014] In a possible implementation, the first node set includes a target first node, and the target first node is any first node in the first node set; the analysis module is specifically used to determine the load value of the target first node based on the total resources of the target first node, the resources used by the target first node, and the resources required for the target business request when the target first node loads the target business request; determine the load average of the computing power network based on the load value of the target first node and the load values ​​of other computing power nodes in the computing power network except the target first node; determine the load balancing standard deviation of the computing power network based on the load value of the target first node, the load values ​​of other nodes in the computing power network except the target first node, and the load average of the computing power network.

[0015] Another possible implementation method is that the optimization module is specifically used to take cost and load balancing standard deviation as optimization targets, adopt a multi-objective optimization algorithm, determine the second node set from the first node set; the second node set is the Pareto optimal solution set; and select the optimal node for the load target business request from the second node set.

[0016] In another possible implementation manner, the target service is a migration service of the third node set; and the load values ​​of the third nodes in the third node set are all greater than or equal to a preset threshold.

[0017] In another possible implementation, the basic resource information includes at least one of the following: computing resources, network resources, the unit price of unit resources of each computing node, and the resources occupied by the loaded services in each computing node.

[0018] Another possible implementation method is that the first node set includes a target first node, and the target first node is any first node in the first node set; the analysis module is specifically used to determine the cost of the target first node loading the target business request based on the resources required for the target business request and the unit price of the unit resources of the target first node.

[0019] In another possible implementation, the resources required by the target service request include computing resources and / or network bandwidth resources.

[0020] In a third aspect, the present application provides a device, comprising: a processor and a memory; the memory stores instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the method of the first aspect above.

[0021] In a fourth aspect, the present application provides a computer-readable storage medium, which includes: computer software instructions; when the computer software instructions are executed in an electronic device, the electronic device implements the method of the first aspect above.

[0022] In a fifth aspect, the present application provides a computer program product, which includes a computer program; when the computer program runs in an electronic device, the electronic device implements the method of the first aspect.

[0023] The beneficial effects of the second to fifth aspects mentioned above refer to the corresponding description of the first aspect and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 A system architecture diagram of a computing network provided for this application;

[0025] Figure 2 A computing resource scheduling system diagram provided for this application;

[0026] Figure 3 A flowchart of a computing resource scheduling method provided in this application;

[0027] Figure 4 A flowchart of another computing resource scheduling method provided by this application;

[0028] Figure 5 A flowchart of another computing resource scheduling method provided by this application;

[0029] Figure 6 A flowchart of a computing resource scheduling embodiment method provided in this application;

[0030] Figure 7 A flowchart of another computing resource scheduling embodiment method provided by the present application;

[0031] Figure 8 A schematic diagram of the composition of a computing resource scheduling device provided in this application;

[0032] Fig. 9 A schematic diagram of the composition of a device provided in this application. DETAILED DESCRIPTION

[0033] The following is a detailed description of a computing resource scheduling method provided by the present application in conjunction with the accompanying drawings.

[0034] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

[0035] The terms "first" and "second" and the like in the specification and drawings of this application are used to distinguish different objects, or to distinguish different processing of the same object, rather than to describe a specific order of objects.

[0036] In addition, the terms "including" and "having" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.

[0037] It should be noted that, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0038] In order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, the words "first", "second", etc. are used to distinguish the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first", "second", etc. are not limiting the quantity and execution order.

[0039] In the description of the present application, unless otherwise specified, “plurality” means two or more.

[0040] Computing power network is a new type of infrastructure that combines computing power resources with network resources. It is widely used in edge computing, intelligent transportation, video surveillance and analysis, cloud gaming, online education and virtual reality, financial services, big data processing, scientific computing, intelligent manufacturing and other scenarios.

[0041] like Figure 1As shown in Figure 1, the system architecture of a common computing network includes a service layer, an orchestration and scheduling layer, a computing network perception layer, a cloud network access layer, and an infrastructure layer. The infrastructure layer is the physical foundation of the entire computing network, including hardware resources such as computing nodes, storage devices, and network devices, providing computing, storage, and network access functions. The cloud network access layer includes network resource access and computing resource access, and is responsible for processing the interaction between different computing resources and network resources to achieve seamless connection between cloud resources and the network. The computing network perception layer includes computing power perception, network perception, application perception, and application programming interface (API) perception, which is used to collect and analyze the status information of the network and computing resources, monitor key indicators such as network traffic, latency, and packet loss rate, and perceive the load of computing resources, such as the utilization rate of the central processing unit (CPU), memory usage, etc. The orchestration and scheduling layer includes algorithm management, orchestration management, and task scheduling, and is responsible for managing and scheduling computing resources and network resources, automatically allocating appropriate computing and network resources according to application requirements, and realizing dynamic adjustment of computing nodes corresponding to target businesses, which is used to balance and improve resource utilization. The service layer provides users with computing power as a service, code as a service and model as a service.

[0042] Previous computing resource allocation methods in computing networks only considered computing resources and network resources unilaterally. The network resources of cloud computing center nodes are highly structured, and the bandwidth resources of the basic resource facilities of cloud computing center nodes are relatively abundant, so there is no need to consider the allocation of bandwidth resources. Edge cloud computing nodes consider the radio access network (RAN). The computing nodes are on the edge side and are close to user devices, so there is no need to consider path issues.

[0043] The above-mentioned computing resource allocation methods that only consider computing resources or network resources have some problems. When only computing resources are considered, the computing nodes whose remaining computing resources meet the computing resources required to carry the target business are used as computing nodes to execute the target business, which may cause network congestion and other problems during the transmission of the target business request. When only network resources are considered, the computing nodes with the smallest network delay are used as computing nodes to execute the target business, which may cause the above computing nodes to be overloaded, resulting in performance degradation.

[0044] In response to the above technical problems, the present application provides a computing power resource scheduling method, the idea of ​​which is: in response to the received target business request, the first node set is determined based on the resources required for the target business request and the current basic resource information of the computing power network, and the first node in the first node set can provide the resources required for the target business request, ensuring that the computing power node will not be overloaded, thereby improving the response speed of the target business request. Analyze the cost of each first node in the first node set to load the target business request, analyze the load balancing standard deviation of the computing power network under the load target business request of each first node in the first node set, and adjust the scheduling method of computing power resources in real time according to the cost of each first node in the first node set to load the target business request and the load balancing standard deviation of the computing power network, so as to reduce the waste of computing power resources. With cost and load balancing standard deviation as optimization targets, the optimal node for the load target business request is determined from the first node set, the overall performance of the computing power network is improved, maintenance costs and operating costs can be saved, the waste of computing power resources is reduced, and the possibility of failure of the computing power network during computing power resource scheduling is reduced. Therefore, the present application provides a computing power network resource scheduling method that meets the cost and load balancing standard deviation, while reducing the waste of computing power resources and network resources.

[0045] The embodiments provided in this application are described in detail below in conjunction with the accompanying drawings.

[0046] See also Figure 2 , is a diagram of a computing resource scheduling system provided in an embodiment of the present application, and the computing resource scheduling system may be a system of the scheduling layer of the computing network. For example, Figure 2 As shown, the computing resource scheduling system 100 includes: a back-end server 101 and a front-end device 102.

[0047] The back-end server 101 and the front-end device 102 may be connected wirelessly, or via a link such as an optical cable routing.

[0048] In some embodiments, the front-end device 102 is responsible for receiving a target service request from a target user, and sending the target service request from the target user to the back-end server 101 .

[0049] Exemplarily, the front-end device 102 may be a device with wireless transceiver capabilities, such as a mobile phone, a tablet computer, a wearable device, a vehicle-mounted device, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), etc.

[0050] In some embodiments, the back-end server 101 is responsible for receiving the target service request sent by the front-end device and selecting a computing power node to execute the target service request.

[0051] Exemplarily, the back-end server 101 preliminarily determines the first node set based on the resources required for the target business request and the current basic resource information of the computing power network, and obtains the optimal node in the first node set based on the cost of each first node in the first node set loading the target business request and the load balancing standard deviation of the computing power network when each first node in the first node set loads the target business request. The optimal node is the computing power node that executes the target business request.

[0052] Exemplarily, the backend server 101 may be a server cluster composed of multiple servers, or a single server, or a computer, or a processor or processing chip in a server or computer, etc. The embodiment of the present application does not limit the specific device form of the backend server 101.

[0053] It should be noted that the application scenarios of the embodiments of the present disclosure are not limited. The system architecture and business scenarios described in the embodiments of the present disclosure are intended to more clearly illustrate the technical solutions of the embodiments of the present disclosure, and do not constitute limitations on the technical solutions provided by the embodiments of the present disclosure. It is known to those skilled in the art that with the evolution of technology and the emergence of new business scenarios, the technical solutions provided by the embodiments of the present disclosure are also applicable to similar technical problems.

[0054] See also Figure 3 , is a flow chart of a computing resource scheduling method provided in an embodiment of the present application. Figure 3 As shown, the computing power resource scheduling method provided in the present application can be implemented by the above-mentioned computing power resource scheduling device, and specifically includes the following steps S201 to S204.

[0055] S201. In response to a received target service request, determine a first node set based on resources required by the target service request and current basic resource information of the computing network.

[0056] The first node in the first node set can provide resources required by the target service request.

[0057] The target service request is used to request execution of the target service.

[0058] In some embodiments, the resources required for the target service request include computing resources and / or network bandwidth resources.

[0059] For example, when the target service request is u, the resource set required by the target service request is L u The following formula (1) is satisfied:

[0060] L u ={C u , D u , B u} Formula (1)

[0061] Among them, C u Represents the computing resources required for the target business request; D u With B u represents the network bandwidth resources required by the target service request, where D u is the maximum delay acceptable to the target service request, B u Request the required bandwidth resources for the target business.

[0062] In some embodiments, the computing resources required for the target service request are represented in a set manner. For example, the computing resources required for the target service request satisfy the following formula (2):

[0063] C u ={C c,u , G g,u , C r,u} Formula (2)

[0064] Exemplarily, C_(c,u) represents the central processing unit (CPU) resources required for the target business request, including the number of CPUs and / or virtual central processing units (vCPU); G_(g,u) represents the graphics processing unit (GPU) resources required for the target business request, including the number of GPUs and / or virtual graphics processing units (vGPU); C_(r,u) is the memory resource required for the target business request, which is generally expressed in bytes, and the unit of C_(r,u) memory resources can be GB.

[0065] It is understandable that, considering the three aspects of CPU, GPU and memory, the CPU provides efficient instruction processing and stability guarantee, the GPU has powerful parallel processing and graphics rendering capabilities, supports high-performance computing, and the memory provides fast data storage and target business request access services. By comprehensively considering the CPU, GPU and memory resources of the target business request, the first set of nodes whose resources meet the business needs can be accurately determined.

[0066] For example, the computing power network includes edge computing nodes and central computing nodes. Compared with edge computing nodes, central computing nodes have more computing resources but are farther away from user devices. The global computing power node set of the computing power network is N = {1, 2, ..., m, m+1, ..., |N|}, where the edge computing node set is {1, 2, ..., m}, and the central computing node set is {m+1, ..., |N|}, where the global node set is the total set of edge computing nodes and central computing nodes.

[0067] In some embodiments, the current basic resource information of the computing network includes at least one of the following: computing resources, network resources, the unit price of unit resources of each computing node, and the resources occupied by the loaded services in each computing node.

[0068] For example, computing resources include the total amount of basic resources, usage rate, and remaining amount of basic resources of CPU, GPU, and memory of each computing node in the global node set; network resources include the latency, jitter, and bandwidth resources from the user terminal to each computing node in the global node set; the unit price of each computing node’s unit resources includes the price of each computing node’s unit CPU resource usage (P n,c ), the price per unit of GPU resources (P n,g ), unit memory resource usage price (P n,r ) and the price per unit bandwidth resource usage (P n,b ); the resources occupied by the loaded services in each computing power node include the used CPU resources (C nc,used ), GPU resources used (C ng,used ) and used memory resources (C nr,used ).

[0069] Exemplarily, in response to a received target business request, the current basic resource information of the computing power network is compared with the resource information required for the target business request, and at least one computing power node whose remaining basic resources of the infrastructure in the global computing power node set can accommodate the target business is selected to form a first node set.

[0070] It can be understood that the first node in the first node set can provide the resources required for the target business request, ensure that the computing power node will not be overloaded in the computing power network, and improve the response speed of the target business request.

[0071] S202: Analyze the cost of each first node in the first node set to load the target service request.

[0072] In some embodiments, when the first node set includes a target first node, and the target first node is any first node in the first node set, the above step S202 can be implemented as: based on the resources required for the target business request and the unit price of the unit resources of the target first node, determine the cost of the target first node to load the target business request.

[0073] For example, different computing nodes charge different usage unit prices for different types of infrastructure resources. For the target first node in the first node set, the cost (P n,c ) can be the sum of different types of infrastructure resource costs. For example, the cost of the target first node to execute the target service can be the sum of the total price of CPU resources, GPU resources, memory resources, and bandwidth resources used when executing the target service. The cost of the target first node to execute the target service (P n,c ) satisfies the following formula (3):

[0074] P n,c =C c,u *P n,c +G g,u *P n,g +C r,u *P n,r +B u *P n,b Formula (3)

[0075] For example, P n,c It can be the price of a single CPU and / or a single vCPU when the target first node executes the target service; P n,g It can be the price of a single GPU and / or a single vGPU when the target first node executes the target business; P n,r It may be the unit price of memory resources when the target first node executes the target business, or it may be the price of memory resources per GB.

[0076] It is understandable that the infrastructure resources consumed and the usage unit prices required for target business requests to enter different target first nodes are different. Therefore, the cost of executing the target business at each target first node in the first node set is calculated. Through cost analysis, the computing power network can be monitored in real time to avoid excessive costs, thereby promoting the sustainable development of computing power resource scheduling methods.

[0077] S203: Analyze the load balancing standard deviation of the computing power network in the case of a load target business request for each first node in the first node set.

[0078] In some embodiments, Figure 4As shown, in the case where the first node set includes the target first node, and the target first node is any first node in the first node set, the above step S203 can be specifically implemented as the following steps S2031 to S2033:

[0079] S2031. In the case where the target first node carries a target service request, determine a load value of the target first node based on total resources of the target first node, resources used by the target first node, and resources required by the target service request.

[0080] For example, the load value of the target first node (Load n ) is determined by the infrastructure in the target first node.

[0081] As a possible implementation method, when the load of the target first node is less than a preset load threshold, the load value of the infrastructure is determined based on the weight value of the infrastructure resources, the resources used by the infrastructure, the resources required for the target business request, and the total resources available to the infrastructure.

[0082] As another possible implementation method, when the load of the target first node is greater than a preset load threshold, the load value of the infrastructure is determined based on the load value in the infrastructure resources that exceeds the first preset load threshold, the weight value of the load value that exceeds the preset load threshold, the preset load threshold of the infrastructure resources, and the weight value of the preset load threshold.

[0083] For example, the infrastructure of the target first node may include: CPU, GPU, and memory.

[0084] For example, the CPU load value (Load n,c ) satisfies the following formula (4):

[0085]

[0086] Where a1 is the weight value of the CPU resources in the first target node, C nc,used is the CPU resource used by the first target node, C c,u Request the required CPU resources for the target business, C nc is the total CPU resource in the first target node, g cpu is the first preset load threshold of the CPU resource of the target first node, k cpu The weight value when the CPU resources of the target first node exceed the first preset load threshold when executing the target service.

[0087] For example, the GPU load value (Load n,g ) satisfies the following formula (5):

[0088]

[0089] Where a2 is the weight value of the GPU resources in the first target node, C ng,used is the GPU resource used by the first target node, C g,u Request the required GPU resources for the target business, C ng is the total GPU resources in the first node of the target, g gpu is the second preset load threshold of the GPU resource of the target first node, k gpu The weight value when the GPU resources of the target first node exceed the second preset load threshold when executing the target business.

[0090] For example, the memory resource load value (Load n,r ) satisfies the following formula (6):

[0091]

[0092] Among them, a3 is the weight value of the memory resource in the first target node, C nr,used is the memory resource used by the first target node, C r,u Request the required memory resources for the target business, C nr represents the total memory resources in the first node of the target, g ram is the third preset load threshold of the memory resource of the target first node, k ram Indicates the weight when the memory resources of the target first node exceed the memory load threshold when executing the target business.

[0093] In some embodiments, the selection of weights is determined by actual conditions, a1+a2+a3=1, and the specific values ​​are not limited here. For example, for CPU intensive, it is recommended that a1 take a value of 0.6, a2 take a value of 0.1, and a3 take a value of 0.3; for GPU accelerated, it is recommended that a1 take a value of 0.3, a2 take a value of 0.5, and a3 take a value of 0.2; for memory intensive, it is recommended that a1 take a value of 0.2, a2 ​​take a value of 0.1, and a3 take a value of 0.7.

[0094] Exemplarily, the preset load threshold is determined by actual conditions and is not limited here. For example, g cpu The recommended value range is 70%-80%, g gpu The recommended value range is 80%-90%, g ram The recommended value range is 80%-85%. When the load environment of the target first node includes CPU intensive, GPU accelerated, and memory intensive, g cpu Set to 75%, g gpu Set to 85%, g ram Set to 80%.

[0095] For example, for k cpu , k gpu and k ram The selection of k is determined by the actual situation and is not limited here. cpu The recommended value is 10 times of a1. gpu The recommended value is 10 times of a2, k ram The recommended value is 10 times of a3.

[0096] It can be understood that the load value of the target first node is analyzed in the embodiment of the present application, which speeds up the scheduling of computing resources in the computing network, improves network performance, and makes the computing resource scheduling method more convenient and efficient.

[0097] S2032. Determine the load average of the computing power network based on the load value of the target first node and the load values ​​of other computing power nodes in the computing power network except the target first node.

[0098] Exemplarily, the average load (AL) of the computing power network satisfies the following formula (7):

[0099]

[0100] In some embodiments, the load values ​​of other computing nodes except the target first node are also calculated into three parts, including CPU resource load value, GPU resource load value and memory resource load value. The specific calculation method refers to the above formula (4)-formula (6), which will not be repeated here.

[0101] It is understandable that the load average of the computing power network is obtained, and the overall performance of the entire computing power network is reflected through the load average, which improves the stability of the computing power network and avoids the occurrence of excessive load on computing power nodes in the computing power network, which may cause server crashes.

[0102] S2033. Determine the load balancing standard deviation of the computing power network based on the load value of the target first node, the load values ​​of other nodes in the computing power network except the target first node, and the load average of the computing power network.

[0103] In some embodiments, the load balancing standard deviation of the computing power network is determined by the difference between the load value of each computing power node in the computing power network and the load average, and the load balancing standard deviation is used to reflect the load balancing degree of the computing power nodes in the computing power network.

[0104] Exemplarily, the load balancing standard deviation (V) of the computing power network satisfies the following formula (8):

[0105]

[0106] It can be understood that a method for calculating the load balancing standard deviation is provided in the embodiment of the present application to achieve the goal of load balancing, that is, the load values ​​​​among the computing power nodes are evenly distributed, which reduces the occurrence of overload and overload to a certain extent, optimizes the computing power network performance and computing power resource utilization, and enhances the reliability of the system.

[0107] S204: Taking the cost and the load balancing standard deviation as optimization targets, determine the optimal node for the load target service request from the first node set.

[0108] In some embodiments, Figure 5 As shown, the above step S204 can be specifically implemented as the following steps S2041-S2042:

[0109] S2041. Taking the cost and the load balancing standard deviation as optimization objectives, a multi-objective optimization algorithm is used to determine the second node set from the first node set; the second node set is the Pareto optimal solution set.

[0110] In some embodiments, the cost and load balancing standard deviation obtained in the first node set are sorted in a non-dominated manner, and all computing nodes whose cost and load balancing standard deviation are not dominated by other first nodes in the first node set are screened out to form a second node set. The specific screening method can be configured according to actual conditions and is not limited here. For example, the cost of all first nodes in the first node set is the x-axis, and the load balancing difference is the y-axis, and they are marked in a plane rectangular coordinate system. The coordinates of each first node are compared with the coordinates of other first nodes. If there are other first coordinates whose x-axis and y-axis coordinate values ​​are both greater than the above-mentioned first node, the above-mentioned first node does not belong to a non-dominated solution. If there are no other first coordinates whose x-axis and y-axis coordinate values ​​are both greater than the above-mentioned first node, the above-mentioned first node belongs to a non-dominated solution. Finally, a group of non-dominated solutions (Pareto optimal solution set) are screened out as the second node set.

[0111] S2042: Select an optimal node for carrying the target service request from the second node set.

[0112] Exemplarily, the cost and load balancing standard deviation of the computing power nodes in the second node set cannot be dominated by other computing power nodes. Therefore, the optimal node can be any computing power node in the second node set, or the computing power node in the second node set with a comprehensive cost and load balancing standard deviation in the middle position is the optimal node.

[0113] It is understandable that the use of the Pareto optimal solution set can take into account both the cost and the load balancing standard deviation, and obtain a more concise and reasonable computing resource scheduling solution. At the same time, the Pareto optimal solution set has a certain degree of flexibility, and users can adjust it according to actual conditions, which improves the versatility of the computing resource scheduling method.

[0114] In some embodiments, Figure 6 As shown, when the target business is a new target business requesting to enter the computing network, the above method can be implemented as the following steps:

[0115] a1. Receive target service request.

[0116] a2. Determine the first node set.

[0117] Exemplarily, a first node set is determined based on the resources required for the received target business request and the current basic resource information of the computing power network, and the unused basic resources of the computing power nodes in the first node set, including computing resources and / or network bandwidth resources, are greater than or equal to the computing resources and / or network bandwidth resources required for the target business request.

[0118] a3. Whether the first node set is an empty set.

[0119] Exemplarily, if the first node set is empty, the target service request ends; if the first node set is not empty, go to step a4.

[0120] a4. Analyze the cost of the target business request of each first node in the first node set and the load balancing standard deviation of the computing power network.

[0121] a5. Determine the second node set.

[0122] Exemplarily, the cost and the load balancing standard deviation are taken as optimization objectives, and a multi-objective optimization algorithm is used to determine the second node set from the first node set.

[0123] a6. Whether the second node set is an empty set.

[0124] Exemplarily, if the second node set is empty, the target service request ends; if the second node set is not empty, go to step a7.

[0125] a7. Determine the optimal node.

[0126] Exemplarily, the optimal node for the load target business request is selected from the second node set. The optimal node may be any computing power node in the second node set, or a computing power node in the second node set that is in the middle of the comprehensive cost and load balancing standard deviation.

[0127] a8. The optimal node executes the target business.

[0128] In some embodiments, the target service is a migration service of the third node set.

[0129] Among them, the load values ​​of the third nodes in the third node set are all greater than or equal to a preset threshold.

[0130] In some embodiments, for a computing power network with an unbalanced load, the business of the third node in the third node set whose load value is greater than or equal to a preset threshold is migrated to other computing power nodes in the computing power network, and the termination condition for migrating the business is that there is no business that can be migrated in the third node set.

[0131] For example, the target service is the migration service of the third node set, the migration service set F of a computing power node is F = {1, 2, ..., |F|}, and the resource set (S i ) satisfies the following formula (9):

[0132] s i ={C s,i , R s,i , B s,i} Formula (9)

[0133] Among them, C s,i Represents the computing resources required for the migrated business; R s,i With B s,i Represents the network bandwidth resources required for the outbound service, where R s,i is the maximum delay acceptable to the outgoing service, B s,i Bandwidth resources required for migrating services.

[0134] Among them, C s,i Including the CPU resources required by the target business (C c,s,i ), GPU resources required by the target business (C g,s,i ), the memory resources required by the target business (C r,s,i ). Therefore, the computing resources required by the target business satisfy the following formula (10):

[0135] C s,i ={C c,s,i , G g,s,i , C r,s,i} Formula (10)

[0136] For example, Figure 7 As shown, in the case where the target service is a migration service of the third node set, the above method can be implemented as the following steps:

[0137] b1. Arrange and obtain the third node set Y and the first node set X.

[0138] Exemplarily, computing nodes in the computing network whose load values ​​exceed a preset threshold are grouped into a third node set, and the third node set is sorted from large to small according to the load values ​​exceeding the preset threshold. For example, the third node set is Y={1,2,…,|Y|}.

[0139] Exemplarily, the computing resources required for the target business are compared with the idle computing resources and network resources of the computing nodes in the computing network, and the computing nodes in the computing network whose idle computing resources and network resources can accommodate the target business are formed into a first node set, and the first node set is sorted from small to large according to the load value. For example, the first node set is X={1,2,…,|X|}.

[0140] b2. Whether the third node set Y is an empty set.

[0141] Exemplarily, if the third node set Y is an empty set, go to step b9; if the third node set Y is not an empty set, go to step b3.

[0142] b3. Whether the first node set X is an empty set.

[0143] Exemplarily, if the first node set X is an empty set, go to step b9; if the first node set X is not an empty set, go to step b4.

[0144] b4. Reorder the first node set X.

[0145] Exemplarily, the first node set X is reordered from small to large according to the load value.

[0146] b5. Determine the second node set.

[0147] Exemplarily, the cost of each computing node in the first node set receiving the target business in the third node set and the global load balancing standard deviation are analyzed, and a group of non-dominated node sets are obtained as the second node set according to the cost and the global load balancing standard deviation.

[0148] b6. Whether the second node set is an empty set.

[0149] Exemplarily, if the second node set is an empty set, go to step a8; if the second node set is not an empty set, go to step b7.

[0150] b7. Migrate the target business to the second node set.

[0151] Based on the cost and the global load balancing standard deviation as optimization targets, the optimal node in the second node set is determined to receive the target service.

[0152] b8. The target service is removed from the third node set.

[0153] Exemplarily, after the target service is removed from the third node set, the process goes to step b2.

[0154] b9. The target service request ends.

[0155] It can be understood that the embodiments of the present application provide a method for scheduling computing resources when computing resources are unbalanced in a computing network, thereby improving the overall network performance of the computing network, accelerating the response speed of the computing network to new target business requests, and improving the user experience.

[0156] It can be seen that the above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to achieve the above functions, the embodiment of the present application provides a hardware structure and / or software module corresponding to each function. It should be easily appreciated by those skilled in the art that, in combination with the modules and algorithm steps of each example described in the embodiment disclosed herein, the embodiment of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware 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 exceed the scope of the present invention.

[0157] The embodiment of the present application can divide the computing resource scheduling device into functional modules according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. Optionally, the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0158] In some embodiments, the present application further provides a computing resource scheduling device. The computing resource scheduling device may include one or more functional modules for implementing the computing resource scheduling method of the above method embodiment.

[0159] For example, Figure 8 A schematic diagram of the composition of a computing resource scheduling device provided in an embodiment of the present application. Figure 8 As shown, the computing resource scheduling device includes: a processing module 801, an analysis module 802 and an optimization module 803.

[0160] In some embodiments, the processing module 801 is used to respond to the received target business request, determine the first node set based on the resources required for the target business request and the current basic resource information of the computing power network; the first node in the first node set can provide the resources required for the target business request; the target business request is used to request the execution of the target business; the analysis module 802 is used to analyze the cost of each first node in the first node set to load the target business request; analyze the load balancing standard deviation of the computing power network when each first node in the first node set is loaded with the target business request; the optimization module 803 is used to determine the optimal node for loading the target business request from the first node set with cost and load balancing standard deviation as optimization targets.

[0161] In other embodiments, the first node set includes a target first node, and the target first node is any first node in the first node set; the analysis module 802 is specifically used to determine the load value of the target first node based on the total resources of the target first node, the resources used by the target first node, and the resources required for the target business request when the target first node loads the target business request; determine the load average of the computing power network based on the load value of the target first node and the load values ​​of other computing power nodes in the computing power network except the target first node; determine the load balancing standard deviation of the computing power network based on the load value of the target first node, the load values ​​of other nodes in the computing power network except the target first node, and the load average of the computing power network.

[0162] In some other embodiments, the optimization module 803 is specifically used to take the cost and load balancing standard deviation as optimization objectives, adopt a multi-objective optimization algorithm, determine the second node set from the first node set; the second node set is the Pareto optimal solution set; and select the optimal node for the load target business request from the second node set.

[0163] In some further embodiments, the target service is a migration service of the third node set; and the load values ​​of the third nodes in the third node set are all greater than or equal to a preset threshold.

[0164] In some other embodiments, the basic resource information includes at least one of the following: computing resources, network resources, the unit price of unit resources of each computing node, and the resources occupied by the loaded services in each computing node.

[0165] In some further embodiments, the first node set includes a target first node, and the target first node is any first node in the first node set; the analysis module 802 is specifically used to determine the cost of the target first node loading the target business request based on the resources required for the target business request and the unit price of the unit resources of the target first node.

[0166] In yet other embodiments, the resources required for the target service request include computing resources and / or network bandwidth resources.

[0167] In the case of implementing the functions of the above-mentioned integrated modules in the form of hardware, the embodiment of the present invention provides a possible structural diagram of the electronic device involved in the above-mentioned embodiment. Fig. 9 As shown, the device 900 includes: a processor 902 , a communication interface 903 , and a bus 904 . Optionally, the device 900 may also include a memory 901 .

[0168] The processor 902 may be a processor that implements or executes various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of the present application. The processor 902 may be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array, or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It may implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of the present application. The processor 902 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.

[0169] The communication interface 903 is used to connect with other devices via a communication network, such as Ethernet, wireless access network, wireless local area network (WLAN), etc.

[0170] The memory 901 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.

[0171] As a possible implementation, the memory 901 may exist independently of the processor 902, and the memory 901 may be connected to the processor 902 via a bus 904 to store instructions or program codes. When the processor 902 calls and executes the instructions or program codes stored in the memory 901, the computing power resource scheduling method provided in the embodiment of the present invention can be implemented.

[0172] In another possible implementation, the memory 901 may also be integrated with the processor 902 .

[0173] The bus 904 may be an extended industry standard architecture (EISA) bus, etc. The bus 904 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig. 9 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0174] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the service calling device can be divided into different functional modules to complete all or part of the functions described above.

[0175] The embodiment of the present application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be completed by computer instructions to instruct the relevant hardware, and the program can be stored in the above computer-readable storage medium. When the program is executed, it may include the processes of the above method embodiments. The computer-readable storage medium can be the memory or memory of any of the above embodiments. The above computer-readable storage medium can also be an external storage device of the above service calling device, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the above service calling device. Further, the above computer-readable storage medium can also include both the internal storage unit of the above service calling device and an external storage device. The above computer-readable storage medium is used to store the above computer program and other programs and data required by the above service calling device. The above computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.

[0176] An embodiment of the present application also provides a computer program product, which includes a computer program. When the computer program product is run on a computer, the computer is enabled to execute any one of the computing resource scheduling methods provided in the above embodiments.

[0177] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A computing resource scheduling method, characterized in that: The method comprises: In response to the received target service request, determining a first node set based on the resources required by the target service request and the current basic resource information of the computing network; the first node in the first node set can provide the resources required by the target service request; the target service request is used to request execution of the target service; Analyze the cost of each of the first nodes in the first node set for carrying the target service request; Analyze the load balancing standard deviation of the computing power network when each of the first nodes in the first node set is loaded with the target service request; Taking the cost and the load balancing standard deviation as optimization targets, an optimal node for loading the target service request is determined from the first node set.

2. The method according to claim 1, characterized in that: The first node set includes a target first node, and the target first node is any first node in the first node set; The analyzing the load balancing standard deviation of the computing power network when each of the first nodes in the first node set is loaded with the target service request includes: In the case where the target first node is loaded with the target service request, determining a load value of the target first node based on total resources of the target first node, resources used by the target first node, and resources required by the target service request; Determine a load average of the computing power network based on the load value of the target first node and the load values ​​of other computing power nodes in the computing power network except the target first node; Based on the load value of the target first node, the load values ​​of other nodes in the computing power network except the target first node, and the load mean of the computing power network, the load balancing standard deviation of the computing power network is determined.

3. The method according to claim 1, characterized in that The step of taking the cost and the load balancing standard deviation as optimization targets and determining the optimal node for loading the target service request from the first node set includes: Taking the cost and the load balancing standard deviation as optimization targets, a multi-objective optimization algorithm is used to determine a second node set from the first node set; the second node set is a Pareto optimal solution set; An optimal node for loading the target service request is selected from the second node set.

4. The method according to claim 1, characterized in that: The target service is a migration service of the third node set; and the load values ​​of the third nodes in the third node set are all greater than or equal to a preset threshold.

5. The method according to claim 1, characterized in that The basic resource information includes at least one of the following: computing resources, network resources, the unit price of unit resources of each computing node, and the resources occupied by the loaded services in each computing node.

6. The method according to claim 1, characterized in that The first node set includes a target first node, and the target first node is any first node in the first node set; The analyzing the cost of each of the first nodes in the first node set carrying the target service request includes: The cost of the target first node for loading the target service request is determined based on the resources required by the target service request and the usage price of the unit resources of the target first node.

7. The method according to claim 1, characterized in that The resources required by the target service request include computing resources and / or network bandwidth resources.

8. An electronic device, characterized in that: It includes a processor and a memory, the processor is coupled to the memory; the memory is used to store computer instructions, and the computer instructions are loaded and executed by the processor to enable the computer device to implement the computing resource scheduling method as described in any one of claims 1 to 7.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes computer-executable instructions, and when the computer-executable instructions are executed on a computer, the computer executes the computing resource scheduling method according to any one of claims 1 to 7.

10. A computer program product, characterized in that The computer program product includes a computer program, and when the computer program is run on an electronic device, the electronic device executes the computing resource scheduling method as described in any one of claims 1 to 7.