CN113064710A - 一种云工作流调度方法及系统 - Google Patents
一种云工作流调度方法及系统 Download PDFInfo
- Publication number
- CN113064710A CN113064710A CN202110404960.4A CN202110404960A CN113064710A CN 113064710 A CN113064710 A CN 113064710A CN 202110404960 A CN202110404960 A CN 202110404960A CN 113064710 A CN113064710 A CN 113064710A
- Authority
- CN
- China
- Prior art keywords
- task
- workflow
- service instance
- tasks
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种云工作流调度方法及系统,涉及云计算技术领域,包括获取用户提交的工作流;计算工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;根据任务的优先级,计算每个任务的子截止时刻;根据每个任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例。工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略。本发明能够使工作流中的任务能够调度到更合适的服务实例,同时减少服务实例的启动数量,获得更优的调度方案。
Description
技术领域
本发明涉及云计算技术领域,特别是涉及一种云工作流调度方法及系统。
背景技术
随着互联网与云计算的不断发展,基础架构即服务(IaaS)云由于其强大的弹性计算能力和按需模型而成为执行工作流的最流行平台。IaaS云向用户提供了大量且具有不同类型的服务实例,并采用时间间隔计价模型,即服务实例使用时间不足一个时间间隔的,按照一个时间间隔计费。同时不同类型的服务实例具有不同的计费标准,一般较高处理能力的服务实例具有更高的计费。对于工作流的执行,选择低处理能力的服务实例以降低执行花费还是选择高处理能力的服务实例以减少执行时间成为不可忽视的问题。因此,在IaaS云中,为工作流中的任务,分配合适的服务实例,实现高效调度工作流,是目前急需解决的技术问题。
发明内容
鉴于此,本发明提供了一种云工作流调度方法及系统,能够为工作流中的任务分配到合适的服务实例,进而达到高效调度工作流的目的。
为实现上述目的,本发明提供了如下方案:
一种云工作流调度方法,包括:
获取用户提交的工作流;所述工作流包括n个任务,且所述任务与所述任务之间具有数据依赖关系或控制依赖关系;
计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
根据所述任务的优先级,计算每个所述任务的子截止时刻;
根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
可选的,所述计算所述工作流中每个任务的优先级,具体包括:
根据以下公式计算所述工作流中每个任务的优先级;
所述公式为:
其中,表示出口任务texit的概率秩,texit表示出口任务,表示任务ti的参考执行时间,CU*表示所有服务实例的最高处理能力;表示任务ti的概率秩,是任务ti的所有子任务,表示任务tc的概率秩,表示任务ti和任务tc之间的传输时间,是属于区间(0,1)的参数;表示从出口任务texit到任务ti最长路径上的任务数,称为任务ti的级别,表示属于级别的任务的个数,称为级别的宽度;是级别和级别的宽度比,称为宽度变化趋势,γc是任务tc的布尔变量。
可选的,所述根据所述任务的优先级,计算每个所述任务的子截止时刻,具体包括:
可选的,在执行根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例之前,还包括:
根据每个所述任务对应的优先级,对工作流中的任务进行非升序排序,并统计排序后的工作流的第一级连续入口任务、非第一级连续入口任务以及第一级连续入口任务的个数K。
可选的,所述根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例,具体包括:
确定每个所述任务的预测步长;其中,所述第一级连续入口任务的预测步长为a*K,所述非第一级连续入口任务的预测步长s为b,a与b均为正整数;
根据每个所述任务的预测步长,确定每个所述任务关联的随后任务的个数;
初始化最好的服务实例为在预存的服务实例集合中使所述当前任务完成时间最早的服务实例,阈值花费为无穷大;
判断指定服务实例是否满足当前任务的子截止时刻,若是则将所述当前任务关联的s个随后任务分别指派给能够满足每个所述随后任务的子截止时刻同时使每个所述随后任务的花费增加值最小的服务实例;若否则更换所述指定服务实例,并返回判断指定服务实例是否满足当前任务的子截止时刻步骤;
根据所述工作流调度模型,计算所述当前任务以及所述当前任务关联的s个随后任务对应的当前花费增加值;所述当前花费增加值为所述当前任务以及所述当前任务关联的s个随后任务被假设指派服务实例后增加的花费;
判断所述当前花费增加值是否小于阈值花费,若是则将最好的服务实例更新为所述指定服务实例,并将所述阈值花费更新为当前花费增加值;
判断是否遍历完预存的服务实例集合中的每个服务实例,若否则更换所述服务实例,并返回判断指定服务实例是否满足当前任务的子截止时刻步骤;
将所述当前任务指派给最好的服务实例;
重复上述操作,直到每个任务都有指派的服务实例为止。
一种云工作流调度系统,包括:
工作流获取模块,用于获取用户提交的工作流;所述工作流包括n个任务,且所述任务与所述任务之间具有数据依赖关系或控制依赖关系;
优先级计算模块,用于计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
子截止时刻计算模块,用于根据所述任务的优先级,计算每个所述任务的子截止时刻;
服务实例确定模块,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
在本发明中,提出前瞻性服务实例选择策略,即对工作流中的任务进行服务实例选择时,从当前任务看其随后的任务,考虑这些随后的任务的服务实例选择对当前任务的影响,避免服务实例选择的短视性;通过在现有的截止时间分配策略中引入工作流水平方向信息和工作流的宽度变化趋势,避免截止时间分配的不合理性,减少服务实例的启动数量,提高服务实例的利用率。本发明能够有效克服现有工作流调度方法中服务实例选择的短视性和截止时间分配的不合理性等缺点,使工作流中的任务能够调度到更合适的服务实例,同时减少服务实例的启动数量,获得更优的调度方案。
一种云工作流调度方法,包括:
获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系;
确定所述工作流中每个任务的子截止时刻;
根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
一种云工作流调度系统,包括:
工作流获取模块,用于获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系;
子截止时刻确定模块,用于确定所述工作流中每个任务的子截止时刻;
服务实例确定模块,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
在本发明中,提出前瞻性服务实例选择策略,即对工作流中的任务进行服务实例选择时,从当前任务向前看其随后任务,考虑这些随后任务的服务实例选择对当前任务的影响,避免服务实例选择的短视性。本发明能够有效克服现有工作流调度方法中服务实例选择的短视性,使工作流中的任务能够调度到更合适的服务实例,获得更优的调度方案。
一种云工作流调度方法,包括:
获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系;
计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
根据所述任务的优先级,计算每个所述任务的子截止时刻;
根据每个所述任务的子截止时刻,调用预存的服务实例集合和工作流调度模型,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数。
一种云工作流调度系统,包括:
工作流获取模块,用于获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系;
优先级计算模块,用于计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
子截止时刻计算模块,用于根据所述任务的优先级,计算每个所述任务的子截止时刻;
服务实例确定模块,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合和工作流调度模型,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
通过在现有的截止时间分配策略中引入工作流水平方向信息和工作流的宽度变化趋势,避免截止时间分配的不合理性,减少服务实例的启动数量,提高服务实例的利用率。本发明能够有效克服现有工作流调度方法中截止时间分配的不合理性等缺点,使工作流中的任务能够调度到更合适的服务实例,同时减少服务实例的启动数量,获得更优的调度方案。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一工作流调度方法的流程示意图;
图2为本发明与现有算法的实验结果对比图;
图3为本发明实施例二工作流调度系统的结构示意图;
图4为本发明实施例三工作流调度方法的流程示意图;
图5为本发明实施例四工作流调度系统的结构示意图;
图6为本发明实施例五工作流调度方法的流程示意图;
图7为本发明实施例六工作流调度系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种云工作流调度方法及系统,以实现工作流中的任务能够分配到合适的服务实例,进而得到更优调度方案的目的。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
本发明实施例一的目的是为了解决现有工作流调度方法中存在的服务实例选择具有短视性和截止时间分配具有不合理性的问题,提出了一种具有宽度变化趋势的前瞻性云工作流调度方法。其基本思想是:在对工作流中的任务进行服务实例选择时,从当前任务看其随后的任务,考虑这些随后的任务的选择对当前任务的影响,避免服务实例选择的短视性;在截止时间分配时,同时考虑了工作流在垂直方向和水平方向的信息,也考虑了工作流在水平方向上信息的变化趋势,即宽度变化趋势,避免了截止时间分配的不合理性,从而得到更优的调度方案。
本发明实施例一提供了一种具有宽度变化趋势的前瞻性云工作流调度方法,如图1所示,包括如下步骤。
步骤101:获取用户提交的工作流。所述工作流包括n个任务,且所述任务与所述任务之间具有数据依赖关系或控制依赖关系。
步骤102:计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩。
在执行步骤102之前,先对所述工作流进行建模处理。其建模过程如下:
将工作流建模成由有向无环图DAG=(T,E),其中,T={t1,t2,...,tn}是有向无环图中节点的集合,表示工作流中的n个任务;E={...,ei,q,...}是有向无环图中边的集合,表示任务之间的依赖关系,如ei,q表示任务ti与任务tq之间的数据依赖关系或控制依赖关系,即当且仅当任务ti执行完后,任务tq才可以执行;任务ti被称为任务tq的父任务,任务tq被称为任务ti的子任务;没有父任务的任务被称为入口任务tentry,没有子任务的任务被称为出口任务texit。
在执行步骤102之前,还要介绍下IaaS云提供的服务实例和工作流调度模型。
IaaS云具有提供无限服务实例的池子,表示为R={r1,r2,...,rj,...},并假设其包含m个不同的服务实例类型。每种服务实例类型都包含特定数量的CPU、内存、网络等,具有不同的处理能力和不同的收费
父任务ti和子任务tq之间的传输时间其计算如公式所示。其中,bw是两个不同服务实例之间的平均网络带宽;是任务ti传输到任务tq的数据;是执行任务ti的服务实例;若任务ti和任务tq在同一个服务实例上执行,则传输时间为0。
其中,WEC是工作流的执行花费,由公式计算,RL是为调度方案确定的从IaaS云租用的服务实例,是服务实例rj的租用开始时刻,由公式计算,是服务实例rj的租用结束时刻,由公式计算,to是在服务实例rj上执行的第一个任务,tn是在服务实例rj上执行的最后一个任务,是任务t0的所有父任务,即tp是任务t0的父任务,是任务tn的所有子任务,即ts是任务tn的子任务;WET是工作流的执行时间,由公式计算,D是用户定义的截止时间约束条件,即执行完工作流的最晚完成时刻。
本实施例所述的步骤102,具体包括:
其中,表示出口任务texit的概率秩,表示任务ti的参考执行时间,CU*表示所有服务实例的最高处理能力;表示任务ti的概率秩,表示任务ti的所有子任务,任务tc是任务ti的子任务,表示任务tc的概率秩,γc是任务tc的布尔变量;表示任务ti和任务tc之间的传输时间,是属于区间(0,1)的参数;表示从出口任务texit到任务ti最长路径上的任务数,称为任务ti的级别,表示属于级别的任务的个数,称为级别的宽度;是级别和级别的宽度比,体现了工作流在水平方向上的变化趋势,称为宽度变化趋势。
步骤103:根据所述任务的优先级,计算每个所述任务的子截止时刻。
步骤104:根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
在执行步骤104之前,先执行以下步骤。
根据每个所述任务对应的优先级,对工作流中的任务进行非升序排序,并统计排序后的工作流的第一级连续入口任务、非第一级连续入口任务以及第一级连续入口任务的个数K。
本实施例所述的步骤104,具体包括:
步骤1、确定每个任务的预测步长;第一级连续入口任务的预测步长为a*K,非第一级连续入口任务的预测步长s为b。
一个示例:第一级连续入口任务的预测步长为2*K,非第一级连续入口任务的预测步长s为3。
步骤2、初始化任务ti选择的服务实例bestIns为空,变量bestMetric为无穷大。
步骤3、假设指派:对指定服务实例rj,假设将当前任务ti指派给指定服务实例rj,若不满足当前任务ti的子截止时刻,则跳转到步骤6;若满足当前任务ti的子截止时刻,则将当前任务ti后的s个随后任务分别指派给能够满足其子截止时刻同时使每个随后任务的花费增加值最小的服务实例,若这样的服务实例不存在,则将s个随后任务指派给让其完成时间最早的服务实例。
步骤4、根据工作流调度模型,计算当前任务ti以及当前任务ti关联的s个随后任务对应的当前花费增加值costI;当前花费增加值costI为当前任务ti以及所述当前任务ti关联的s个随后任务被假设指派服务实例后增加的花费。
步骤5、若costI<bestMetric,则更新bestMetric=costI和bestIns=rj。
步骤6、判断已租用服务实例和每一种类型的新服务实例是否遍历完,若未遍历完,则将指定服务实例rj赋值为下一个服务实例,并跳转到步骤3。
步骤7、若bestIns为空,则设置bestIns为使当前任务ti完成时间最早的服务实例。
步骤8、将当前任务ti指派给bestIns,完成当前任务ti的指派。
步骤9、若bestIns为新服务实例,则将bestIns修改为已租用服务实例。
步骤10、判断工作流中的每一个任务是否遍历完,若未遍历完,则将当前任务ti赋值为下一个任务,并跳转到步骤1。
为了更好的验证本发明提供的技术方案,现计算调度方案的执行花费WEC和执行时间WET,评价性能,输出调度结果。
定义成功率SR、工作流的标准执行花费NC、性能提高率IP(A,B)三个指标,来评价调度算法的优劣。
其中,成功率是多次实验中满足截止时间约束的调度方案的个数nsuc与调度方案的总数ntot之比;WECcheap是由HEFT将所有任务分配给一个最便宜的服务实例获得的调度方案的WEC;性能提高率是在满足截止时间约束的前提下,算法A比算法B在标准执行花费上提高的百分比。
在实验中,采用亚马逊EC2云提供的部分服务实例,并选用Cybershake、Epigenomics、Montage、LIGO和SIPHT五类实际的科学工作流。在不同的截止时间约束下,对每类工作流中的含有50、100、1000个任务三种规格的工作流进行实验,为了公平性,每组实验重复进行30次,取平均值作为最终结果。
工作流调度算法性能以成功率、工作流的标准执行花费、性能提高率为指标进行评价。实验选取了IC-PCP、ProLiS、PSO和L-ACO等几个先进的调度算法与本发明方法(W-LA)进行对比,实验结果如图2与表1所示。
表1实验结果对比表
由表1可知,本发明在工作流的标准执行花费上的性能远远高于PSO,为了作图效果,在图2中没有展示PSO的实验结果。根据图表可知,与IC-PCP、ProLiS、PSO和L-ACO调度算法相比,本发明获得了更高的成功率,且减少了工作流的标准执行花费,得到了更优的调度方案,表现出了更好的性能,说明本发明方法对克服现有调度方法中的缺点是行之有效的。
实施例二
为实现上述目的,本发明还提供了一种与实施例一对应的云工作流调度系统,如图3所示,包括:
工作流获取模块301,用于获取用户提交的工作流;所述工作流包括n个任务,且所述任务与所述任务之间具有数据依赖关系或控制依赖关系。
优先级计算模块302,用于计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩。
子截止时刻计算模块303,用于根据所述任务的优先级,计算每个所述任务的子截止时刻。
服务实例确定模块304,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
实施例三
在现有的工作流调度方法中,例如,采用短视的方式为任务选择服务实例,但是忽略了未来信息对当前服务实例选择的影响,造成了服务实例选择的短视性。因此亟需设计高效的工作流调度方法,以克服现有技术中存在的问题。
鉴于此,本发明实施例三提供一种云工作流调度方法,如图4所示,包括:
步骤401:获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系。
步骤402:确定所述工作流中每个任务的子截止时刻。
其中,任务子截止时刻的确定过程为现有技术,在此不再赘述,也可以是根据客户需求确定每个任务的子截止时刻。
步骤403:根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
步骤403具体过程参见实施例一的步骤104,在此不再赘述。
实施例四
为实现上述目的,本发明还提供了一种与实施例三对应的一种云工作流调度系统,如图5所示,包括:
工作流获取模块501,用于获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系。
子截止时刻确定模块502,用于确定所述工作流中每个任务的子截止时刻。
服务实例确定模块503,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
实施例五
在现有的工作流调度方法中,例如,在截止时间分配时仅仅考虑了工作流在垂直方向的信息,缺乏对工作流在水平方向信息的考虑,导致了截止时间分配的不合理性。因此亟需设计高效的工作流调度方法,以克服现有技术中存在的问题。
鉴于此,本发明实施例提供了一种云工作流调度方法,如图6所示,包括:
步骤601:获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系。
步骤602:计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩。
步骤603:根据所述任务的优先级,计算每个所述任务的子截止时刻。
步骤604:根据每个所述任务的子截止时刻,调用预存的服务实例集合和工作流调度模型,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数。
其中,步骤602和步骤603具体过程参见实施例一所述的步骤102和步骤103。步骤604的具体过程为现有技术,在此不再赘述。
实施例六
为实现上述目的,本发明实施例提供了实施例五对应的一种云工作流调度系统,如图7所示,包括:
工作流获取模块701,用于获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系。
优先级计算模块702,用于计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩。
子截止时刻计算模块703,用于根据所述任务的优先级,计算每个所述任务的子截止时刻。
服务实例确定模块704,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合和工作流调度模型,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数。
与现有技术相比,本发明实施例能够有效克服现有工作流调度方法中服务实例选择的短视性和截止时间分配的不合理性等缺点,使工作流中的任务能够调度到更合适的服务实例,同时减少了服务实例的启动数量,获得了更优的调度方案,具体包括以下几点:
1、首次在工作流调度的服务实例选择中提出前瞻性策略,为服务实例选择提供了新思路和新途径。
2、通过对现有的服务实例选择进行改进,即修改短视性策略为前瞻性策略,能够为工作流中的任务选择更合适的服务实例,减少了整个工作流的执行花费和执行时间,改善了工作流调度性能。
3、通过在现有的截止时间分配策略中引入工作流水平方向信息和工作流的宽度变化趋势,有效避免了截止时间分配的不合理性,减少了服务实例的启动数量,提高了服务实例的利用率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种云工作流调度方法,其特征在于,包括:
获取用户提交的工作流;所述工作流包括n个任务,且所述任务与所述任务之间具有数据依赖关系或控制依赖关系;
计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
根据所述任务的优先级,计算每个所述任务的子截止时刻;
根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
2.根据权利要求1所述的一种云工作流调度方法,其特征在于,所述计算所述工作流中每个任务的优先级,具体包括:
根据以下公式计算所述工作流中每个任务的优先级;
所述公式为:
4.根据权利要求1所述的一种云工作流调度方法,其特征在于,在执行根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例之前,还包括:
根据每个所述任务对应的优先级,对工作流中的任务进行非升序排序,并统计排序后的工作流的第一级连续入口任务、非第一级连续入口任务以及第一级连续入口任务的个数K。
5.根据权利要求4所述的一种云工作流调度方法,其特征在于,所述根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例,具体包括:
确定每个所述任务的预测步长;其中,所述第一级连续入口任务的预测步长为a*K,所述非第一级连续入口任务的预测步长s为b,a与b均为正整数;
根据每个所述任务的预测步长,确定每个所述任务关联的随后任务的个数;
初始化最好的服务实例为在预存的服务实例集合中使所述当前任务完成时间最早的服务实例,阈值花费为无穷大;
判断指定服务实例是否满足当前任务的子截止时刻,若是则将所述当前任务关联的s个随后任务分别指派给能够满足每个所述随后任务的子截止时刻同时使每个所述随后任务的花费增加值最小的服务实例;若否则更换所述指定服务实例,并返回判断指定服务实例是否满足当前任务的子截止时刻步骤;
根据所述工作流调度模型,计算所述当前任务以及所述当前任务关联的s个随后任务对应的当前花费增加值;所述当前花费增加值为所述当前任务以及所述当前任务关联的s个随后任务被假设指派服务实例后增加的花费;
判断所述当前花费增加值是否小于阈值花费,若是则将最好的服务实例更新为所述指定服务实例,并将所述阈值花费更新为当前花费增加值;
判断是否遍历完预存的服务实例集合中的每个服务实例,若否则更换所述服务实例,并返回判断指定服务实例是否满足当前任务的子截止时刻步骤;
将所述当前任务指派给最好的服务实例;
重复上述操作,直到每个任务都有指派的服务实例为止。
6.一种云工作流调度系统,其特征在于,包括:
工作流获取模块,用于获取用户提交的工作流;所述工作流包括n个任务,且所述任务与所述任务之间具有数据依赖关系或控制依赖关系;
优先级计算模块,用于计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
子截止时刻计算模块,用于根据所述任务的优先级,计算每个所述任务的子截止时刻;
服务实例确定模块,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
7.一种云工作流调度方法,其特征在于,包括:
获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系;
确定所述工作流中每个任务的子截止时刻;
根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
8.一种云工作流调度系统,其特征在于,包括:
工作流获取模块,用于获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系;
子截止时刻确定模块,用于确定所述工作流中每个任务的子截止时刻;
服务实例确定模块,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合、工作流调度模型以及前瞻性服务实例选择策略,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数;所述前瞻性服务实例选择策略为根据随后任务选择的服务实例调整当前任务的服务实例的策略;所述随后任务为所述当前任务执行后再执行的任务。
9.一种云工作流调度方法,其特征在于,包括:
获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系;
计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
根据所述任务的优先级,计算每个所述任务的子截止时刻;
根据每个所述任务的子截止时刻,调用预存的服务实例集合和工作流调度模型,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数。
10.一种云工作流调度系统,其特征在于,包括:
工作流获取模块,用于获取用户提交的工作流;所述工作流包括n个任务,且任务与任务之间具有数据依赖关系或控制依赖关系;
优先级计算模块,用于计算所述工作流中每个任务的优先级;所述优先级为具有宽度变化趋势的概率秩;
子截止时刻计算模块,用于根据所述任务的优先级,计算每个所述任务的子截止时刻;
服务实例确定模块,用于根据每个所述任务的子截止时刻,调用预存的服务实例集合和工作流调度模型,确定每个任务对应的服务实例;所述工作流调度模型的目标函数为在截止时间约束条件下确定工作流最小执行花费的函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110404960.4A CN113064710B (zh) | 2021-04-15 | 2021-04-15 | 一种云工作流调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110404960.4A CN113064710B (zh) | 2021-04-15 | 2021-04-15 | 一种云工作流调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064710A true CN113064710A (zh) | 2021-07-02 |
CN113064710B CN113064710B (zh) | 2022-09-09 |
Family
ID=76566872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110404960.4A Active CN113064710B (zh) | 2021-04-15 | 2021-04-15 | 一种云工作流调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064710B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080071597A1 (en) * | 2006-09-14 | 2008-03-20 | Girish Bhimrao Chafle | Dynamic Adaptation In Web Service Composition and Execution |
US20140229221A1 (en) * | 2013-02-11 | 2014-08-14 | Amazon Technologies, Inc. | Cost-minimizing task scheduler |
CN105068863A (zh) * | 2015-07-16 | 2015-11-18 | 福州大学 | 多云环境下带截止日期约束工作流的基于代价驱动调度方法 |
CN105260818A (zh) * | 2015-09-17 | 2016-01-20 | 福州大学 | 混合云环境下带截止日期约束工作流组的在线优化调度方法 |
CN105897864A (zh) * | 2016-03-28 | 2016-08-24 | 东南大学 | 一种云工作流调度方法 |
CN106339924A (zh) * | 2016-08-29 | 2017-01-18 | 东南大学 | 一种基于工作流的云计算资源混合租赁方法 |
CN107301500A (zh) * | 2017-06-02 | 2017-10-27 | 北京工业大学 | 一种基于关键路径任务前瞻的工作流调度方法 |
CN110264097A (zh) * | 2019-06-26 | 2019-09-20 | 哈尔滨理工大学 | 基于云环境的多科学工作流并发执行调度方法 |
US20190332423A1 (en) * | 2018-04-27 | 2019-10-31 | EMC IP Holding Company LLC | Workflow Service for a Cloud Foundry Platform |
CN110825527A (zh) * | 2019-11-08 | 2020-02-21 | 北京理工大学 | 一种云环境下截止期-预算驱动的科学工作流调度方法 |
-
2021
- 2021-04-15 CN CN202110404960.4A patent/CN113064710B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080071597A1 (en) * | 2006-09-14 | 2008-03-20 | Girish Bhimrao Chafle | Dynamic Adaptation In Web Service Composition and Execution |
US20140229221A1 (en) * | 2013-02-11 | 2014-08-14 | Amazon Technologies, Inc. | Cost-minimizing task scheduler |
CN105068863A (zh) * | 2015-07-16 | 2015-11-18 | 福州大学 | 多云环境下带截止日期约束工作流的基于代价驱动调度方法 |
CN105260818A (zh) * | 2015-09-17 | 2016-01-20 | 福州大学 | 混合云环境下带截止日期约束工作流组的在线优化调度方法 |
CN105897864A (zh) * | 2016-03-28 | 2016-08-24 | 东南大学 | 一种云工作流调度方法 |
CN106339924A (zh) * | 2016-08-29 | 2017-01-18 | 东南大学 | 一种基于工作流的云计算资源混合租赁方法 |
CN107301500A (zh) * | 2017-06-02 | 2017-10-27 | 北京工业大学 | 一种基于关键路径任务前瞻的工作流调度方法 |
US20190332423A1 (en) * | 2018-04-27 | 2019-10-31 | EMC IP Holding Company LLC | Workflow Service for a Cloud Foundry Platform |
CN110264097A (zh) * | 2019-06-26 | 2019-09-20 | 哈尔滨理工大学 | 基于云环境的多科学工作流并发执行调度方法 |
CN110825527A (zh) * | 2019-11-08 | 2020-02-21 | 北京理工大学 | 一种云环境下截止期-预算驱动的科学工作流调度方法 |
Non-Patent Citations (4)
Title |
---|
何留杰: "预算约束下关联式云任务调度算法", 《实验室研究与探索》 * |
何留杰: "预算约束下关联式云任务调度算法", 《实验室研究与探索》, 30 September 2018 (2018-09-30) * |
项倩红: "云计算环境下工作流均衡调度优化方法研究", 《 中国优秀硕士论文电子期刊网 信息科技辑》 * |
项倩红: "云计算环境下工作流均衡调度优化方法研究", 《 中国优秀硕士论文电子期刊网 信息科技辑》, 15 February 2020 (2020-02-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN113064710B (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427679B (zh) | 面向边缘计算的计算任务调度方法、系统、装置 | |
CN109561148B (zh) | 边缘计算网络中基于有向无环图的分布式任务调度方法 | |
CN107301500B (zh) | 一种基于关键路径任务前瞻的工作流调度方法 | |
CN108345501B (zh) | 一种分布式资源调度方法和系统 | |
CN111768006A (zh) | 一种人工智能模型的训练方法、装置、设备及存储介质 | |
CN111782355B (zh) | 一种基于混合负载的云计算任务调度方法及系统 | |
CN111381950A (zh) | 一种面向边缘计算环境基于多副本的任务调度方法和系统 | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN111367644A (zh) | 一种面向异构融合系统的任务调度方法及装置 | |
CN111861412A (zh) | 面向完成时间优化的科学工作流调度方法及系统 | |
CN115033357A (zh) | 基于动态资源选择策略的微服务工作流调度方法及装置 | |
CN114265679A (zh) | 数据处理方法、装置和服务器 | |
CN113867843A (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
US8281313B1 (en) | Scheduling computer processing jobs that have stages and precedence constraints among the stages | |
CN110048966B (zh) | 基于截止时间的最小化系统开销的Coflow调度方法 | |
CN112491742B (zh) | 一种边缘计算终端资源调度方法及装置 | |
CN114579282A (zh) | 一种任务调度方法及装置 | |
CN112306642B (zh) | 一种基于稳定匹配博弈理论的工作流调度方法 | |
CN113064710B (zh) | 一种云工作流调度方法及系统 | |
Bensalem et al. | Scaling Serverless Functions in Edge Networks: A Reinforcement Learning Approach | |
CN116069473A (zh) | 一种基于深度强化学习的Yarn集群工作流调度方法 | |
CN116010051A (zh) | 一种联邦学习多任务调度方法及装置 | |
CN107589985B (zh) | 一种面向大数据平台的两阶段作业调度方法及系统 | |
CN115756803A (zh) | 面向异构计算系统的任务调度方法、装置、设备及介质 | |
CN112988363B (zh) | 资源调度方法、装置、服务器和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |