Calculation node scheduling method and device and storage medium

By identifying overload or energy-saving conditions in a cloud computing cluster, dynamically migrating virtual machines and shutting them down or waiting for energy-saving shutdown nodes, the problem of unbalanced computing node load is solved, achieving load balancing and energy saving, and reducing total cost of ownership.

CN121900869APending Publication Date: 2026-04-21CHINA TELECOM CLOUD TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA TELECOM CLOUD TECH CO LTD
Filing Date
2025-11-26
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

In large-scale cloud computing clusters, uneven distribution of computing tasks among computing nodes can lead to overload or underload of some nodes, affecting virtual machine services and increasing total cost of ownership.

Method used

By acquiring the average load data of computing nodes, overload or energy-saving conditions can be identified, and virtual machines can be dynamically migrated and shut down or placed on nodes for energy-saving shutdown, thereby achieving load balancing and energy saving.

Benefits of technology

It achieves load balancing of the cloud computing cluster, reduces total cost of ownership, reduces power consumption, and ensures normal business operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121900869A_ABST
    Figure CN121900869A_ABST
Patent Text Reader

Abstract

The invention provides a computing node scheduling method and device and a storage medium, and belongs to the technical field of cloud computing. The method comprises the following steps: acquiring average load data of each computing node in a startup state in a cloud computing cluster in a monitoring period, and when determining that any computing node meets an overload condition according to the average load data, determining that a to-be-migrated virtual machine in the computing node is added into a to-be-migrated virtual machine list; when any computing node meets the energy-saving condition, all virtual machines on the computing node are added into a to-be-migrated virtual machine list, and the computing node is added into a computing node list which is shut down or is to be shut down in an energy-saving mode; and migrating each virtual machine in the to-be-migrated virtual machine list to the respective corresponding target computing node, and shutting down the computing node which is not shut down in the computing node list which is shut down or is to be shut down in an energy-saving manner. The method and the device aim at reasonably scheduling the computing nodes of the cloud computing cluster.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of cloud computing, and more specifically, to a method, apparatus, and storage medium for scheduling computing nodes. Background Technology

[0002] In large-scale cloud computing clusters, there are usually thousands or tens of thousands of devices, such as servers, as computing nodes. The reasonable allocation of computing tasks across all computing nodes is closely related to the total cost of ownership of the cloud computing cluster. For example, if some computing nodes are overloaded while others are underloaded, not only will the total cost of ownership of the cloud computing cluster remain high due to the unreasonable allocation of computing tasks, but it will also affect the virtual machine services on some overloaded computing nodes.

[0003] Therefore, the rational scheduling of computing nodes in a cloud computing cluster is an urgent problem to be solved. Summary of the Invention

[0004] This application provides a method, apparatus, and storage medium for scheduling computing nodes, aiming to rationally schedule computing nodes in a cloud computing cluster and reduce the total cost of ownership of the cloud computing cluster.

[0005] In a first aspect, embodiments of this application provide a method for scheduling computing nodes, the method comprising: Obtain the average load data of each computing node in the cloud computing cluster that is powered on during the monitoring period, and determine whether each computing node meets the overload condition or the energy-saving condition. When any compute node meets the overload condition, identify the virtual machines to be migrated in that compute node and add them to the list of virtual machines to be migrated; When any compute node meets the energy-saving conditions, all virtual machines on that compute node are added to the list of virtual machines to be migrated, and the compute node is added to the list of compute nodes that have been shut down or are to be shut down for energy saving. A dynamic migration strategy is executed, which is used to migrate each virtual machine in the list of virtual machines to be migrated to its corresponding target compute node, and to shut down the compute nodes that are not shut down in the list of compute nodes that have been shut down or are to be shut down for energy saving.

[0006] Optionally, the average load data of each computing node in the cloud computing cluster that is powered on during the monitoring period is obtained to determine whether each computing node meets the overload condition or the energy-saving condition, including: Within the monitoring period, at a preset sampling interval, monitoring data of each computing node in the cloud computing cluster that is in the powered-on state, as well as monitoring data of each virtual machine on each computing node, are acquired; wherein, the monitoring data of any computing node includes the computing node CPU load, the computing node service network bandwidth occupied, and the computing node storage access network bandwidth occupied; the monitoring data of any virtual machine includes the virtual machine CPU load, the virtual machine service network bandwidth occupied, and the virtual machine total I / O throughput. Based on the monitoring data of each computing node, the average load data of each computing node during the monitoring period is determined. The average load data of any computing node includes the average CPU load of the computing node, the average bandwidth occupied by the computing node's service network, and the average bandwidth occupied by the computing node's storage access network. Based on the average load data of each computing node, determine whether each computing node meets the overload condition or the energy-saving condition.

[0007] Optionally, based on the average load data of each computing node, determining whether each computing node meets overload conditions or energy-saving conditions includes: For any computing node, if the computing node satisfies any one of the following conditions: the average CPU load of the computing node is greater than the preset maximum CPU load of the computing node, the average bandwidth occupied by the computing node's service network is greater than the preset maximum bandwidth occupied by the computing node's service network, and the average bandwidth occupied by the computing node's storage access network is greater than the preset maximum bandwidth occupied by the computing node's storage access network, then the computing node satisfies the overload condition. For any computing node, the computing node meets the energy-saving conditions if any one of the following conditions is met: the average CPU load of the computing node is less than the preset minimum CPU load of the computing node, the average bandwidth occupied by the computing node's service network is less than the preset minimum bandwidth occupied by the computing node's service network, and the average bandwidth occupied by the computing node's storage access network is less than the preset minimum bandwidth occupied by the computing node's storage access network.

[0008] Optionally, when any compute node meets the overload condition, the virtual machines to be migrated in that compute node are identified, and the virtual machines to be migrated are added to the list of virtual machines to be migrated, including: When any computing node meets the overload condition, the minimum load migration amount of the computing node is determined based on the average load data of that computing node. Calculate the average load data of each virtual machine on the compute node. The average load data of any virtual machine includes the average CPU load of the virtual machine, the average bandwidth occupied by the virtual machine's service network, and the average total I / O throughput of the virtual machine. Under the condition of meeting the minimum load migration amount of the computing node, based on the average load data of each virtual machine on the computing node, at least one virtual machine with the minimum total migration resource amount is determined as the virtual machine to be migrated by dynamic programming algorithm, and the virtual machine to be migrated is added to the list of virtual machines to be migrated.

[0009] Optionally, a dynamic migration strategy is implemented, including: A target compute node determination sub-strategy is executed, wherein the target compute node determination strategy is used to determine the target compute node corresponding to each virtual machine to be migrated in the list of virtual machines to be migrated. The power-on / off and migration sub-policies are executed to migrate all virtual machines in the list of virtual machines to be migrated to their respective target compute nodes, and to shut down the compute nodes that are not shut down in the list of compute nodes that have been shut down or are to be shut down for energy saving.

[0010] Optionally, a target computing node determination sub-strategy is executed, including: Traverse each computing node. If any computing node is not in the list of computing nodes that have been shut down or are waiting to be shut down for energy saving, then the computing node is an online computing node. For any online computing node, determine the remaining load that the online computing node can support. The remaining load that can support includes the remaining CPU load, the remaining bandwidth that the service network can support, and the remaining bandwidth that the storage access network can support. Based on the remaining load capacity of each online computing node, a dynamic programming algorithm is used to perform resource scheduling and matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination computing node for each virtual machine to be migrated.

[0011] Optionally, based on the remaining load capacity of each online computing node, a dynamic programming algorithm is used to perform resource scheduling matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination computing node for each virtual machine to be migrated, including: When the remaining load capacity of all online compute nodes does not meet the migration requirements of all virtual machines to be migrated in the list of virtual machines to be migrated, select a compute node from the list of compute nodes that have been shut down or are waiting to be shut down for energy saving, and determine the power-on status of the compute node. When the compute node is powered off, add the compute node to the list of compute nodes to be powered on. When the computing node is powered on, or after a computing node that is powered off is added to the list of computing nodes to be powered on, the remaining load that the computing node can bear is determined. Based on the remaining load capacity of the compute node and all online compute nodes, a dynamic programming algorithm is used to perform resource scheduling matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination compute node for each virtual machine to be migrated.

[0012] Optionally, power-on / off and migration sub-policies are executed, including: Perform a power-on operation on the computing nodes in the list of computing nodes to be powered on; Migrate all virtual machines in the list of virtual machines to be migrated to their respective target compute nodes; Shut down the computing nodes that are not currently powered down in the list of computing nodes that have been powered down or are awaiting power-saving shutdown.

[0013] Secondly, embodiments of this application provide a scheduling device for computing nodes, the device comprising: The acquisition module is used to acquire the average load data of each computing node in the cloud computing cluster that is powered on during the monitoring period, and to determine whether each computing node meets the overload condition or the energy-saving condition. The overload processing module is used to determine the virtual machines to be migrated in any computing node when any computing node meets the overload condition, and add the virtual machines to be migrated to the list of virtual machines to be migrated; The energy-saving processing module is used to add all virtual machines on any computing node to the list of virtual machines to be migrated when any computing node meets the energy-saving conditions, and to add the computing node to the list of computing nodes that have been shut down or are waiting to be shut down for energy saving. The migration module is used to execute a dynamic migration strategy, which is used to migrate each virtual machine in the list of virtual machines to be migrated to its corresponding target compute node, and to shut down the compute nodes that are not shut down in the list of compute nodes that have been shut down or are waiting to be shut down for energy saving.

[0014] Thirdly, embodiments of this application provide a readable storage medium on which a program or instruction is stored, and when the program or instruction is executed by a processor, it implements the scheduling method for computing nodes as described in the first aspect of the embodiments.

[0015] Beneficial effects: This method obtains the average load data of each computing node in the cloud computing cluster that is powered on during the monitoring period, and then determines whether each computing node meets the overload condition or the energy-saving condition. When any computing node meets the overload condition, the virtual machines to be migrated on that computing node are identified and added to the list of virtual machines to be migrated. When any computing node meets the energy-saving condition, all virtual machines on that computing node are added to the list of virtual machines to be migrated, and the computing node is added to the list of computing nodes that have been shut down or are waiting to be shut down for energy saving. Then, a dynamic migration strategy is executed to migrate each virtual machine in the list of virtual machines to be migrated to its corresponding target computing node, and the computing nodes that have not been shut down in the list of computing nodes that have been shut down or are waiting to be shut down for energy saving are shut down.

[0016] By rationally scheduling the computing nodes of a cloud computing cluster, it is possible not only to avoid overloading any single computing node, but also to reduce the power consumption of unsaturated computing nodes. This achieves rational energy conservation and utilization of power while ensuring the normal operation of cloud computing cluster services, thereby reducing the total cost of ownership of the cloud computing cluster. Attached Figure Description

[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 This is a flowchart of the steps of a computing node scheduling method proposed in an embodiment of this application; Figure 2 This is a monitoring diagram proposed in one embodiment of this application; Figure 3 This is a functional block diagram of a computing node scheduling device provided in an embodiment of this application; Figure 4 This is a schematic diagram of an electronic device according to an embodiment of this application; Figure 5 This is a schematic diagram of a readable storage medium proposed in an embodiment of this application; Figure 6 This is a schematic diagram of a computer program product proposed in an embodiment of this application. Detailed Implementation

[0019] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0020] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0021] TCO: Total Cost of Ownership, mainly refers to the total cost of equipment procurement, construction, operation and maintenance in a cloud computing center; Compute node: In a cloud computing platform, a physical machine node is responsible for providing computing resources. Virtualization software is typically deployed on a compute node, which can run multiple virtual machines. ipmitool: IPMI stands for Intelligent Platform Management Interface. ipmitool is a command-line tool for managing IMPI in Linux systems. It can be used to remotely turn the power on or off compute nodes. Scheduling: In a cloud computing environment, in order to meet the needs of scenarios such as fault maintenance, load balancing and energy saving, virtual machines can be dynamically migrated online from one computing node to another, realizing the redistribution of virtual machines in the cloud computing environment; Energy saving: By scheduling and managing computing nodes, non-essential computing nodes can be shut down to reduce power consumption and avoid power waste; Overload protection: When the compute node is overloaded, the virtual machines on the compute node are migrated online to restore the compute node to normal load and ensure stable operation of business.

[0022] In large-scale cloud computing clusters, there are often thousands or tens of thousands of servers. When the business is not saturated, the continued operation of a large number of low-load computing node servers will cause a lot of power waste, resulting in a high total cost of ownership (TCO) of the cloud computing center. However, when the business is too saturated, it is necessary to avoid overloading the computing nodes and avoid affecting the business of the virtual machines on the computing nodes.

[0023] Therefore, this application provides a method for scheduling computing nodes. By rationally scheduling the computing nodes of a cloud computing cluster, the normal load operation of the cloud computing cluster business can be guaranteed, and the rational energy-saving utilization of power can be achieved, thereby reducing the total cost of ownership of the cloud computing cluster.

[0024] The following description, in conjunction with the accompanying drawings, details a method for scheduling computing nodes provided in this application through specific embodiments and application scenarios.

[0025] Reference Figure 1 The diagram illustrates a flowchart of a computing node scheduling method according to an embodiment of this application. The method may specifically include the following steps: S101: Obtain the average load data of each computing node in the cloud computing cluster that is powered on during the monitoring period, and determine whether each computing node meets the overload condition or the energy-saving condition.

[0026] A cloud computing cluster can include multiple computing nodes for performing computing tasks. For example, the underlying layer of a cloud computing cluster can use distributed storage (such as Ceph). The computing nodes in a cloud computing cluster can adopt a uniform specification, or different computing nodes can adopt different specifications. Specifications include configuration specifications such as the number of CPU cores of the computing node. In accordance with the principle of independent business network and storage access network, each computing node uses an independent network card device for business network and storage access network.

[0027] In actual implementation, the architecture of the cloud computing cluster and the specifications of each computing node can be defined according to the needs of the actual application. This application embodiment does not impose any restrictions.

[0028] In one feasible implementation, the process of obtaining the average load data of each computing node in the cloud computing cluster that is powered on during the monitoring period, and determining whether each computing node meets the overload condition or the energy-saving condition, may include the following steps: A1: During the monitoring period, at a preset sampling interval, acquire monitoring data of each computing node in the cloud computing cluster that is in the powered-on state, as well as monitoring data of each virtual machine on each computing node.

[0029] Reference Figure 2 The diagram illustrates a monitoring scenario provided in an embodiment of this application. The cloud computing cluster includes N computing nodes, each of which is equipped with one or more virtual machines. When acquiring monitoring data for a computing node, the data includes the CPU load of the computing node, the bandwidth occupied by the computing node's business network, and the bandwidth occupied by the computing node's storage access network. When acquiring monitoring data for any virtual machine, the data includes the CPU load of the virtual machine, the bandwidth occupied by the virtual machine's business network, and the total I / O throughput of the virtual machine.

[0030] In practical implementation, a monitoring system, such as Zabbix, can be established. Then, monitoring data for each compute node in its powered-on state and monitoring data for each virtual machine on each compute node can be periodically sampled according to a set sampling interval. Two data tables are then defined to store the monitoring data for the compute nodes and virtual machines. For example: The fields in the monitoring data table of the compute node can be: [Compute node ID, compute node CPU load, compute node service network bandwidth, compute node storage access network bandwidth]; The fields in the virtual machine monitoring data table can be: [Virtual Machine ID, Current Compute Node ID, Virtual Machine CPU Load, Virtual Machine Service Network Bandwidth, Virtual Machine Total I / O Throughput].

[0031] The monitoring methods, monitoring period N, and sampling interval t for each computing node in the cloud computing cluster that is powered on, as well as each virtual machine on the computing node, can be set according to the actual application requirements. In actual implementation, in order to reduce the migration frequency, a longer monitoring period N can be set, such as a monitoring period of 60 minutes.

[0032] A2: Based on the monitoring data of each computing node, determine the average load data of each computing node during the monitoring period.

[0033] After continuously monitoring the computing node at a preset sampling interval t, the average value of the monitoring data of the computing node within a monitoring period N can be calculated as the average load data of the computing node. The average load data can characterize the average load of the computing node within the monitoring period N.

[0034] The average load data for any compute node includes the average CPU load of the compute node, the average bandwidth occupied by the compute node's service network, and the average bandwidth occupied by the compute node's storage access network.

[0035] For any given compute node, the formula for calculating its average load data can be as follows: 1) Formula for calculating the number of sampling points n within the monitoring period:

[0036] Where N is the monitoring period; t is the preset sampling interval; 2) Formula for calculating the average CPU load of a computing node:

[0037] in, This refers to the CPU load of the computing node during the i-th sampling within the monitoring period N.

[0038] 3) Formula for calculating the average bandwidth occupied by the computing node service network:

[0039] in, The bandwidth occupied by the computing node's service network during the i-th sampling within the monitoring period N.

[0040] 4) Formula for calculating the average bandwidth used by the computing node for storage access network:

[0041] in, The bandwidth occupied by the computing node for storing network access during the i-th sampling within the monitoring period N.

[0042] A3: Based on the average load data of each computing node, determine whether each computing node meets the overload condition or the energy-saving condition.

[0043] Specifically, for any computing node, if the computing node satisfies the average CPU load of the computing node... The maximum CPU load of the compute node exceeds the preset limit. Average bandwidth usage of computing node service network The bandwidth required by the computing node service network exceeds the preset maximum bandwidth. and the average bandwidth used by the computing node to access the storage network. The bandwidth required for compute node storage access to the network exceeds the preset maximum bandwidth. If any of the following conditions are met, the computing node satisfies the overload condition; That is, any computing node satisfies > or > or > At that time, the computing node meets the overload condition.

[0044] For any compute node, if the compute node meets the average CPU load of the compute node Less than the preset minimum CPU load of the computing node Average bandwidth usage of computing node service network Less than the preset minimum bandwidth required for computing node service networks and the average bandwidth used by the computing node to access the storage network. Less than the preset minimum bandwidth required for compute node storage access network If any of the following conditions are met, the computing node satisfies the energy-saving condition; That is, any computing node satisfies At that time, the computing node meets the energy-saving conditions.

[0045] In practical implementation, when determining whether any computing node meets overload or energy-saving conditions, upper and lower threshold values ​​can be preset for each computing node according to the actual application requirements. That is, the maximum CPU load of the computing node. Maximum bandwidth occupied by computing node service network Maximum bandwidth occupied by compute node storage access network Minimum CPU load of compute nodes Minimum bandwidth required for computing node service network Minimum bandwidth required for compute node storage access network The embodiments in this application are not limited.

[0046] S102: When any compute node meets the overload condition, determine the virtual machines to be migrated in that compute node and add the virtual machines to be migrated to the list of virtual machines to be migrated.

[0047] When any compute node meets the overload condition, in order to prevent the compute node from running under overload, some virtual machines can be migrated from the compute node to restore the compute node's load to normal and ensure the smooth operation of the business.

[0048] Specifically, the process of identifying the virtual machines to be migrated in any compute node that meets the overload condition and adding the virtual machines to be migrated to the list of virtual machines to be migrated may include the following steps: B1: When any computing node meets the overload condition, determine the minimum load migration amount of the computing node based on the average load data of that computing node.

[0049] Specifically, the minimum load migration amount for this computing node includes the CPU load to be migrated, the bandwidth occupied by the business network to be migrated, and the bandwidth occupied by the storage access network to be migrated.

[0050] CPU load to be migrated is - The maximum value between 0 and 0; The bandwidth occupied by the business network to be migrated is - The maximum value between 0 and 0; The bandwidth occupied by the storage access network to be migrated is - The maximum value between 0 and 0.

[0051] B2: Calculate the average load data for each virtual machine on this compute node.

[0052] Specifically, the average load data for any virtual machine includes the average CPU load of the virtual machine, the average bandwidth occupied by the virtual machine's service network, and the average total I / O throughput of the virtual machine.

[0053] For any given virtual machine, the formula for calculating its average load data can be as follows: 1) The formula for calculating the average CPU load of a virtual machine is:

[0054] in, The virtual machine CPU load is the i-th sampled value within the monitoring period N; 2) The formula for calculating the average bandwidth occupied by virtual machine service networks is:

[0055] in, The bandwidth occupied by the virtual machine service network during the i-th sampling within the monitoring period N; 3) The formula for calculating the average total throughput of virtual machine I / O is:

[0056] in, This represents the total virtual machine I / O throughput during the i-th sampling within the monitoring period N.

[0057] B3: Under the condition of meeting the minimum load migration amount of the computing node, based on the average load data of each virtual machine on the computing node, determine at least one virtual machine with the minimum total migration resource amount as the virtual machine to be migrated through dynamic programming algorithm, and add the virtual machine to be migrated to the list of virtual machines to be migrated.

[0058] Dynamic programming is an algorithm for solving optimization problems in decision-making processes. It can select at least one virtual machine with the minimum total resources to be migrated, based on the average load data of each virtual machine on the computing node, while satisfying the minimum load migration amount of the computing node.

[0059] In actual implementation, a suitable dynamic programming algorithm can be selected, and the embodiments of this application are not limited thereto.

[0060] The list of virtual machines to be migrated is a predefined list, which can be maintained using an array data structure. For example, the data structure of the list of virtual machines to be migrated can be: [Virtual Machine ID, Source Compute Node, Destination Compute Node, Average CPU Load of Virtual Machine, Average Bandwidth Used by Virtual Machine Service Network, Average Total I / O Throughput of Virtual Machine].

[0061] S103: When any computing node meets the energy-saving conditions, add all virtual machines on that computing node to the list of virtual machines to be migrated, and add that computing node to the list of computing nodes that have been shut down or are waiting to be shut down for energy saving.

[0062] When any computing node meets the energy-saving conditions, it indicates that the computing tasks on that computing node are not saturated. By migrating all virtual machines on that computing node to other computing nodes, the computing node can be shut down, thereby achieving energy saving and reducing the total cost of the overall cloud computing cluster.

[0063] After adding all virtual machines on the computing nodes that meet the energy-saving conditions to the list of virtual machines to be migrated, the computing node can be added to the list of computing nodes that have been shut down or are waiting to be shut down for energy saving. A status flag can be set in the list of computing nodes that have been shut down or are waiting to be shut down for energy saving to characterize the power-on status of the computing node. For example, the status flag includes a power-on flag and a power-off flag.

[0064] In the list of computing nodes that have been shut down or are awaiting energy-saving shutdown, the "power on" flag indicates that the computing node is currently still powered on but needs to be shut down to achieve energy-saving effects, while the "shutdown" flag indicates that the computing node is currently in a shutdown state.

[0065] The list of compute nodes that have been powered off or are awaiting power-saving shutdown is a predefined list. A stack data structure can be used to maintain a dynamically changing list of compute nodes that have been powered off or are awaiting power-saving shutdown. In this list, the data structure of the compute nodes can be [compute node ID, status identifier].

[0066] Initially, all powered-off compute nodes in the cloud computing cluster are stored in this list. When it is determined that any compute node needs to be powered off for energy saving, the data of this compute node is put into the stack. When the load of the cloud computing cluster is large and a new compute node needs to be started to take over part of the virtual machine load, the compute node can be taken out from the stack according to the "last in first out" principle.

[0067] S104: Execute the dynamic migration strategy, which is used to migrate each virtual machine in the list of virtual machines to be migrated to their respective target computing nodes, and to shut down the computing nodes that have not been shut down in the list of computing nodes that have been shut down or are waiting to be shut down for energy saving.

[0068] In one feasible implementation, executing a dynamic migration strategy includes the following steps: C1: Execute the target computing node to determine the sub-strategy.

[0069] The target compute node determination strategy is used to determine the target compute node corresponding to each virtual machine in the list of virtual machines to be migrated.

[0070] Specifically, the process of determining the target computing node sub-strategy includes the following sub-steps: C11: Traverse each computing node. If any computing node is not in the list of computing nodes that have been shut down or are waiting to be shut down for energy saving, then the computing node is an online computing node.

[0071] C12: For any online computing node, determine the remaining load that the online computing node can support.

[0072] The remaining load capacity includes the remaining CPU load capacity, the remaining bandwidth of the service network, and the remaining bandwidth of the storage access network.

[0073] For any computing node, the formula for calculating the remaining load that the computing node can support is as follows: 1) The formula for calculating the remaining load capacity of the CPU is: -

[0074] 2) The formula for calculating the remaining bandwidth that the service network can carry is: -

[0075] 3) The formula for calculating the remaining bandwidth that the storage access network can carry is: -

[0076] in, This represents the average CPU load of the i-th virtual machine to be migrated on this compute node. This represents the average bandwidth occupied by the virtual machine service network for the i-th virtual machine to be migrated on this compute node. Let m be the average total virtual machine I / O throughput of the i-th virtual machine to be migrated on the compute node, and m represent the total number of virtual machines to be migrated on the compute node.

[0077] C13: Based on the remaining load capacity of each online computing node, a dynamic programming algorithm is used to perform resource scheduling and matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination computing node for each virtual machine to be migrated.

[0078] Based on the remaining load capacity of each online computing node and the average load data of all virtual machines to be migrated, the optimal resource scheduling solution is obtained through dynamic programming algorithm to determine the destination computing node for each virtual machine to be migrated.

[0079] In actual implementation, the corresponding dynamic programming algorithm can be selected according to the needs of the actual application, and the embodiments of this application are not limited thereto.

[0080] C14: When the remaining load capacity of all online compute nodes does not meet the migration requirements of all virtual machines to be migrated in the list of virtual machines to be migrated, select a compute node from the list of compute nodes that have been shut down or are waiting to be shut down for energy saving, and determine the power-on status of the compute node.

[0081] If the optimal resource scheduling solution cannot be obtained based on the remaining load capacity of the current online compute nodes and the average load data of all virtual machines to be migrated, an additional compute node needs to be added. A compute node can be selected from the list of compute nodes that have been shut down or are awaiting energy-saving shutdown to meet the migration needs of all virtual machines to be migrated.

[0082] Because the list of computing nodes that have been shut down or are awaiting energy-saving shutdown uses a stack data structure with a "last-in, first-out" principle, if there are computing nodes that need energy saving during the current monitoring period, computing nodes that need energy saving but have not yet been shut down can be selected from this list. This avoids the time-consuming process of restarting the already shut-down computing nodes and can improve the efficiency of migration scheduling. If there are no computing nodes that need energy saving during the current monitoring period, then the already shut-down computing nodes can be restarted.

[0083] After selecting a computing node from the list of computing nodes that are powered off or awaiting power-saving shutdown, remove that computing node from the list of computing nodes that are powered off or awaiting power-saving shutdown.

[0084] C15: When the computing node is powered off, add the computing node to the list of computing nodes to be powered on; when the computing node is powered on, or after adding a powered-off computing node to the list of computing nodes to be powered on, determine the remaining load that the computing node can handle.

[0085] If the computing node selected from the list of computing nodes that have been powered off or are waiting to be powered off has a power off status, then the computing node also needs to be added to the list of computing nodes that are waiting to be powered on.

[0086] The list of compute nodes to be powered on is a predefined list, which can be an array data structure. For example, the data structure of the list of compute nodes to be powered on is [compute node ID].

[0087] Each compute node in the list of powered-off or power-saving compute nodes is currently not assigned any virtual machines. Therefore, the remaining load capacity of the new compute node selected from the list of powered-off or power-saving compute nodes is determined as follows:

[0088]

[0089]

[0090] This represents the maximum CPU load of the computing node corresponding to that computing node. This represents the maximum bandwidth occupied by the computing node's service network. The maximum bandwidth required for network access is stored for the compute node corresponding to this compute node.

[0091] C16: Based on the remaining load capacity of this compute node and all online compute nodes, a dynamic programming algorithm is used to perform resource scheduling matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination compute node for each virtual machine to be migrated.

[0092] Based on the new compute nodes selected from the list of compute nodes that have been shut down or are awaiting energy-saving shutdown, the remaining load capacity of all online compute nodes, and the average load data of all virtual machines to be migrated, the optimal resource scheduling solution is obtained through dynamic programming algorithm to determine the target compute node for each virtual machine to be migrated.

[0093] In practice, resource matching and new computing nodes can be continuously cycled and selected until the optimal resource scheduling solution can be found, thus determining the target computing node for each virtual machine to be migrated.

[0094] C2: Execute power on / off and migration sub-policies.

[0095] The power-on / off and migration sub-policies are used to migrate all virtual machines in the list of virtual machines to be migrated to their respective target compute nodes, and to shut down the compute nodes that are not shut down in the list of compute nodes that have been shut down or are to be shut down for energy saving.

[0096] Specifically, executing the power-on / off and migration sub-policies may include the following sub-steps: C21: Perform a power-on operation on the computing nodes in the list of computing nodes to be powered on.

[0097] Specifically, the system checks the list of compute nodes to be powered on, performs remote power-on operations on each compute node in the list using ipmitool, starts the virtualization software service via a remote script after startup, and finally completes the service self-check.

[0098] C22: Migrate all virtual machines in the list of virtual machines to be migrated to their respective target compute nodes.

[0099] Specifically, for each virtual machine in the list of virtual machines to be migrated, the virtual machine to be migrated is migrated online from the source compute node to the target compute node according to the source compute node and the target compute node of the virtual machine to be migrated.

[0100] C23: Shut down the computing nodes that are not currently powered off in the list of computing nodes that have been powered off or are awaiting power-saving shutdown.

[0101] Specifically, check the list of compute nodes that have been shut down or are awaiting energy-saving shutdown. When a compute node is marked as powered on, execute a shutdown operation on the services on that compute node by remotely running a script, and then use ipmitool to perform a remote shutdown to save energy.

[0102] In one feasible implementation, taking Ceph, the distributed storage used at the bottom layer of a cloud computing cluster, as an example, the cloud computing cluster includes 5 compute nodes of uniform specifications. Specifically, all CPUs have 80 cores, the business network and storage access network use bond0 and bond1 respectively, and the bandwidth is 20Gb / s for both. Currently, compute nodes 1, 2, and 3 are powered on, while compute nodes 4 and 5 are powered off. The execution process of this method is as follows: S1: Initialize and maintain a dynamically changing list of compute nodes that are powered off or awaiting power-saving shutdown, a list of compute nodes awaiting power-on, and a list of virtual machines awaiting migration.

[0103] Specifically, a stack data structure, `need_close_stack`, is used to maintain a dynamically changing list of compute nodes that are powered off or awaiting power-saving shutdown. Its data structure is `[compute node ID, status identifier]`, where the status identifier includes both power-on and power-off identifiers. In this case, `need_close_stack` contains: `[compute node 4, power-off identifier; compute node 5, power-off identifier]`. The list of compute nodes to be powered on is an array need_open_list, whose data structure is [compute node ID].

[0104] The list of virtual machines to be migrated is an array need_migrate_list, and its data structure is [virtual machine ID, source compute node, destination compute node, average CPU load of virtual machine, average bandwidth occupied by virtual machine service network, average total I / O throughput of virtual machine].

[0105] Initially, all powered-off compute nodes in the cloud computing cluster are stored in the list of powered-off or power-saving compute nodes to be powered-off, namely, compute node 4 and compute node 5 are placed into need_close_stack in sequence.

[0106] S2: Monitors the data of each compute node and the virtual machines on each compute node.

[0107] Specifically, a Zabbix monitoring system is established with a monitoring cycle of 60 minutes and a sampling interval of 1 minute to monitor the CPU load, network bandwidth used by the computing nodes, and storage access network bandwidth used by the computing nodes of each computing node, as well as the CPU load, network bandwidth used by the virtual machines, and total I / O throughput of the virtual machines.

[0108] S3: For compute nodes that are powered on, calculate the average load data of each compute node during the monitoring period, calculate the average load data of each virtual machine, and determine whether each compute node meets the overload condition or the energy-saving condition. For compute nodes that meet the overload condition, select the virtual machines to be migrated from the compute node and add them to the list of virtual machines to be migrated. For compute nodes that meet the energy-saving condition, add all virtual machines of the compute node to the list of virtual machines to be migrated, and add the compute node to the list of compute nodes that have been powered off or are waiting to be powered off for energy saving.

[0109] Based on the formula for calculating the average load data of any computing node described in step A2, for computing nodes 1, 2, and 3 in the power-on state, assume the following results for calculating the average load data of each computing node based on the monitoring data of each computing node: Compute node 1: For 60 cores, 15Gb / s It is 13Gb / s; Compute node 2: For 20 cores, For 3Gb / s, 3Gb / s; Compute node 3: For 10 cores, For 2Gb / s, It is 2Gb / s.

[0110] In this embodiment, for five computing nodes with uniform specifications, the upper threshold and lower threshold values ​​are set as follows: Maximum CPU load of compute nodes It has 56 cores; Maximum bandwidth usage of computing node service network It is 14Gb / s; Maximum bandwidth used by compute node storage access network It is 14Gb / s; Minimum CPU load of compute node It has 32 cores; Minimum bandwidth required for computing node service network It is 8Gb / s; Minimum bandwidth required for compute node storage access network It is 8Gb / s.

[0111] Traverse compute node 1, compute node 2, and compute node 3, and determine whether each compute node meets the overload condition or the energy-saving condition: compute node 1 (60 cores) greater than (56 cores), therefore compute node 1 meets the overload condition; compute node 2 (20 cores) smaller than (32 cores) (3Gb / s) less than (8Gb / s) and (3Gb / s) less than (8Gb / s), compute node 2 meets the energy-saving requirements; compute node 3 (10 cores) smaller than (32 cores) and (2Gb / s) less than (8Gb / s), computing node 3 also meets the energy-saving requirements.

[0112] For compute node 1 that meets the overload conditions, the virtual machines to be migrated on compute node 1 are determined as follows: First, determine the minimum load migration amount for compute node 1 based on the average load data of compute node 1: CPU load to be migrated is - The maximum value between 0 and 60, that is, the maximum value between 60-56 and 0, is 4 cores; The bandwidth occupied by the business network to be migrated is - The maximum value between 0 and 15, that is, the maximum value between 15-14 and 0 is 1Gb / s; The bandwidth occupied by the storage access network to be migrated is - The maximum value between 0 and 13, that is, the maximum value between 13-14 and 0 is 0.

[0113] Then, based on the calculation formula for the average load data of any virtual machine described in step B2, the average load data of each virtual machine on computing node 1 is calculated.

[0114] Assume the average load data of the 5 virtual machines on compute node 1, including the average CPU load of the virtual machines. Average bandwidth usage of virtual machine service network and average total throughput of virtual machine I / O The calculation results are as follows: vm11: For 20 cores, For 3Gb / s, 3Gb / s; vm12: For 10 cores, For 2Gb / s, It is 2Gb / s; vm13: For 10 cores, For 4Gb / s, 3Gb / s; vm14: For 10 cores, For 3Gb / s, 3Gb / s; vm15: For 10 cores, For 3Gb / s, It is 2Gb / s.

[0115] Finally, based on the average load data of these 5 virtual machines, and under the condition of the minimum load migration amount of computing node 1, a dynamic programming algorithm is used to select one or more virtual machines to be migrated with the minimum total migration resource amount and add them to the list of virtual machines to be migrated.

[0116] In this embodiment, through dynamic programming, the virtual machine to be migrated in compute node 1 is vm12.

[0117] Compute nodes 2 and 3, which meet the energy-saving conditions, have all their virtual machines added to the list of virtual machines to be migrated, including virtual machine vm21 on compute node 2 and virtual machine vm31 on compute node 3. The calculated average load data for vm21 and vm31 are as follows: vm21: For 20 cores, For 3Gb / s, 3Gb / s; vm31: For 10 cores, For 2Gb / s, It is 2Gb / s.

[0118] When adding a virtual machine to the list of virtual machines to be migrated, the virtual machine ID, source compute node value, and average load data should all be filled in.

[0119] Then, add compute node 2 and compute node 3 to the list of compute nodes that are powered off or awaiting power-saving shutdown, in the `need_close_stack` list. Their status identifiers are both "power on". At this point, `need_close_stack` is updated to: [Compute node 4, shutdown flag; Compute node 5, shutdown flag; Compute node 3, power-on flag; Compute node 2, power-on flag].

[0120] S4: Calculate the destination compute node for each virtual machine in the list of virtual machines to be migrated.

[0121] Traversing the 5 compute nodes, only compute node 1 is not currently in the list of compute nodes that are powered off or awaiting power-saving shutdown. Therefore, according to the calculation formula for the remaining load capacity described in C12, the remaining load capacity of compute node 1 is determined, and the calculation result is as follows: Remaining CPU load capacity: - =56-60+10=6 cores.

[0122] Remaining available bandwidth in the service network: - =14-15+2=1Gb / s.

[0123] Remaining available bandwidth for storage access network: - =14-13+2=3Gb / s.

[0124] in, The average CPU load of the virtual machines to be migrated on the compute node. This represents the average network bandwidth used by the virtual machines to be migrated on the compute nodes. This represents the total I / O throughput of the virtual machines to be migrated on the compute node.

[0125] According to computing node 1 , and Based on the size of the virtual machines, a dynamic programming algorithm is used to perform resource scheduling and matching on all virtual machines vm12, vm21, and vm31 to be migrated, and to determine the destination compute node for each virtual machine to be migrated.

[0126] However, since compute node 1 cannot meet the migration needs of all virtual machines to be migrated, one compute node is taken from the list of compute nodes that have been shut down or are awaiting energy-saving shutdown, namely compute node 2. The remaining load capacity of compute node 2 is... = =56 cores, = =14Gb / s, = =14Gb / s.

[0127] Based on the remaining load capacity of compute node 1 and compute node 2, the dynamic programming algorithm is used again to perform resource scheduling matching for all virtual machines vm12, vm21 and vm31 to be migrated. At this time, all virtual machines to be migrated can find a suitable target compute node, and the newly extracted compute node 2 is removed from the list of compute nodes that have been shut down or are waiting to be shut down for energy saving.

[0128] S5: Performs power-on / off of compute nodes and migration of virtual machines.

[0129] Since the list of compute nodes to be powered on is empty, no compute nodes need to be powered on. Based on the list of virtual machines to be migrated, according to the source compute nodes and target compute nodes corresponding to the virtual machines vm12, vm21 and vm31 respectively, the virtual machines are migrated online from the source compute nodes to the target compute nodes. Since vm21 is already located on compute node 2, it is not used for migration. Instead, vm12 and vm31 are migrated to compute node 2.

[0130] Check the list of compute nodes that are powered off or awaiting power-saving shutdown (need_close_stack). Since the status of compute node 3 is set to powered on, execute a shutdown operation on the services on compute node 3 by running a script remotely, and then use ipmitool to remotely shut down compute node 3.

[0131] This method is primarily applicable to overload prevention and energy-saving scheduling in mainstream cloud computing architectures. Based on six key data indicators (compute node CPU load, compute node service network bandwidth, compute node storage access network bandwidth, virtual machine CPU load, virtual machine service network bandwidth, and virtual machine total I / O throughput), it selects compute nodes that are oversaturated or undersaturated, identifies virtual machines to be migrated and their target compute nodes, and dynamically reschedules and migrates the virtual machine load on compute nodes. During scheduling, a list of compute nodes to be powered on and off is determined. Power is turned off on compute nodes to be powered off using the remote `impitool` command to save energy, and power is turned on on compute nodes to be powered on using the remote `ipmitool` command to prevent service overload. This approach not only prevents cloud computing service overload but also achieves rational energy-saving utilization of power through scheduling, reducing the overall TCO cost of the cloud computing center.

[0132] Reference Figure 3 This diagram illustrates a functional block diagram of a computing node scheduling device according to an embodiment of this application. The device includes: The acquisition module 100 is used to acquire the average load data of each computing node in the cloud computing cluster that is in the power-on state during the monitoring period, and to determine whether each computing node meets the overload condition or the energy-saving condition. The overload processing module 200 is used to determine the virtual machines to be migrated in the computing node when any computing node meets the overload condition, and add the virtual machines to be migrated to the list of virtual machines to be migrated; The energy-saving processing module 300 is used to add all virtual machines on any computing node to the list of virtual machines to be migrated when any computing node meets the energy-saving conditions, and to add the computing node to the list of computing nodes that have been shut down or are to be shut down for energy saving. The migration module 400 is used to execute a dynamic migration strategy, which is used to migrate each virtual machine in the list of virtual machines to be migrated to its corresponding target computing node, and to shut down the computing nodes that have not been shut down in the list of computing nodes that have been shut down or are waiting to be shut down for energy saving.

[0133] Optionally, the acquisition module includes: The monitoring data acquisition unit is used to acquire monitoring data of each computing node in the cloud computing cluster that is in the powered-on state, and monitoring data of each virtual machine on each computing node, at a preset sampling interval within the monitoring period; wherein, the monitoring data of any computing node includes the computing node CPU load, the computing node service network bandwidth occupied, and the computing node storage access network bandwidth occupied; the monitoring data of any virtual machine includes the virtual machine CPU load, the virtual machine service network bandwidth occupied, and the virtual machine total I / O throughput. The average load data calculation unit is used to determine the average load data of each computing node within the monitoring period based on the monitoring data of each computing node. The average load data of any computing node includes the average CPU load of the computing node, the average bandwidth occupied by the computing node's service network, and the average bandwidth occupied by the computing node's storage access network. The condition judgment unit is used to determine whether each computing node meets the overload condition or the energy-saving condition based on the average load data of each computing node.

[0134] Optionally, the condition judgment unit is further configured to: For any computing node, if the computing node satisfies any one of the following conditions: the average CPU load of the computing node is greater than the preset maximum CPU load of the computing node, the average bandwidth occupied by the computing node's service network is greater than the preset maximum bandwidth occupied by the computing node's service network, and the average bandwidth occupied by the computing node's storage access network is greater than the preset maximum bandwidth occupied by the computing node's storage access network, then the computing node satisfies the overload condition. For any computing node, the computing node meets the energy-saving conditions if any one of the following conditions is met: the average CPU load of the computing node is less than the preset minimum CPU load of the computing node, the average bandwidth occupied by the computing node's service network is less than the preset minimum bandwidth occupied by the computing node's service network, and the average bandwidth occupied by the computing node's storage access network is less than the preset minimum bandwidth occupied by the computing node's storage access network.

[0135] Optionally, the overload processing module is used for: When any computing node meets the overload condition, the minimum load migration amount of the computing node is determined based on the average load data of that computing node. Calculate the average load data of each virtual machine on the compute node. The average load data of any virtual machine includes the average CPU load of the virtual machine, the average bandwidth occupied by the virtual machine's service network, and the average total I / O throughput of the virtual machine. Under the condition of meeting the minimum load migration amount of the computing node, based on the average load data of each virtual machine on the computing node, at least one virtual machine with the minimum total migration resource amount is determined as the virtual machine to be migrated by dynamic programming algorithm, and the virtual machine to be migrated is added to the list of virtual machines to be migrated.

[0136] Optionally, the migration module includes: The first execution unit is used to execute the target compute node determination sub-policy, which is used to determine the target compute node corresponding to each virtual machine to be migrated in the list of virtual machines to be migrated. The second execution unit is used to execute the power-on / off and migration sub-policies, to migrate all virtual machines to be migrated in the list of virtual machines to be migrated to their respective target computing nodes, and to shut down the computing nodes that have not been shut down in the list of computing nodes that have been shut down or are to be shut down for energy saving.

[0137] Optionally, the first execution unit is further configured to: Traverse each computing node. If any computing node is not in the list of computing nodes that have been shut down or are waiting to be shut down for energy saving, then the computing node is an online computing node. For any online computing node, determine the remaining load that the online computing node can support. The remaining load that can support includes the remaining CPU load, the remaining bandwidth that the service network can support, and the remaining bandwidth that the storage access network can support. Based on the remaining load capacity of each online computing node, a dynamic programming algorithm is used to perform resource scheduling and matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination computing node for each virtual machine to be migrated.

[0138] Optionally, the first execution unit is further configured to: When the remaining load capacity of all online compute nodes does not meet the migration requirements of all virtual machines to be migrated in the list of virtual machines to be migrated, select a compute node from the list of compute nodes that have been shut down or are waiting to be shut down for energy saving, and determine the power-on status of the compute node. When the compute node is powered off, add the compute node to the list of compute nodes to be powered on. When the computing node is powered on, or after a computing node that is powered off is added to the list of computing nodes to be powered on, the remaining load that the computing node can bear is determined. Based on the remaining load capacity of the compute node and all online compute nodes, a dynamic programming algorithm is used to perform resource scheduling matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination compute node for each virtual machine to be migrated.

[0139] Optionally, the second execution unit is further configured to: Perform a power-on operation on the computing nodes in the list of computing nodes to be powered on; Migrate all virtual machines in the list of virtual machines to be migrated to their respective target compute nodes; Shut down the computing nodes that are not currently powered down in the list of computing nodes that have been powered down or are awaiting power-saving shutdown.

[0140] The scheduling device for a computing node in this application embodiment can be a device, or a component, integrated circuit, or chip in a terminal. The device can be a mobile electronic device or a non-mobile electronic device. For example, mobile electronic devices can be mobile phones, tablets, laptops, handheld computers, in-vehicle electronic devices, wearable devices, ultra-mobile personal computers (UMPCs), netbooks, or personal digital assistants (PDAs), etc. Non-mobile electronic devices can be servers, network attached storage (NAS), personal computers (PCs), televisions (TVs), ATMs, or self-service machines, etc. This application embodiment does not impose specific limitations.

[0141] The scheduling device for a computing node in this application embodiment can be a device with an operating system. This operating system can be Android, iOS, or other possible operating systems; this application embodiment does not specifically limit the specific operating system used.

[0142] Reference Figure 4The diagram illustrates an electronic device provided in an embodiment of this application. The electronic device includes a processor, a memory, and a program or instructions stored in the memory and executable on the processor. When the program or instructions are executed by the processor, they implement the various processes of the computing node scheduling method embodiment described above and achieve the same technical effect.

[0143] It should be noted that the electronic devices in the embodiments of this application include the mobile electronic devices and non-mobile electronic devices described above.

[0144] Reference Figure 5 The diagram illustrates a readable storage medium provided in an embodiment of this application. The readable storage medium stores a program or instructions, which, when executed by a processor, implement the various processes of the above-described computing node scheduling method embodiment and achieve the same technical effect.

[0145] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.

[0146] Reference Figure 6 The diagram illustrates a computer program product provided in an embodiment of this application, including a computer program / instruction. When executed by a processor, the computer program / instruction implements the various processes of the above-described computing node scheduling method embodiment and achieves the same technical effect.

[0147] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0148] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0149] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. The description of the embodiments above is only for the purpose of helping to understand the method and core idea of ​​this application. Those skilled in the art can make many forms under the guidance of this application without departing from the spirit and scope of protection of the claims, and all of these are within the protection scope of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation and application scope based on the idea of ​​this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A method for scheduling computing nodes, characterized in that, The method includes: Obtain the average load data of each computing node in the cloud computing cluster that is powered on during the monitoring period, and determine whether each computing node meets the overload condition or the energy-saving condition. When any compute node meets the overload condition, identify the virtual machines to be migrated in that compute node and add them to the list of virtual machines to be migrated; When any compute node meets the energy-saving conditions, all virtual machines on that compute node are added to the list of virtual machines to be migrated, and the compute node is added to the list of compute nodes that have been shut down or are to be shut down for energy saving. A dynamic migration strategy is executed, which is used to migrate each virtual machine in the list of virtual machines to be migrated to its corresponding target compute node, and to shut down the compute nodes that are not shut down in the list of compute nodes that have been shut down or are to be shut down for energy saving.

2. The method according to claim 1, characterized in that, Obtain the average load data of each computing node in the cloud computing cluster that is powered on during the monitoring period, and determine whether each computing node meets the overload condition or the energy-saving condition, including: Within the monitoring period, at a preset sampling interval, monitoring data of each computing node in the cloud computing cluster that is in the powered-on state, as well as monitoring data of each virtual machine on each computing node, are acquired; wherein, the monitoring data of any computing node includes the computing node CPU load, the computing node service network bandwidth occupied, and the computing node storage access network bandwidth occupied; the monitoring data of any virtual machine includes the virtual machine CPU load, the virtual machine service network bandwidth occupied, and the virtual machine total I / O throughput. Based on the monitoring data of each computing node, the average load data of each computing node during the monitoring period is determined. The average load data of any computing node includes the average CPU load of the computing node, the average bandwidth occupied by the computing node's service network, and the average bandwidth occupied by the computing node's storage access network. Based on the average load data of each computing node, determine whether each computing node meets the overload condition or the energy-saving condition.

3. The method according to claim 2, characterized in that, Based on the average load data of each computing node, determine whether each computing node meets the overload condition or the energy-saving condition, including: For any computing node, if the computing node satisfies any one of the following conditions: the average CPU load of the computing node is greater than the preset maximum CPU load of the computing node, the average bandwidth occupied by the computing node's service network is greater than the preset maximum bandwidth occupied by the computing node's service network, and the average bandwidth occupied by the computing node's storage access network is greater than the preset maximum bandwidth occupied by the computing node's storage access network, then the computing node satisfies the overload condition. For any computing node, the computing node meets the energy-saving conditions if any one of the following conditions is met: the average CPU load of the computing node is less than the preset minimum CPU load of the computing node, the average bandwidth occupied by the computing node's service network is less than the preset minimum bandwidth occupied by the computing node's service network, and the average bandwidth occupied by the computing node's storage access network is less than the preset minimum bandwidth occupied by the computing node's storage access network.

4. The method according to claim 1, characterized in that, When any compute node meets the overload condition, identify the virtual machines to be migrated on that compute node and add them to the list of virtual machines to be migrated, including: When any computing node meets the overload condition, the minimum load migration amount of the computing node is determined based on the average load data of that computing node. Calculate the average load data of each virtual machine on the compute node. The average load data of any virtual machine includes the average CPU load of the virtual machine, the average bandwidth occupied by the virtual machine's service network, and the average total I / O throughput of the virtual machine. Under the condition of meeting the minimum load migration amount of the computing node, based on the average load data of each virtual machine on the computing node, at least one virtual machine with the minimum total migration resource amount is determined as the virtual machine to be migrated by dynamic programming algorithm, and the virtual machine to be migrated is added to the list of virtual machines to be migrated.

5. The method according to claim 1, characterized in that, Implement dynamic migration strategies, including: A target compute node determination sub-strategy is executed, wherein the target compute node determination strategy is used to determine the target compute node corresponding to each virtual machine to be migrated in the list of virtual machines to be migrated. The power-on / off and migration sub-policies are executed to migrate all virtual machines in the list of virtual machines to be migrated to their respective target compute nodes, and to shut down the compute nodes that are not shut down in the list of compute nodes that have been shut down or are to be shut down for energy saving.

6. The method according to claim 5, characterized in that, The target computing node determines the sub-strategy, including: Traverse each computing node. If any computing node is not in the list of computing nodes that have been shut down or are waiting to be shut down for energy saving, then the computing node is an online computing node. For any online computing node, determine the remaining load that the online computing node can support. The remaining load that can support includes the remaining CPU load, the remaining bandwidth that the service network can support, and the remaining bandwidth that the storage access network can support. Based on the remaining load capacity of each online computing node, a dynamic programming algorithm is used to perform resource scheduling and matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination computing node for each virtual machine to be migrated.

7. The method according to claim 6, characterized in that, Based on the remaining load capacity of each online computing node, a dynamic programming algorithm is used to perform resource scheduling and matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination computing node for each virtual machine to be migrated, including: When the remaining load capacity of all online compute nodes does not meet the migration requirements of all virtual machines to be migrated in the list of virtual machines to be migrated, select a compute node from the list of compute nodes that have been shut down or are waiting to be shut down for energy saving, and determine the power-on status of the compute node. When the compute node is powered off, add the compute node to the list of compute nodes to be powered on. When the computing node is powered on, or after a computing node that is powered off is added to the list of computing nodes to be powered on, the remaining load that the computing node can bear is determined. Based on the remaining load capacity of the compute node and all online compute nodes, a dynamic programming algorithm is used to perform resource scheduling matching for all virtual machines to be migrated in the list of virtual machines to be migrated, and to determine the destination compute node for each virtual machine to be migrated.

8. The method according to claim 7, characterized in that, Execute power-on / off and migration sub-policies, including: Perform a power-on operation on the computing nodes in the list of computing nodes to be powered on; Migrate all virtual machines in the list of virtual machines to be migrated to their respective target compute nodes; Shut down the computing nodes that are not currently powered down in the list of computing nodes that have been powered down or are awaiting power-saving shutdown.

9. A scheduling device for computing nodes, characterized in that, The device includes: The acquisition module is used to acquire the average load data of each computing node in the cloud computing cluster that is powered on during the monitoring period, and to determine whether each computing node meets the overload condition or the energy-saving condition. The overload processing module is used to determine the virtual machines to be migrated in any computing node when any computing node meets the overload condition, and add the virtual machines to be migrated to the list of virtual machines to be migrated; The energy-saving processing module is used to add all virtual machines on any computing node to the list of virtual machines to be migrated when any computing node meets the energy-saving conditions, and to add the computing node to the list of computing nodes that have been shut down or are waiting to be shut down for energy saving. The migration module is used to execute a dynamic migration strategy, which is used to migrate each virtual machine in the list of virtual machines to be migrated to its corresponding target compute node, and to shut down the compute nodes that are not shut down in the list of compute nodes that have been shut down or are waiting to be shut down for energy saving.

10. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the scheduling method for computing nodes as described in any one of claims 1-8.