云计算系统虚拟机内存资源预留方法*
2016-11-28阚运奇刘宏伟左德承
阚运奇,刘宏伟,左德承,张 展
(1. 哈尔滨工业大学 计算机科学与技术学院, 黑龙江 哈尔滨 150001;2. 东北电力大学 信息工程学院, 吉林 吉林 132400)
云计算系统虚拟机内存资源预留方法*
阚运奇1,2,刘宏伟1,左德承1,张 展1
(1. 哈尔滨工业大学 计算机科学与技术学院, 黑龙江 哈尔滨 150001;2. 东北电力大学 信息工程学院, 吉林 吉林 132400)
为降低消费者租借云计算系统资源的开销,提出了成本约束的内存预留随机整数线性规划模型及方法。结合预留计划和按需计划的内存资源价格,设计包含成本及资源总量约束条件的随机开销函数,并以函数期望值最小化为目标,基于内存消耗量概率分布求出优化的内存预留量。试验表明,消费者利用该方法租借资源的开销比利用预留计划、按需计划及同类方法租借资源的开销更小。
云计算;虚拟机;内存资源预留;成本优化
云计算是一种大规模的分布式计算模式[1],按使用量付费,这种模式提供可用的、便捷的、按需的网络访问,云提供商将CPU、内存、硬盘等复合资源整合到虚拟机(Virtual Machine, VM),并通过资源配置机制租借给消费者[2]。但多数云服务提供商提供的虚拟机型号有限且规格固定,即每个类型的虚拟机包含的资源量是固定的,而不同的消费者对各类资源需求各异,规格固定、型号有限的虚拟机无法满足各类消费者的需求,这将导致消费者无法充分地利用虚拟机各项资源,造成资源浪费及成本增加,尤其是价格较高的CPU、内存等资源。
另外,包括Amazon EC2[3-4]、Go Grid[5]和阿里云平台等在内的云计算系统向消费者提供的虚拟机租借方案有多种,其中两个主要的租借方案是:短期按需计划和长期预留计划。一般来说,按需计划是指云计算提供商按消费者需求提供资源的计划,并按资源使用时间收费。采用按需计划的消费者可以灵活地申请和退订资源,但资源的单价较高。预留计划是指消费者长期租借定量的资源并预付费用,如1年期,计费标准如表1所示。消费者采用预留计划租借虚拟机资源单价较低,但租借方式不够灵活。租借虚拟机来执行持续任务的消费者无法预知任务负载,多采用复合型租借方案,即:预留满足普通日常负载需求的资源,在负载量突增时按需租借资源。消费者采用该方案可降低由于预留过量资源造成的开销,同时也可避免全部采用按需计划租借资源造成的高额开销。如何求得一个优化的资源预留量来降低成本并满足负载运行的需求成为亟须解决的问题。
表1 阿里云虚拟机计费标准
国内外有较多针对云计算系统资源预订及配置的相关研究[6-15]:
文献[10]提出了云资源优化配置(Optimal Cloud Resource Provisioning, OCRP)算法,通过制定一个随机规划模型解决由于消费者需求不确定造成的预订资源困难问题,降低了消费者的成本;文献[11]提出了具有容错功能的考虑负载均衡的成本开销最小化的云计算系统资源分配方案。以上研究均以虚拟机为整体作为研究对象来考虑资源预定计划及资源分配方案,并没有以虚拟机各项资源为对象细粒度地研究资源分配方案。
文献[14]设计了内存均衡管理器实现了虚拟机内存均衡(Virtual Machine Memory Balancing, VMMB)机制,动态监测各虚拟机内存需求,定期重新平衡虚拟机的内存配额;文献[15]提出了两种动态虚拟机调度技术,减少了系统响应时间且平衡了CPU、内存等资源利用率。以上方法侧重于从云计算服务商角度进行资源配置管理,但没有从消费者角度考虑开销问题。
1 问题描述
1.1 云计算系统及相关定义
云计算系统由高性能硬件资源构成基础设施,由云操作系统管理资源组建虚拟机为消费者提供安全可靠[16]的服务:计算、数据存储、文件处理[17]等。为方便描述,下面定义一些符号及集合:
1.2 云计算系统付费模式
云提供商向消费者出租虚拟机,双方遵守SLA协议(Service-Level Agreement)[18]。典型的如阿里云计算平台,其向消费者提供两种虚拟机租借计划——预留计划和按需计划,按这两种计划出租各种规格虚拟机的单价如表1所示。
如果消费者租借虚拟机用来执行长期不间断性任务,那么他们一般采用混合方式租借资源,下面以这类消费者为对象研究虚拟机资源配置及预留方案,这类消费者的开销可表示为:Costtotal=Coston+Costr,Costr代表以预留计划租借资源的开销,Coston代表以按需计划租借资源的开销。消费者采用预留计划比采用按需计划租借资源的价格要低,但如果用户预留过多的资源会造成用户资金浪费;而如果预留资源过少,会导致任务负载频繁超过预订资源的承载量,消费者会采用按需计划以较高的价格频繁租借资源,最终其总开销Costtotal增加。
1.3 各项资源利用不均衡问题
为降低用户开销可以以虚拟机为对象制订虚拟机预留方案,在保障日常任务正常运行的前提下降低开销,但由于虚拟机规格固定所以不可避免地造成单项资源(如:内存)浪费。
在VMware云计算系统中验证了这种现象的存在,首先参考阿里云计算系统基础型虚拟机(1核CPU、1 GB内存)设置并启动了一个小型虚拟机,在虚拟机中安装Windows Server 2003操作系统并搭建网站,然后利用Loadrunner系统[19]模拟产生了峰值为500的网站访问负载,通过VMware虚拟机性能监测器监控获得各项资源消耗量。
表2 某时刻虚拟机资源利用率
为充分展现各项资源消耗对比情况,设置虚拟机资源量可以弹性扩展,但在商业云计算系统中,当任意一项资源消耗量达到配额量时需要启动新的虚拟机或延迟服务,这样会导致消费者开销增大或服务质量下降。通过实验获得了CPU、内存资源消耗率的对比,如图1所示。
图1 高负载下主要资源消耗对比图Fig.1 Comparison of main resources consumption rates under heavy load
当任务负载对CPU资源的需求持续增加时,为保障任务正常执行,消费者需要申请启动新的虚拟机V(m+1)n,虽然满足了任务负载对CPU资源量的需求,但也造成内存及其他资源更大的浪费。通过实验表明消费者很难充分地利用资源规格固定的虚拟机中的各项资源,最终导致开销增加及资源浪费。
2 基于成本约束的内存预留随机整数线性规划模型
2.1 VM资源均衡预订问题描述
不同的商业云计算系统对于资源单位的定义不同,如:亚马逊EC2以ECU为单位配置CPU资源,1个ECU相当于1 GHz的计算单元;阿里云平台以核为单位配置CPU资源,1核相当于1 GHz的计算单元。一般云计算系统为虚拟机配置CPU资源量均为整数单位1 GHz,并且CPU资源单价最高,所以资源预留方案中可先确定CPU预留量然后围绕CPU资源量来确定内存的用量,但几乎所有的云提供商给出的可供选择的内存配额规格都较少,如:500 M,1 GB等。
消费者采用复合内存预留方案后,可以记录其租借的虚拟机在一段较长时期的CPU、内存消耗量,然后选取合理的CPU资源量,围绕CPU资源量进一步为消费者预留适量的内存,降低用户开销。
2.2 内存预留量随机整数规划期望值模型
某消费者在一段时间内的内存消耗量是随机整数[20],通过数据分析可以确定内存消耗量的概率分布,结合两种租借计划内存资源的单价,采用随机整数规划求得优化的内存预留量。
为研究问题方便直观,首先以基础型VM为研究对象,该类型VM具有1核CPU、1 GB内存。
(1)
(2)
(3)
由式(2)、式(3)推导得到总开销公式为:
(4)
在一定约束条件下使总开销最小化,由式(4)推导出:
(5)
式中,TC代表物理节点的内存总数量。 由式(4)、式(5)推导得到:
(6)
(7)
3 基于内存消耗分布概率的预留内存定量求解方法
VMware虚拟机监控器以20 s为时间间隔记录监测数据,给出一组资源消耗量实验数据,如表3所示。由于篇幅关系,该表仅列出部分测试数据,表中灰色区域中的数据是CPU消耗量超配额(1 GHz)的数据。
表3 虚拟机资源消耗量实验数据
图2 内存消耗量概率分布图Fig.2 Memory consumption probability distribution map
4 实验
4.1 实验环境及方案
运行本次实验的云计算实验平台配置如表4所示。采用阿里云计费体系作为实验的计费参考标准(如表1所示)。
实验由1台安装Loadrunner系统的服务器控制10台HP瘦客户机向虚拟机端发送WEB网络负载,模拟不同数量的网络请求Requests,产生不同规模的负载,每次测试时间为20 min。
4.2 与商业云计算系统资源租借方案开销对比分析
根据监测得到的内存消耗数据,可计算求得采用多种租借方案的最终开销。首先与阿里云计算系统提供的两种资源租借方案进行了对比。
表5 不同负载下用各方案租借内存20 min开销
通过对比发现,采用内存资源复合预留方案租借资源的总开销低于其他两种方案。如果以采用预留计划租借资源的开销为基准,其他两种方案与其对比结果如图3所示。
图3 采用各方案租借内存开销对比图Fig.3 Cost of renting memory resources by different plans
另外表5中数据是租借内存约20 min的开销,多数消费者租借虚拟机时间一般在1年期及以上,假设虚拟机承载的任务负载较为稳定,那么可预计内存开销如表6所示。
表6 不同负载下用各方案租借内存1年预期开销
4.3 与相关研究方案对比分析
表7 不同负载下用2种方案租借内存20 min开销
在当前实验中,以虚拟机为研究对象的算法预留的内存量必然是云虚拟机额定内存量,而内存复合预留方案以虚拟机内存资源为对象细粒度地研究资源预留量,其值小于标准虚拟机额定内存资源量、小于OCRP算法的资源预留量,所以租借内存的开销较低。
4.4 监测时间间隔对预留方案的影响分析
5 结论
近年来,云计算系统资源管理配置已成为云计算研究领域的热点问题,降低消费者租借云计算资源成本也逐渐得到重视,本文提出了一种虚拟机内存资源优化预留方法,不以虚拟机为对象而以虚拟机各项资源为对象细粒度地研究资源预留方案,通过与标准云计算系统资源租借方案以及相关的研究成果对比试验发现该方案能够降低用户的总开销,同时降低资源闲置率,有利于云提供商动态配置资源。
内存资源优化预留方法以降低消费者成本为目标,为提高方案的适应性应进一步结合云计算系统服务器负载均衡、能耗[21]等指标研究综合性资源配置及预留方案。
References)
[1] Armbrust M, Fox A, Griffith R, et al. A view of cloud computing[J].Communications of the ACM, 2010, 53(4): 50-58.
[2] Püschel T, Schryen G, Hristova D, et al. Revenue management for cloud computing providers: decision models for service admission control under non-probabilistic uncertainty[J]. European Journal of Operational Research, 2015, 244(2): 637-647.
[3] Tang S, Yuan J, Wang C, et al. A framework for Amazon EC2 bidding strategy under SLA constraints[J]. IEEE Transactions on Parallel & Distributed Systems, 2014, 25(1): 2-11.
[4] Juve G, Deelman E, Berriman G B, et al. An evaluation of the cost and performance of scientific workflows on Amazon EC2[J]. Journal of Grid Computing, 2012, 10(1): 5-21.
[5] Barrett E, Howley E, Duggan J. Applying reinforcement learning towards automating resource allocation and application scalability in the cloud[J]. Concurrency & Computation Practice & Experience, 2013, 25(12): 1656-1674.
[6] Goiri í, Guitart J, Torres J. Economic model of a cloud provider operating in a federated cloud[J]. Information Systems Frontiers, 2012, 14(4): 827-843.
[7] Wu L, Garg S K, Versteeg S, et al. SLA-based resource provisioning for hosted software-as-a-service applications in cloud computing environments[J]. IEEE Transactions on Services Computing, 2014, 7(3): 465-485.
[8] Al-Ayyoub M, Jararweh Y, Daraghmeh M, et al. Multi-agent based dynamic resource provisioning and monitoring for cloud computing systems infrastructure[J].Cluster Computing, 2015, 18(2): 919-932.
[9] Chaisiri S, Lee B S, Niyato D. Optimal virtual machine placement across multiple cloud providers[C]// Services Computing Conference, IEEE Asia-Pacific, 2009: 103-110.
[10] Chaisiri S, Lee B S,Niyato D. Optimization of resource provisioning cost in cloud computing[J]. IEEE Transactions on Services Computing, 2012, 5(2): 164-177.
[11] Di S, Wang C L. Error-tolerant resource allocation and payment minimization for cloud system[J]. IEEE Transactions on Parallel & Distributed Systems, 2015, 24(6): 1097-1106.
[12] Chard K, Bubendorfer K. High performance resource allocation strategies for computational economies[J]. IEEE Transactions on Parallel and Distributed Systems, 2013, 24(1): 72-84.
[13] Di S, Wang C L. Dynamic optimization of multiattribute resource allocation in self-organizing clouds[J]. IEEE Transactions on Parallel & Distributed Systems, 2013, 24(3): 464-478.
[14] Min C, Kim I, Kim T, et al. VMMB: virtual machine memory balancing for unmodified operating systems[J]. Journal of Grid Computing, 2012, 10(1): 69-84.
[15] Rathor V S, Pateriya R K, Gupta R K. An efficient virtual machine scheduling technique in cloud computing environment[J]. International Journal of Modern Education & Computer Science, 2015, 7(3): 39-46.
[16] 刘婷婷, 王文彬. 云计算中基于公平的安全判定相等协议的身份认证方案[J]. 国防科技大学学报, 2013, 35(5): 120-123,139.
LIU Tingting, WANG Wenbin.An authentication scheme based on fair equality-determination protocol in cloud computing[J]. Journal of National University of Defense Technology, 2013, 35(5): 120-123, 139.(in Chinese)
[17] 付松龄, 廖湘科, 黄辰林, 等.FlatLFS:一种面向海量小文件处理优化的轻量级文件系统[J].国防科技大学学报,2013, 35(2): 120-126.
FU Songling, LIAO Xiangke, HUANG Chenlin, et al.FlatLFS:a lightweight file system for optimizing the performance of accessing massive small files[J]. Journal of National University of Defense Technology, 2013, 35(2):120-126.(in Chinese)
[18] Macías M, Guitart J. SLA negotiation and enforcement policies for revenue maximization and client classification in cloud providers[J]. Future Generation Computer Systems, 2014, 41(C): 19-31.
[19] Guan X, Cheng B, Song A, et al. Modeling users′ behavior for testing the performance of a web map tile service[J]. Transactions in GIS, 2014, 18(S1): 109-125.
[21] Mastelic T, Oleksiak A, Claussen H, et al. Cloud computing: survey on energy efficiency[J].ACM Computing Surveys, 2015, 47(2): 1-36.
Memory resources reservation method for virtual machine in cloud computing system
KAN Yunqi1,2, LIU Hongwei1, ZUO Decheng1, ZHANG Zhan1
(1. School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China;2. School of Information Engineering, Northeast Dianli University, Jilin 132400, China)
In order to reduce the consumers’ costs of renting resources in cloud computing system, a random integer linear programming model and a method for memory reservation were presented on the basis of cost constraints. Combined with the memory resource price of the reservation plan and the on-demand plan, the random cost function which consists of costs and total amount of resources constraints was designed. Aimed at minimizing the expected value of the cost function, the optimal amount of memory reserved was obtained on the basis of the probability distribution of memory consumption. The experiments show that the cost of renting recourses by utilizing this method is less than the cost of renting recourses by adopting reservation plan, on-demand plan and other similar methods.
cloud computing; virtual machine; memory resources reservation; cost optimization
10.11887/j.cn.201605008
http://journal.nudt.edu.cn
2015-11-25
国家863计划资助项目(2013AA01A215)
阚运奇(1981—),男,吉林吉林人,副教授,博士研究生,E-mail: kanyunqi@ftcl.hit.edu.cn
TN95
A
1001-2486(2016)05-045-07