
技术摘要:
本发明公开一种多云环境下科学工作流程的调度方法,涉及任务调度技术领域;针对云环境下科学工作流,进行初始化,定义科学工作流的任务的最早结束时间、最早开始时间、最晚开始时间、最晚结束时间及截止日期,对科学工作流进行预处理,确认科学工作流的结构,通过科学 全部
背景技术:
云计算分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解 成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果 并返回给用户。云计算具有强大的并行计算能力,因此在多云环境下产生了科学工作流优 化任务分配问题。 但由于不同云服务提供商提供不同的服务,不同的服务需要不同的计算时间,产 生了不同云环境下的差异。因此在多云环境下为最终任务完成,进行科学工作流任务分配 时,总是增加任务完成时间,不利于最大化地提高云计算速度并给予用户最快的反应,并且 也提高云计算代价的途径增加了自身消耗,降低了企业云计算服务的利润。
技术实现要素:
本发明针对现有技术的问题,提供一种多云环境下科学工作流程的调度方法,根 据多云环境下科学工作流的基本特性,采用合并有向割边任务,分配局部关键路径的任务 到最适合云环境等一系列优化措施压缩数据的传输路径,减少科学工作流的执行代价,进 一步地提高算法的性能。 本发明提出的具体方案是: 一种多云环境下科学工作流程的调度方法,针对云环境下科学工作流,进行初始 化,定义科学工作流的任务的最早结束时间、最早开始时间、最晚开始时间、最晚结束时间 及截止日期, 对科学工作流进行预处理,确认科学工作流的结构,通过科学工作流的有向无环 图,合并存在有向割边的相邻任务,减少任务数量, 针对局部关键路径添加堆栈,将已调度的任务添加到堆栈,并把添加到堆栈的已 调度任务的父任务添加到堆栈,以此反复添加,直到不存在父任务为止, 确认局部关键路径中所有任务的实际开始时间和实际结束时间,并更新最早结束 时间、最早开始时间、最晚开始时间、最晚结束时间及截止日期,调度局部关键路径的任务 到执行任务时间最短的云环境中。 所述的调度方法中定义假入任务和假出任务,假入任务和假出任务的运行时间为 0,用于启动真入任务和真出任务的迭代。 所述的调度方法中合并存在有向割边的相邻任务: 获取科学工作流的DAG,确定每个任务的入度和出度, 如果存在有向割边,则删除所述的有向割边,并把所述的有向割边对应的两个任 务合并为一个新的任务。 4 CN 111597031 A 说 明 书 2/6 页 所述的调度方法中计算科学工作流的所有任务的最早结束时间、最早开始时间、 最晚开始时间、最晚结束时间及截止日期,用于分析云环境执行局部关键路径的任务的时 间。 所述的调度方法中上述过程为: 对局部关键路径的每个任务利用不同云环境下的最早结束时间、最早开始时间、 最晚开始时间、最晚结束时间及截止日期,计算任务的执行时间,并将执行时间进行相加, 得出局部关键路径在各个云环境下的总运行时间,取最小值时的云环境进行调度。 一种多云环境下科学工作流程的调度系统,包括初始化模块、预处理模块、路径模 块及选择调度模块, 初始化模块针对云环境下科学工作流,进行初始化,定义科学工作流的任务的最 早结束时间、最早开始时间、最晚开始时间、最晚结束时间及截止日期, 预处理模块对科学工作流进行预处理,确认科学工作流的结构,通过科学工作流 的有向无环图,合并存在有向割边的相邻任务,减少任务数量, 路径模块针对局部关键路径添加堆栈,将已调度的任务添加到堆栈,并把添加到 堆栈的已调度任务的父任务添加到堆栈,以此反复添加,直到不存在父任务为止, 选择调度模块确认局部关键路径中所有任务的实际开始时间和实际结束时间,并 更新最早结束时间、最早开始时间、最晚开始时间、最晚结束时间及截止日期,调度局部关 键路径的任务到执行任务时间最短的云环境中。 多云环境下科学工作流程的调度装置,包括:至少一个存储器和至少一个处理器; 所述至少一个存储器,用于存储机器可读程序; 所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种多云环境下 科学工作流程的调度方法。 计算机可读介质:所述计算机可读介质上存储有计算机指令,所述计算机指令在 被处理器执行时,使所述处理器执行所述的一种多云环境下科学工作流程的调度方法。 本发明的有益之处是: 本发明提供一种多云环境下科学工作流程的调度方法,利用对科学工作流进行预 处理,通过科学工作流的有向无环图合并存在有向割边的相邻任务,减少任务数量,缩短了 任务执行的总的时间,并通过局部关键路径添加堆栈,堆栈内按照任务的前后关系添加任 务,使所有任务依次执行,确定了局部关键路径中所有任务的实际开始时间和实际结束时 间,并更新最早结束时间、最早开始时间、最晚开始时间、最晚结束时间及截止日期,完成调 度局部关键路径的任务到执行任务时间最短的云环境中,减少科学工作流的执行代价,进 一步地提高算法的性能。 附图说明 图1是本发明方法流程示意图。