论文部分内容阅读
自从“云计算”的概念被提出后,云计算迅速成为IT领域的研究热点。云计算给我们带来了新的计算和服务模式。通过这种模式,用户可以按需访问云上的应用程序和数据。作为云计算中最基础的服务,基础设施即服务(Infrastructure as a Service,IaaS)是通过虚拟化实现物理资源共享的。虚拟化技术允许一个物理服务器上运行多个独立的虚拟机,并且可以将动态变化的负载从一个物理机器迁移到另一个物理机器上。随着云提供商业务的拓展以及用户量的扩大,势必带来更大的资源需求量,资源分配和调度算法的优劣直接影响到整个系统的资源利用率、服务质量(Quality of Service,QoS)和能源消耗情况。对于数据中心中的资源调度,学术界已经有了很多研究与成果。但大多数研究只是针对单一资源利用情况讨论,没有综合多个方面进行考虑,例如能耗问题。为了提高数据中心的资源利用率并降低数据中心能耗,本文在深入研究现有的研究成果后,提出了基于分组遗传算法的虚拟机初放置算法和基于负载预测的虚拟机动态调度策略。基于分组遗传算法的虚拟机初放置算法考虑了系统资源的利用率、能源消耗情况和峰值温度,力图系统在多个目标下都有较好的表现。在文中,分析了普通的分组遗传算法在解决此类问题不足的原因,提出了针对此类问题的改进分组遗传算法并应用到虚拟机放置算法中。基于负载预测的虚拟机动态调度策略通过对每台物理机的负载进行监控,并使用BP神经网络预测下一段时间的负载情况,通过两级阈值机制有效地减少不必要的虚拟机迁移操作,提升服务等级(Service-Level Agreement,SLA)。同时,算法在选取迁移虚拟机的时候,根据虚拟机负载以及迁移数据量情况,选择最大迁移效率的虚拟机进行迁移。最后,本文设计了一个基于OpenStack的基础云平台。在实现过程中使用了文中提出的资源调度算法,同时,实现了必要的资源管理中间件和监控系统。实现表明本文提出的资源调度算法具有一定的有效性和可行性。