论文部分内容阅读
分布式系统由于具备高吞吐信息服务和海量数据处理能力,在科学计算和金融等领域需求迅猛增长。但随着机器的更新换代及为了满足应用的不同计算需求,分布式集群面临两大挑战,即下层硬件趋向异构化与上层应用趋向复杂化。分布式系统下层硬件趋向于异构化的原因主要包括:1、集群规模的不断扩大或机器的损坏导致的重新采购,如Amazon的EC2在5-7年时间就有了2-3个服务器版本;2、随着ARM、GPU、FPGA等硬件的发展,为了满足不同的计算需求,分布式系统下层硬件逐渐趋向于异构化。同时依据负载分析显示,分布式集群所服务的上层应用也逐渐趋向于复杂化,如Hadoop1.0仅支持MapReduce,而Hadoop2.0可同时支持MapReduce[1]、Spark[2]、Tez[3]、Storm[4]等多种计算框架。 传统的分布式处理框架主要为同构集群所设计和优化,不能处理异构集群调度中的复杂选择问题,所以在异构集群下表现较差。这不仅导致浪费各具特点的异构资源,并且不能满足任务执行的时间空间需求,降低了用户满意度。影响系统效能高低的主要因素为部署在体系架构上的资源管理系统,而任务调度又是资源管理的核心,所以为了优化分布式系统的执行效率,应从调度的角度对其进行优化。然而,异构环境下分布式系统的调度问题,由于环境的多样性、选择的复杂性、调度目标的高维多目标性,成为了一个亟待解决的问题。 本文针对异构分布式系统的调度优化展开研究,主要的研究成果包括: 1、下层硬件逐渐趋向异构化,使得大规模异构集群成为分布式集群的一大趋势。本文通过实验分析发现,传统调度器在异构环境下执行效率低下的根本原因是,不能依据异构节点的执行能力进行合理的任务分配。为了解决该问题,本文提出了基于整数优化的全局调度器MrHeter。MrHeter将MapReduce的执行过程分为Map-Shuffle阶段及Reduce阶段,并依据各阶段的特点及异构节点的执行能力进行合理的任务分配。实验结果显示,MrHeter相对于传统的MapReduce处理框架有30%-70%的性能提升,尤其在负载超重及异构节点执行能力差异大时表现优异。 2、上层应用逐渐趋向复杂化,使得服务于混合负载成为分布式集群的一大趋势。本文通过对于大量负载,如Google、Facebook等的分析发现,异构平台所运行的负载逐渐趋向复杂化,并且具有资源偏好特性,即任务在异构节点运行会有不同的性能表现。传统的调度器对于混合负载的资源偏好处理方式是“无约束”或“强制约束”,而“无约束”不能利用异构资源性能优势,“强制约束”因调度策略不灵活而浪费其他空闲可执行资源。所以本文提出了一种高效的折衷表达方案,即“或约束”。“或约束”能集中传统方案的优势,尽量满足任务的资源偏好,同时在偏好节点忙碌时,灵活负载均衡,充分利用其他空闲可执行资源进行任务执行。 3、为了应对分布式系统的两大挑战-下层硬件异构化、上层应用复杂化,提高混合负载在异构环境下的执行效率,本文提出了基于“或约束”机制的全局调度器MixHeter。MixHeter可衡量异构节点的执行能力,合理高效的利用异构资源,并使用效益函数的方法实现“或约束”机制,达到满足混合负载资源偏好的目标。实验结果显示,MixHeter相对比于依据“无约束”及“强制约束的”的传统调度器,有20%-70%的性能提升,尤其在资源偏好型任务异构资源表现差异大且比例高时表现优异。