【技术实现步骤摘要】
面向完成时间优化的科学工作流调度方法及系统
本专利技术涉及计算机
,具体地,涉及一种基于无服务器架构的面向完成时间优化的科学工作流调度方法及系统。
技术介绍
在科学计算中,科学工作流是一个被广泛使用的抽象概念。一个工作流一般用一个有向无环图(DAG)来表示,包括一系列任务和任务内或者任务间所输入或者输出的数据。将一个科学应用构建成一个工作流提供了一种表示科学问题的方便抽象,将复杂的并行调度下沉到工作流调度系统中。对于科学工作流来说,其工作的可重复性至关重要。一个科学工作流任务可能会有多个依赖或者多个配置文件,因为这些复杂的依赖和配置文件,不同的工作流任务之间可能会存在依赖冲突问题。如何处理好这些依赖问题,是一个成熟的科学工作流系统的标志之一。为此,现有一部分科学工作流系统选择了将任务打包成容器,然后运行在基于容器的集群中。这解决了工作流任务的依赖问题,但是,如何在集群中高效调度执行工作流任务的容器依然是一个很有挑战性的问题。此外,工作流任务有着不同的类型,一般会基于时间将其分类成两种:长 ...
【技术保护点】
1.一种面向完成时间优化的科学工作流调度方法,其特征在于,包括:/nDAG转换步骤:将给定的科学工作流配置转换成对应的有向无环图;/n函数转换步骤:将科学工作流中的每层任务转换成无服务器函数并部署到对应集群中;/n资源分配步骤:对于有向无环图中的每层任务,根据参数配置,将资源分配给所述任务并运行;/n动态调整步骤:在任务运行的过程中,保持对集群的监控,根据任务的剩余运行时间和系统可用资源动态调整每个任务的资源分配。/n
【技术特征摘要】
1.一种面向完成时间优化的科学工作流调度方法,其特征在于,包括:
DAG转换步骤:将给定的科学工作流配置转换成对应的有向无环图;
函数转换步骤:将科学工作流中的每层任务转换成无服务器函数并部署到对应集群中;
资源分配步骤:对于有向无环图中的每层任务,根据参数配置,将资源分配给所述任务并运行;
动态调整步骤:在任务运行的过程中,保持对集群的监控,根据任务的剩余运行时间和系统可用资源动态调整每个任务的资源分配。
2.根据权利要求1所述的面向完成时间优化的科学工作流调度方法,其特征在于,所述DAG转换步骤包括:
S101、提取工作流配置中的每个任务,并在对应的有向无环图中创建一个图节点,并指定每个任务的运行最大实例数;
S102、根据工作流任务间的依赖关系,在创建的有向无环图中添加对应的边;
S103、基于工作流的名称生成对应有向无环图的ID;
S104、标记创建的有向无环图中的根节点;
S105、将ID、截止时间和有向无环图在内的要素封装成一个工作流对象。
3.根据权利要求1所述的面向完成时间优化的科学工作流调度方法,其特征在于,在所述函数转换步骤中,将一个科学工作流中个功能相同但输入不同的任务汇总,并通过RestfulAPI将任务暴露,使用同样的任务镜像打包成相同的无服务器函数。
4.根据权利要求2所述的面向完成时间优化的科学工作流调度方法,其特征在于,所述函数转换步骤包括:
S201、根据指标提取当前需要转换的任务;
S202、提取当前需要转换的任务的名称和镜像地址;
S203、将任务的名称、镜像地址、命名空间、自动伸缩规则配置在内的信息打包生成一个对应的无服务器函数;
S204、工作流系统根据任务指定的输入和输出,给每个无服务器函数实例分配一对输入key和输出key;
S205、工作流系统在每个无服务器函数实例所对应的输入key和输出key中,写入输入文件和输出文件的集合K_input和K_output;
S206、当无服务函数执行时,工作流系统下载函数镜像,并在集群中根据镜像部署对应的无服务器函数,生成一个函数运行实例,并保留实例暴露出来的RestfulAPI接口。
5.根据权利要求1所述的面向完成时间优化的科学工作流调度方法,其特征在于,所述资源分配步骤包括确定单位任务所需的资源量:
工作流系统根据工作流池中运行的所有任务的函数总实例数、工作流的剩余运行时间以及当前集群可用资源,将整个集群的资源按比例分配给所有正在运行的任务;
采用以下方法来确定每个任务单个实例所需的CPU资源和内存资源量:
对于每个即将运行的任务,在容器中启动该任务的1个实例,每隔固定的时间间隔对容器所消耗的CPU资源和内存资源数据进行收集,收集结果会形成两个时间序列,分别记为dcpu={dcpu,1,…,dcpu,n}和dmem={dmemm,1,…,dmem,n};
记当前的时间间隔序号为i,所收集的CPU数据为dcpu,i,内存数据为dmem,i;若在某一个时间间隔i内,同时满足以下两个条件:
则视为当前任务资源消耗趋于稳定,将dcpu,i和dmem,i作为任务间资源分配算法时所使用的任务资源消耗量;
若在时间间隔j,j>i时,所收集的CPU数据dcpu,j和内存数据dmem,j也满足上述两个条件,则对于CPU资源数据,取dcpu,i和dcpu,j中的最大值作为用于调度的CPU资源量;对于内存资源数据同样处理;
若一直没有时间间隔i满足以上两个条件,则取dcpu...
【专利技术属性】
技术研发人员:钱诗友,周杰,薛广涛,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。