CN117573373A - CPU virtualization scheduling method and system based on cloud computing - Google Patents

CPU virtualization scheduling method and system based on cloud computing Download PDF

Info

Publication number
CN117573373A
CN117573373A CN202410050274.5A CN202410050274A CN117573373A CN 117573373 A CN117573373 A CN 117573373A CN 202410050274 A CN202410050274 A CN 202410050274A CN 117573373 A CN117573373 A CN 117573373A
Authority
CN
China
Prior art keywords
application program
virtual machine
cpu
resource
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202410050274.5A
Other languages
Chinese (zh)
Other versions
CN117573373B (en
Inventor
王嘉诚
张少仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongcheng Hualong Computer Technology Co Ltd
Original Assignee
Zhongcheng Hualong Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongcheng Hualong Computer Technology Co Ltd filed Critical Zhongcheng Hualong Computer Technology Co Ltd
Priority to CN202410050274.5A priority Critical patent/CN117573373B/en
Publication of CN117573373A publication Critical patent/CN117573373A/en
Application granted granted Critical
Publication of CN117573373B publication Critical patent/CN117573373B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention discloses a CPU virtualization scheduling method and system based on cloud computing, which relate to the technical field of cloud computing, and are used for collecting various operation data on a physical machine, creating a virtual machine in a cloud computing environment, simulating a hardware environment of the physical machine, analyzing the obtained physical machine operation data, determining the demand level of an application program based on the physical machine operation data, obtaining an application program analysis set, setting priorities for application programs with different demand levels, establishing a virtual machine resource allocation evaluation index based on the application program analysis set and combining the set application program priorities, and obtaining a virtual machine resource allocation standard. According to the invention, the priority is set, the virtual machine resource allocation evaluation index is utilized, and the virtual machine resource allocation standard is obtained through analysis, so that the application program is subjected to scheduling and optimization of CPU resources, and the data stability of the CPU virtualized scheduling is ensured.

Description

CPU virtualization scheduling method and system based on cloud computing
Technical Field
The invention relates to the technical field of cloud computing, in particular to a CPU virtualization scheduling method and system based on cloud computing.
Background
The cloud computing breaks up huge data computing processing programs into numerous small programs through a network 'cloud', and various computing services such as storage, processing and application services are provided for users by distributing data storage and processing tasks to a remote server cluster, and along with popularization of the Internet and explosive growth of data volume, the demands of enterprises and individuals on computing capacity are continuously improved, the computing capacity of one computer cannot always meet complex data computing demands, so that the complex data computing demands are needed to be solved by adopting a server cluster mode, and the CPU virtualization scheduling can schedule a plurality of virtual machines to different physical machines, so that dynamic allocation and load balancing of resources are realized, and the requirement of multitasking is met.
In the existing cloud computing environment, as a plurality of virtual machines need to share physical CPU resources, the situation of insufficient performance isolation is easy to occur, the performance of other virtual machines is influenced by overhigh load of certain virtual machines, and the stable transmission of data is influenced by the requirement of high delay and instantaneity of certain applications, so that more accurate CPU resource scheduling becomes a problem to be solved, and therefore, the CPU virtualization scheduling method and system based on cloud computing are provided.
Disclosure of Invention
The invention aims to provide a CPU virtualization scheduling method and system based on cloud computing, which are used for solving the problems in the background technology.
In order to solve the technical problems, the invention adopts the following technical scheme:
in a first aspect, a method for scheduling CPU virtualization based on cloud computing includes the steps of:
step 1, collecting various operation data on a physical machine, creating a virtual machine in a cloud computing environment, and simulating a hardware environment of the physical machine, wherein the operation data comprises CPU utilization rate and memory utilization rate, and the hardware environment of the physical machine comprises CPU and memory;
step 2, analyzing the obtained physical machine operation data, determining the demand level of the application program based on the physical machine operation data, obtaining an application program analysis set, and setting priorities for the application programs with different demand levels;
step 3, establishing a virtual machine resource allocation evaluation index based on the application program analysis set and in combination with the set application program priority, and obtaining a virtual machine resource allocation standard;
and 4, analyzing the load condition of the application program under the virtual machine resource allocation standard, planning the CPU resource scheduling strategy of the virtual machine, and performing the CPU resource allocation of the virtual machine.
The technical scheme of the invention is further improved as follows: the virtual machine creation and simulation process in the step 1 is that,
step 101, collecting operation data of CPU utilization rate and memory utilization condition index of a physical machine, and collecting the operation data of the physical machine by using a Zabbix performance monitoring tool;
102, creating a virtual machine by using an API gateway of a cloud platform, and configuring hardware parameters of the virtual machine to ensure that the virtual machine is similar to an original physical machine, wherein the configured hardware parameters comprise CPU core number, memory size and storage capacity;
step 103, migrating an operating system and an application program on the physical machine into the virtual machine by using a VMware virtualization technology, so as to ensure that the virtual machine and the original physical machine have similar hardware configuration, and accurately simulate the running environment of the physical machine;
step 104, migrating the data collected from the physical machine to the newly created virtual machine, and using SCP file transmission tool to realize;
step 105, testing the virtual machine after migration is completed, and verifying the running state and performance of the application program on the virtual machine to ensure that the performance and stability of the application program are similar to those of the original physical machine;
step 106, continuously monitoring CPU utilization rate and memory use condition performance indexes of the virtual machine by using a monitoring tool of the cloud platform;
and 107, according to the monitoring data, adjusting and optimizing the configuration of the virtual machine to obtain better performance.
The technical scheme of the invention is further improved as follows: the application priority setting process in the step 2 is that,
step 201, analyzing the collected physical machine operation data, marking CPU utilization rate and memory utilization rate performance data, and determining resource utilization amount;
step 202, obtaining a demand pattern of an application program on physical machine resources, and ensuring that collected operation data has enough data points to cover the whole operation time behavior of the application program, wherein the operation data comprise different loads and time periods;
step 203, dividing the application program into different grades according to the requirements on the physical machine resources;
step 204, classifying the application programs with the determined demand levels to obtain an application program analysis set;
step 205, corresponding priority is set for the application program according to its requirement level.
The technical scheme of the invention is further improved as follows: the application program obtains the physical machine resource demand mode through the process of,
step 2021, identifying trends, modes and fluctuation conditions of the CPU usage and the memory usage;
step 2022, obtaining the data of the resource usage condition of the application program under different loads and time periods, and analyzing the resource demand mode;
in step 2023, the CPU utilization rate, the peak value, the average value and the fluctuation range of the memory usage amount are analyzed, and the change trend of the CPU utilization rate during the running process of the application program and the increase and release conditions of the memory usage amount during the running process of the application program are determined.
The technical scheme of the invention is further improved as follows: the demand level of the application program on the physical machine resource is acquired based on the resource usage amount, and the demand level is respectively as follows: high demand level, medium demand level, and low demand level;
the application analysis set is used for recording the name, the demand level and the resource use condition information of each application program;
the application priorities are respectively: the system comprises a first-level priority, a second-level priority and a third-level priority, wherein an application program with a high demand level is set as the first-level priority, an application program with a medium demand level is set as the second-level priority, and an application program with a low demand level is set as the third-level priority.
The technical scheme of the invention is further improved as follows: the virtual machine resource allocation evaluation index in the step 3 is obtained through the following steps,
the method comprises the steps of obtaining historical data of physical machine resource usage, extracting corresponding CPU usage and memory usage of the physical machine in the process of virtual machine resource allocation as evaluation factors, analyzing requirements in the process of resource allocation, further obtaining a virtual machine resource allocation evaluation index, and evaluating the resource allocation of the virtual machine.
The technical scheme of the invention is further improved as follows: the calculation formula of the virtual machine resource allocation evaluation index is as follows:
wherein,allocating evaluation index for virtual machine resources, +.>For evaluating the weight of the factor->To evaluate the correlation coefficient between the factors and the virtual machine performance, +.>For the sum of absolute values of correlation coefficients of all evaluation factors, < ->Index for evaluation factor->Regression coefficients, ++for the evaluation factors obtained by linear regression analysis>Regression coefficient sum for all evaluation factors +.>For the evaluation factor value of CPU utilization, < +.>Is->CPU utilization for each time period, +.>For the evaluation factor value of the memory usage, +.>Is->Memory usage for each time period, +.>Is the total number of time periods.
The technical scheme of the invention is further improved as follows: the virtual machine resource allocation standard in the step 3 is obtained through the following steps,
the allocation threshold value is preset based on the virtual machine resource allocation evaluation index and is set corresponding to the priority of the application program, and the allocation threshold value is respectively as follows:
first level priority
Second-level priority
Three-level priority
Wherein,is the upper threshold of three-level priority, +.>Is the upper threshold of the secondary priority, +.>
The technical scheme of the invention is further improved as follows: the CPU resource allocation mode of the virtual machine is that,
step 401, a CPU resource scheduling strategy is formulated for an application program based on the set priority level and the resource usage data;
step 402, for the application program with the first-level priority, setting high CPU affinity, and ensuring that the application program preferentially obtains computing resources;
step 403, for the application program with the second priority, setting the CPU affinity next to the first priority, and obtaining the priority of the computing resource and extending to the end of the application of the computing resource of the application program with the first priority;
step 404, for the application program with three-level priority, setting low CPU affinity, and when the resource is idle, allocating CPU time for the application program without influencing the operation of the application program with one-level priority and the application program with two-level priority.
The CPU virtualization scheduling system based on cloud computing comprises a resource management module, a data acquisition module, a data analysis module, a resource allocation evaluation module and a task scheduling module, wherein the modules are electrically connected;
the data acquisition module is used for acquiring historical operation data on the physical machine;
the resource management module is used for managing resources on the physical machine and the virtual machine;
the data analysis module is used for analyzing historical resource use data, predicting future resource demands and optimizing a scheduling strategy;
the resource allocation evaluation module is used for analyzing the physical machine historical operation data acquired by the data acquisition module, acquiring virtual machine resource allocation evaluation indexes, evaluating the threshold range which is compared with the application degrees of different priorities so as to acquire virtual machine resource allocation standards and allocate CPU resources of the virtual machines;
the task scheduling module is used for determining the execution sequence and the resource allocation of the tasks according to the resource requirements and the priorities of the virtual machines, realizing load balancing, optimizing the utilization efficiency of the resources and ensuring that the tasks with high priorities are processed preferentially.
By adopting the technical scheme, compared with the prior art, the invention has the following technical progress:
1. the invention provides a CPU virtualization scheduling method and a system based on cloud computing, which are characterized in that through analyzing operation data of a physical machine, demand levels of application programs are obtained, priorities are set, virtual machine load conditions under the resource allocation conditions are analyzed according to the priorities, established virtual machine resource allocation evaluation indexes and resource allocation conditions, and then CPU resource scheduling strategies of the virtual machines are planned, so that CPU resource fair allocation of the virtual machines is realized, CPU resources can be accurately allocated, and the influence of overhigh load of certain virtual machines on the performance of other virtual machines is avoided.
2. The invention provides a CPU virtualization scheduling method and system based on cloud computing, which are used for scheduling and optimizing CPU resources based on the priority of application programs, improving the performance requirements of virtual machines and resource allocation, meeting the application performance requirements and simultaneously being beneficial to reducing the operation cost.
3. The invention provides a CPU virtualization scheduling method and system based on cloud computing, which are used for carrying out scheduling and optimization on CPU resources by setting priority and analyzing and acquiring a virtual machine resource allocation standard by utilizing a virtual machine resource allocation evaluation index so as to ensure the data stability of the CPU virtualization scheduling.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments described in the present invention, and other drawings may be obtained according to these drawings for a person having ordinary skill in the art.
FIG. 1 is a flow chart of the present invention;
FIG. 2 is a flow chart of virtual machine creation and simulation in accordance with the present invention;
FIG. 3 is a flowchart illustrating the application priority setting of the present invention;
FIG. 4 is a flowchart of the method for acquiring the resource demand pattern of the physical machine by the application program according to the present invention;
fig. 5 is a block diagram showing the constitution of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
1, as shown in FIGS. 1-4, the invention provides a CPU virtualization scheduling method based on cloud computing, which comprises the following steps:
step 1, collecting various operation data on a physical machine, creating a virtual machine in a cloud computing environment, simulating a hardware environment of the physical machine, wherein the operation data comprise CPU utilization rate and memory utilization rate, the hardware environment of the physical machine comprises CPU and memory, and a Zabbix performance monitoring tool is used for collecting the operation data of the CPU utilization rate and memory utilization condition indexes of the physical machine; creating a virtual machine by using an API gateway of a cloud platform, configuring hardware parameters of the virtual machine, and ensuring that the hardware parameters are similar to an original physical machine, wherein the configured hardware parameters comprise CPU core number, memory size and storage capacity; migrating an operating system and an application program on a physical machine into a virtual machine by using a VMware virtualization technology, so as to ensure that the virtual machine and an original physical machine have similar hardware configuration, and accurately simulate the running environment of the physical machine; migrating data collected from the physical machine to the newly created virtual machine using an SCP file transfer tool; after migration is completed, testing the virtual machine, and verifying the running state and performance of the application program on the virtual machine to ensure that the performance and stability of the application program are similar to those of the original physical machine; a monitoring tool using a cloud platform continuously monitors CPU utilization rate and memory use condition performance indexes of the virtual machine; according to the monitoring data, the configuration of the virtual machine is adjusted and optimized to obtain better performance;
step 2, analyzing the obtained physical machine operation data, determining the demand level of the application program based on the physical machine operation data, obtaining an application program analysis set, setting priorities for the application programs with different demand levels, analyzing the collected physical machine operation data, marking CPU (Central processing Unit) utilization rate and memory utilization rate performance data, and determining the resource utilization amount; acquiring a demand mode of an application program on physical machine resources, ensuring that collected operation data have enough data points to cover the whole operation time behavior of the application program, including operation data of different loads and time periods, identifying trends, modes and fluctuation conditions of CPU (central processing unit) utilization rate and memory utilization amount, acquiring data of the resource utilization condition of the application program under different loads and time periods, analyzing the resource demand mode, analyzing the peak value, average value and fluctuation range of the CPU utilization rate and the memory utilization amount, and determining the change trend of the CPU utilization rate of the application program in the operation process and the increase and release conditions of the memory utilization amount of the application program in the operation process; identifying trends, modes and fluctuation conditions of CPU usage: according to the variation trend of CPU utilization rate, analyzing the demand characteristics of an application program on CPU resources, wherein the demand characteristics comprise continuous high CPU utilization rate, periodical CPU utilization rate fluctuation, sudden CPU utilization rate increase, low CPU utilization rate and uneven multi-core CPU utilization rate, and determining whether the CPU needs high concurrent processing and a large amount of calculation; if the application program continuously keeps higher CPU utilization rate in the running process, the application program is required to perform a large number of calculation or processing tasks; if the CPU utilization rate shows periodic fluctuation, the CPU utilization rate indicates that the application program has a requirement of timing task or periodic processing; if the CPU utilization rate suddenly increases in a short time and rapidly decreases, the CPU utilization rate indicates that an application program needs to process sudden and temporary high load and needs to support high concurrency processing so as to ensure quick response and processing tasks under the sudden load; if the CPU utilization rate of the application program is low, which means that the calculation requirement of the application program is relatively less or the resource waste exists, the resource allocation is required to be reduced, and more resources are allocated to other needed application programs so as to improve the overall resource utilization rate; if the CPU utilization rate of the application program is unevenly distributed in the multi-core CPU environment, the utilization rate of some cores is obviously higher than that of other cores, and the application program does not fully utilize multi-core resources and needs to be parallelized and optimized to utilize the performance of the multi-core CPU; identifying the trend, mode and fluctuation condition of the memory usage: analyzing the demand characteristics of the application program for the memory resources according to the increase and release conditions of the memory usage during the running process of the application program, including continuous high memory usage, gradual increase of the memory usage, abrupt memory usage increase and low memory usage, and judging whether a large amount of memory is needed; if the application program continuously keeps higher memory usage in the running process, the application program indicates that a large amount of memory resources are needed to support functions and data storage of the application program; if the memory usage of the application program increases gradually with the passage of time, the application program is continuously loaded with new data or objects in the memory in the running process, and the memory which is not needed is required to be released regularly so as to avoid memory leakage and excessive consumption; if the memory usage of the application program suddenly increases in a short time, the memory usage rapidly decreases, which means that the application program needs to support high concurrency processing and rapid memory allocation/release to ensure performance and resource utilization when processing temporary large data volume or performing one-time object creation; if the memory usage of the application program is low, which means that the memory requirement of the application program is relatively low or there is a resource waste, the resource allocation needs to be reduced, more resources are allocated to other needed application programs so as to improve the overall resource utilization rate, the application programs are classified into different grades according to the requirement of the application program on the physical machine resources, and the requirement grades of the application program on the physical machine resources are acquired based on the resource usage amounts respectively as follows: high demand level, medium demand level, and low demand level; classifying the application programs with the determined demand levels to obtain an application program analysis set, wherein the application program analysis set is used for recording the name, the demand level and the resource use condition information of each application program; according to the demand level of the application program, setting corresponding priority levels for the application program, wherein the application program priority levels are respectively as follows: a first-level priority, a second-level priority, and a third-level priority, wherein an application program of a high demand level is set as the first-level priority, an application program of a medium demand level is set as the second-level priority, and an application program of a low demand level is set as the third-level priority;
step 3, based on an application program analysis set and in combination with a set application program priority, establishing a virtual machine resource allocation evaluation index, acquiring a virtual machine resource allocation standard, acquiring historical data of physical machine resource usage, extracting corresponding CPU usage and memory usage of the physical machine in the virtual machine resource allocation process as evaluation factors, analyzing requirements in the resource allocation process, further obtaining the virtual machine resource allocation evaluation index, evaluating the resource allocation of the virtual machine, wherein the calculation formula of the virtual machine resource allocation evaluation index is as follows:
wherein,allocating evaluation index for virtual machine resources, +.>For evaluating the weight of the factor->To evaluate the correlation coefficient between the factors and the virtual machine performance, +.>For the sum of absolute values of correlation coefficients of all evaluation factors, < ->Index for evaluation factor->Regression coefficients, ++for the evaluation factors obtained by linear regression analysis>Regression coefficient sum for all evaluation factors +.>For CPU useEvaluation factor value of rate->Is->CPU utilization for each time period, +.>For the evaluation factor value of the memory usage, +.>Is->Memory usage for each time period, +.>The method comprises the steps of presetting an allocation threshold value for the total time period number based on a virtual machine resource allocation evaluation index, and setting corresponding to the priority of an application program, wherein the allocation threshold value is respectively as follows:
first level priority
Second-level priority
Three-level priority
Wherein,is the upper threshold of three-level priority, +.>Is the upper threshold of the secondary priority, +.>First order priority: />The value of (2) exceeds 0.8, which means that the resource utilization rate and the demand of the virtual machine are very high, and the resource allocation needs to be carried out as soon as possible so as to ensure the normal operation of the virtual machine; second-level priority: />The value of (2) is between 0.6 and 0.8, which means that the resource utilization rate and the demand of the virtual machine are moderate, and the resource allocation is required according to a certain sequence; three-level priority: />The value of (2) is lower than 0.6, which means that the resource utilization rate and the demand of the virtual machine are lower, and the resource allocation can be carried out later;
and 4, analyzing the load condition of the application program under the resource allocation standard of the virtual machine, planning a CPU resource scheduling strategy of the virtual machine, carrying out CPU resource allocation of the virtual machine, formulating the CPU resource scheduling strategy for the application program based on the set priority level and the resource usage amount data, setting high CPU affinity for the application program with the first priority to ensure that the application program with the first priority obtains computing resources preferentially, setting CPU affinity which is inferior to the first priority for the application program with the second priority, acquiring the priority of the computing resources and extending to the application program with the first priority for computing resources, setting low CPU affinity for the application program with the third priority, and allocating CPU time for the application program with the first priority and the application program with the second priority when the resources are idle, so that the operation of the application program with the first priority and the application program with the second priority is not affected.
In embodiment 2, as shown in fig. 5, on the basis of embodiment 1, the invention provides a cloud computing-based CPU virtualization scheduling system, which comprises a resource management module, a data acquisition module, a data analysis module, a resource allocation evaluation module and a task scheduling module, wherein the modules are electrically connected;
the data acquisition module is used for acquiring historical operation data on the physical machine;
the resource management module is used for managing resources on the physical machine and the virtual machine;
the data analysis module is used for analyzing historical resource use data, predicting future resource demands and optimizing a scheduling strategy;
the resource allocation evaluation module is used for analyzing the physical machine historical operation data acquired by the data acquisition module, acquiring virtual machine resource allocation evaluation indexes, evaluating the threshold range compared with the application degrees of different priorities to acquire virtual machine resource allocation standards and allocating CPU resources of the virtual machines;
and the task scheduling module is used for determining the execution sequence and the resource allocation of the tasks according to the resource requirements and the priorities of the virtual machines, realizing load balancing, optimizing the use efficiency of the resources and ensuring that the tasks with high priorities are processed preferentially.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

1. A CPU virtualization scheduling method based on cloud computing is characterized by comprising the following steps: the method comprises the following steps:
step 1, collecting various operation data on a physical machine, creating a virtual machine in a cloud computing environment, and simulating a hardware environment of the physical machine;
step 2, analyzing the obtained physical machine operation data, determining the demand level of the application program based on the physical machine operation data, obtaining an application program analysis set, and setting priorities for the application programs with different demand levels;
step 3, establishing a virtual machine resource allocation evaluation index based on the application program analysis set and in combination with the set application program priority, and obtaining a virtual machine resource allocation standard;
and 4, analyzing the load condition of the application program under the virtual machine resource allocation standard, planning the CPU resource scheduling strategy of the virtual machine, and performing the CPU resource allocation of the virtual machine.
2. The cloud computing-based CPU virtualization scheduling method as recited in claim 1, wherein: the virtual machine creation and simulation process in the step 1 is that,
step 101, collecting operation data of CPU utilization rate and memory utilization condition index of a physical machine;
step 102, creating a virtual machine by using an API gateway of a cloud platform, and configuring hardware parameters of the virtual machine;
step 103, migrating an operating system and an application program on a physical machine into a virtual machine by using a VMware virtualization technology;
step 104, migrating the data collected from the physical machine to the newly created virtual machine;
step 105, testing the virtual machine after migration is completed, and verifying the running state and performance of the application program on the virtual machine;
step 106, continuously monitoring CPU utilization rate and memory use condition performance indexes of the virtual machine by using a monitoring tool of the cloud platform;
and 107, adjusting and optimizing the configuration of the virtual machine according to the monitoring data.
3. The cloud computing-based CPU virtualization scheduling method as recited in claim 2, wherein: the application priority setting process in the step 2 is that,
step 201, analyzing the collected physical machine operation data, marking CPU utilization rate and memory utilization rate performance data, and determining resource utilization amount;
step 202, obtaining a demand mode of an application program on physical machine resources;
step 203, dividing the application program into different grades according to the requirements on the physical machine resources;
step 204, classifying the application programs with the determined demand levels to obtain an application program analysis set;
step 205, corresponding priority is set for the application program according to its requirement level.
4. The cloud computing-based CPU virtualization scheduling method as recited in claim 3, wherein: the application program obtains the physical machine resource demand mode through the process of,
step 2021, identifying trends, modes and fluctuation conditions of the CPU usage and the memory usage;
step 2022, obtaining the data of the resource usage condition of the application program under different loads and time periods, and analyzing the resource demand mode;
in step 2023, the CPU utilization rate, the peak value, the average value and the fluctuation range of the memory usage amount are analyzed, and the change trend of the CPU utilization rate during the running process of the application program and the increase and release conditions of the memory usage amount during the running process of the application program are determined.
5. The cloud computing-based CPU virtualization scheduling method as recited in claim 4, wherein: the demand level of the application program on the physical machine resource is acquired based on the resource usage amount, and the demand level is respectively as follows: high demand level, medium demand level, and low demand level;
the application analysis set is used for recording the name, the demand level and the resource use condition information of each application program;
the application priorities are respectively: the system comprises a first-level priority, a second-level priority and a third-level priority, wherein an application program with a high demand level is set as the first-level priority, an application program with a medium demand level is set as the second-level priority, and an application program with a low demand level is set as the third-level priority.
6. The cloud computing-based CPU virtualization scheduling method as recited in claim 5, wherein: the virtual machine resource allocation evaluation index in the step 3 is obtained through the following steps,
the method comprises the steps of obtaining historical data of physical machine resource usage, extracting corresponding CPU usage and memory usage of the physical machine in the process of virtual machine resource allocation as evaluation factors, analyzing requirements in the process of resource allocation, further obtaining a virtual machine resource allocation evaluation index, and evaluating the resource allocation of the virtual machine.
7. The cloud computing-based CPU virtualization scheduling method as recited in claim 6, wherein: the calculation formula of the virtual machine resource allocation evaluation index is as follows:
wherein,allocating evaluation index for virtual machine resources, +.>For evaluating the weight of the factor->To evaluate the correlation coefficient between the factors and the virtual machine performance, +.>For the sum of absolute values of correlation coefficients of all evaluation factors, < ->Index for evaluation factor->For evaluating factor regression coefficient, ++>Regression coefficient sum for all evaluation factors +.>For the evaluation factor value of CPU utilization, < +.>Is->CPU utilization for each time period, +.>For the evaluation factor value of the memory usage, +.>Is->Memory usage for each time period, +.>Is the total number of time periods.
8. The cloud computing-based CPU virtualization scheduling method as recited in claim 7, wherein: the virtual machine resource allocation standard in the step 3 is obtained through the following steps,
the allocation threshold value is preset based on the virtual machine resource allocation evaluation index and is set corresponding to the priority of the application program, and the allocation threshold value is respectively as follows:
first level priority
Second-level priority
Three-level priority
Wherein,is the upper threshold of three-level priority, +.>Is the upper threshold of the secondary priority, +.>,/>
9. The cloud computing-based CPU virtualization scheduling method as recited in claim 8, wherein: the CPU resource allocation mode of the virtual machine is that,
step 401, a CPU resource scheduling strategy is formulated for an application program based on the set priority level and the resource usage data;
step 402, for the application program with the first-level priority, setting high CPU affinity, and ensuring that the application program preferentially obtains computing resources;
step 403, for the application program with the second priority, setting the CPU affinity next to the first priority, and obtaining the priority of the computing resource and extending to the end of the application of the computing resource of the application program with the first priority;
step 404, for the application program with three-level priority, setting low CPU affinity, and when the resource is idle, allocating CPU time for the application program without influencing the operation of the application program with one-level priority and the application program with two-level priority.
10. A cloud computing-based CPU virtualization scheduling system for implementing the cloud computing-based CPU virtualization scheduling method as claimed in any one of claims 1 to 9, wherein: the system comprises a resource management module, a data acquisition module, a data analysis module, a resource allocation evaluation module and a task scheduling module, wherein the modules are electrically connected;
the data acquisition module is used for acquiring historical operation data on the physical machine;
the resource management module is used for managing resources on the physical machine and the virtual machine;
the data analysis module is used for analyzing historical resource use data, predicting future resource demands and optimizing a scheduling strategy;
the resource allocation evaluation module is used for analyzing the physical machine historical operation data acquired by the data acquisition module, acquiring virtual machine resource allocation evaluation indexes, evaluating the threshold range which is compared with the application degrees of different priorities so as to acquire virtual machine resource allocation standards and allocate CPU resources of the virtual machines;
and the task scheduling module is used for determining the execution sequence and the resource allocation of the tasks according to the resource requirements and the priority of the virtual machine.
CN202410050274.5A 2024-01-15 2024-01-15 CPU virtualization scheduling method and system based on cloud computing Active CN117573373B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410050274.5A CN117573373B (en) 2024-01-15 2024-01-15 CPU virtualization scheduling method and system based on cloud computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410050274.5A CN117573373B (en) 2024-01-15 2024-01-15 CPU virtualization scheduling method and system based on cloud computing

Publications (2)

Publication Number Publication Date
CN117573373A true CN117573373A (en) 2024-02-20
CN117573373B CN117573373B (en) 2024-03-26

Family

ID=89890384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410050274.5A Active CN117573373B (en) 2024-01-15 2024-01-15 CPU virtualization scheduling method and system based on cloud computing

Country Status (1)

Country Link
CN (1) CN117573373B (en)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101512488A (en) * 2006-08-07 2009-08-19 Bea系统公司 System and method for providing hardware virtualization in a virtual machine environment
JP2010250778A (en) * 2009-04-20 2010-11-04 Ntt Data Corp System and method for providing computer resource and resource transaction program
CN102057367A (en) * 2008-04-10 2011-05-11 惠普开发有限公司 Virtual machine migration according to environmental data
CN104636187A (en) * 2015-02-15 2015-05-20 浙江大学 Virtual machine scheduling method in NUMA (non uniform memory access) architecture and based on load prediction
US20150178116A1 (en) * 2010-12-21 2015-06-25 Amazon Technologies, Inc. Providing service quality levels through cpu scheduling
CN106201693A (en) * 2016-07-12 2016-12-07 浪潮(北京)电子信息产业有限公司 Dispatching method in a kind of virtualized environment and system
CN106775921A (en) * 2016-11-14 2017-05-31 中国石油化工股份有限公司 Based on the virtual cpu dispatching methods that application load is perceived
CN108519919A (en) * 2018-03-19 2018-09-11 山东超越数控电子股份有限公司 A method of realizing server resource dynamic dispatching under virtual cluster environment
US20190386929A1 (en) * 2016-10-17 2019-12-19 International Business Machines Corporation Systems and methods for controlling process priority for efficient resource allocation
CN110990159A (en) * 2019-12-25 2020-04-10 浙江大学 Historical data analysis-based container cloud platform resource quota prediction method
CN113553190A (en) * 2021-09-17 2021-10-26 阿里云计算有限公司 Computing cluster system, scheduling method, device and storage medium
US20220035668A1 (en) * 2020-07-31 2022-02-03 International Business Machines Corporation Resource management of a software application with multiple software components
CN116992275A (en) * 2022-09-08 2023-11-03 中移动信息技术有限公司 Resource allocation reasoning model training method, device, equipment and medium
WO2023221844A1 (en) * 2022-05-16 2023-11-23 阿里巴巴(中国)有限公司 Resource scheduling method, device, and storage medium
CN117149369A (en) * 2022-05-24 2023-12-01 华为云计算技术有限公司 Thread scheduling method and processor
CN117271143A (en) * 2023-11-22 2023-12-22 无锡尚航数据有限公司 Data center optimization energy-saving scheduling method and system

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101512488A (en) * 2006-08-07 2009-08-19 Bea系统公司 System and method for providing hardware virtualization in a virtual machine environment
CN102057367A (en) * 2008-04-10 2011-05-11 惠普开发有限公司 Virtual machine migration according to environmental data
JP2010250778A (en) * 2009-04-20 2010-11-04 Ntt Data Corp System and method for providing computer resource and resource transaction program
US20150178116A1 (en) * 2010-12-21 2015-06-25 Amazon Technologies, Inc. Providing service quality levels through cpu scheduling
CN104636187A (en) * 2015-02-15 2015-05-20 浙江大学 Virtual machine scheduling method in NUMA (non uniform memory access) architecture and based on load prediction
CN106201693A (en) * 2016-07-12 2016-12-07 浪潮(北京)电子信息产业有限公司 Dispatching method in a kind of virtualized environment and system
US20190386929A1 (en) * 2016-10-17 2019-12-19 International Business Machines Corporation Systems and methods for controlling process priority for efficient resource allocation
CN106775921A (en) * 2016-11-14 2017-05-31 中国石油化工股份有限公司 Based on the virtual cpu dispatching methods that application load is perceived
CN108519919A (en) * 2018-03-19 2018-09-11 山东超越数控电子股份有限公司 A method of realizing server resource dynamic dispatching under virtual cluster environment
CN110990159A (en) * 2019-12-25 2020-04-10 浙江大学 Historical data analysis-based container cloud platform resource quota prediction method
US20220035668A1 (en) * 2020-07-31 2022-02-03 International Business Machines Corporation Resource management of a software application with multiple software components
CN116194895A (en) * 2020-07-31 2023-05-30 国际商业机器公司 Resource management for software applications having multiple software components
CN113553190A (en) * 2021-09-17 2021-10-26 阿里云计算有限公司 Computing cluster system, scheduling method, device and storage medium
WO2023221844A1 (en) * 2022-05-16 2023-11-23 阿里巴巴(中国)有限公司 Resource scheduling method, device, and storage medium
CN117149369A (en) * 2022-05-24 2023-12-01 华为云计算技术有限公司 Thread scheduling method and processor
CN116992275A (en) * 2022-09-08 2023-11-03 中移动信息技术有限公司 Resource allocation reasoning model training method, device, equipment and medium
CN117271143A (en) * 2023-11-22 2023-12-22 无锡尚航数据有限公司 Data center optimization energy-saving scheduling method and system

Also Published As

Publication number Publication date
CN117573373B (en) 2024-03-26

Similar Documents

Publication Publication Date Title
CN110096349B (en) Job scheduling method based on cluster node load state prediction
US20180198855A1 (en) Method and apparatus for scheduling calculation tasks among clusters
CN109861850B (en) SLA-based stateless cloud workflow load balancing scheduling method
CN105487930A (en) Task optimization scheduling method based on Hadoop
CN107220108B (en) Method and system for realizing load balance of cloud data center
CN107273200B (en) Task scheduling method for heterogeneous storage
CN108881432A (en) Cloud computing cluster load dispatching method based on GA algorithm
CN107291539B (en) Cluster program scheduler method based on resource significance level
CN107861796A (en) A kind of dispatching method of virtual machine for supporting cloud data center energy optimization
Elrotub et al. Virtual machine classification-based approach to enhanced workload balancing for cloud computing applications
Delavar et al. A synthetic heuristic algorithm for independent task scheduling in cloud systems
CN104753977A (en) Seismic processing and interpretation infrastructure cloud resource scheduling method based on fuzzy clustering
CN102339233A (en) Cloud computing centralized management platform
Alshathri et al. A New Reliable System For Managing Virtual Cloud Network.
Fan et al. A heterogeneity-aware data distribution and rebalance method in Hadoop cluster
Shukla et al. FAT-ETO: Fuzzy-AHP-TOPSIS-Based efficient task offloading algorithm for scientific workflows in heterogeneous fog–cloud environment
Leena Sri et al. An empirical model of adaptive cloud resource provisioning with speculation
CN112416520B (en) Intelligent resource scheduling method based on vSphere
CN117573373B (en) CPU virtualization scheduling method and system based on cloud computing
US20120042322A1 (en) Hybrid Program Balancing
CN115994029A (en) Container resource scheduling method and device
Wu et al. A load balancing algorithm based on the variation trend of entropy in homogeneous cluster
CN110580192B (en) Container I/O isolation optimization method in mixed scene based on service characteristics
Corradi et al. Elastic provisioning of virtual Hadoop clusters in OpenStack-based clouds
CN114745282B (en) Resource allocation model prediction method and device and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant