基于计算资源运行时剩余能力评估优化云平台
周墨颂;董小社;陈衡;张兴军
【摘 要】云平台资源管理中存在资源供给与需求不匹配的问题,导致平台性能受到严重影响.针对此问题,基于相似任务建立运行时计算资源剩余能力评估模型,该模型利用云计算负载中相似任务执行逻辑相同的特点,使用相似任务代替测试程序量化资源剩余能力,避免了执行测试程序的计算资源代价;依据该模型提出了一种运行时云计算资源剩余能力分类评估方法RCE (resource capacity evaluation),该方法综合各方面因素评估运行时资源剩余能力,具有运行时代价低、评估结果准确且有时效性的特点.将RCE评估结果应用在若干算法中,以提高云平台资源供给与需求的匹配程度并优化云平台各方面性能;在独享环境和真实云环境中验证了RCE方法和基于RCE的算法,实验结果表明:RCE评估结果及时反映了计算资源能力变化,为算法和平台的优化提供了有力支持,基于RCE优化的算法解决了云计算资源管理中资源供给与需求不匹配问题并大幅提高云计算平台性能.%There is a mismatch between computing resource supply and demand in cloud computing platform resource management,which leads to the performance degradation.This paper establishes a runtime computing resource available cap
acity evaluation model base on similar tasks.The model uses the characteristic of cloud computing workload in which similar tasks have the same execution logic,evaluates computing resource available capacity according to similar tasks avoiding computing resource consumption in executing benchmark.This paper applies the model to propose a computing resource capacity evaluation method calledRCE,which considers many factors and evaluates runtime computing resource available capacity classified by resource type.This method gets accurate evaluation results timely with little cost.We apply RCE results in some algorithms to match computing resource supply and demand,and improve cloud computing platform performance.We test RCE method and algorithms base on RCE in dedicated and real cloud computing environments.The test results show that the RCE method gets runtime evaluation results timely and the evaluation results reflect computing resource available capacity accurately.Moreover,the RCE method supports the optimization of algorithm and platform effectively.And algorithms base on RCE resolve the mismatch problem between resource supply and demand,and significantly improve the performance of cloud computing platform.
360云平台
【期刊名称】《计算机研究与发展》
【年(卷),期】2017(054)011
【总页数】18页(P2516-2533)
【关键词】云计算;资源能力评估;相似任务;资源管理;平台优化
【作 者】周墨颂;董小社;陈衡;张兴军
【作者单位】西安交通大学电子与信息工程学院 西安 710049;西安交通大学电子与信息工程学院 西安 710049;西安交通大学电子与信息工程学院 西安 710049;西安交通大学电子与信息工程学院 西安 710049
【正文语种】中 文
【中图分类】TP391
目前,云平台普遍采用的资源管理算法只考虑资源量而忽略资源的品质.例如,Hadoop[1]使
用槽作为资源划分单位,代表定量的CPU和内存资源.Yarn[2]使用容器封装一定虚拟核和内存资源.Hadoop和Yarn均不保证所分配计算资源品质.资源品质因素在资源管理中十分重要:资源的品质可能直接影响任务的资源需求量,比如相同任务在不同品质的CPU上可呈现出不同的资源需求量;资源品质也可能影响资源总量,比如品质好的网络资源具有更高的传输带宽;负载的资源使用行为可能造成资源品质持续波动,比如负载的多少可以影响CPU的切换频率,从而影响CPU资源品质.在资源管理时忽略计算资源的品质导致资源分配与任务资源需求不匹配:1)如果资源供给过剩,则任务执行过程中易出现资源碎片,造成资源浪费[3];2)如果资源供给不足,则任务执行过程中易出现资源瓶颈,造成性能下降[4].另外,云计算服务器间普遍存在的异构性加剧了计算资源品质的差异,从而增加了资源供给与需求不匹配的频率和程度,严重影响云平台性能[3,5-7].
资源供给与需求不匹配的原因在于资源管理中没有精确量化资源的剩余能力,即资源品质和资源量.为了解决上述问题,云平台资源管理中需要一种评估计算资源剩余能力的方法.现存的性能评估方法[8-10]均因时效性、准确性以及代价等问题而不宜应用在云平台的资源管理决策中.本文提出计算资源剩余能力评估方法RCE(resource capacity evaluation),该方法使用云负载中普遍存在的相似任务[11-12]代替传统的测试程序,通过相似任务保证评估结果准
确性的同时避免了执行测试程序的资源代价;通过比较相似任务在不同计算资源上的执行情况,在运行时获得具有时效性的计算资源剩余能力评估结果;克服了传统评估方法的缺点,可为云平台和算法的优化提供支持.本文的主要贡献有3个方面:
1) 基于相似任务建立运行时云计算资源剩余能力评估模型,依据相似任务在不同计算资源上的执行情况量化计算资源运行时剩余能力.
2) 基于评估模型针对CPU、内存、磁盘、网络4种资源提出了分类评估方法RCE,并实现了与平台无关的评估服务.
3) 设计了基于RCE的任务资源需求推测、资源分配、负载均衡、异常识别等算法,并在Yarn平台中实现算法以解决云资源管理平台中的问题,优化云平台性能.
测试结果显示,RCE的评估结果有效且及时反映出计算资源能力变化,基于RCE评估结果的算法有效解决了资源供给与需求的匹配问题,提高了云平台资源利用率,降低了负载完成时间.RCE为平台及算法的优化提供了良好的支持.
近年来很多研究[3,5-7]分析了国内外公司的日志文件,指出现代云计算中心及负载普遍存在
规模及异构性的挑战.异构性加剧了资源品质的差异性,从而使云计算中心资源供给与需求间的不匹配问题更加突出.资源供给与需求的不匹配可能造成计算资源被浪费,也可能造成负载争抢资源出现局部资源瓶颈,导致云计算中心性能大幅下降.
Hadoop[1]分布式平台实现了MapReduce计算框架,可以在商用集上提供分布式并行计算.Yarn[2] 资源管理平台从Hadoop延续而来,它采用双层调度模型解耦了资源管理与任务调度,以支持多样性负载.Mesos[13]采用与Yarn类似的双层调度模型并支持多种计算模型.国内外众多公司均使用Hadoop,Yarn,Mesos等构建云计算平台[14-15],但是上述开源云资源管理平台均存在资源供给与需求的匹配问题.
Corona[16]平台使用消息推送机制提高了平台可扩展性同时降低了MapReduce作业延迟.Fuxi[17]具有很强的可扩展性和容错性,被用于管理Alibaba公司并发任务数以万计的大型云平台.Borg[18]是一个在Google公司使用超过10年的资源管理系统,可以管理上万节点组成的大型云平台.Omega[19]是Google公司的新一代资源管理系统,通过共享状态和乐观锁极大地提高了资源分配并发度,实现了对大规模云平台的管理.上述工业界云计算资源管理平台中同样存在着资源供给与需求的匹配问题,该问题存在的根本原因是目前的资源管理平台不了解运行时计算资源剩余能力和负载的资源需求.
资源供给与需求的不匹配直接导致个别任务执行缓慢,最终拖慢整个作业的完成时间[20].LATE[21]通过计算任务剩余执行时间判断识别落后任务并启动冗余执行,防止个别任务拖慢作业完成.Mantri[4]分析实时进度报告出落后任务,并采用重新启动任务、网络感知放置等措施减轻落后任务的影响.LATE和Mantri等算法可以缓解由资源供给与需求不匹配造成的影响,但是不能预防执行缓慢任务的出现,更不能解决资源供给与需求的匹配问题.
在云平台执行负载期间实时评估负载的资源需求和计算资源剩余能力是解决上述问题的一种有效方法.针对云计算资源能力评估研究的主要思路分为2种:
1) 文献[8],它基于CloudSuite,HiBench,BenchClouds,TPC-W等基准测试结果建立性能评估模型,对云计算平台效率、弹性、QoS等进行评估.这种方式并不能应用在运行时资源能力评估中,原因在于在运行时引入额外测试程序的性能代价太大,且通过分析测试程序运行结果得出的评估结果不具有时效性.
2) 文献[9-10],它们针对云计算平台的性能指标建立基于随机回报Petri网、连续时间马尔可夫链等的评估模型.由于这种方式无法全面考虑所有影响因素、不使用测试程序,因此其评估结果并不准确.
已有评估研究的问题在于不使用测试程序得不到准确结果,而使用测试程序会消耗资源,影响负载执行.本文评估解决了这个问题,它利用云计算负载中相似任务的特性,采用相似任务代替传统评估方法中使用的测试程序,并综合相似任务运行时信息、计算资源理论性能及基准测试信息等建立了运行时计算资源剩余能力评估模型.因此本文的评估具有的优势包括:运行时不引入负载无关的测试程序,性能代价小;使用负载中相似任务代替测试程序,保证结果准确性;运行时实时评估,结果时效性高.
Apollo[11]是一个分布式协作的调度框架,它通过整合、共享集的资源可用性信息实现多调度器分布式调度,解决了调度的扩展性问题.Apollo中的资源可用性信息通过预测、整合各任务的完成时间得出,而其对任务完成时间的预测是通过分析相似任务实现的,因此本文在资源剩余能力评估模型以及基于RCE的任务资源需求推测算法中均利用了与Apollo相似的原理.但是本文在评估中进一步定义了相似任务,同时在评估中引入了其他因素,而本文的需求推测算法在推测过程中考虑了任务使用资源的差异性,这是Apollo中没有考虑到的.Google公司提出的CPI2[12]将相似原理应用到异常任务识别中,但并未涉及到计算资源评估方面.