A cloud computing resource scheduling method, device and equipment based on multi-objective optimization
By employing a multi-objective optimization cloud computing resource scheduling method, which utilizes a multi-objective particle swarm optimization algorithm to monitor performance status and determine resource migration targets, the problem of low resource utilization and waste of resources in existing technologies is solved, thus achieving efficient resource scheduling and management.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
- Filing Date
- 2026-02-13
- Publication Date
- 2026-06-12
AI Technical Summary
Existing cloud computing resource scheduling schemes lack global adaptive scheduling capabilities, resulting in low resource utilization and serious waste of resources.
A cloud computing resource scheduling method based on multi-objective optimization is adopted. By monitoring performance status and using a multi-objective particle swarm optimization algorithm to determine resource migration targets, the method achieves balanced resource scheduling and optimizes energy consumption and utilization of remaining resources.
It improves the accuracy and rationality of resource scheduling, enhances resource utilization, reduces resource overhead, and achieves adaptive scheduling and flexible resource management.
Smart Images

Figure CN122195641A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud computing technology, specifically to a cloud computing resource scheduling method, apparatus, and device based on multi-objective optimization. Background Technology
[0002] Currently, with the development of cloud computing technology and the continuous increase in the scale of cloud computing infrastructure, the scheduling of cloud computing resources has gradually become a key issue in the deployment and utilization of cloud computing. However, existing cloud computing resource scheduling schemes often adopt overly singular and fixed optimization objectives and overly simple and crude resource allocation methods, lacking global adaptive scheduling capabilities. This not only reduces the effective utilization rate of cloud computing resources but also causes more waste in resource consumption. Summary of the Invention
[0003] This application discloses a cloud computing resource scheduling method, apparatus, and device based on multi-objective optimization. It can effectively improve the accuracy and rationality of cloud computing resource scheduling through multi-objective optimization, which is conducive to improving resource utilization and effectively reducing resource consumption.
[0004] The first aspect of this application discloses a cloud computing resource scheduling method based on multi-objective optimization, comprising: Monitor the performance status of the target cloud computing resources; If the performance status does not match the performance threshold of the target cloud computing resource, a resource scheduling scheme corresponding to the performance status and the performance threshold is determined. When the resource scheduling scheme is used to release cloud computing resources, a resource migration target is determined among the target cloud computing resources based on a multi-objective particle swarm optimization algorithm, and a balanced scheduling operation is performed on the target cloud computing resources according to the resource migration target; wherein, the multi-objective particle swarm optimization algorithm is implemented based on a fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources.
[0005] The second aspect of this application discloses a cloud computing resource scheduling device based on multi-objective optimization, comprising: The performance monitoring unit is used to monitor the performance status of the target cloud computing resources; The first scheduling determination unit is used to determine a resource scheduling scheme corresponding to the performance state and the performance critical range when the performance state does not match the performance critical range of the target cloud computing resource. The balanced scheduling operation unit is used to determine the resource migration targets in the target cloud computing resources based on the multi-objective particle swarm optimization algorithm, and to perform balanced scheduling operations on the target cloud computing resources according to the resource migration targets; wherein, the multi-objective particle swarm optimization algorithm is implemented based on a fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources.
[0006] The third aspect of this application discloses an electronic device, including a memory and a processor. The memory stores a computer program, and when the computer program is executed by the processor, the processor enables the processor to implement any of the cloud computing resource scheduling methods based on multi-objective optimization disclosed in the first aspect of this application.
[0007] The fourth aspect of this application discloses a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements any of the cloud computing resource scheduling methods based on multi-objective optimization disclosed in the first aspect of this application.
[0008] Compared with related technologies, the embodiments of this application have the following beneficial effects: In this embodiment, by monitoring the performance status of the target cloud computing resource, a resource scheduling scheme corresponding to the performance status and critical performance range can be determined when the performance status does not match the critical performance range of the target cloud computing resource. When the resource scheduling scheme is used to release the cloud computing resource, a resource migration target within the target cloud computing resource can be determined based on a multi-objective particle swarm optimization algorithm, and a balanced scheduling operation can be performed on the target cloud computing resource according to the resource migration target. The multi-objective particle swarm optimization algorithm can be implemented based on a fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resource. Therefore, implementing this embodiment allows for the precise determination of resource scheduling demand boundaries using multiple key indicators in the cloud computing resource system, enabling flexible adjustment of the performance and critical range of cloud computing resources to meet the resource scheduling needs of different users and improve the targeting and effectiveness of resource scheduling. Furthermore, the improved particle swarm optimization algorithm, optimized for energy consumption and remaining resource utilization, can accurately capture the overall system load imbalance, thereby quickly determining the optimal resource scheduling scheme and improving the overall system resource utilization. This cloud computing resource scheduling method can not only accurately achieve adaptive scheduling of cloud computing resources, effectively improving the accuracy and rationality of resource scheduling; it can also achieve multi-objective optimization, improving system resource utilization while appropriately reducing energy consumption by controlling resource overhead, thereby effectively reducing waste in resource overhead. Attached Figure Description
[0009] Figure 1This is a schematic diagram of a cloud computing resource including physical machines and virtual machines, as disclosed in an embodiment of this application; Figure 2 This is a flowchart illustrating a cloud computing resource scheduling method based on multi-objective optimization disclosed in an embodiment of this application; Figure 3 This is a flowchart illustrating another cloud computing resource scheduling method based on multi-objective optimization disclosed in an embodiment of this application; Figure 4 This is a schematic diagram illustrating the analytical process of the cloud computing resource scheduling method disclosed in an embodiment of this application; Figure 5 This is a flowchart illustrating another cloud computing resource scheduling method based on multi-objective optimization disclosed in the embodiments of this application; Figure 6 This is a schematic diagram of another analytical process of the cloud computing resource scheduling method disclosed in the embodiments of this application; Figure 7 This is a modular schematic diagram of a cloud computing resource scheduling device based on multi-objective optimization disclosed in an embodiment of this application; Figure 8 This is a modular schematic diagram of an electronic device disclosed in an embodiment of this application. Detailed Implementation
[0010] 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, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0011] It should be noted that the terms "comprising" and "having" and any variations thereof in the embodiments of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to these processes, methods, products, or devices.
[0012] This application discloses a cloud computing resource scheduling method, apparatus, and device based on multi-objective optimization. It can effectively improve the accuracy and rationality of cloud computing resource scheduling through multi-objective optimization, which is conducive to improving resource utilization and effectively reducing resource consumption.
[0013] First, a brief explanation of some of the technical terms disclosed in the embodiments of this application will be given.
[0014] Cloud computing resources refer to standardized resources that provide extensive, elastic, and metered cloud services via the internet, implemented by related hardware and software with computing, storage, and network communication capabilities. Taking a data center as an example, it can include multiple physical machines (i.e., actual physical hosts), each of which can run one or more virtual machines (i.e., independent computing environments created through software simulation). These physical machines and virtual machines can be abstracted as the cloud computing resources provided by the data center. The service needs of different users can be met by scheduling an appropriate number and type of virtual machines on one or more physical machines.
[0015] Particle swarm optimization (PSO) refers to a class of heuristic algorithms used to find feasible, relatively optimal solutions to complex problems (especially NP-hard problems) within a reasonable timeframe, but it does not guarantee that the solution is optimal. Many core issues in cloud computing resource scheduling are essentially NP-hard problems. By abstracting resource scheduling schemes as a randomly generated swarm of particles, whose velocity and position represent the corresponding scheduling strategies or operations, a suitable resource scheduling scheme can be efficiently and flexibly determined under certain constraints during the process of finding the optimal solution based on particle swarm optimization.
[0016] Load balancing refers to the strategies and techniques used in cloud computing resource systems to rationally distribute network traffic or computing tasks demanded by users to various resource units (such as physical machines, virtual machines, etc.) to avoid overloading any single resource unit. In some embodiments, load balancing also serves to prevent any resource unit from being idle. Traditionally, various classic search algorithms, including the aforementioned particle swarm optimization algorithm and other heuristic algorithms (such as ant colony optimization, genetic algorithms, simulated annealing, etc.), can be used to achieve load balancing of cloud computing resource systems, thereby maximizing system throughput, minimizing task response time, and avoiding single points of failure caused by overload as much as possible.
[0017] The following will be described in detail with reference to the accompanying drawings.
[0018] In this embodiment of the application, cloud computing resources may include a system composed of multiple physical machines and one or more virtual machines or other resource units running on each physical machine. For example, please refer to... Figure 1 , Figure 1 This is a schematic diagram illustrating the physical machines and virtual machines included in a cloud computing resource disclosed in an embodiment of this application. For example... Figure 1 As shown, a physical machine can be represented by PM (Physical Machine) and a virtual machine by VM (Virtual Machine). In some embodiments, cloud computing resources may include n physical machines, which can be represented as a set. Each physical machine can run m virtual machines, which can be represented as ,in , ,Right now For the i-th physical machine The set of virtual machines running, where each of the n physical machines corresponds to a set of virtual machines, constitutes the total set of virtual machines contained in the cloud computing resource system. It can be understood that n and m are both positive integers.
[0019] In some embodiments, the cloud computing resource system may further include one or a group of central scheduling hosts ( Figure 1 (Not specifically shown in the text) The central scheduling host can act as the master node to obtain the resource status reported by each resource unit in the cloud computing resources, and execute appropriate load balancing strategies or operations based on a global perspective to achieve centralized scheduling of the aforementioned cloud computing resources.
[0020] In other embodiments, the cloud computing resource system may also employ distributed scheduling. For example, each resource unit can initiate or respond to resource scheduling requests based on its local perspective to achieve a preset load balancing strategy. In still other embodiments, the cloud computing resource system can combine the above-mentioned centralized and distributed scheduling schemes, adopting a hybrid and layered architecture to achieve coarse-grained centralized scheduling and fine-grained centralized or distributed scheduling. This is beneficial for combining the advantages of different resource scheduling methods and improving the load balancing effect of the system.
[0021] Please see Figure 2 , Figure 2 This is a flowchart illustrating a cloud computing resource scheduling method based on multi-objective optimization disclosed in an embodiment of this application. Figure 2 As shown, the method may include the following steps: S202. Monitor the performance status of the target cloud computing resources.
[0022] In this embodiment of the application, by setting up a monitoring component to monitor the target cloud computing resource, the performance status of the target cloud computing resource can be obtained. Based on the performance status, it can be determined whether the target cloud computing resource needs to be scheduled, thereby realizing a suitable load balancing strategy.
[0023] For example, taking the target cloud computing resources provided by the data center as an example, the performance status of the target cloud computing resources can include resource-level performance status such as computing performance (e.g., CPU utilization, CPU load, GPU utilization, etc.), memory performance (e.g., memory utilization, etc.), storage performance (e.g., IOPS, read / write throughput, disk utilization, etc.), and network performance (e.g., network throughput, network packet rate, network latency and jitter, etc.). It can also include service and application-level performance status such as application response time and service availability. Furthermore, it can include performance status of other indicators such as resource overhead and overall resource utilization.
[0024] Preferably, in the embodiments of this application, the performance status of the target cloud computing resource can be used to characterize its overall load level. For example, it can be achieved by monitoring the CPU resource utilization information (such as CPU utilization rate, CPU load, etc.) and memory resource utilization information (such as memory utilization rate, etc.) of each virtual machine in the total virtual machine set contained in its system and performing comprehensive calculations, and using the obtained calculation results to represent the performance status of the target cloud computing resource.
[0025] S204. If the above performance status does not match the performance critical range of the target cloud computing resources, determine the resource scheduling scheme corresponding to the performance status and the performance critical range.
[0026] In this embodiment, the current performance state of the target cloud computing resource can be represented as P, and the performance threshold of the target cloud computing resource can be determined by an upper limit performance value. and lower limit performance value To indicate. In In this case, if the performance status of the target cloud computing resource is within its critical performance range, it indicates that the overall load level of the target cloud computing resource is normal and resource scheduling is not required; In this case, it means that the performance status of the target cloud computing resource does not match the above-mentioned performance threshold range, and it is necessary to increase or decrease the resource units called to properly meet the current user needs.
[0027] For example, in That is, if the current performance of the target cloud computing resource is greater than the upper limit performance value, a corresponding resource scheduling scheme can be determined to release the cloud computing resource to meet the increased user demand; for example, in In other words, if the current performance of the target cloud computing resource is lower than the lower limit performance value, a corresponding resource scheduling scheme can be determined to reclaim the cloud computing resource in order to reduce resource waste.
[0028] S206. When the above resource scheduling scheme is used to release cloud computing resources, the resource migration target in the target cloud computing resources is determined based on the multi-objective particle swarm algorithm, and the target cloud computing resources are balanced and scheduled according to the resource migration target; wherein, the above multi-objective particle swarm algorithm is implemented based on the fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources.
[0029] In this embodiment, if the current performance of the target cloud computing resource exceeds its upper limit performance value, and a corresponding resource scheduling scheme is determined to release the cloud computing resource, a multi-objective particle swarm optimization algorithm can be used to determine suitable resource migration targets (e.g., migration locations corresponding to hot hosts in the target cloud computing resource). Then, the load on the further identified hot hosts (e.g., workload instances and their associated data) can be migrated to these resource migration targets to complete the balanced scheduling operation of the target cloud computing resource and achieve load balancing. Here, a hot host can refer to a specific resource unit whose load level (characterized by resource utilization) is significantly higher than other resource units, especially a physical machine whose load level is significantly higher than other similar hosts. The existence of hot hosts often indicates that the cloud computing resource system has an unbalanced load, requiring immediate execution of appropriate load balancing strategies or operations.
[0030] For example, the aforementioned multi-objective particle swarm optimization algorithm can be implemented based on a certain fitness function. That is, by designing a suitable fitness function as a guide, the optimization objective of the particle swarm optimization algorithm can be simplified. By applying certain multi-objective preconditions (such as minimizing the energy consumption of the target cloud computing resources, minimizing the utilization rate of remaining resources, etc.) to the fitness function, improvements based on the corresponding multi-objective optimization function can be implemented in the particle swarm optimization algorithm, thereby helping to quickly determine the reasonable mapping relationship between virtual machines and physical machines and find suitable resource migration targets as soon as possible.
[0031] As can be seen, implementing the cloud computing resource scheduling method described in the above embodiments can accurately determine the demand boundary of resource scheduling by utilizing multiple key indicators in the cloud computing resource system. This allows for flexible adjustment of the performance and critical range of cloud computing resources to meet the resource scheduling needs of different users, improving the targeting and effectiveness of resource scheduling. Furthermore, the improved particle swarm optimization algorithm, optimized for energy consumption and remaining resource utilization, can accurately capture the overall system load imbalance, thereby quickly determining the optimal resource scheduling scheme and improving the overall system resource utilization. This cloud computing resource scheduling method not only accurately achieves adaptive scheduling of cloud computing resources, effectively improving the accuracy and rationality of resource scheduling, but also achieves multi-objective optimization. While improving system resource utilization, it appropriately reduces energy consumption by controlling resource overhead, thus effectively reducing resource waste.
[0032] Please see Figure 3 , Figure 3 This is a flowchart illustrating another cloud computing resource scheduling method based on multi-objective optimization disclosed in an embodiment of this application. Figure 3 As shown, the method may include the following steps: S302. Monitor the performance status of the target cloud computing resources.
[0033] Step S302 is similar to step S202 above, and will not be described again here.
[0034] S304. If the above performance status does not match the performance critical range of the target cloud computing resources, a resource scheduling scheme shall be determined based on the comparison results between the performance status and the performance critical range.
[0035] Step S304 is similar in some implementations to step S204 described above. It should be noted that in some embodiments, the resource scheduling scheme may include resource scheduling granularity; in other embodiments, the resource scheduling scheme may also include key indicators for determining the resource scheduling granularity (e.g., the trend or duration of mismatch between the performance status of the target cloud computing resource and its performance critical range, the size of the gap between the performance status of the target cloud computing resource and its upper or lower performance value, etc.), so that the required resource scheduling granularity can be determined based on the resource scheduling scheme in subsequent steps.
[0036] The aforementioned resource scheduling granularity can be used to trigger corresponding elastic resource adaptive scheduling strategies to release and / or reclaim target cloud computing resources, such as increasing server resources (Scaling Up the Servers, SUS, i.e., expansion) or decreasing server resources (Scaling Down the Servers, SDS, i.e., reduction). Taking the above resource scheduling granularity as an example of determining the method of releasing cloud computing resources, this resource scheduling granularity can include coarse-grained scheduling based on physical machines (i.e., PM-Level Increasing, PLI) and fine-grained scheduling based on virtual machines (i.e., VM-Level Increasing, VLI) to achieve resource scheduling of different granularities and meet different levels of user needs.
[0037] S306. Based on the above resource scheduling scheme, determine the resource scheduling granularity, which is used to determine the method of releasing and / or reclaiming cloud computing resources for the target cloud computing resources.
[0038] In this embodiment of the application, when it is determined that the above-mentioned resource scheduling scheme is used to release cloud computing resources, the target cloud computing resource system can determine the resource scheduling granularity corresponding to the user demand status based on the user demand status it has obtained. The resource scheduling granularity may include coarse-grained scheduling based on physical machines and fine-grained scheduling based on virtual machines.
[0039] For example, when the user demand status is "increasing demand," the resource scheduling granularity corresponding to this user demand status can be determined to be coarse-grained scheduling based on physical machines. This allows the user demand to be met primarily by increasing physical machine resources (e.g., adding available virtual machines on the same physical machine, or adding more available physical machines). Furthermore, if the user demand status remains "increasing demand," the resource scheduling granularity corresponding to this user demand status can be determined to be fine-grained scheduling based on virtual machines. This allows the user demand to be met further by increasing virtual machine resources (e.g., increasing the load on available virtual machines, or scheduling other available virtual machines).
[0040] Optionally, if user demand continues to increase, the target cloud computing resource system can first gradually increase virtual machine resources to meet user demand through fine-grained scheduling based on virtual machines; if the fine-grained scheduling can no longer meet user demand, then more physical machine resources can be allocated through coarse-grained scheduling based on physical machines, and then user demand can continue to be met through fine-grained scheduling based on virtual machines, and so on.
[0041] Optionally, when the user demand status is reduced, a corresponding resource scheduling scheme can be determined to reclaim cloud computing resources. This can be achieved by determining a coarse-grained resource reclamation scheme based on physical machines or a fine-grained resource reclamation scheme based on virtual machines. This allows for flexible adaptation to the differentiated needs of users and timely reclamation of cloud computing resources in the event of over-allocation, thereby reducing resource and energy consumption.
[0042] S308. Based on the above resource scheduling granularity, perform corresponding cloud computing resource release and / or reclamation operations for the target cloud computing resources.
[0043] In the embodiments of this application, different resource scheduling granularities can correspond to different resource release and / or reclamation methods, so that the target cloud computing resource system can perform corresponding cloud computing resource release and / or reclamation operations based on the above resource scheduling granularities.
[0044] In some embodiments, taking the resource scheduling granularity including coarse-grained scheduling based on physical machines as an example, when it is necessary to release cloud computing resources through coarse-grained scheduling, one or more target physical machines with the lowest physical machine resource cost can be determined first based on the physical machine resource cost corresponding to each physical machine in the target cloud computing resources. The physical machine resource cost corresponding to each physical machine can be determined by the CPU utilization and corresponding execution cost of each virtual machine contained in each physical machine, as shown in Formula 1 below.
[0045] Formula 1:
[0046] in, and ,Right now This indicates whether the j-th virtual machine in the set of virtual machines (VMs) on the current physical machine (omitting the index of the physical machine to which it belongs) is selected as an available virtual machine. This indicates that the j-th virtual machine has been selected. This indicates that it was not selected. This represents the CPU utilization of the j-th virtual machine. This indicates the execution cost during the task execution phase.
[0047] It should be noted that the virtual machine set VMs also need to satisfy the constraints shown in Formula 2 below.
[0048] Formula 2:
[0049] That is, the number of selected virtual machines is less than or equal to the total number of virtual machines m in the virtual machine set VM.
[0050] Based on this, by minimizing Formula 1 above, one or more target physical machines with the lowest physical machine resource cost can be determined. Furthermore, based on the aforementioned user demand status, available virtual machines on the target physical machines can be added as additional cloud computing resources; subsequently, the performance status of the target cloud computing resources can be updated, and step S302 above can be re-executed to monitor the performance status of the target cloud computing resources.
[0051] In other embodiments, taking the above-mentioned resource scheduling granularity including fine-grained scheduling based on virtual machines as an example, when it is necessary to release cloud computing resources through fine-grained scheduling, one or more target low-cost virtual machines with the lowest virtual machine resource cost can be determined first based on the virtual machine resource cost corresponding to each virtual machine in the target cloud computing resources. The virtual machine resource cost corresponding to each virtual machine can be determined by the CPU utilization and memory utilization of each virtual machine, as shown in Formula 3 below.
[0052] Formula 3:
[0053] in, and ,Right now This indicates whether the j-th virtual machine in the set of virtual machines (VMs) on the current physical machine (the index of the physical machine to which it belongs is also omitted) is selected as an available virtual machine; This represents the CPU utilization of the j-th virtual machine. This represents the memory utilization rate of the j-th virtual machine. This indicates the rental cost of the virtual machine.
[0054] It is understandable that this set of virtual machines (VMs) also needs to satisfy the constraints shown in Formula 2 above.
[0055] Based on this, by minimizing Equation 3 above, one or more target low-cost virtual machines with the lowest virtual machine resource cost can be determined. Furthermore, based on the aforementioned user demand status, target low-cost virtual machines can be scheduled as additional cloud computing resources; subsequently, the performance status of the target cloud computing resources can be updated, and step S302 above can be re-executed to monitor the performance status of the target cloud computing resources.
[0056] As an optional implementation, if the above resource scheduling scheme has been determined to be used to reclaim cloud computing resources, one or more target high-cost virtual machines with the highest virtual machine resource cost can be identified from among the virtual machines of the target cloud computing resources, based on the user demand status described above. The virtual machine resource cost corresponding to each virtual machine can be determined by the CPU utilization and memory utilization of each virtual machine, similar to Formula 3 above, as shown in Formula 4 below.
[0057] Formula 4:
[0058] in, and It is understandable that this set of virtual machines (VMs) also needs to satisfy the constraints shown in Formula 2 above.
[0059] Based on this, by maximizing Formula 4 above, one or more target high-cost virtual machines with the highest virtual machine resource cost can be identified. Furthermore, by shutting down these target high-cost virtual machines, the corresponding cloud computing resources can be reclaimed; subsequently, the performance status of the target cloud computing resources can be updated, and step S302 above can be re-executed to monitor the performance status of the target cloud computing resources.
[0060] For example, please refer to further reading Figure 4 , Figure 4 This is a schematic diagram of the analytical process of the cloud computing resource scheduling method disclosed in the embodiments of this application. It mainly illustrates the branching scenarios of determining different resource scheduling schemes corresponding to the performance state and the performance critical range when the performance state of the target cloud computing resource does not match its performance critical range, including: S402, Monitor the performance status P of the target cloud computing resources.
[0061] S404, at the performance threshold between performance state P and the target cloud computing resource. In the case of mismatch, determine the performance state P and the performance critical range. The corresponding resource scheduling scheme.
[0062] Among them, if , Perform coarse-grained scheduling based on physical machines, identify one or more target physical machines with the lowest physical machine resource cost, and add available virtual machines on the target physical machines as additional cloud computing resources (step S4061). If it remains , Perform fine-grained scheduling based on virtual machines, identify one or more target low-cost virtual machines with the lowest virtual machine resource cost, and schedule the target low-cost virtual machines as additional cloud computing resources (step S4062). like Then, identify one or more target high-cost virtual machines with the highest virtual machine resource cost, and shut down the target high-cost virtual machines (step S4063).
[0063] S408. Update the performance status P and re-execute step S402.
[0064] Through the above branch steps, resource scheduling schemes with different granularities can be used to flexibly adapt to the differentiated needs of users. In the event of insufficient cloud computing resource allocation, resources can be released in a timely manner, and in the event of excessive cloud computing resource allocation, resources can be reclaimed in a timely manner. This is conducive to accurately adapting to user needs and minimizing unnecessary resource and energy consumption.
[0065] S310. When the above resource scheduling scheme is used to release cloud computing resources, the resource migration target in the target cloud computing resources is determined based on the multi-objective particle swarm algorithm; wherein, the above multi-objective particle swarm algorithm is implemented based on the fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources.
[0066] Step S310 is similar in some implementations to step S206 described above. It should be noted that the aforementioned resource migration target can be used as the resource migration target for the hot host further determined in subsequent steps, so as to perform subsequent load balancing operations on the hot host and its corresponding resource migration target.
[0067] S312. Based on the resource utilization information corresponding to the target cloud computing resources, determine the hot hosts in the target cloud computing resources; wherein, the aforementioned resource utilization information includes at least CPU resource utilization information and / or memory resource utilization information.
[0068] S314. Take the above-mentioned resource migration target as the resource migration target corresponding to the hot host, and perform balanced scheduling operation on the target cloud computing resources according to the resource migration target.
[0069] In this embodiment, if it has been determined that the current resource scheduling scheme for the target cloud computing resource is used to release the cloud computing resource, then the hot hosts in the target cloud computing resource can be further determined based on the current resource utilization information related to CPU, memory, etc. of the system. For example, CPU resource utilization information may include CPU utilization rate, CPU usage, currently used CPU information, etc.; memory resource utilization information may include memory utilization rate, etc.
[0070] In some embodiments, hotspot hosts in the target cloud computing resource can be identified using entropy modeling, utilizing resource utilization information collected periodically (e.g., every 3 seconds, every 5 seconds, etc.). For example, based on the resource utilization information, a corresponding decision matrix can be constructed for each physical machine in the target cloud computing resource. Based on this decision matrix, the contribution of each virtual machine within each physical machine is calculated. Then, a critical value is calculated for each physical machine based on these contribution values. This critical value can be used to measure the load level of each physical machine. Based on this, hotspot hosts in the target cloud computing resource can be identified using the critical values corresponding to each physical machine.
[0071] In other embodiments, pre-collected resource utilization information and identified or soon-to-be-identified hot hosts in the target cloud computing resource under the corresponding state can be used as training data to train a pre-built hot host identification model. This allows for better prediction (i.e., predicting physical machines that will become hot hosts based on changes in resource utilization) and identification of hot hosts in advance. By using the currently collected resource utilization information as input to the trained hot host identification model, the hot hosts in the target cloud computing resource can be obtained from the model's output.
[0072] Based on this, the aforementioned resource migration targets can be used as resource migration targets corresponding to the hot host. Then, corresponding load balancing operations can be performed on the hot host and its corresponding resource migration targets to achieve load balancing of the target cloud computing resources.
[0073] As can be seen, the cloud computing resource scheduling method described in the above embodiments can flexibly adjust the performance and critical range of cloud computing resources to meet the resource scheduling needs of different users, improving the targeting and effectiveness of resource scheduling. It can also accurately capture the overall system load imbalance, thereby quickly determining the optimal resource scheduling scheme and improving the overall resource utilization of the system. This multi-objective optimization-based cloud computing resource scheduling method effectively improves the accuracy and rationality of cloud computing resource scheduling, increasing resource utilization while effectively reducing resource overhead. Furthermore, by using resource scheduling schemes of different granularities to flexibly adapt to the differentiated needs of users, resources can be released in a timely manner when insufficient or reclaimed in a timely manner when excessive, thus accurately matching user needs and minimizing unnecessary resource and energy consumption.
[0074] Please see Figure 5 , Figure 5 This is a flowchart illustrating another cloud computing resource scheduling method based on multi-objective optimization disclosed in an embodiment of this application. Figure 5As shown, the method may include the following steps: S502. Monitor the performance status of the target cloud computing resources.
[0075] Step S502 is similar to step S202 above, and will not be described again here.
[0076] S504. If the above performance status does not match the performance critical range of the target cloud computing resources, a resource scheduling scheme shall be determined based on the comparison results between the performance status and the performance critical range.
[0077] S506. Based on the above resource scheduling scheme, determine the resource scheduling granularity, which is used to determine the method of releasing and / or reclaiming cloud computing resources for the target cloud computing resources.
[0078] S508. Based on the above resource scheduling granularity, perform corresponding cloud computing resource release and / or reclamation operations for the target cloud computing resources.
[0079] Steps S504, S506, and S508 are similar to steps S304, S306, and S308 above, and will not be described again here.
[0080] S510. When the above resource scheduling scheme is used to release cloud computing resources, construct the target decision matrix corresponding to each physical machine according to the resource utilization information of each physical machine in the target cloud computing resources.
[0081] In this embodiment of the application, the cloud computing resource system can build a computing model, perform analysis and decision-making based on the current resource utilization information using entropy modeling, so as to identify hot hosts in the target cloud computing resources in subsequent steps, and then migrate the load on the hot hosts in a targeted manner to achieve load balancing.
[0082] In some embodiments, if it is determined that the above resource scheduling scheme is used to release resources for the target cloud computing resources, the target decision matrix R corresponding to each physical machine can be constructed first according to the resource utilization information (such as CPU resource utilization information and / or memory resource utilization information) of each physical machine in the target cloud computing resources, as shown in Formula 5 below.
[0083] Formula 5:
[0084] Wherein, the aforementioned target decision matrix R is an m-row, n-column matrix, corresponding to the n physical machines contained in the target cloud computing resource, and the m virtual machines running on each physical machine. This can correspond to the resource utilization information of the j-th virtual machine running on the i-th physical machine. It can be understood that n and m are both positive integers. and .
[0085] Optionally, by standardizing the target decision matrix R, its corresponding standardized decision matrix P can also be obtained. This standardized decision matrix P can be represented as shown in Formula 6 below, where each element... It can then be calculated using the following formula 7.
[0086] Formula 6:
[0087] Formula 7:
[0088] in, This can be achieved by taking each element of the objective decision matrix R. It is calculated by dividing by the sum of the elements in its column. Based on this, the subsequent calculations related to the target decision matrix R can also be implemented using this standardized decision matrix P.
[0089] S512. Based on the target decision matrix corresponding to each physical machine, calculate the contribution of each virtual machine contained in each physical machine.
[0090] In this embodiment of the application, the relative contribution of each virtual machine in the target cloud computing resource system can be calculated using the target decision matrix R, that is, the contribution of each virtual machine can be obtained.
[0091] In some embodiments, by using each element in the standardized decision matrix P Multiplying by its logarithm allows us to further calculate the contribution of each virtual machine. (i.e., the contribution of the j-th virtual machine), as shown in Formula 8 below.
[0092] Formula 8:
[0093] Where, constant , m can represent the number of virtual machine samples participating in the computation, which is usually the number of virtual machines running on each physical machine.
[0094] S514. Based on the contribution of each virtual machine contained in each physical machine, perform a weighted summation of the target decision matrix corresponding to each physical machine, and calculate the critical value corresponding to each physical machine.
[0095] In this embodiment, by performing consistency processing on the contribution values of each virtual machine, the weights corresponding to each virtual machine can be further calculated. (That is, the weight corresponding to the j-th virtual machine, omitting the index of its physical machine), and then based on this weight... Resource utilization information for the j-th virtual machine running on the physical machine (The subscript indicating the physical machine to which it belongs is also omitted.) By performing weighted summation in sequence, the critical value S corresponding to the physical machine can be calculated, as shown in Formula 9 below.
[0096] Formula 9:
[0097] In this process, the contribution values of each virtual machine are processed for consistency and weights are calculated. The process can be shown in Formulas 10 and 11 below.
[0098] Formula 10:
[0099] Formula 11:
[0100] Therefore, in subsequent steps, based on the threshold value S corresponding to each physical machine in the target cloud computing resource, the physical machine with the highest threshold value S can be further determined as the hotspot host.
[0101] S516. Based on the critical values corresponding to each of the above physical machines, determine the hot hosts in the target cloud computing resources.
[0102] In the embodiments of this application, as shown in the following formula 12, there is a highest critical value. The physical machine can be identified as a hotspot host in the target cloud computing resources, meaning that the load on this physical machine is significantly higher than that on other physical machines, and appropriate resource migration processing is required for it.
[0103] Formula 12:
[0104] As an optional implementation, the host utilization rate of each physical machine can also be included in the calculation to jointly determine the hot hosts in the target cloud computing resources based on the threshold values and host utilization rates of each physical machine. The aforementioned host utilization rate (i.e., physical machine utilization rate) can be determined through... This can be represented by the capacity corresponding to each physical machine. and virtual machine utilization (That is, the virtual machine utilization rate corresponding to the j-th virtual machine, omitting the subscript representing its physical machine), calculated separately.
[0105] For example, as shown in Formula 13 below, for m virtual machines running on a physical machine, the utilization rate of each virtual machine is calculated. Summing is performed and then divided by the capacity corresponding to the physical machine. The host utilization rate corresponding to the physical machine can then be calculated. .
[0106] Formula 13:
[0107] Based on this, and considering the critical value S and host utilization rate for each physical machine mentioned above. Furthermore, the principle of entropy can be utilized to more accurately identify hot hosts in the target cloud computing resources.
[0108] In some embodiments, when the performance status of the target cloud computing resource indicates an increase in its load, the physical machine with the highest threshold S can be identified as the hot spot host in the target cloud computing resource; in other embodiments, the threshold S and host utilization rate corresponding to each physical machine can also be used separately. By performing weighted summation or weighted multiplication, the hotspot hosts in the target cloud computing resources can be determined based on the calculation results (e.g., the physical machine corresponding to the highest value).
[0109] As an optional implementation, if the performance status of the target cloud computing resource indicates a decrease in the load on that resource, the aforementioned host utilization rate can also be adjusted. Physical machines with utilization rates below a first preset threshold are identified as low-load hosts in the target cloud computing resource. Based on this, the low-load host can be used as the resource migration target corresponding to the aforementioned hot host, so that the load on the hot host can be migrated to the low-load host in subsequent steps to achieve load balancing.
[0110] In some embodiments, CPU utilization and memory utilization can be taken into consideration at the same time. That is, based on the CPU utilization and memory utilization of the virtual machines running on each physical machine, the corresponding idle virtual machine utilization is calculated, and the virtual machine with the lowest idle virtual machine utilization is determined as the resource migration target corresponding to the hot host mentioned above, as shown in Formula 14 below.
[0111] Formula 14:
[0112] in, This represents the CPU utilization of the j-th virtual machine. Let $\mathbf{j}$ represent the memory utilization of the $j$-th virtual machine (the index of its physical machine is omitted). , It is understandable that the collection of virtual machines on each physical machine also needs to satisfy the constraints shown in Formula 2 above.
[0113] Optionally, one or more virtual machines with low idle virtual machine utilization (e.g., idle virtual machine utilization below a second preset utilization threshold, or the utilization of the top k idle virtual machines sorted in ascending order, where k is a positive integer) can be added to the migration target list as candidate resource migration targets for use in subsequent load balancing operations. Further optionally, virtual machines running on the aforementioned low-load hosts can also be added to this migration target list.
[0114] S518. Based on the multi-objective particle swarm optimization algorithm, determine the resource migration target in the target cloud computing resources as the resource migration target corresponding to the above-mentioned hot host, and perform a balanced scheduling operation on the target cloud computing resources according to the resource migration target; wherein, the above-mentioned multi-objective particle swarm optimization algorithm is implemented based on the fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources.
[0115] In this embodiment, the improved multi-objective particle swarm optimization algorithm can determine the resource migration target that is most suitable for the hot host from the target cloud computing resources, so that the target cloud computing resources after the corresponding balanced scheduling operation can achieve the optimization goals of minimizing energy consumption and minimizing the utilization rate of remaining resources as much as possible.
[0116] For example, please refer to further reading Figure 6 , Figure 6 This is a schematic diagram illustrating another analytical flow of the cloud computing resource scheduling method disclosed in this application, mainly showing an optional implementation of the improved multi-objective particle swarm optimization algorithm described above. The preliminary steps for triggering load balancing to start the multi-objective particle swarm optimization algorithm may include: S602, Based on the host utilization rate of each physical machine The host list, hostList, is determined by sorting the hosts in descending order.
[0117] S6041, Increase host utilization Physical machines whose entropy increases and whose corresponding entropy value exceeds a preset entropy threshold are added to the overloaded host list hostOverList; and, S6042, Utilize host Physical machines with utilization rates below the first preset threshold are added to the low-load host list hostUnderList.
[0118] Based on this, for the physical machines in the overloaded host list hostOverList, the hotspot hosts can be identified by the methods described in steps S510 to S516 above (step S606). For physical machines in the low-load host list hostUnderList, their running virtual machines can be added to the migration target list migratedList (step S608) to find resource migration targets corresponding to the aforementioned hot hosts. Furthermore, the improved multi-objective particle swarm optimization algorithm used to determine resource migration targets can be implemented through the following steps: S610, Perform particle initialization for the target cloud computing resources.
[0119] S612. Update the local solution of the particles based on the fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources. S6141. If the local particle solution conforms to the above resource scheduling scheme, the latest local particle solution is determined as the global optimal solution; or, S6142. If the local solution of a particle does not conform to the above resource scheduling scheme, update the inertia weight w and velocity vector v corresponding to each particle, and iteratively update the local solution of the particle. The above iterative update can continue until the latest local solution of the particle conforms to the above resource scheduling scheme, and the latest local solution of the particle is determined as the global optimal solution.
[0120] S616. Based on the global optimal solution, determine the resource migration target corresponding to the hot host.
[0121] In some embodiments, the resource migration target may include a list of virtual machines to be migrated (e.g., virtual machines running on hot hosts), and the migration location corresponding to each virtual machine in the list (e.g., address information corresponding to virtual machines with low idle utilization, virtual machines running on low-load hosts, etc.). Optionally, the migration location may be added to the migration target list migratedList; alternatively, the improved multi-objective particle swarm optimization algorithm may be performed only on the existing migration target list migratedList, and the migration target list migratedList may be updated according to the obtained migration location.
[0122] S618. Based on the above resource migration goals, construct a mapping relationship and determine the mapping scheduling list planList to complete the balanced scheduling operation of the target cloud computing resources.
[0123] For example, a mapping relationship can be established between each virtual machine in the virtual machine list and its corresponding migration location. That is, the virtual machines in the migration target list migratedList are mapped to the virtual machines running on the hot host. This allows load migration to be performed through the corresponding mapping scheduling list planList, thereby achieving balanced scheduling of the target cloud computing resources. Optionally, the host list hostList and the mapping scheduling list planList output by the multi-objective particle swarm optimization algorithm can be further used to perform corresponding balanced scheduling operations in subsequent steps.
[0124] The calculation process for updating the inertial weight w and velocity vector v of each particle in step S6142 can be shown in Formula 15 below.
[0125] Formula 15:
[0126] Here, x represents the particle position vector, meaning that the position vector x can be updated using the particle velocity vector v. Furthermore, the velocity vector v can be determined based on the inertial weight w and two random functions. The acceleration settings are updated as shown in Formula 16 below.
[0127] Formula 16:
[0128] in, and For acceleration coefficient, Corresponding to the local historical optimum, This corresponds to the global historical optimal value. Furthermore, the iteration of the inertia weight w can be shown in Equation 17 below.
[0129] Formula 17:
[0130] in, This is the upper limit of the weight. As the lower limit of the weight, Let represent the maximum number of iterations, and t represent the current iteration. Based on the calculation method in Formula 17 above, the inertia weight w can be reduced linearly, and thus the global optimal solution of the particle can be found through the complete iterative update process described above.
[0131] In some embodiments, the improved multi-objective particle swarm optimization algorithm described above can be implemented based on a fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources. This fitness function can be determined by the optimal and worst solutions for energy consumption and remaining resource utilization obtained based on the ideal solution method.
[0132] For example, the above-mentioned energy consumption can be achieved through... The utilization rate of surplus resources can be expressed as follows: This can be represented as minimizing energy consumption. And maximize host utilization The optimization objective is transformed into minimizing energy consumption. and the utilization rate of remaining resources As shown in Formula 18 below.
[0133] Formula 18:
[0134] Among them, the aforementioned energy consumption expenditure The product of physical machine utilization and idle rate can be used. and corresponding idle expenses The result is shown in Formula 19 below.
[0135] Formula 19:
[0136] The aforementioned idle ratio can be preset, for example, to 0.7, 0.8, etc., and is not specifically limited in this embodiment. Based on this, using the improved ideal solution method (Technique for Order Preference by Similarity to an Ideal Solution, TOPSIS), the aforementioned energy consumption can be minimized. and the utilization rate of remaining resources Under the premise of determining the optimal solution and worst solution Therefore, the fitness function can be determined as shown in Formula 20 below. .
[0137] Formula 20:
[0138] Among them, the above optimal solution The worst solution can be found as shown in Equation 21 below. It can be shown in Formula 22 below.
[0139] Formula 21:
[0140] Formula 22:
[0141] It should be noted that the weights in Formulas 21 and 22 above... This can correspond to the energy consumption expenditure mentioned above. Weight This corresponds to the above-mentioned residual resource utilization rate. In some embodiments, this weight and weight They can be equal (e.g., both are 0.5 after normalization) to represent energy consumption costs. and surplus resource utilization rate The optimization objectives minimized in both cases are equally important.
[0142] Among them, the above and These can be represented as energy consumption and remaining resource utilization under full load operation, respectively. The two approaches 0, thus both can be used to calculate the above optimal solution. ; and These can be represented as energy consumption and remaining resource utilization under no-load and load operating conditions, respectively. The two approaches 1, thus both can be used to calculate the worst solution mentioned above. .
[0143] As can be seen, the cloud computing resource scheduling method described in the above embodiments can flexibly adjust the performance and critical range of cloud computing resources to meet the resource scheduling needs of different users, improving the targeting and effectiveness of resource scheduling. It can also accurately capture the overall system load imbalance, thereby quickly determining the optimal resource scheduling scheme and improving the overall resource utilization of the system. This multi-objective optimization-based cloud computing resource scheduling method effectively improves the accuracy and rationality of cloud computing resource scheduling, increasing resource utilization while effectively reducing resource overhead. Furthermore, by using resource scheduling schemes of different granularities to flexibly adapt to the differentiated needs of users, resources can be released in a timely manner when there is insufficient allocation and reclaimed in a timely manner when there is excessive allocation, thus accurately adapting to user needs and minimizing unnecessary resource and energy consumption. In addition, by designing a fitness function using an improved ideal solution method and implementing an improved multi-objective particle swarm optimization algorithm based on this fitness function, it is possible to quickly search for resource migration targets by using energy consumption and remaining resource utilization as common optimization objectives, thereby facilitating rapid load balancing.
[0144] Please see Figure 7 , Figure 7 This is a modular schematic diagram of a cloud computing resource scheduling device based on multi-objective optimization disclosed in an embodiment of this application. For example... Figure 7As shown, the cloud computing resource scheduling device may include a performance monitoring unit 701, a first scheduling determination unit 702, and a balanced scheduling operation unit 703, wherein: Performance monitoring unit 701 is used to monitor the performance status of the target cloud computing resources; The first scheduling determination unit 702 is used to determine a resource scheduling scheme corresponding to the performance state and the performance critical range when the above performance state does not match the performance critical range of the target cloud computing resource. The balanced scheduling operation unit 703 is used to determine the resource migration target in the target cloud computing resources based on the multi-objective particle swarm algorithm when the above resource scheduling scheme is used to release cloud computing resources, and to perform balanced scheduling operation on the target cloud computing resources according to the resource migration target; wherein, the above multi-objective particle swarm algorithm is implemented based on a fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources.
[0145] As can be seen, the cloud computing resource scheduling device described in the above embodiments can accurately determine the demand boundary of resource scheduling by utilizing multiple key indicators in the cloud computing resource system. This allows for flexible adjustment of the performance and critical range of cloud computing resources to meet the resource scheduling needs of different users, improving the targeting and effectiveness of resource scheduling. Furthermore, the improved particle swarm optimization algorithm, optimized for energy consumption and remaining resource utilization, can accurately capture the overall system load imbalance, thereby quickly determining the optimal resource scheduling scheme and improving the overall system resource utilization. This cloud computing resource scheduling method not only accurately achieves adaptive scheduling of cloud computing resources, effectively improving the accuracy and rationality of resource scheduling, but also achieves multi-objective optimization. While improving system resource utilization, it appropriately reduces energy consumption by controlling resource overhead, thus effectively reducing resource waste.
[0146] In some embodiments, the cloud computing resource scheduling apparatus may further include a second scheduling determination unit (not shown), wherein: The first scheduling determination unit 702 is specifically used to determine a resource scheduling scheme based on the comparison result between the performance state and the performance critical range when the performance state does not match the performance critical range of the target cloud computing resource. The second scheduling determination unit is used to determine the resource scheduling granularity based on the above resource scheduling scheme.
[0147] The resource scheduling granularity mentioned above can be used to determine how to release and / or reclaim cloud computing resources for a target cloud computing resource.
[0148] In some embodiments, the second scheduling determination unit described above can be specifically used to: determine the resource scheduling granularity corresponding to the user's demand state based on the user's demand state when the resource scheduling scheme is used to release cloud computing resources. The resource scheduling granularity may include coarse-grained scheduling based on physical machines and fine-grained scheduling based on virtual machines.
[0149] In some embodiments, the second scheduling determination unit described above may further be used to: determine the resource scheduling granularity corresponding to the user demand state as coarse-grained scheduling based on physical machines when the user demand state is increasing; and determine the resource scheduling granularity corresponding to the user demand state as fine-grained scheduling based on virtual machines when the user demand state continues to be increasing.
[0150] In some embodiments, the cloud computing resource scheduling apparatus may further include a resource release operation unit (not shown). When the resource scheduling granularity includes coarse-grained scheduling based on physical machines, the resource release operation unit may be used to: Based on the physical machine resource cost corresponding to each physical machine in the target cloud computing resources, one or more target physical machines with the lowest physical machine resource cost are determined. The physical machine resource cost corresponding to each physical machine is determined by the CPU utilization and corresponding execution cost of each virtual machine contained in each physical machine. Based on the above user demand status, add available virtual machines on the target physical machine as additional cloud computing resources; The above performance status is updated, and the performance monitoring unit 701 is triggered to re-execute the steps of monitoring the performance status of the target cloud computing resource.
[0151] When the above resource scheduling granularity includes fine-grained scheduling based on virtual machines, this resource release operation unit can be used for: Based on the virtual machine resource cost of each virtual machine in the target cloud computing resources, determine one or more target low-cost virtual machines with the lowest virtual machine resource cost. The virtual machine resource cost of each virtual machine is determined by the CPU utilization and memory utilization of each virtual machine. Based on the above user demand status, target low-cost virtual machines are scheduled as additional cloud computing resources; The above performance status is updated, and the performance monitoring unit 701 is triggered to re-execute the steps of monitoring the performance status of the target cloud computing resource.
[0152] In some embodiments, the second scheduling determination unit may further be used to: when the resource scheduling scheme is used to reclaim cloud computing resources, based on the user demand status, determine one or more target high-cost virtual machines with the highest virtual machine resource cost from each virtual machine of the target cloud computing resources, wherein the virtual machine resource cost corresponding to each virtual machine is determined by the CPU utilization and memory utilization of each virtual machine.
[0153] Based on this, the cloud computing resource scheduling device may further include a resource reclamation operation unit (not shown), which can be used for: Shut down the aforementioned high-cost virtual machines; The above performance status is updated, and the performance monitoring unit 701 is triggered to re-execute the steps of monitoring the performance status of the target cloud computing resource.
[0154] As can be seen, the cloud computing resource scheduling device described in the above embodiments can flexibly adapt to the differentiated needs of users through resource scheduling schemes of different granularities. It can release resources in a timely manner when cloud computing resources are insufficient and reclaim resources in a timely manner when cloud computing resources are over-allocated. This is conducive to accurately adapting to user needs and minimizing unnecessary resource and energy consumption.
[0155] In some embodiments, the cloud computing resource scheduling apparatus may further include a hotspot host determination unit (not shown), wherein: The hotspot host determination unit is used to determine the hotspot hosts in the target cloud computing resource based on the resource utilization information corresponding to the target cloud computing resource; wherein, the aforementioned resource utilization information may include at least CPU resource utilization information and / or memory resource utilization information. The aforementioned balanced scheduling operation unit 703 is further used to take the aforementioned resource migration target as the resource migration target corresponding to the hot host, and to perform balanced scheduling operation on the target cloud computing resources according to the resource migration target.
[0156] In some embodiments, the point host determination unit described above can be specifically used for: Based on the resource utilization information of each physical machine in the target cloud computing resources, construct the target decision matrix for each physical machine; Based on the target decision matrix corresponding to each physical machine, the contribution of each virtual machine contained in each physical machine is calculated respectively. Based on the contribution of each virtual machine contained in each physical machine, the target decision matrix corresponding to each physical machine is weighted and summed to calculate the critical value corresponding to each physical machine. Based on the critical values corresponding to each physical machine, the hot hosts in the target cloud computing resources are identified.
[0157] As an optional implementation, the hotspot host determination unit can also be used for: Calculate the host utilization rate for each physical machine based on its capacity and virtual machine utilization rate. Based on the critical values and host utilization rates of each physical machine, hot hosts in the target cloud computing resources are identified.
[0158] As an optional implementation, the hotspot host determination unit can also be used for: When the above performance status indicates an increase in the load on the target cloud computing resources, the physical machine with the highest threshold value is identified as the hot spot host in the target cloud computing resources; When the above performance status indicates that the target cloud computing resource load has decreased, the physical machines whose host utilization is lower than the preset utilization threshold are identified as low-load hosts in the target cloud computing resources. These low-load hosts are used as resource migration targets corresponding to the above hot hosts.
[0159] In some embodiments, the above-mentioned load balancing operation unit 703 can be specifically used for: Perform particle initialization on the target cloud computing resources; The local solution of the particles is updated based on the fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources. If the local particle solution conforms to the above resource scheduling scheme, the latest local particle solution is determined as the global optimal solution; or, If the local solution of a particle does not conform to the above resource scheduling scheme, update the inertia weight and velocity vector of each particle, and iteratively update the local solution of the particle until the latest local solution of the particle conforms to the above resource scheduling scheme, and determine the latest local solution of the particle as the global optimal solution. Based on the global optimal solution, the resource migration target corresponding to the hot host is determined. The resource migration target may include a list of virtual machines to be migrated, and the migration position corresponding to each virtual machine in the list. Each virtual machine in the virtual machine list is mapped to its corresponding migration location to complete the balanced scheduling operation of the target cloud computing resources.
[0160] As an alternative implementation, the fitness function can be determined by the optimal and worst solutions for energy consumption and remaining resource utilization obtained based on the ideal solution method.
[0161] In the ideal solution method, the weighting factors for the energy consumption and the utilization rate of remaining resources can be equal.
[0162] As can be seen, the cloud computing resource scheduling device described in the above embodiments, by designing the fitness function through the improved ideal solution method and implementing the improved multi-objective particle swarm algorithm based on the fitness function, helps to quickly search for resource migration targets by taking the energy consumption and remaining resource utilization of cloud computing resources as common optimization targets, thereby helping to quickly achieve load balancing.
[0163] Please see Figure 8 , Figure 8 This is a modular schematic diagram of an electronic device disclosed in an embodiment of this application. For example... Figure 8 As shown, the electronic device may include: Memory 801 storing executable program code; Processor 802 coupled to memory 801; The processor 802 can call the executable program code stored in the memory 801 to execute all or part of the steps in any of the cloud computing resource scheduling methods based on multi-objective optimization described in the above embodiments.
[0164] Furthermore, embodiments of this application disclose a computer-readable storage medium storing a computer program for electronic data interchange, wherein the computer program enables a computer to execute all or part of the steps in any of the cloud computing resource scheduling methods based on multi-objective optimization described in the above embodiments.
[0165] Furthermore, this application further discloses a computer program product that, when run on a computer, enables the computer to execute all or part of the steps in any of the cloud computing resource scheduling methods based on multi-objective optimization described in the above embodiments.
[0166] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, including read-only memory (ROM), random access memory (RAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), one-time programmable read-only memory (OTPROM), electrically-Erasable Programmable Read-Only Memory (EEPROM), compactdisc read-only memory (CD-ROM) or other optical disc storage, disk storage, magnetic tape storage, or any other computer-readable medium capable of carrying or storing data.
[0167] The foregoing has provided a detailed description of a cloud computing resource scheduling method, apparatus, and device based on multi-objective optimization disclosed in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A cloud computing resource scheduling method based on multi-objective optimization, characterized in that, include: Monitor the performance status of the target cloud computing resources; If the performance status does not match the performance threshold of the target cloud computing resource, a resource scheduling scheme corresponding to the performance status and the performance threshold is determined. When the resource scheduling scheme is used to release cloud computing resources, a resource migration target is determined among the target cloud computing resources based on a multi-objective particle swarm optimization algorithm, and a balanced scheduling operation is performed on the target cloud computing resources according to the resource migration target; wherein, the multi-objective particle swarm optimization algorithm is implemented based on a fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources.
2. The method according to claim 1, characterized in that, The determination of the resource scheduling scheme corresponding to the performance state and the performance critical range includes: Based on the comparison between the performance status and the performance critical range, a resource scheduling scheme is determined; Based on the resource scheduling scheme, the resource scheduling granularity is determined, which is used to determine the method of releasing and / or reclaiming cloud computing resources for the target cloud computing resources.
3. The method according to claim 2, characterized in that, The step of determining the resource scheduling granularity based on the resource scheduling scheme includes: When the resource scheduling scheme is used to release cloud computing resources, the resource scheduling granularity corresponding to the user demand status is determined according to the user demand status. The resource scheduling granularity includes coarse-grained scheduling based on physical machines and fine-grained scheduling based on virtual machines.
4. The method according to claim 3, characterized in that, The step of determining the resource scheduling granularity corresponding to the user's demand status includes: When the user demand status is "demand increase", the resource scheduling granularity corresponding to the user demand status is determined to be coarse-grained scheduling based on physical machines. If the user demand state remains in the state of increasing demand, the resource scheduling granularity corresponding to the user demand state is determined to be fine-grained scheduling based on virtual machines.
5. The method according to claim 3, characterized in that, The resource scheduling granularity includes coarse-grained scheduling based on physical machines. After determining the resource scheduling granularity corresponding to the user demand state based on the user demand state, the method further includes: Based on the physical machine resource cost corresponding to each physical machine in the target cloud computing resources, one or more target physical machines with the lowest physical machine resource cost are determined, wherein the physical machine resource cost corresponding to each physical machine is determined by the CPU utilization and corresponding execution cost of each virtual machine contained in each physical machine. Based on the user demand status, add available virtual machines on the target physical machine as additional cloud computing resources; Update the performance status and re-execute the steps for monitoring the performance status of the target cloud computing resource.
6. The method according to claim 3, characterized in that, The resource scheduling granularity includes fine-grained scheduling based on virtual machines. After determining the resource scheduling granularity corresponding to the user demand state based on the user demand state, the method further includes: Based on the virtual machine resource cost corresponding to each virtual machine in the target cloud computing resources, one or more target low-cost virtual machines with the lowest virtual machine resource cost are determined, wherein the virtual machine resource cost corresponding to each virtual machine is determined by the CPU utilization and memory utilization of each virtual machine. Based on the user demand status, the target low-cost virtual machine is scheduled as an additional cloud computing resource; Update the performance status and re-execute the steps for monitoring the performance status of the target cloud computing resource.
7. The method according to claim 2, characterized in that, The step of determining the resource scheduling granularity based on the resource scheduling scheme includes: When the resource scheduling scheme is used to reclaim cloud computing resources, based on the user demand status, one or more target high-cost virtual machines with the highest virtual machine resource cost are determined from each virtual machine of the target cloud computing resources. The virtual machine resource cost corresponding to each virtual machine is determined by the CPU utilization and memory utilization of each virtual machine. Shut down the target high-cost virtual machine; Update the performance status and re-execute the steps for monitoring the performance status of the target cloud computing resource.
8. The method according to any one of claims 1 to 7, characterized in that, The step of performing a balanced scheduling operation on the target cloud computing resources according to the resource migration target includes: Based on the resource utilization information corresponding to the target cloud computing resource, the hot hosts in the target cloud computing resource are determined; wherein, the resource utilization information includes at least CPU resource utilization information and / or memory resource utilization information; The resource migration target is used as the resource migration target corresponding to the hot host, and the target cloud computing resources are balanced and scheduled according to the resource migration target.
9. The method according to claim 8, characterized in that, The step of determining the hotspot hosts in the target cloud computing resource based on the resource utilization information corresponding to the target cloud computing resource includes: Based on the resource utilization information of each physical machine in the target cloud computing resources, construct the target decision matrix for each physical machine; Based on the target decision matrix corresponding to each physical machine, the contribution of each virtual machine contained in each physical machine is calculated respectively. Based on the contribution of each virtual machine contained in each physical machine, the target decision matrix corresponding to each physical machine is weighted and summed to calculate the critical value corresponding to each physical machine. Based on the threshold values corresponding to each physical machine, the hotspot hosts in the target cloud computing resources are determined.
10. The method according to claim 9, characterized in that, Before determining the hotspot hosts in the target cloud computing resources based on the threshold values corresponding to each physical machine, the method further includes: Calculate the host utilization rate for each physical machine based on the capacity of each physical machine and the virtual machine utilization rate. The step of determining the hotspot hosts in the target cloud computing resources based on the threshold values corresponding to each physical machine includes: Based on the critical values and host utilization rates of each physical machine, hot hosts in the target cloud computing resources are identified.
11. The method according to claim 10, characterized in that, The method further includes: When the performance status indicates an increase in the load on the target cloud computing resource, the physical machine with the highest threshold value is identified as the hotspot host in the target cloud computing resource; When the performance status indicates that the load on the target cloud computing resources has decreased, the physical machines whose host utilization is lower than a preset utilization threshold are identified as low-load hosts in the target cloud computing resources, and the low-load hosts are used as resource migration targets corresponding to the hot hosts.
12. The method according to any one of claims 1 to 7, characterized in that, The step of determining resource migration targets among the target cloud computing resources based on the multi-objective particle swarm optimization algorithm, and performing a balanced scheduling operation on the target cloud computing resources according to the resource migration targets, includes: Particle initialization is performed on the target cloud computing resource; The local solution of the particles is updated based on the fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources. If the local particle solution conforms to the resource scheduling scheme, the latest local particle solution is determined as the global optimal solution; or, If the local solution of the particle does not conform to the resource scheduling scheme, update the inertia weight and velocity vector of each particle, and iteratively update the local solution of the particle until the latest local solution of the particle conforms to the resource scheduling scheme, and determine the latest local solution of the particle as the global optimal solution; Based on the global optimal solution, the resource migration target in the target cloud computing resource is determined. The resource migration target includes a list of virtual machines to be migrated, and the migration location corresponding to each virtual machine in the list of virtual machines. Each virtual machine in the virtual machine list is mapped to its corresponding migration location to complete the balanced scheduling operation of the target cloud computing resources.
13. The method according to claim 12, characterized in that, The fitness function is determined by the optimal and worst solutions obtained based on the ideal solution method for the energy consumption and the utilization rate of the remaining resources. In this method, the weighting factors for energy consumption and remaining resource utilization are equal.
14. A cloud computing resource scheduling device based on multi-objective optimization, characterized in that, include: The performance monitoring unit is used to monitor the performance status of the target cloud computing resources; The first scheduling determination unit is used to determine a resource scheduling scheme corresponding to the performance state and the performance critical range when the performance state does not match the performance critical range of the target cloud computing resource. The balanced scheduling operation unit is used to determine the resource migration targets in the target cloud computing resources based on the multi-objective particle swarm optimization algorithm, and to perform balanced scheduling operations on the target cloud computing resources according to the resource migration targets; wherein, the multi-objective particle swarm optimization algorithm is implemented based on a fitness function that minimizes the energy consumption and remaining resource utilization of the target cloud computing resources.
15. An electronic device, characterized in that, The system includes a memory and a processor, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform the method as described in any one of claims 1 to 13.
16. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 13.