论文部分内容阅读
随着云服务的应用领域越来越广,基于虚拟化技术的服务器集群规模越来越大,这对集群的资源调度提出了新的挑战。在大规模的虚拟化集群中,虚拟机的数量和负载会随应用的需求而经常变化,静态的资源分配会产生资源浪费或者资源不足的情况,而人工干预的动态资源调整会有明显的滞后性。因此,需要使用动态资源调度的方式实现资源的按需调整,以达到节能整合或者负载均衡等目标。
在这种背景下,本文设计并实现了一个针对大规模虚拟化集群的动态资源调度系统,该系统对集群的资源使用情况进行实时监控,依据监控数据,能自动地对当前集群的整体负载状态作出判断,并根据不同的负载状态做出相应的资源调度决策并加以实施执行。本文的主要贡献表现在以下五个方面:
(1)提出一种分层设计的性能监控架构,在物理机中部署监控客户端用来获取虚拟机的性能数据,并汇集到主服务器上的监控服务端。本方案还支持将集群在逻辑上分成多个组并分别监控,具有良好的扩展性。
(2)提出一种自动判断集群整体负载状态的算法,根据集群的资源监控结果快速准确地判断集群的负载状态。判断结果为资源调度控制提供依据,同时该结果作为调度算法的输入,能够节省大量重复计算的时间。
(3)提出一种多目标的资源调度控制方案,根据集群的负载状态和性能数据,控制器针对性地采取不同类型的调度算法。该过程中控制器对不同类型的调度算法进行统一调度,可以在一个调度周期内完成多个调度目标。
(4)提出一种可扩展的资源调度算法框架,利用算法池统一管理不同类型的调度算法,并提供一致的接口用以扩展更多的算法。
(5)基于以上设计方案实现面向大规模虚拟化集群的动态资源调度系统,并测试验证该系统的功能与性能。