CN103365727B - 一种云计算环境中的主机负载预测方法 - Google Patents
一种云计算环境中的主机负载预测方法 Download PDFInfo
- Publication number
- CN103365727B CN103365727B CN201310285843.6A CN201310285843A CN103365727B CN 103365727 B CN103365727 B CN 103365727B CN 201310285843 A CN201310285843 A CN 201310285843A CN 103365727 B CN103365727 B CN 103365727B
- Authority
- CN
- China
- Prior art keywords
- load
- data
- chromosome
- host
- module
- 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
Links
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明是一种针对云计算中心主机的负载预测方法,属于云计算领域。本发明解决的问题是:针对云计算中心的主机上运行着属于不同用户的虚拟机,主机负载变化更加复杂,如何准确的预测主机负载,从而能够进一步调度虚拟机,实现负载均衡和降低能耗的目的。本发明的算法核心部分在于将混沌理论中的相空间重构的方法与基于遗传算法的数据分组处理算法相结合。通过与目前一些已经存在的方法进行比较,本发明提出的方法能够得到更小的相对误差。而且,本发明所提出的方法在预测时间长度变大的情况下,相比于传统方法,减少了预测的累积误差。
Description
技术领域
本发明主要针对云计算环境中的主机调度和负载均衡问题,提出了一种预测主机负载的方法。
背景技术
云计算是一种通过互联网以服务的方式提供动态可伸缩的虚拟化的资源计算模式。对云服务的提供者而言,各种底层资源(计算、存储、网络等)被统一管理和调度,成为所谓的“资源池”,从而为用户提供服务;而对于用户而言,这些资源是透明的,用户无须了解云计算中心的内部结构,只关心自己的需求是否得到满足。
对于云服务提供者而言,将资源集中起来统一管理可以有效的提高资源的利用率,但是由于云计算中心各种底层资源的异构性以及各个用户应用程序的不同,资源的合理调度和负载均衡成为一个具有挑战性的问题。一种有效的提高资源利用率的方法就是进行虚拟机的调度,即根据主机的负载情况进行虚拟机的迁移。当某台主机的负载超过一定值时,运行在该主机上的虚拟机的性能必然受到影响,因此此时选择将此主机上的一些虚拟机迁移到其他空闲主机上,从而减轻主机的负载;当某些主机上的负载低于一定值时,说明这些主机处于空闲状态,可以将这些主机上的虚拟机合并到其他主机上,然后关闭那些不用的主机,从而达到降低能耗的目的。
然而,由于进行虚拟机的在线迁移需要一定的时间,如果在主机的过载时再进行迁移必然会导致用户的虚拟机的性能下降。因此,需要对主机的负载进行预测,从而提前进行虚拟机的迁移以保证服务水平协议(Service Level Agreement,SLA)。目前对主机负载进行预测的方法主要是自回归模型(Auto-Regression,AR)以及局部线性回归(LocalLinear Regression)。这些方法的缺点在于主机负载的变化一般是非线性的,用线性的方法很难对主机的负载进行预测,当主机的负载变化剧烈时,预测值与实际值之间会有很大的偏差。
本文提出了一种将相空间重构(Phase Space Reconstruction,PSR)与基于遗传算法的数据分组处理方法(Group Method of Data Handling based on EvolutionaryAlgorithm,EA-GMDH)相结合的主机负载预测算法,能够准确的对主机的负载进行预测。
发明内容
本发明的目的:针对云计算数据中心的资源调度和负载均衡等问题,提出了一种主机负载预测的方法,能够对云计算中心中主机的负载进行预测,根据预测结果进行虚拟机的调度,以达到资源的合理利用以及降低数据中心能耗等目的。云计算实际上是一种资源集中管理的方式,每个用户都可以根据自己的应用需要申请不同的虚拟机使用。因此,在云计算中心的主机上运行着不同应用的虚拟机,这使得主机负载预测的难度大幅增加。
针对现有技术中存在的问题,本发明提出了一种新的主机负载预测方法,能够有效的对未来一段时间内的主机负载进行预测,整个系统由以下两个主要模块组成:
模块一、由于主机负载是单元时间序列,为了还原整个动力系统以便于我们进行负载预测,我们采用了相空间重构(Phase Space Reconstruction,PSR)的方法将单元时间变量变成多维时间变量。
模块二、主机负载预测算法采用基于遗传算法的数据分组处理方法(GroupMethod of Data Handlingbased on Evolutionary Algorithm,EA-GMDH),将模块一中得到的多元时间变量作为算法的输入,然后通过学习的方法学习到一个EA-GMDH模型,利用学习到的模型进行负载的预测。
对于模块一,假设原来的负载数据是根据Packard和Takens等人提出的延迟坐标法对负载数据进行相空间重构,计算出嵌入维m和时延τ,然后重构出多元时间变量Yj=(Xj,Xj+τ,Xj+2τ,...,Xj+(m-1)τ),其中m为嵌入维,τ为时延。在本方法中,重构得到的多元时间序列Xi=(xT-H-1-(i-1)τ,...,xT-(i-1)τ),i=1,2,...m,T是预测点,H为预测的时间长度。为了预测在未来一段时间内的负载Y,我们利用模块二的学习算法得到一个映射fT,使得Y=fT(X)。
将模块一得到的多元时间序列作为模块二EA-GMDH网络的输入,采用监督学习的方法学到一个较好的模型,然后利用该模型进行负载预测。GMDH方法本质是一个自组织的前馈神经网络,在预测领域有着广泛的应用。本系统采用了将遗传算法(GA)与GMDH方法相结合的方式,避免了普通GMDH方法中每个节点只能有两个输入以及每个节点的输入只能是相邻节点等限制,而且加入遗传算法也可以使得算法的收敛速度变快,减少了算法运行的时间。在EA-GMDH算法中,每个染色体代表了一个EA-GMDH网络架构,整个染色体由3个部分组成,第一个部分代表了每个节点的输入变量个数,第二部分代表每个节点的多项式类型,第三个部分代表了每个节点具体有哪些输入变量。图1中展示了一个EA-GMDH网络的架构,其对应的染色体为{2,4,2,3,3,4,2,2,3,3,2,1,3,2,4,3,1,3,2,4,6,7,1,8,9,1,6}。每个节点的系数通过最小化最小均方误差得到,其中最小均方误差表示为
Ntr表示训练集的大小,yi是负载的真实值,是负载的预测值。利用训练集的数据,我们可以得到一组线性方程XC=Y,每个节点的系数可以通过解这组线性方程得到,即
C=(XTX)-1XTY,
对于每个染色体,我们定义了一个评价函数来评估该染色体的优劣,从而决定该染色体在下一次迭代中是否该保留。评价函数的具体形式为:
Nva表示测试集的大小,Wi是权重函数,用来表示测试集中每个数据所占权重的大小,Wi的定义为
Di是测试集中第i个数据的输入变量与预测集的输入变量之间的欧式距离。根据遗传算法的特点,为了增加种群的多样性,我们还需要加入交叉和变异操作。对于染色体的第一和第二部分,交叉操作的具体做法是随机选择一个交叉点,将两个染色体交叉点后面的部分互换,第三部分根据第一和第二部分的变化而变化。变异操作与交叉操作类似。交叉操作和变异操作的具体过程如图2所示。经过预定次数的迭代后我们会得到最佳的染色体,这个染色体所代表的架构就是我们进行负载预测时所采用的EA-GMDH网络架构。
利用学习到的EA-GMDH模型,我们就可以对负载的变化情况进行预测。
附图说明
附图说明用于提供对本发明技术方案的进一步理解,并构成说明书的一部分,与本发明的实施一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。附图说明如下:
图1为本系统中一个具体的EA-GMDH架构图。
图2为算法运行中染色体的交叉与变异操作的具体过程。
具体实施方式
以下将结合附图来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决问题,并达成技术效果的实现过程能充分理解并据以实施。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的不同计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面具体说明算法的执行过程。
步骤一、数据采集。采集前n天主机负载的历史数据。利用主机上的CPU检测工具每隔5分钟获取CPU的负载数据。将采集到的数据集分为训练集(TrainingSet)、验证集(ValidationSet),以及预测集(PredictionSet),其中训练集用来训练得到EA-GMDH网络,验证集用来评估学到模型的优劣,预测集则利用该模型对负载进行预测。
步骤二、相空间重构。利用相空间重构的方法对训练集、验证集和预测集进行相空间重构,得到多元时间序列Yj=(Xj,Xj+τ,Xj+2τ,...,Xj+(m-1)τ),其中m为嵌入维,τ为时延。在本系统中,多元时间序列为Xi=(xT-H-1-(i-1)τ,...,xT-(i-1)τ),i=1,2,...m,其中T是预测点,H为预测的时间长度。
步骤三、基于遗传算法的数据分组处理。利用训练集计算EA-GMDH模型(图1)的系数,并用验证集的数据评估模型的好坏,通过遗传算法的交叉和变异操作(图2)进行得到更多的染色体,从而进行迭代直到找到合适的模型或者到达预定的迭代次数。
步骤四、负载预测。将预测集上重构的多元时间序列作为步骤三中得到的模型的输入,利用该模型对主机的负载情况进行预测,从而得到CPU负载的变化情况。
本领域的技术人员应该明白,上述的本发明的系统结构和各个步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将他们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所示出和描述的实施方式如上,但是所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上以及细节上做任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (3)
1.一种针对云计算中主机负载预测的方法,其特征在于,包含以下步骤:
步骤一、采集前n天的历史数据,并将采集到的数据集分为训练集和验证集,需要预测的数据集为预测集;
步骤二、利用相空间重构的方法对训练集、验证集和预测集进行相空间重构;
假设原来的负载数据是根据Packard和Takens提出的延迟坐标法对负载数据进行相空间重构,得到多元时间变量Yj=(Xj,Xj+τ,Xj+2τ,...,Xj+(m-1)τ),其中m为嵌入维,τ为时延;重构得到的多元时间序列为Xi=(xT-H-1-(i-1)τ,...,xT-(i-1)τ),i=1,2,...m,其中T是预测点,H为预测的时间长度;
步骤三、利用训练集计算EA-GMDH模型的系数,并用验证集的数据评估模型的好坏;将得到的多元时间序列作为EA-GMDH网络的输入,经过整个网络的运算后得到最终的负载变化情况;利用训练集的数据,得到一组线性方程XC=Y,每个节点的系数可以通过解这组线性方程得到,即C=(XTX)-1XTY;
在EA-GMDH算法中,每个染色体代表了一个EA-GMDH网络架构,整个染色体由3个部分组成,第一个部分代表了每个节点的输入变量个数,第二部分代表每个节点的多项式类型,第三个部分代表了每个节点具体的输入变量;
对于每个染色体,定义了一个评价函数来评估该染色体的优劣,从而决定该染色体在下一次迭代中是否该保留;评价函数的具体形式为:Nva表示测试集的大小,Wi是权重函数,用来表示测试集中每个数据所占权重的大小,Wi的定义为Di是测试集中第i个数据的输入变量与预测集的输入变量之间的欧氏距离;
还需要加入交叉和变异操作;对于染色体的第一和第二部分,交叉操作的具体做法是随机选择一个交叉点,将两个染色体交叉点后面的部分互换,第三部分根据第一和第二部分的变化而变化;变异操作与交叉操作类似;经过预定次数的迭代后会得到最佳的染色体,这个染色体所代表的架构就是进行负载预测时所采用的EA-GMDH网络架构;
步骤四、利用步骤三中得到的模型对预测集的数据进行预测,从而得到最终的负载。
2.一种根据权利要求1中所述方法实现的针对云环境中主机负载预测的系统,其特征在于,采用通用的计算装置实现,能够对虚拟机的负载进行预测从而在主机过载前进行虚拟机的调度,以保证服务水平协议(Service Level Agreement,SLA),该系统是权利要求1中所述方法的具体实现。
3.根据权利要求2所述的系统,其特征在于,包括以下模块:
(1)数据采集模块,用于采集主机负载的历史情况;
(2)相空间重构模块,该模块运行权利要求1所述方法的步骤二中的算法,用于将单元时间变量变成多元时间变量,作为EA-GMDH网络的输入;
(3)基于遗传算法的数据分组处理模块,该模块运行权利要求1所述方法的步骤三中的算法,利用训练集和验证集得到一个合适的预测模型;
(4)预测模块,该模块利用得到的模型进行主机负载预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310285843.6A CN103365727B (zh) | 2013-07-09 | 2013-07-09 | 一种云计算环境中的主机负载预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310285843.6A CN103365727B (zh) | 2013-07-09 | 2013-07-09 | 一种云计算环境中的主机负载预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103365727A CN103365727A (zh) | 2013-10-23 |
CN103365727B true CN103365727B (zh) | 2017-02-15 |
Family
ID=49367147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310285843.6A Active CN103365727B (zh) | 2013-07-09 | 2013-07-09 | 一种云计算环境中的主机负载预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103365727B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559089B (zh) * | 2013-10-30 | 2016-06-08 | 南京邮电大学 | 一种基于服务等级协议约束的虚拟机需求预测实现方法 |
CN103873569B (zh) * | 2014-03-05 | 2017-04-19 | 兰雨晴 | 一种基于IaaS云平台的资源优化部署方法 |
CN104333569A (zh) * | 2014-09-23 | 2015-02-04 | 同济大学 | 基于用户满意度的云任务调度算法 |
CN104573864A (zh) * | 2015-01-08 | 2015-04-29 | 浪潮软件集团有限公司 | 一种基于自回归预测的数据分析报警方法 |
CN104954185B (zh) * | 2015-06-09 | 2018-08-28 | 青岛邃智信息科技有限公司 | 一种基于深度置信网的云计算负载预测方法 |
CN105373432B (zh) * | 2015-11-06 | 2019-05-14 | 北京系统工程研究所 | 一种基于虚拟资源状态预测的云计算资源调度方法 |
CN106502799A (zh) * | 2016-12-30 | 2017-03-15 | 南京大学 | 一种基于长短时记忆网络的主机负载预测方法 |
CN108415876B (zh) * | 2017-02-28 | 2020-01-07 | 杭州龙席网络科技股份有限公司 | 一种动态计算装置 |
CN108595301B (zh) * | 2018-03-26 | 2021-03-26 | 中国科学院计算技术研究所 | 一种基于机器学习的服务器能耗预测方法和系统 |
CN108881432A (zh) * | 2018-06-15 | 2018-11-23 | 广东省城乡规划设计研究院 | 基于ga算法的云计算集群负载调度方法 |
CN108845886B (zh) * | 2018-07-27 | 2022-03-08 | 中南大学 | 基于相空间的云计算能耗优化方法和系统 |
CN109522093A (zh) * | 2018-11-16 | 2019-03-26 | 国家电网有限公司 | 电力云虚拟机负载预测方法 |
CN113051130B (zh) * | 2021-03-19 | 2023-05-02 | 南京航空航天大学 | 结合注意力机制的lstm网络的移动云负载预测方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1523844A (zh) * | 2003-02-20 | 2004-08-25 | 国际商业机器公司 | 用于在计算网格中创建服务实例的方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8359223B2 (en) * | 2010-07-20 | 2013-01-22 | Nec Laboratories America, Inc. | Intelligent management of virtualized resources for cloud database systems |
US8826277B2 (en) * | 2011-11-29 | 2014-09-02 | International Business Machines Corporation | Cloud provisioning accelerator |
US8756609B2 (en) * | 2011-12-30 | 2014-06-17 | International Business Machines Corporation | Dynamically scaling multi-tier applications vertically and horizontally in a cloud environment |
-
2013
- 2013-07-09 CN CN201310285843.6A patent/CN103365727B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1523844A (zh) * | 2003-02-20 | 2004-08-25 | 国际商业机器公司 | 用于在计算网格中创建服务实例的方法和系统 |
Non-Patent Citations (3)
Title |
---|
Evolutionary design of generalized polynomial neural networks for modelling and prediction of explosive forming process;N. Nariman-Zadeh 等;《Journal of Materials Processing Tech》;20051231;第164卷;第1561-1571页 * |
基于相空间重构的GMDH方法在复杂机械系统状态预测中的应用;石博强 等;《北京科技大学学报》;19991225;第21卷(第6期);第577-579页 * |
数据处理组合方法在电力负荷预测中的应用;周晓华 等;《供用电》;20070815;第24卷(第4期);第12-14页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103365727A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103365727B (zh) | 一种云计算环境中的主机负载预测方法 | |
CN103677958B (zh) | 一种虚拟化集群的资源调度方法及装置 | |
CN110389820B (zh) | 一种基于v-TGRU模型进行资源预测的私有云任务调度方法 | |
US9239734B2 (en) | Scheduling method and system, computing grid, and corresponding computer-program product | |
CN105373432B (zh) | 一种基于虚拟资源状态预测的云计算资源调度方法 | |
CN103425536B (zh) | 一种面向分布式系统性能测试的测试资源管理方法 | |
CN103678004A (zh) | 一种基于非监督特征学习的主机负载预测方法 | |
Dong et al. | A high-efficient joint’cloud-edge’aware strategy for task deployment and load balancing | |
Xu et al. | Laser: A deep learning approach for speculative execution and replication of deadline-critical jobs in cloud | |
Kulshrestha et al. | An efficient host overload detection algorithm for cloud data center based on exponential weighted moving average | |
Cheng et al. | GRU-ES: Resource usage prediction of cloud workloads using a novel hybrid method | |
Dubey et al. | A hybrid multi-faceted task scheduling algorithm for cloud computing environment | |
Zhao et al. | Large-scale machine learning cluster scheduling via multi-agent graph reinforcement learning | |
Li et al. | Improved LSTM-based prediction method for highly variable workload and resources in clouds | |
Zhu et al. | A priority-aware scheduling framework for heterogeneous workloads in container-based cloud | |
CN108132840A (zh) | 一种分布式系统中的资源调度方法及装置 | |
Mazidi et al. | An autonomic decision tree‐based and deadline‐constraint resource provisioning in cloud applications | |
Akoglu et al. | Putting data science pipelines on the edge | |
Gao et al. | Concurrency optimized task scheduling for workflows in cloud | |
CN110163255A (zh) | 一种基于密度峰值的数据流聚类方法及装置 | |
Yang et al. | Trust-based scheduling strategy for cloud workflow applications | |
CN108540407A (zh) | 一种大数据平台中Spark Streaming接收器动态配置方法及装置 | |
Yu | [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment | |
Prado et al. | On providing quality of service in grid computing through multi-objective swarm-based knowledge acquisition in fuzzy schedulers | |
KR20160044623A (ko) | 리눅스 가상 서버의 로드 밸런싱 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |