论文部分内容阅读
传统互联网数据中心存在物理机资源利用率低下、难以适应业务发展需求、管理复杂和运维成本居高不下等难题,以服务的形式通过互联网交付给用户虚拟资源的云计算数据中心应运而生。云计算采用计算机集群硬件和软件的形式构成云数据中心,它拥有资源池化、弹性服务、按需计费和泛在接入四大特征。虚拟化技术和云资源管理技术是云计算的两大关键技术,相应的带来了虚拟资源的高效整合和虚拟资源的弹性伸缩两大挑战。针对以上两点挑战,我们设计实现了一个跨域的云资源租赁平台DartCloud,优化云数据中心的虚拟机放置问题,并在虚拟机上层搭建弹性大数据计算平台ScalaBD。本文的贡献主要可以归纳为:(1)实现DartCloud平台为用户提供虚拟机集群的租赁服务。在管理层,实现了基于时间状态的虚拟机镜像自动补充守护进程和一个外网穿透内网的Web-based SSH代理服务器。在业务层,我们提出了一个基于虚拟机状态更细资源粒度的虚拟资源计费策略,分为预付费模式和按需计费模式。(2)我们提出了一个多目标虚拟机初始部署优化算法,同时考虑云数据中心的综合平均资源利用率CARU和综合资源利用均衡率CRUB两个评价指标,解决了多租户应用场景下由于虚拟机在各个维度资源的异构性带来地虚拟机性能、物理机资源利用率和数据中心能耗等多方面的问题。实验中,通过对比CPUPack、MemPack和Stripping三个常用部署方法,结果表明我们的算法能提高5%左右的综合平均资源利用率,并获得最好的综合资源利用均衡率8%。(3)大数据弹性计算平台ScalaBD能提供大数据存储、批量计算、流式计算、内存计算和工作流计算等多种服务形式。在存储方面,我们实现了基于矩阵加密的高私密性和高可用性的存储平台。在批量计算方面,我们分析了 Hadoop集群的资源扩展性问题,包括资源横向扩展和纵向扩展两个方面。实验中,运行WordCount、RegexMatch、TeraSort基准测试程序和Mahout并行机器学习应用来进行分析,结果表明在CPU密集型应用中纵向资源扩展获得更好的性能,而在I/O密集型应用中横向资源扩展性能更好。最后结合虚拟机集群配置参数和大数据计算框架参数,提出双层参数调节器的概念来进一步提高集群的资源利用率并降低集群的租赁费用。