Heterogeneous computing power distribution method and device, electronic equipment, storage medium and program product

By adopting heterogeneous computing power distribution methods and multi-objective optimization algorithms on the cloud computing platform, the computing resources are dynamically allocated and energy efficiency is optimized, and the problem of cloud computing platform ensuring high performance and low energy consumption while improving energy efficiency is solved, achieving optimal resource allocation and efficient energy utilization.

CN119718627APending Publication Date: 2025-03-28CHINA TELECOM CLOUD TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411646258.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-18
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

In the process of improving energy efficiency, it is difficult for existing cloud computing platforms to ensure high performance and low energy consumption of servers at the same time, and the load scheduling strategy has the risk of uneven resource allocation and high load conditions.

Method used

The heterogeneous computing power distribution method is adopted to dynamically allocate computing resources through a multi-objective optimization algorithm, and combine service level indicators as constraints to optimize the cluster power consumption and load dispersion to achieve the optimal energy efficiency task allocation strategy.

Benefits of technology

It realizes optimal allocation of resources and efficient utilization of energy, reduces operating costs, and improves the operation stability and response speed of the business system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718627A_ABST
    Figure CN119718627A_ABST
Patent Text Reader

Abstract

The invention provides a heterogeneous computing power distribution method and device, electronic equipment, a storage medium and a program product, and relates to the technical field of cloud computing resource energy efficiency evaluation. In the embodiment of the invention, the energy consumption condition of the server is quantified by using a power consumption function, the resource utilization efficiency is measured by using a load balance degree function, an energy + efficiency dual-objective function model is established to evaluate the energy efficiency of heterogeneous computing power, the two objective functions are optimized at the same time by using a dynamic multi-objective optimization algorithm, and meanwhile, the service index is taken as a constraint condition. According to the method, calculation tasks are distributed to the server with the highest energy efficiency, the dual purposes of high performance and low energy consumption are achieved, the purposes of improving the energy efficiency and reducing the cost are achieved, service level indexes are taken into consideration, and the response speed is improved while stable operation of a service system is guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to the technical field of cloud computing resource energy efficiency evaluation, and in particular, to a heterogeneous computing power allocation method, device, electronic device, storage medium and program product. Background Art

[0002] With the rise of artificial intelligence, high-performance computing, and the Internet of Things, the demands for computing power in different industries and application scenarios have become diversified. These diverse computing power demands have promoted the development of heterogeneous computing power (CPU, GPU). Heterogeneous computing power solves the computing power bottleneck problem by integrating different types of computing resources, showing broad development prospects and application potential, and has become the mainstream direction of cloud computing development.

[0003] After the cloud platform is put into use, the energy consumption of the server will increase as the computing tasks and running time increase. The higher the energy consumption of the server, the more heat it generates. If the cooling system cannot effectively handle this extra heat, it may cause the server to overheat, which will reduce the performance of the hardware and may even cause hardware damage or system crashes. At the same time, since data centers require a lot of electricity to support the continuous operation of servers, storage devices and network infrastructure, this energy consumption will not only increase the operating costs of enterprises, but energy production may also be accompanied by greenhouse gas emissions, which will also have a potential impact on the environment. Considering the problems of operating costs and stable operation of business systems, and realizing the long-term green and sustainable development of the cloud computing industry, cloud platforms are paying more and more attention to the energy efficiency of servers. By improving energy efficiency, cloud platforms can not only reduce electricity and other energy costs, but also improve service quality, enhance competitiveness, and promote the innovation and development of the entire cloud computing industry.

[0004] The existing strategies for improving the energy efficiency of cloud platforms mainly include: 1. Selecting high-efficiency hardware and adopting effective cooling systems, but this approach will increase the investment in infrastructure construction. 2. Scheduling computing tasks by load, but this approach may cause the server to run in a high-energy consumption state for a long time, which is not conducive to the stable operation of the business system. Summary of the invention

[0005] Embodiments of the present invention provide a heterogeneous computing power allocation method, device, electronic device, storage medium and program product to at least partially solve the above-mentioned problems.

[0006] A first aspect of an embodiment of the present invention provides a method for allocating heterogeneous computing power, the method comprising: Determine the virtual resources required for the computing tasks to be assigned; Filtering out a first computing node that can carry the computing task to be assigned from multiple computing nodes of the cloud platform, wherein the resource amount of the first computing node satisfies the virtual resources required by the computing task to be assigned; After calculating the cluster power consumption, cluster load dispersion and service level index of multiple computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node; taking the service level index not less than a preset service level index threshold as a constraint, taking the lowest cluster power consumption and the smallest cluster load dispersion as a goal, determining the optimal allocation node for the computing task to be allocated; Allocate the computing task to be allocated to the optimal allocation node.

[0007] Optionally, taking the service level indicator being not less than a preset service level indicator threshold as a constraint and taking the lowest cluster power consumption and the smallest cluster load dispersion as a goal, determining the optimal allocation node for the computing task to be allocated includes: For each computing task to be assigned, the following multi-objective optimization function is established and calculated:

[0008] in, and They are cluster power consumption calculation function and cluster load dispersion calculation function. is the computing node allocation vector of the computing tasks to be assigned, The value of the computing node that cannot carry the computing task to be assigned is set to 0; Indicates service level indicators; To preset service level indicator thresholds; During the calculation process, the maximum number of iterations and the number of populations are set; the initial population is randomly generated to ensure that the computing nodes that cannot carry the tasks to be assigned are set to 0; in each calculation iteration, the Chebyshev decomposition method is used to decompose the multi-objective problem, and crossover and mutation operations are performed on each individual to generate new individuals, the dominance relationship between the new individuals and the parent individuals is determined, and the population is updated; After multiple computation iterations, the Pareto frontier solution set corresponding to the computational tasks to be assigned is obtained; The position of the maximum value of the node allocation vector is calculated from the Pareto front solution set, and the corresponding settlement node is used as the optimal allocation node.

[0009] Optionally, the method further comprises: For a newly arrived computing task to be assigned, based on the Pareto front solution set corresponding to the first historical computing task to be assigned and the Pareto front solution set corresponding to the second historical computing task to be assigned, respectively construct a first allocation prediction set and a second allocation prediction set for the newly arrived computing task to be assigned; According to the first allocation prediction set and the second allocation prediction set, based on the computing amounts corresponding to the newly arrived computing task to be allocated, the first historical computing task to be allocated and the second historical computing task to be allocated, an extrapolation direction of the newly arrived computing task to be allocated is calculated; According to the optimal node allocation of historical tasks and the extrapolation direction of calculation, the initial individual of the task node allocation vector is predicted; The initial individuals of the task node allocation vector are added to the initial population of the task node allocation vector corresponding to the multi-objective optimization function of the newly arrived computing task to be allocated, and the optimal allocation node is determined by calculation.

[0010] Optionally, calculating the cluster power consumption of multiple computing nodes of the cloud platform after allocating the computing task to be allocated to the second computing node in the first computing node includes: Determine the power consumption of the second computing node based on the increased CPU utilization and GPU utilization of the second computing node after the computing task to be allocated is allocated to the second computing node, as well as the current CPU utilization, current GPU utilization, CPU no-load power consumption, CPU full-load power consumption, GPU no-load power consumption, and GPU full-load power consumption of the second computing node; The cluster power consumption is determined according to the power consumption of the second computing node and the current power consumption of other computing nodes.

[0011] Optionally, calculating the cluster load dispersion degree of the plurality of computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node includes: Determine the load of the second computing node based on the increased CPU usage and GPU usage of the second computing node after the computing task to be allocated is allocated to the second computing node, as well as the disk IO usage and network bandwidth usage of the second computing node; The cluster load dispersion degree is determined based on the load of the second computing node and the current loads of other computing nodes.

[0012] Optionally, calculating the service level indicators of the plurality of computing nodes of the cloud platform after allocating the computing task to be allocated to the second computing node in the first computing node includes: When the cloud platform has been running for more than or equal to T hours, determine the service level indicator according to the fault duration of the second computing node, the time required for the second computing node to execute the computing task to be assigned, and the current running time of the cloud platform; When the cloud platform operation time is less than T hours, determining the service level indicator according to the failure rate function of the second computing node, the time required for the second computing node to execute the computing task to be assigned, and the current cloud platform operation time; The cloud platform running for T hours indicates that the cloud platform has reached a stable operating state.

[0013] A second aspect of an embodiment of the present invention provides a heterogeneous computing power allocation device, the device comprising: A first determination module, used to determine the virtual resources required by the computing task to be assigned; A screening module, used to screen out a first computing node that can carry the computing task to be assigned from multiple computing nodes of the cloud platform, wherein the resource amount of the first computing node satisfies the virtual resources required by the computing task to be assigned; The optimal node determination module is used to calculate the cluster power consumption, cluster load dispersion and service level index of multiple computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node; the optimal allocation node of the computing task to be allocated is determined with the service level index being not less than a preset service level index threshold as a constraint and the lowest cluster power consumption and the smallest cluster load dispersion as a goal; The allocation module is used to allocate the computing task to be allocated to the optimal allocation node.

[0014] A third aspect of an embodiment of the present invention provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executed, implements the heterogeneous computing power allocation method as described in the first aspect of the present invention.

[0015] A fourth aspect of an embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the heterogeneous computing power allocation method as described in the first aspect of the present invention.

[0016] A fifth aspect of an embodiment of the present invention provides a computer program product, including a computer program / instruction, which is implemented by a processor to implement the steps in the heterogeneous computing power allocation method as described in the first aspect of the present invention.

[0017] In the embodiment of the present invention, the energy consumption of the server is quantified by the power consumption function, the load dispersion degree is used to measure the resource utilization efficiency, and the energy + efficiency dual objective function model is established to evaluate the energy efficiency of heterogeneous computing power. The dynamic multi-objective optimization algorithm is used to optimize the two objective functions at the same time. At the same time, the service level index is used as a constraint condition to allocate computing tasks to the computing nodes (servers) with the highest energy efficiency, so as to achieve the dual goals of high performance and low energy consumption, and improve the operation stability of the customer business system and customer satisfaction. In addition, in the embodiment of the present invention, for the newly arrived computing tasks to be allocated, the energy efficiency optimal allocation strategy of the historical tasks can be combined, and the optimal allocation strategy of the newly arrived computing tasks can be predicted according to the energy efficiency of the server changes, so as to quickly respond to the allocation request of the user's task and realize the dynamic adjustment of computing resources.

[0018] Therefore, the method proposed in the embodiment of the present invention comprehensively considers both energy and efficiency to dynamically allocate resources, which can achieve optimal resource allocation and efficient use of energy, thereby achieving the purpose of improving energy efficiency and reducing costs. At the same time, the service quality is taken into consideration, and the energy efficiency optimal allocation strategy for new tasks is predicted in combination with the historical resource allocation situation, so as to ensure the smooth operation of the business system while improving the response speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative work.

[0020] Figure 1 is a flowchart of the steps of the heterogeneous computing power allocation method provided by an embodiment of the present invention; Figure 2 It is a detailed flowchart of the heterogeneous computing power allocation method provided by an embodiment of the present invention; Figure 3 It is a structural block diagram of a heterogeneous computing power allocation device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0021] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0022] In the embodiment of the present invention, considering that in the related art, only scheduling computing tasks by load may cause the server to run in a high energy consumption state for a long time. Specifically, most load scheduling strategies have certain limitations. For example, if the scheduling strategy does not match and is not reasonably configured according to the actual resources and needs of the server, it may cause uneven resource allocation, some server resources are overused (running in a high energy consumption state for a long time), and other server resources are idle. At the same time, in the case of high concurrent requests, multiple processes or tasks may compete for limited resources, which may lead to the occurrence of high load conditions. In addition, for resource-intensive tasks, a large amount of computing resources are required. If these tasks are not properly scheduled, the server may be in a high load state for a long time. It can be seen that in the process of scheduling computing tasks by load, the matching of the scheduling strategy, dynamic adjustment capability, priority management capability, fault tolerance mechanism and elastic expansion performance will all affect the high load operation of the server.

[0023] In addition, the embodiments of the present invention also take into account that the cloud platform should not sacrifice user service quality while improving energy efficiency, and service level indicators should also be taken into consideration to achieve rapid response to user business needs and maintain or improve the service standards promised to customers.

[0024] Based on the above considerations, an embodiment of the present invention proposes a dynamic multi-objective heterogeneous computing resource energy efficiency evaluation method based on prediction. Considering both energy and efficiency, the corresponding optimization function is set, and the service index is used as a constraint condition, and a multi-objective optimization algorithm is used to implement the energy-efficient optimal task allocation strategy. By calculating and managing energy consumption, resources can be allocated more reasonably while stably carrying the customer business system and meeting service indicators, ensuring that computing tasks are executed with the highest energy efficiency. At the same time, the energy-efficient optimal allocation strategy for the current task is predicted in combination with the historical resource allocation situation. After the new computing task arrives, it can respond quickly and perform resource scheduling, thereby achieving a win-win situation for energy efficiency and service quality.

[0025] Specifically, Figure 1 As shown, it shows a flowchart of the steps of the heterogeneous computing power allocation method proposed in an embodiment of the present invention, and the method includes the following steps: S101, determining virtual resources required for a computing task to be assigned.

[0026] S102, selecting a first computing node that can carry the computing task to be allocated from multiple computing nodes of the cloud platform, wherein the resource amount of the first computing node satisfies the virtual resources required by the computing task to be allocated.

[0027] S103, calculate the cluster power consumption, cluster load dispersion and service level index of multiple computing nodes of the cloud platform after allocating the computing task to be allocated to the second computing node in the first computing node; with the service level index not less than the preset service level index threshold as a constraint, and with the lowest cluster power consumption and the smallest cluster load dispersion as the goal, determine the optimal allocation node for the computing task to be allocated.

[0028] S104: Allocate the computing task to be allocated to the optimal allocation node.

[0029] In the embodiment of the present invention, based on the above method, a method for allocating heterogeneous computing power resources based on dynamic multi-objective energy efficiency evaluation is provided for heterogeneous computing power of the cloud platform, which dynamically optimizes resource allocation, improves business operation stability and operational efficiency, and reduces costs. The method can be applied to the control end corresponding to the cloud platform.

[0030] In the embodiment of the present invention, in step S101, the computing tasks to be allocated are independent tasks, each computing task is independent of each other and does not interfere with each other, and each computing task can be allocated computing resources independently.

[0031] In the embodiment of the present invention, the virtual machine resources required for each independent task can be evaluated separately. Figure 2 The specific process of the heterogeneous computing power allocation method provided in the embodiment of the present invention is further explained. Figure 2 A detailed flow chart of the heterogeneous computing power allocation method is shown, as Figure 2 As shown, in the embodiment of the present invention, for the , For each computing task, the required virtual resources are evaluated based on its computing, storage, and network requirements. Specific specifications: core vcpu, G memory, open Model of GPU card.

[0032] In the embodiment of the present invention, in step S102, the cloud platform already has Each computing node (server) monitors the resource usage of each computing node, determines the resources that can be allocated to each computing node, and then determines the number of nodes that can carry the task based on the resource requirements of the independent task. The first computing node.

[0033] In the embodiment of the present invention, in step S103, an energy + efficiency evaluation model can be established. Select the best first computing node among the first computing nodes that can carry the task Placement location.

[0034] In an embodiment of the present invention, before calculating the dual-objective model function, based on the resource requirements of the computing task and according to the resource monitoring situation, the servers that cannot carry the task are screened out, so that resource planning and allocation can be performed more accurately, the resource allocation efficiency can be improved, and it can be ensured that all assigned tasks can be successfully executed on the available servers, thereby ensuring the efficient and stable operation of the computing cluster and improving the user experience.

[0035] Specifically, step S103 includes the following sub-steps: S1031, for each computing task to be assigned, establish and calculate the following multi-objective optimization function: (1) in, and They are cluster power consumption calculation function and cluster load dispersion calculation function. is the computing node allocation vector of the computing tasks to be assigned, The value of the computing node that cannot carry the computing task to be assigned is set to 0; Indicates service level indicators; It is the preset service level indicator threshold.

[0036] S1032, during the calculation process, set the maximum number of iterations and the number of populations; randomly generate the initial population, and ensure that the computing nodes that cannot carry the tasks to be assigned are set to 0; during each calculation iteration, use the Chebyshev decomposition method to decompose the multi-objective problem, perform crossover and mutation operations on each individual to generate a new individual, determine the dominance relationship between the new individual and the parent individual, and update the population.

[0037] S1033, after multiple calculation iterations, a Pareto front solution set corresponding to the calculation task to be assigned is obtained.

[0038] S1034, calculating the position of the maximum value of the node allocation vector from the Pareto front solution set, and setting the corresponding settlement node as the optimal allocation node.

[0039] Specifically, in an embodiment of the present invention, the cluster power consumption calculation function is a function of the cluster power consumption of multiple computing nodes of the cloud platform after allocating the computing task to be allocated to the second computing node in the first computing node, and the cluster load discreteness calculation function is a function of the cluster load discreteness of multiple computing nodes of the cloud platform after allocating the computing task to be allocated to the second computing node in the first computing node.

[0040] In the embodiment of the present invention, based on the above formula (1), the energy efficiency evaluation model corresponding to the cloud platform can be obtained, such as Figure 2 As shown, based on the energy efficiency evaluation model, the corresponding optimal computing resource placement location can be determined for each computing task to be assigned.

[0041] SLA (Service Level Agreement) is a contract or agreement signed between a service provider and a customer, which defines the quality and performance standards of the service. In the embodiment of the present invention, a preset service level indicator threshold can be determined based on SLA, and the response time of the optimal allocation node to the allocated computing task cannot be lower than the preset service quality and performance standards.

[0042] In the embodiment of the present invention, for the calculation of the multi-objective optimization function, the maximum number of iterations can be set , set the population size , randomly generate the initial population of the current task node allocation vector , and ensure that the node position corresponding to the node that cannot carry the current task is 0, that is . Initialize the uniformly distributed weight vector And reference points And other algorithm parameters.

[0043] In the embodiment of the present invention, the appropriate number of populations can be set according to the total number of cluster computing nodes in actual application, the amount of tasks to be assigned, the amount of resources, etc.

[0044] In the embodiment of the present invention, the number of populations set is, for example, 10. A weight vector generation algorithm is used to uniformly generate a corresponding number of weight vectors (10) in two-dimensional space. Each weight vector is associated with a corresponding individual (the individuals with all weight vectors together constitute a population). The reference point is the theoretical optimal value of all objective functions (when only the current objective function is considered). Due to the simultaneous optimization of multiple objectives, the reference point cannot be reached in theory. Therefore, in the embodiment of the present invention, the population is pushed to the reference point through an evolutionary algorithm to obtain a Pareto optimal solution set.

[0045] Specifically, in each iteration, the multi-objective optimization problem is first decomposed using the Chebyshev decomposition method. Then, for each individual associated with a weight vector, evolutionary operators such as crossover and mutation are performed on the individual based on its adjacent sub-problems to generate a new generation node allocation vector individual. . Determine the individual vector of the child node allocation The dominance between the parent individuals and the neighboring parent individuals. If the newly generated individual dominates a neighboring parent individual, the corresponding parent individual is deleted from the population and the newly generated individual is added to the population.

[0046] In the embodiment of the present invention, the evolutionary algorithm traverses the individuals just associated with each weight vector, finds the individuals adjacent to the individual, and crosses and mutates them to generate new offspring individuals, and retains the offspring individuals with better quality to complete a round of evolution.

[0047] In the embodiment of the present invention, each computing task ( ) After iteration, the corresponding Pareto frontier solution set considering the optimal energy efficiency can be obtained , for the , computing tasks, from Choose a compromise allocation As its energy-efficient optimal node allocation scheme, calculate Get the location of the maximum value of the calculation node allocation vector, recorded as , assign the task to its corresponding computing node.

[0048] In an optional implementation, the following steps may be used to calculate the cluster power consumption of multiple computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node: S11, determine the power consumption of the second computing node based on the increased CPU utilization and GPU utilization of the second computing node after allocating the computing task to be allocated to the second computing node, as well as the current CPU utilization, current GPU utilization, CPU no-load power consumption, CPU full-load power consumption, GPU no-load power consumption, and GPU full-load power consumption of the second computing node.

[0049] S12: Determine the cluster power consumption according to the power consumption of the second computing node and the current power consumption of other computing nodes.

[0050] Specifically, suppose that n Virtual resources required for the computing tasks to be assigned Placed on the second computing node ( , The first computing node that can carry the task to be assigned) Power consumption of a computing node for: (2) in, Indicates k The CPU no-load power consumption of each computing node, Indicates k GPU no-load power consumption, Indicates k The full load power consumption of the CPU of a computing node, Indicates k The current CPU utilization of the computing nodes, Indicates The virtual machine resources required for a computing task Will increase CPU utilization, Indicates The total number of vCPUs that can be provided by a computing node; Indicates the full load power consumption of the GPU, Indicates the current GPU utilization, Indicates The virtual machine resources required for a computing task Will increase GPU utilization, Indicates The number of GPUs that a computing node can provide.

[0051] Furthermore, the cluster power consumption can be determined based on the power consumption of the second computing node and the power consumption of other current computing nodes. for: (3) in, represents the CPU no-load power consumption and GPU no-load power consumption of the j-th computing node among the m first computing nodes except the k-th computing node; and They represent the full-load power consumption of the CPU and GPU of the j-th computing node, respectively. and They represent the current CPU utilization and current GPU utilization of the j-th computing node respectively.

[0052] Based on the cluster power consumption calculation function represented by formula (2) and formula (3), the power consumption change of the entire cluster after the computing task to be allocated is allocated to a second computing node can be determined.

[0053] Furthermore, based on the cluster power consumption calculation function, the optimal allocation node of the computing task to be allocated can be determined with the goal of minimizing the cluster power consumption.

[0054] It should be noted that, in the embodiment of the present invention, the total power consumption of the M computing nodes already in the cloud platform can be calculated as the cluster power consumption, or only the total power consumption of the m first computing nodes that can carry the computing tasks to be assigned can be calculated as the cluster power consumption. In order to reduce the amount of calculation, it is preferred to calculate the total power consumption of the m first computing nodes that can carry the computing tasks to be assigned as the cluster power consumption. The above formula (3) is explained by calculating the total power consumption of the m first computing nodes that can carry the computing tasks to be assigned as the cluster power consumption.

[0055] In an optional implementation, the following steps may be used to calculate the cluster load dispersion degree of multiple computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node: S21, determining the load of the second computing node based on the increased CPU usage and GPU usage of the second computing node after allocating the computing task to be allocated to the second computing node, as well as the disk IO usage and network bandwidth usage of the second computing node.

[0056] S22: Determine the degree of cluster load dispersion based on the load of the second computing node and the current loads of other computing nodes.

[0057] Specifically, in the embodiment of the present invention, the CPU utilization rate, GPU utilization rate, memory utilization rate, disk IO utilization rate and network bandwidth utilization rate of the computing node are used as cluster load evaluation indicators. Indicates , The computing nodes that can carry tasks carry the The load after computing tasks: (4) in, Indicates The computing nodes host The CPU usage after the computing task, ; Indicates The computing nodes host GUP utilization after computing tasks, ; Indicates memory usage; Indicates disk IO usage; Indicates the network bandwidth usage; They represent the weight coefficients of CPU, GPU, memory, disk IO and network bandwidth respectively, and their values ​​can be determined by the entropy weight method.

[0058] In the embodiment of the present invention, the node load dispersion degree can be used to measure the cluster load balance: (5) in, It represents the current load of the jth computing node among the M computing nodes in the cloud platform. The calculation method of the load is similar to that of formula (4), which is determined based on the CPU utilization, GPU utilization, memory utilization, disk IO utilization and network bandwidth utilization of the computing node.

[0059] In an optional implementation, the following steps may be used to calculate the service level indicators of multiple computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node: S31, when the cloud platform has been running for more than or equal to T hours, determine the service level indicator according to the failure duration of the second computing node, the time required for the second computing node to execute the computing task to be assigned, and the current running time of the cloud platform.

[0060] The fact that the cloud platform has been running for T hours indicates that the cloud platform has reached a stable operating state.

[0061] S32, when the cloud platform operation time is less than T hours, determine the service level indicator according to the failure rate function of the second computing node, the time required for the second computing node to execute the computing task to be assigned, and the current cloud platform operation time.

[0062] Specifically, in the embodiment of the present invention, , Virtual machines on a compute node Execute The computational task requires hours, cloud platform running hours to reach a stable operating state, the cloud platform is currently running Hours, if , then use formula (6) to calculate the service level index; if , then use formula (7) to calculate the service level index.

[0063] Specifically, remember The failure rate of computing nodes is , calculate the failure rate function of the node and its usage time Related to, denoted as , if the cloud platform has not reached a stable operating state, Service level indicators for computing nodes for: (6) Specifically, when the cloud platform has reached a stable operating state, the failure time can be monitored and recorded. The failure time of a computing node is , then when the cloud platform has reached a stable operating state, Service running time of each computing node for: (7) In the embodiment of the present invention, based on the complexity and long-term nature of cloud platform construction and operation, the cloud platform service level indicators are divided into the initial operation stage of cloud platform construction and the long-term operation and maintenance stage of cloud platform, so as to more comprehensively and systematically evaluate the cloud platform service level indicators.

[0064] Among them, the initial operation stage of cloud platform construction (that is, the cloud platform has not reached a stable operating state, and the cloud platform operation time is less than T hours): the stability and performance of hardware equipment as the infrastructure of the cloud platform will directly affect the overall performance of the cloud platform.

[0065] Long-term operation and maintenance phase of the cloud platform (i.e. the cloud platform has reached a stable operating state and the cloud platform operating time is greater than or equal to T hours): Evaluate the performance, operation and maintenance management capabilities of the cloud platform during long-term operation.

[0066] Specifically, in the embodiment of the present invention, the method further includes the following steps: S41, for the newly arrived computing tasks to be assigned, based on the Pareto front solution set corresponding to the first historical computing tasks to be assigned and the Pareto front solution set corresponding to the second historical computing tasks to be assigned, respectively construct the first allocation prediction set and the second allocation prediction set of the newly arrived computing tasks to be assigned.

[0067] S42, calculating the extrapolation direction of the newly arrived computing task to be allocated according to the first allocation prediction set and the second allocation prediction set and based on the computing amounts corresponding to the newly arrived computing task to be allocated, the first historical computing task to be allocated, and the second historical computing task to be allocated.

[0068] S43, predicting the initial individual of the task node allocation vector according to the optimal node allocation of historical tasks and the calculated extrapolation direction.

[0069] S44, adding the initial individuals of the task node allocation vectors to the initial population of the task node allocation vectors corresponding to the multi-objective optimization function of the newly arrived computing task to be allocated, and calculating and determining the optimal allocation node.

[0070] In the embodiment of the present invention, the first allocation prediction set and the second allocation prediction set are respectively derived from Pareto front solution sets corresponding to different historical computing tasks to be allocated.

[0071] In the embodiment of the present invention, for the subsequent new For each computing task, the optimal allocation strategy for the new task can be predicted based on the optimal node allocation solution set information of the historical tasks.

[0072] Specifically, Figure 2 As shown, in the embodiment of the present invention, the optimal Pareto solution set obtained by the evolutionary algorithm for all historical computing tasks can be saved as historical information. Based on the historical information and the energy + efficiency optimal evaluation model (the above formula (1)), multi-objective optimal calculation is performed, so as to predict the optimal allocation result of the new task based on the correlation and similarity between the new task and the historical tasks, reduce the calculation amount of the new task, and increase the rapid response capability.

[0073] Specifically, first set the number of allocation vectors required in the task allocation prediction set ; Through the Computational tasks, build The allocation prediction set of computing tasks Initialize the task allocation prediction set is an empty set. Take the average of all node allocation vectors in the optimal frontier solution set and add the mean vector of the task allocation prediction set As the first prediction task allocation vector. Using the K-means clustering algorithm, set the number of clusters to , yes All node allocation vectors in are clustered. The cluster center of each cluster is taken as the task allocation prediction set The remaining prediction vector in . Get a The first predicted set of node assignment vectors .

[0074] Through the Computational tasks, build Compute task allocation prediction set , using and obtaining the first prediction set In a similar way, we obtain The computing tasks corresponding to the second prediction set are assigned to the computing tasks .

[0075] Distribute prediction sets according to tasks and , calculate the subsequent new The extrapolation direction of the task , among which The directions are defined as: ; in, Respectively represent The amount of computation for a computing task, is the computational task allocation prediction set The The energy-efficient optimal node allocation vector for historical computing tasks, is the computational task allocation prediction set Zhongyu The optimal node assignment vector with the closest Euclidean distance.

[0076] For For each computing task, the optimal node allocation of historical tasks and the extrapolated direction of the calculation are used to predict its The task nodes are assigned vector initial individuals, where The individuals are: ; in , is a system where each dimension has a mean of 0 and a variance of A vector of normally distributed random numbers. The task node allocation vector initial individuals join the Multi-objective optimization of computing tasks, task node allocation vector, initial population ,the remaining The individuals in the population are still randomly generated, thus forming the initial population of the node allocation vector , further adopting a method similar to steps S1032 to S1034, for the The corresponding optimal allocation node is calculated and determined.

[0077] In the embodiment of the present invention, in step S42, the computing amount corresponding to the computing task to be allocated represents the virtual resources required by the computing task to be allocated.

[0078] Therefore, the heterogeneous computing power allocation method based on dynamic multi-objective heterogeneous computing power resource energy efficiency evaluation proposed in the embodiment of the present invention comprehensively considers the energy consumption and usage efficiency of each computing node (server), establishes an energy + efficiency dual-objective model, and comprehensively evaluates the energy efficiency of heterogeneous resources. The dual-objective model is optimized using a multi-objective optimization algorithm, and the service level index is used as a constraint condition to find the optimal balance between energy and efficiency, dynamically allocate computing resources, improve the overall energy efficiency of the cluster, ensure the reliability and stability of the customer business system operation, and improve customer satisfaction while reducing operating costs.

[0079] In the embodiment of the present invention, a dynamic multi-objective algorithm is introduced when optimizing the dual-objective model, and the allocation strategy of the next new computing task is guided and optimized by combining the historical energy efficiency data and change trend of the server. While quickly responding to new customer needs, it can better adapt to changes in server energy consumption and usage efficiency.

[0080] In an embodiment of the present invention, before calculating the dual-objective model function, based on the resource requirements of the computing task and according to the resource monitoring situation, the servers that cannot carry the task are screened out, so that resource planning and allocation can be performed more accurately, the resource allocation efficiency can be improved, and it can be ensured that all assigned tasks can be successfully executed on the available servers, thereby ensuring the efficient and stable operation of the computing cluster and improving the user experience.

[0081] With the increasing application of artificial intelligence and big data, the computing power scale of intelligent computing continues to expand, and the growth in computing power demand is also increasing the consumption of electricity. The heterogeneous computing power allocation method provided in the embodiment of the present invention can optimize the energy efficiency of cloud platform resources and effectively reduce operating costs.

[0082] In practical applications, in cloud platform service scenarios that require real-time processing, such as financial services and medical information systems, the heterogeneous computing power allocation method provided by the embodiment of the present invention can predict the energy-efficient optimal allocation strategy for new tasks based on historical resource allocation conditions, quickly respond to user needs, and improve customer satisfaction.

[0083] By adopting the heterogeneous computing power allocation method provided in the embodiment of the present invention, a high-energy-efficiency cloud platform can be obtained. It can provide products and services at a lower cost while meeting customer business service indicators and ensuring the stable operation of business systems. It can promote its own technological development and improve the competitiveness of enterprises in the market. Based on the heterogeneous computing power allocation method provided in the embodiment of the present invention, it is also possible to implement energy efficiency evaluation of existing cloud platforms, help identify the patterns and efficiency of server energy consumption, and promote the transformation of the entire society to green development.

[0084] Based on the same inventive concept, the embodiment of the present invention provides a heterogeneous computing power allocation device, such as Figure 3 As shown, it shows a structural block diagram of a heterogeneous computing power allocation device provided by an embodiment of the present invention, and the device includes: A first determination module 301 is used to determine the virtual resources required by the computing task to be assigned; A screening module 302 is used to screen out a first computing node that can carry the computing task to be assigned from multiple computing nodes of the cloud platform, and the resource amount of the first computing node satisfies the virtual resources required by the computing task to be assigned; The optimal node determination module 303 is used to calculate the cluster power consumption, cluster load dispersion and service level index of multiple computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node; with the service level index not less than the preset service level index threshold as a constraint, and with the lowest cluster power consumption and the smallest cluster load dispersion as the goal, determine the optimal allocation node for the computing task to be allocated; The allocation module 304 is used to allocate the computing task to be allocated to the optimal allocation node.

[0085] Optionally, the optimal node determination module 303 is used to: For each computing task to be assigned, the following multi-objective optimization function is established and calculated:

[0086] in, and They are cluster power consumption calculation function and cluster load dispersion calculation function. is the computing node allocation vector of the computing tasks to be assigned, The value of the computing node that cannot carry the computing task to be assigned is set to 0; To preset service level indicator thresholds; During the calculation process, the maximum number of iterations and the number of populations are set; the initial population is randomly generated to ensure that the computing nodes that cannot carry the tasks to be assigned are set to 0; in each calculation iteration, the Chebyshev decomposition method is used to decompose the multi-objective problem, and crossover and mutation operations are performed on each individual to generate new individuals, the dominance relationship between the new individuals and the parent individuals is determined, and the population is updated; After multiple computation iterations, the Pareto frontier solution set corresponding to the computational tasks to be assigned is obtained; The position of the maximum value of the node allocation vector is calculated from the Pareto front solution set, and the corresponding settlement node is used as the optimal allocation node.

[0087] Optionally, the device further comprises: a prediction module, configured to: For a newly arrived computing task to be assigned, based on the Pareto front solution set corresponding to the first historical computing task to be assigned and the Pareto front solution set corresponding to the second historical computing task to be assigned, respectively construct a first allocation prediction set and a second allocation prediction set for the newly arrived computing task to be assigned; According to the first allocation prediction set and the second allocation prediction set, based on the computing amounts corresponding to the newly arrived computing task to be allocated, the first historical computing task to be allocated and the second historical computing task to be allocated, an extrapolation direction of the newly arrived computing task to be allocated is calculated; According to the optimal node allocation of historical tasks and the extrapolation direction of calculation, the initial individual of the task node allocation vector is predicted; The initial individuals of the task node allocation vector are added to the initial population of the task node allocation vector corresponding to the multi-objective optimization function of the newly arrived computing task to be allocated, and the optimal allocation node is determined by calculation.

[0088] Optionally, the optimal node determination module 303 is further configured to: Determine the power consumption of the second computing node based on the increased CPU utilization and GPU utilization of the second computing node after the computing task to be allocated is allocated to the second computing node, as well as the current CPU utilization, current GPU utilization, CPU no-load power consumption, CPU full-load power consumption, GPU no-load power consumption, and GPU full-load power consumption of the second computing node; The cluster power consumption is determined according to the power consumption of the second computing node and the current power consumption of other computing nodes.

[0089] Optionally, the optimal node determination module 303 is further configured to: Determine the load of the second computing node based on the increased CPU usage and GPU usage of the second computing node after the computing task to be allocated is allocated to the second computing node, as well as the disk IO usage and network bandwidth usage of the second computing node; The cluster load dispersion degree is determined based on the load of the second computing node and the current loads of other computing nodes.

[0090] Optionally, the optimal node determination module 303 is further configured to: When the cloud platform has been running for more than or equal to T hours, determine the service level indicator according to the fault duration of the second computing node, the time required for the second computing node to execute the computing task to be assigned, and the current running time of the cloud platform; When the cloud platform operation time is less than T hours, determining the service level indicator according to the failure rate function of the second computing node, the time required for the second computing node to execute the computing task to be assigned, and the current cloud platform operation time; The cloud platform running for T hours indicates that the cloud platform has reached a stable operating state.

[0091] Based on the same inventive concept, an embodiment of the present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes, the steps in the heterogeneous computing power allocation method described in any of the above embodiments are implemented.

[0092] Based on the same inventive concept, an embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the steps in the heterogeneous computing power allocation method described in any of the above embodiments are implemented.

[0093] Based on the same inventive concept, an embodiment of the present invention provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps in the heterogeneous computing power allocation method described in any of the above embodiments.

[0094] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0095] It will be appreciated by those skilled in the art that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0096] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (apparatus), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0097] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0098] These computer program instructions can also be loaded onto a computer or other programmable terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0099] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0100] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0101] The above is a detailed introduction to a heterogeneous computing power allocation method provided by the present invention. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A method for allocating heterogeneous computing power, characterized in that: The method comprises: Determine the virtual resources required for the computing tasks to be assigned; Filtering out a first computing node that can carry the computing task to be assigned from multiple computing nodes of the cloud platform, wherein the resource amount of the first computing node satisfies the virtual resources required by the computing task to be assigned; After calculating the cluster power consumption, cluster load dispersion and service level index of multiple computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node; taking the service level index not less than a preset service level index threshold as a constraint, taking the lowest cluster power consumption and the smallest cluster load dispersion as a goal, determining the optimal allocation node for the computing task to be allocated; Allocate the computing task to be allocated to the optimal allocation node.

2. The heterogeneous computing power allocation method according to claim 1, characterized in that: Taking the service level indicator being not less than a preset service level indicator threshold as a constraint and taking the lowest cluster power consumption and the smallest cluster load dispersion as a goal, determining the optimal allocation node for the computing task to be allocated includes: For each computing task to be assigned, the following multi-objective optimization function is established and calculated: in, and They are cluster power consumption calculation function and cluster load dispersion calculation function. is the computing node allocation vector of the computing tasks to be assigned, The value of the computing node that cannot carry the computing task to be assigned is set to 0; Indicates service level indicators; To preset service level indicator thresholds; During the calculation process, the maximum number of iterations and the number of populations are set; the initial population is randomly generated to ensure that the computing nodes that cannot carry the tasks to be assigned are set to 0; in each calculation iteration, the Chebyshev decomposition method is used to decompose the multi-objective problem, and crossover and mutation operations are performed on each individual to generate new individuals, the dominance relationship between the new individuals and the parent individuals is determined, and the population is updated; After multiple computation iterations, the Pareto frontier solution set corresponding to the computational tasks to be assigned is obtained; The position of the maximum value of the node allocation vector is calculated from the Pareto front solution set, and the corresponding settlement node is used as the optimal allocation node.

3. The heterogeneous computing power allocation method according to claim 2, characterized in that: The method further comprises: For a newly arrived computing task to be assigned, based on the Pareto front solution set corresponding to the first historical computing task to be assigned and the Pareto front solution set corresponding to the second historical computing task to be assigned, respectively construct a first allocation prediction set and a second allocation prediction set for the newly arrived computing task to be assigned; According to the first allocation prediction set and the second allocation prediction set, based on the computing amounts corresponding to the newly arrived computing task to be allocated, the first historical computing task to be allocated and the second historical computing task to be allocated, an extrapolation direction of the newly arrived computing task to be allocated is calculated; According to the optimal node allocation of historical tasks and the extrapolation direction of calculation, the initial individual of the task node allocation vector is predicted; The initial individuals of the task node allocation vector are added to the initial population of the task node allocation vector corresponding to the multi-objective optimization function of the newly arrived computing task to be allocated, and the optimal allocation node is determined by calculation.

4. The heterogeneous computing power allocation method according to any one of claims 1 to 3, characterized in that: The cluster power consumption of the plurality of computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node is calculated, including: Determine the power consumption of the second computing node based on the increased CPU utilization and GPU utilization of the second computing node after the computing task to be allocated is allocated to the second computing node, as well as the current CPU utilization, current GPU utilization, CPU no-load power consumption, CPU full-load power consumption, GPU no-load power consumption, and GPU full-load power consumption of the second computing node; The cluster power consumption is determined according to the power consumption of the second computing node and the current power consumption of other computing nodes.

5. The heterogeneous computing power allocation method according to any one of claims 1 to 3, characterized in that: The calculation is performed to allocate the computing task to be allocated to the second computing node in the first computing node, and the cluster load dispersion degree of the plurality of computing nodes of the cloud platform includes: Determine the load of the second computing node based on the increased CPU usage and GPU usage of the second computing node after the computing task to be allocated is allocated to the second computing node, as well as the disk IO usage and network bandwidth usage of the second computing node; The cluster load dispersion degree is determined based on the load of the second computing node and the current loads of other computing nodes.

6. The heterogeneous computing power allocation method according to any one of claims 1 to 3, characterized in that: After the computing task to be allocated is allocated to the second computing node in the first computing node, the service level indicators of the multiple computing nodes of the cloud platform are calculated, including: When the cloud platform has been running for more than or equal to T hours, determine the service level indicator according to the fault duration of the second computing node, the time required for the second computing node to execute the computing task to be assigned, and the current running time of the cloud platform; When the cloud platform operation time is less than T hours, determining the service level indicator according to the failure rate function of the second computing node, the time required for the second computing node to execute the computing task to be assigned, and the current cloud platform operation time; The cloud platform running for T hours indicates that the cloud platform has reached a stable operating state.

7. A heterogeneous computing power allocation device, characterized in that: The device comprises: A first determination module, used to determine the virtual resources required by the computing task to be assigned; A screening module, used to screen out a first computing node that can carry the computing task to be assigned from multiple computing nodes of the cloud platform, wherein the resource amount of the first computing node satisfies the virtual resources required by the computing task to be assigned; The optimal node determination module is used to calculate the cluster power consumption, cluster load dispersion and service level index of multiple computing nodes of the cloud platform after the computing task to be allocated is allocated to the second computing node in the first computing node; the optimal allocation node of the computing task to be allocated is determined with the service level index being not less than a preset service level index threshold as a constraint and the lowest cluster power consumption and the smallest cluster load dispersion as a goal; The allocation module is used to allocate the computing task to be allocated to the optimal allocation node.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the heterogeneous computing power allocation method described in any one of claims 1-6 is implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the heterogeneous computing power allocation method described in any one of claims 1 to 6 is implemented.

10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the steps in the heterogeneous computing power allocation method described in any one of claims 1-6 are implemented.

Citation Information

Cited By

  • Distributed heterogeneous task scheduling method and system based on evolutionary algorithm

    CN119987975A

  • Source storage computing resource collaborative optimization regulation and control method and device

    CN121146573A