论文部分内容阅读
随着分布式计算的快速发展,越来越多的应用程序被部署在大规模服务器集群中。集群通常被多个用户所共享,运行着大量多源异构的作业,它们在资源需求、运行时间和优先级方面都存在较大区别。因此,在管理这些异构作业的过程中,良好的作业分类方法和动态的资源调控策略,对集群任务吞吐量和计算资源利用率的提升意义重大。然而,目前一些通用的集群管理系统仍然存在一些问题:首先,作业申请的计算资源配额经常过高,系统缺少对资源过度申请现象的检测;其次,主要着重于面向对单一类型的作业进行管理,缺乏从多个方面分析异构作业特征的功能;最后,未结合作业特征进行动态的资源调控和任务调度,难以让这些异构作业全都获得相对合理的运行环境。针对上述三个问题,本文提出了面向异构作业集群的的动态混合调度与资源管理框架,旨在将作业特征归类结果与基于作业特征的调度方法相结合。该框架持续地收集集群作业运行数据,通过资源预判算法调整作业资源配额;依据分类模型和匹配策略产生作业特征归类与容器匹配结果;基于不同的执行规则将不同类型的容器指派给不同的调度器,然后依据相应调度策略将容器分发至服务器节点,以实现动态混合和低延迟的任务调度。本文的主要研究内容如下:(1)提出资源过度申请预判方法本文针对作业资源过度申请现象,提出了基于TAN贝叶斯网络的资源过度申请预判方法。根据集群历史作业的资源申请量、计算数据量和运行时间段等信息生成面向作业的资源过度申请检测模型,从而为未来的作业调控资源配额。(2)提出面向容器类型匹配的作业特征归类方法本文针对集群作业的多源异构性,提出了面向容器类型匹配的作业特征归类方法,从三方面分析了作业特征,通过决策树和累积分布方法将作业特征归类,进而将具有不同特征的作业匹配到不同类型的容器,并参考资源过度申请预判结果为容器调控资源,容器类型匹配结果将被作用于调度环节。这些步骤共同构成了作业预处理过程。(3)提出结合作业特征的动态混合调度机制本文针对类型丰富、特征各异的作业,提出了结合作业特征的动态混合调度机制。在任务调度方面,根据容器类型和集群实时运行状态执行动态混合的容器冲突解决、调度器匹配及节点选取等策略;在资源管理方面,提出了针对服务器节点的CPU和内存资源预测模型,实现对闲置资源的检测和利用。(4)构建基于动态混合调度与资源管理框架的原型系统本文基于动态混合调度与资源管理框架构建了一个原型系统,用于验证该框架在实际应用场景中的有效性和可靠性。原型系统分为集群应用管理和资源管理两个模块:应用管理模块用于提交作业及相关配置信息;资源管理模块用于设置任务调度和资源管理相关策略所需的阈值,并监控集群的整体资源使用状态和作业类型分布情况。