CN115118728A - 基于蚁群算法的边缘负载均衡任务调度方法 - Google Patents
基于蚁群算法的边缘负载均衡任务调度方法 Download PDFInfo
- Publication number
- CN115118728A CN115118728A CN202210702387.XA CN202210702387A CN115118728A CN 115118728 A CN115118728 A CN 115118728A CN 202210702387 A CN202210702387 A CN 202210702387A CN 115118728 A CN115118728 A CN 115118728A
- Authority
- CN
- China
- Prior art keywords
- edge
- ant
- task
- optimal
- action
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 31
- 241000257303 Hymenoptera Species 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000009471 action Effects 0.000 claims description 49
- 239000011159 matrix material Substances 0.000 claims description 33
- 238000013508 migration Methods 0.000 claims description 33
- 230000005012 migration Effects 0.000 claims description 33
- 239000003016 pheromone Substances 0.000 claims description 30
- 101710103970 ADP,ATP carrier protein Proteins 0.000 claims description 12
- 101710133192 ADP,ATP carrier protein, mitochondrial Proteins 0.000 claims description 12
- 238000011156 evaluation Methods 0.000 claims description 7
- 230000033001 locomotion Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000036829 Device dislocation Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009024 positive feedback mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- 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]
-
- 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)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出一种基于蚁群算法的边缘负载均衡任务调度方法,在用户给定的多边缘环境下,根据边缘的平均任务处理速率,任务的到达速率,边缘间的网络时延,应用蚁群算法对最优资源任务调度方案进行求解,并使边缘网络的最大任务响应时间最小化。运用蚁群算法,通过设置最优蚂蚁,解决此类连续性问题的思路,最终得到满足条件的最优边缘任务调度方案。通过该算法得出的调度方案,可以保证使用边缘计算的用户有较好的QoS,并减少边缘网络的任务响应时间。
Description
技术领域
本发明属于云计算、移动边缘计算技术领域,尤其涉及一种基于蚁群算法的边缘负载均衡任务调度方法。
背景技术
随着计算机技术的高速发展,人们可以通过便携设备体验到大量引人入胜的计算机应用程序。然而,计算机应用程序的资源需求是不断增长的,这渐渐使得本地设备的计算能力难以满足这些设备的服务需求。为了满足本地设备的资源需求,人们提出了云计算技术,其通过运用云端服务器的丰富计算资源和存储空间,将本地设备上的计算密集型与延迟容忍型任务迁移到云端服务器(后称云端)上执行。
然而,即使云端的处理能力很强,但是随着计算机设备数量的快速增加,传统的云计算技术已经难以满足这些设备对于网络服务质量的要求了。因为本地设备将任务迁移到云端会造成较长的通信延迟,并且大量计算机设备的任务迁移请求也会给云端带来巨大的负载,使其难以满足一些交互性应用程序的任务需求,大大降低了用户的服务质量。
为了克服传统云计算技术的缺点,研究人员提出了移动边缘计算(MEC)模型。其通过在靠近本地设备的网络边缘附近布置一些小型服务器,这些服务器被称作边缘服务器(后称边缘),来满足本地设备的需求。这些边缘也拥有较为丰富的计算资源与存储空间,使得移动设备可以通过计算卸载将原来交由云端处理的任务迁移到边缘上处理,特别是那些计算密集型与延迟容忍型任务。显而易见的是,本地设备与边缘之间的距离远比本地设备与云端间的距离小,通过这一策略,可以大幅减少迁移任务的传输时延,从而减小任务的平均响应时间并减少了本地设备的能源消耗,提高了本地设备的使用时间。此外,对于云端而言,由于本地设备将大量计算密集型任务迁移到边缘服务器,使得云端的计算负载减小,降低了云端的工作负担。
但是,若单纯的将边缘看做一个个孤立的服务器,只是孤立的处理接收到的任务,显然是不科学的。因为当某一边缘范围内的用户数量过多,卸载任务量过大,会使得此边缘的负载过重,使其任务响应时间过高,影响用户体验,特别是当所有用户在单位时间内迁移的总任务量大于对应服务器的任务处理速度时,整个边缘的任务将永远无法解决,导致任务处理失败的问题。所以,正确的做法应该是将各个边缘连接成一个网络,从而使得所有边缘都可以将接收到的任务,利用计算卸载技术迁移到其他边缘上执行。在此基础上通过任务调度,平衡各个边缘之间的负载,最小化整个边缘网络的最大任务响应时间,一般将这些边缘连接在一起组成的网络称之为边缘网络。
发明内容
为了弥补现有技术的空白和不足,本发明提出一种基于蚁群算法的边缘负载均衡任务调度方法,在用户给定的多边缘环境下,根据边缘的平均任务处理速率,任务的到达速率,边缘间的网络时延,应用蚁群算法对最优资源任务调度方案进行求解,并使边缘网络的最大任务响应时间最小化。
本发明具体采用以下技术方案:
一种基于蚁群算法的边缘负载均衡任务调度方法,其特征在于:
设在某一区域,部署N个边缘服务器,本第i个边缘记为ei,,i∈{1,2,...,N},平均任务处理速率为vi,平均任务到达率为λi;目标是在符合公式(3),公式(4)与公式(5)中给出的约束下,找到一个最优任务迁移矩阵Fbes∈RN×N,使这种情况下所有边缘的负载都小于其任务处理速率,并且使整个网络的最大任务响应时间Tmax最小,即:
公式(3)表示:对于任意边缘,其只能选择将自己的到达任务卸载给其他边缘,但不能影响其他边缘的任务调度。;式(4)表示一个边缘ei向其他边缘迁移的任务量与自己剩余的任务量之和应等于其单位时间内接收到的总到达任务量λi,从而保证这个边缘任务可以被完成;公式(5)表示边缘间应有网络连接才可以迁移任务;fij表示边缘ei向边缘ej迁移的任务量;
通过蚁群算法求解所述最优任务迁移矩阵。
进一步地,所述蚁群算法包括:
蚁群定义:
用一个二元组式(11)表示算法第t次迭代的第m只蚂蚁:
蚂蚁移动:
定义解的移动的动作为一个四元组:
<i,j,wdelta,dir> (12)
其中u∈(0,1)为搜索步长;定义一个边缘i的动作空间acti={<i,1,wdelta,1>,<i,1,wdelta,-1>,...,<i,k,wdelta,1>,<i,k,wdelta,-1>},其中,k为其邻接集合中的第k个边缘;整个网络的动作空间为:ACT={act1,act2,...,actN};
在执行动作<i,j,wdelta,dir>后,对解的合法性进行一次测试,任务调度矩阵对应的边缘负载矩阵W,也一并修改;
蚂蚁搜索操作:
向当前最优蚂蚁方向搜索与局部搜索,此时的蚂蚁转移概率为:
局部搜索具体为:此蚂蚁基于其任务调度矩阵随机寻找一个<i,j,wdelta,dir>,j∈ADJi,此动作的方向dir也是随机的,而wdelta取决于此动作负载改变的两个边缘的当前剩余负载(v-w),使用公式(13)计算wdelta并令其中的u=uopt,uopt∈(0,1),称为局部搜索步长;
定义向最优解移动动作为:
即:
其中,delta∈(0,1),为最优解方向搜索步长;
对于最优解的蚂蚁其移动方式则固定选择局部搜索,使用(13)计算wdelta并令其中的u=ubes,ubes∈(0,1),称为最优解局部搜索步长,最优解搜索时对其动作空间可以执行的动作记录一遍并计算其对应Tmax,其中Tmax值最小的动作为最优动作;若最优动作的Tmax小于则最优蚂蚁执行此最优动作,并更新值;否则计算接收此动作的概率PSA:
若满足PSA>rand,rand为随机数且满足rand∈[0,1],则最优蚂蚁也执行此动作,否则最优蚂蚁不移动;
蚁群更新:
根据迭代次数,在每轮迭代结束时,更新最优解迭代步长,即:
其中,ρ∈[0.01,0.03]为信息素挥发系数;在更新信息素浓度后还应对所有蚂蚁的信息素浓度进行一次维护,保证每只蚂蚁的信息素浓度在[τmin,τmax]区间内。
进一步地,当多次更新后最优解的值变化小于预设值,则更新所有蚂蚁的信息素浓度为τmax。
本发明及其优选方案运用蚁群算法,通过设置最优蚂蚁,解决此类连续性问题的思路,最终得到满足条件的最优边缘任务调度方案。通过该算法得出的调度方案,可以保证使用边缘计算的用户有较好的QoS,并减少边缘网络的任务响应时间。
附图说明
图1为本发明实施例蚁群算法流程示意图。
图2为本发明实施例程序的最大响应时间示意图1。
图3为本发明实施例程序的最大执行时间示意图1。
图4为本发明实施例程序的最大响应时间示意图2。
图5为本发明实施例程序的最大执行时间示意图2。
图6为本发明实施例程序的最大响应时间示意图3。
图7为本发明实施例程序的最大执行时间示意图3。
具体实施方式
为让本专利的特征和优点能更明显易懂,下文特举实施例,作详细说明如下:
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本说明书使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
1系统模型
假设有一个由N个边缘组成的边缘网络,本实施例将其表示为E={e1,e2,...,eN},其中ei表示边缘网络中的第i个边缘。此外,本实施例将每个边缘的平均任务处理速率,即单位时间内每个边缘可以处理的平均任务量表示为V={v1,v2,...,vN},其中vi表示边缘网络中的第i个边缘的平均任务处理速率。
本实施例将某一边缘接收到的本地设备迁移的任务称为到达任务。并且,将每个边缘在单位时间内接收到的总到达任务量称为平均任务到达率,其定义为Λ={λ1,λ2,...,λN},,其中λi表示第i个边缘在单位时间内接收到的总到达任务量。此外,为了防止某个边缘出现任务排队时间无限的情况,应满足vi>λi。
显然,作为一个边缘网络,所有的边缘应该处在同一连通图之中。考虑到现实情况下,网络的拓扑结构不会太复杂,所以本实施例不允许边与边之间相交。此外,本实施例最多允许每个边缘与K个边缘相连。在这个连通图中,每个边缘都可以将其部分或全部的到达任务迁移到与其相邻的边缘中执行,而此边缘接收到的相邻边缘的迁移任务则不能再次迁移,从而防止任务在两个边缘中来回迁移或某个任务被迁移到与其较远的边缘执行。
由于迁移任务要通过边缘与边缘之间的连接,那么对应的边所产生的延迟必然是不可忽略的。本实施例用D∈RN×N表示这个网络的延迟:
其中dij表示从边缘ei向边缘ej传输单位任务量所花费的网络延迟,且dij=dji。特别地,当i=j时,dij=0;当边缘ei与边缘ej之间不存在网络连接时,dij=∞。
有了边缘间的网络延迟矩阵D,本实施例便可以根据其计算出每个边缘i的邻接节点矩阵ADJi,可表示为ADJi={ej|dij≠∞}。其中ej表示与边缘i之间有网络延迟的边缘,即dij≠∞。整个网络的邻接节点集合为ADJ={ADJ1,ADJ2,...,ADJN}。
在确定了以上的几个参数后,本实施例可以借鉴带权图的思想用邻接矩阵来表示整个网络的任务迁移策略,即二维矩阵F∈RN×N,其定义为:
其中fij表示边缘ei向边缘ej迁移的任务量,这些任务只能是边缘ei接收的到达任务。此外,整个网络还需满足以下三个约束:
公式(3)表示,对于任意边缘,其只能选择将自己的到达任务卸载给其他边缘,但不能影响其他边缘的任务调度。公式(4)表示一个边缘ei向其他边缘迁移的任务量与自己剩余的任务量之和应等于其单位时间内接收到的总到达任务量λi,从而保证这个边缘任务可以被完成。公式(5)则表示边缘间应有网络连接才可以迁移任务。
在定义了整个网络的任务迁移矩阵后,就可以由此计算出每个边缘单位时间负载量,本实施例将其定义为W={w1,w2,...,wN},其中:
即每个边缘的单位时间负载量为任务迁移矩阵的对应列中所有迁移任务之和。
最后,本实施例定义响应时间的评价函数。在边缘环境下,每一边缘与其他边缘间的距离一般远大于其与本地设备之间的距离。因此,在此模型中,本实施例将本地设备迁移任务的时间忽略。由此,本实施例可以得出边缘ei完成单位任务的总时延,即任务响应时间:
其中fij·dij表示边缘ei任务传输时延,而fij·tij则表示边缘ei传输给边缘ej的任务执行所需时间。本实施例将其定义为:
根据以上两个公式,本实施例就可以计算出任意边缘的任务响应时间。
对于一个网络而言,其最大的任务响应时间显然是和其所有边缘的任务响应时间中的最大值紧密相关,因此本实施例定义整个网络的最大任务响应时间Tmax为:
Tmax=max{T1,T2,...,TN} (9)
2问题定义
本实施例将问题边缘环境下的负载均衡任务定义如下:在某一区域,部署N个边缘服务器,本实施例将第i个边缘记为ei,,i∈{1,2,...,N},其平均任务处理速率为vi,平均任务到达率为λi。最终要实现的目标是在符合公式(3),公式(4)与公式(5)中给出的约束下,找到一个最优任务迁移矩阵Fbes∈RN×N,使这种情况下所有边缘的负载都小于其任务处理速率,并且使整个网络的最大任务响应时间Tmax最小。即:
3算法设计
3.1蚁群定义
在本问题中,本实施例基于MMAS的思路来设计算法,如图1所示。
本实施例可以用一个二元组:
3.2蚂蚁移动
算法在进行搜索时需要使合法解在解空间中做移动操作,因此本实施例接下来定义蚂蚁的移动动作。
本实施例可以定义解的移动的动作为一个四元组:
<i,j,wdelta,dir> (12)
其中u∈(0,1)称为搜索步长。由此本实施例可以定义一个边缘i的动作空间acti={<i,1,wdelta,1>,<i,1,wdelta,-1>,...,<i,k,wdelta,1>,<i,k,wdelta,-1>},其中,k为其邻接集合中的第k个边缘。整个网络的动作空间为:ACT={act1,act2,...,actN}。
显然,在执行动作<i,j,wdelta,dir>后,本实施例改变了节点的任务迁移矩阵,因此在执行移动动作后需要对解的合法性进行一次测试。此外,此任务调度矩阵对应的边缘负载矩阵W,也需要一并修改。
3.3蚂蚁评价
在做了以上定义后,本实施例就需要对一个可行解设置评价指标。本实施例的目标是,使得整个边缘网络的最大任务响应时间最小。因此,本实施例中蚂蚁的评价指标,是边缘网络的最大响应时间Tmax
根据公式(10)可知,较小的Tmax对应的解更优。
局部搜索顾名思义,就是此蚂蚁基于其任务调度矩阵随机寻找一个<i,j,wdelta,dir>,j∈ADJi,此动作的方向dir也是随机的,而wdelta取决于此动作负载改变的两个边缘的当前剩余负载(v-w),本实施例使用公式(13)计算wdelta并令其中的u=uopt,uopt∈(0,1),称为局部搜索步长。
向当前最优解方向搜索则依赖于当前最优蚂蚁使用这一更新策略时蚂蚁会朝着当前最优蚂蚁方向移动,随着迭代次数的增加,很大一部分的蚂蚁会聚集在最优解周围搜索,这在很大程度上强化了蚁群的搜索能力。本实施例定义向最优解移动动作为:
即
其中,delta∈(0,1),称为最优解方向搜索步长。
对于最优解的蚂蚁其移动方式则固定选择局部搜索,本实施例使用(13)计算wdelta并令其中的u=ubes,ubes∈(0,1),称为最优解局部搜索步长。与非最优解不同的是,最优解搜索时要对其动作空间可以执行的动作记录一遍并计算其对应Tmax,其中Tmax值最小的动作称为最优动作。若最优动作的Tmax小于则最优蚂蚁执行此最优动作,并更新值。否则计算接收此动作的概率PSA
若满足PSA>rand,rand为随机数且满足rand∈[0,1],则最优蚂蚁也执行此动作,否则最优蚂蚁不移动。
3.5蚁群更新
为了增加算法的搜索能力,根据迭代次数,在每轮迭代结束时,需要更新最优解迭代步长,即
其中,ρ∈[0.01,0.03]为信息素挥发系数。在更新信息素浓度后还应对所有蚂蚁的信息素浓度进行一次维护,保证每只蚂蚁的信息素浓度在[τmin,τmax]区间内。
最后,为了避免算法停滞,当多次更新后最优解的值没有较大变化,则更新所有蚂蚁的信息素浓度为τmax。
3.6算法流程
经过整合之后的的蚁群算法伪代码流程如算法1所示。
4算法评估
4.1实验环境
假设边缘之间的网络延时与它们之间的物理距离成正比。各个边缘的平均任务到达率,平均任务处理速率均服从正态分布,而边缘服务器数则取25,30,35具体参数设置如表1所列。
表1实验参数
参数 | 参数取值 |
边缘服务器个数N | {25,30,35} |
平均任务处理速率v<sub>i</sub> | N(15,6) |
平均任务到达率λ<sub>i</sub> | N(10,4) |
每个边缘的最大邻接边缘数K | 3 |
边缘间网络传输时延d<sub>ij</sub> | [0.1,0.2] |
然后选择两种算法进行对比,分别为随机迁移算法与贪心算法。在随机迁移算法中,随机选取任意两个边缘并随机选择动作迁移。贪心算法则每次选取任务响应时间最大的边缘将一定量的任务迁移到与其相连的任务响应时间最小的边缘,直到上述算法均满足迭代次数。本实验在搭载了2.30GHz Intel(R)i5的CPU和8GiB RAM的服务器上运行,并且3种算法在每种配置环境下都各执行10次,然后取10次结果的平均数。
为了更好的比较蚁群算法,随机迁移算法与贪心算法的寻优能力,本次实验在9个场景中,通过表1所述参数生成数据,重复进行10次模拟,所得最大任务响应时间和程序执行时间都取平均值。接下来本实施例从这两个方面分析实验结果。
4.2最大任务响应时间
在表2,图2、图4、图6中列出了每个场景下,蚁群算法,贪心算法以及随机迁移算法给出的边缘网络的最大任务响应时间。本实施例可以很直观的看到,不论在那个场景下,本实施例提出的蚁群算法都能够求得比另外两种对比算法更小的最大任务响应时间,寻优能力更强。这是因为
(1)蚁群算法采用了信息素,引入了正反馈机制,算法迭代初期蚁群会偏向于随机搜索,找到较好的可行解位置。算法迭代后期,则大量蚂蚁会围绕着此时的最优解周围寻优,算法会不断向着最优解收敛。
(2)本实施例引入了最大最小蚁群系统机制,降低了早期的局部最优的信息素累积优势,同时也使得即使算法后期也有部分蚂蚁可以随机搜索,提高了蚁群的多样性,进一步增强了算法的寻优能力。
综上,蚁群算法的结果普遍优于随机迁移算法和贪心算法。蚁群算法相比于各个场景的初始值,平均优化了85.55%。平均优于随机迁移算法38.41%,相比于贪心算法,蚁群算法的结果也平均优于其16.54%。
至于贪心算法,它会自适应的寻找负载最大的边缘,并减少此边缘的负载。但是他的结果不稳定,若出现某个边缘只和一个边缘相连时,很可能会出现任务量来回调度的情况,导致算法陷入停滞,但是其迭代结果也都比随机迁移算法好。
而随机迁移算法虽然可以在一定程度上降低任务最大响应时间,它计算的结果不仅不如前两种算法,也有较大不确定性,从表2中也可以看出,其结果有可能与贪心算法相差不大,也有可能比贪心算法差的多,这是因为其迁移的随机性。可以看到,随机算法的效果是三种算法中最差的。
表2不同场景下各算法最大任务响应时间
4.3程序运行时间
图3、图5、图7反应了各个场景下,蚁群算法,随机迁移算法,贪心算法需要的程序运行时间(单位:秒)。实验结果表明,蚁群算法需要最久的运行时间,这是因为蚁群算法的每次迭代都需要多次计算,包括转移概率,信息素浓度,每个移动动作对应的任务调度矩阵等等,这显然在一定程度上提高了算法的计算时间。并且在算法运行过程中,每次迭代都要对整个蚁群进行一次遍历与更新也是蚁群算法运行时间长的重要原因之一。而随机迁移算法没有蚁群算法的复杂计算,但是其每次迭代也需要对庞大的可行解集合进行遍历和更新,因此所需时间也较高。贪心算法只需要维护一个矩阵且每次迭代只有一个动作,因此其花费的程序运行时间少。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
本专利不局限于上述最佳实施方式,任何人在本专利的启示下都可以得出其它各种形式的基于蚁群算法的边缘负载均衡任务调度方法,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本专利的涵盖范围。
Claims (3)
1.一种基于蚁群算法的边缘负载均衡任务调度方法,其特征在于:
设在某一区域,部署N个边缘服务器,本第i个边缘记为ei,,i∈{1,2,...,N},平均任务处理速率为vi,平均任务到达率为λi;目标是在符合公式(3),公式(4)与公式(5)中给出的约束下,找到一个最优任务迁移矩阵Fbes∈RN×N,使这种情况下所有边缘的负载都小于其任务处理速率,并且使整个网络的最大任务响应时间Tmax最小,即:
公式(3)表示:对于任意边缘,其只能选择将自己的到达任务卸载给其他边缘,但不能影响其他边缘的任务调度。;式(4)表示一个边缘ei向其他边缘迁移的任务量与自己剩余的任务量之和应等于其单位时间内接收到的总到达任务量λi,从而保证这个边缘任务可以被完成;公式(5)表示边缘间应有网络连接才可以迁移任务;fij表示边缘ei向边缘ej迁移的任务量;
通过蚁群算法求解所述最优任务迁移矩阵。
2.根据权利要求1所述的基于蚁群算法的边缘负载均衡任务调度方法,其特征在于:所述蚁群算法包括:
蚁群定义:
用一个二元组式(11)表示算法第t次迭代的第m只蚂蚁:
蚂蚁移动:
定义解的移动的动作为一个四元组:
<i,j,wdelta,dir> (12)
其中u∈(0,1)为搜索步长;定义一个边缘i的动作空间acti={<i,1,wdelta,1>,<i,1,wdelta,-1>,...,<i,k,wdelta,1>,<i,k,wdelta,-1>},其中,k为其邻接集合中的第k个边缘;整个网络的动作空间为:ACT={act1,act2,...,actN};
在执行动作<i,j,wdelta,dir>后,对解的合法性进行一次测试,任务调度矩阵对应的边缘负载矩阵W,也一并修改;
蚂蚁搜索操作:
向当前最优蚂蚁方向搜索与局部搜索,此时的蚂蚁转移概率为:
局部搜索具体为:此蚂蚁基于其任务调度矩阵随机寻找一个<i,j,wdelta,dir>,j∈ADJi,此动作的方向dir也是随机的,而wdelta取决于此动作负载改变的两个边缘的当前剩余负载(v-w),使用公式(13)计算wdelta并令其中的u=uopt,uopt∈(0,1),称为局部搜索步长;
定义向最优解移动动作为:
即:
其中,delta∈(0,1),为最优解方向搜索步长;
对于最优解的蚂蚁其移动方式则固定选择局部搜索,使用(13)计算wdelta并令其中的u=ubes,ubes∈(0,1),称为最优解局部搜索步长,最优解搜索时对其动作空间可以执行的动作记录一遍并计算其对应Tmax,其中Tmax值最小的动作为最优动作;若最优动作的Tmax小于则最优蚂蚁执行此最优动作,并更新值;否则计算接收此动作的概率PSA:
若满足PSA>rand,rand为随机数且满足rand∈[0,1],则最优蚂蚁也执行此动作,否则最优蚂蚁不移动;
蚁群更新:
根据迭代次数,在每轮迭代结束时,更新最优解迭代步长,即:
其中,ρ∈[0.01,0.03]为信息素挥发系数;在更新信息素浓度后还应对所有蚂蚁的信息素浓度进行一次维护,保证每只蚂蚁的信息素浓度在[τmin,τmax]区间内。
3.根据权利要求2所述的基于蚁群算法的边缘负载均衡任务调度方法,其特征在于:当多次更新后最优解的值变化小于预设值,则更新所有蚂蚁的信息素浓度为τmax。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210702387.XA CN115118728B (zh) | 2022-06-21 | 2022-06-21 | 基于蚁群算法的边缘负载均衡任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210702387.XA CN115118728B (zh) | 2022-06-21 | 2022-06-21 | 基于蚁群算法的边缘负载均衡任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115118728A true CN115118728A (zh) | 2022-09-27 |
CN115118728B CN115118728B (zh) | 2024-01-19 |
Family
ID=83329098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210702387.XA Active CN115118728B (zh) | 2022-06-21 | 2022-06-21 | 基于蚁群算法的边缘负载均衡任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115118728B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115623010A (zh) * | 2022-10-19 | 2023-01-17 | 南京航空航天大学 | 基于sdn和haco-csa的服务器集群负载均衡方法及系统 |
CN116896483A (zh) * | 2023-09-08 | 2023-10-17 | 成都拓林思软件有限公司 | 一种数据保护系统 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2328308A1 (en) * | 2009-11-27 | 2011-06-01 | Alcatel Lucent | Method for building a path according to adaptation functions using an ant colony |
US20120084743A1 (en) * | 2010-09-30 | 2012-04-05 | Ispir Mustafa | Method and apparatus for improving the interconnection and multiplexing cost of circuit design from high level synthesis using ant colony optimization |
CN102932422A (zh) * | 2012-09-29 | 2013-02-13 | 南京邮电大学 | 基于改进蚁群算法的云环境任务调度方法 |
CN105487920A (zh) * | 2015-10-12 | 2016-04-13 | 沈阳工业大学 | 基于蚁群算法的多核系统实时任务调度的优化方法 |
CN106095555A (zh) * | 2016-06-17 | 2016-11-09 | 河海大学常州校区 | 基于蚁群算法的wsan中执行器任务调度方法 |
CN107766135A (zh) * | 2017-09-29 | 2018-03-06 | 东南大学 | 移动朵云中基于粒子群和模拟退火优化的任务分配方法 |
CN109191004A (zh) * | 2018-09-25 | 2019-01-11 | 中国人民解放军空军工程大学 | 一种多无人机测绘任务分配方法和装置 |
CN109617991A (zh) * | 2018-12-29 | 2019-04-12 | 东南大学 | 基于值函数近似的超密集异构网络小站编码协作缓存方法 |
CN111611080A (zh) * | 2020-05-22 | 2020-09-01 | 中国科学院自动化研究所 | 边缘计算任务协同调度方法、系统、装置 |
CN111639811A (zh) * | 2020-06-01 | 2020-09-08 | 中国农业大学 | 基于改进蚁群算法的多农机协同作业远程管理调度方法 |
CN111967643A (zh) * | 2020-07-13 | 2020-11-20 | 北京工业大学 | 一种基于贪婪自适应蚁群算法的任务调度方法 |
CN112256415A (zh) * | 2020-10-19 | 2021-01-22 | 福州大学 | 基于pso-ga的微云负载均衡任务调度方法 |
CN112488868A (zh) * | 2020-11-27 | 2021-03-12 | 北京邮电大学 | 一种基于闭环框架的表面活性剂驱油集成调度优化与控制方法 |
CN112738272A (zh) * | 2021-01-12 | 2021-04-30 | 浙江工业大学 | 一种最小化网络时延的边缘节点负载均衡方法 |
CN113641500A (zh) * | 2021-08-18 | 2021-11-12 | 嘉兴学院 | 一种综合信任评价的海上边缘计算卸载方法 |
CN113672372A (zh) * | 2021-08-30 | 2021-11-19 | 福州大学 | 一种基于强化学习的多边缘协同负载均衡任务调度方法 |
CN114154685A (zh) * | 2021-11-15 | 2022-03-08 | 国网黑龙江省电力有限公司信息通信公司 | 智能电网中电能数据调度方法 |
CN114363962A (zh) * | 2021-12-07 | 2022-04-15 | 重庆邮电大学 | 一种协作式边缘服务器部署和资源调度方法、存储介质及系统 |
CN114500560A (zh) * | 2022-01-06 | 2022-05-13 | 浙江鼎峰科技股份有限公司 | 一种最小化网络时延的边缘节点服务部署与负载均衡方法 |
-
2022
- 2022-06-21 CN CN202210702387.XA patent/CN115118728B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2328308A1 (en) * | 2009-11-27 | 2011-06-01 | Alcatel Lucent | Method for building a path according to adaptation functions using an ant colony |
US20120084743A1 (en) * | 2010-09-30 | 2012-04-05 | Ispir Mustafa | Method and apparatus for improving the interconnection and multiplexing cost of circuit design from high level synthesis using ant colony optimization |
CN102932422A (zh) * | 2012-09-29 | 2013-02-13 | 南京邮电大学 | 基于改进蚁群算法的云环境任务调度方法 |
CN105487920A (zh) * | 2015-10-12 | 2016-04-13 | 沈阳工业大学 | 基于蚁群算法的多核系统实时任务调度的优化方法 |
CN106095555A (zh) * | 2016-06-17 | 2016-11-09 | 河海大学常州校区 | 基于蚁群算法的wsan中执行器任务调度方法 |
CN107766135A (zh) * | 2017-09-29 | 2018-03-06 | 东南大学 | 移动朵云中基于粒子群和模拟退火优化的任务分配方法 |
CN109191004A (zh) * | 2018-09-25 | 2019-01-11 | 中国人民解放军空军工程大学 | 一种多无人机测绘任务分配方法和装置 |
CN109617991A (zh) * | 2018-12-29 | 2019-04-12 | 东南大学 | 基于值函数近似的超密集异构网络小站编码协作缓存方法 |
CN111611080A (zh) * | 2020-05-22 | 2020-09-01 | 中国科学院自动化研究所 | 边缘计算任务协同调度方法、系统、装置 |
CN111639811A (zh) * | 2020-06-01 | 2020-09-08 | 中国农业大学 | 基于改进蚁群算法的多农机协同作业远程管理调度方法 |
CN111967643A (zh) * | 2020-07-13 | 2020-11-20 | 北京工业大学 | 一种基于贪婪自适应蚁群算法的任务调度方法 |
CN112256415A (zh) * | 2020-10-19 | 2021-01-22 | 福州大学 | 基于pso-ga的微云负载均衡任务调度方法 |
CN112488868A (zh) * | 2020-11-27 | 2021-03-12 | 北京邮电大学 | 一种基于闭环框架的表面活性剂驱油集成调度优化与控制方法 |
CN112738272A (zh) * | 2021-01-12 | 2021-04-30 | 浙江工业大学 | 一种最小化网络时延的边缘节点负载均衡方法 |
CN113641500A (zh) * | 2021-08-18 | 2021-11-12 | 嘉兴学院 | 一种综合信任评价的海上边缘计算卸载方法 |
CN113672372A (zh) * | 2021-08-30 | 2021-11-19 | 福州大学 | 一种基于强化学习的多边缘协同负载均衡任务调度方法 |
CN114154685A (zh) * | 2021-11-15 | 2022-03-08 | 国网黑龙江省电力有限公司信息通信公司 | 智能电网中电能数据调度方法 |
CN114363962A (zh) * | 2021-12-07 | 2022-04-15 | 重庆邮电大学 | 一种协作式边缘服务器部署和资源调度方法、存储介质及系统 |
CN114500560A (zh) * | 2022-01-06 | 2022-05-13 | 浙江鼎峰科技股份有限公司 | 一种最小化网络时延的边缘节点服务部署与负载均衡方法 |
Non-Patent Citations (8)
Title |
---|
周平;殷波;邱雪松;郭少勇;孟洛明;: "面向服务可靠性的云资源调度方法", 电子学报, no. 05, pages 62 - 69 * |
姚泽玮、林嘉雯: "基于PSO-GA的多边缘负载均衡方法", 计算机科学, no. 11, pages 456 - 463 * |
尧海昌;柴博周;刘尚东;季一木;: "基于蚁群算法的轨道交通集群调度算法研究", 南京邮电大学学报(自然科学版), no. 04, pages 85 - 92 * |
李艳平;: "基于MATLAB的蚁族算法求解旅行商问题", 计算机光盘软件与应用, no. 14, pages 75 - 76 * |
谢伟增: "改进蚁群算法的云计算任务调度方法", 计算机系统应用, no. 06, pages 198 - 201 * |
陈晶;潘全科;: "改进蚁群算法求解同型机任务调度问题", 计算机工程与应用, no. 06, pages 44 - 48 * |
高建明;: "云计算中的基于ACO-SOS的任务调度的研究", 科技通报, no. 04, pages 154 - 159 * |
黄小玲;杨桂芹;邵军花;蒋占军;: "软件定义网络中蚁群优化的负载均衡算法", 测控技术, no. 01, pages 113 - 117 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115623010A (zh) * | 2022-10-19 | 2023-01-17 | 南京航空航天大学 | 基于sdn和haco-csa的服务器集群负载均衡方法及系统 |
CN116896483A (zh) * | 2023-09-08 | 2023-10-17 | 成都拓林思软件有限公司 | 一种数据保护系统 |
CN116896483B (zh) * | 2023-09-08 | 2023-12-05 | 成都拓林思软件有限公司 | 一种数据保护系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115118728B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113543176B (zh) | 基于智能反射面辅助的移动边缘计算系统的卸载决策方法 | |
CN115118728A (zh) | 基于蚁群算法的边缘负载均衡任务调度方法 | |
CN113296845A (zh) | 一种边缘计算环境下基于深度强化学习的多小区任务卸载算法 | |
WO2023040022A1 (zh) | 一种在随机网络中基于算网协同的分布式计算卸载方法 | |
CN112702401B (zh) | 一种电力物联网多任务协同分配方法及装置 | |
Vakilian et al. | Using the cuckoo algorithm to optimizing the response time and energy consumption cost of fog nodes by considering collaboration in the fog layer | |
CN113342409B (zh) | 多接入边缘计算系统时延敏感型任务卸载决策方法及系统 | |
CN110784366A (zh) | Sdn中基于immac算法的交换机迁移方法 | |
CN114567895A (zh) | 一种mec服务器集群的智能协同策略的实现方法 | |
CN112132202A (zh) | 一种基于综合信任评价的边缘计算协同盟员发现方法 | |
Kashyap et al. | Deep learning based offloading scheme for IoT networks towards green computing | |
CN115277689A (zh) | 一种基于分布式联邦学习的云边网络通信优化方法及系统 | |
CN116489712B (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN116260871A (zh) | 一种基于本地和边缘协同缓存的独立任务卸载方法 | |
CN113973113B (zh) | 一种面向移动边缘计算的分布式服务迁移方法 | |
Chen et al. | An intelligent task offloading algorithm (iTOA) for UAV network | |
CN112596910A (zh) | 一种多用户mec系统中的云计算资源调度方法 | |
CN115499875B (zh) | 一种卫星互联网任务卸载方法、系统以及可读存储介质 | |
CN111930435A (zh) | 一种基于pd-bpso技术的任务卸载决策方法 | |
CN111148155A (zh) | 一种基于移动边缘计算的任务卸载方法 | |
CN114567564B (zh) | 一种基于服务器协作的任务卸载和计算资源分配方法 | |
CN113672372B (zh) | 一种基于强化学习的多边缘协同负载均衡任务调度方法 | |
Xu et al. | An optimization scheme for task offloading and resource allocation in vehicle edge networks | |
Li et al. | Dynamic Function Allocation in Edge Serverless Computing Networks | |
Yao et al. | Performance Optimization in Serverless Edge Computing Environment using DRL-Based Function Offloading |
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 |