论文部分内容阅读
云计算具有按需供给、按使用付费的特点,已成为执行大型应用的有效方式之一。在云计算中,应用通常以工作流的方式被提交执行。合理的工作流调度能极大改善云计算的整体性能并降低成本。一方面,现有关于云工作流调度的研究考虑的目标较单一,缺少求解四个及以上目标调度问题的有效方法,无法满足多样性应用场景和需求。另一方面,调度中的容错问题通常仅考虑将可靠性作为调度目标以获得可靠性较高的调度方案,或是面向资源故障的容错策略,而较少关注云工作流中由于任务异常或软件故障导致的任务执行失败后的容错机制,这一场景在云工作流调度中也是较为常见的,需要加以考虑。针对上述问题,本文所做工作主要包括以下两方面:(1)提出了多目标云工作流调度模型,并针对上述模型特点,提出了改进的KnEA算法求解该模型。首先,从用户角度出发,构建了包含云工作流最大完成时间和平均完成时间,云工作流执行的可靠性以及费用等四个目标的多目标云工作流调度模型。然后,基于当前求解Many-objective Optimization problems(MaOPs)的算法中性能较优的KnEA进行了改进,提出了基于熵权和TOPSIS的非knee points解的排序与选择策略和基于熵权的各目标较优解的选择策略,用于求解上述MaOPs。最后,通过仿真实验表明,与现有算法相比,该算法能高效的获得质量更优的解,尤其是在限制优化时间的场景下,该算法较现有一些算法性能提升更大。因此非常适用于解决在较短优化时间内即可获得较优解集的多目标调度优化问题。(2)针对由于任务异常或软件故障导致的任务执行失败的场景,采取重试策略进行容错,提出了面向任务执行失败的云工作流重调度策略。首先,针对任务执行失败的场景,基于计算资源(虚拟机)的空闲时间间隔,以执行失败任务所在实例的完成时间,重调度任务的执行成本,以及重调度任务所属实例执行的可靠性为目标,构建了多目标的云工作流重调度模型。然后,对于重调度任务数量和可用虚拟机数量的不同所导致的备选重调度方案数量差异较大的问题,分别采用无偏好的多准则决策以及无偏好多目标优化与多准则决策结合的策略,得到较优的重调度方案。最后通过算例说明了该重调度机制的有效性。本文所提出的面向用户的多目标云工作流调度研究,可进一步满足工作流调度需求的多样性,提升云计算的服务质量,同时可丰富业务流程管理与云工作流调度的理论方法体系,具有较好的实际应用前景。