论文部分内容阅读
近些年来越来越多研究者将目光集中于微服务。复杂应用大多以科学工作流的形式表示,所以用微服务工作流来表示一组带有偏序关系的微服务任务集合也是各大应用服务提供商构建公司业务流程的方法。而容器技术的兴起,为微服务的执行和部署提供便捷性。云服务提供商提供多种资源租赁方式,按需租赁和竞价租赁的混合租赁方式可以在保证任务执行可靠性的前提下,大幅度降低微服务任务的执行成本。所以在混合租赁模式下,将带有截止期约束的微服务工作流调度到运行在虚拟机上的众多容器上,以最小化虚拟机租赁费用为目标,具有重要的实际意义和应用前景。与其他NP难工作流调度优化问题相比,该问题所面临的挑战包括两方面:(1)如何充分发挥按需实例的可靠性和竞价实例的低价性,在满足截止期约束的前提下,最小化微服务工作流的执行成本;(2)如何在多维资源约束条件下,在虚拟机上高效安装编排容器以最大化资源利用率。针对以上挑战,本文提出基于规则的混合租赁模式下微服务工作流调度算法。该算法由五大部分组成:任务截止期划分、就绪任务排序、基于规则的任务调度、在线调整和竞价型实例监控。任务截止期划分阶段基于关键路径提出三种不同划分方法,为每个任务分配合理的截止期,以便调度阶段使用;就绪任务排序阶段提出四种不同规则对就绪队列中的任务进行排序,产生初始调度序列;基于规则的任务调度阶段在满足任务偏序约束和计算资源约束的前提下,在资源池中搜索可用虚拟机实例和可用开始时间,根据提出的多种规则对任务进行调度以及在虚拟机上高效的编排容器,以最大化虚拟机的资源利用率;在线调整阶段对于已经完成的任务的后继任务进行评估是否是就绪任务,将就绪任务添加到就绪队列。竞价实例监控负责实时地监控所有竞价实例的资源使用情况和运行状态,对竞价失败事件给予应对措施。为了验证所提算法的性能,本文采用多因素方差分析技术对算法的相关参数和组成部分进行分析,得到最佳的参数和确定算法组成部分;然后将提出的算法与比较算法在不同规模微服务工作流实例下进行实验比较。实验结果表明,本文所提出的RMSHP算法在不同截止期约束下性能均优于比较算法。