论文部分内容阅读
共享状态调度是一种服务集群资源管理和调度的架构,它将资源管理和任务调度功能进行了解耦并采用了多调度代理对集群中的任务进行调度。它解决了传统的集中式调度存在的扩展局限的问题,在大规模服务集群中得到了很好的应用。然而,共享状态调度存在冲突检测算法单一和灵活性差以及高负载时调度冲突导致调度性能恶化问题。因此,本文对共享状态调度进行了深入地研究,并针对它存在的这些问题提出相应的解决方法。论文工作分别从大规模服务集群的调度架构、共享状态调度下的冲突检测算法和调度相关算法三个方面展开,主要内容如下:1、提出了一种基于并行验证机制的共享状态调度:PVBSSS(Parallel Validationbased Shared-state Scheduler)架构。该调度架构首先采用了多个调度代理通过共享的集群资源使用状态信息并发地进行调度决策工作,然后通过冲突检测算法解决这些并发生成的调度决策之间冲突问题。对不同类型工作负载的调度决策,PVBSSS支持采用不同的冲突检测算法处理冲突。因此结合服务集群中常见的批处理型工作和服务型工作的调度需求,分别提出了对应的冲突检测算法:并行的粗粒度冲突检测算法和并行的细粒度冲突检测算法。通过在OCSS(Omega Cluster Scheduler Simulator)平台进行的上万台服务集群中一天内近百万工作的调度测试显示,PVBSSS能够灵活和高效地完成大规模工作负载的调度,并且它的两种冲突检测算法相较已有的细粒度冲突检测算法更能有效检测出潜在的有害冲突,同时受调度决策时间影响相对较小,因此更能适应多种调度策略并存的应用环境。2、提出了一种多属性融合冲突检测算法。对批处理型任务,该方法首先建立了其多属性模型,然后根据证据融合规则将多个属性的属性值融合为一个表征工作重要程度的属性值,最后在冲突检测时优先通过该属性值大的任务调度决策,从而通过控制冲突决策来完成对批处理类型工作调度的整体优化。此外,算法还采用了主观赋值和证据加权平均合成两种方法对融合权重进行设置。实验结果表明,该算法能够达到优化批处理型工作调度性能的目的。3、提出了进行冲突预防和控制的算法:具有冲突预防功能的批抽样调度算法,基于机会成本的冲突预防批抽样调度算法和基于随机早检测(RED:Random Early Detection)机制的准入控制算法。具有冲突预防功能的批抽样调度算法在调度时除了考虑资源需求和任务约束外,在为任务选择机器时主要考虑了机器上调度决策的并发情况,通过选择并发调度决策较少的机器来达到冲突预防的目的,该算法的理论和实验分析显示它能够显著地减少冲突。基于机会成本的冲突预防批抽样调度算法在为任务选择机器时同时考虑了机器边际成本和冲突等多种因素,该算法的实验分析显示了它能同时兼顾负载均衡、减少搁浅资源和冲突预防等目标,更适合复杂的调度环境。作为本文提出的最后一个算法,基于随机早检测机制的准入控制算法主要通过服务集群中实时冲突情况对工作的准入进行控制,避免冲突频繁时准入过多工作带来的调度性能恶化问题,该算法的实验分析显示它能在集群高负载时有效地对冲突进行控制。