CN115562833A - 一种基于改进樽海鞘算法的工作流优化调度方法 - Google Patents
一种基于改进樽海鞘算法的工作流优化调度方法 Download PDFInfo
- Publication number
- CN115562833A CN115562833A CN202211260945.8A CN202211260945A CN115562833A CN 115562833 A CN115562833 A CN 115562833A CN 202211260945 A CN202211260945 A CN 202211260945A CN 115562833 A CN115562833 A CN 115562833A
- Authority
- CN
- China
- Prior art keywords
- task
- workflow
- server
- individual
- population
- 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.)
- Pending
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于改进樽海鞘算法的工作流优化调度方法。该方法考虑了工作流调度中存在的时延与可靠性问题,利用可靠性模型定义了工作流的调度失效因子,将时延与失效因子的加权和作为适应度函数对工作流调度方案进行评估,并对樽海鞘算法进行了改进,在种群初始化时,利用种群的标准差在生成的多个种群中选取最优种群。在对种群中个体进行更新时,将混沌理论与更新算法进行结合,利用混沌映射替代伪随机序列的不同方法,并提出利用混沌机制更新领导者与跟随者,提高了算法在潜在搜索区域的全局搜索速度,提高了算法向最优工作流调度方案方向搜索的速度,最小化边缘服务器时延并且提升了任务调度可靠性,最终得到最优的工作流调度方案。
Description
技术领域
本发明属于移动边缘计算环境技术领域,尤其涉及一种基于改进樽海鞘算法的工作流优化调度方法。
背景技术
近年来,边缘计算由于其在实际数据处理方面拥有突出性能,以及具有较低的运行成本与良好的适应性,在技术领域中占有重要地位。然而当前边缘计算在数据采集与处理过程中仍存在着许多挑战。随着用户需求的发展,用户设备中的应用程序需要严格的服务质量标准,即可靠性要求;并且在对互联网与其他应用程序所传来的数据时,需要大量的网络、处理和内存资源。边缘计算操作通常是通过基于边缘的设备将所有计算繁重的任务卸载到基于边缘的服务器处理从而进行规划。服务器在将资源进行共享与处理时容易发生故障,而所产生的故障极大的影响了工作流调度的可靠性;并且由于不同的任务需求对应着多种资源设备,因此存在服务响应速度慢、任务处理时间长、多任务处理不适应等问题和异构资源,从而造成任务卸载策略存在服务效率低的问题。
如何提出具有高可靠性与低延迟的任务调度策略是一个重要问题,当前大多工作流调度算法由于其本身的局限性行为,存在陷入局部搜索而无法获得近似全局解与收敛速度慢等问题,在处理复杂问题时具有较多缺点。
针对当前工作流调度算法存在的问题进行研究,提高其有效性,克服其缺陷,提升其收敛速度。
发明内容
本发明的第一个目的是解决当前工作流调度中存在的缺陷,提供一种基于改进樽海鞘算法的工作流优化调度方法。该方法考虑了工作流调度中存在的时延与可靠性问题,利用可靠性模型定义了工作流的调度失效因子,将时延与失效因子的加权和作为适应度函数对工作流调度方案进行评估,并对樽海鞘算法进行了改进,在种群初始化时,利用种群的标准差在生成的多个种群中选取最优种群。在对种群中个体进行更新时,将混沌理论与更新算法进行结合,利用混沌映射替代伪随机序列的不同方法,并提出利用混沌机制更新领导者与跟随者,提高了算法在潜在搜索区域的全局搜索速度,提高了算法向最优工作流调度方案方向搜索的速度,最小化边缘服务器时延并且提升了任务调度可靠性,最终得到最优的工作流调度方案。
为了解决现存的技术问题,本发明的技术方案如下:
一种基于改进樽海鞘算法的工作流优化调度方法,包括以下步骤:
步骤(1):定义边缘环境下的工作流和服务器。
在系统上执行的工作流为有向无环图(DAG)G={T,E}。
步骤(2):建立时间模型。
步骤(3):建立可靠性模型。
步骤(4):建立失效模型。
步骤(5):对工作流中所有任务所分配的服务器位置进行编码,生成调度序列。
步骤(6):初始化种群。
步骤(7):适应度计算。
步骤(8):通过不断迭代对工作流调度方案进行更新,构建工作流最优调度方案。具体步骤如下:
步骤(8.1):初始化领导者、跟随者与食物。
步骤(8.2):更新混沌映射。
步骤(8.3):更新樽海鞘个体。
步骤(8.4):判断是否达到结束条件。若工作流调度方案达到最大迭代次数Q次,则终止迭代并输出最优工作流调度方案,否则返回步骤(8.2)。
本发明的第二个目的是提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述的方法。
本发明的第二个目的是提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的方法。
与现有技术相比,本发明具有的有益效果如下:
高效性:本发明在种群初始化时,通过修改种群初始化策略,改进了原算法的结构,利用适应度标准差对种群个体进行统计,平衡了算法在搜索过程中的勘探与开发。更为重要的是在对种群进行更新时,对种群个体进行分类,并利用混沌机制对不同类别个体进行更新,提高了算法的收敛速度与全局搜索移动性,实现了全局鲁棒优化。因此,本发明使用改进的樽海鞘算法,通过不断迭代在搜索空间中进行勘探,最终得到最优工作流调度方案。
鲁棒性:本发明在搜索工作流调度方案时综合考虑时间与可靠性对工作流调度方案的影响。为降低故障率,利用可靠性模型设定了失效因子SFF,并将其与时间的加权函数作为适应度函数对工作流调度方案进行评估,既提高了工作流的执行效率,也保证了工作流执行的健壮性。
附图说明
图1为本发明提供的一种基于改进樽海鞘算法的工作流优化调度方法系统框架图;
图2为本发明提供的一种基于改进樽海鞘算法的工作流优化调度方法的算法流程图;
图3为本发明算法中混沌映射值变化图;
图4为本发明与其余三个算法在不同适应度权重下的时延对比图;
图5为本发明与其余三个算法在不同适应度权重下的可靠性对比图;
图6为本发明与其余三个算法的收敛度对比图;
具体实施方式
如下具体实施方式将结合上述附图进一步说明本发明。
图1移动边缘环境下基于樽海鞘算法的工作流优化调度方法系统框架图。首先,根据用户向边缘服务器发送的任务生成工作流。其次,通过对系统进行建模建立适应度函数。之后,利用本发明工作流调度算法生成满足约束的工作流调度方案。最后,根据调度方案将任务移至相应服务器执行。
参见图2,所示为本发明一种移动边缘环境下基于樽海鞘算法的工作流优化调度方法流程图,具体包括以下步骤:
步骤(1):定义边缘环境下的工作流和服务器。
在系统上执行的工作流为有向无环图(DAG)G={T,E},其中T={t1,t2,...,tn}表示任务的集合,n为任务数量;E={ti,tj,dij|ti,tj∈T,i≠j}为一组有向边,表示任务之间的依赖关系,后继任务tj在其前驱任务ti完成后执行,dij表示任务ti与任务tj之间的数据传输量。
令tentry表示没有前驱任务的任务,texit表示没有后继任务的任务。任务ti的前驱任务与后继任务集合具体表示如下:
PRED(ti)={tj|tj∈T,(ti,tj)∈E} 式(1)
SUCC(ti)={tk|tk∈T,(ti,tk)∈E} 式(2)
由于边缘服务器为工作流提供计算服务,可以得到服务器集合S={s1,s2,…,sm},其中m表示服务器数量。边缘服务器的计算能力VM={vm1,vm2,…,vmn},各服务器之间的带宽为:
其中vbij表示服务器si与服务器sj之间的带宽。当i=j时,服务器之间的带宽为0,即vij=0。
步骤(2):建立时间模型。
服务器的处理速度决定执行单个任务所需的时间,且与任务所携带的数据量有关,因此,任务ti在服务器sj上的执行时间为:
其中,size(ti)表示任务的数据量。
传输时间为将数据从前驱任务传输到后继任务所花费的时间,与任务之间传输的数据量及服务器之间的带宽有关。因此,当任务tj分配至服务器sl,其前驱任务分配至服务器sk时,传输时间的具体计算如下:
其中,当任务ti与tj在同一服务器上进行调度时,即k=l时,传输时间为0。
当任务ti的所有前驱任务完成后,任务ti开始执行,并且任务被分配到的服务器是可用的。设ST(ti,sj)与FT(ti,sj)为任务ti在服务器sj上执行的开始时间与结束时间。
令任务tentry表示没有前驱任务的任务,其在服务器sj上执行的开始时间为:
ST(tentry,sj)=avail(si) 式(6)
其中,avail(sj)表示服务器sj可用于执行任务所需的时间。
对于有前驱任务的任务,任务ti在服务器sj上执行的开始与结束时间的计算如下:
FT(ti,sj)=ET(ti,sj)+ST(ti,sj) 式(8)
工作流W调度所需的总时间为:
步骤(3):建立可靠性模型。
工作流的可靠性是服务器正确地完成其分配的任务的概率。由于永久性故障只有更换处理器进行恢复,而瞬态故障只会在短时间内出现,因此本发明主要对瞬态故障进行研究。基于DAG的工作流任务的瞬态故障遵循泊松分布。工作流的可靠性包括服务器执行的可靠性与通信链路的可靠性。
设服务器sk的故障率为常数λj,则任务ti在服务器sk上执行的可靠性为:
任务ti的可靠性依赖于运行该任务的服务器sk与传输前驱任务的链路,具体计算如下:
因此,工作流W的可靠性为:
步骤(4):建立失效模型。
由于故障率与系统可靠性成反比关系,通过建立失效模型从而简化可靠性模型,失效模型为可靠性模型的对偶模型。
当故障率低时,系统可靠性高,因此定义工作流W的调度失效因子SFF(W),其具体计算如下:
若使系统的可靠性最大,即Rel(W)最大,则使需使调度失效因子最小,即SFF(W)最小。
步骤(5):对工作流中所有任务所分配的服务器位置进行编码,生成调度序列。
在一个工作流中任务数量为n,服务器数量为m。对工作流中每个任务所分配的服务器进行记录,每一个樽海鞘表示一种工作流调度方案。令X0表示一个樽海鞘,xi表示任务ti所分配的服务器位置。则调度方案为:
X0=[x1x2…xn] 式(15)
步骤(6):初始化种群。
初始化种群影响算法向最优工作流调度方案的搜索效率,优秀的初始种群能够促进算法对最优工作流调度方案的探索能力,减少算法的搜索时间。通过计算初始总体标准差对种群进行初始化,在算法搜索过程中适当平衡勘探与开发,提高了算法的多样性。首先生成多个随机种群,之后计算每个生成种群的标准差,并与总体的标准差平均值进行比较,选取标准差最高的种群作为初始种群。对于单个种群,使用随机法对种群进行初始化,初始樽海鞘种群包含随机生成的工作流调度方案,具体初始化步骤如下:
步骤(6.1):对工作流中的所有任务进行遍历,为服务器在[lbi,ubi]范围内进行编号,则樽海鞘中各任务所分配的服务器位置的取值为:
xi=rand(ubi-lbi)+lbi 式(16)
其中,ubi表示任务ti所选服务器编号的上界,ubi≤m,lbi表示任务ti所选服务器编号的下界,lbi≥1,上下界表示所选服务器编号的范围。rand(ubi-lbi)表示在上界与下界之间生成一个随机值。
步骤(6.2):根据上述操作对每个任务分配位置后,得到初始化后的一个樽海鞘,即一个初始个体x。
初始化一个樽海鞘种群为矩阵P=[X1,X2,...,XN]T,其中种群中个体数量为N,T表示转置。重复上述步骤直到生成L个种群。
步骤(6.3):对于种群P,其中每个个体标准差的具体计算如下:
因此种群P的平均标准差为:
其中,Xi表示种群中第i个个体。
比较所有种群的平均标准差avg(std(P)),选取平均标准差最高的种群作为整个算法的初始种群P。
步骤(7):适应度计算。
定义适应度由工作流执行总时间与可靠性决定,适应越小表示该工作流调度方案越优秀,具体计算如下:
F(W)=φTIME(W)+(1-φ)SFF(W) 式(20)
步骤(8):通过不断迭代对工作流调度方案进行更新,构建工作流最优调度方案。具体步骤如下:
步骤(8.1):初始化领导者、跟随者与食物。
步骤(8.2):更新混沌映射。
混沌表示非线性确定性系统产生的一种伪随机行为,一维混沌映射是能够产生混沌运动最直接的方式,在算法中使用混沌映射能够有效提升算法搜索最优工作流调度方案的效率与性能。混沌映射t在(0,1)范围内生成混沌序列,在迭代次数为q+1时由以下公式更新:
其中,混沌映射t初始值设置为0.6。q为当前迭代次数,Q为最大迭代次数。在不同迭代次数下混沌映射值的动态图如图3所示。
步骤(8.3):更新樽海鞘个体。将种群中的个体分为领导者与跟随者,遍历种群中所有樽海鞘个体并对其分别进行更新,使算法向最优工作流调度方案方向进行搜索。
步骤(8.3.1):遍历所有个体,判断每个个体是否为领导者,若是则执行步骤(8.3.2),若否则执行(8.3.3).
步骤(8.3.2):更新领导者。根据食物FD的信息对领导者进行更新。对于个体Xi,在[0,1]范围内均匀生成一个随机数rd,若rd<0.5,则利用式(22)对领导者位置进行更新,否则,利用式(24)对领导者位置进行更新。
c1表示系数参数,能够平衡算法对最优工作流调度方案的勘探,具体更新如下:
其中,δ为等于8的常数。
步骤(8.3.3):更新跟随者。
算法中领导者在食物源周围改变位置,跟随者在整个迭代过程中逐渐跟随其余个体进行位置改变,引导其向最优工作流调度方案搜索。跟随者位置改变与系数参数ct有关,对于个体Xi,其具体更新如下:
其中,Xα与xβ为种群中的随机个体。
系数参数ct表示系数参数,与混沌映射有关,能够平衡算法对最优工作流调度方案的勘探,具体更新如下:
其中,ε为等于0.8的常数。
步骤(8.3.4):适应度比较。
在获取种群中新个体的位置后,计算其适应度,并与原个体适应度进行比较,若差于原个体,则个体保持不变并执行步骤(8.4);若优于原个体,则使用新个体对原个体进行替换,最终得到新的种群,再继续判断是否存在比食物位置更优的个体,若是则使用新个体对食物位置进行替换并执行步骤(8.4),若否则直接执行步骤(8.4)。
步骤(8.4):判断是否达到结束条件。若工作流调度方案达到最大迭代次数Q次,则终止迭代并输出最优工作流调度方案,否则返回步骤(8.2)。
为展示本发明方法的有效性,分别与异构最早完成时间算法HEFT、一种多目标遗传算法NSGA-II和一种差分进化算法DEWS在时延与可靠性等方面进行对比。HEFT算法将具有最高排名值的任务分配给服务器,从而最小化其最早完成时间。NSGA-II算法通过适应度函数将个体分为不同非支配层,将搜索定位到精英解的方向,从而得到最优个体。DEWS算法使用变异操作作为搜索机制和选择操作将搜索指向搜索空间中的预期区域。
实验使用IntelliJIDEA平台作为仿真模拟平台,具体实验环境为:操作系统是Win1064位,处理器是AMD-5600X,内存是16GB。采用DAG随机生成的方式产生工作流,每个工作流任务数服从参数为30的泊松分布,工作流中任务大小服从1KB~10KB之间的均匀分布,任务的计算量服从1GHz~10Ghz的均匀分布。服务器平均带宽bw=10MHz,计算能力为4GHz,传输速率为80Mb/s,边缘服务器个数范围在[10,30]之间,内存为8GB,故障率为每小时在[10-3,10-4]区间内均匀分布。本发明算法权重因子φ=[0,0.3,0.5,0.7,1],迭代次数设置为800。
图4对各算法在不同适应度权重下生成的工作流调度方案的时延进行了比较。在该实验中,工作流后继任务数量为30,服务器固定数量为20。各算法随着权重值增大时延减少,这是因为当权重增大时,适应度函数F(W)=φTIME(W)+(1-φ)SFF(W)更偏向于向时延优化的方向搜索,从而降低最终得到的工作流调度方案的时延。当适应度权重相同时,本发明相比其余算法具有更低的时延。在调度过程中本发明算法通过将种群中个体进行分类,对领导者与跟随者利用不同方式在搜索空间搜索,领导者改变其在食物源周围的位置,跟随者在迭代过程中逐渐跟随领导者,通过对食物源周边空间进行开发利用,使樽海鞘个体能够有效的在搜索空间内移动。此外,通过记录迭代过程中的最优个体,保证了算法的全局收敛,从而得到了具有最优适应度的工作流调度方案。
图5对各算法在不同适应度权重下生成的工作流调度方案的可靠性进行了比较,可以发现,各算法可靠性随权重值增大而减小,这是因为当权重增大时,适应度函数F(W)=φTIME(W)+(1-φ)SFF(W)更偏向于向时延优化的方向搜索,而不是向可靠性优化的方向搜索,从而导致可靠性逐渐减小。在相同的适应度权重下,本发明相比其余算法处于优势地位,在节点数量相同时,始终具有更优的可靠性。本发明具有更优适应度的原因在于通过对每个种群中的个体的标准差进行计算,从而得到整个种群的平均标准差,并对L个种群进行比较,得到最优的初始种群,增强了系统的全局搜索能力并精细化了局部搜索,同时利用提升算法搜索最优工作流调度方案的效率与性能,将混沌映射转换为混沌参数与种群中的领导者与跟随者的更新进行结合,提升了算法搜索最优工作流调度方案的效率与性能,在保证系统可靠性的同时降低了系统时延,使之得到最优的调度方案。
图6对各算法的收敛度进行对比。在该实验中,适应度权重值为0.7。可以发现本发明算法收敛后的适应度优于其余算法,且在相同迭代次数下适应度同样优于其余算法。这是由于本发明算法在原标准樽海鞘算法的基础上,基于计算初始总体标准差的思想修改种群初始化策略,在搜索过程中准确把握了勘探与开发之间的平衡,提高了其多样性。并且在种群个体更新中利用了混沌映射的有效性,从增强和改进算法的性能和收敛速度两方面进行研究,将混沌参数与种群个体更新进行结合,增强了算法的全局搜索能力,使其搜索后的最优工作流调度方案的适应度值优于其余算法。
表1为各算法在不同迭代次数下的适应度对比表
Claims (7)
1.一种基于改进樽海鞘算法的工作流优化调度方法,其特征在于包括以下步骤:
步骤(1):定义边缘环境下的工作流和服务器;
步骤(2):建立时间模型;
步骤(3):建立可靠性模型;
步骤(4):建立失效模型;
步骤(5):对工作流中所有任务所分配的服务器位置进行编码,生成调度序列;具体是:
在一个工作流中任务数量为n,服务器数量为m;对工作流中每个任务所分配的服务器进行记录,每一个樽海鞘表示一种工作流调度方案;令X0表示一个樽海鞘,xi表示任务ti所分配的服务器位置;则调度方案为:
X0=[x1 x2...xn] 式(15)
步骤(6):初始化种群;
步骤(6.1):对工作流中的所有任务进行遍历,为服务器在[lbi,ubi]范围内进行编号,则樽海鞘中各任务所分配的服务器位置的取值为:
xi=rand(ubi-lbi)+lbi 式(16)
其中,ubi表示任务ti所选服务器编号的上界,ubi≤m,lbi表示任务ti所选服务器编号的下界,lbi≥1,上下界表示所选服务器编号的范围;rand(ubi-lbi)表示在上界与下界之间生成一个随机值;
步骤(6.2):根据上述操作对每个任务分配位置后,得到初始化后的一个樽海鞘,即一个初始个体X;
初始化一个樽海鞘种群为矩阵P=[X1,X2,...,XN]T,其中种群中个体数量为N,T表示转置;重复上述步骤直到生成L个种群;
步骤(6.3):对于种群P,其中每个个体标准差的具体计算如下:
因此种群P的平均标准差为:
其中,Xi表示种群中第i个个体;
比较所有种群的平均标准差avg(std(P)),选取平均标准差最高的种群作为整个算法的初始种群P;
步骤(7):适应度计算;
定义适应度由工作流执行总时间与可靠性决定,具体计算如下:
F(W)=φTIME(W)+(1-φ)SFF(W) 式(20)
步骤(8):通过不断迭代对工作流调度方案进行更新,构建工作流最优调度方案;具体步骤如下:
步骤(8.1):初始化领导者、跟随者与食物;
步骤(8.2):更新混沌映射;
混沌映射t在(0,1)范围内生成混沌序列,在迭代次数为q+1时由以下公式更新:
其中q为当前迭代次数,Q为最大迭代次数;
步骤(8.3):更新樽海鞘个体;
步骤(8.3.1):遍历所有个体,判断每个个体是否为领导者,若是则执行步骤(8.3.2),若否则执行(8.3.3).
步骤(8.3.2):更新领导者;
领导者的更新受食物FD位置信息影响;对于个体Xi,在[0,1]范围内均匀生成一个随机数rd,若rd<0.5,则利用式(24)对领导者位置进行更新,否则,利用式(25)对领导者位置进行更新;
c1表示系数参数,能够平衡算法对最优工作流调度方案的勘探,具体更新如下:
其中,δ为常数;
步骤(8.3.3):更新跟随者;
跟随者在整个迭代过程中逐渐跟随其余个体进行位置改变,引导其向最优工作流调度方案搜索;跟随者位置改变与系数参数ct有关,对于个体Xi,其具体更新如下:
其中,Xα与Xβ为种群中的随机个体;
ct表示系数参数,与混沌映射有关,能够平衡算法对最优工作流调度方案的勘探,具体更新如下:
其中,ε为常数;
步骤(8.3.4):适应度比较;
在获取种群中新个体的位置后,计算其适应度,并与原个体适应度进行比较,若差于原个体,则个体保持不变并执行步骤(8.4);若优于原个体,则使用新个体对原个体进行替换,最终得到新的种群,再继续判断是否存在比食物位置更优的个体,若是则使用新个体对食物位置进行替换并执行步骤(8.4),若否则直接执行步骤(8.4);
步骤(8.4):判断是否达到结束条件;
若工作流调度方案达到最大迭代次数Q次,则终止迭代并输出最优工作流调度方案,反之则返回步骤(8.2)。
2.根据权利要求1所述方法,其特征在于步骤(1)具体是:
在系统上执行的工作流为有向无环图(DAG)G={T,E}表示,其中T={t1,t2,...,tn}表示任务的集合,n表示任务数量;E={ti,tj,dij|ti,tj∈T,i≠j}为一组有向边,表示任务之间的依赖关系和执行顺序,后继任务tj只能在前驱任务ti完成后执行,dij表示任务ti与任务tj之间的数据传输量;
令tentry表示没有前驱任务的任务,texit表示没有后继任务的任务;任务ti的前驱任务集合PRED(ti)与后继任务集合SUCC(ti)分别表示如下:
PRED(ti)={tj|tj∈T,(ti,tj)∈E} 式(1)
SUCC(ti)={tk|tk∈T,(ti,tk)∈E} 式(2)
由于边缘服务器为工作流提供计算服务,令服务器集合为S={s1,s2,...,sm},其中m表示服务器数量;边缘服务器的计算能力VM={vm1,vm2,...,vmn},各服务器之间的带宽为:
其中vbij表示服务器si与服务器sj之间的带宽;当i=j时,服务器之间的带宽为0,即vbij=0。
3.根据权利要求2所述方法,其特征在于步骤(2)具体是:
服务器的处理速度决定执行单个任务所需的时间,且与任务所携带的数据量有关,因此,任务ti在服务器sj上的执行时间为:
其中,size(ti)表示任务的数据量;
传输时间为将数据从前驱任务传输到后继任务所花费的时间,与任务之间传输的数据量及服务器之间的带宽有关;因此,当任务tj分配至服务器sl,其前驱任务分配至服务器sk时,传输时间的具体计算如下:
其中,当任务ti与tj在同一服务器上进行调度时,即k=l时,传输时间为0;
当任务ti的所有前驱任务完成后,任务ti开始执行,并且任务被分配到的服务器是可用的;设ST(ti,sj)与FT(ti,sj)为任务ti在服务器sj上执行的开始时间与结束时间;
令任务tentry表示没有前驱任务的任务,其在服务器sj上执行的开始时间为:
ST(tentry,sj)=avail(sj) 式(6)
其中,avail(sj)表示服务器sj可用于执行任务所需的时间;
对于有前驱任务的任务,任务ti在服务器sj上执行的开始与结束时间的计算如下:
FT(ti,sj)=ET(ti,sj)+ST(ti,sj) 式(8)
工作流W调度所需的总时间为:
6.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-5中任一项所述的方法。
7.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211260945.8A CN115562833A (zh) | 2022-10-14 | 2022-10-14 | 一种基于改进樽海鞘算法的工作流优化调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211260945.8A CN115562833A (zh) | 2022-10-14 | 2022-10-14 | 一种基于改进樽海鞘算法的工作流优化调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115562833A true CN115562833A (zh) | 2023-01-03 |
Family
ID=84745345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211260945.8A Pending CN115562833A (zh) | 2022-10-14 | 2022-10-14 | 一种基于改进樽海鞘算法的工作流优化调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115562833A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117634856A (zh) * | 2024-01-26 | 2024-03-01 | 武汉理工大学 | 基于超启发式樽海鞘算法的液压缸制造联合调度方法 |
-
2022
- 2022-10-14 CN CN202211260945.8A patent/CN115562833A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117634856A (zh) * | 2024-01-26 | 2024-03-01 | 武汉理工大学 | 基于超启发式樽海鞘算法的液压缸制造联合调度方法 |
CN117634856B (zh) * | 2024-01-26 | 2024-06-11 | 武汉理工大学 | 基于超启发式樽海鞘算法的液压缸制造联合调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200293838A1 (en) | Scheduling computation graphs using neural networks | |
Taura et al. | A heuristic algorithm for mapping communicating tasks on heterogeneous resources | |
US11062226B2 (en) | Determining a likelihood of a user interaction with a content element | |
Yadav et al. | A bi-objective task scheduling approach in fog computing using hybrid fireworks algorithm | |
US8898172B2 (en) | Parallel generation of topics from documents | |
Belgacem et al. | Multi-objective workflow scheduling in cloud computing: trade-off between makespan and cost | |
Kaur et al. | Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud | |
Fidanova | Simulated annealing for grid scheduling problem | |
US20080140591A1 (en) | System and method for matching objects belonging to hierarchies | |
CN109634742B (zh) | 一种基于蚁群算法的时间约束科学工作流优化方法 | |
Xiao et al. | A cooperative coevolution hyper-heuristic framework for workflow scheduling problem | |
CN115330189A (zh) | 一种基于改进飞蛾火焰算法的工作流优化调度方法 | |
CN112463337B (zh) | 一种用于移动边缘计算环境下的工作流任务迁移方法 | |
CN115562833A (zh) | 一种基于改进樽海鞘算法的工作流优化调度方法 | |
Yadav et al. | An opposition-based hybrid evolutionary approach for task scheduling in fog computing network | |
Shi et al. | Multijob associated task scheduling for cloud computing based on task duplication and insertion | |
Nesmachnow et al. | Scheduling in heterogeneous computing and grid environments using a parallel CHC evolutionary algorithm | |
CN116582407A (zh) | 一种基于深度强化学习的容器化微服务编排系统及方法 | |
CN111258743A (zh) | 基于离散编码的云任务调度方法、装置、设备及存储介质 | |
CN113132471B (zh) | 云服务预算优化调度方法、装置、设备和存储介质 | |
Zhang et al. | Learning driven parallelization for large-scale video workload in hybrid CPU-GPU cluster | |
Shalini Lakshmi et al. | A predictive context aware collaborative offloading framework for compute-intensive applications | |
CN114980216A (zh) | 基于移动边缘计算的依赖型任务卸载系统及方法 | |
Joshua Samuel Raj et al. | Evolutionary Algorithm Based Task Scheduling in IoT Enabled Cloud Environment. | |
Chen et al. | A scheduling algorithm for heterogeneous computing systems by edge cover queue |
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 |