CN103327118A - 一种针对云计算中web应用的智能虚拟机集群缩放方法及系统 - Google Patents
一种针对云计算中web应用的智能虚拟机集群缩放方法及系统 Download PDFInfo
- Publication number
- CN103327118A CN103327118A CN2013102858402A CN201310285840A CN103327118A CN 103327118 A CN103327118 A CN 103327118A CN 2013102858402 A CN2013102858402 A CN 2013102858402A CN 201310285840 A CN201310285840 A CN 201310285840A CN 103327118 A CN103327118 A CN 103327118A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- cluster
- cluster virtual
- module
- response time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000008859 change Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明是一种针对云计算环境下web应用的智能虚拟机集群缩放方法及系统,所属技术领域是云计算。针对部署在基础设施即服务中的web应用,本发明解决了如何动态的根据用户并发请求数量的变化,通过选择不同数量和性能的虚拟机组合实现集群缩放的问题,达到满足系统响应时间的要求和最大化节约运营成本的目的。本发明提出的智能虚拟机集群缩放方法与系统,首先通过在线学习得到在不同并发请求数下最佳的虚拟机集群总体性能大小,同时将web应用的响应时间保持在规定值以下,然后找到在此总体性能下使得虚拟机集群使用费用最小的虚拟机集群缩放方案。
Description
技术领域
本发明涉及云计算和自动控制领域,尤其涉及针对部署在云计算环境中web应用的虚拟机集群缩放问题。
背景技术
云计算作为基于互联网的增加、使用和交付相关计算服务的新模式,近年来得到了极大的关注。基础设施即服务(Infrastructure as a Service,IaaS)是云计算的重要服务形式。IaaS将云计算服务商的硬件资源虚拟化后,通过互联网将该资源交付到用户手中。用户可以根据自己需求的变化,以即用即付的形式使用IaaS的资源。
由于用户并发请求随着时间动态变化,因此将web应用部署在传统硬件服务器上,需要准备冗余的资源使得在用户访问的最高峰时段保证系统的响应时间。目前的IaaS服务商,如亚马逊的EC2及微软的Windows Azure,为用户提供了多种不同性能和价格的虚拟机实例,并且越来越多的服务商支持虚拟机在线性能缩放(如Windows Azure)。因此通过将web应用部署在IaaS上,管理者可以根据并发请求数量的变化,来动态的进行虚拟机集群的缩放,以达到节约运营成本的目的。由于IaaS拥有这样的弹性(Elasticity)特性,所以越来越多的企业将web应用部署在IaaS中,以提升web服务的伸缩性和可用性。
如何实时的选择不同数量和性能的虚拟机组合成集群,既满足访问量的变化,同时又最大化的节省运营成本,是解决虚拟机集群缩放问题的主要目标。当访问量发生变化时,人工调整虚拟机的方法很难及时地做出反应,并且同时选择最节约的虚拟机组合。目前解决该问题的自动控制方法主要是对特定应用的用户访问量变化趋势建立模型,然后使用该模型预测下一时刻的访问量,根据预测值选择虚拟机。这种方法的缺点在于,如果用户访问量的变化是无规律的,那么就无法建立适当的模型,同时针对一种应用建立的访问量模型,很难应用在其他类型的web应用中,因此这种方法的局限性较大。
为了解决现有技术中存在的问题,本发明提出了一种新的智能虚拟机集群缩放方法及系统(IntelligentVirtual Machine Scaling System,IVMS)。本方法不需要建立系统和访问量变化的模型,而是通过在线学习的方法,找到在不同用户访问量下最优的虚拟机组合,既满足系统性能的要求,同时又最大化的节约虚拟机的使用成本。
发明内容
本发明解决的技术问题是:针对部署在IaaS上的web应用,如何实时的选择虚拟机的数量和性能,达到既满足对系统性能的要求,又最大化的节省运营成本。web应用中“服务等级协仪(Service LevelAgreement,SLA)”规定的响应时间表示为ressla,在t时刻的web应用的并发请求数量(ConcurrentRequest,CR)为CR,系统实际响应时间为res。我们注意到当前IaaS服务商提供给用户的不同内存大小和处理能力的虚拟机,是以计算单元来划分的,如亚马逊的EC2,其小型实例拥有1.7G内存及1个EC2计算单元,而其中型实例拥有3.4G内存及2个EC2计算单元,并以此类推。这表示一个虚拟机实例的性能可以用其计算单元的数量p来表示。因此虚拟机集群当前的状态可以表示为向量{p1,p2,...,pn}(其中n为虚拟机集群中虚拟机数量最大值),称之为虚拟机集群缩放方案(Virtual Machine Scaling Scheme,VMSS)。同时,虚拟机集群当前的总体性能可以用其所有虚拟机的计算单元之和表示,即
argminC使得res≤ressla (2)
为了解决上述问题,本发明提出了智能虚拟机集群缩放方法及系统(IVMS)。IVMS进行虚拟机集群缩放的过程由两个主要阶段组成:
(1)首先根据当前的并发请求数cu确定对虚拟机集群总体性能TP的调整值,使得系统的响应时间保持在SLA规定范围内(res≤ressla)。
(2)根据第一阶段中确定的TP值,获得使得费用最小化的新的VMSS,而后控制具体虚拟机性能缩放,进行开启和关闭等操作。
在第一阶段中,IVMS使用K最邻近结点算法(k-Nearest Neighbor algorithm,KNN)来确定在当前CR下,使得res≤ressla的TP值。KNN是机器学习中常用的分类算法,其基本思想是如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。这里IVMS使用在运行过程中采集的CR,TP及对应的响应时间res,作为样本,对KNN分类器进行训练。样本的输入为CR,TP,输出为res。通过一定数量的样本训练后,KNN分类器可以用来估计在当前CR下,不同的TP对应的响应时间res,进而找到在使得res≤ressla的TP值。本阶段的算法由图1具体表示。
在第二阶段中,由于每一种虚拟机的价格和性能是已知的,IVMS可以根据第一阶段得到新的虚拟机集群TP,通过选择最小化虚拟机使用费用的虚拟机性能缩放方案VMSS。假设IasS服务商提供给用户使用的虚拟机类型有m种,即p∈[0,m](其中0表示该虚拟机处于关闭状态)。同时,拥有不同数量的虚拟机的对应的价格可表示为{c1,c2,...,cm},集群中拥有个k处理单元的虚拟机(p=k)的个数表示为xk,则在本阶段中的问题可以表述为:
如式(3)所示,可以使用线性规划(Linear Programming,LP)方法来解决上述问题。经过LP方法的运算,IVMS可以得出满足条件的VMSS,而后根据该VMSS,向IaaS请求对各个虚拟性能的调整。
附图说明
附图说明用于提供对本发明技术方案的进一步理解,并构成说明书的一部分,与本发明的实施一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。附图说明如下:
图1为本发明中IVMS第一阶段使用算法的具体表述,其中相关变量的名称解释参考上一章节。
图2为本发明中实现本发明提出的智能虚拟机集群缩放方法IVMS的系统结构图。
图3为本发明中智能虚拟机集群缩放方法IVMS的流程示意图。
具体实施方式
以下将结合附图来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决问题,并达成技术效果的实现过程能充分理解并据以实施。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的不同计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
首先,本部分将结合图2来说明应用本发明的系统结构。根据本发明的应用场合,首先将传统的web集群部署在IaaS上。硬件实现的服务器设备由IaaS提供的虚拟机来代替。本发明的智能虚拟机集群缩放系统IVMS运行在web应用与虚拟机集群之间,负责为web应用选择适当的虚拟机组合,以适应web用户变化的访问量,并且达到节约虚拟机使用成本的效用。
下面将结合图3来示出本方法执行的具体流程。
步骤一、采集数据:在t时刻,采集当前的并发访问数CR,实际响应时间res和当前集群的虚拟机缩放方案VMSScurrent。
步骤二、决定TP:使用(1)式计算TPcurrent,而后使用CR,TP及res作为样本,训练KNN分类器。使用KNN分类器找到在当前CR下的TPnew值使得res≤ressla。
步骤三、决定VMSS:根据步骤二中得到的TPnew,使用线性规划算法,根据(3)得到适合的VMSSnew。
步骤四、执行VMSS:IVMS根据步骤三中的VMSSnew,向IaaS请求对各个虚拟性能的调整。等待Δt时间,t=t+1,执行步骤一。
本领域的技术人员应该明白,上述的本发明的系统结构和各个步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将他们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所示出和描述的实施方式如上,但是所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上以及细节上做任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (5)
1.一种针对云计算中web应用的虚拟机集群缩放方法及系统,其特征是包含以下主要步骤:
步骤一、采集web系统当前的响应时间以及当前各个虚拟机的状态;
步骤二、通过KNN算法,获得在不同并发请求下、满足响应时间要求的虚拟机总体性能;
步骤三、根据步骤二中的虚拟机总体性能,使用线性规划得到使得虚拟机集群费用最小的虚拟机缩放方案;
步骤四、IaaS平台根据步骤四中的结果,选择对应的虚拟机组合。等待一定时间后,转至步骤一。
2.权利要求1所述方法的步骤二的特征在于,基于IaaS的特点,可以用虚拟机集群的计算单元数量TP来表示集群的总体性能。因此用当前的并发请求数CU,TP及响应时间res作为训练样本,对KNN分类器进行训练,找到在当前CR下的TPnew值使得res在SLA规定范围之内。
3.权利要求1所述虚拟机集群缩放方法的步骤三的特征在于,使用线性规划算法,在满足步骤二中得出的总体性能的基础上,选择费用最少的虚拟机缩放方案。
4.一种根据权利要求1中所述虚拟机集群缩放方法实现的针对云计算环境下web应用的虚拟机集群缩放系统,其特征在于:在web应用与IaaS服务之间加入了智能虚拟机集群缩放系统,该系统是权利要求1中所述方法的具体实现。
5.根据权利要求4中所述的系统,其特征在于包括以下模块。
(1)数据采集模块,用于采集当前web系统响应时间和虚拟机集群的状态。
(2)KNN算法模块,该模块运行权利要求1所述虚拟机集群缩放方法的步骤二中的算法,用于获得适应当前用户访问量的虚拟机集群总体性能。
(3)线性规划算法模块,该模块运行权利要求1所述虚拟机集群缩放方法的步骤三中的算法,根据虚拟机集群的总体性能,获得对虚拟机集群的缩放方案。
(4)执行模块,该模块执行权利要求1所述虚拟机集群缩放方法的步骤三中获得的虚拟机集群缩放方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310285840.2A CN103327118B (zh) | 2013-07-09 | 2013-07-09 | 一种针对云计算中web应用的智能虚拟机集群缩放方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310285840.2A CN103327118B (zh) | 2013-07-09 | 2013-07-09 | 一种针对云计算中web应用的智能虚拟机集群缩放方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103327118A true CN103327118A (zh) | 2013-09-25 |
CN103327118B CN103327118B (zh) | 2016-10-05 |
Family
ID=49195639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310285840.2A Active CN103327118B (zh) | 2013-07-09 | 2013-07-09 | 一种针对云计算中web应用的智能虚拟机集群缩放方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103327118B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103842955A (zh) * | 2013-11-28 | 2014-06-04 | 华为技术有限公司 | 一种业务流量控制方法、装置和系统 |
CN105260232A (zh) * | 2015-11-06 | 2016-01-20 | 武汉纺织大学 | 一种实现云计算虚拟机内部资源优化配置的方法及系统 |
CN106027685A (zh) * | 2016-08-02 | 2016-10-12 | 合肥奇也信息科技有限公司 | 一种基于云计算机系统的高峰访问的方法 |
CN106230944A (zh) * | 2016-08-02 | 2016-12-14 | 合肥奇也信息科技有限公司 | 一种基于云计算机系统的高峰访问的运行装置 |
CN108491226A (zh) * | 2018-02-05 | 2018-09-04 | 西安电子科技大学 | 基于集群缩放的Spark配置参数自动调优方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296434B1 (en) * | 2009-05-28 | 2012-10-23 | Amazon Technologies, Inc. | Providing dynamically scaling computing load balancing |
CN103002005A (zh) * | 2011-09-07 | 2013-03-27 | 埃森哲环球服务有限公司 | 云服务监测系统 |
CN103152389A (zh) * | 2013-02-01 | 2013-06-12 | 华南师范大学 | 应用于云计算机系统中应对高峰访问的方法和装置 |
-
2013
- 2013-07-09 CN CN201310285840.2A patent/CN103327118B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296434B1 (en) * | 2009-05-28 | 2012-10-23 | Amazon Technologies, Inc. | Providing dynamically scaling computing load balancing |
CN103002005A (zh) * | 2011-09-07 | 2013-03-27 | 埃森哲环球服务有限公司 | 云服务监测系统 |
CN103152389A (zh) * | 2013-02-01 | 2013-06-12 | 华南师范大学 | 应用于云计算机系统中应对高峰访问的方法和装置 |
Non-Patent Citations (1)
Title |
---|
BRIAN DOUGHERTY等: "《Model-driven Configuration of Green Cloud Computing Auto-scaling Infrastructure》", 《FUTURE GENERATION COMPUTER SYSTEMS》, 9 May 2011 (2011-05-09) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103842955A (zh) * | 2013-11-28 | 2014-06-04 | 华为技术有限公司 | 一种业务流量控制方法、装置和系统 |
CN103842955B (zh) * | 2013-11-28 | 2016-08-31 | 华为技术有限公司 | 一种业务流量控制方法、装置和系统 |
CN105260232A (zh) * | 2015-11-06 | 2016-01-20 | 武汉纺织大学 | 一种实现云计算虚拟机内部资源优化配置的方法及系统 |
CN105260232B (zh) * | 2015-11-06 | 2018-06-26 | 武汉纺织大学 | 一种实现云计算虚拟机内部资源优化配置的方法及系统 |
CN106027685A (zh) * | 2016-08-02 | 2016-10-12 | 合肥奇也信息科技有限公司 | 一种基于云计算机系统的高峰访问的方法 |
CN106230944A (zh) * | 2016-08-02 | 2016-12-14 | 合肥奇也信息科技有限公司 | 一种基于云计算机系统的高峰访问的运行装置 |
CN108491226A (zh) * | 2018-02-05 | 2018-09-04 | 西安电子科技大学 | 基于集群缩放的Spark配置参数自动调优方法 |
CN108491226B (zh) * | 2018-02-05 | 2021-03-23 | 西安电子科技大学 | 基于集群缩放的Spark配置参数自动调优方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103327118B (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Prem Jacob et al. | A multi-objective optimal task scheduling in cloud environment using cuckoo particle swarm optimization | |
Dabbagh et al. | Energy-efficient resource allocation and provisioning framework for cloud data centers | |
JP6457447B2 (ja) | データセンターのネットワークトラフィックスケジューリング方法及び装置 | |
Chen et al. | Effective VM sizing in virtualized data centers | |
CN106164864B (zh) | 服务的预测负载伸缩 | |
CN103210382B (zh) | 基于总线装置健康信息和相关功率管理而仲裁通信总线上的总线事务 | |
CN103327118A (zh) | 一种针对云计算中web应用的智能虚拟机集群缩放方法及系统 | |
US20150161257A1 (en) | Web crawler optimization system | |
WO2016113153A1 (en) | Distributed map reduce network | |
US8321873B2 (en) | System and method for offline data generation for online system analysis | |
CN104915407A (zh) | 一种基于Hadoop多作业环境下的资源调度方法 | |
US10972555B2 (en) | Function based dynamic traffic management for network services | |
US9184982B2 (en) | Balancing the allocation of virtual machines in cloud systems | |
CN108762885B (zh) | 一种虚拟机创建方法、装置、管理设备及终端设备 | |
CN103491024A (zh) | 一种面向流式数据的作业调度方法及装置 | |
CN104503831A (zh) | 设备优化方法及装置 | |
Zeng et al. | Cost minimization for big data processing in geo-distributed data centers | |
CN104601486A (zh) | 一种网络流量的分流方法和装置 | |
Luo et al. | Improving performance by network-aware virtual machine clustering and consolidation | |
Shastri et al. | Cloud index tracking: Enabling predictable costs in cloud spot markets | |
Ali et al. | Proactive vnf scaling and placement in 5g o-ran using ml | |
Ghebleh et al. | A multi-criteria method for resource discovery in distributed systems using deductive fuzzy system | |
Ibrahim et al. | Improving mapreduce performance with progress and feedback based speculative execution | |
CN114866544B (zh) | 云边环境中面向cpu异构集群的容器化微服务负载均衡方法 | |
CN109934468A (zh) | 一种兼职工作匹配方法及系统、存储介质 |
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 |