CN116305747A - 一种基于改进鲸鱼优化算法的工作流多目标调度方法 - Google Patents
一种基于改进鲸鱼优化算法的工作流多目标调度方法 Download PDFInfo
- Publication number
- CN116305747A CN116305747A CN202211613591.0A CN202211613591A CN116305747A CN 116305747 A CN116305747 A CN 116305747A CN 202211613591 A CN202211613591 A CN 202211613591A CN 116305747 A CN116305747 A CN 116305747A
- Authority
- CN
- China
- Prior art keywords
- workflow
- task
- optimal
- local
- whale
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 91
- 241000283153 Cetacea Species 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000005457 optimization Methods 0.000 title claims abstract description 45
- 238000005265 energy consumption Methods 0.000 claims abstract description 45
- 238000004364 calculation method Methods 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 25
- 230000000739 chaotic effect Effects 0.000 claims description 16
- 230000006399 behavior Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 4
- 238000012804 iterative process Methods 0.000 claims description 4
- 230000035772 mutation Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 230000005484 gravity Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 239000002243 precursor Substances 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于改进鲸鱼优化算法的工作流多目标调度方法。通过改进原鲸鱼优化算法中线性变化的收敛因子,加快前期种群的收敛速度除此之外与原鲸鱼优化算法相比又增加了概率选择的随机差分法变异操作提高了后期算法跳出局部最优的能力。同时将改进的鲸鱼优化算法用于工作流任务调度中,将系统问题定义为平均负载量、延迟、能耗的加权和,能够在满足用户约束延迟时间和能耗的情况下找到最优的工作流调度方案。与原始鲸鱼优化算法相比,其不仅能够有效地提升解的质量,获取更优的工作流调度方案,还可以加快寻找最优解的过程,一定程度上节省算法消耗时间。
Description
技术领域
本发明涉及边缘计算环境领域,特别涉及一种基于改进鲸鱼优化算法的工作流多目标调度算法。
背景技术
工作流调度是一种调整任务执行顺序的方法,优秀的工作流调度能够获得高质量的用户体验(QoE),实现低延迟和低功耗等目标,另外,随着边缘服务器部署数量的提升,服务器的负载均衡也同样上升为一个亟待解决的问题。现有的工作流调度算法大多没有考虑服务器的负载均衡问题,高效地负载均衡能够维持服务器的寿命和性能,从而在另一个方面达到减少时间和能耗的目的。
鲸鱼优化算法(WOA)源于对自然界中座头鲸群体狩猎行为的模拟,通过鲸鱼群体搜索、包围、追捕和攻击猎物等过程实现优化搜索的目的。目前与其它群优化算法相比的主要区别在于,采用随机或最佳搜索代理来模拟捕猎行为,并使用螺旋来模拟座头鲸的泡泡网攻击机制,而鲸鱼优化算法的缺陷在于收敛速度慢、容易陷入局部最优状态。
鉴于上述情况,针对工作流调度优化问题和现有鲸鱼优化算法的缺陷,有进行研究的必要,提出一种方法解决当前的算法的缺陷,以获得最优的工作流调度方案。
发明内容
为了解决现有工作流调度算法中的缺陷,本发明提出一种基于改进鲸鱼优化算法的工作流多目标调度算法,有效结合了平均负载量、延迟、能耗等三个方面的优化目标。通过改进原鲸鱼优化算法中线性变化的收敛因子,加快前期种群的收敛速度除此之外与原鲸鱼优化算法相比又增加了概率选择的随机差分法变异操作提高了后期算法跳出局部最优的能力。同时将改进的鲸鱼优化算法用于工作流任务调度中,将系统问题定义为平均负载量、延迟、能耗的加权和,能够在满足用户约束延迟时间和能耗的情况下找到最优的工作流调度方案。
为了解决现有的技术问题,本发明的技术方案如下:
第一方面,本发明提供一种基于改进鲸鱼优化算法的工作流多目标调度方法,其特征在于所述方法包括以下步骤:
步骤(1):构建任务依赖模型,确定工作流任务的执行顺序;
使用有向无环图DAG表示工作流中各任务之间存在依赖关系,DAG={T,E},其中T={t1,t2,t3,...ti,...,tn}表示工作流的任务集合,n为任务总数,ti表示第i个任务,i∈[1,n],E={(ejk,edjk)|j,k∈[1,n]}表示各任务之间的依赖关系集合,ejk为任务tj与任务tk的前驱后继关系,edjk为任务tj传递给任务tk的数据;
步骤(2):工作流调度方案编码;
对于每个任务,应确定其对应的服务器编号,已知边缘环境中的服务器数量为m;在对T中的任务根据依赖关系进行拓扑排序后可用维向量X=(xi,xi+1,...,xn)表示,X表示调度方案,代表鲸鱼个体;
步骤(3):混沌映射初始化鲸鱼种群;
采用Piecewise混沌映射为种群进行初始化,其描述如下:
其中p表示(0,0.5)区间的一个随机数,是混沌序列的随机产生参数;xi表示第i次产生的初始编码,xi+1是根据xi产生的第i+1次初始编码,由所有初始编码生成混沌序列,然后将每个初始编码乘以m并向上取整,得到对应的服务器编号,如下所示:
令N为种群数量,则可获得初始鲸鱼种群W,其中每个个体X1,X2,X3,…,XN代表一种工作流调度方案:
W={X1,X2,X3,…,XN} 式(3)
步骤(4):计算鲸鱼个体适应度;
步骤(4.1)时间计算,通过本地计算时间、传输时间、服务器计算时间来获取工作流的总消耗时间;具体是:
步骤(4.1.2)传输时间计算;两个工作流任务之间存在数据传递,需要处理相关任务的数据信息,在此阶段需要消耗传输时间;设B为本地移动设备与边缘服务器k之间的信道带宽,AP为信道内所传信号的平均功率,GNP为信道内的高斯噪声功率,通过这三个参数可计算传输速率,进而获取工作流任务的传输时间,传输速率Rlocal,k可计算得:
步骤(4.1.3)服务器运算时间计算:
步骤(4.1.4)总时间计算;
工作流W的总时间可表示为上述时间的总和,即为:
其中LT表示在本地执行的工作流任务集合,ST表示卸载到边缘服务器执行的工作流任务集合,BS为边缘服务器集合;
步骤(4.2)能耗计算,通过本地能耗计算和卸载能耗计算来获取工作流的总能耗;具体是:
步骤(4.2.1)本地能耗计算;
步骤(4.2.2)卸载能耗计算;
其中ptran表示本地移动设备的传输功率;
步骤(4.2.3)工作流W的总能耗计算;
步骤(4.3)平均负载率计算;
对于边缘服务器k,用Ck,Mk,Nk分别表示其cpu、内存、网络带宽的资源总量,分别表示工作流任务tj在边缘服务器k上的cpu资源消耗量、内存消耗量、带宽消耗量,ar1,ar2,ar3代表资源、内存、带宽在负载中的比重,则边缘服务器平均负载量AVERload计算如下:
步骤(4.4)适应度计算;
工作流调度方案(也就是鲸鱼个体)适应度的目标函数f(X):
其中α是负载的惩罚系数,β是权重因子,用于衡量用户对时间和能耗的偏向度;
步骤(5):根据p1是否小于0.5判断是否捕食猎物,p1代表鲸鱼随机行为的选择概率,若是则进行步骤(7),若否则进行步骤(6);
步骤(6):包围或搜寻猎物;
在搜索空间中,猎物代表当前最优的工作流调度方案,根据式(16),若鲸鱼种群中的每个鲸鱼个体会游向猎物以进行包围;若/>每个鲸鱼个体会游向另一个随机鲸鱼个体以搜寻猎物,最优工作流调度方案的行为模型如下:
其中表示当前鲸鱼第t+1次迭代后的位置,/>表示当前迭代位置,表示在第t次迭代中最优鲸鱼的位置,/>表示鲸鱼种群中随机一条鲸鱼的位置,/>是表示系数,/>是距离系数,并分别以式(16)、式(17)计算;通过上述公式向最优工作流调度方案趋近;/>是由/>生成的随机数,/>是[0,1]中的随机向量;max_iter是最大迭代次数,t是当前迭代次数,/>是迭代过程的权重系数,ω是范围系数;
步骤(7):螺旋更新位置;
最优工作流调度方案的行为模型如下:
其中b是限定螺旋状的常数,从当前最优的位置根据搜索路径不断迭代至全局最优位置,即获得最优工作流调度方案,l是[0,1]之间的随机数;
步骤(8):改进随机差分法变异;
为加快寻找最优工作流调度方案,采用随机差分法变异:
若新个体适应度劣于原个体,则以概率接受,其数学表达如下所示:
其中qr是[0,1]之间的随机数,q是变化的非线性选择概率,并由下方公式给出:
其中t表示当前迭代次数;
步骤(9):输出最优调度方案;
若迭代次数达到最大,则终止迭代,输出最优个体,并解码得到最优工作流调度方案。
第二方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述的方法。
第三方面,本发明提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的方法。
与现有技术相比,本发明具有如下特征:
高效性:本发明提出一种改进的非线性收敛因子用以解决原算法中的收敛因子随着迭代次数由2线性减少到0对算法的全局搜索能力和局部寻优导致的限制问题,能够显著加快算法前期的收敛速度有效减少算法的迭代次数,及早获取最优工作流调度方案;另本发明提出适应度考虑了平均负载量AVERload,使整体负载压力达到较小值,明显有效提升了资源的利用率。
鲁棒性:本发明通过改进原始鲸鱼优化算法,针对其原有的局限性,在每次迭代完成后新增了改进的随机差分法变异操作,与原始鲸鱼优化算法相比,其不仅能够有效地提升解的质量,获取更优的工作流调度方案,还可以加快寻找最优解的过程,一定程度上节省算法消耗时间。
附图说明
图1为本发明提供的一种基于改进鲸鱼优化算法的科学工作流多目标调度算法流程图;
图2为本发明提供的一种基于改进鲸鱼优化算法的科学工作流多目标调度算法系统结构图;
图3为Piecewise混沌映射初始化分布散点图;
图4为Greedy算法、原始鲸鱼优化算法(WOA)、PSO算法与本发明对比不同任务数量下的负载量图;
图5为Greedy算法、原始鲸鱼优化算法(WOA)、PSO算法与本发明单位时间内吞吐量折线图;
图6为Greedy算法、原始鲸鱼优化算法(WOA)、PSO算法与本发明在任务数为400情况下随着迭代次数递增适应度值的变化曲线图。
具体实施方式
以下实施方式将结合上述附图进一步说明本发明。
图2为本发明提供的一种基于改进鲸鱼优化算法的科学工作流多目标调度算法系统结构图。首先将移动边缘设备提交的工作流任务排列生成DAG图并通过拓扑排序形成调度序列。其次应用本发明提供的改进鲸鱼优化算法并以系统建模生成的适应度函数判别输出最优调度方案,最后根据调度方案将工作流任务调度至相应的边缘服务器运行。
结合图1本发明所示的流程图,具体步骤如下:
步骤(1):构建任务依赖模型;基础设施例如PC、手机等在划分移动应用程序后会提交工作流任务,工作流任务之间存在依赖关系,使用有向无环图DAG表示,DAG={T,E}。,其中T={t1,t2,t3,...ti,...,tn}表示工作流的任务集合,n为任务总数,ti表示第i个任务,其中i∈[1,n],E={(ejk,edjk)|j,k∈[1,n]}表示工作流任务之间的依赖关系集合,ejk为任务tj与任务tk的前驱后继关系,edjk为任务tj传递给任务tk的数据;工作流任务根据任务之间的依赖关系进行拓扑排序,形成满足依赖关系的任务执行序列,例如{t1,t2,t3,t4,t5,t8,t6,t7,t9,t10}。
步骤(2):工作流调度方案编码;对于每个任务,应确定其对应的服务器编号,已知工作流DAG的任务集合为T,任务总数为n,设边缘环境中的服务器数量为m。在对T中的任务根据依赖关系进行拓扑排序后可用n维向量X=(xi,...,xn)表示调度方案代表的鲸鱼个体,其中xi=a表示任务ti被分配到编号为a的服务器上。
步骤(3):混沌映射初始化鲸鱼种群;种群的初始化效果好坏对算法执行时间有一定的影响,好的初始化能够提高算法的全局搜索能力,减少最优工作流调度方案的寻找时间,因此采用Piecewise混沌映射为种群进行初始化,其描述如下:
Piecewise混沌映射的数学形式简单,如图3所示能够产生均匀的初始鲸鱼种群,较为均匀的初始种群能够有效提升算法的收敛速度,节省工作流调度中的部分时间。
其中p表示(0,0.5)区间的一个随机数,代表混沌序列的随机产生范围,起始值x1是[0,1]之间的随机数,xi表示第i次产生的初始编码,xi+1是根据xi产生的第i+1次初始编码。生成混沌序列后将其中每个数值乘以m并向上取整,得到对应的服务器编号,如下所示:
令N为种群数量,则可获得初始鲸鱼种群W如下所示,其中的每个个体X1,X2,X3,…,XN都代表一种工作流调度方案:
W={X1,X2,X3,…,XN} 式(3)
步骤(4):鲸鱼个体适应度计算;包括时间计算、能耗计算、平均负载率计算;
步骤(4.1)时间计算,通过本地计算时间、传输时间、服务器计算时间来获取工作流的总消耗时间;
步骤(4.1.2)传输时间计算;两个任务之间存在数据传递,需要处理相关任务的数据信息,在此阶段需要消耗传输时间。设B为本地移动设备与边缘服务器k之间的信道带宽,AP为信道内所传信号的平均功率,GNP为信道内的高斯噪声功率,通过这三个参数可计算传输速率,进而获取工作流任务的传输时间,传输速率Rlocal,k可计算得:
步骤(4.1.4)总时间计算;总时间可表示为上述时间的总和,即为:
其中LT表示在本地执行的工作流任务集合,ST表示卸载到服务器执行的工作流任务集合,BS为边缘服务器集合。较少的总时间能够一定程度上体现工作流调度方案的可行性。
步骤(4.2)能耗计算,通过本地能耗计算和卸载能耗计算来获取工作流的总能耗,包括步骤(4.2.1)、步骤(4.2.2)、步骤(4.2.3);
ptran表示本地移动设备的传输功率。
步骤(4.2.3)总能耗计算;工作流W的总能耗Etotal由步骤(4.2.1)和步骤(4.2.2)累加获得,如下所示:
普遍要求工作流任务的调度使总能耗达到较小值,因此本发明同样将减少能耗作为优化目标。
步骤(4.3)平均负载率计算;
对于边缘服务器k,用Ck,Mk,Nk分别表示其cpu、内存、网络带宽的资源总量,分别表示工作流任务tj在边缘服务器k上的cpu资源消耗量、内存消耗量、带宽消耗量,ar1,ar2,ar3代表资源、内存、带宽在负载中的比重,则边缘服务器平均负载量AVERload计算如下:
平均负载量越小则代表该工作流调度方案在负载层面的调节效果越优。
步骤(4.4)适应度计算;综合步骤(4.1)、步骤(4.2)和步骤(4.3),计算工作流调度方案所代表的鲸鱼个体适应度的目标函数f(X)的方法如下:
α是负载的惩罚系数,β是权重因子,用于衡量用户对时间和能耗的偏向度,β越大说明对时间的要求高,反之对能耗的要求高,通过参数的改变可以调节用户对于工作流任务调度的负载或时间能耗需求,更进一步提高工作流调度方案优化方向的明确性。
步骤(5):收缩包围与螺旋更新;鲸鱼种群在发现猎物时,鲸鱼个体以50%的概率进行收缩包围,另外50%的概率进行螺旋更新,以此来不断确定最优工作流调度方案的位置并向其逼近,提高算法的空间搜索能力。根据p1是否小于0.5判断是否捕食猎物,p1代表鲸鱼随机行为的选择概率。其行为模型为:
是下一次迭代中该鲸鱼个体的位置,/>是当前迭代中最优鲸鱼个体或随机鲸鱼个体的位置,具体判别方法体现在步骤(6)中,b是限定螺旋状的常数,l是[0,1]之间的随机数。两种行为分别对应步骤(6)与步骤(7)。
步骤(6):包围或搜寻猎物;
其中表示当前鲸鱼第t+1次迭代后的位置,/>表示当前迭代位置,表示在第t次迭代中最优鲸鱼的位置,/>表示鲸鱼种群中随机一条鲸鱼的位置,/>是表示系数,/>是距离系数,并分别以式(16)、式(17)计算;通过上述公式向最优工作流调度方案趋近;/>是由/>生成的随机数,/>是[0,1]中的随机向量;max_iter是最大迭代次数,t是当前迭代次数,/>是迭代过程的权重系数,ω是范围系数;
由于原算法中随着迭代次数由2线性减少到0对算法的全局搜索能力和局部寻优有所限制,无法对算法收敛速度进行有效调整,因此有必要提出一种改进的非线性收敛因子以加快算法的全局收敛速度,改进的收敛算子由以下方式计算:
步骤(7):螺旋更新位置;
最优工作流调度方案的行为模型:
其螺旋更新图如图2所示,其中b是限定螺旋状的常数,从当前最优的位置根据搜索路径不断迭代至全局最优位置,即获得最优工作流调度方案,l是[0,1]之间的随机数。
步骤(8):改进随机差分法变异;相较于原始鲸鱼优化算法新增该步骤,对鲸鱼种群中每次迭代产生的新解进行随机差分法变异产生新个体与原始鲸鱼优化算法相比这样做的优势在于每次迭代后能够进行全局寻优,从而在求解前期可以快速收敛,求解后期能够跳出局部最优,有效提升全局搜索的能力,加快寻找最优工作流调度方案,随机差分法变异的公式如下所示:
若新个体适应度劣于原个体则以概率接受,其数学表达如下所示:
其中qr是[0,1]之间的随机数,q是变化的非线性选择概率,并由下方公式给出:
通过对劣解的概率接受,不仅使得本发明相较于原始鲸鱼优化算法能够丰富算法跳出局部最优的手段,获取更优的工作流调度方案,还减弱其算法后期的收敛速度的影响,保证在一定的迭代次数内得到最优工作流调度方案。
步骤(9)输出最优调度方案;若迭代次数达到最大,则终止迭代,输出最优个体,并解码得到最优工作流调度方案。
为了体现本发明的实用性,本文选取了Greedy算法,原始鲸鱼优化算法(WOA)、PSO算法并将其与本发明分别在不同的任务数量情况下做了对比。
实验在配置为i5-12600KF、32GB、win11、64位的台式机上运行,采用运行在Intellij IDEA上的WorkFlowSim工作流仿真软件作为仿真模拟平台。生成任务数分别为200、400、600、800的Montage工作流,信道带宽B=6Mbps,信道内信号的平均功率AP=80mW,本地设备cpu处理频率为1600MHz,边缘服务器cpu处理频率为5500MHz,数据发送/接收功率为90mW,设计惩罚系数α为1,权重系数β为0.4,ar1,、ar2、ar3分别为0.3、0.3、0.4,算法最大迭代次数为50。
图4展示了Greedy算法、原始鲸鱼优化算法以及本发明在固定服务器数量为50台的情况下,随着任务数的提升,平均负载量的变化情况。可以看到在任务数量的影响下,Greedy算法调度的工作流任务很快就使得负载量达到较大值,与另外的三种算法相比无法做到较好的负载均衡的效果。在此基础上本发明与原始鲸鱼优化算法和PSO算法相比又能有效减少负载量,这是由于鲸鱼群体在改进收敛因子a的非线性变化调节下能够快速螺旋上升,捕获每次迭代中的最优个体,后期则以随机差分法变异进一步优化迭代结果,同时以随机搜索的方式寻找潜在更优鲸鱼个体,得到时间能耗和平均负载量加权和最优的调度方案,因此在相同服务器数量的前提下本发明对比其余三种算法有更好的负载均衡效果,可以看出本发明对调节负载能够起到良好的作用。
图5比较了各算法在不同服务器节点数量下的单位时间内的吞吐量大小,一定时间内的吞吐量可由已执行的任务集合AST内的各个任务数据量/>累加计算,可以看到四种算法均随着服务器节点数量提升吞吐量也得到提升,但由于本发明以适应度的形式对负载均衡做了图4所描述的相关处理,能够更有效的调节负载和分配任务,因此在本发明算法的调节作用下相比其余三种算法能够获得更高的吞吐量,这就说明本发明在单位时间内能够处理更多的任务。
图6和表1展示了四种算法在任务数量为400随着迭代次数的增加适应度值的变化。在最初的几次迭代中四种算法的差异不大,而随着迭代次数进行到20次以后本发明与另外三种算法相比适应度值曲线呈现为非线性快速下降,这是由于本发明改进了收敛算子a,使其能够在算法前期快速收敛。在迭代进行至40次时Greedy算法最优解的适应度仍处于不够理想的情况,因为Greedy算法在算法后期容易陷入局部最优的情况,所以其寻到的最优解并不是全局的最优解,而原始的WOA算法和PSO算法虽然提供了跳出局部最优的一些手段,但是其效果不够显著,同样有陷入局部最优的风险。本发明采取了随机差分变异与概率接受的方法保证了每次迭代后能够进行全局寻优,因此在求解前期可以快速收敛,求解后期能够跳出局部最优,提升全局搜索的能力。所以解的质量和求解速度优于Greedy算法、PSO算法和原始WOA算法,也就说明所生成的调度方案消耗更少的系统成本。
表1不同迭代次数下各算法适应度对照表
Claims (6)
1.一种基于改进鲸鱼优化算法的工作流多目标调度方法,其特征在于所述方法包括以下步骤:
步骤(1):构建任务依赖模型,确定工作流任务的执行顺序;
使用有向无环图DAG表示工作流中各任务之间存在依赖关系,DAG={T,E},其中T={t1,t2,t3,...ti,...,tn}表示工作流的任务集合,n为任务总数,ti表示第i个任务,i∈[1,n],E={(ejk,edjk)|j,k∈[1,n]}表示各任务之间的依赖关系集合,ejk为任务tj与任务tk的前驱后继关系,edjk为任务tj传递给任务tk的数据;
步骤(2):工作流调度方案编码;
对于每个任务,应确定其对应的服务器编号,已知边缘环境中的服务器数量为m;在对T中的任务根据依赖关系进行拓扑排序后可用维向量X=(xi,xi+1,...,xn)表示,X表示调度方案,代表鲸鱼个体;
步骤(3):混沌映射初始化鲸鱼种群;
采用Piecewise混沌映射为种群进行初始化,其描述如下:
其中p表示(0,0.5)区间的一个随机数,是混沌序列的随机产生参数;xi表示第i次产生的初始编码,xi+1是根据xi产生的第i+1次初始编码,由所有初始编码生成混沌序列,然后将每个初始编码乘m并向上取整,得到对应的服务器编号,如下所示:
令N为种群数量,则可获得初始工作流鲸鱼种群W,其中每个个体X1,X2,X3,…,XN代表一种工作流调度方案:
W={X1,X2,X3,…,XN} 式(3)步骤(4):计算鲸鱼个体适应度;
适应度的目标函数f(X):
其中α是负载的惩罚系数,β是权重因子,AVERload表示边缘服务器平均负载量,TDtotal表示工作流消耗的总时间,Etotal表示工作流消耗的总能耗;
步骤(5):根据p1是否小于0.5判断是否捕食猎物,p1代表鲸鱼随机行为的选择概率;若是则进行步骤(7),若否则进行步骤(6);
步骤(6):包围或搜寻猎物;
在搜索空间中,猎物代表当前最优的工作流调度方案,根据式(16),若鲸鱼种群中的每个鲸鱼个体会游向猎物以进行包围;若/>每个鲸鱼个体会游向另一个随机鲸鱼个体以搜寻猎物,最优工作流调度方案的行为模型如下:
其中表示当前鲸鱼第t+1次迭代后的位置,/>表示当前迭代位置,/>表示在第t次迭代中最优鲸鱼的位置,/>表示鲸鱼种群中随机一条鲸鱼的位置,/>是表示系数,/>是距离系数,并分别以式(16)、式(17)计算;通过上述公式向最优工作流调度方案趋近;/>是由/>生成的随机数,/>是[0,1]中的随机向量;max_iter是最大迭代次数,t是当前迭代次数,/>是迭代过程的权重系数,ω是范围系数;
步骤(7):螺旋更新位置;
最优工作流调度方案的行为模型如下:
其中b是限定螺旋状的常数,从当前最优的位置根据搜索路径不断迭代至全局最优位置,即获得最优工作流调度方案,l是[0,1]之间的随机数;
步骤(8):改进随机差分法变异;
为加快寻找最优工作流调度方案,采用随机差分法变异:
若新个体适应度劣于原个体,则以概率接受,其数学表达如下所示:
其中qr是[0,1]之间的随机数,q是变化的非线性选择概率,并由下方公式给出:
其中t表示当前迭代次数;
步骤(9):输出最优调度方案;
若迭代次数达到最大,则终止迭代,输出最优个体,并解码得到最优工作流调度方案。
2.根据权利要求1所述方法,其特征在于步骤(4)中工作流W的总时间通过本地计算时间、传输时间、服务器计算时间来获取,具体计算如下:
①本地运算时间计算;
②传输时间计算;
两个工作流任务之间存在数据传递,需要处理相关任务的数据信息,在此阶段需要消耗传输时间;设B为本地移动设备与边缘服务器k之间的信道带宽,AP为信道内所传信号的平均功率,GNP为信道内的高斯噪声功率,通过这三个参数可计算传输速率,进而获取工作流任务的传输时间,传输速率Rlocal,k可计算得:
③服务器运算时间计算:
④总时间计算;
工作流W的总时间可表示为上述时间的总和,即为:
其中LT表示在本地执行的工作流任务集合,ST表示卸载到边缘服务器执行的工作流任务集合,BS为边缘服务器集合。
5.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-4中任一项所述的方法。
6.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211613591.0A CN116305747A (zh) | 2022-12-15 | 2022-12-15 | 一种基于改进鲸鱼优化算法的工作流多目标调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211613591.0A CN116305747A (zh) | 2022-12-15 | 2022-12-15 | 一种基于改进鲸鱼优化算法的工作流多目标调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116305747A true CN116305747A (zh) | 2023-06-23 |
Family
ID=86785783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211613591.0A Pending CN116305747A (zh) | 2022-12-15 | 2022-12-15 | 一种基于改进鲸鱼优化算法的工作流多目标调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116305747A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116709391A (zh) * | 2023-08-02 | 2023-09-05 | 华东交通大学 | 超密集网络联合资源分配和能效型安全计算卸载优化方法 |
CN118134212A (zh) * | 2024-05-07 | 2024-06-04 | 广州平云小匠科技股份有限公司 | 工单调度方法、装置、设备及可读存储介质 |
-
2022
- 2022-12-15 CN CN202211613591.0A patent/CN116305747A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116709391A (zh) * | 2023-08-02 | 2023-09-05 | 华东交通大学 | 超密集网络联合资源分配和能效型安全计算卸载优化方法 |
CN116709391B (zh) * | 2023-08-02 | 2023-10-20 | 华东交通大学 | 超密集网络联合资源分配和能效型安全计算卸载优化方法 |
CN118134212A (zh) * | 2024-05-07 | 2024-06-04 | 广州平云小匠科技股份有限公司 | 工单调度方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860350B (zh) | 一种边缘计算中基于任务缓存的计算卸载方法 | |
CN113242568B (zh) | 一种不确定网络环境中的任务卸载和资源分配方法 | |
CN113434212B (zh) | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 | |
CN108920280B (zh) | 一种单用户场景下的移动边缘计算任务卸载方法 | |
CN116305747A (zh) | 一种基于改进鲸鱼优化算法的工作流多目标调度方法 | |
CN110113190A (zh) | 一种移动边缘计算场景中卸载时延优化方法 | |
CN111556461A (zh) | 一种基于深度q网络的车载边缘网络任务分发卸载方法 | |
CN116489712B (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN109298930A (zh) | 一种基于多目标优化的云工作流调度方法及装置 | |
CN115499875B (zh) | 一种卫星互联网任务卸载方法、系统以及可读存储介质 | |
CN115562756A (zh) | 一种多接入边缘计算的车辆任务卸载方法及系统 | |
CN116321299A (zh) | 信息年龄约束下基于mec的车联网任务卸载和资源分配方法 | |
Qiu et al. | Adaptive edge offloading for image classification under rate limit | |
CN115408072A (zh) | 基于深度强化学习的快速适应模型构建方法及相关装置 | |
CN111488208A (zh) | 基于可变步长蝙蝠算法的边云协同计算节点调度优化方法 | |
CN114217881B (zh) | 任务卸载方法及相关装置 | |
CN116405493A (zh) | 一种基于mogwo策略的边缘云协同任务卸载方法 | |
CN114980216B (zh) | 基于移动边缘计算的依赖型任务卸载系统及方法 | |
CN110768827A (zh) | 一种基于群智能算法的任务卸载方法 | |
CN115499876A (zh) | Msde场景下基于dqn算法的计算卸载策略 | |
CN113743012B (zh) | 一种多用户场景下的云-边缘协同模式任务卸载优化方法 | |
CN113342529B (zh) | 基于强化学习的无小区大规模多天线架构下移动边缘计算卸载方法 | |
Zhu et al. | Scaling up mobile service selection in edge computing environment with cuckoo optimization algorithm | |
Gebrekidan et al. | Combinatorial Client-Master Multiagent Deep Reinforcement Learning for Task Offloading in Mobile Edge Computing | |
Gu et al. | On Intelligent Placement Decision-Making Algorithms for Wireless Digital Twin Networks Via Bandit Learning |
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 |