论文部分内容阅读
云环境下带多维配置需求的独立任务调度广泛存在于Openstack、Kubernetes等集群管理平台和系统中。本文考虑多租户场景下的独立任务的多维配置需求、执行资源要求以及硬截止期约束,以最小化服务器能耗和保证租户服务质量为优化目标,研究数据中心独立任务调度问题。该问题的主要挑战有:(1)容器相比虚拟机在申请CPU资源时有更小的粒度,意味着容器任务可更灵活的占用CPU时间碎片,将容器任务延后调度可使服务器工作负载在时间维度上更加均衡,但可能会违反截止期约束;(2)任务具有并行度属性,在并行度范围内为其分配更多CPU核心数可以减少任务的执行时间,但会造成服务器能耗增加。针对所考虑问题场景,根据数据中心服务能力不同将研究分为了两部分:资源充足条件下优化数据中心能耗以及资源紧缺条件下保证服务质量的同时优化数据中心能耗。分析两个子问题的特点,并分别建立了相应的数学模型。针对数据中心服务能力充足时的能耗优化问题,本文提出了多维配置需求任务能耗感知调度方法(ESMCR)。算法包括任务调度序列生成、宿主服务器选择、可用时间块搜索和任务时间块匹配等四个算法组件。面向任务调度序列生成阶段,提出了最大并行度优先、最短浮动时间优先、最大资源需求优先以及基于截止期随机排序等四种策略。为优化算法执行时间,在资源分配前先确定宿主服务器,避免后续步骤的全局搜索。提出了最小平均利用率、最大计算能力以及最小平均功率等三种策略用于选择宿主服务器。选定宿主机后,采用遍历的方式搜索所有的可用时间块,最后为任务选择合适的时间块。面向任务时间块匹配阶段,提出了最早开始时间、最晚开始时间、最低平均利用率和最佳内存适配等四种规则。针对数据中心服务能力不足时服务质量和能耗的双目标优化问题,本文采用基于信息熵构造的性能指标衡量服务质量,并提出基于分解的多目标进化算法结合多维配置需求任务能耗感知调度方法(MOEA/D-ES)以解决相应问题。算法主要包括初始种群构造、序列优化评估以及任务序列调整三个核心环节。面向初始种群构造阶段,算法采用ESMCR算法的任务调度序列生成规则结合随机排序构造初始种群个体。序列优化评估是根据调度序列编码进行计算得出优化目标值的阶段,算法采用ESMCR的宿主服务器选择、可用时间块搜索以及任务时间块匹配方法对序列进行评估,并提出LDD(Later Due Date)规则对序列进行优化。面向任务序列调整阶段,算法采用差分进化交叉和多项式变异产生新的调度序列。为验证所提出算法的性能,本文采用多因素方差分析技术分别对两个算法的组件或参数进行校正,通过大量实验选择最佳的算法参数组合;对ESMCR算法的进行组件校正,发现在任务调度序列生成阶段,提出的四个算法组件对于结果的作用差异并不明显,而不同的启发式策略对于宿主服务器选择和任务时间块匹配则有显著性差异。MOEA/D-ES算法参数校正采用IGD(Inverted Generation Distance)的相对百分比偏差将帕累托解集转化为单值评价指标,发现在不同参数取值对评价指标的影响没有显著性差异。对现有的两种虚拟机放置问题能耗优化方法根据不同子问题的场景进行一定的修改,作为两个算法的对比算法;通过大量的实验验证,本文所提出的两种算法在不同的租户数以及不同任务类型比例下均优于对比算法。