论文部分内容阅读
随着云计算的逐步发展,工作流系统可在云环境下获得强大的计算和扩展能力;并且云资源“按需付费”的使用模式在极大程度上降低了支付费用。此外,工作流支持对繁琐应用的抽象定义、灵活配置和自动化运行,可有效提高云资源利用率。但现今用户需求不断增多,尤其是工作流技术在云环境下的应用使得需求空间进一步扩大,应用流程也越发复杂。特别是部分业务领域的工作流具有任务多、规模大、实例密集等特点,给云工作流调度研究带来了极大挑战。而调度策略作为云工作流研究的核心和难点,建立任务与虚拟机之间最佳映射关系是一个NP-hard问题。并且相比于传统任务调度,云工作流任务间强时序依赖性和因果依赖性增加了调度分配的复杂度。尤其当大量实例密集型任务同时到达,会造成廉价和优质虚拟资源被频繁调用,导致调度效率低下,资源利用率降低,甚至破坏云环境稳定性。针对上述现状,本文提出了一种两阶段云工作流调度优化策略(Two Phrase Workflow Scheduling Optimization,2PWSO),包括预调度优化和动态调度优化,基于该策略设计并实现了云工作流调度监控平台,通过该平台可对自定义的工作流进行智能调度,利用平台对资源消耗的监控情况以直观地展现所提调度策略的可行性和有效性。本文的主要创新工作包括:(1)提出一种预调度优化方法。通过建立云资源和工作流模型,将改进混合蛙跳算法(ISFLA)应用于云工作流调度中。区别于传统的静态调度方法,本文用基于时间贪心的初始化方法代替传统随机方法以优化初始种群质量,从而提高最优解的搜索效率;此外,还增加了对局部最优个体的重建策略,有效避免了传统蛙跳算法易陷入局部最优的问题。实验结果表明,改进混合蛙跳算法在工作流完成时间、负载均衡度和搜索效率上均优于传统混合蛙跳算法和粒子群算法。(2)提出一种基于负载感知的动态调度优化方法。不同于现有的动态调度方法,本文将负载感知机制加入调度过程中,通过建立负载与资源选择模型,利用所提候选队列生成算法(CQGA)和动态选择算法(DSA),为待执行任务搜索候选资源以切换最优节点执行,从而解决任务执行过程中虚拟机负载不均衡的现象。(3)基于上述优化方法,提出一种两阶段云工作流调度优化策略。在预调度优化的基础上,实现基于负载感知的动态调度优化。一方面,2PWSO策略在任务执行时加入动态监控机制,改善了静态调度在多工作流并行到达时,容易出现单机负载过高拖慢整体执行效率的缺陷;另一方面,2PWSO基于一阶段预调度结果,又可避免常规动态调度仅考虑单时间节点的资源状态,无法兼顾全局约束的局限性。(4)基于上述研究,将2PWSO策略应用于云工作流任务调度,设计并实现了云工作流调度监控平台,该平台可对工作流进行模拟调度,并在任务执行时对资源进行动态监控以评估本文所提调度策略的有效性。