论文部分内容阅读
随着云计算技术的发展,服务器供应商可以方便地实现基础设施即服务(IaaS),在此基础上用户按需使用服务器供应商提供的资源,无需购置和维护基础硬件设备,在降低成本的同时缩短了应用的部署时间。在云数据中心的IaaS服务中,服务器供应商以虚拟机的方式向用户提供资源,不同虚拟机之间资源相互隔离,用户可以像使用一台真实物理机一样使用虚拟机,虚拟机的使用提高了物理机的资源使用率,并使云数据中心更易于维护管理。随着用户业务的不断增加,数据中心规模也变得越来越大,物理机与虚拟机的数量不断增加,随之而来云数据中心正面临很多挑战,如物理机服务器负载不均衡、数据中心内部流量过大形成瓶颈链路等,这些因素会导致用户访问时延增加,从而面临违反用户服务水平协议(SLA)的风险。虚拟机热迁移提供了一种调整数据中心映射状态的方式,比如将虚拟机从负载过高的服务器迁移到负载较低的服务器以使系统负载更加均衡等。通过虚拟机热迁移来优化数据中心运行状态的问题称之为虚拟机部署动态调整问题(或虚拟机整合问题),这类问题试图寻找一种物理机与虚拟机的最佳映射方式,以使数据中心实现最佳性能,为用户提供优质服务。常规虚拟机部署动态调整算法往往只关注数据中心一个性能指标,无法在多个性能指标之间进行折衷,更重要的是无法防止其他性能指标在虚拟机部署调整之后变恶化。另一方面,虚拟机热迁移会导致虚拟机中应用程序性能下降,增加响应时延,部署动态调整工作必须能有效约束虚拟机迁移代价。本文提出了一种基于多目标优化的虚拟机部署动态调整工作,我们首先根据数据中心运行特征定义了五个优化目标,具体包括数据中心使用的物理机数目、物理机服务器负载均衡程度、数据中心内部通信流量、虚拟机迁移次数以及虚拟机累积迁移时间。我们将这些优化目标抽象为多目标优化问题,并允许数据中心管理员只优化其中部分目标,然后将其他目标作为多目标优化问题的约束条件,从而防止其他目标在虚拟机调整之后变恶化。我们设计了更适合虚拟机部署动态调整问题的遗传算法来解决提出的多目标优化问题,基于真实工作负载数据的模拟实验与小规模集群实验均表明通过遗传算法能选出能计算出物理机与虚拟机的近似最佳映射,能有效在优化目标之间实现折衷。相对于单目标优化虚拟机部署动态调整算法,我们的算法在特定优化目标上性能指标稍差,但是在其他性能指标上均能取得较好的结果。在计算出一个数据中心物理机与虚拟机的近似最优映射之后,需要一个迁移方案将数据中心从当前映射状态转换到近似最优映射状态,由于是在数据中心内部物理机之间进行虚拟机迁移,虚拟机迁移任务之间可能存在依赖关系,比如目的物理机由于资源限制并不能接收待迁移虚拟机,直到其迁移出部分待迁移虚拟机。当前虚拟机迁移工作大多关注如何分配带宽实现虚拟机快速迁移,并不能解决迁移任务之间的依赖关系,甚至由此形成的迁移死锁问题。在此基础上,我们设计了虚拟机并行迁移算法,实现数据中心映射转换过程中的虚拟机迁移,算法不仅能解决迁移依赖关系,同时能有效地实现并行迁移,缩短迁移时间。