CN116305747A - 一种基于改进鲸鱼优化算法的工作流多目标调度方法 - Google Patents

一种基于改进鲸鱼优化算法的工作流多目标调度方法 Download PDF

Info

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
Application number
CN202211613591.0A
Other languages
English (en)
Inventor
袁友伟
黄笑成
高一鸣
姜添
毛娅鈊
王昌鹏
鄢腊梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202211613591.0A priority Critical patent/CN116305747A/zh
Publication of CN116305747A publication Critical patent/CN116305747A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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混沌映射为种群进行初始化,其描述如下:
Figure BDA0004001147110000021
其中p表示(0,0.5)区间的一个随机数,是混沌序列的随机产生参数;xi表示第i次产生的初始编码,xi+1是根据xi产生的第i+1次初始编码,由所有初始编码生成混沌序列,然后将每个初始编码乘以m并向上取整,得到对应的服务器编号,如下所示:
Figure BDA0004001147110000022
令N为种群数量,则可获得初始鲸鱼种群W,其中每个个体X1,X2,X3,…,XN代表一种工作流调度方案:
W={X1,X2,X3,…,XN} 式(3)
步骤(4):计算鲸鱼个体适应度;
步骤(4.1)时间计算,通过本地计算时间、传输时间、服务器计算时间来获取工作流的总消耗时间;具体是:
步骤(4.1.1)本地运算时间计算;由于本地计算不需要与边缘服务器进行通信,因此节省了通信时间,工作流任务ti的本地运算时间
Figure BDA0004001147110000023
具体如下:
Figure BDA0004001147110000031
其中
Figure BDA00040011471100000313
代表任务ti的数据量大小,flocal表示本地设备的cpu处理频率;
步骤(4.1.2)传输时间计算;两个工作流任务之间存在数据传递,需要处理相关任务的数据信息,在此阶段需要消耗传输时间;设B为本地移动设备与边缘服务器k之间的信道带宽,AP为信道内所传信号的平均功率,GNP为信道内的高斯噪声功率,通过这三个参数可计算传输速率,进而获取工作流任务的传输时间,传输速率Rlocal,k可计算得:
Figure BDA0004001147110000032
已知传输速率,设本地移动设备对于任务tj上传到边缘服务器k的数据量为
Figure BDA0004001147110000033
可得任务tj的上传时间/>
Figure BDA0004001147110000034
为:
Figure BDA0004001147110000035
设本地移动设备下载结果的数据量为
Figure BDA0004001147110000036
可得工作流任务tj的下载时间/>
Figure BDA0004001147110000037
为:
Figure BDA0004001147110000038
步骤(4.1.3)服务器运算时间计算:
工作流任务tj在边缘服务器k上的服务器运算时间
Figure BDA0004001147110000039
为:
Figure BDA00040011471100000310
其中
Figure BDA00040011471100000311
为任务tj的数据量大小,fk为边缘服务器k的cpu频率;
步骤(4.1.4)总时间计算;
工作流W的总时间可表示为上述时间的总和,即为:
Figure BDA00040011471100000312
其中LT表示在本地执行的工作流任务集合,ST表示卸载到边缘服务器执行的工作流任务集合,BS为边缘服务器集合;
步骤(4.2)能耗计算,通过本地能耗计算和卸载能耗计算来获取工作流的总能耗;具体是:
步骤(4.2.1)本地能耗计算;
设γlocal为本地移动设备每个cpu周期的能耗系数,则本地工作流任务ti在本地的执行能耗
Figure BDA0004001147110000041
可由下方公式给出:
Figure BDA0004001147110000042
步骤(4.2.2)卸载能耗计算;
本地移动设备将工作流任务tj卸载至边缘服务器时需要消耗能量
Figure BDA0004001147110000043
可由下方公式计算:
Figure BDA0004001147110000044
其中ptran表示本地移动设备的传输功率;
步骤(4.2.3)工作流W的总能耗计算;
Figure BDA0004001147110000045
步骤(4.3)平均负载率计算;
对于边缘服务器k,用Ck,Mk,Nk分别表示其cpu、内存、网络带宽的资源总量,
Figure BDA0004001147110000046
分别表示工作流任务tj在边缘服务器k上的cpu资源消耗量、内存消耗量、带宽消耗量,ar1,ar2,ar3代表资源、内存、带宽在负载中的比重,则边缘服务器平均负载量AVERload计算如下:
Figure BDA0004001147110000047
步骤(4.4)适应度计算;
工作流调度方案(也就是鲸鱼个体)适应度的目标函数f(X):
Figure BDA0004001147110000048
其中α是负载的惩罚系数,β是权重因子,用于衡量用户对时间和能耗的偏向度;
步骤(5):根据p1是否小于0.5判断是否捕食猎物,p1代表鲸鱼随机行为的选择概率,若是则进行步骤(7),若否则进行步骤(6);
步骤(6):包围或搜寻猎物;
在搜索空间中,猎物代表当前最优的工作流调度方案,根据式(16),若
Figure BDA0004001147110000051
鲸鱼种群中的每个鲸鱼个体会游向猎物以进行包围;若/>
Figure BDA0004001147110000052
每个鲸鱼个体会游向另一个随机鲸鱼个体以搜寻猎物,最优工作流调度方案的行为模型如下:
Figure BDA0004001147110000053
Figure BDA0004001147110000054
Figure BDA0004001147110000055
其中
Figure BDA0004001147110000056
表示当前鲸鱼第t+1次迭代后的位置,/>
Figure BDA0004001147110000057
表示当前迭代位置,
Figure BDA0004001147110000058
表示在第t次迭代中最优鲸鱼的位置,/>
Figure BDA0004001147110000059
表示鲸鱼种群中随机一条鲸鱼的位置,/>
Figure BDA00040011471100000510
是表示系数,/>
Figure BDA00040011471100000511
是距离系数,并分别以式(16)、式(17)计算;通过上述公式向最优工作流调度方案趋近;/>
Figure BDA00040011471100000512
是由/>
Figure BDA00040011471100000513
生成的随机数,/>
Figure BDA00040011471100000514
是[0,1]中的随机向量;max_iter是最大迭代次数,t是当前迭代次数,/>
Figure BDA00040011471100000515
是迭代过程的权重系数,ω是范围系数;
步骤(7):螺旋更新位置;
最优工作流调度方案的行为模型如下:
Figure BDA00040011471100000516
其中b是限定螺旋状的常数,从当前最优的位置根据搜索路径不断迭代至全局最优位置,即获得最优工作流调度方案,l是[0,1]之间的随机数;
步骤(8):改进随机差分法变异;
为加快寻找最优工作流调度方案,采用随机差分法变异:
Figure BDA00040011471100000517
其中r1,r2是两个随机数,分别代表最优个体距离和随机个体距离权重占比,
Figure BDA00040011471100000518
代表经过随机差分法变异后的新个体,若新个体适应度优于原个体,则接受并替换原个体,以此加快最优工作流调度方案的输出;
Figure BDA0004001147110000061
若新个体适应度劣于原个体,则以概率接受,其数学表达如下所示:
Figure BDA0004001147110000062
其中qr是[0,1]之间的随机数,q是变化的非线性选择概率,并由下方公式给出:
Figure BDA0004001147110000063
其中t表示当前迭代次数;
步骤(9):输出最优调度方案;
若迭代次数达到最大,则终止迭代,输出最优个体,并解码得到最优工作流调度方案。
第二方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述的方法。
第三方面,本发明提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的方法。
与现有技术相比,本发明具有如下特征:
高效性:本发明提出一种改进的非线性收敛因子
Figure BDA0004001147110000064
用以解决原算法中的收敛因子
Figure BDA0004001147110000065
随着迭代次数由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混沌映射为种群进行初始化,其描述如下:
Figure BDA0004001147110000081
Piecewise混沌映射的数学形式简单,如图3所示能够产生均匀的初始鲸鱼种群,较为均匀的初始种群能够有效提升算法的收敛速度,节省工作流调度中的部分时间。
其中p表示(0,0.5)区间的一个随机数,代表混沌序列的随机产生范围,起始值x1是[0,1]之间的随机数,xi表示第i次产生的初始编码,xi+1是根据xi产生的第i+1次初始编码。生成混沌序列后将其中每个数值乘以m并向上取整,得到对应的服务器编号,如下所示:
Figure BDA0004001147110000082
令N为种群数量,则可获得初始鲸鱼种群W如下所示,其中的每个个体X1,X2,X3,…,XN都代表一种工作流调度方案:
W={X1,X2,X3,…,XN} 式(3)
步骤(4):鲸鱼个体适应度计算;包括时间计算、能耗计算、平均负载率计算;
步骤(4.1)时间计算,通过本地计算时间、传输时间、服务器计算时间来获取工作流的总消耗时间;
步骤(4.1.1)本地运算时间计算;由于本地计算不需要与边缘服务器进行通信,因此节省了通信时间,工作流任务ti的本地运算时间
Figure BDA0004001147110000083
可给出为:
Figure BDA0004001147110000084
Figure BDA0004001147110000085
代表任务ti的数据量大小,flocal表示本地设备的cpu处理频率。
步骤(4.1.2)传输时间计算;两个任务之间存在数据传递,需要处理相关任务的数据信息,在此阶段需要消耗传输时间。设B为本地移动设备与边缘服务器k之间的信道带宽,AP为信道内所传信号的平均功率,GNP为信道内的高斯噪声功率,通过这三个参数可计算传输速率,进而获取工作流任务的传输时间,传输速率Rlocal,k可计算得:
Figure BDA0004001147110000091
已知传输速率,设本地移动设备对于工作流任务tj上传到边缘服务器k的数据量为
Figure BDA0004001147110000092
可得工作流任务tj的上传时间/>
Figure BDA0004001147110000093
为:
Figure BDA0004001147110000094
设本地移动设备下载结果的数据量为
Figure BDA0004001147110000095
可得工作流任务tj的下载时间
Figure BDA0004001147110000096
为:
Figure BDA0004001147110000097
步骤(4.1.3)服务器运算时间计算:工作流任务tj在服务器k上的服务器运算时间
Figure BDA0004001147110000098
为:
Figure BDA0004001147110000099
Figure BDA00040011471100000915
为任务tj的数据量大小,fk为服务器k的cpu频率。
步骤(4.1.4)总时间计算;总时间可表示为上述时间的总和,即为:
Figure BDA00040011471100000910
其中LT表示在本地执行的工作流任务集合,ST表示卸载到服务器执行的工作流任务集合,BS为边缘服务器集合。较少的总时间能够一定程度上体现工作流调度方案的可行性。
步骤(4.2)能耗计算,通过本地能耗计算和卸载能耗计算来获取工作流的总能耗,包括步骤(4.2.1)、步骤(4.2.2)、步骤(4.2.3);
步骤(4.2.1)本地能耗计算;设γlocal为本地移动设备每个cpu周期的能耗系数,则本地工作流任务ti在本地的执行能耗
Figure BDA00040011471100000911
可由下方公式给出:
Figure BDA00040011471100000912
步骤(4.2.2)卸载能耗计算;本地移动设备将工作流任务tj卸载至边缘服务器时需要消耗能量
Figure BDA00040011471100000913
可由下方公式计算:
Figure BDA00040011471100000914
ptran表示本地移动设备的传输功率。
步骤(4.2.3)总能耗计算;工作流W的总能耗Etotal由步骤(4.2.1)和步骤(4.2.2)累加获得,如下所示:
Figure BDA0004001147110000101
普遍要求工作流任务的调度使总能耗达到较小值,因此本发明同样将减少能耗作为优化目标。
步骤(4.3)平均负载率计算;
对于边缘服务器k,用Ck,Mk,Nk分别表示其cpu、内存、网络带宽的资源总量,
Figure BDA0004001147110000102
分别表示工作流任务tj在边缘服务器k上的cpu资源消耗量、内存消耗量、带宽消耗量,ar1,ar2,ar3代表资源、内存、带宽在负载中的比重,则边缘服务器平均负载量AVERload计算如下:
Figure BDA0004001147110000103
平均负载量越小则代表该工作流调度方案在负载层面的调节效果越优。
步骤(4.4)适应度计算;综合步骤(4.1)、步骤(4.2)和步骤(4.3),计算工作流调度方案所代表的鲸鱼个体适应度的目标函数f(X)的方法如下:
Figure BDA0004001147110000104
α是负载的惩罚系数,β是权重因子,用于衡量用户对时间和能耗的偏向度,β越大说明对时间的要求高,反之对能耗的要求高,通过参数的改变可以调节用户对于工作流任务调度的负载或时间能耗需求,更进一步提高工作流调度方案优化方向的明确性。
步骤(5):收缩包围与螺旋更新;鲸鱼种群在发现猎物时,鲸鱼个体以50%的概率进行收缩包围,另外50%的概率进行螺旋更新,以此来不断确定最优工作流调度方案的位置并向其逼近,提高算法的空间搜索能力。根据p1是否小于0.5判断是否捕食猎物,p1代表鲸鱼随机行为的选择概率。其行为模型为:
Figure BDA0004001147110000111
Figure BDA0004001147110000112
是下一次迭代中该鲸鱼个体的位置,/>
Figure BDA0004001147110000113
是当前迭代中最优鲸鱼个体或随机鲸鱼个体的位置,具体判别方法体现在步骤(6)中,b是限定螺旋状的常数,l是[0,1]之间的随机数。两种行为分别对应步骤(6)与步骤(7)。
步骤(6):包围或搜寻猎物;
在搜索空间中,猎物代表当前最优的工作流调度方案,若
Figure BDA0004001147110000114
鲸鱼种群中的每个鲸鱼个体会游向猎物以进行包围。若/>
Figure BDA0004001147110000115
每个鲸鱼个体会随机游向另一个鲸鱼个体以搜寻猎物,最优工作流调度方案的行为模型:
Figure BDA0004001147110000116
Figure BDA0004001147110000117
Figure BDA0004001147110000118
其中
Figure BDA0004001147110000119
表示当前鲸鱼第t+1次迭代后的位置,/>
Figure BDA00040011471100001110
表示当前迭代位置,
Figure BDA00040011471100001111
表示在第t次迭代中最优鲸鱼的位置,/>
Figure BDA00040011471100001112
表示鲸鱼种群中随机一条鲸鱼的位置,/>
Figure BDA00040011471100001113
是表示系数,/>
Figure BDA00040011471100001114
是距离系数,并分别以式(16)、式(17)计算;通过上述公式向最优工作流调度方案趋近;/>
Figure BDA00040011471100001115
是由/>
Figure BDA00040011471100001116
生成的随机数,/>
Figure BDA00040011471100001117
是[0,1]中的随机向量;max_iter是最大迭代次数,t是当前迭代次数,/>
Figure BDA00040011471100001118
是迭代过程的权重系数,ω是范围系数;
由于原算法中
Figure BDA00040011471100001119
随着迭代次数由2线性减少到0对算法的全局搜索能力和局部寻优有所限制,无法对算法收敛速度进行有效调整,因此有必要提出一种改进的非线性收敛因子以加快算法的全局收敛速度,改进的收敛算子由以下方式计算:
Figure BDA00040011471100001120
其中max_iter是最大迭代次数,t是当前迭代次数,
Figure BDA00040011471100001121
是迭代过程的权重系数,ω是范围系数。通过改进的收敛因子能够加快收敛速度,在较少的迭代次数下得到较优的工作流调度方案。
步骤(7):螺旋更新位置;
最优工作流调度方案的行为模型:
Figure BDA0004001147110000121
其螺旋更新图如图2所示,其中b是限定螺旋状的常数,从当前最优的位置根据搜索路径不断迭代至全局最优位置,即获得最优工作流调度方案,l是[0,1]之间的随机数。
步骤(8):改进随机差分法变异;相较于原始鲸鱼优化算法新增该步骤,对鲸鱼种群中每次迭代产生的新解进行随机差分法变异产生新个体
Figure BDA0004001147110000122
与原始鲸鱼优化算法相比这样做的优势在于每次迭代后能够进行全局寻优,从而在求解前期可以快速收敛,求解后期能够跳出局部最优,有效提升全局搜索的能力,加快寻找最优工作流调度方案,随机差分法变异的公式如下所示:
Figure BDA0004001147110000123
其中r1,r2是两个随机数,分别代表最优个体距离和随机个体距离权重占比,
Figure BDA0004001147110000124
代表经过随机差分法变异后的新个体,若产生的新个体适应度优于原个体,则接受并替换原个体,以此加快最优工作流调度方案的输出。
Figure BDA0004001147110000125
若新个体适应度劣于原个体则以概率接受,其数学表达如下所示:
Figure BDA0004001147110000126
其中qr是[0,1]之间的随机数,q是变化的非线性选择概率,并由下方公式给出:
Figure BDA0004001147110000127
通过对劣解的概率接受,不仅使得本发明相较于原始鲸鱼优化算法能够丰富算法跳出局部最优的手段,获取更优的工作流调度方案,还减弱其算法后期的收敛速度的影响,保证在一定的迭代次数内得到最优工作流调度方案。
步骤(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比较了各算法在不同服务器节点数量下的单位时间内的吞吐量大小,一定时间内的吞吐量
Figure BDA0004001147110000131
可由已执行的任务集合AST内的各个任务数据量/>
Figure BDA0004001147110000132
累加计算,可以看到四种算法均随着服务器节点数量提升吞吐量也得到提升,但由于本发明以适应度的形式对负载均衡做了图4所描述的相关处理,能够更有效的调节负载和分配任务,因此在本发明算法的调节作用下相比其余三种算法能够获得更高的吞吐量,这就说明本发明在单位时间内能够处理更多的任务。
图6和表1展示了四种算法在任务数量为400随着迭代次数的增加适应度值的变化。在最初的几次迭代中四种算法的差异不大,而随着迭代次数进行到20次以后本发明与另外三种算法相比适应度值曲线呈现为非线性快速下降,这是由于本发明改进了收敛算子a,使其能够在算法前期快速收敛。在迭代进行至40次时Greedy算法最优解的适应度仍处于不够理想的情况,因为Greedy算法在算法后期容易陷入局部最优的情况,所以其寻到的最优解并不是全局的最优解,而原始的WOA算法和PSO算法虽然提供了跳出局部最优的一些手段,但是其效果不够显著,同样有陷入局部最优的风险。本发明采取了随机差分变异与概率接受的方法保证了每次迭代后能够进行全局寻优,因此在求解前期可以快速收敛,求解后期能够跳出局部最优,提升全局搜索的能力。所以解的质量和求解速度优于Greedy算法、PSO算法和原始WOA算法,也就说明所生成的调度方案消耗更少的系统成本。
表1不同迭代次数下各算法适应度对照表
Figure BDA0004001147110000141
/>

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混沌映射为种群进行初始化,其描述如下:
Figure FDA0004001147100000011
其中p表示(0,0.5)区间的一个随机数,是混沌序列的随机产生参数;xi表示第i次产生的初始编码,xi+1是根据xi产生的第i+1次初始编码,由所有初始编码生成混沌序列,然后将每个初始编码乘m并向上取整,得到对应的服务器编号,如下所示:
Figure FDA0004001147100000012
令N为种群数量,则可获得初始工作流鲸鱼种群W,其中每个个体X1,X2,X3,…,XN代表一种工作流调度方案:
W={X1,X2,X3,…,XN} 式(3)步骤(4):计算鲸鱼个体适应度;
适应度的目标函数f(X):
Figure FDA0004001147100000021
其中α是负载的惩罚系数,β是权重因子,AVERload表示边缘服务器平均负载量,TDtotal表示工作流消耗的总时间,Etotal表示工作流消耗的总能耗;
步骤(5):根据p1是否小于0.5判断是否捕食猎物,p1代表鲸鱼随机行为的选择概率;若是则进行步骤(7),若否则进行步骤(6);
步骤(6):包围或搜寻猎物;
在搜索空间中,猎物代表当前最优的工作流调度方案,根据式(16),若
Figure FDA0004001147100000022
鲸鱼种群中的每个鲸鱼个体会游向猎物以进行包围;若/>
Figure FDA0004001147100000023
每个鲸鱼个体会游向另一个随机鲸鱼个体以搜寻猎物,最优工作流调度方案的行为模型如下:
Figure FDA0004001147100000024
Figure FDA0004001147100000025
Figure FDA0004001147100000026
其中
Figure FDA0004001147100000027
表示当前鲸鱼第t+1次迭代后的位置,/>
Figure FDA0004001147100000028
表示当前迭代位置,/>
Figure FDA0004001147100000029
表示在第t次迭代中最优鲸鱼的位置,/>
Figure FDA00040011471000000210
表示鲸鱼种群中随机一条鲸鱼的位置,/>
Figure FDA00040011471000000211
是表示系数,/>
Figure FDA00040011471000000212
是距离系数,并分别以式(16)、式(17)计算;通过上述公式向最优工作流调度方案趋近;/>
Figure FDA00040011471000000213
是由/>
Figure FDA00040011471000000214
生成的随机数,/>
Figure FDA00040011471000000215
是[0,1]中的随机向量;max_iter是最大迭代次数,t是当前迭代次数,/>
Figure FDA00040011471000000216
是迭代过程的权重系数,ω是范围系数;
步骤(7):螺旋更新位置;
最优工作流调度方案的行为模型如下:
Figure FDA0004001147100000031
其中b是限定螺旋状的常数,从当前最优的位置根据搜索路径不断迭代至全局最优位置,即获得最优工作流调度方案,l是[0,1]之间的随机数;
步骤(8):改进随机差分法变异;
为加快寻找最优工作流调度方案,采用随机差分法变异:
Figure FDA0004001147100000032
其中r1,r2是两个随机数,分别代表最优个体距离和随机个体距离权重占比,
Figure FDA0004001147100000033
代表经过随机差分法变异后的新个体,若新个体适应度优于原个体,则接受并替换原个体,以此加快最优工作流调度方案的输出;
Figure FDA0004001147100000034
若新个体适应度劣于原个体,则以概率接受,其数学表达如下所示:
Figure FDA0004001147100000035
其中qr是[0,1]之间的随机数,q是变化的非线性选择概率,并由下方公式给出:
Figure FDA0004001147100000036
其中t表示当前迭代次数;
步骤(9):输出最优调度方案;
若迭代次数达到最大,则终止迭代,输出最优个体,并解码得到最优工作流调度方案。
2.根据权利要求1所述方法,其特征在于步骤(4)中工作流W的总时间通过本地计算时间、传输时间、服务器计算时间来获取,具体计算如下:
①本地运算时间计算;
由于本地计算不需要与边缘服务器进行通信,因此节省了通信时间,任务ti的本地运算时间
Figure FDA0004001147100000037
具体如下:
Figure FDA0004001147100000038
其中
Figure FDA0004001147100000039
代表工作流任务ti的数据量大小,flocal表示本地设备的cpu处理频率;
②传输时间计算;
两个工作流任务之间存在数据传递,需要处理相关任务的数据信息,在此阶段需要消耗传输时间;设B为本地移动设备与边缘服务器k之间的信道带宽,AP为信道内所传信号的平均功率,GNP为信道内的高斯噪声功率,通过这三个参数可计算传输速率,进而获取工作流任务的传输时间,传输速率Rlocal,k可计算得:
Figure FDA0004001147100000041
已知传输速率,设本地移动设备对于任务tj上传到边缘服务器k的数据量为
Figure FDA00040011471000000411
可得工作流任务tj的上传时间/>
Figure FDA0004001147100000042
为:
Figure FDA0004001147100000043
设本地移动设备下载结果的数据量为
Figure FDA0004001147100000044
可得工作流任务tj的下载时间/>
Figure FDA0004001147100000045
为:
Figure FDA0004001147100000046
③服务器运算时间计算:
工作流任务tj在边缘服务器k上的服务器运算时间
Figure FDA0004001147100000047
为:
Figure FDA0004001147100000048
其中
Figure FDA0004001147100000049
为任务tj的数据量大小,fk为边缘服务器k的cpu频率;
④总时间计算;
工作流W的总时间可表示为上述时间的总和,即为:
Figure FDA00040011471000000410
其中LT表示在本地执行的工作流任务集合,ST表示卸载到边缘服务器执行的工作流任务集合,BS为边缘服务器集合。
3.根据权利要求1所述方法,其特征在于步骤(4)中工作流W的总能耗通过本地能耗计算和卸载能耗计算来获取工作流的总能耗;具体是:
①本地能耗计算;
设βlocal为本地移动设备每个cpu周期的能耗系数,则本地工作流任务ti在本地的执行能耗
Figure FDA0004001147100000051
可由下方公式给出:
Figure FDA0004001147100000052
②卸载能耗计算;
本地移动设备将工作流任务tj卸载至边缘服务器时需要消耗能量
Figure FDA0004001147100000053
可由下方公式计算:
Figure FDA0004001147100000054
其中ptran表示本地移动设备的传输功率;
③工作流W的总能耗计算;
Figure FDA0004001147100000055
4.根据权利要求1所述方法,其特征在于步骤(4)中边缘服务器平均负载量AVERload具体计算如下;
对于边缘服务器k,用Ck,Mk,Nk分别表示其cpu、内存、网络带宽的资源总量,
Figure FDA0004001147100000057
分别表示工作流任务tj在边缘服务器k上的cpu资源消耗量、内存消耗量、带宽消耗量,ar1,ar2,ar3代表资源、内存、带宽在负载中的比重,则边缘服务器平均负载量AVERload计算如下:
Figure FDA0004001147100000058
5.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-4中任一项所述的方法。
6.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-4中任一项所述的方法。
CN202211613591.0A 2022-12-15 2022-12-15 一种基于改进鲸鱼优化算法的工作流多目标调度方法 Pending CN116305747A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116709391A (zh) * 2023-08-02 2023-09-05 华东交通大学 超密集网络联合资源分配和能效型安全计算卸载优化方法
CN118134212A (zh) * 2024-05-07 2024-06-04 广州平云小匠科技股份有限公司 工单调度方法、装置、设备及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
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