A virtual machine scheduling method, device, equipment, storage medium and program product
By acquiring optimization target preference information and physical host status information, the CCDEA algorithm is used to optimize virtual machine placement, generate preference optimization reference points, and adjust the set of optimization reference points. This solves the problem in existing technologies that cannot take into account both global search and local preference regions, and achieves global optimization of virtual machine scheduling.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
- Filing Date
- 2026-03-05
- Publication Date
- 2026-06-26
AI Technical Summary
Existing technologies cannot simultaneously take into account both global search and focusing on local preference regions, making it difficult to obtain a globally optimal solution for virtual machine scheduling.
By acquiring optimization target preference information and physical host cluster status information, the CCDEA algorithm is used to optimize virtual machine placement, generate preference optimization reference points, adjust the set of optimization reference points, and perform iterative optimization to obtain the target virtual machine placement scheme.
This approach achieves the goal of focusing on objectives with a higher optimization preference while considering multiple optimization objectives, thereby improving the accuracy of virtual machine scheduling and ensuring the acquisition of the globally optimal scheduling scheme.
Smart Images

Figure CN122285264A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of cloud computing resource scheduling technology, and in particular to a virtual machine scheduling method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Technology
[0002] Cloud computing services provide various data processing and storage resources, allowing users to install and run applications in their allocated virtual environments without needing to understand the details of resource provisioning and management. Simultaneously, system virtualization technology enables resources to be flexibly configured according to actual needs, significantly improving resource utilization efficiency. As data centers continue to expand and the number of cloud platform servers increases, user resource demands are becoming increasingly diverse and frequent. This requires cloud platforms to possess stronger dynamic resource scheduling capabilities to maximize resource utilization while ensuring the quality of user application services.
[0003] In the process of virtual machine scheduling, multiple optimization objectives usually need to be considered. Existing technologies typically obtain a set of solutions that fully cover the target space and are uniformly distributed when optimizing virtual machine scheduling. However, different optimization objectives may have different degrees of importance in different practical application scenarios. Existing technologies cannot simultaneously take into account global search and focus on local preference regions, making it difficult to obtain a globally optimal scheduling scheme. Summary of the Invention
[0004] This invention provides a virtual machine scheduling method, apparatus, device, storage medium, and program product to solve the technical problem that existing technologies cannot simultaneously consider global search and focus on local preference regions, thus making it difficult to obtain a globally optimal scheduling scheme.
[0005] To address the aforementioned technical problems, a first aspect of this invention provides a virtual machine scheduling method, comprising: Obtain current optimization target preference information and physical host cluster status information; wherein, the optimization target preference information is used to indicate the optimization preference ratio of at least two optimization targets; Based on the optimization target preference information and the physical host cluster status information, the virtual machine placement of the target physical host cluster is optimized to obtain the target virtual machine placement scheme. Based on the target virtual machine placement scheme, virtual machine scheduling is performed on the target physical host cluster.
[0006] As a preferred embodiment, the step of optimizing the virtual machine placement of the target physical host cluster based on the optimization target preference information and the physical host cluster status information to obtain a target virtual machine placement scheme specifically includes: Based on the physical host cluster status information, determine the current virtual machine placement constraints; Based on the optimization target preference information, the CCDEA algorithm is used to optimize the placement of virtual machines in the target physical host cluster to obtain the target virtual machine placement scheme; wherein, the resource utilization of all virtual machines to be placed corresponding to the target virtual machine placement scheme satisfies the virtual machine placement constraint condition.
[0007] As a preferred embodiment, the step of optimizing the virtual machine placement of the target physical host cluster using the CCDEA algorithm based on the optimization target preference information to obtain the target virtual machine placement scheme specifically includes: An initial population is randomly generated; wherein each individual in the initial population represents the initial virtual machine placement scheme for each target physical host in the target physical host cluster. The CCDEA algorithm is used to generate an original set of optimization reference points that are uniformly distributed in the optimization target space; Based on the aforementioned optimization target preference information, a preference optimization reference point is generated; Based on the preference optimization reference points, the original set of optimization reference points is moved to obtain an adjusted set of optimization reference points; Based on the set of adjustment and optimization reference points, the initial population is iteratively optimized to obtain the target optimized population; Based on the target optimized population, the target virtual machine placement scheme is determined.
[0008] As a preferred embodiment, the step of shifting the original set of optimization reference points based on the preference optimization reference points to obtain an adjusted set of optimization reference points specifically includes: The remaining original optimization reference points in the original optimization reference point set, excluding those belonging to vertices, are moved to converge towards the preferred optimization reference point. The closer the remaining original optimization reference points are to the preferred optimization reference point, the greater the convergence. This process yields the adjusted optimization reference point set.
[0009] As a preferred embodiment, the method further includes: During the iterative optimization of the initial population, the population information in each iteration is reported to a preset cloud operation and maintenance platform.
[0010] As a preferred embodiment, the optimization objectives include load balancing optimization objective, energy consumption minimization optimization objective, and resource utilization maximization optimization objective; The objective function corresponding to the load balancing optimization objective is determined based on the difference between the resource utilization rate of the target physical host in the target physical host cluster and the average resource utilization rate. The objective function corresponding to the energy consumption minimization optimization objective is determined based on the ratio of the energy consumption of the target physical host in the target physical host cluster to the preset maximum energy consumption; the energy consumption of the target physical host is determined based on the full-load energy consumption, idle energy consumption and CPU utilization of the target physical host. The objective function corresponding to the resource utilization maximization optimization objective is determined based on the weighted sum of the utilization rates of various resources of the target physical hosts in the target physical host cluster.
[0011] A second aspect of the present invention provides a virtual machine scheduling apparatus, comprising: The information acquisition module is used to acquire current optimization target preference information and physical host cluster status information; wherein, the optimization target preference information is used to indicate the optimization preference ratio of at least two optimization targets; The virtual machine placement optimization module is used to optimize the placement of virtual machines in the target physical host cluster based on the optimization target preference information and the physical host cluster status information, so as to obtain the target virtual machine placement scheme. The virtual machine scheduling module is used to schedule virtual machines for the target physical host cluster based on the target virtual machine placement scheme.
[0012] A third aspect of the present invention provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the virtual machine scheduling method described in any of the first aspects.
[0013] A fourth aspect of the present invention provides a computer-readable storage medium comprising a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to execute the virtual machine scheduling method described in any of the first aspects.
[0014] A fifth aspect of the present invention provides a computer program product, including a computer program / instructions, wherein when the computer program / instructions are executed by a processor, they implement the steps of the virtual machine scheduling method described in any of the first aspects.
[0015] Compared with the prior art, the beneficial effect of the embodiments of the present invention is that by considering the optimization target preference information to optimize the placement of virtual machines in the target physical host cluster, it is possible to focus on the optimization target with a higher optimization preference ratio to find the best virtual machine placement scheme while taking into account multiple optimization targets, thereby ensuring that the globally optimal scheduling scheme is obtained and improving the accuracy of virtual machine scheduling. Attached Figure Description
[0016] Figure 1 This is a flowchart illustrating the virtual machine scheduling method in an embodiment of the present invention; Figure 2 This is a schematic diagram showing the distribution of the original optimization reference point set in an embodiment of the present invention; Figure 3 This is a schematic diagram illustrating the distribution of the adjusted and optimized reference point set in an embodiment of the present invention; Figure 4 This is a schematic diagram of the structure of the virtual machine scheduling device in an embodiment of the present invention; Figure 5 This is a schematic diagram of the structure of the electronic device in an embodiment of the present invention. Detailed Implementation
[0017] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0018] Please see Figure 1 The first aspect of this invention provides a virtual machine scheduling method, comprising the following steps S1 to S3: Step S1: Obtain the current optimization target preference information and physical host cluster status information; wherein, the optimization target preference information is used to indicate the optimization preference ratio of at least two optimization targets; Step S2: Based on the optimization target preference information and the physical host cluster status information, optimize the virtual machine placement of the target physical host cluster to obtain the target virtual machine placement scheme; Step S3: Based on the target virtual machine placement scheme, perform virtual machine scheduling on the target physical host cluster.
[0019] Specifically, in order to clarify the optimization goal of the current virtual machine placement, it is necessary to obtain the current optimization goal preference information and physical host cluster status information. It can be understood that the optimization goal preference information is used to indicate the optimization preference ratio of at least two optimization goals. The higher the optimization preference ratio, the higher the current preference of the corresponding optimization goal. That is, the current virtual machine placement scheme should be more inclined to optimize for that optimization goal. The physical host cluster status information is used to indicate the load and resource utilization of each target physical host in the target physical host cluster. The resource utilization may include CPU (Central Processing Unit) utilization, memory utilization, and network bandwidth utilization, etc., which are not specifically limited in this embodiment.
[0020] Furthermore, under the constraints of the current physical host cluster status information, virtual machine placement optimization is performed on the target physical host cluster based on the optimization target preference information. That is, it is necessary to decide which target physical host each virtual machine should be placed on, so as to take into account various optimization objectives while concentrating effective computing power to search for the preferred optimization target area. It is understood that the virtual machine placement optimization for the target physical host cluster in this embodiment can adopt the CCDEA algorithm (Constraint ConeDecomposition Evolutionary Algorithm) or other algorithm frameworks, such as the MOEA / D algorithm (Multi-objective Evolutionary Algorithm based on Decomposition), the NSGA-III algorithm (Non-dominated Sorting Genetic Algorithm III), the RVEA algorithm (Reference Vector Based Evolutionary Algorithm), the CCMO algorithm (Cooperative Co-evolutionary for Multi-objective Optimization), and the CoDEA algorithm (Coevolutionary Decomposition-based Evolutionary Algorithm), etc. This embodiment does not make specific limitations here.
[0021] Furthermore, after determining the target virtual machine placement plan, the corresponding virtual machine scheduling task is executed through the scheduler.
[0022] The virtual machine scheduling method provided in this invention optimizes the placement of virtual machines in a target physical host cluster by considering optimization target preference information. This allows the method to focus on optimization targets with higher optimization preference ratios while taking into account multiple optimization targets, thereby ensuring the acquisition of a globally optimal scheduling scheme and improving the accuracy of virtual machine scheduling.
[0023] As a preferred embodiment, the step of optimizing the virtual machine placement of the target physical host cluster based on the optimization target preference information and the physical host cluster status information to obtain a target virtual machine placement scheme specifically includes: Based on the physical host cluster status information, determine the current virtual machine placement constraints; Based on the optimization target preference information, the CCDEA algorithm is used to optimize the placement of virtual machines in the target physical host cluster to obtain the target virtual machine placement scheme; wherein, the resource utilization of all virtual machines to be placed corresponding to the target virtual machine placement scheme satisfies the virtual machine placement constraint condition.
[0024] Specifically, this embodiment determines the current virtual machine placement constraints based on the physical host cluster status information. These constraints are used to constrain the resource utilization of the virtual machines to be placed and the resource utilization of each target physical host. In one embodiment, the virtual machine placement constraints are as follows: ; in, Let be the CPU utilization of the i-th virtual machine. The number of virtual machines to be placed. Let J be the CPU utilization of the j-th target physical host. The number of target physical hosts, Let i be the network bandwidth utilization of the i-th virtual machine. Let j be the network bandwidth utilization of the target physical host. Let be the memory utilization of the i-th virtual machine. Let be the memory utilization rate of the j-th target physical host. and These are the preset minimum CPU utilization and maximum CPU utilization, respectively. and These are the preset minimum and maximum network bandwidth utilization rates, respectively. and These are preset minimum and maximum memory utilization rates to prevent the target physical host from being underloaded or overloaded.
[0025] Furthermore, since the CCDEA algorithm has excellent performance in handling multi-objective optimization problems with constraints, and its reference point generation effect is better, this embodiment uses the CCDEA algorithm to optimize the placement of virtual machines in the target physical host cluster. Based on the optimization target preference information, the optimization reference points generated by the CCDEA algorithm are adjusted to form an optimization target preference region. This retains the global search capability of the CCDEA algorithm while more effectively searching the preference optimization target region, so that the final target virtual machine placement scheme meets the current optimization target preference information and forms a more accurate global optimal scheduling scheme.
[0026] As a preferred embodiment, the step of optimizing the virtual machine placement of the target physical host cluster using the CCDEA algorithm based on the optimization target preference information to obtain the target virtual machine placement scheme specifically includes: An initial population is randomly generated; wherein each individual in the initial population represents the initial virtual machine placement scheme for each target physical host in the target physical host cluster. The CCDEA algorithm is used to generate an original set of optimization reference points that are uniformly distributed in the optimization target space; Based on the aforementioned optimization target preference information, a preference optimization reference point is generated; Based on the preference optimization reference points, the original set of optimization reference points is moved to obtain an adjusted set of optimization reference points; Based on the set of adjustment and optimization reference points, the initial population is iteratively optimized to obtain the target optimized population; Based on the target optimized population, the target virtual machine placement scheme is determined.
[0027] Specifically, this embodiment first initializes the population. For example, each individual in the population is initialized as (d1, d2, ..., d...). n ), where n is the number of target physical hosts, and assuming the total number of virtual machines is m, then d i Given an m-bit binary code, if d ij If the value is 1, it means that the j-th virtual machine is placed on the i-th target physical host.
[0028] Furthermore, such as Figure 2As shown, the CCDEA algorithm is used to generate a set of original optimization reference points uniformly distributed on the unit hyperplane in the optimization target space to cover the entire optimization target space and ensure the global search capability of the CCDEA algorithm. Here, the optimization target space refers to the target space corresponding to each current optimization objective. Each original optimization reference point in the set is a vector in the v-dimensional optimization target space, where v is the number of current optimization objectives. The original optimization reference points represent the optimization preference reference ratio of each optimization objective, and the sum of all elements in the original optimization reference points is 1, and each element is greater than or equal to 0.
[0029] Furthermore, based on the current optimization objective preference information, preference optimization reference points are generated. For example, the current optimization objectives include load balancing, energy consumption minimization, and resource utilization maximization. If the preference optimization reference points are (1 / 3, 1 / 3, 1 / 3), it means that the optimization preference ratios of each objective are the same, and there is no need to focus on any one objective for optimization. However, if the preference optimization reference points are (0.6, 0.3, 0.1), it means that the optimization preference ratio of the load balancing objective is the largest, followed by the energy consumption minimization objective, and the resource utilization maximization objective is the smallest. Therefore, it is necessary to focus on optimizing the load balancing objective.
[0030] Furthermore, based on the current preference optimization reference point, the original set of optimization reference points is moved to determine the current local preference optimization target region. When iterating and optimizing the initial population in the future, the focus can be on this local preference optimization target region. This preserves the diversity of the population, making it less likely for the population to get stuck in local optima, and also makes the most of the computing resources to search for the local preference optimization target region.
[0031] Furthermore, based on the determined set of adjustment and optimization reference points, the initial population is iteratively optimized. Specifically, according to the objective function of each optimization objective, the objective function value of each individual is calculated. Then, based on the ideal objective function value of each optimization objective, the distance between each individual and each adjustment and optimization reference point in the set is calculated. Each adjustment and optimization reference point corresponds to an optimization objective sub-problem. The individual with the smallest aggregation function value (such as weighted distance) under this optimization objective sub-problem is considered the optimal associated individual of that adjustment and optimization reference point. For each individual, those closer to the local preference optimization objective region have a higher probability of being selected. Under the current virtual machine placement constraints, selection, crossover, and mutation operations are performed on the current population to obtain a new generation of population. This generation gradually optimizes towards the direction closer to the local preference optimization objective region. The iteration continues until the number of iterations reaches the preset maximum number of iterations or the population converges, at which point the iterative optimization stops, and the target optimized population is obtained.
[0032] Furthermore, since each individual in the target optimization population has already determined which virtual machines need to be configured on each target physical host, the current target virtual machine placement scheme can be directly determined.
[0033] As a preferred embodiment, the step of shifting the original set of optimization reference points based on the preference optimization reference points to obtain an adjusted set of optimization reference points specifically includes: The remaining original optimization reference points in the original optimization reference point set, excluding those belonging to vertices, are moved to converge towards the preferred optimization reference point. The closer the remaining original optimization reference points are to the preferred optimization reference point, the greater the convergence. This process yields the adjusted optimization reference point set.
[0034] Specifically, such as Figure 3 As shown, assume the original set of optimization reference points is... W ( w 1 , w 2 ,... , w N (Refer to the preference optimization point) w p ,Will W The remaining original optimization reference points, excluding those belonging to vertices, are moved according to the expression: The process involves moving the reference points. The original optimization reference point belonging to a vertex is the one whose minterm is 0. After the move, the remaining original optimization reference points (excluding those belonging to vertices) will converge towards the preferred optimization reference point. The closer the reference points are to the preferred optimization reference point, the greater the convergence. This preserves population diversity, making it less prone to local optima, while maximizing the use of computational resources for searching the local preferred optimization target region.
[0035] It is worth noting that, in Figure 2 and Figure 3 In the original optimization reference point / adjusted optimization reference point, g1, g2, and g3 are elements corresponding to three different optimization objectives, representing the optimization preference reference ratios for each of the three different optimization objectives.
[0036] As a preferred embodiment, the method further includes: During the iterative optimization of the initial population, the population information in each iteration is reported to a preset cloud operation and maintenance platform.
[0037] Specifically, this embodiment further reports the information of each population during the population iteration optimization process to the cloud operation and maintenance platform, so that maintenance and optimization personnel can adjust the algorithm parameters by observing the status of the population iteration process. For example, when the importance of a certain optimization objective among load balancing, energy consumption and resource utilization changes, only the current optimization objective preference information needs to be adjusted to adjust the local preference optimization objective region of the current optimization algorithm.
[0038] As a preferred embodiment, the optimization objectives include load balancing optimization objective, energy consumption minimization optimization objective, and resource utilization maximization optimization objective; The objective function corresponding to the load balancing optimization objective is determined based on the difference between the resource utilization rate of the target physical host in the target physical host cluster and the average resource utilization rate. The objective function corresponding to the energy consumption minimization optimization objective is determined based on the ratio of the energy consumption of the target physical host in the target physical host cluster to the preset maximum energy consumption; the energy consumption of the target physical host is determined based on the full-load energy consumption, idle energy consumption and CPU utilization of the target physical host. The objective function corresponding to the resource utilization maximization optimization objective is determined based on the weighted sum of the utilization rates of various resources of the target physical hosts in the target physical host cluster.
[0039] Specifically, the optimization objectives in this embodiment further include load balancing, energy consumption minimization, and resource utilization maximization. It is worth noting that in large cloud data centers, virtual machine deployment strategies have a significant impact on the overall performance indicators of the data center. The virtual machine deployment problem involves rationally allocating multiple virtual machines across a certain number of physical hosts while meeting multiple constraints such as energy consumption, quality of service, and migration costs, in order to achieve efficient data center operation and low energy consumption. During virtual machine deployment, migration costs vary across different physical hosts, and their overall impact on the cloud environment also differs. Therefore, when deploying virtual machines, these factors need to be comprehensively considered to optimize resource allocation and improve the overall performance of the data center.
[0040] Load balancing refers to the equalization of workload among physical hosts in a cloud environment, preventing frequent overload or underload of certain physical hosts. It reduces migration costs by decreasing the number of virtual machine migrations, thereby saving energy and improving the service quality of the cloud data center. A load balancing factor is set based on the utilization of resources such as CPU, network bandwidth, and memory of each target physical host to measure the degree of load balancing. The load balancing factor is then normalized and used as the objective function, defined as follows: ; in, This indicates the quantity of various resources on the target physical host; It is a load balancing factor, which is inversely proportional to the load balancing degree of the cloud data center; Let be the utilization rate of various resources of the j-th target physical host; This refers to the average utilization rate of various resources on the target physical host.
[0041] Regarding energy consumption, the CPU accounts for the vast majority of energy consumption compared to resources such as memory and network bandwidth. Therefore, in this embodiment, the energy consumption of the target physical host only considers the CPU's energy consumption, and the energy consumption of the target physical host is calculated using the following expression: ; in, Let be the energy consumption of the j-th target physical host; This refers to energy consumption under no-load conditions. This represents the energy consumption at full load. Let be the CPU utilization of the j-th target physical host.
[0042] To standardize the evaluation criteria, the energy consumption of each physical host, after normalization, is used to form the following objective function: ; in, This represents the preset maximum energy consumption of the j-th target physical host, that is, the energy consumption at its maximum CPU utilization.
[0043] Furthermore, resource utilization also impacts the energy consumption and cost of cloud data centers. Improving overall resource utilization to reduce the number of active physical hosts in a cloud data center can effectively save costs. The search process tends to find virtual machine placement schemes with high resource utilization. The objective function for maximizing resource utilization is determined based on the average resource utilization of physical hosts. Average resource utilization can be obtained from the utilization of CPU, memory, and network bandwidth of each physical host. Therefore, the objective function is expressed as follows: ; in, , and Let these represent the CPU utilization, memory utilization, and network bandwidth utilization of the j-th target physical host, respectively. , and These are the weight values corresponding to CPU utilization, memory utilization, and network bandwidth utilization, respectively.
[0044] Please see Figure 4A second aspect of the present invention provides a virtual machine scheduling device 100, comprising: The information acquisition module 11 is used to acquire current optimization target preference information and physical host cluster status information; wherein, the optimization target preference information is used to indicate the optimization preference ratio of at least two optimization targets; The virtual machine placement optimization module 12 is used to optimize the placement of virtual machines in the target physical host cluster based on the optimization target preference information and the physical host cluster status information, so as to obtain the target virtual machine placement scheme. The virtual machine scheduling module 13 is used to schedule virtual machines for the target physical host cluster based on the target virtual machine placement scheme.
[0045] As a preferred embodiment, the virtual machine placement optimization module 12 is used to optimize the virtual machine placement of the target physical host cluster based on the optimization target preference information and the physical host cluster status information, to obtain a target virtual machine placement scheme, specifically including: Based on the physical host cluster status information, determine the current virtual machine placement constraints; Based on the optimization target preference information, the CCDEA algorithm is used to optimize the placement of virtual machines in the target physical host cluster to obtain the target virtual machine placement scheme; wherein, the resource utilization of all virtual machines to be placed corresponding to the target virtual machine placement scheme satisfies the virtual machine placement constraint condition.
[0046] As a preferred embodiment, the virtual machine placement optimization module 12 is used to optimize the virtual machine placement of the target physical host cluster based on the optimization target preference information and using the CCDEA algorithm to obtain the target virtual machine placement scheme, specifically including: An initial population is randomly generated; wherein each individual in the initial population represents the initial virtual machine placement scheme for each target physical host in the target physical host cluster. The CCDEA algorithm is used to generate an original set of optimization reference points that are uniformly distributed in the optimization target space; Based on the aforementioned optimization target preference information, a preference optimization reference point is generated; Based on the preference optimization reference points, the original set of optimization reference points is moved to obtain an adjusted set of optimization reference points; Based on the set of adjustment and optimization reference points, the initial population is iteratively optimized to obtain the target optimized population; Based on the target optimized population, the target virtual machine placement scheme is determined.
[0047] As a preferred embodiment, the virtual machine placement optimization module 12 is used to perform a movement process on the original set of optimization reference points based on the preference optimization reference points to obtain an adjusted set of optimization reference points, specifically including: The remaining original optimization reference points in the original optimization reference point set, excluding those belonging to vertices, are moved to converge towards the preferred optimization reference point. The closer the remaining original optimization reference points are to the preferred optimization reference point, the greater the convergence. This process yields the adjusted optimization reference point set.
[0048] As a preferred embodiment, the device is further used for: During the iterative optimization of the initial population, the population information in each iteration is reported to a preset cloud operation and maintenance platform.
[0049] As a preferred embodiment, the optimization objectives include load balancing optimization objective, energy consumption minimization optimization objective, and resource utilization maximization optimization objective; The objective function corresponding to the load balancing optimization objective is determined based on the difference between the resource utilization rate of the target physical host in the target physical host cluster and the average resource utilization rate. The objective function corresponding to the energy consumption minimization optimization objective is determined based on the ratio of the energy consumption of the target physical host in the target physical host cluster to the preset maximum energy consumption; the energy consumption of the target physical host is determined based on the full-load energy consumption, idle energy consumption and CPU utilization of the target physical host. The objective function corresponding to the resource utilization maximization optimization objective is determined based on the weighted sum of the utilization rates of various resources of the target physical hosts in the target physical host cluster.
[0050] The virtual machine scheduling device 100 provided in this embodiment of the invention optimizes the placement of virtual machines in the target physical host cluster by considering the optimization target preference information. This allows it to focus on the optimization target with a higher optimization preference ratio while taking into account multiple optimization targets, thereby ensuring that the globally optimal scheduling scheme is obtained and improving the accuracy of virtual machine scheduling.
[0051] Please see Figure 5 The third aspect of the present invention provides an electronic device 200, including a memory 22, a processor 21, and a computer program stored in the memory 22 and executable on the processor 21. When the processor 21 executes the computer program, it implements the virtual machine scheduling method described in any embodiment of the first aspect.
[0052] For example, the computer program may be divided into one or more modules / units, which are stored in the memory 22 and executed by the processor 21 to complete the present invention. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the electronic device 200.
[0053] The electronic device 200 may include, but is not limited to, a processor 21 and a memory 22. Those skilled in the art will understand that the schematic diagram is merely an example of the electronic device 200 and does not constitute a limitation on the electronic device 200. It may include more or fewer components than illustrated, or combine certain components, or different components. For example, the electronic device 200 may also include input / output devices, network access devices, buses, etc.
[0054] The processor 21 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, or the processor 21 can be any conventional processor 21. The processor 21 is the control center of the electronic device 200, connecting various parts of the electronic device 200 via various interfaces and lines.
[0055] The memory 22 can be used to store the computer programs and / or modules. The processor 21 implements various functions of the electronic device 200 by running or executing the computer programs and / or modules stored in the memory 22 and calling the data stored in the memory 22. The memory 22 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, phonebook, etc.). In addition, the memory 22 may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0056] A fourth aspect of the present invention provides a computer-readable storage medium comprising a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to execute the virtual machine scheduling method described in any embodiment of the first aspect.
[0057] A fifth aspect of the present invention provides a computer program product, including a computer program / instructions, wherein when the computer program / instructions are executed by a processor, they implement the steps of the virtual machine scheduling method described in any embodiment of the first aspect.
[0058] Wherein, if the modules / units integrated in the electronic device are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of the present invention can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0059] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.
Claims
1. A virtual machine scheduling method, characterized in that, include: Obtain current optimization target preference information and physical host cluster status information; wherein, the optimization target preference information is used to indicate the optimization preference ratio of at least two optimization targets; Based on the optimization target preference information and the physical host cluster status information, the virtual machine placement of the target physical host cluster is optimized to obtain the target virtual machine placement scheme. Based on the target virtual machine placement scheme, virtual machine scheduling is performed on the target physical host cluster.
2. The virtual machine scheduling method as described in claim 1, characterized in that, The step of optimizing virtual machine placement on the target physical host cluster based on the optimization target preference information and the physical host cluster status information to obtain a target virtual machine placement scheme specifically includes: Based on the physical host cluster status information, determine the current virtual machine placement constraints; Based on the optimization target preference information, the CCDEA algorithm is used to optimize the placement of virtual machines in the target physical host cluster to obtain the target virtual machine placement scheme; wherein, the resource utilization of all virtual machines to be placed corresponding to the target virtual machine placement scheme satisfies the virtual machine placement constraint condition.
3. The virtual machine scheduling method as described in claim 2, characterized in that, The step of optimizing the virtual machine placement scheme for the target physical host cluster using the CCDEA algorithm based on the optimization target preference information specifically includes: An initial population is randomly generated; wherein each individual in the initial population represents the initial virtual machine placement scheme for each target physical host in the target physical host cluster. The CCDEA algorithm is used to generate an original set of optimization reference points that are uniformly distributed in the optimization target space; Based on the aforementioned optimization target preference information, a preference optimization reference point is generated; Based on the preference optimization reference points, the original set of optimization reference points is moved to obtain an adjusted set of optimization reference points; Based on the set of adjustment and optimization reference points, the initial population is iteratively optimized to obtain the target optimized population; Based on the target optimized population, the target virtual machine placement scheme is determined.
4. The virtual machine scheduling method as described in claim 3, characterized in that, The step of moving the original set of optimization reference points based on the preference optimization reference points to obtain an adjusted set of optimization reference points specifically includes: The remaining original optimization reference points in the original optimization reference point set, excluding those belonging to vertices, are moved to converge towards the preferred optimization reference point. The closer the remaining original optimization reference points are to the preferred optimization reference point, the greater the convergence. This process yields the adjusted optimization reference point set.
5. The virtual machine scheduling method as described in claim 3, characterized in that, The method further includes: During the iterative optimization of the initial population, the population information in each iteration is reported to a preset cloud operation and maintenance platform.
6. The virtual machine scheduling method as described in claim 1, characterized in that, The optimization objectives include load balancing optimization objective, energy consumption minimization optimization objective, and resource utilization maximization optimization objective; The objective function corresponding to the load balancing optimization objective is determined based on the difference between the resource utilization rate of the target physical host in the target physical host cluster and the average resource utilization rate. The objective function corresponding to the energy consumption minimization optimization objective is determined based on the ratio of the energy consumption of the target physical host in the target physical host cluster to the preset maximum energy consumption; the energy consumption of the target physical host is determined based on the full-load energy consumption, idle energy consumption and CPU utilization of the target physical host. The objective function corresponding to the resource utilization maximization optimization objective is determined based on the weighted sum of the utilization rates of various resources of the target physical hosts in the target physical host cluster.
7. A virtual machine scheduling device, characterized in that, include: The information acquisition module is used to acquire current optimization target preference information and physical host cluster status information; wherein, the optimization target preference information is used to indicate the optimization preference ratio of at least two optimization targets; The virtual machine placement optimization module is used to optimize the placement of virtual machines in the target physical host cluster based on the optimization target preference information and the physical host cluster status information, so as to obtain the target virtual machine placement scheme. The virtual machine scheduling module is used to schedule virtual machines for the target physical host cluster based on the target virtual machine placement scheme.
8. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the virtual machine scheduling method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the virtual machine scheduling method according to any one of claims 1 to 6.
10. A computer program product, characterized in that, Includes a computer program / instruction that, when executed by a processor, implements the steps of the virtual machine scheduling method according to any one of claims 1 to 6.