论文部分内容阅读
虚拟计算系统是基于虚拟化技术构建起来的新一代计算系统,是对传统计算理论和模式的一次重要创新。它通过引入虚拟机管理器层,消除了底层硬件体系结构和上层系统软件之间的紧密耦合关系,实现了多种资源的动态组合和透明共享,提高了物理资源的使用效率,并为用户提供了个性化和普适化的使用环境。虚拟化技术最典型的应用场景就是云计算。但当把虚拟化技术大规模推广到实际的云计算数据中心的时候,还需要解决两个关键的挑战问题。(1)低性能问题。性能的损耗是虚拟化技术带来的一个最突出的问题。随着云计算的不断普及,大量的传统应用程序将逐步迁移到云中运行,如何对不同类型的典型应用程序在虚拟化环境下的运行性能进行量化分析和建模优化是一个重要挑战。(2)高能耗问题。云计算的一个典型特征就是计算资源和存储资源的高度集中,这对云数据中心的能耗管理提出了很高的要求。区别于传统的数据中心节能方法,如何利用虚拟机的特性对云数据中心的能耗进行分布式的管理是另一个重要的挑战。 针对这两个挑战,学术界已经开始了不少前期的研究,但尚存一些不足。基于此,本文提出了一系列新的方法,旨在解决虚拟计算系统的“性能”和“能耗”这两个核心挑战问题,即从虚拟计算系统的性能评估与分析、虚拟计算系统的性能调优策略与方法、虚拟计算系统的能耗管理方法和虚拟计算系统的性能和能耗权衡关系等四个方面开展系统性的研究工作。本文工作的创新点总结如下: (1)提出了一个基于典型应用场景的虚拟计算系统性能基准测试程序集Virt-B。基准测试程序集(Benchmark)的缺失是造成虚拟计算系统性能量化评估困难的一个最关键的原因。本文通过对虚拟化技术的典型应用案例进行梳理和总结,归纳出虚拟化技术的六大典型应用场景,分别是单机虚拟化、服务器整合、虚拟机部署、虚拟机在线迁移、计算密集型(MPI)虚拟集群和数据密集型(MapReduce)虚拟集群。本文针对这六大典型应用场景,详细定义了其评测指标和负载,并且开展了大量的性能量化分析工作,为本领域的研究人员提供第一手详实的性能测试数据。此外,本文还设计并开发了一个测试环境自动构建和测试负载自动生成的工具来辅助测试。 (2)提出了一系列针对多机多核架构的虚拟计算系统性能调优策略和方法。在详细全面的性能测试数据基础上,本文继续提出了相应的针对多机多核虚拟计算系统的性能调优策略和方法。特别地,针对多虚拟机环境,提出了一种基于资源预留的多虚拟机在线迁移优化方法和虚拟集群迁移控制框架和策略;针对多核处理器环境,提出了一种负载感知的虚拟机性能隔离性优化方法和一种缓存感知的虚拟机故障隔离性优化方法。在真实的虚拟化环境下的真实负载测试结果表明,所提出的几种优化方法,都能有效提升虚拟机在多机多核环境下的运行性能。 (3)提出了两种以虚拟机为粒度的云计算数据中心节能架构和方法。数据中心虚拟化之后,传统的节能方法将不能直接应用于虚拟化云计算数据中心。这是因为虚拟机的能耗不能通过电表直接测量。本文对虚拟化云计算数据中心的节能挑战和方法进行全面的分析和探讨,并基于此,进一步提出了两个以虚拟机为粒度的云数据中心节能架构,分别是:基于资源监控的虚拟计算系统节能架构和基于负载轮廓分析的虚拟计算系统节能架构。前者方法易于实现,但无法保证虚拟机负载的性能。后者则通过对虚拟机负载进行事先的轮廓分析,在虚拟机动态调整时能保证虚拟机负载的性能。两种方法都能有效降低虚拟化云数据中心的能耗。 (4)研究了虚拟计算系统中虚拟机性能和能耗之间的权衡关系,提出了虚拟机负载性能约束下的最优节能整合模型及最优迁移决策算法。由于不同类型的虚拟机负载整合在一起时的性能表现不同,因此如何选择最优的整合匹配,使各种应用程序的性能达到最佳,同时使得所占用的物理机个数最少是一个挑战。同时,不同的应用程序在虚拟机迁移时导致的性能开销是不同的。因此,在制定大规模虚拟机迁移决策的时候,需要考虑这些特征。基于这些考虑,本文提出了一个最优化模型,用于解决应用程序性能约束下的最优节能整合,同时提出了一个多项式时间算法,用于解决大规模虚拟机的最优化迁移,最大程度的降低整体迁移的开销。