CN112395046B - Virtual machine migration planning and scheduling method, system and medium thereof - Google Patents

Virtual machine migration planning and scheduling method, system and medium thereof Download PDF

Info

Publication number
CN112395046B
CN112395046B CN202011296139.7A CN202011296139A CN112395046B CN 112395046 B CN112395046 B CN 112395046B CN 202011296139 A CN202011296139 A CN 202011296139A CN 112395046 B CN112395046 B CN 112395046B
Authority
CN
China
Prior art keywords
cloud server
virtual machine
temperature
module
migrated
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.)
Active
Application number
CN202011296139.7A
Other languages
Chinese (zh)
Other versions
CN112395046A (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.)
Shanghai Yovole Computer Network Co ltd
Shanghai Youfu Zhishu Yunchuang Digital Technology Co ltd
Original Assignee
Shanghai Yovole Computer Network Co ltd
Shanghai Youfu Zhishu Yunchuang Digital 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 Shanghai Yovole Computer Network Co ltd, Shanghai Youfu Zhishu Yunchuang Digital Technology Co ltd filed Critical Shanghai Yovole Computer Network Co ltd
Priority to CN202011296139.7A priority Critical patent/CN112395046B/en
Publication of CN112395046A publication Critical patent/CN112395046A/en
Application granted granted Critical
Publication of CN112395046B publication Critical patent/CN112395046B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/08Thermal analysis or thermal optimisation
    • 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 provides a virtual machine migration planning scheduling method, a system and a medium thereof, wherein a cloud server temperature initial prediction model is obtained by training historical data of a cloud server, newly added training data is obtained in real time in the scheduling process, the temperature prediction model is updated in real time, and the temperature of the cloud server is predicted in real time; determining a cloud server needing to be migrated out of the virtual machine according to the current real-time predicted cloud server temperature and cloud server load; comprehensively considering the client attribute of the virtual machine and the workload cost of virtual machine migration to determine the virtual machine to be migrated; the virtual machine is migrated to the running state cloud server with the lowest predicted temperature and meeting the load requirement, and the temperature of the running state cloud server and the number of the running state cloud servers are minimized, so that the energy-saving effect of the cloud data center is achieved.

Description

Virtual machine migration planning and scheduling method, system and medium thereof
The present application is a divisional application of the following original applications:
application date of the original application: year 2020, 07 months and 30 days
Application No. of the original application: 202010748491.3
The invention of the original application is named: virtual machine migration planning and scheduling method based on temperature prediction and system and medium thereof Quality of food
Technical Field
The invention relates to the field of infrastructure as a service (IaaS) cloud data center energy conservation, in particular to a virtual machine migration planning and scheduling method based on temperature prediction, a system and a medium thereof. Especially, the energy-saving technical scheme for minimizing the temperature and the number of the cloud servers in the running state is considered at the same time.
Background
With the continuous development of the information industry and the social economy, the scale of the IaaS cloud computing as a new resource use and delivery service mode tends to increase rapidly. As a bearer of the IaaS cloud computing service, energy consumption of the IaaS cloud data center has become a bottleneck affecting the cost of the IaaS cloud computing service.
In a traditional distributed computing system, the computing amount and/or the computing duration of computing tasks are often known in advance, and the computing system can plan the distribution of the computing tasks in a server in advance according to the computing amounts of a plurality of computing tasks so as to achieve the energy-saving goal of lowest total energy consumption of the server; however, for the IaaS cloud data center, the computing task of the user is unknown, and therefore, the migration path of the virtual machine can be planned in real time only by monitoring the actual use condition of the IaaS cloud data center cloud server to achieve energy saving of the IaaS cloud data center.
However, in the virtual machine migration scheduling scheme in the prior art, scheduling planning is usually implemented according to load information of a current cloud server, rather than considering a thermal load (i.e., a temperature) of the cloud server, and a virtual machine migration scheduling policy cannot be directly hooked with a data center energy-saving target. Or, in the prior art, when virtual machine migration scheduling is implemented, planning is implemented only by relying on sensing of the current temperature of the cloud server instead of predicting the future temperature of the cloud server, so that scheduling is delayed due to load change, and the cloud server load cannot be transferred effectively in time.
Therefore, a brand-new virtual machine migration scheduling planning method needs to be designed, the future temperature of the cloud server is used as a basis, the virtual machine is migrated to the cloud server with the low predicted temperature, and the temperature and the number of the cloud servers in the working state are minimized, so that the total energy consumption of the cloud servers of the IaaS cloud data center is reduced, and the purpose of saving energy of the IaaS cloud data center is finally achieved.
Disclosure of Invention
Aiming at the defects in the prior art, the invention aims to provide a virtual machine migration planning and scheduling method based on temperature prediction, a system and a medium thereof.
The invention provides a virtual machine migration planning and scheduling method based on temperature prediction, which comprises the following steps:
step S1: the method comprises the steps of obtaining a cloud server list of a cloud data center, obtaining a predicted value of a Bayesian linear regression-based temperature prediction model for the temperature of each cloud server in the cloud server list of the cloud data center, and obtaining the predicted temperature of the cloud server;
step S2: defining the operating state cloud server with the load monitoring index meeting the low-load condition in the operating state cloud server list as a low-load cloud server, and constructing a low-load cloud server list;
step S3: traversing the low-load cloud server list, acquiring the virtual machines in each low-load cloud server, and listing the virtual machines into a to-be-migrated virtual machine list;
step S4: determining a target host cloud server of each virtual machine in the virtual machine list to be migrated according to the predicted temperature and the residual load capacity of each host cloud server in the host cloud server list, and completing virtual machine migration; the host cloud server comprises a normal operation state cloud server and cloud servers in a dormant state cloud server list; the selection sequence of the target host cloud server is that the cloud server in the normal operation state is preferentially selected, and when the cloud server in the normal operation state does not meet the matching condition, the cloud server in the dormant state is selected; the cloud server in the normal operation state is defined as a cloud server which is not listed in the low-load cloud server list and is not listed in the alarm cloud server list in the operation state cloud server list;
step S5: setting all the migrated low-load cloud servers of the virtual machines into a dormant state, listing an operating state cloud server list, and adding the operating state cloud server list into the dormant state cloud server list;
step S6: defining the operating state cloud server with the monitoring index meeting the alarm condition in the operating state cloud server list as an alarm cloud server, and listing all alarm cloud servers in an alarm cloud server list;
step S7: traversing the alarm cloud server list to obtain the virtual machine with the highest migration priority in each alarm cloud server, and listing the virtual machines into a to-be-migrated virtual machine list;
step S8: determining a target host cloud server of each virtual machine in the virtual machine list to be migrated according to the predicted temperature and the residual load capacity of each host cloud server in the host cloud server list, and completing virtual machine migration;
step S9: setting alarm cloud servers, from which the virtual machines are all migrated, to be in a dormant state, listing an operating state cloud server list, and adding the operating state cloud server list into the dormant state cloud server list;
step S10: judging whether the process is finished or not; if yes, ending the process; if not, the process goes to the step S1 to continue.
Preferably, the temperature prediction model in step S1 is obtained by:
step S101: establishing an initial training data set by using historical sampling data, and performing initial training on a Bayesian linear regression model to obtain an initial temperature prediction model;
step S102: in the daily operation process of the cloud data center, acquiring a newly added training data set in real time, performing online incremental training on a current cloud server temperature prediction model in an incremental mode, updating the temperature prediction model, and predicting the future temperature of the cloud server by using the temperature prediction model to obtain a predicted value of the future temperature of the cloud server;
wherein:
the step S101 includes the steps of:
step S10101: defining the time interval between every two adjacent sampling moments as a sampling period, defining a prediction period on each sampling period, wherein the length of the prediction period is the prediction depth of the temperature prediction model, and the initial time of the prediction period is the initial time of the same sampling period; the method comprises the steps that index data of a cloud server at the initial moment of a prediction period are used as model input data indexes, and the actually measured cloud server temperature at the end moment of the same prediction period is used as model output data indexes to construct an initial training data set; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server;
step S10102: preprocessing an initial training data set;
step S10103: training the Bayes linear regression model by utilizing the preprocessed initial training data set to obtain a parameter posterior distribution function of the initial Bayes linear regression model;
step S10104: outputting a parameter posterior distribution function of the initial Bayes linear regression model;
the step S102 includes the steps of:
step S10201: inputting a parameter posterior distribution function of a current Bayes linear regression model;
step S10202: acquiring a newly added training data set; wherein the newly added training data set comprises: index data of the cloud server at the initial time of a prediction period ending at the initial time of the current sampling period is used as an input data index, and the actually measured cloud server temperature of the cloud server at the end time of the prediction period ending at the initial time of the current sampling period is used as an output data index; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server;
step S10203: preprocessing the newly added training data set;
step S10204: performing incremental training on the current Bayes linear regression model by using the newly-added training data set after preprocessing, and updating a parameter posterior distribution function of the current Bayes linear regression model;
step S10205: obtaining a Bayesian optimal estimation of a parameter of a current Bayesian linear regression model;
step S10206: predicting the temperature of the cloud server at the end moment of the current prediction period based on the parameter Bayes optimal estimation of the current Bayes linear regression model;
step S10207: outputting the predicted temperature of the cloud server;
step S10208: judging whether the predicted temperature process of the cloud server is finished or not; if yes, ending the process; if not, the process goes to step S10202 to continue the process.
Preferably, in step S10101 and step S10202, the cloud server temperature prediction model training data index includes an input data index and an output data index;
the input data indicator includes any one or more of the following:
the number of CPU cores of the cloud server;
the cloud server uses the CPU core number;
the utilization rate of a CPU of the cloud server;
memory capacity of a cloud server;
the memory utilization rate of the cloud server;
current frequency of a cloud server CPU;
the cloud server inputs network flow;
the cloud server outputs network traffic;
the rotating speed of each fan of the cloud server;
the number of the virtual machines deployed by the cloud server nodes is increased;
the output data index comprises any one of the following data or an arithmetic mean of any plurality of data:
actually measuring the inlet air temperature of the cloud server;
actually measuring the air outlet temperature of the cloud server;
actually measuring the temperature of a CPU of the cloud server;
and (4) actually measuring the GPU temperature of the cloud server.
Preferably, the preprocessing in step S10102 and step S10203 includes the steps of:
a data cleaning step: if the value x of the sampled input data item is obtained at the sampling instant tt' is a vacancy value, which is filled using the historical average of the data item;
a normalization step: for each input data item, the minimum value and the maximum value of the data item in the initial training data set defined in the step S10102 are respectively recorded as xmin、xmaxInputting the original value x of the data itemt' mapping to approximate in the interval [0,1 ]]New value x in (1)tThe formula is as follows:
Figure GDA0002960253710000051
the value x of the data item obtained after preprocessing each input data item in the training sampletAnd merging the preprocessed training sample input data as the input of the initial Bayesian linear regression training in the step S10103 and the incremental Bayesian linear regression training in the step S10204.
Preferably, the step S10103 includes: in the initial training stage of Bayesian linear regression, selecting model parameter prior distribution and giving initial hyperparameter as mu0,Λ0,a0,b0After initial training of the Bayesian linear regression model is completed, the posterior distribution of model parameters obeys the hyper-parameter of mun,Λn,an,bnIs highA s-inverse GAMMA probability distribution, where n represents the last sampling period in the initial training dataset; hyperparameter mun,Λn,an,bnAre all mu0,Λ0,a0,b0And simple functions of the initial training sample set, with analytical solutions.
The step S10204 includes: in the Bayes linear regression increment training stage, the model parameter obeying hyperparameter before the current sampling period t is mut-1,Λt-1,at-1,bt-1In the Gaussian-inverse GAMMA probability distribution, the model parameter of the current sampling period t is updated to obey the hyper-parameter mu by adding the sampling training sample of the sampling period t in the current sampling period tt,Λt,at,btGaussian-inverse gama probability distribution; hyperparameter mut,Λt,at,btAre all mut-1,Λt-1,at-1,bt-1And a simple function of the incremental training samples, with an analytical solution.
Preferably, the low load condition means: the CPU utilization rate of the cloud server in the running state is lower than a set first threshold value;
the alarm condition is satisfied, that is, any one of the following conditions is satisfied:
under a first condition, the utilization rate of a CPU (central processing unit) of the cloud server is higher than a set second threshold value, wherein the second threshold value is larger than the first threshold value;
in a second condition, the current predicted temperature of the cloud server is higher than the server alarm temperature.
Preferably, in the step S8, the virtual machine migration priority V is calculated according to the following steps:
step S801: obtaining a user level according to the monthly consumption amount or the annual consumption amount of the user; obtaining a user priority weighting coefficient R according to the user level; the user priority weighting coefficient R comprises a numerical value between 0 and 1;
step S802: acquiring the memory size P of a virtual machine; calculating average value P of memory sizes of all virtual machines in running state cloud serveravg(ii) a According to the virtual machine memoryThe size P and the average value P of the memory sizes of all virtual machines in all running state cloud serversavgCalculating a constant migration load weight coefficient alpha of the virtual machine,
Figure GDA0002960253710000052
step S803: acquiring a memory change rate S of a virtual machine in unit time; calculating the average value S of memory change rates of all virtual machines in all running state cloud servers in unit timeavg(ii) a According to the unit time memory change rate S of the virtual machine and the average value S of the unit time memory change rates of all the virtual machines in the running state cloud serveravgCalculating the weight coefficient beta of the incremental migration load of the virtual machine,
Figure GDA0002960253710000061
step S804: calculating the migration priority of the virtual machine according to the user priority weight coefficient, the virtual machine constant migration load weight coefficient and the virtual machine incremental migration load weight coefficient:
according to a migration priority calculation formula: v ═ R × (α + β), wherein,
Figure GDA0002960253710000062
Figure GDA0002960253710000063
then virtual machine migration priority
Figure GDA0002960253710000064
Wherein, R represents a user priority weighting coefficient, alpha represents a virtual machine constant migration load weighting coefficient, beta represents a virtual machine increment migration load weighting coefficient, P represents the memory size of the virtual machine, and P representsavgThe method includes the steps that the average memory size of all virtual machines in all running state cloud servers is represented, S represents the memory change rate of the virtual machines in unit time, and SavgRepresenting all of all operating states in a cloud serverAverage memory change rate per unit time of the virtual machine, a is an empirical parameter, and the value range is (0, 1)]。
Preferably, in step S4 and step S8, the step of determining the target host cloud server of each virtual machine in the to-be-migrated virtual machine list according to the predicted temperature and the remaining load capacity of each host cloud server in the host cloud server list all uses a minimum temperature server allocation principle algorithm, which specifically includes the following steps:
step A: traversing the virtual machines to be migrated in the virtual machine list to be migrated, and executing a first loop step for each virtual machine to be migrated, wherein the first loop step comprises the following steps:
step a: traversing all the cloud servers in the normal operation state, and acquiring the current preset temperature of each cloud server in the normal operation state;
step b: sorting the normally-operated cloud servers from low to high according to the predicted temperature to obtain a sorted list of cloud servers to be selected;
step c: traversing the sorted cloud server list to be selected, and executing a second circulation step, wherein the second circulation step comprises the following steps:
step c 1: for the current cloud server to be selected, judging whether the current cloud server to be selected meets the following conditions:
the predicted temperature is less than the server alarm temperature threshold;
the number of the residual CPU cores is larger than the CPU core number requirement of the virtual machine to be migrated;
the amount of the residual unallocated memory is greater than the memory requirement of the virtual machine to be migrated;
if so, distributing the virtual machine to be migrated to the current cloud server to be selected to obtain a target host cloud server; exiting the second loop step;
if not, go to step c2 to continue execution;
step c 2: judging whether a cloud server list to be selected has a next cloud server to be selected; if yes, go to step c3 to continue execution; if not, jumping to the step c4 to continue execution;
step c 3: taking the next cloud server to be selected as the current cloud server to be selected, and jumping to the step c1 to continue execution;
step c 4: listing a cloud server from the dormant state cloud server list, listing the cloud server into the normal operation state cloud server list, taking the cloud server as the current cloud server to be selected, and jumping to the step c1 to continue execution;
and B: judging whether a next virtual machine to be migrated exists or not; if not, entering the step C to continue execution; if yes, entering the step A to continue executing the first circulation step;
and C: and obtaining the matching relation between the virtual machine to be migrated and the target host cloud server.
The invention provides a virtual machine migration planning and scheduling system based on temperature prediction, which comprises:
the temperature prediction model training prediction module 100: training a temperature prediction model based on Bayesian linear regression, and predicting the temperature by using the temperature prediction model to obtain the predicted temperature of the cloud server;
cloud server classification module 200: classifying the cloud servers into an operating state cloud server and a dormant state cloud server according to the working state, wherein the operating state cloud server is classified into a low-load cloud server, a normal operating state cloud server and an alarm state cloud server;
the virtual machine migration module 300: based on the classification of the cloud server by the cloud server classification module 200, according to the predicted temperature of the cloud server obtained by the temperature prediction model training prediction module 100, migrating the virtual machine on the low-load cloud server and the virtual machine with the highest migration priority on the alarm cloud server to the host cloud server; the host cloud server comprises a normal operation state cloud server and cloud servers in a dormant state cloud server list; the selection sequence of the target host cloud server is that the cloud server in the normal operation state is preferentially selected, and when the cloud server in the normal operation state does not meet the matching condition, the cloud server in the dormant state is selected; the cloud server in the normal operation state is defined as a cloud server which is not listed in the low-load cloud server list and is not listed in the alarm cloud server list in the operation state cloud server list.
Preferably, the temperature prediction model training prediction module 100 comprises:
the data acquisition module 110: acquiring index data of a cloud server and actually measured cloud server temperature data;
the data preprocessing module 120: preprocessing the data acquired by the data acquisition module 110;
the temperature prediction model training module 130: training a Bayesian linear regression model by using the data preprocessed by the data preprocessing module 120;
the temperature prediction module 140: and predicting the temperature according to the current Bayesian linear regression model obtained by training of the temperature prediction model training module 130 to obtain the predicted temperature of the cloud server.
Preferably, the data acquisition module 110 includes:
initial training data set construction module 111: constructing an initial training data set by using historical sampling data; defining the time interval between every two adjacent sampling moments as a sampling period, defining a prediction period on each sampling period, wherein the length of the prediction period is the prediction depth of the temperature prediction model, and the initial time of the prediction period is the initial time of the same sampling period; the method comprises the steps that index data of a cloud server at the initial moment of a prediction period are used as model input data indexes, and the actually measured cloud server temperature at the end moment of the same prediction period is used as model output data indexes to construct an initial training data set; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server;
the newly added training data set construction module 112: acquiring a newly added training data set; wherein the newly added training data set comprises: index data of the cloud server at the initial time of a prediction period ending at the initial time of the current sampling period is used as a model input data index, and the actually measured cloud server temperature of the cloud server at the end time of the prediction period ending at the initial time of the current sampling period is used as a model output data index; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server;
the cloud server temperature prediction model training data indexes comprise input data indexes and output data indexes;
the input data indicator includes any one or more of the following:
the number of CPU cores of the cloud server;
the cloud server uses the CPU core number;
the utilization rate of a CPU of the cloud server;
memory capacity of a cloud server;
the memory utilization rate of the cloud server;
current frequency of a cloud server CPU;
the cloud server inputs network flow;
the cloud server outputs network traffic;
the rotating speed of each fan of the cloud server;
the number of the virtual machines deployed by the cloud server is increased;
the output data index comprises any one of the following data or an arithmetic mean of any plurality of data:
actually measuring the inlet air temperature of the cloud server;
actually measuring the air outlet temperature of the cloud server;
actually measuring the temperature of a CPU of the cloud server;
and (4) actually measuring the GPU temperature of the cloud server.
Preferably, the data preprocessing module 120 includes:
initial training data set preprocessing module 121: preprocessing an initial training data set;
the newly added training data set preprocessing module 122: preprocessing the newly added training data set;
the initial training data set preprocessing module 121 and the newly added training data set preprocessing module 122 both include:
the data cleaning module 1201: if the value x of the sampled data item obtained at the sampling instant t ist' for null value, use the data itemThe historical average of (2) fills the vacancy value;
the normalization module 1202: for each data item, respectively recording the minimum value and the maximum value of the data item in the initial training data set as xmin、xmaxThe original value x of the data itemt' mapping to approximate in the interval [0,1 ]]New value x in (1)tThe formula is as follows:
Figure GDA0002960253710000091
the value x of the data item obtained after preprocessing each data item in the training sampletThe preprocessed training samples are combined as the input of the initial training and incremental training of the bayesian linear regression in the temperature prediction model training module 130.
Preferably, the temperature prediction model training module 130 includes:
initial training data set training module 131: performing initial training on the Bayesian linear regression model by using the preprocessed initial training data to obtain an initial temperature prediction model; wherein, in the initial training stage of Bayesian linear regression, the prior distribution of model parameters is selected to obey the given initial hyperparameter as mu0,Λ0,a0,b0After initial training of the Bayesian linear regression model is completed, the posterior distribution of model parameters obeys the hyper-parameter of mun,Λn,an,bnThe gaussian-inverse gama probability distribution of (a), wherein n represents the last sampling period in the initial training dataset; hyperparameter mun,Λn,an,bnAre all mu0,Λ0,a0,b0And a simple function of the initial training sample set, with an analytic solution;
newly added training data set training module 132: performing online incremental training on the Bayesian linear regression model by using the newly-added training data set after preprocessing in an incremental manner; wherein, in the Bayes linear regression increment training stage, the current sampling period tThe previous model parameter obeys a hyper-parameter of mut-1,Λt-1,at-1,bt-1In the Gaussian-inverse GAMMA probability distribution, the model parameter of the current sampling period t is updated to obey the hyper-parameter mu by adding the sampling training sample of the sampling period t in the current sampling period tt,Λt,at,btGaussian-inverse gama probability distribution; hyperparameter mut,Λt,at,btAre all mut-1,Λt-1,at-1,bt-1And a simple function of the incremental training samples, with an analytical solution.
Preferably, the cloud server classification module 200 includes:
the dormant state cloud server classifying module 201: classifying the cloud server in the dormant state as a dormant state cloud server; the dormant cloud server can be used as a host cloud server;
operating state cloud server classification module 202: classifying the cloud server in the running state into a cloud server in the running state;
the operating state cloud server classification module 202 includes:
the low-load cloud server classification module 20201: classifying cloud servers with the operating state cloud server node CPU utilization rate lower than a set first threshold value into low-load cloud servers;
the alarm cloud server classification module 20202: classifying the cloud server meeting the alarm condition as an alarm cloud server, wherein the meeting of the alarm condition means that any one of the following conditions is met:
under a first condition, the utilization rate of a CPU (central processing unit) of a cloud server node is higher than a set second threshold value, wherein the second threshold value is larger than the first threshold value;
a second condition, wherein the current predicted temperature of the cloud server is higher than the server alarm temperature;
normal operating state cloud server classification module 20203: and classifying the cloud servers which do not belong to the low-load cloud server and the alarm cloud server in the operation state cloud server list into normal operation state cloud servers, wherein the normal operation state cloud servers can be used as host cloud servers.
Preferably, the virtual machine migration module 300 includes:
cloud server temperature acquisition module 301: traversing the cloud server list of the cloud data center, and acquiring a cloud server temperature predicted value at the end moment of a prediction period defined on a sampling period of each cloud server at the current moment;
the to-be-migrated virtual machine obtaining module 302: traversing the low-load cloud servers, obtaining the virtual machines in each low-load cloud server as virtual machines to be migrated, and listing the virtual machines to be migrated in a virtual machine list to be migrated; traversing the alarm cloud servers to obtain a virtual machine with the highest migration priority in each alarm cloud server as a virtual machine to be migrated, and listing the virtual machine to be migrated in a virtual machine list to be migrated;
the migration operation module 303: determining a target host cloud server of each virtual machine in the virtual machine list to be migrated according to the predicted temperature and the residual load capacity of each host cloud server, and completing virtual machine migration;
the flow end determination module 304: judging whether the process is finished or not; if yes, ending the process; if not, triggering the cloud server temperature obtaining module 301 to enter the next virtual machine migration planning period, and continuing to obtain the cloud server predicted temperature.
Preferably, in the to-be-migrated virtual machine obtaining module 302, the virtual machine migration priority V is calculated through the following modules:
the user priority weighting coefficient obtaining module 30201: obtaining a user level according to the monthly consumption amount or the annual consumption amount of the user; obtaining a user priority weighting coefficient R according to the user level; the user priority weighting coefficient R comprises a numerical value between 0 and 1;
the virtual machine constant migration load weight coefficient obtaining module 30202: acquiring the memory size P of a virtual machine; calculating average value P of memory sizes of all virtual machines in running state cloud serveravg(ii) a According to the memory size P of the virtual machine and the average value P of the memory sizes of all the virtual machines in all the running state cloud serversavgCalculating the constant migration load of the virtual machineThe weight coefficient a is set to a weight,
Figure GDA0002960253710000111
the virtual machine incremental migration load weight coefficient obtaining module 30203: acquiring a memory change rate S of a virtual machine in unit time; calculating the average value S of memory change rates of all virtual machines in all running state cloud servers in unit timeavg(ii) a According to the unit time memory change rate S of the virtual machine and the average value S of the unit time memory change rates of all the virtual machines in the running state cloud serveravgCalculating the weight coefficient beta of the incremental migration load of the virtual machine,
Figure GDA0002960253710000112
the migration priority acquisition module 30204 of the virtual machine: calculating the migration priority of the virtual machine according to the user priority weight coefficient, the virtual machine constant migration load weight coefficient and the virtual machine incremental migration load weight coefficient:
according to a migration priority calculation formula: v ═ R × (α + β), wherein,
Figure GDA0002960253710000113
Figure GDA0002960253710000114
then virtual machine migration priority
Figure GDA0002960253710000115
Wherein, R represents a user priority weighting coefficient, alpha represents a virtual machine constant migration load weighting coefficient, beta represents a virtual machine increment migration load weighting coefficient, P represents the memory size of the virtual machine, and P representsavgThe method includes the steps that the average memory size of all virtual machines in all running state cloud servers is represented, S represents the memory change rate of the virtual machines in unit time, and SavgRepresenting the average memory change rate per unit time of all virtual machines in all running state cloud servers, wherein a is experienceParameter, value range (0, 1)]。
Preferably, the migration operation module 303 includes:
the migration matching relationship assignment module 3031: traversing the virtual machines to be migrated in the virtual machine list to be migrated, and distributing target host cloud servers to the virtual machines to be migrated;
the migration matching relationship output module 3032: migrating the virtual machine to be migrated according to the matching relationship between the virtual machine to be migrated and the target host cloud server, which is established by the migration matching relationship allocation module 3031;
wherein the migration matching relationship assignment module 3031 includes:
predicted temperature ordering module 303101: sorting the normally-running cloud servers from low to high according to the predicted temperature obtained by the cloud server temperature obtaining module 301 to obtain a sorted list of cloud servers to be selected;
virtual machine to be migrated traverse module 303102: traversing the virtual machine to be migrated in the virtual machine list to be migrated, and acquiring the next virtual machine in the virtual machine list to be migrated as the current virtual machine to be migrated;
the to-be-selected cloud server screening module 303103: according to the order of the list of the cloud servers to be selected after the predicted temperature sorting module 303101 sorts, the cloud servers to be selected which meet the following conditions are allocated to the current virtual machine to be migrated as target host cloud servers:
the predicted temperature is less than the server alarm temperature threshold;
the number of the residual CPU cores is larger than the CPU core number requirement of the virtual machine to be migrated;
the amount of the residual unallocated memory is greater than the memory requirement of the virtual machine to be migrated;
sleep state cloud server wake-up module 303104: for the current to-be-migrated virtual machine to which the target host cloud server is not allocated by the to-be-selected cloud server screening module 303103, listing a cloud server from the dormant state cloud server list, listing the cloud server in the normal operation state cloud server list, and allocating the cloud server as the current to-be-selected cloud server to the to-be-migrated virtual machine.
According to the present invention, there is provided a computer readable storage medium storing a computer program, which when executed by a processor implements the steps of the virtual machine migration planning and scheduling method based on temperature prediction.
Compared with the prior art, the invention has the following beneficial effects.
1. The virtual machine is migrated to the running state cloud server which is low in predicted temperature and meets the requirements on the whole, and the temperature and the number of the running state cloud servers are minimized, so that the energy-saving effect of the cloud data center is achieved;
2. according to the cloud server migration method and the cloud server migration system, the cloud server of the virtual machine to be migrated is determined according to factors such as the current real-time predicted cloud server temperature and cloud server load, the cloud server failure risk is reduced, and the cloud server reliability is improved;
3. the cloud server temperature prediction module predicts based on a Bayesian linear regression model obtained by training, can realize online real-time training, and can predict the temperature of the cloud server in the short future in an online real-time manner;
4. the virtual machine to be migrated is determined by comprehensively considering the client attribute of the virtual machine and the migration cost of the virtual machine, so that the service interruption time of virtual machine migration is reduced, and the user experience is optimized.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments with reference to the following drawings:
FIG. 1 is a flowchart illustrating the overall steps of a method for scheduling virtual machine migration planning based on temperature prediction;
FIG. 2 is a flowchart illustrating the detailed steps of initial training of a Bayesian linear regression model;
FIG. 3 is a flowchart of the steps involved in incremental training and prediction of a Bayesian linear regression model;
FIG. 4 is a cloud server temperature prediction model training data list and a model training schematic;
FIG. 5 is a flowchart illustrating specific steps of training data preprocessing of a cloud server temperature prediction model;
FIG. 6 is a flowchart illustrating the steps involved in computing the migration priority of a virtual machine;
FIG. 7 is a flowchart illustrating specific steps of a minimum temperature server allocation rule algorithm;
FIG. 8 is a schematic diagram of the overall structure of a virtual machine migration planning and scheduling system based on temperature prediction;
FIG. 9 is a schematic diagram of a specific structure of a virtual machine migration planning and scheduling system based on temperature prediction;
FIG. 10 is a schematic diagram of a data preprocessing module 120 of the virtual machine migration planning and scheduling system based on temperature prediction;
fig. 11 is a schematic structural diagram of a module for determining a virtual machine migration priority by the virtual machine to be migrated obtaining module 302 of the virtual machine migration planning and scheduling system based on temperature prediction;
fig. 12 is a schematic structural diagram of the virtual machine migration planning scheduling system migration operation module 303 based on temperature prediction.
The figures show that:
a temperature prediction model training prediction module 100;
a data acquisition module 110;
an initial training data set construction module 111;
a newly added training data set construction module 112;
a data pre-processing module 120;
an initial training data set preprocessing module 121;
a newly added training data set preprocessing module 122;
a data cleaning module 1201;
a normalization module 1202;
a temperature prediction model training module 130;
an initial training data set training module 131;
a new training data set training module 132;
a temperature prediction module 140;
a cloud server classification module 200;
a dormant state cloud server classification module 201;
an operating state cloud server classification module 202;
a low-load cloud server classification module 20201;
the alarm cloud server classification module 20202;
the normal operation state cloud server classification module 20203;
a virtual machine migration module 300;
a cloud server temperature acquisition module 301;
a virtual machine to be migrated obtaining module 302;
a user priority weight coefficient acquisition module 30201;
a virtual machine constant migration load weight coefficient obtaining module 30202;
a virtual machine incremental migration load weight coefficient obtaining module 30203;
a migration priority acquisition module 30204 of the virtual machine;
a migration operation module 303;
a migration matching relationship assignment module 3031;
a predicted temperature sort module 303101;
the virtual machine to be migrated traverses module 303102;
a to-be-selected cloud server screening module 303103;
a sleep state cloud server wake-up module 303104;
a migration matching relationship output module 3032;
flow ends decision block 304.
Detailed Description
The present invention will be described in detail with reference to specific examples. The following examples will assist those skilled in the art in further understanding the invention, but are not intended to limit the invention in any way. It should be noted that it would be obvious to those skilled in the art that various changes and modifications can be made without departing from the spirit of the invention. All falling within the scope of the present invention.
First embodiment
In a first embodiment, a virtual machine migration planning and scheduling method based on temperature prediction according to the present invention is described with reference to fig. 1 to 7.
As shown in fig. 1, the virtual machine migration planning and scheduling method based on temperature prediction includes the following steps.
Step S1: the method comprises the steps of obtaining a cloud server list of a cloud data center, obtaining a predicted value of a Bayesian linear regression-based temperature prediction model for the temperature of each cloud server in the cloud server list of the cloud data center, and obtaining a predicted temperature of the cloud server; then, the flow proceeds to step S2 to continue execution.
Specifically, the temperature prediction model is obtained by performing initial training and incremental training on a bayesian linear regression model, and the current bayesian linear regression model constitutes a current temperature prediction model. In the initial training process, the mapping relation between the cloud server data and the temperature prediction model can be independently constructed and trained for each cloud server, and the training data of the temperature prediction model are acquired from the cloud server; in order to improve the prediction accuracy of the temperature prediction model, historical data in the initial training data set are historical data of the same cloud server, and the historical data of the same cloud server is used for training the temperature prediction model of the cloud server, so that the prediction accuracy can be improved. In the initial training process, the mapping relation between the cloud server data and the temperature prediction model can also be used for constructing and training a temperature prediction model for a plurality of cloud servers, the training data of the temperature prediction model is acquired from the plurality of cloud servers, and the data of the plurality of cloud servers are regarded as the data of one cloud server in different prediction periods during training.
More specifically, the predicted temperature of the cloud server will be used in the subsequent steps S4 and S8 as an important consideration for the virtual machine migration scheduling plan. The predicted temperature of the cloud server comprises a predicted temperature of the cloud server in an operating state and a predicted temperature of the cloud server in a dormant state.
Step S2: and defining the operation state cloud server with the load monitoring index meeting the low-load condition in the operation state cloud server list as a low-load cloud server, and constructing a low-load cloud server list. Then, the flow proceeds to step S3 to continue execution. The low-load condition is that: and the CPU utilization rate of the cloud server in the running state is lower than a set first threshold value. In the present application example, the first threshold value is set to 6%.
Specifically, after all the virtual machines on the low-load cloud server are migrated, the virtual machines can be adjusted to a dormant state to become a dormant cloud server so as to save energy. Therefore, a low-load cloud server list is constructed in step S2, then migration of part or all of the virtual machines in the low-load cloud server list is completed in step S3 and step S4, and the low-load cloud servers from which all the virtual machines have been migrated are adjusted to a sleep state. As can be understood by those skilled in the art, the running state cloud server list is used to indicate the cloud servers currently in a running state, and the cloud servers not currently in a running state are excluded from being moved out of the running state cloud server list; the low-load cloud server list is used for indicating the cloud servers which are currently in the low-load operation state, and the cloud servers which are not currently in the low-load operation state are excluded from being moved out of the low-load cloud server list.
Step S3: and traversing the low-load cloud server list, acquiring the virtual machines in each low-load cloud server, and listing the virtual machines into a to-be-migrated virtual machine list.
Specifically, as will be understood by those skilled in the art, the to-be-migrated virtual machine list is used to indicate the virtual machines currently in the to-be-migrated state, and the virtual machines not currently in the to-be-migrated state are excluded from being moved out of the to-be-migrated virtual machine list.
Step S4: determining a target host cloud server of each virtual machine in the virtual machine list to be migrated according to the predicted temperature and the residual load capacity of each host cloud server in the host cloud server list, and completing virtual machine migration; the flow advances to step S5 to continue execution.
Specifically, the host cloud server is an operating state cloud server and does not belong to a low-load cloud server, or the host cloud server may also be a dormant state cloud server. The selection sequence of the host cloud server is that the cloud server in the normal operation state is preferentially selected, and when the cloud server in the normal operation state does not meet the matching condition, the cloud server in the dormant state is selected; the matching condition may be, for example, that an index of the remaining load capacity of the cloud server is greater than a threshold value of a demand of the virtual machine to be migrated for the index of the available load capacity of the host server. As will be appreciated by those skilled in the art, the host cloud server list is used to indicate the current host cloud server, and cloud servers that do not currently conform to the host cloud server definition will be excluded from being moved out of the host cloud server list.
More specifically, after the virtual machine is migrated from the low-load cloud server, for the virtual machine, a cloud server in a normal operation state with a low future predicted temperature is preferentially selected as a host cloud server in consideration of the migration situation of the virtual machine into the cloud server. However, if the current load capacity of the cloud server is full, the cloud server cannot be used as a host cloud server. And when the cloud server in the abnormal operation state meets the load capacity requirement of the virtual machine, selecting the cloud server in the dormant state as a host cloud server.
Step S5: and setting the low-load cloud servers, from which the virtual machines are all migrated, to be in a dormant state, listing a running state cloud server list, and adding the running state cloud server list into the dormant state cloud server list. Then, the flow proceeds to step S6 to continue execution.
Specifically, as will be understood by those skilled in the art, the dormant state cloud server list is used to indicate cloud servers currently in a dormant state, and cloud servers not currently in a dormant state are excluded from being moved out of the dormant state cloud server list.
Step S6: and defining the operating state cloud server with the monitoring index meeting the alarm condition in the operating state cloud server list as an alarm cloud server, and listing all alarm cloud servers in an alarm cloud server list. Then, the flow proceeds to step S7 to continue execution.
Specifically, in step S6, the alarm condition being satisfied means that any one of the following conditions is satisfied: under a first condition, the utilization rate of a CPU (central processing unit) of the cloud server is higher than a set second threshold value, wherein the second threshold value is larger than the first threshold value; in the present application example, the first threshold is set to 6%, and the second threshold is set to 90%; in the second condition, the current predicted temperature of the cloud server is higher than the server alarm temperature, which is set to 95 degrees in this application example.
Further, the alarm cloud server is usually high in load, and is prone to failure caused by continuous high temperature and other factors after long-term operation, and load reduction needs to be considered. Therefore, the alarm cloud server list is constructed in step S6, then the migration of the virtual machine with the highest migration priority in the alarm cloud server list is completed in step S7 and step S8, and the cloud server that does not meet the definition of the alarm cloud server after the virtual machine is migrated is excluded from being migrated out of the alarm cloud server list.
Step S7: and traversing the alarm cloud server list to obtain the virtual machine with the highest migration priority in each alarm cloud server, and listing the virtual machine with the highest migration priority in the alarm cloud server into a to-be-migrated virtual machine list. Then, the flow proceeds to step S8 to continue execution.
Specifically, as will be understood by those skilled in the art, the list of virtual machines to be migrated is used to indicate the virtual machines to be migrated, and the migrated virtual machines will be excluded from being moved out of the list of virtual machines to be migrated.
Step S8: and determining a target host cloud server of each virtual machine in the virtual machine list to be migrated according to the predicted temperature and the residual load capacity of each host cloud server in the host cloud server list, and completing virtual machine migration. Then, the flow proceeds to step S9 to continue execution.
More specifically, referring to the description of step S4, before the virtual machine migrates into a cloud server, the cloud server with the low future predicted temperature is preferentially selected as the host cloud server in consideration of the migration situation of the virtual machine into the cloud server. However, if the current load capacity of the cloud server is full, the cloud server cannot be used as a host cloud server. And when the cloud server in the abnormal operation state meets the load capacity requirement of the virtual machine, selecting the cloud server in the dormant state as a host cloud server.
Step S9: and setting the alarm cloud servers, from which the virtual machines are all migrated, to be in a dormant state, listing an operating state cloud server list, and adding the operating state cloud server list into the dormant state cloud server list. Then, the flow proceeds to step S10 to continue execution.
Specifically, as will be understood by those skilled in the art, the dormant state cloud server list is used to indicate cloud servers currently in a dormant state, and cloud servers not currently in a dormant state are excluded from being moved out of the dormant state cloud server list.
Step S10: judging whether the process is finished or not; if yes, ending the process; if not, jumping to the step S1 to continue executing, and implementing a new round of virtual machine scheduling planning.
The monitoring period of the working state of the cloud server is also a virtual machine migration planning period of the virtual machine, and one virtual machine migration planning period of the virtual machine is defined as one complete execution of the steps 1 to 9 of the virtual machine migration planning and scheduling method based on temperature prediction. The time consumed by the monitoring period of the working state of one cloud server in the application example is usually between 2 and 5 minutes. Setting the length of the prediction period of the temperature prediction model according to the empirical value can enable the monitoring period of the working state of the cloud server to be shorter than the prediction period of the temperature prediction model, for example, the experience time of one monitoring period is shorter than the prediction period of 6 minutes between 2 and 5 minutes, so that the migration progress of the virtual machine is ensured to be matched with the prediction depth of the future thermal load of the host cloud server. In the application example, the sampling period of the temperature prediction model is set to be shorter than the shortest experience time of the monitoring period of the working state of the cloud server, for example, the experience time of the monitoring period is between 2 and 5 minutes and is longer than the sampling period of 30 seconds set by the application example, so that the real-time and effective predicted value of the transient future temperature of the cloud server can be always obtained by monitoring the working state of the cloud server. As can be understood by those skilled in the art, the initial training of the temperature prediction model belongs to the preparation work before the scheduling of the virtual machine migration plan, and only one time of initial training is needed.
Further, the temperature prediction model in step S1 is obtained by the following steps.
Step S101: establishing an initial training data set by using historical sampling data, and performing initial training on a Bayesian linear regression model to obtain an initial temperature prediction model; then, the process proceeds to step S102.
Step S102: in the daily operation process of the cloud data center, a newly added training data set is collected in real time, online incremental training is carried out on a current cloud server temperature prediction model in an incremental mode, the temperature prediction model is updated, the future temperature of the cloud server is predicted by using the temperature prediction model, and a predicted value of the future temperature of the cloud server is obtained. The temperature prediction model is used for predicting the transient future temperature of the cloud server, for example, predicting the temperature at the future 6 minutes.
In a preferred embodiment, in the prediction of the future temperature of the cloud server, statistical reasoning is performed by using a Bayesian linear regression model, Gaussian-inverse GAMMA probability distribution is selected as the Bayesian linear regression model parameter conjugate prior distribution, and the posterior distribution of the Bayesian linear regression model parameters obtained by carrying out Bayesian reasoning by using initial training data is also Gaussian-inverse GAMMA probability distribution. The prior distribution and the posterior distribution of the parameters of the Bayesian linear regression model are the same distribution, so that the online rapid incremental training of the Bayesian linear regression model in the step S102 becomes possible, and the purpose of rapidly, efficiently and accurately predicting the temperature of the cloud server is achieved.
The bayesian linear regression model is explained in detail below.
That is, the input sample set X of the bayesian linear regression model consists of n consecutive sampling period input samples, here with the notation: x ═ X1,X2,...,Xn}. X is in matrix expression form. XnThe input sample obtained in the nth sampling period is shown, and in the application example of the present invention, the input sample data includes index data of a cloud server. The bayesian linear regression model output sample set y consists of n consecutive sampling period output samples, here with the notation: y ═ y1,y2,...,yn}。ynThe output sample is the actually measured cloud server temperature data, specifically, the actually measured cloud servers are differentThe arithmetic mean of the temperatures of the sites and/or components.
The Bayesian linear regression model is as follows:
Figure GDA0002960253710000181
ρ(y|X,β,σ2) Representing the Bayesian linear regression model parameters beta and sigma at a given set of input samples X2Next, the conditional probability density function for the sample set y is output. As described in the above equation, the conditional probability of the output sample set y follows an n-dimensional gaussian distribution.
Wherein β is a weight vector of the input sample features; sigma2Is the variance of the linear regression residual; beta, sigma2I.e., the parameters that make up the bayesian linear regression model.
Next, the parameters beta and sigma of the Bayesian linear regression model are compared2The prior probability distribution of (a) is illustrated.
Conjugate prior probability rho (beta, sigma) according to Bayes reasoning principle2) Can be decomposed into rho (beta, sigma)2)=ρ(σ2)ρ(β|σ2) Selecting the hyper-parameter as mu0,Λ0,a0,b0Gauss-inverse GAMMA probability distribution as parameters beta and sigma2Prior probability distribution. Wherein the variance σ2Is of the following formula:
Figure GDA0002960253710000182
variance σ2Obeying inverse GAMMA (a)0,b0) Distributing; parameter a0And b0Is a hyper-parameter of inverse GAMMA distribution; the selection of the value of the hyperparametric parameter in the application example of the invention is a0=1,b0=1。
Given variance σ2The conditional probability density function of the weight vector β is of the form:
Figure GDA0002960253710000191
given variance σ2Beta obey Gauss
Figure GDA0002960253710000192
Distributing; expectation vector mu0Variance matrix Λ0A hyper-parameter of k-dimensional Gaussian distribution; selection of the value of the hyper-parameter in the application example of the invention:
μ0is a k-dimensional 0 vector; parameter Λ0Representing a k × k order identity matrix; k denotes a characteristic dimension of the input sample set X as an input quantity.
Model parameters beta and sigma are then matched2The posterior probability distribution of (a) is explained.
The posterior distribution of the model parameters is calculated by:
Figure GDA0002960253710000193
where ρ (β, σ)2Y, X) is a posterior probability density function of the model parameters given the input sample set X and the output sample set y. The posterior probability density is equal to the likelihood of the output ρ (y | X, β, σ)2) Multiplying by a parameter beta, sigma of a given input2Is the prior probability density function ρ (β, σ)2) And divided by a normalization constant.
Specifically to bayesian linear regression, the posterior distribution is:
Figure GDA0002960253710000194
where ρ (β | σ |)2Y, X) is Gauss
Figure GDA0002960253710000195
A density function of the distribution;
ρ(σ2y, X) is inverse GAMMA (a)n,bn) Density function of the distribution.
To sum up, the modelAfter observing the input sample set X and the output sample set y, the parameters beta and sigma2The posterior probability distribution obeys a hyper-parameter of mun,Λn,an,bnThe hyper-parameter calculation formula of the Gauss-inverse GAMMA distribution is as follows:
μn=(XTX+Λ0)-10μ0+XTy)
Λn=(XTX+Λ0)
Figure GDA0002960253710000201
Figure GDA0002960253710000202
parameter munIs of Gauss
Figure GDA0002960253710000203
An expected vector of distributions;
parameter(s)
Figure GDA0002960253710000204
Is composed of
Figure GDA0002960253710000205
A variance matrix of the distribution;
an,bnis reverse GAMMA (a)n,bn) A distributed hyper-parameter.
Through the Bayesian statistical inference, the initial training optimal Bayesian estimation of the Bayesian linear regression input feature weight parameter beta is as follows:
Figure GDA0002960253710000206
expressing the predicted value of the cloud server temperature at the end moment of the prediction period m by using the initial Bayes optimal linear regression model as
Figure GDA0002960253710000207
Wherein
Figure GDA0002960253710000208
A predicted value X representing the cloud server temperature at the end of the prediction period mmInput cloud server index data indicating the start time of the prediction period m.
The Bayesian linear regression incremental training will be explained in detail below.
In the case where the number of input samples n > 1, Bayesian incremental training is represented by the following equation:
β(β,σ2|y1,…,t,X1,…,t)∝ρ(yt|Xt,β,σ2)×ρ(β,σ2|y1,…,t-1,X1,…,t-1)
where ρ (β, σ)2|y1,…,t,X1,…,t) For observing all historical input sample sets X in sampling period t1,…,tAnd all historical output sample sets y1,…,tModel parameter beta, sigma under the conditions of (1)2Is determined. This term equals the input sample X given the current sampling periodtOutput samples y for the current sampling periodtLikelihood of (g ρ (y)n|Xn,β,σ2) Multiplying by the set X of all historical input samples observed in the sampling period n-11,…,t-1And all historical output sample sets y1,…,t-1Model parameter beta, sigma under the conditions of (1)2Probability density function ρ (β, σ)2|y1,…,n-1,X1,…,n-1) And is normalized.
Particularly, Bayesian linear regression is adopted, and model parameters beta and sigma are set at a sampling period t-12The posterior probability density function is a hyperparameter of mut-1,Λt-1,at-1,bt-1The Gauss-inverse GAMMA distribution of the training sample X is observed in the sampling period tt,ytThe model parameters beta, sigma2The posterior probability density function is a hyperparameter of mut,Λt,at,btGaussian-inverse GAMMA distribution. The hyper-parameter update formula, i.e. the incremental training formula, is as follows:
μt=(Xt TXtt-1)-1t-1μt-1+Xt Tyt)
Λt=(Xt TXtt-1)
Figure GDA0002960253710000209
Figure GDA00029602537100002010
through the Bayesian statistical inference, in the current sampling period t, the optimal Bayesian estimation of the Bayesian linear regression input characteristic weight parameter beta is obtained by incremental training:
Figure GDA0002960253710000211
the prediction of the cloud server temperature at the end of the current prediction period t by using the current incremental bayesian optimal linear regression model is represented by formula 1:
Figure GDA0002960253710000212
wherein
Figure GDA0002960253710000213
A predicted value X representing the cloud server temperature at the end of the current prediction period ttCloud server index data representing model inputs at the start of the current prediction period t.
As shown in fig. 2, specifically, the step S101 includes the following steps.
Step S10101: defining the time interval between every two adjacent sampling moments as a sampling period, defining a prediction period on each sampling period, wherein the length of the prediction period is the prediction depth of the temperature prediction model, and the initial time of the prediction period is the initial time of the same sampling period; the method comprises the steps that index data of a cloud server at the initial moment of a prediction period are used as model input data indexes, and the actually measured cloud server temperature at the end moment of the same prediction period is used as model output data indexes to construct an initial training data set; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server; then, the process proceeds to step S10102.
Specifically, the initial time of two adjacent prediction periods is the initial time of two adjacent sampling periods. In a preferred embodiment, one prediction period is composed of a plurality of consecutive sampling periods, and the initial time of the prediction period is the same as the initial time of the first sampling period; the initial time of two consecutive adjacent prediction periods is the initial time of two consecutive adjacent sampling periods respectively. For example, assume that there are ten sampling instants, denoted T1, T2, …, T10; the interval time between each sampling time and the next sampling time forms a sampling period, the initial time of the sampling period is the sampling time, and the end time of the sampling period is the next sampling time. Further assuming that a prediction period consists of five sample periods, the first prediction period is the interval between T1 to T6, the second prediction period is the interval between T2 to T7, the third prediction period is the interval between T3 to T8, and so on.
Step S10102: preprocessing an initial training data set; then, the process proceeds to step S10103.
Step S10103: training the Bayes linear regression model by utilizing the preprocessed initial training data set to obtain a parameter posterior distribution function of the initial Bayes linear regression model; then, the process proceeds to step S10104.
Specifically, the step S10103 includes: in the initial training stage of Bayesian linear regression, model parameter prior score is selectedCompliance is given an initial hyper-parameter of μ0,Λ0,a0,b0After initial training of the Bayesian linear regression model is completed, the posterior distribution of model parameters obeys the hyper-parameter of mun,Λn,an,bnThe gaussian-inverse gama probability distribution of (a), wherein n represents the last sampling period in the initial training dataset; hyperparameter mun,Λn,an,bnAre all mun,Λ0,a0,b0And simple functions of the initial training sample set, with analytical solutions.
Step S10104: and outputting the parameter posterior distribution function of the initial Bayes linear regression model.
As shown in fig. 3, specifically, the step S102 includes the following steps.
Step S10201: inputting a parameter posterior distribution function of a current Bayes linear regression model; then proceed to step S10202 to continue execution.
Step S10202: acquiring a newly added training data set; wherein the newly added training data set comprises: index data of the cloud server at the initial time of a prediction period ending at the initial time of the current sampling period is used as an input data index, and the actually measured cloud server temperature of the cloud server at the end time of the prediction period ending at the initial time of the current sampling period is used as an output data index; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server; then proceed to step S10203 to continue execution.
Step S10203: preprocessing the newly added training data set; then proceed to step S10204 to continue execution.
Step S10204: performing incremental training on the current Bayes linear regression model by using the newly-added training data set after preprocessing, and updating a parameter posterior distribution function of the current Bayes linear regression model; then proceed to step S10205 to continue execution.
Specifically, the step S10204 includes: in the Bayes linear regression increment training stage, the current sampling periodthe model parameter before t obeys a hyper-parameter of mut-1,Λt-1,at-1,bt-1In the Gaussian-inverse GAMMA probability distribution, the model parameter of the current sampling period t is updated to obey the hyper-parameter mu by adding the sampling training sample of the sampling period t in the current sampling period tt,Λt,at,btGaussian-inverse gama probability distribution; hyperparameter mut,Λt,at,btAre all mut-1,Λt-1,at-1,bt-1And a simple function of the incremental training samples, with an analytical solution.
Step S10205: obtaining a Bayesian optimal estimation of a parameter of a current Bayesian linear regression model; then proceed to step S10206 to continue execution.
Step S10206: predicting the temperature of the cloud server at the end moment of the current prediction period based on the parameter Bayes optimal estimation of the current Bayes linear regression model; then proceed to step S10207 to continue execution.
Specifically, in the step S10206, the temperature of the cloud server at the end time of the prediction period defined on the current sampling period is predicted by using formula 1 based on the current bayesian linear regression model.
Step S10207: outputting the predicted temperature of the cloud server; then, the process proceeds to step S10208.
Step S10208: judging whether the predicted temperature process of the cloud server is finished or not; if yes, ending the process; if not, the process goes to step S10202 to continue the process.
As shown in fig. 4, the training data indexes of the cloud server temperature prediction model in steps S10101 and S10202 include an input data index and an output data index.
The input data indicator includes any one or more of the following: the number of CPU cores of the cloud server; the cloud server uses the CPU core number; the utilization rate of a CPU of the cloud server; memory capacity of a cloud server; the memory utilization rate of the cloud server; current frequency of a cloud server CPU; the cloud server inputs network flow; the cloud server outputs network traffic; the rotating speed of each fan of the cloud server; the number of the virtual machines deployed by the cloud server nodes is increased;
the output data index comprises any one of the following data or an arithmetic mean of any plurality of data: actually measuring the inlet air temperature of the cloud server; actually measuring the air outlet temperature of the cloud server; actually measuring the temperature of a CPU of the cloud server; and (4) actually measuring the GPU temperature of the cloud server.
As shown in fig. 5, the data in the initial training data set is not necessarily ideal, and there is a problem such as data loss, so that the data in the initial training data set needs to be preprocessed, and the preprocessing in step S10102 and step S10203 includes the following steps.
A data cleaning step: if the value x of the sampled input data item is obtained at the sampling instant tt' is a vacancy value, which is filled using the historical average of the data item;
a normalization step: for each input data item, the minimum value and the maximum value of the data item in the initial training data set defined in the step S10102 are respectively recorded as xmin、xmaxInputting the original value x of the data itemt' mapping to approximate in the interval [0,1 ]]New value x in (1)tThe formula is as follows:
Figure GDA0002960253710000231
the value x of the data item obtained after preprocessing each input data item in the training sampletAnd merging the preprocessed training sample input data as the input of the initial Bayesian linear regression training in the step S10103 and the incremental Bayesian linear regression training in the step S10204.
As shown in fig. 6, in the step S8, the virtual machine migration priority V is calculated according to the following steps. The calculation principle of the migration priority comprehensively considers the level of the user and the workload cost of virtual machine migration. Lower user levels generally place less demands on the continuity of the computing task and therefore migrate preferentially. The smaller the constant and incremental migration costs of the virtual machine, the more preferred the migration.
Step S801: obtaining a user level according to the monthly consumption amount or the annual consumption amount of the user; obtaining a user priority weighting coefficient R according to the user level; the user priority weighting coefficient R comprises a numerical value between 0 and 1;
specifically, the user priority weighting coefficient R is determined according to the following user type. The customer type is VVIP, and the user priority weighting factor R is set to 0.2. The customer type is VIP and the user priority weighting factor R is set to 0.5. The customer type is normal (monthly spending no less than 50% of the mean) and the user priority weighting factor R is set to 0.7. The customer type is low quality (monthly spending amount is less than 50% of the mean) and the user priority weighting factor R is set to 1.
Step S802: acquiring the memory size P of the virtual machine; calculating average value P of memory sizes of all virtual machines in running state cloud serveravg(ii) a According to the memory size P of the virtual machine and the average value P of the memory sizes of all the virtual machines in all the running state cloud serversavgCalculating the constant migration load weight coefficient alpha of the virtual machine,
Figure GDA0002960253710000241
Figure GDA0002960253710000242
step S803: acquiring the memory change rate S of the virtual machine in unit time; calculating the average value S of memory change rates of all virtual machines in all running state cloud servers in unit timeavg(ii) a According to the unit time memory change rate S of the virtual machine and the average value S of the unit time memory change rates of all the virtual machines in the running state cloud serveravgCalculating the weight coefficient beta of the incremental migration load of the virtual machine,
Figure GDA0002960253710000243
step S804: calculating the migration priority of the virtual machine according to the user priority weight coefficient, the virtual machine constant migration load weight coefficient and the virtual machine incremental migration load weight coefficient:
according to a migration priority calculation formula: v ═ R × (α + β), wherein,
Figure GDA0002960253710000244
Figure GDA0002960253710000245
then virtual machine migration priority
Figure GDA0002960253710000246
Wherein, R represents a user priority weighting coefficient, alpha represents a virtual machine constant migration load weighting coefficient, beta represents a virtual machine increment migration load weighting coefficient, P represents the memory size of the virtual machine, and P representsavgThe method includes the steps that the average memory size of all virtual machines in all running state cloud servers is represented, S represents the memory change rate of the virtual machines in unit time, and SavgThe average memory change rate per unit time of all the virtual machines in all the cloud servers in the running state is represented, a is an empirical parameter, and the value range is (0, 1)]In the application example, the empirical constant value is 0.0001.
As shown in fig. 7, in step S4 and step S8, the step of determining the target host cloud server of each virtual machine in the to-be-migrated virtual machine list according to the predicted temperature and the residual load capacity of each host cloud server in the host cloud server list both adopts a minimum temperature server allocation principle algorithm, and specifically includes the following steps.
Step A: and traversing the virtual machines to be migrated in the virtual machine list to be migrated, and executing a first circulation step for each virtual machine to be migrated. Specifically, a first loop step is executed for the current virtual machine to be migrated, and then the step B is entered for continuous execution.
And B: judging whether a next virtual machine to be migrated exists or not; if not, entering the step C to continue execution; if yes, taking the next virtual machine to be migrated as the current virtual machine to be migrated, and jumping to the step A to continue to execute the first loop step.
And C: and obtaining the matching relation between the virtual machine to be migrated and the target host cloud server.
Wherein the first circulating step includes the following steps.
Step a: traversing all the cloud servers in the normal operation state, and acquiring the current preset temperature of each cloud server in the normal operation state; then step b is entered for continuous execution.
Step b: sorting the normally-operated cloud servers from low to high according to the predicted temperature to obtain a sorted list of cloud servers to be selected; then step c is entered for continuous execution.
Step c: and traversing the sorted cloud server list to be selected, and executing a second circulation step.
Wherein the second circulating step includes the following steps.
Step c 1: for the current cloud server to be selected, judging whether the current cloud server to be selected meets the following conditions: the predicted temperature is less than the server alarm temperature threshold; the number of the residual CPU cores is larger than the CPU core number requirement of the virtual machine to be migrated; and the amount of the residual unallocated memory is greater than the memory requirement of the virtual machine to be migrated. If so, distributing the virtual machine to be migrated to the current cloud server to be selected to obtain a target host cloud server; exiting the second loop step; if not, go to step c2 to continue execution.
Step c 2: judging whether a cloud server list to be selected has a next cloud server to be selected; if yes, go to step c3 to continue execution; if not, go to step c4 to continue execution.
Step c 3: and taking the next cloud server to be selected as the current cloud server to be selected, and jumping to the step c1 to continue execution.
Step c 4: and c, listing a cloud server from the dormant state cloud server list, listing the cloud server into the normal operation state cloud server list, taking the cloud server as the current cloud server to be selected, and jumping to the step c1 to continue execution.
Second embodiment
In a second embodiment, a virtual machine migration planning and scheduling system based on temperature prediction according to the present invention is illustrated by fig. 8 to 12. A person skilled in the art may understand the first embodiment as a preferred embodiment of the second embodiment, i.e. the system in the second embodiment may be implemented by performing the method steps in the first embodiment.
As shown in fig. 8, the virtual machine migration planning and scheduling system based on temperature prediction includes:
the temperature prediction model training prediction module 100: training a temperature prediction model based on Bayesian linear regression, and predicting the temperature by using the temperature prediction model to obtain the predicted temperature of the cloud server;
cloud server classification module 200: classifying the cloud servers into an operating state cloud server and a dormant state cloud server according to the working state, wherein the operating state cloud server is classified into a low-load cloud server, a normal operating state cloud server and an alarm state cloud server;
the virtual machine migration module 300: based on the classification of the cloud server by the cloud server classification module 200, the virtual machine in the low-load cloud server and the virtual machine with the highest migration priority on the alarm cloud server are migrated to the normally-operating cloud server or the dormant cloud server according to the predicted temperature of the cloud server obtained by the temperature prediction model training prediction module 100. The predicted temperature of the cloud server comprises a predicted temperature of the cloud server in an operating state and a predicted temperature of the cloud server in a dormant state. The selection sequence of the cloud servers of the migration target host of the virtual machine is that the cloud servers in the normal running state are preferentially selected, and when the cloud servers in the normal running state do not meet the matching condition, the cloud servers in the dormant state are selected;
the temperature prediction model training prediction module 100 comprises:
the data acquisition module 110: acquiring index data of a cloud server and actually measured cloud server temperature data;
the data preprocessing module 120: preprocessing the data acquired by the data acquisition module 110;
the temperature prediction model training module 130: training a Bayesian linear regression model by using the data preprocessed by the data preprocessing module 120;
the temperature prediction module 140: predicting the temperature according to the current Bayesian linear regression model obtained by training of the temperature prediction model training module 130 to obtain the predicted temperature of the cloud server;
specifically, in an initial stage training stage of predicting the cloud server temperature by implementing bayesian linear regression, first, the data acquisition module 110 acquires index data of a historical cloud server and an actually measured cloud server temperature; sending the collected historical data to the data preprocessing module 120 for data preprocessing; secondly, the data preprocessing module 120 preprocesses the data acquired by the data acquisition module 110; sending the preprocessed data to a temperature prediction model training module 130 for initial training of a Bayesian linear regression model; finally, the temperature prediction model training module 130 initially trains the bayesian linear regression model using the preprocessed data generated by the data preprocessing module 120 to obtain an initial bayesian linear regression model.
In the stage of implementing bayesian linear regression online increment training and prediction, in each bayesian linear regression online increment training and prediction implementation period, firstly, the data acquisition module 110 acquires index data of a cloud server in a prediction period ending at the initial moment of the current sampling period and actually measured cloud server temperature as an increment training sample; sending the acquired incremental training data to the data preprocessing module 120 for data preprocessing; secondly, the data preprocessing module 120 preprocesses the incremental training samples acquired by the data acquisition module 110; sending the preprocessed incremental training samples to a temperature prediction model training module 130 for incremental training of a Bayesian linear regression model; then, the temperature prediction model training module 130 performs incremental training on the bayesian linear regression model by using the preprocessed incremental samples generated by the data preprocessing module 120, updates the bayesian linear regression model, and triggers the temperature prediction module 140 to predict the temperature of the cloud server by using the updated bayesian linear regression model of the temperature prediction model training module 130 after the updating is completed, so as to obtain a predicted value of the temperature of the cloud server. At this point, a Bayesian linear regression online increment training and prediction implementation period is completed. When the initial moment of the next sampling period comes, the temperature prediction module 140 triggers the data acquisition module 110 to start acquisition work, and starts the next bayesian linear regression online incremental training and prediction implementation period.
The bayesian linear regression model is explained in detail below.
That is, the input sample set X of the bayesian linear regression model consists of n consecutive sampling period input samples, here with the notation: x ═ X1,X2,...,Xn}. X is in matrix expression form. XnThe input sample obtained in the nth sampling period is shown, and in the application example of the present invention, the input sample data includes index data of a cloud server. The bayesian linear regression model output sample set y consists of n consecutive sampling period output samples, here with the notation: y ═ y1,y2,...,yn}。ynThe output sample obtained in the nth sampling period is represented, and in the application example of the present invention, the output sample is actually measured cloud server temperature data, specifically an arithmetic average of actually measured temperatures of different parts and/or components of the cloud server.
The Bayesian linear regression model is as follows:
Figure GDA0002960253710000271
ρ(y|X,β,σ2) Representing the Bayesian linear regression model parameters beta and sigma at a given set of input samples X2Next, the conditional probability density function for the sample set y is output. As described in the above equation, the conditional probability of the output sample set y follows an n-dimensional gaussian distribution.
Wherein β is a weight vector of the input sample features; sigma2Is the variance of the linear regression residual; beta, sigma2I.e., the parameters that make up the bayesian linear regression model.
Next, the parameters beta and sigma of the Bayesian linear regression model are compared2Prior probability distribution ofA description will be given.
Conjugate prior probability rho (beta, sigma) according to Bayes reasoning principle2) Can be decomposed into rho (beta, sigma)2)=ρ(σ2)ρ(β|σ2) Selecting the hyper-parameter as mu0,Λ0,a0,b0Gauss-inverse GAMMA probability distribution as parameters beta and sigma2Prior probability distribution. Wherein the variance σ2Is of the following formula:
Figure GDA0002960253710000272
variance σ2Obeying inverse GAMMA (a)0,b0) Distributing; parameter a0And b0Is a hyper-parameter of inverse GAMMA distribution; the selection of the value of the hyperparametric parameter in the application example of the invention is a0=1,b0=1。
Given variance σ2The conditional probability density function of the weight vector β is of the form:
Figure GDA0002960253710000273
given variance σ2Beta obey Gauss
Figure GDA0002960253710000274
Distributing; expectation vector mu0Variance matrix Λ0A hyper-parameter of k-dimensional Gaussian distribution; selection of the value of the hyper-parameter in the application example of the invention:
μ0is a k-dimensional 0 vector; parameter Λ0Representing a k × k order identity matrix; k denotes a characteristic dimension of the input sample set X as an input quantity.
Model parameters beta and sigma are then matched2The posterior probability distribution of (a) is explained.
The posterior distribution of the model parameters is calculated by:
Figure GDA0002960253710000281
where ρ (β, σ)2Y, X) is a posterior probability density function of the model parameters given the input sample set X and the output sample set y. The posterior probability density is equal to the likelihood of the output ρ (y | X, β, σ)2) Multiplying by a parameter beta, sigma of a given input2Is the prior probability density function ρ (β, σ)2) And divided by a normalization constant.
Specifically to bayesian linear regression, the posterior distribution is:
Figure GDA0002960253710000282
where ρ (β | σ |)2Y, X) is Gauss
Figure GDA0002960253710000283
A density function of the distribution;
ρ(σ2y, X) is inverse GAMMA (a)n,bn) Density function of the distribution.
In summary, the parameters β and σ are observed after the model observes the input sample set X and the output sample set y2The posterior probability distribution obeys a hyper-parameter of mun,Λn,an,bnThe hyper-parameter calculation formula of the Gauss-inverse GAMMA distribution is as follows:
μn=(XTX+Λ0)-10μ0+XTy)
Λn=(XTX+Λ0)
Figure GDA0002960253710000284
Figure GDA0002960253710000285
parameter munIs of Gauss
Figure GDA0002960253710000286
An expected vector of distributions;
parameter(s)
Figure GDA0002960253710000291
Is composed of
Figure GDA0002960253710000292
A variance matrix of the distribution;
an,bnis reverse GAMMA (a)n,bn) A distributed hyper-parameter.
Through the Bayesian statistical inference, the initial training optimal Bayesian estimation of the Bayesian linear regression input feature weight parameter beta is as follows:
Figure GDA0002960253710000293
expressing the predicted value of the cloud server temperature at the end moment of the prediction period m by using the initial Bayes optimal linear regression model as
Figure GDA0002960253710000294
Wherein
Figure GDA0002960253710000295
A predicted value X representing the cloud server temperature at the end of the prediction period mmInput cloud server index data indicating the start time of the prediction period m.
More specifically, bayesian linear regression incremental training is described in detail below.
In the case where the number of input samples n > 1, Bayesian incremental training is represented by the following equation:
ρ(β,σ2|y1,…,t,X1,…,t)∝ρ(yt|Xt,β,σ2)×ρ(β,σ2|y1,…,t-1,X1,…,t-1)
where ρ (β, σ)2|y1,…,t,X1,…,t) For observing all historical input sample sets X in sampling period t1,…,tAnd all historical output sample sets y1,…,tModel parameter beta, sigma under the conditions of (1)2Is determined. This term equals the input sample X given the current sampling periodtOutput samples y for the current sampling periodtLikelihood of (g ρ (y)n|Xn,β,σ2) Multiplying by the set X of all historical input samples observed in the sampling period n-11,…,t-1And all historical output sample sets y1,…,t-1Model parameter beta, sigma under the conditions of (1)2Probability density function ρ (β, σ)2|y1,…,n-1,X1,…,n-1) And is normalized.
Particularly, Bayesian linear regression is adopted, and model parameters beta and sigma are set at a sampling period t-12The posterior probability density function is a hyperparameter of mut-1,Λt-1,at-1,bt-1The Gauss-inverse GAMMA distribution of the training sample X is observed in the sampling period tt,ytThe model parameters beta, sigma2The posterior probability density function is a hyperparameter of mut,Λt,at,btGaussian-inverse GAMMA distribution. The hyper-parameter update formula, i.e. the incremental training formula, is as follows:
μt=(Xt TXtt-1)-1t-1μt-1+Xt Tyt)
Λt=(Xt TXtt-1)
Figure GDA0002960253710000296
Figure GDA0002960253710000297
through the Bayesian statistical inference, in the current sampling period t, the optimal Bayesian estimation of the Bayesian linear regression input characteristic weight parameter beta is obtained by incremental training:
Figure GDA0002960253710000298
the prediction of the cloud server temperature at the end of the current prediction period t by using the current incremental bayesian optimal linear regression model is represented by formula 1:
Figure GDA0002960253710000301
wherein
Figure GDA0002960253710000302
A predicted value X representing the cloud server temperature at the end of the current prediction period ttCloud server index data representing model inputs at the start of the current prediction period t. The temperature prediction module 140 predicts the temperature of the cloud server at the end time of the prediction period defined on the current sampling period by using formula 1 based on the current bayesian linear regression model.
Further, in the stage of implementing virtual machine migration, the virtual machine migration module 300 first determines which virtual machines to be migrated to construct a virtual machine list to be migrated, then determines the order of migrating the virtual machines according to the virtual machine migration priority, then determines a target host cloud server according to the cloud server predicted temperature obtained by the temperature prediction module 140 and the residual load capacity of the cloud server, and finally completes the migration of the virtual machines. In the process of implementing the virtual machine migration stage, the virtual machine migration module 300 needs to perform different controls on the cloud server in the dormant state, the cloud server in the low load state, the alarm cloud server, and the cloud server in the normal operation state, and the cloud server classification module 200 completes the classification of the working state of the cloud server.
Specifically, as shown in fig. 8, the cloud server classification module 200 includes the following modules.
The dormant state cloud server classifying module 201: and classifying the cloud server in the dormant state as the dormant state cloud server.
Operating state cloud server classification module 202: and classifying the cloud server in the running state as a running state cloud server.
The operating state cloud server classification module 202 includes the following modules.
The low-load cloud server classification module 20201: and classifying the cloud server with the CPU utilization rate of the cloud server nodes in the running state lower than a set first threshold value into a low-load cloud server.
The alarm cloud server classification module 20202: classifying the cloud server meeting the alarm condition as an alarm cloud server, wherein the meeting of the alarm condition means that any one of the following conditions is met: under a first condition, the utilization rate of a CPU (central processing unit) of a cloud server node is higher than a set second threshold value, wherein the second threshold value is larger than the first threshold value; a second condition, wherein the current predicted temperature of the cloud server is higher than the server alarm temperature;
normal operating state cloud server classification module 20203: and classifying the cloud servers which do not belong to the low-load cloud server and the alarm cloud server in the operation state cloud server list into normal operation state cloud servers, wherein the normal operation state cloud servers can be used as host cloud servers.
As shown in fig. 9, the data acquisition module 110 includes the following modules.
Initial training data set construction module 111: constructing an initial training data set by using historical sampling data; defining the time interval between every two adjacent sampling moments as a sampling period, defining a prediction period on each sampling period, wherein the length of the prediction period is the prediction depth of the temperature prediction model, and the initial time of the prediction period is the initial time of the same sampling period; the method comprises the steps of taking index data of a cloud server at the initial moment of a prediction period as a model input data index, and taking the actually measured cloud server temperature at the end moment of the same prediction period as a model output data index to construct an initial training data set.
The newly added training data set construction module 112: acquiring a newly added training data set; wherein the newly added training data set comprises: index data of the cloud server at the initial time of a prediction period ending at the initial time of the current sampling period is used as a model input data index, and the actually measured cloud server temperature of the cloud server at the end time of the prediction period ending at the initial time of the current sampling period is used as a model output data index; the measured cloud server temperature refers to an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server.
As shown in fig. 4, the cloud server temperature prediction model training data indexes include an input data index and an output data index. The input data indicator includes any one or more of the following: the number of CPU cores of the cloud server; the cloud server uses the CPU core number; the utilization rate of a CPU of the cloud server; memory capacity of a cloud server; the memory utilization rate of the cloud server; current frequency of a cloud server CPU; the cloud server inputs network flow; the cloud server outputs network traffic; the rotating speed of each fan of the cloud server; and the cloud server deploys the number of the virtual machines. The output data index comprises any one of the following data or an arithmetic mean of any plurality of data: actually measuring the inlet air temperature of the cloud server; actually measuring the air outlet temperature of the cloud server; actually measuring the temperature of a CPU of the cloud server; and (4) actually measuring the GPU temperature of the cloud server.
The data preprocessing module 120 includes: initial training data set preprocessing module 121: preprocessing an initial training data set; the newly added training data set preprocessing module 122: and preprocessing the newly added training data set.
The temperature prediction model training module 130 includes the following modules.
Initial training data set training module 131: performing initial training on the Bayesian linear regression model by using the preprocessed initial training data to obtain an initial temperature prediction model; wherein, in the initial training stage of Bayesian linear regression, the prior distribution of model parameters is selected to obey the given initial hyperparameter as mu0,Λ0,a0,b0After initial training of the Bayesian linear regression model is completed, the posterior distribution of model parameters obeys the hyper-parameter of mun,Λn,an,bnThe gaussian-inverse gama probability distribution of (a), wherein n represents the last sampling period in the initial training dataset; hyperparameter mun,Λn,an,bnAre all mu0,Λ0,a0,b0And simple functions of the initial training sample set, with analytical solutions.
Newly added training data set training module 132: performing online incremental training on the Bayesian linear regression model by using the newly-added training data set after preprocessing in an incremental manner; in the Bayesian linear regression increment training stage, the model parameter obeying hyperparameter before the current sampling period t is mut-1,Λt-1,at-1,bt-1In the Gaussian-inverse GAMMA probability distribution, the model parameter of the current sampling period t is updated to obey the hyper-parameter mu by adding the sampling training sample of the sampling period t in the current sampling period tt,Λt,at,btGaussian-inverse gama probability distribution; hyperparameter mut,Λt,at,btAre all mut-1,Λt-1,at-1,bt-1And a simple function of the incremental training samples, with an analytical solution.
The virtual machine migration module 300 includes the following modules.
Cloud server temperature acquisition module 301: and traversing the cloud server list of the cloud data center to obtain the cloud server temperature predicted value of the end time of the prediction period defined on the sampling period of each cloud server at the current time.
The to-be-migrated virtual machine obtaining module 302: traversing the low-load cloud servers to obtain virtual machines in each low-load cloud server as virtual machines to be migrated, and listing the virtual machines to be migrated in a virtual machine list to be migrated; and traversing the alarm cloud servers to obtain the virtual machine with the highest migration priority in each alarm cloud server as the virtual machine to be migrated, and listing the virtual machine to be migrated in a virtual machine list to be migrated.
The migration operation module 303: and determining a target host cloud server of each virtual machine in the virtual machine list to be migrated according to the predicted temperature and the residual load capacity of each host cloud server, and completing virtual machine migration.
The flow end determination module 304: judging whether the process is finished or not; if yes, ending the process; if not, triggering the cloud server temperature obtaining module 301 to obtain the predicted temperature of the cloud server in the next virtual machine migration planning period.
Specifically, in fig. 9, first, the initial training data set constructing module 111 sends the constructed initial training data set to the initial training data set preprocessing module 121 for preprocessing, the initial training data set preprocessing module 121 sends the preprocessed initial training data set to the initial training data set training module 131 for training the bayesian linear regression model, so as to obtain an initial temperature prediction bayesian linear regression model, and trigger the newly added training data set constructing module 112 to collect newly added training data. Secondly, the newly added training data set constructing module 112 sends the constructed newly added training data set to the newly added training data set preprocessing module 122 for preprocessing, the newly added training data set preprocessing module 122 sends the preprocessed newly added training data set to the newly added training data set training module 132 to perform incremental training on the current bayesian linear regression model, and triggers the temperature predicting module 140 to perform cloud server temperature prediction, so as to obtain a predicted cloud server temperature value. After the prediction process is finished, at the initial time of the next sampling period, the temperature prediction module 140 triggers the newly added training data set construction module 112 to collect newly added training data, and starts the next incremental training prediction implementation period of the cloud server temperature prediction model.
Independently of incremental training of the temperature prediction model of the cloud server by the temperature prediction model training prediction module 100 and prediction of the cloud server temperature, migration of the virtual machine is controlled by the virtual machine migration module 300, wherein at the initial time of a virtual machine migration planning period, the cloud server temperature acquisition module 301 acquires, from the temperature prediction module 140, predicted temperatures at the end time of a prediction period defined on a sampling period where all cloud servers including an operating state cloud server and a dormant state cloud server are located at the current time, and triggers the virtual machine to be migrated acquisition module 302; the virtual machine to be migrated acquiring module 302 determines a virtual machine to be migrated and triggers the migration operation module 303, the migration operation module 303 migrates the virtual machine according to the predicted temperature of the cloud server acquired by the cloud server temperature acquiring module 301 and in combination with the residual load capacity of the cloud server, and then the flow end determining module 304 is triggered to determine whether the flow is ended; if the process is not finished, triggering the cloud server temperature obtaining module 301 to obtain the predicted temperature of the cloud server, and starting the next virtual machine migration planning cycle. The to-be-migrated virtual machine obtaining module 302 and the migration operation module 303 invoke the cloud server allocation module 200 to classify the cloud servers and apply different controls.
More specifically, the sampling period, the prediction period, the monitoring period, and the virtual machine migration planning period are described in more detail with reference to fig. 9. The sampling period is a working period of the temperature prediction model training prediction module 100, wherein the temperature prediction module 140 triggers the newly added training data set construction module 112 to collect newly added data according to the sampling period. The prediction period is a prediction depth of the temperature prediction model, and is greater than the sampling period, and the temperature prediction module 140 performs temperature prediction according to the prediction period defined on each sampling period as the prediction depth. The monitoring period is a work period in which the cloud server classification module 200 monitors the state of the cloud server. The virtual machine migration planning period is a work period for the virtual machine migration module 300 to plan and migrate the virtual machine, the virtual machine migration planning period is based on the time required for scheduling actually, and the monitoring period and the virtual machine migration planning period start and end synchronously. The temperature prediction model training prediction module 100 and the virtual machine migration module 300 operate independently according to a sampling period and a virtual machine migration planning period, respectively, the virtual machine migration planning period is greater than the sampling period, and when the next virtual machine migration planning period comes, the cloud server temperature acquisition module 301 acquires, from the temperature prediction module 140, the predicted temperature at the end of the prediction period defined on the current sampling period.
As shown in fig. 10, the initial training data set preprocessing module 121 and the newly added training data set preprocessing module 122 each include the following modules.
The data cleaning module 1201: if the value x of the sampled data item obtained at the sampling instant t ist' is the vacancy value, which is filled using the historical average of the data item.
The normalization module 1202: for each data item, respectively recording the minimum value and the maximum value of the data item in the initial training data set as xmin、xmaxThe original value x of the data itemt' mapping to approximate in the interval [0,1 ]]New value x in (1)tThe formula is as follows:
Figure GDA0002960253710000331
the value x of the data item obtained after preprocessing each data item in the training sampletThe preprocessed training samples are combined as the input of the initial training and incremental training of the bayesian linear regression in the temperature prediction model training module 130.
Specifically, after the data acquisition module 110 acquires the training data, the data cleaning module 1201 completes data cleaning and triggers the normalization module 1202, and the normalization module 1202 normalizes the training data that has completed data cleaning and sends the obtained normalized data to the temperature prediction model training module 130 for training.
As shown in fig. 11, in the migration operation module 303, a virtual machine migration priority V is calculated by the following module.
The user priority weighting coefficient obtaining module 30201: obtaining a user level according to the monthly consumption amount or the annual consumption amount of the user; obtaining a user priority weighting coefficient R according to the user level; the user priority weighting coefficient R comprises a numerical value between 0 and 1.
The virtual machine constant migration load weight coefficient obtaining module 30202: acquiring the memory size P of the virtual machine; calculating average value P of memory sizes of all virtual machines in running state cloud serveravg(ii) a According to the memory size P of the virtual machine and the average value P of the memory sizes of all the virtual machines in all the running state cloud serversavgCalculating the constant migration load weight coefficient alpha of the virtual machine,
Figure GDA0002960253710000341
the virtual machine incremental migration load weight coefficient obtaining module 30203: acquiring the memory change rate S of the virtual machine in unit time; calculating the average value S of memory change rates of all virtual machines in all running state cloud servers in unit timeavg(ii) a According to the unit time memory change rate S of the virtual machine and the average value S of the unit time memory change rates of all the virtual machines in the running state cloud serveravgCalculating the weight coefficient beta of the incremental migration load of the virtual machine,
Figure GDA0002960253710000342
the migration priority acquisition module 30204 of the virtual machine: and calculating the migration priority of the virtual machine according to the user priority weight coefficient, the virtual machine constant migration load weight coefficient and the virtual machine incremental migration load weight coefficient.
According to a migration priority calculation formula: v ═ R × (α + β), wherein,
Figure GDA0002960253710000343
Figure GDA0002960253710000344
then virtual machine migration priority
Figure GDA0002960253710000345
Wherein, R represents a user priority weighting coefficient, alpha represents a virtual machine constant migration load weighting coefficient, beta represents a virtual machine increment migration load weighting coefficient, P represents the memory size of the virtual machine, and P representsavgThe method includes the steps that the average memory size of all virtual machines in all running state cloud servers is represented, S represents the memory change rate of the virtual machines in unit time, and SavgRepresenting all running states cloud servicesAverage memory change rate per unit time of all virtual machines in the device, a is an empirical parameter, and the value range is (0, 1)]。
As shown in fig. 12, the migration operation module 303 includes the following modules.
The migration matching relationship assignment module 3031: traversing the virtual machines to be migrated in the virtual machine list to be migrated, and distributing target host cloud servers to the virtual machines to be migrated;
the migration matching relationship output module 3032: migrating the virtual machine to be migrated according to the matching relationship between the virtual machine to be migrated and the target host cloud server, which is established by the migration matching relationship allocation module 3031;
wherein the migration matching relationship assignment module 3031 includes:
predicted temperature ordering module 303101: sorting the normally-running cloud servers from low to high according to the predicted temperature obtained by the cloud server temperature obtaining module 301 to obtain a sorted list of cloud servers to be selected;
virtual machine to be migrated traverse module 303102: traversing the virtual machine to be migrated in the virtual machine list to be migrated, and acquiring the next virtual machine in the virtual machine list to be migrated as the current virtual machine to be migrated;
the to-be-selected cloud server screening module 303103: according to the order of the list of the cloud servers to be selected after the predicted temperature sorting module 303101 sorts, the cloud servers to be selected which meet the following conditions are allocated to the current virtual machine to be migrated as target host cloud servers:
the predicted temperature is less than the server alarm temperature threshold;
the number of the residual CPU cores is larger than the CPU core number requirement of the virtual machine to be migrated;
the amount of the residual unallocated memory is greater than the memory requirement of the virtual machine to be migrated;
sleep state cloud server wake-up module 303104: for the current to-be-migrated virtual machine to which the target host cloud server is not allocated by the to-be-selected cloud server screening module 303103, listing a cloud server from the dormant state cloud server list, listing the cloud server in the normal operation state cloud server list, and allocating the cloud server as the current to-be-selected cloud server to the to-be-migrated virtual machine.
Specifically, the description will be made with reference to fig. 9 and 12. Under the trigger of the virtual machine to be migrated acquisition module 302, the migration matching relationship allocation module 3031 traverses the virtual machines to be migrated in the virtual machine to be migrated list provided by the virtual machine to be migrated acquisition module 302, allocates target host cloud servers to the virtual machines to be migrated, obtains the matching relationship between the virtual machines to be migrated and the target host cloud servers, and sends the matching relationship to the migration matching relationship output module 3032; the migration matching relationship output module 3032 migrates the virtual machine to be migrated according to the matching relationship between the virtual machine to be migrated and the target host cloud server, and triggers the flow end determination module 304 to continue processing.
More specifically, as shown in fig. 12, for a given virtual machine list to be migrated, the predicted temperature sorting module 303101 sorts the normally running cloud servers from low to high according to the predicted temperature to obtain a sorted cloud server list to be selected, and then triggers the virtual machine to be migrated traversing module 303102; the virtual machine to be migrated traversing module 303102 determines whether the virtual machine in the virtual machine to be migrated list has been traversed; if yes, triggering a migration matching relationship output module 3032 and sending the matching relationship to the migration matching relationship output module 3032; if not, acquiring the next virtual machine in the virtual machine list to be migrated as the current virtual machine to be migrated, and then triggering the cloud server screening module to be selected 303103; the to-be-selected cloud server screening module 303103 allocates, according to the order of the to-be-selected cloud server list sorted by the predicted temperature sorting module 303101, a to-be-selected cloud server that meets the following conditions as a target host cloud server to the current to-be-migrated virtual machine:
the predicted temperature is less than the server alarm temperature threshold;
the number of the residual CPU cores is larger than the CPU core number requirement of the virtual machine to be migrated;
the amount of the residual unallocated memory is greater than the memory requirement of the virtual machine to be migrated;
then, the to-be-selected cloud server screening module 303103 triggers the sleep state cloud server wake-up module 303104. The dormant state cloud server waking module 303104 determines that if the current virtual machine to be migrated has been allocated with the target host cloud server by the to-be-selected cloud server screening module 303103, the dormant state cloud server waking module 303104 triggers the to-be-migrated virtual machine traversal module 303102 to continue processing on the next to-be-migrated virtual machine; if the current virtual machine to be migrated is not allocated with the target host cloud server by the to-be-selected cloud server screening module 303103, the dormant state cloud server wakeup module 303104 lists a cloud server from the dormant state cloud server list, lists the cloud server in the normal operation state cloud server list, allocates the cloud server as the current cloud server to be selected to the current virtual machine to be migrated, and then triggers the to-be-migrated virtual machine traversal module 303102 to continue processing on the next virtual machine to be migrated.
Third embodiment
According to the present invention, there is provided a computer readable storage medium storing a computer program, which when executed by a processor implements the steps of the virtual machine migration planning and scheduling method based on temperature prediction.
Those skilled in the art will appreciate that, in addition to implementing the system and its various modules provided by the present invention in purely computer readable program code means, the same procedures can be implemented entirely by logically programming method steps such that the system and its various modules are provided in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Therefore, the system and the modules thereof provided by the present invention can be considered as a hardware component, and the modules included in the system and used for implementing various programs can also be considered as structures in the hardware component; modules for performing various functions may also be considered to be both software programs for performing the methods and structures within hardware components.
The foregoing description of specific embodiments of the present invention has been presented. It is to be understood that the present invention is not limited to the specific embodiments described above, and that various changes or modifications may be made by one skilled in the art within the scope of the appended claims without departing from the spirit of the invention. The embodiments and features of the embodiments of the present application may be combined with each other arbitrarily without conflict.

Claims (15)

1. A virtual machine migration planning and scheduling method is characterized by comprising the following steps:
step S1: the method comprises the steps of obtaining a cloud server list of a cloud data center, obtaining a predicted value of a Bayesian linear regression-based temperature prediction model for the temperature of each cloud server in the cloud server list of the cloud data center, and obtaining the predicted temperature of the cloud server;
step S2: defining the operating state cloud server with the load monitoring index meeting the low-load condition in the operating state cloud server list as a low-load cloud server, and constructing a low-load cloud server list;
step S3: traversing the low-load cloud server list, acquiring the virtual machines in each low-load cloud server, and listing the virtual machines into a to-be-migrated virtual machine list;
step S4: determining a target host cloud server of each virtual machine in the virtual machine list to be migrated according to the predicted temperature and the residual load capacity of each host cloud server in the host cloud server list, and completing virtual machine migration; the host cloud server comprises a normal operation state cloud server and cloud servers in a dormant state cloud server list; the selection sequence of the target host cloud server is that the cloud server in the normal operation state is preferentially selected, and when the cloud server in the normal operation state does not meet the matching condition, the cloud server in the dormant state is selected; the cloud server in the normal operation state is defined as a cloud server which is not listed in the low-load cloud server list and is not listed in the alarm cloud server list in the operation state cloud server list;
step S5: setting all the migrated low-load cloud servers of the virtual machines into a dormant state, listing an operating state cloud server list, and adding the operating state cloud server list into the dormant state cloud server list;
step S6: defining the operating state cloud server with the monitoring index meeting the alarm condition in the operating state cloud server list as an alarm cloud server, and listing all alarm cloud servers in an alarm cloud server list;
step S7: traversing the alarm cloud server list to obtain the virtual machine with the highest migration priority in each alarm cloud server, and listing the virtual machines into a to-be-migrated virtual machine list;
step S8: determining a target host cloud server of each virtual machine in the virtual machine list to be migrated according to the predicted temperature and the residual load capacity of each host cloud server in the host cloud server list, and completing virtual machine migration;
step S9: setting alarm cloud servers, from which the virtual machines are all migrated, to be in a dormant state, listing an operating state cloud server list, and adding the operating state cloud server list into the dormant state cloud server list;
step S10: judging whether the process is finished or not; if yes, ending the process; if not, jumping to the step S1 to continue execution;
in the step S4 and the step S8, the step of determining the target host cloud server of each virtual machine in the to-be-migrated virtual machine list according to the predicted temperature and the residual load capacity of each host cloud server in the host cloud server list all uses a minimum temperature server allocation principle algorithm, and specifically includes the following steps:
step A: traversing the virtual machines to be migrated in the virtual machine list to be migrated, and executing a first loop step for each virtual machine to be migrated, wherein the first loop step comprises the following steps:
step a: traversing all the cloud servers in the normal operation state, and acquiring the current preset temperature of each cloud server in the normal operation state;
step b: sorting the normally-operated cloud servers from low to high according to the predicted temperature to obtain a sorted list of cloud servers to be selected;
step c: traversing the sorted cloud server list to be selected, and executing a second circulation step, wherein the second circulation step comprises the following steps:
step c 1: for the current cloud server to be selected, judging whether the current cloud server to be selected meets the following conditions:
the predicted temperature is less than the server alarm temperature threshold;
the number of the residual CPU cores is larger than the CPU core number requirement of the virtual machine to be migrated;
the amount of the residual unallocated memory is greater than the memory requirement of the virtual machine to be migrated;
if so, distributing the virtual machine to be migrated to the current cloud server to be selected to obtain a target host cloud server; exiting the second loop step;
if not, go to step c2 to continue execution;
step c 2: judging whether a cloud server list to be selected has a next cloud server to be selected; if yes, go to step c3 to continue execution; if not, jumping to the step c4 to continue execution;
step c 3: taking the next cloud server to be selected as the current cloud server to be selected, and jumping to the step c1 to continue execution;
step c 4: listing a cloud server from the dormant state cloud server list, listing the cloud server into the normal operation state cloud server list, taking the cloud server as the current cloud server to be selected, and jumping to the step c1 to continue execution;
and B: judging whether a next virtual machine to be migrated exists or not; if not, entering the step C to continue execution; if yes, entering the step A to continue executing the first circulation step;
and C: obtaining a matching relation between the virtual machine to be migrated and the target host cloud server;
the low-load condition is that: and the CPU utilization rate of the cloud server in the running state is lower than a set first threshold value.
2. The virtual machine migration planning and scheduling method according to claim 1, wherein the temperature prediction model in step S1 is obtained through the following steps:
step S101: establishing an initial training data set by using historical sampling data, and performing initial training on a Bayesian linear regression model to obtain an initial temperature prediction model;
step S102: in the daily operation process of the cloud data center, acquiring a newly added training data set in real time, performing online incremental training on a current cloud server temperature prediction model in an incremental mode, updating the temperature prediction model, and predicting the future temperature of the cloud server by using the temperature prediction model to obtain a predicted value of the future temperature of the cloud server;
wherein:
the step S101 includes the steps of:
step S10101: defining the time interval between every two adjacent sampling moments as a sampling period, defining a prediction period on each sampling period, wherein the length of the prediction period is the prediction depth of the temperature prediction model, and the initial time of the prediction period is the initial time of the same sampling period; the method comprises the steps that index data of a cloud server at the initial moment of a prediction period are used as model input data indexes, and the actually measured cloud server temperature at the end moment of the same prediction period is used as model output data indexes to construct an initial training data set; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server;
step S10102: preprocessing an initial training data set;
step S10103: training the Bayes linear regression model by utilizing the preprocessed initial training data set to obtain a parameter posterior distribution function of the initial Bayes linear regression model;
step S10104: outputting a parameter posterior distribution function of the initial Bayes linear regression model;
the step S102 includes the steps of:
step S10201: inputting a parameter posterior distribution function of a current Bayes linear regression model;
step S10202: acquiring a newly added training data set; wherein the newly added training data set comprises: index data of the cloud server at the initial time of a prediction period ending at the initial time of the current sampling period is used as an input data index, and the actually measured cloud server temperature of the cloud server at the end time of the prediction period ending at the initial time of the current sampling period is used as an output data index; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server;
step S10203: preprocessing the newly added training data set;
step S10204: performing incremental training on the current Bayes linear regression model by using the newly-added training data set after preprocessing, and updating a parameter posterior distribution function of the current Bayes linear regression model;
step S10205: obtaining a Bayesian optimal estimation of a parameter of a current Bayesian linear regression model;
step S10206: predicting the temperature of the cloud server at the end moment of the current prediction period based on the parameter Bayes optimal estimation of the current Bayes linear regression model;
step S10207: outputting the predicted temperature of the cloud server;
step S10208: judging whether the predicted temperature process of the cloud server is finished or not; if yes, ending the process; if not, the process goes to step S10202 to continue the process.
3. The virtual machine migration planning and scheduling method according to claim 2, wherein the cloud server temperature prediction model training data indexes in steps S10101 and S10202 include an input data index and an output data index;
the input data indicator includes any one or more of the following:
the number of CPU cores of the cloud server;
the cloud server uses the CPU core number;
the utilization rate of a CPU of the cloud server;
memory capacity of a cloud server;
the memory utilization rate of the cloud server;
current frequency of a cloud server CPU;
the cloud server inputs network flow;
the cloud server outputs network traffic;
the rotating speed of each fan of the cloud server;
the number of the virtual machines deployed by the cloud server nodes is increased;
the output data index comprises any one of the following data or an arithmetic mean of any plurality of data:
actually measuring the inlet air temperature of the cloud server;
actually measuring the air outlet temperature of the cloud server;
actually measuring the temperature of a CPU of the cloud server;
and (4) actually measuring the GPU temperature of the cloud server.
4. The virtual machine migration planning scheduling method according to claim 2, wherein the preprocessing in step S10102 and step S10203 includes the steps of:
a data cleaning step: if the value x 'of the sampled input data item is obtained at the sampling instant t'tFor the vacancy value, filling the vacancy value with the historical average of the data item;
a normalization step: for each input data item, the minimum value and the maximum value of the data item in the initial training data set defined in the step S10102 are respectively recorded as xmin、xmaxInputting original value x 'of data item'tMapped to approximate interval [0,1 ]]New value x in (1)tThe formula is as follows:
Figure FDA0003004250840000041
the value x of the data item obtained after preprocessing each input data item in the training sampletAnd merging the preprocessed training sample input data as the input of the initial Bayesian linear regression training in the step S10103 and the incremental Bayesian linear regression training in the step S10204.
5. The virtual machine migration planning scheduling method of claim 2,
the step S10103 includes: in the initial training stage of Bayesian linear regression, model parameter prior distribution compliance is selectedGiving an initial hyperparameter of μ0,Λ0,a0,b0After initial training of the Bayesian linear regression model is completed, the posterior distribution of model parameters obeys the hyper-parameter of mun,Λn,an,bnThe gaussian-inverse gama probability distribution of (a), wherein n represents the last sampling period in the initial training dataset; hyperparameter mun,Λn,an,bnAre all mu0,Λ0,a0,b0And a simple function of the initial training sample set, with an analytic solution;
the step S10204 includes: in the Bayes linear regression increment training stage, the model parameter obeying hyperparameter before the current sampling period t is mut-1,Λt-1,at-1,bt-1In the Gaussian-inverse GAMMA probability distribution, the model parameter of the current sampling period t is updated to obey the hyper-parameter mu by adding the sampling training sample of the sampling period t in the current sampling period tt,Λt,at,btGaussian-inverse gama probability distribution; hyperparameter mut,Λt,at,btAre all mut-1,Λt-1,at-1,bt-1And a simple function of the incremental training samples, with an analytical solution.
6. The virtual machine migration planning scheduling method of claim 1,
the alarm condition is satisfied, that is, any one of the following conditions is satisfied:
under a first condition, the utilization rate of a CPU (central processing unit) of the cloud server is higher than a set second threshold value, wherein the second threshold value is larger than the first threshold value;
in a second condition, the current predicted temperature of the cloud server is higher than the server alarm temperature.
7. The virtual machine migration planning scheduling method according to claim 1, wherein in the step S8, the virtual machine migration priority V is calculated according to the following steps:
step S801: obtaining a user level according to the monthly consumption amount or the annual consumption amount of the user; obtaining a user priority weighting coefficient R according to the user level; the user priority weighting coefficient R comprises a numerical value between 0 and 1;
step S802: acquiring the memory size P of a virtual machine; calculating average value P of memory sizes of all virtual machines in running state cloud serveravg(ii) a According to the memory size P of the virtual machine and the average value P of the memory sizes of all the virtual machines in all the running state cloud serversavgCalculating a constant migration load weight coefficient alpha of the virtual machine,
Figure FDA0003004250840000051
step S803: acquiring a memory change rate S of a virtual machine in unit time; calculating the average value S of memory change rates of all virtual machines in all running state cloud servers in unit timeavg(ii) a According to the unit time memory change rate S of the virtual machine and the average value S of the unit time memory change rates of all the virtual machines in the running state cloud serveravgCalculating the weight coefficient beta of the incremental migration load of the virtual machine,
Figure FDA0003004250840000061
step S804: calculating the migration priority of the virtual machine according to the user priority weight coefficient, the virtual machine constant migration load weight coefficient and the virtual machine incremental migration load weight coefficient:
according to a migration priority calculation formula: v ═ R × (α + β), wherein,
Figure FDA0003004250840000062
Figure FDA0003004250840000063
then virtual machine migration priority
Figure FDA0003004250840000064
Wherein, R represents a user priority weighting coefficient, alpha represents a virtual machine constant migration load weighting coefficient, beta represents a virtual machine increment migration load weighting coefficient, P represents the memory size of the virtual machine, and P representsavgThe method includes the steps that the average memory size of all virtual machines in all running state cloud servers is represented, S represents the memory change rate of the virtual machines in unit time, and SavgThe average memory change rate per unit time of all the virtual machines in all the cloud servers in the running state is represented, a is an empirical parameter, and the value range is (0, 1)]。
8. A virtual machine migration planning and scheduling system, comprising:
temperature prediction model training prediction module (100): training a temperature prediction model based on Bayesian linear regression, and predicting the temperature by using the temperature prediction model to obtain the predicted temperature of the cloud server;
cloud server classification module (200): classifying the cloud servers into an operating state cloud server and a dormant state cloud server according to the working state, wherein the operating state cloud server is classified into a low-load cloud server, a normal operating state cloud server and an alarm state cloud server;
virtual machine migration module (300): based on the classification of the cloud server by the cloud server classification module (200), according to the predicted temperature of the cloud server obtained by the temperature prediction model training prediction module (100), migrating the virtual machine on the low-load cloud server and the virtual machine with the highest migration priority on the alarm cloud server to the host cloud server; the host cloud server comprises a normal operation state cloud server and cloud servers in a dormant state cloud server list; the selection sequence of the target host cloud server is that the cloud server in the normal operation state is preferentially selected, and when the cloud server in the normal operation state does not meet the matching condition, the cloud server in the dormant state is selected; the cloud server in the normal operation state is defined as a cloud server which is not listed in the low-load cloud server list and is not listed in the alarm cloud server list in the operation state cloud server list;
the temperature prediction model training prediction module (100) comprises:
data acquisition module (110): acquiring index data of a cloud server and actually measured cloud server temperature data;
a data pre-processing module (120): preprocessing data acquired by a data acquisition module (110);
a temperature prediction model training module (130): training a Bayesian linear regression model by using data preprocessed by a data preprocessing module (120);
temperature prediction module (140): predicting the temperature according to a current Bayes linear regression model trained by a temperature prediction model training module (130) to obtain the predicted temperature of the cloud server;
the temperature prediction model training module (130) comprises:
an initial training data set training module (131): performing initial training on the Bayesian linear regression model by using the preprocessed initial training data to obtain an initial temperature prediction model; wherein, in the initial training stage of Bayesian linear regression, the prior distribution of model parameters is selected to obey the given initial hyperparameter as mu0,Λ0,a0,b0After initial training of the Bayesian linear regression model is completed, the posterior distribution of model parameters obeys the hyper-parameter of mun,Λn,an,bnThe gaussian-inverse gama probability distribution of (a), wherein n represents the last sampling period in the initial training dataset; hyperparameter mun,Λn,an,bnAre all mu0,Λ0,a0,b0And a simple function of the initial training sample set, with an analytic solution;
a newly added training data set training module (132): performing online incremental training on the Bayesian linear regression model by using the newly-added training data set after preprocessing in an incremental manner; in the Bayesian linear regression increment training stage, the model parameter obeying hyperparameter before the current sampling period t is mut-1,Λt-1,at-1,bt-1In the Gaussian-inverse GAMMA probability distribution, the model parameter of the current sampling period t is updated to obey the hyper-parameter mu by adding the sampling training sample of the sampling period t in the current sampling period tt,Λt,at,btGaussian-inverse gama probability distribution; hyperparameter mut,Λt,at,btAre all mut-1,Λt-1,at-1,bt-1And a simple function of the incremental training sample, with an analytical solution;
the low-load cloud server is a cloud server with the utilization rate of the CPU of the cloud server node in the running state lower than a set first threshold value.
9. The virtual machine migration planning scheduling system of claim 8, wherein the data collection module (110) comprises:
an initial training data set construction module (111): constructing an initial training data set by using historical sampling data; defining the time interval between every two adjacent sampling moments as a sampling period, defining a prediction period on each sampling period, wherein the length of the prediction period is the prediction depth of the temperature prediction model, and the initial time of the prediction period is the initial time of the same sampling period; the method comprises the steps that index data of a cloud server at the initial moment of a prediction period are used as model input data indexes, and the actually measured cloud server temperature at the end moment of the same prediction period is used as model output data indexes to construct an initial training data set; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server;
a newly added training data set construction module (112): acquiring a newly added training data set; wherein the newly added training data set comprises: index data of the cloud server at the initial time of a prediction period ending at the initial time of the current sampling period is used as a model input data index, and the actually measured cloud server temperature of the cloud server at the end time of the prediction period ending at the initial time of the current sampling period is used as a model output data index; the measured cloud server temperature is defined as an arithmetic mean value of temperatures of different parts and/or components of the measured cloud server;
the cloud server temperature prediction model training data indexes comprise input data indexes and output data indexes;
the input data indicator includes any one or more of the following:
the number of CPU cores of the cloud server;
the cloud server uses the CPU core number;
the utilization rate of a CPU of the cloud server;
memory capacity of a cloud server;
the memory utilization rate of the cloud server;
current frequency of a cloud server CPU;
the cloud server inputs network flow;
the cloud server outputs network traffic;
the rotating speed of each fan of the cloud server;
the number of the virtual machines deployed by the cloud server is increased;
the output data index comprises any one of the following data or an arithmetic mean of any plurality of data:
actually measuring the inlet air temperature of the cloud server;
actually measuring the air outlet temperature of the cloud server;
actually measuring the temperature of a CPU of the cloud server;
and (4) actually measuring the GPU temperature of the cloud server.
10. The virtual machine migration planning scheduling system of claim 8, wherein the data preprocessing module (120) comprises:
an initial training data set preprocessing module (121): preprocessing an initial training data set;
a newly added training data set preprocessing module (122): preprocessing the newly added training data set;
the initial training data set preprocessing module (121) and the newly added training data set preprocessing module (122) both comprise:
data cleansing module (1201): if the value x 'of the sampled data item is obtained at the sampling instant t'tIs a vacancyA value, filling the vacancy value with a historical average of the data item;
normalization module (1202): for each data item, respectively recording the minimum value and the maximum value of the data item in the initial training data set as xmin、xmaxThe original value x of the data itemt' mapping to approximate in the interval [0,1 ]]New value x in (1)tThe formula is as follows:
Figure FDA0003004250840000091
the value x of the data item obtained after preprocessing each data item in the training sampletThe preprocessed training samples are combined to be used as the input of Bayesian linear regression initial training and Bayesian linear regression increment training in the temperature prediction model training module (130).
11. The virtual machine migration planning scheduling system according to claim 8, wherein the cloud server classification module (200) comprises:
dormant state cloud server classification module (201): classifying the cloud server in the dormant state as a dormant state cloud server; the dormant cloud server can be used as a host cloud server;
operating state cloud server classification module (202): classifying the cloud server in the running state into a cloud server in the running state;
the operating state cloud server classification module (202) comprises:
low-load cloud server classification module (20201): classifying cloud servers with the operating state cloud server node CPU utilization rate lower than a set first threshold value into low-load cloud servers;
alarm cloud server classification module (20202): classifying the cloud server meeting the alarm condition as an alarm cloud server, wherein the meeting of the alarm condition means that any one of the following conditions is met:
under a first condition, the utilization rate of a CPU (central processing unit) of a cloud server node is higher than a set second threshold value, wherein the second threshold value is larger than the first threshold value;
a second condition, wherein the current predicted temperature of the cloud server is higher than the server alarm temperature;
normal operating state cloud server classification module (20203): and classifying the cloud servers which do not belong to the low-load cloud server and the alarm cloud server in the operation state cloud server list into normal operation state cloud servers, wherein the normal operation state cloud servers can be used as host cloud servers.
12. The virtual machine migration planning scheduling system according to claim 8, wherein the virtual machine migration module (300) comprises:
cloud server temperature acquisition module (301): traversing a cloud server list of a cloud data center, and acquiring a cloud server temperature predicted value at the end time of a prediction period defined on a sampling period of each cloud server at the current time;
a virtual machine to be migrated acquisition module (302): traversing the low-load cloud servers, obtaining the virtual machines in each low-load cloud server as virtual machines to be migrated, and listing the virtual machines to be migrated in a virtual machine list to be migrated; traversing the alarm cloud servers to obtain a virtual machine with the highest migration priority in each alarm cloud server as a virtual machine to be migrated, and listing the virtual machine to be migrated in a virtual machine list to be migrated;
migration operation module (303): determining a target host cloud server of each virtual machine in the virtual machine list to be migrated according to the predicted temperature and the residual load capacity of each host cloud server, and completing virtual machine migration;
a flow end judgment module (304): judging whether the process is finished or not; if yes, ending the process; if not, triggering the cloud server temperature acquisition module (301) to enter the next virtual machine migration planning period, and continuing to acquire the cloud server predicted temperature.
13. The virtual machine migration planning scheduling system according to claim 12, wherein in the to-be-migrated virtual machine obtaining module (302), the virtual machine migration priority V is calculated by:
a user priority weight coefficient acquisition module (30201): obtaining a user level according to the monthly consumption amount or the annual consumption amount of the user; obtaining a user priority weighting coefficient R according to the user level; the user priority weighting coefficient R comprises a numerical value between 0 and 1;
a virtual machine constant migration load weight coefficient acquisition module (30202): acquiring the memory size P of a virtual machine; calculating average value P of memory sizes of all virtual machines in running state cloud serveravg(ii) a According to the memory size P of the virtual machine and the average value P of the memory sizes of all the virtual machines in all the running state cloud serversavgCalculating a constant migration load weight coefficient alpha of the virtual machine,
Figure FDA0003004250840000101
a virtual machine incremental migration load weight coefficient acquisition module (30203): acquiring a memory change rate S of a virtual machine in unit time; calculating the average value S of memory change rates of all virtual machines in all running state cloud servers in unit timeavg(ii) a According to the unit time memory change rate S of the virtual machine and the average value S of the unit time memory change rates of all the virtual machines in the running state cloud serveravgCalculating the weight coefficient beta of the incremental migration load of the virtual machine,
Figure FDA0003004250840000102
a migration priority acquisition module (30204) of the virtual machine: calculating the migration priority of the virtual machine according to the user priority weight coefficient, the virtual machine constant migration load weight coefficient and the virtual machine incremental migration load weight coefficient:
according to a migration priority calculation formula: v ═ R × (α + β), wherein,
Figure FDA0003004250840000103
Figure FDA0003004250840000104
then virtual machine migration priority
Figure FDA0003004250840000105
Wherein, R represents a user priority weighting coefficient, alpha represents a virtual machine constant migration load weighting coefficient, beta represents a virtual machine increment migration load weighting coefficient, P represents the memory size of the virtual machine, and P representsavgThe method includes the steps that the average memory size of all virtual machines in all running state cloud servers is represented, S represents the memory change rate of the virtual machines in unit time, and SavgThe average memory change rate per unit time of all the virtual machines in all the cloud servers in the running state is represented, a is an empirical parameter, and the value range is (0, 1)]。
14. The virtual machine migration planning scheduling system of claim 12 wherein the migration operation module (303) comprises:
a migration matching relationship assignment module (3031): traversing the virtual machines to be migrated in the virtual machine list to be migrated, and distributing target host cloud servers to the virtual machines to be migrated;
a migration matching relationship output module (3032): migrating the virtual machine to be migrated according to the matching relationship between the virtual machine to be migrated and the target host cloud server, which is established by the migration matching relationship allocation module (3031);
wherein the migration matching relationship assignment module (3031) comprises:
predicted temperature ranking module (303101): sorting the normally-running cloud servers from low to high according to the predicted temperature obtained by the cloud server temperature obtaining module (301) to obtain a sorted list of cloud servers to be selected;
virtual machine to be migrated traverse module (303102): traversing the virtual machine to be migrated in the virtual machine list to be migrated, and acquiring the next virtual machine in the virtual machine list to be migrated as the current virtual machine to be migrated;
a to-be-selected cloud server screening module (303103): according to the sequence of the list of the cloud servers to be selected after the predicted temperature sorting module (303101) sorts the list, allocating the cloud servers to be selected, which meet the following conditions, as target host cloud servers to the current virtual machine to be migrated:
the predicted temperature is less than the server alarm temperature threshold;
the number of the residual CPU cores is larger than the CPU core number requirement of the virtual machine to be migrated;
the amount of the residual unallocated memory is greater than the memory requirement of the virtual machine to be migrated;
dormant state cloud server wake-up module (303104): for the current virtual machine to be migrated, to which the target host cloud server is not allocated by the to-be-selected cloud server screening module (303103), listing a cloud server from the dormant state cloud server list, listing the cloud server in the normal operation state cloud server list, and allocating the cloud server as the current cloud server to be selected to the virtual machine to be migrated.
15. A computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of the virtual machine migration planning scheduling method of any of claims 1 to 7.
CN202011296139.7A 2020-07-30 2020-07-30 Virtual machine migration planning and scheduling method, system and medium thereof Active CN112395046B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011296139.7A CN112395046B (en) 2020-07-30 2020-07-30 Virtual machine migration planning and scheduling method, system and medium thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011296139.7A CN112395046B (en) 2020-07-30 2020-07-30 Virtual machine migration planning and scheduling method, system and medium thereof
CN202010748491.3A CN111625321B (en) 2020-07-30 2020-07-30 Virtual machine migration planning and scheduling method based on temperature prediction, system and medium thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202010748491.3A Division CN111625321B (en) 2020-07-30 2020-07-30 Virtual machine migration planning and scheduling method based on temperature prediction, system and medium thereof

Publications (2)

Publication Number Publication Date
CN112395046A CN112395046A (en) 2021-02-23
CN112395046B true CN112395046B (en) 2021-06-04

Family

ID=72258622

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011296139.7A Active CN112395046B (en) 2020-07-30 2020-07-30 Virtual machine migration planning and scheduling method, system and medium thereof
CN202010748491.3A Active CN111625321B (en) 2020-07-30 2020-07-30 Virtual machine migration planning and scheduling method based on temperature prediction, system and medium thereof

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010748491.3A Active CN111625321B (en) 2020-07-30 2020-07-30 Virtual machine migration planning and scheduling method based on temperature prediction, system and medium thereof

Country Status (1)

Country Link
CN (2) CN112395046B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112036504A (en) * 2020-09-15 2020-12-04 平安国际智慧城市科技股份有限公司 Temperature measurement model training method, device, equipment and storage medium
CN112231066B (en) * 2020-10-29 2024-02-13 北京思特奇信息技术股份有限公司 Optimization processing method and system based on JVM memory use
CN112379974A (en) * 2020-12-04 2021-02-19 海光信息技术股份有限公司 Virtual machine live migration system and live migration method thereof
US20220300324A1 (en) * 2021-03-19 2022-09-22 Mediatek Inc. Thermal-aware task scheduling
CN113342462B (en) * 2021-06-02 2022-03-15 燕山大学 Cloud computing optimization method, system and medium integrating limitation periodic quasi-dormancy
CN113534936B (en) * 2021-09-14 2021-12-17 苏州浪潮智能科技有限公司 Server fan rotating speed control method, device, equipment and medium
CN115167641B (en) * 2022-07-07 2023-06-20 凯德技术长沙股份有限公司 Inertial self-adaptive temperature control method and system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984588A (en) * 2014-02-21 2014-08-13 中国科学院计算技术研究所 Virtual machine migration method based on temperature and system thereof
CN106537354A (en) * 2014-07-22 2017-03-22 日本电气株式会社 Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program
CN106598733A (en) * 2016-12-08 2017-04-26 南京航空航天大学 Three-dimensional virtual resource scheduling method of cloud computing energy consumption key
CN107408062A (en) * 2015-03-27 2017-11-28 英特尔公司 For unloading the technology with the data of loading processing device/coprocessor arrangement
CN107748693A (en) * 2017-11-30 2018-03-02 成都启力慧源科技有限公司 Group's virtual machine scheduling policy under cloud computing environment
CN109375994A (en) * 2018-09-10 2019-02-22 西安交通大学 Data center's task temperature prediction and dispatching method based on RBF neural
CN109697108A (en) * 2018-12-19 2019-04-30 国云科技股份有限公司 A kind of multiple data centers dispatching method based on Cost Model
CN109992350A (en) * 2017-12-29 2019-07-09 北京华胜天成科技股份有限公司 The moving method and device of virtual machine in the resource pool of cloud computing system
CN110362388A (en) * 2018-04-11 2019-10-22 中移(苏州)软件技术有限公司 A kind of resource regulating method and device
CN110908783A (en) * 2019-11-09 2020-03-24 苏州浪潮智能科技有限公司 Management and control method, system and equipment for virtual machine of cloud data center
CN111124602A (en) * 2019-11-29 2020-05-08 苏州浪潮智能科技有限公司 BMC temperature-based virtual machine remote control method and device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096461B (en) * 2011-01-13 2013-06-19 浙江大学 Energy-saving method of cloud data center based on virtual machine migration and load perception integration
EP2852887A1 (en) * 2012-06-27 2015-04-01 Qatar Foundation An arrangement configured to allocate resources of a plurality of data storage media to a plurality virtual machines and associated method
CN104035542B (en) * 2014-05-28 2017-06-06 中国科学院计算技术研究所 A kind of virtual machine migration method and system calculated with energy consumption for cooling balance
CN108092836A (en) * 2016-11-21 2018-05-29 深圳市蓝希领地科技有限公司 The monitoring method and device of a kind of server
CN106972899A (en) * 2017-05-11 2017-07-21 同济大学 A kind of cooperative frequency spectrum sensing method excavated based on multi-user's history perception data
US10635475B2 (en) * 2017-05-11 2020-04-28 International Business Machines Corporation Migration-adjusted problem ticket analysis and consolidation
US10776149B2 (en) * 2018-07-25 2020-09-15 Vmware, Inc. Methods and apparatus to adjust energy requirements in a data center
CN110333991B (en) * 2019-05-30 2022-11-25 武汉科技大学 Method for predicting maximum resource utilization rate of cloud platform tasks

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984588A (en) * 2014-02-21 2014-08-13 中国科学院计算技术研究所 Virtual machine migration method based on temperature and system thereof
CN106537354A (en) * 2014-07-22 2017-03-22 日本电气株式会社 Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program
CN107408062A (en) * 2015-03-27 2017-11-28 英特尔公司 For unloading the technology with the data of loading processing device/coprocessor arrangement
CN106598733A (en) * 2016-12-08 2017-04-26 南京航空航天大学 Three-dimensional virtual resource scheduling method of cloud computing energy consumption key
CN107748693A (en) * 2017-11-30 2018-03-02 成都启力慧源科技有限公司 Group's virtual machine scheduling policy under cloud computing environment
CN109992350A (en) * 2017-12-29 2019-07-09 北京华胜天成科技股份有限公司 The moving method and device of virtual machine in the resource pool of cloud computing system
CN110362388A (en) * 2018-04-11 2019-10-22 中移(苏州)软件技术有限公司 A kind of resource regulating method and device
CN109375994A (en) * 2018-09-10 2019-02-22 西安交通大学 Data center's task temperature prediction and dispatching method based on RBF neural
CN109697108A (en) * 2018-12-19 2019-04-30 国云科技股份有限公司 A kind of multiple data centers dispatching method based on Cost Model
CN110908783A (en) * 2019-11-09 2020-03-24 苏州浪潮智能科技有限公司 Management and control method, system and equipment for virtual machine of cloud data center
CN111124602A (en) * 2019-11-29 2020-05-08 苏州浪潮智能科技有限公司 BMC temperature-based virtual machine remote control method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Virtual machine allocation and migration based on performance-to-power ratio in energy-efficient clouds";Xiaojun Ruan;《Future Generation Computer Systems》;20191130;第100卷;第380-394页 *
"可靠性感知的云服务供应机制研究";刘家磊;《中国博士学位论文全文数据库 信息科技辑》;20181015;第I139-13页 *

Also Published As

Publication number Publication date
CN111625321B (en) 2020-10-23
CN112395046A (en) 2021-02-23
CN111625321A (en) 2020-09-04

Similar Documents

Publication Publication Date Title
CN112395046B (en) Virtual machine migration planning and scheduling method, system and medium thereof
CN110096349B (en) Job scheduling method based on cluster node load state prediction
CN104317658B (en) A kind of loaded self-adaptive method for scheduling task based on MapReduce
Zhang et al. Slaq: quality-driven scheduling for distributed machine learning
Hu et al. Spear: Optimized dependency-aware task scheduling with deep reinforcement learning
Gagliolo et al. Learning dynamic algorithm portfolios
CN103729248B (en) A kind of method and apparatus of determination based on cache perception task to be migrated
CN103607459B (en) The dynamic resource monitoring of a kind of cloud computing platform IaaS layer and dispatching method
CN110389820B (en) Private cloud task scheduling method for resource prediction based on v-TGRU model
US20190243691A1 (en) Predictive model-based intelligent system for automatically scaling and managing provisioned computing resources
JP2017228086A (en) Machine learning management program, machine learning management method, and machine learning management device
CN108664378A (en) A kind of most short optimization method for executing the time of micro services
CN111274036B (en) Scheduling method of deep learning task based on speed prediction
Wang et al. Energy utilization task scheduling for mapreduce in heterogeneous clusters
CN106600058A (en) Prediction method for combinations of cloud manufacturing service quality of service (QoS)
CN112052081B (en) Task scheduling method and device and electronic equipment
CN112764893B (en) Data processing method and data processing system
CN115168027A (en) Calculation power resource measurement method based on deep reinforcement learning
Huang et al. Novel heuristic speculative execution strategies in heterogeneous distributed environments
Fei et al. Elastic resource provisioning using data clustering in cloud service platform
Dogani et al. K-agrued: a container autoscaling technique for cloud-based web applications in kubernetes using attention-based gru encoder-decoder
Chen et al. A fuzzy-neural approach for remaining cycle time estimation in a semiconductor manufacturing factory—a simulation study
Will et al. Ruya: Memory-aware iterative optimization of cluster configurations for big data processing
CN115934349A (en) Resource scheduling method, device, equipment and computer readable storage medium
Fan Intelligent Job Scheduling on High Performance Computing Systems

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