论文部分内容阅读
近几年,云计算蓬勃发展并得到了产业界和学术界的广泛关注,已经成为信息化建设领域的热点和未来趋势。虚拟化技术是实现云计算的关键技术之一,也是云数据中心资源管理的主要手段。由于不同的虚拟机与物理机之间的映射关系,会有不同的资源效率,使得虚拟机调度问题是云数据中心资源管理的一个重要问题。现有研究大多集中在利用虚拟机调度方案来减少能耗、提高应用性能、提供容错处理等方面。但是,很少有人研究虚拟机在不同物理机上的调度对数据中心网络的影响,而网络作为数据中心应用的共享部件,直接影响到应用的性能。本文侧重于把数据中心网络因素纳入虚拟机调度研究,设计不同的虚拟机调度机制,主要涉及能耗优化、网络性能优化两方面。从云提供者的角度出发,重点考虑如何制定合理的虚拟资源调度策略,在保障租客资源需求和网络性能的前提下,降低能源消耗,保证云数据中心高效地资源管理。本文首先系统总结了虚拟化的相关研究背景,按照技术特征,把当前面向云数据中心的虚拟机调度机制分成静态放置和动态迁移两类。然后,从这两方面对虚拟机调度机制做了比较全面的归纳和总结。接着,以减少数据中心能耗、优化网络性能等问题作为切入点,结合云数据中心网络拓扑与流量的特征,深入研究虚拟机调度机制,以优化资源效率,从而提升数据中心网络性能和减小运营成本。主要研究内容包括服务器与网络相结合能耗优化的虚拟机放置方法、利用虚拟机放置改善网络流量分布、能耗-网络性能均衡优化的虚拟机调度机制、数据中心网络拥塞感知的虚拟机迁移算法等四个方面,具体内容如下:(一)研究了服务器与网络相结合能耗优化的虚拟机放置方法。在IaaS云中,虚拟机如何放置在物理机上,才能降低能耗,这是云提供者关心的一个重要问题。已有的虚拟机放置问题解决方案,有些是优化物理服务器能耗,有些是优化网络设备能耗,较少人研究两者的结合。本研究提出了一种同时优化物理服务器和网络设备(如交换机、路由器、网络链路等)能耗的虚拟机放置方案,关闭/休眠空闲服务器、交换机、网络链路等物理资源的数量,以降低能耗。把这种虚拟机放置问题抽象为基于物理机大小和链路容量相结合约束的装箱问题,这是经典的组合优化问题,也是NP难问题。设计了一种改进的蚁群优化算法来求解。仿真实验表明,与只优化主机或只优化网络设备能耗算法相比,减小了数据中心能耗。(二)研究了利用虚拟机放置技术优化数据中心网络流量分布。在云数据中心中,随着虚拟化技术的广泛应用,不同的虚拟机放置对数据中心网络流量有何影响是重要的研究点。已有的虚拟机放置问题解决方案,聚焦在服务器资源优化,较少考虑当前数据中心网络拓扑结构和虚拟机之间的流量。本研究提出了一种虚拟机放置方案,同时优化数据中心网络总流量和链路利用率,从而使得数据中心网络流量分布均衡,避免拥塞链路的产生。把虚拟机放置对网络流量的优化模型抽象为二次分配问题,这是经典的组合优化问题,也是NP难问题。采用蚁群优化与2-opt局部搜索相结合的算法来求解。仿真实验表明,最大链路利用率下降20%,拥塞链路数目下降37%。(三)研究了能耗-网络性能均衡优化的虚拟机调度方法。对于云提供者而言,如何设计虚拟机调度方案来减少能耗并能改善网络性能是一个重要问题。现在的虚拟机调度研究也大多集中在物理服务器能耗或网络设备能耗的优化,然而随着这些资源的聚合,有可能会带来网络性能的下降。本研究提出了一种虚拟机调度方案,给出了两阶段的调度策略:(1)虚拟机静态放置,抽象为多维条件约束的装箱问题和二次分配问题的结合,减少云数据中心激活物理服务器、交换机、网络链路等物理资源的数量,从而减少能耗。(2)虚拟机动态迁移,在最小化迁移代价的前提下,最小化最大链路利用率来改善网络性能。此方案的目的在于优化网络性能的同时,来减少服务器和网络设备的能耗。为此设计了一种二阶段的启发式算法来求解,较好地实现了能耗与网络性能的均衡优化。(四)研究了数据中心网络拥塞感知的虚拟机迁移算法。在当前云数据中心中,网络会频繁发生拥塞,导致丢包增多、时延增大和吞吐量下降,网络已成为数据中心的性能瓶颈,数据中心网络拥塞问题是当前亟待解决的一个重要问题。传统的解决网络拥塞的方法,大多采用流路径重新调度、修改网络协议栈等。本研究尝试采用虚拟机迁移技术来改变流量发送端或接受端在网络拓扑中的位置,使得流量避开拥塞链路,来减少网络拥塞的发生,优化网络流量布局。与修改流路径或协议栈相比较,这种方法很好地利用云计算弹性服务的特征,更为简单和直接。在迁移时,主要考虑两方面的代价:(1)最小化网络总流量代价;(2)最小化迁移代价。提出了一种基于贪婪策略的三阶段虚拟机迁移算法,算法时间复杂度较低。仿真实验表明此算法在满足迁移代价阈值的前提下,减小了数据中心网络拥塞数。