论文部分内容阅读
近年来,互联网应用的飞速发展带动了集群技术的进步。互联网数据中心通常采用横向扩展(Scale-out)的设计,即搭建大规模的集群系统,来应对亿级用户的并发访问、PB级数据的存储与处理等多方面的挑战。与此同时,互联网应用呈现出类型多样、负载波动大、依赖关系强等特点,增加了集群作业调度与资源管理的复杂性。为了提高资源利用率、增强应对突发事件的能力和降低总体拥有成本,互联网数据中心通常采用资源共享技术在同一个集群上部署多种应用,实现应用之间计算资源、存储资源和网络资源的共享。 然而,现有的数据中心通常以物理机、CPU核或者虚拟机为单位来分配资源,这种简单的资源分配方法难以满足互联网应用多样、动态变化的资源需求,而且无法兼顾应用性能和集群资源利用率之间的平衡。针对上述问题,本文在分析互联网应用的负载特征及其资源需求的基础上,研究了互联网数据中心资源共享所面临的若干关键问题,从作业调度策略、应用性能优化和弹性资源管理等方面提出了面向互联网应用特征的集群资源共享方法与策略。主要研究贡献与创新点如下: (1)提出了一种支持混合型应用特征的作业动态约束调度方法。通过扩展资源描述语言,采用负载感知的资源管理策略,以及作业硬约束与软约束之间的动态转化机制,解决了静态约束调度方法无法匹配应用多样化资源需求的问题,不仅可以支持批处理应用和服务型应用的混合部署,而且能够适应多种应用类型、多种负载特征以及存在复杂依赖关系的作业动态调度。实验结果验证了作业动态约束调度方法的有效性。 (2)提出了一种磁盘感知的任务调度策略。通过主动识别服务器中多个任务的磁盘IO访问需求,建立自适应的磁盘分配与任务分组策略,在任务级别实现细粒度的资源分配与管理,解决了以CPU核和虚拟机为单位的调度策略无法解决应用之间无序争用磁盘IO资源的问题,可以有效改善数据密集型应用的性能。实验结果验证了磁盘感知的任务调度策略的可行性。 (3)提出了一种兼顾公平和效率的资源抢占调度策略。通过应用分组的集群资源共享与可变资源配额的管理机制,解决了资源固定配额调度策略和资源租借调度策略无法及时适应应用负载突发变化的问题,支持不同性能瓶颈、高低峰时段和不同规模应用的资源错峰。实验结果验证了兼顾公平和效率的资源抢占调度策略的有效性。 (4)设计并实现了一个互联网数据中心集群调度系统。采用了同步与异步混合的三阶段通信机制、分布式名字服务与选举机制相结合的高可用机制和避免网络分割故障的作业容错机制,具有良好的可扩展性、高可用性与高可靠性。成功在某大型互联网企业部署并上线运行,能够支持5000台以上的服务器,取得了良好的实际应用效果。