CN110493825B - 一种边缘计算架构下多任务的负载均衡方法 - Google Patents
一种边缘计算架构下多任务的负载均衡方法 Download PDFInfo
- Publication number
- CN110493825B CN110493825B CN201910650935.7A CN201910650935A CN110493825B CN 110493825 B CN110493825 B CN 110493825B CN 201910650935 A CN201910650935 A CN 201910650935A CN 110493825 B CN110493825 B CN 110493825B
- Authority
- CN
- China
- Prior art keywords
- task
- edge server
- source device
- energy consumption
- relay
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种边缘计算架构下多任务的负载均衡方法,本发明通过边缘服务器评估任务在源设备上完成或经过中继设备发送到边缘服务器中完成的完成时间以及能耗,并形成能耗矩阵;并基于能耗矩阵为多个源设备的能耗中,为能耗最大的源设备选择新的中继设备以降低其能耗;并且在本发明中,边缘服务器记录其自身的工作状态,计算任务在源设备上经过中继设备发送到边缘服务器的时间是否满足时间约束条件,重新修改能耗矩阵,为源设备重新匹配新的中继设备。本发明不仅可以使系统内的源设备、中继设备资源充分利用,也可以在保证用户的服务质量的前提下,使得系统下的源设备的能耗负载均衡。
Description
技术领域
本发明涉及通信领域,更具体地,涉及一种边缘计算架构下多任务的负载均衡方法。
背景技术
现如今,云计算发展迅速。而在5G(the fifth generation)时代下,虚拟现实、增强现实、深度学习等计算密集型应用也愈受欢迎。然而,移动设备体积小,这意味着其计算能力会受到其体积的制约,无法更好的支持此类应用,也会使得用户的服务满意度不高。为使得移动设备更好地支持这些应用,移动边缘计算被提出来,它将云计算发送到与终端设备更靠近的边缘,极大的减少了在网络上传输的时延。现有研究有大部分集中于移动边缘计算下的时间方面、能量消耗方面的研究,但未考虑移动边缘计算架构下设备上多任务的能量负载均衡问题。
发明内容
为了解决选有技术中对移动边缘计算的研究未考虑移动边缘计算架构下设备上多任务的能量负载均衡问题的不足,本发明提供了一种边缘计算架构下多任务的负载均衡方法。
一种边缘计算架构下多任务的负载均衡方法,包括以下步骤:
步骤S1:边缘服务器评估任务在源设备上自身完成、源设备与中继设备进行协同传输,将任务经过中继设备发送到边缘服务器中完成两种方式的完成时间以及能耗;
步骤S2:边缘服务器根据任务完成的时间以及能耗,为任务选择不同的任务完成方式,并形成能耗矩阵;
步骤S3:判断源设备与中继设备进行协同传输,将任务经中继设备发送到边缘服务器的方式是否可以在时间约束条件下完成,若可以,则边缘服务器为源设备随机匹配一个中继设备,并基于能耗矩阵为能耗最大的源设备选择新的中继设备以降低源设备能耗;
步骤S4:边缘服务器记录其自身的工作状态,计算源设备与中继设备进行协同传输时,将任务经中继设备发送到边缘服务器的完成方式是否满足时间约束条件,若满足,执行步骤S5,若不满足,重新修改能耗矩阵,返回步骤S3为源设备重新匹配新的中继设备;
步骤S5:判断当前是否还存在未选择完成方式的任务,若存在,修改时间约束条件,返回步骤S2;若不存在,则结束运算。
优选的,步骤S1的具体步骤如下:
定义源设备为ui,i∈{1,2,…,X},其中X为源设备的数量,源设备的集合U={u1,u2,…,uX};定义中继设备为rj,j∈{1,2,…,Y},中继设备的集合R={r1,r2,…,rY},其中Y为中继设备的数量;源设备ui上有多个任务Ti,k,其中k∈{1,2,…,K},K为源设备上有依赖关系的任务数量,源设备ui上的任务可按Ti,1,Ti,2,…,Ti,K顺序串行执行完成;
其中Wi,k为完成任务Ti,k所需要的CPU周期数,fi为源设备ui的CPU频率;
其中κi为源设备ui上的有效电容系数,是一个小于1的正数,单位为J/bit;
其中fe为边缘服务器e的CPU频率。
优选的,步骤S2的具体步骤如下:
边缘服务器根据任务的完成时间和能耗,确定任务{T1,k,T2,k,…,TX,k}的能耗矩阵Ek[i][j];具体步骤如下:
步骤S2.1:若则j∈{1,2,…,Y};否则Ek[i][j]=+∞,j∈{1,2,…,Y},其中ψ表示完成源设备ui上的所有任务{Ti,1,Ti,2,…,Ti,K}的最大时间,+∞即表示不能通过该方式完成任务Ti,k,也表示数值上的最大值;
优选的,步骤S3的具体步骤如下:
步骤S3.2:边缘服务器e通过循环从i=1,2,…,X,为源设备ui随机匹配一个中继设备rj以完成任务Ti,k,具体循环过程如下:
步骤S3.3:边缘服务器e通过不超过XY次迭代来降低多个源设备的能耗中,最大的源设备的能耗,每次迭代次数加1,其中具体步骤如下:
(1)中继设备ry未匹配,即usedy=0;
(2)中继设备ry刚好与源设备ui匹配,即usedy=i;
(3)假设中继设备ry与源设备ua匹配,即usedy=a,而源设备ua能够找到另一个中继设备进行匹配;
步骤S3.3.3:若中继设备ry允许分配给源设备ui,则将源设备ui与中继设备ry匹配,设定usedj=i,Ek[i][j]=+∞,进入S3.3.1进行下一次循环;
步骤S3.3.4:若中继设备ry不允许分配给源设备ui,则进入S3.3.2进行下一次循环判定;
步骤S3.3.5:若所有的循环判定结束仍不能进入S3.3.1,则迭代过程提前结束,进入步骤S4。
优选的,步骤S4的具体步骤如下:
边缘服务器构建一个单链表L存储多个元组来表示其自身的工作状态,其中元组表示为{ti,tj,i,j},i∈{u1,u2,…,uX},j∈{r1,r2,…,rY},单链表L中存储的元组是按元组中第一个元素的数值大小递增排序;在未添加元组时,单链表L为空;边缘服务器可通过单链表L判断其自身的工作状态,从而判断多个发送到边缘服务器完成的任务的时间是否满足时间约束条件,元组添加过程是i=1,2,…,X一次循环操作进行,具体步骤为:
步骤S4.1:当源设备i未与任何一个中继设备匹配时,重复步骤S4.1,判断下一个源设备i+1;
步骤S4.2:形成元组{ti,tj,i,j},其中表示任务Ti,k从源设备si经中继设备rj以两跳传输发送到边缘服务器e的时间,表示任务Ti,k在边缘服务器e完成的时间,该元组表示为源设备i连接中继设备j;
步骤S4.3:若该单链表L为空,则元组{ti,tj,i,j}添加到该单链表L中,进入步骤S4.1判断下一个源设备i+1是否与中继设备匹配;
步骤S4.4:若该单链表L不为空,按单链表L中的元组中第一个元素的大小递增遍历该单链表L中的元素,且假设当前遍历的元组为{ta,tb,a,b},则S4.2形成的元组{ti,tj,i,j}的添加过程如下:
步骤S4.4.1:若满足ti>ta+tb,则遍历该单链表L中的下一个元素,重复步骤S4.4.1的过程;
步骤S4.4.2:若满足ti+tj<ta,则将元组{ti,tj,i,j}添加到元组{ta,tb,a,b}之前的一个位置;
步骤S4.4.3:若ti+tj>ta且ti<ta,则将{ta,tb,a,b}更新为{ti,tj+tb,a,b},同时找到单链表L的下一个元素{tc,td,c,d},若ta+tb>tc,则将{tc,td,c,d}从单链表L取出,并将{tc,td,c,d}按S4.4.1到S4.4.4重新添加到单链表L中;
步骤S4.4.4:若ta<ti且ti<ta+tb,则将{ta,tb,a,b}更新为{ta,tb+tj,i,j},同时找到单链表L的下一个元素{tc,td,c,d},若ta+tb+td>tc,则将{tc,td,c,d}从单链表L取出,再次将{tc,td,c,d}按步骤S4.4.1到步骤S4.4.4添加到单链表L中;
步骤S4.5:当所有的元组添加到单链表L中后,遍历单链表L找到第一个元素的数值最大的元组{te,tf,e,f},若则发送到边缘服务器的任务在时间约束变量ψ下能够完成;否则修改能耗矩阵Ek[e][f]=+∞,返回步骤S3.1重新完成匹配。
优选的,步骤S5的具体步骤如下:
当有任务未进行匹配时,即a<K,通过一次循环从i=1到i=X找出完成任务{T1,a,T2,a,…,TX,a}需要的时间,修改时间约束变量,前往步骤S2,重新形成任务{T1,a+1,T2,a+1,…,TX,a+1}的能耗矩阵,具体步骤为:
步骤S5.1:若a=K,算法结束;
步骤S5.1:遍历步骤S4中形成的单链表L找到第一个元素的数值最大的元组{te,tf,e,f},设定Tm=te+tf;
步骤S5.2:通过循环对i=1,2,…,X,做如下判断:
步骤S5.3:完成步骤S5.2后,设定ψ←ψ-Tm,前往步骤S2,对任务{T1,k+1,T2,k+1,…,TX,k+1}进行匹配判断。
与现有技术相比,本发明技术方案的有益效果是:
本发明充分考虑了在实际应用中,多个源设备对上有多个有依赖关系的任务,且这些任务可以在本地执行也可以发送到边缘服务器执行,本发明令边缘服务器形成不同的匹配,最终实现能耗的负载均衡。本发明不仅可以使系统内的资源充分得到利用,也可以在保证服务质量的前提下,使得系统下的能耗负载均衡。
附图说明
图1为本发明的方法流程图。
图2为本发明中任务传输方式的示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1、图2所示,一种边缘计算架构下多任务的负载均衡方法,包括以下步骤:
步骤S1:边缘服务器评估任务在源设备上自身完成、源设备与中继设备进行协同传输,将任务经过中继设备发送到边缘服务器中完成两种方式的完成时间以及能耗;
步骤S2:边缘服务器根据任务完成的时间以及能耗,为任务选择不同的任务完成方式,并形成能耗矩阵;
步骤S3:判断源设备与中继设备进行协同传输,将任务经中继设备发送到边缘服务器的方式是否可以在时间约束条件下完成,若可以,则边缘服务器为源设备随机匹配一个中继设备,并基于能耗矩阵为能耗最大的源设备选择新的中继设备以降低源设备能耗;
步骤S4:边缘服务器记录其自身的工作状态,计算源设备与中继设备进行协同传输时,将任务经中继设备发送到边缘服务器的完成方式是否满足时间约束条件,若满足,执行步骤S5,若不满足,重新修改能耗矩阵,返回步骤S3为源设备重新匹配新的中继设备;
步骤S5:判断当前是否还存在未选择完成方式的任务,若存在,修改时间约束条件,返回步骤S2;若不存在,则结束运算。
作为一个优选的实施例,步骤S1的具体步骤如下:
定义源设备为ui,i∈{1,2,…,X},其中X为源设备的数量,源设备的集合U={u1,u2,…,uX};定义中继设备为rj,j∈{1,2,…,Y},中继设备的集合R={r1,r2,…,rY},其中Y为中继设备的数量;源设备ui上有多个任务Ti,k,其中k∈{1,2,…,K},K为源设备上有依赖关系的任务数量,源设备ui上的任务可按Ti,1,Ti,2,…,Ti,K顺序串行执行完成;
其中Wi,k为完成任务Ti,k所需要的CPU周期数,fi为源设备ui的CPU频率;
其中κi为源设备ui上的有效电容系数,是一个小于1的正数,单位为Jbit;
其中fe为边缘服务器e的CPU频率。
作为一个优选的实施例,步骤S2具体步骤如下:
步骤S2.1:若则j∈{1,2,…,Y};否则Ek[i][j]=+∞,j∈{1,2,…,Y},其中ψ表示完成源设备ui上的所有任务{Ti,1,Ti,2,…,Ti,K}的最大时间,+∞即表示不能通过该方式完成任务Ti,k,也表示数值上的最大值;
作为一个优选的实施例,步骤S3具体步骤如下:
步骤S3.2:边缘服务器e通过循环从i=1,2,…,X,为源设备ui随机匹配一个中继设备rj以完成任务Ti,k,具体循环过程如下:
步骤S3.3:边缘服务器e通过不超过XY次迭代来降低多个源设备的能耗中,最大的源设备的能耗,每次迭代次数加1,其中具体步骤如下:
(1)中继设备ry未匹配,即usedy=0;
(2)中继设备ry刚好与源设备ui匹配,即usedy=i;
(3)假设中继设备ry与源设备ua匹配,即usedy=a,而源设备ua能够找到另一个中继设备进行匹配;
步骤S3.3.3:若中继设备ry允许分配给源设备ui,则将源设备ui与中继设备ry匹配,设定usedj=i,Ek[i][j]=+∞,进入S3.3.1进行下一次循环;
步骤S3.3.4:若中继设备ry不允许分配给源设备ui,则进入S3.3.2进行下一次循环判定;
步骤S3.3.5:若所有的循环判定结束仍不能进入S3.3.1,则迭代过程提前结束,进入步骤S4。
作为一个优选的实施例,步骤S4具体步骤如下:
边缘服务器构建一个单链表L存储多个元组来表示其自身的工作状态,其中元组表示为{ti,tj,i,j},i∈{u1,u2,…,uX},j∈{r1,r2,…,rY},单链表L中存储的元组是按元组中第一个元素的数值大小递增排序;在未添加元组时,单链表L为空;边缘服务器可通过单链表L判断其自身的工作状态,从而判断多个发送到边缘服务器完成的任务的时间是否满足时间约束条件,元组添加过程是i=1,2,…,X一次循环操作进行,具体步骤为:
步骤S4.1:当源设备i未与任何一个中继设备匹配时,重复步骤S4.1,判断下一个源设备i+1;
步骤S4.2:形成元组{ti,tj,i,j},其中表示任务Ti,k从源设备si经中继设备rj以两跳传输发送到边缘服务器e的时间,表示任务Ti,k在边缘服务器e完成的时间,该元组表示为源设备i连接中继设备j;
步骤S4.3:若该单链表L为空,则元组{ti,tj,i,j}添加到该单链表L中,进入步骤S4.1判断下一个源设备i+1是否与中继设备匹配;
步骤S4.4:若该单链表L不为空,按单链表L中的元组中第一个元素的大小递增遍历该单链表L中的元素,且假设当前遍历的元组为{ta,tb,a,b},则S4.2形成的元组{ti,tj,i,j}的添加过程如下:
步骤S4.4.1:若满足ti>ta+tb,则遍历该单链表L中的下一个元素,重复步骤S4.4.1的过程;
步骤S4.4.2:若满足ti+tj<ta,则将元组{ti,tj,i,j}添加到元组{ta,tb,a,b}之前的一个位置;
步骤S4.4.3:若ti+tj>ta且ti<ta,则将{ta,tb,a,b}更新为{ti,tj+tb,a,b},同时找到单链表L的下一个元素{tc,td,c,d},若ta+tb>tc,则将{tc,td,c,d}从单链表L取出,并将{tc,td,c,d}按S4.4.1到S4.4.4重新添加到单链表L中;
步骤S4.4.4:若ta<ti且ti<ta+tb,则将{ta,tb,a,b}更新为{ta,tb+tj,i,j},同时找到单链表L的下一个元素{tc,td,c,d},若ta+tb+td>tc,则将{tc,td,c,d}从单链表L取出,再次将{tc,td,c,d}按步骤S4.4.1到步骤S4.4.4添加到单链表L中;
步骤S4.5:当所有的元组添加到单链表L中后,遍历单链表L找到第一个元素的数值最大的元组{te,tf,e,f},若则发送到边缘服务器的任务在时间约束变量ψ下能够完成;否则修改能耗矩阵Ek[e][f]=+∞,返回步骤S3.1重新完成匹配。
作为一个优选的实施例,步骤S5具体步骤如下:
当有任务未进行匹配时,即a<K,通过一次循环从i=1到i=X找出完成任务{T1,a,T2,a,…,TX,a}需要的时间,修改时间约束变量,前往步骤S2,重新形成任务{T1,a+1,T2,a+1,…,TX,a+1}的能耗矩阵,具体步骤为:
步骤S5.1:若a=K,算法结束;
步骤S5.1:遍历步骤S4中形成的单链表L找到第一个元素的数值最大的元组{te,tf,e,f},设定Tm=te+tf;
步骤S5.2:通过循环对i=1,2,…,X,做如下判断:
步骤S5.3:完成步骤S5.2后,设定ψ←ψ-Tm,前往步骤S2,对任务{T1,k+1,T2,k+1,…,TX,k+1}进行匹配判断。
实施例2
如图1、图2所示,本实施例的具体实施步骤如下:
其中Wi,k为完成任务Ti,k所需要的CPU周期数,fi为源设备ui的CPU频率;
其中κi为源设备ui上的CPU的有效电容系数;
其中fe为边缘服务器的CPU频率。
步骤二,边缘服务器根据任务的完成时间和能耗,确定任务{T1,k,T2,k,…,TX,k}的能耗矩阵Ek[i][j],其中能耗矩阵Ek[i][j]为步骤三所使用,具体步骤如下:
步骤S2.1:若则否则Ek[i][j]=+∞,其中ψ表示完成源设备ui上的所有任务{Ti,1,Ti,2,…,Ti,K},i∈{1,2,…,X}的时间约束条件,+∞表示不能通过该方式完成任务Ti,k,也表示数值上的最大;
步骤三,通过循环从a=1到a=K对任务{T1,a,T2,a,…,TX,a}进行中继匹配选择,当任务{T1,a,T2,a,…,TX,a}匹配完成后,会进入步骤S4判断是否满足时间约束条件,对于任务Ti,k,首先边缘服务器让源设备ui随机选择一个中继设备rj配对,接着,边缘服务器再通过不超过XY次迭代降低所有源设备中,最大的源设备的能耗,其中从步骤S3.3.1到步骤S3.3.5为一次迭代过程,每次迭代次数加1,当满足步骤S3.3.5时,迭代过程提前结束,具体步骤为:
步骤S3.2:边缘服务器通过循环从i=1,2,…,X,为源设备ui随机匹配一个中继设备rj以完成任务Ti,k,具体循环过程如下:
步骤S3.3:边缘服务器通过不超过XY次迭代来降低多个源设备的能耗中,最大的源设备的能耗,每次迭代次数加1,其中具体步骤如下:
函数I中继设备合理性判断
输入:最大能耗对的值Emax,其对应的是源设备ui与中继设备rj
输出:合理性
若中继设备rj没有与其他源设备匹配,或中继设备rj恰好与源设备ui匹配则
中继设备rj是合理的
结束函数调用
结束若
将该中继设备标为“已选用”
调用函数II为源设备ui寻找其他的中继设备
若源设备ui可以找到其他的配对则
中继设备rj是合理的
结束函数调用
结束若
中继设备rj是不合理的
结束函数调用
在函数I的调用过程中,会涉及到调用另一个函数的情况,函数II的相关过程如下:
函数II为源设备ui寻找其他的中继设备配对
输入:能耗对的值Emax,对应的源设备ui
对源设备ui所有的未被标记的中继设备按非递减的顺序判断,假设该中继设备为ra,且能耗为E
若E>Emax
源设备ui无法找到其他的配对
结束函数调用
结束若
调用函数I判断中继设备ra是否合理的
若中继设备ra合理
则取消源设备ui原来的配对,接着与中继设备ra进行配对
源设备ui可以找到其他的配对
结束函数调用
结束若
结束循环
源设备ui无法找到其他的配对
结束函数调用
步骤S3.3.3:若中继设备ry可以分配给源设备ui,则将源设备ui与中继设备ry匹配,设定usedj=i,Ek[i][j]=+∞,进入步骤S3.3.1进行下一次循环;
步骤S3.3.4:若中继设备ry不能分配给源设备ui,则进入步骤S3.3.2进行下一次循环判定;
步骤S3.3.5:若所有的循环判定结束仍不能进入步骤S3.3.1,则迭代过程提前结束,进入步骤四。
步骤四:边缘服务器构建一个单链表L存储多个元组来表示其自身的工作状态,其中元组表示为{ti,tj,i,j},i∈{u1,u2,…,uX},j∈{r1,r2,…,rY},单链表L中存储的元组是按元组中第一个元素的数值大小递增排序;在未添加元组时,单链表L为空;边缘服务器可通过单链表L判断其自身的工作状态,从而判断多个发送到边缘服务器完成的任务的时间是否满足时间约束条件,元组添加过程是i=1,2,…,X一次循环操作进行,具体步骤为:
步骤S4.1:当源设备i未与任何一个中继设备匹配时,重复步骤S4.1,判断下一个源设备i+1;
步骤S4.3:若该单链表L为空,则元组{ti,tj,i,j}添加到该单链表L中,进入步骤S4.1判断下一个源设备i+1是否与中继设备匹配;
步骤S4.4:若该单链表L不为空,按单链表L中的元组中第一个元素的大小递增遍历该单链表L中的元素,且假设当前遍历的元组为{ta,tb,a,b},则步骤S4.2形成的元组{ti,tj,i,j}的添加过程如下:
步骤S4.4.1:若满足ti>ta+tb,则遍历该单链表L中的下一个元素,重复步骤S4.4.1的过程;
步骤S4.4.2:若满足ti+tj<ta,则将元组{ti,tj,i,j}添加到元组{ta,tb,a,b}之前的一个位置;
步骤S4.4.3:若ti+tj>ta且ti<ta,则将{ta,tb,a,b}更新为{ti,tj+tb,a,b},同时找到单链表L的下一个元素{tc,td,c,d},若ta+tb>tc,则将{tc,td,c,d}从单链表L取出,并将{tc,td,c,d}按步骤S4.4.1到步骤S4.4.4重新添加到单链表L中;
步骤S4.4.4:若ta<ti且ti<ta+tb,则将{ta,tb,a,b}更新为{ta,tb+tj,i,j},同时找到单链表L的下一个元素{tc,td,c,d},若ta+tb+td>tc,则将{tc,td,c,d}从单链表L取出,再次将{tc,td,c,d}按步骤S4.4.1到步骤S4.4.4添加到单链表L中;
步骤S4.5:当所有的元组添加到单链表L中后,遍历单链表L找到第一个元素的数值最大的元组{te,tf,e,f},若则发送到边缘服务器的任务可以在时间约束变量ψ下完成,否则修改矩阵Ek[e][f]=+∞,返回步骤S3.1重新完成匹配。
步骤五:当有任务未进行匹配时,即a<K,通过一次循环从i=1到i=X找出完成任务{T1,a,T2,a,…,TX,a}需要的时间,修改时间约束变量,前往步骤S2,重新形成任务{T1,a+1,T2,a+1,…,TX,a+1}的能耗矩阵,具体步骤为:
步骤S5.1:若a=K,算法结束;
步骤S5.1:遍历步骤S4中形成的单链表L找到第一个元素的数值最大的元组{te,tf,e,f},设定Tmax=te+tf;
步骤S5.2:通过循环对i=1,2,…,X,做如下判断:
步骤S5.3:完成步骤S5.2后,设定ψ←ψ-Tmax,前往步骤S2,对任务{T1,k+1,T2,k+1,…,TX,k+1}进行匹配判断。
本实施例的最终目标是通过将任务分层,通过多次迭代,不断地使架构下的能耗趋向于均衡:
本实施例充分考虑了在实际应用中,多个源设备对上有多个有依赖关系的任务,且这些任务可以在本地执行也可以发送到边缘服务器执行。边缘服务器在不同层,形成不同的匹配,最终实现能耗的负载均衡。因此本实施例不仅可以使系统内的资源充分利用,也可以在保证服务质量的前提下,使得系统下的能量负载均衡。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (3)
1.一种边缘计算架构下多任务的负载均衡方法,其特征在于,包括以下步骤:
步骤S1:边缘服务器评估任务在源设备上自身完成、源设备与中继设备进行协同传输,将任务经过中继设备发送到边缘服务器中完成两种方式的完成时间以及能耗;
步骤S2:边缘服务器根据任务完成的时间以及能耗,为任务选择不同的任务完成方式,并形成能耗矩阵;
步骤S3:判断源设备与中继设备进行协同传输,将任务经中继设备发送到边缘服务器的方式是否可以在时间约束条件下完成,若可以,则边缘服务器为源设备随机匹配一个中继设备,并基于能耗矩阵为能耗最大的源设备选择新的中继设备以降低源设备能耗;
步骤S4:边缘服务器记录其自身的工作状态,计算源设备与中继设备进行协同传输时,将任务经中继设备发送到边缘服务器的完成方式是否满足时间约束条件,若满足,执行步骤S5,若不满足,重新修改能耗矩阵,返回步骤S3为源设备重新匹配新的中继设备;
步骤S5:判断当前是否还存在未选择完成方式的任务,若存在,修改时间约束条件,返回步骤S2;若不存在,则结束运算;
在步骤S1中,定义源设备为ui,i∈{1,2,…,X},其中X为源设备的数量,源设备的集合U={u1,u2,…,uX};定义中继设备为rj,j∈{1,2,…,Y},中继设备的集合R={r1,r2,…,rY},其中Y为中继设备的数量;源设备ui上有多个任务Ti,k,其中k∈{1,2,…,K},K为源设备上有依赖关系的任务数量,源设备ui上的任务可按Ti,1,Ti,2,…,Ti,K顺序串行执行完成,具体步骤如下:
其中Wi,k为完成任务Ti,k所需要的CPU周期数,fi为源设备ui的CPU频率;
其中κi为源设备ui上的有效电容系数,是一个小于1的正数,单位为J/bit;
其中fe为边缘服务器e的CPU频率;
步骤S2中,边缘服务器e根据任务的完成时间和能耗,确定任务{T1,k,T2,k,…,TX,k}的能耗矩阵Ek[i][j];具体步骤如下:
步骤S2.1:若则否则Ek[i][j]=+∞,j∈{1,2,…,Y},其中ψ表示完成源设备ui上的所有任务{Ti,1,Ti,2,…,Ti,K}的最大时间,+∞即表示不能通过该方式完成任务Ti,k,也表示数值上的最大值;
步骤S3具体步骤如下:
步骤S3.2:边缘服务器e通过循环从i=1,2,…,X,为源设备ui随机匹配一个中继设备rj以完成任务Ti,k,具体循环过程如下:
步骤S3.3:边缘服务器e通过不超过XY次迭代来降低多个源设备的能耗中,最大的源设备的能耗,每次迭代次数加1,其中具体步骤如下:
(1)中继设备ry未匹配,即usedy=0;
(2)中继设备ry刚好与源设备ui匹配,即usedy=i;
(3)假设中继设备ry与源设备ua匹配,即usedy=a,而源设备ua能够找到另一个中继设备进行匹配;
步骤S3.3.3:若中继设备ry允许分配给源设备ui,则将源设备ui与中继设备ry匹配,设定usedj=i,Ek[i][j]=+∞,进入S3.3.1进行下一次循环;
步骤S3.3.4:若中继设备ry不允许分配给源设备ui,则进入S3.3.2进行下一次循环判定;
步骤S3.3.5:若所有的循环判定结束仍不能进入S3.3.1,则迭代过程提前结束,进入步骤S4。
2.根据权利要求1所述的一种边缘计算架构下多任务的负载均衡方法,其特征在于,步骤S4中,边缘服务器e构建一个单链表L存储多个元组来表示其自身的工作状态,其中元组表示为{ti,tj,i,j},i∈{u1,u2,…,uX},j∈{r1,r2,…,rY},单链表L中存储的元组是按元组中第一个元素的数值大小递增排序;在未添加元组时,单链表L为空;边缘服务器可通过单链表L判断其自身的工作状态,从而判断多个发送到边缘服务器完成的任务的时间是否满足时间约束条件,元组添加过程是i=1,2,…,X一次循环操作进行,具体步骤为:
步骤S4.1:当源设备i未与任何一个中继设备匹配时,重复步骤S4.1,判断下一个源设备i+1;
步骤S4.2:形成元组{ti,tj,i,j},其中表示任务Ti,k从源设备si经中继设备rj以两跳传输发送到边缘服务器e的时间,表示任务Ti,k在边缘服务器e完成的时间,该元组表示为源设备i连接中继设备j;
步骤S4.3:若该单链表L为空,则元组{ti,tj,i,j}添加到该单链表L中,进入步骤S4.1判断下一个源设备i+1是否与中继设备匹配;
步骤S4.4:若该单链表L不为空,按单链表L中的元组中第一个元素的大小递增遍历该单链表L中的元素,且假设当前遍历的元组为{ta,tb,a,b},则S4.2形成的元组{ti,tj,i,j}的添加过程如下:
步骤S4.4.1:若满足ti>ta+tb,则遍历该单链表L中的下一个元素,重复步骤S4.4.1的过程;
步骤S4.4.2:若满足ti+tj<ta,则将元组{ti,tj,i,j}添加到元组{ta,tb,a,b}之前的一个位置;
步骤S4.4.3:若ti+tj>ta且ti<ta,则将{ta,tb,a,b}更新为{ti,tj+tb,a,b},同时找到单链表L的下一个元素{tc,td,c,d},若ta+tb>tc,则将{tc,td,c,d}从单链表L取出,并将{tc,td,c,d}按S4.4.1到S4.4.4重新添加到单链表L中;
步骤S4.4.4:若ta<ti且ti<ta+tb,则将{ta,tb,a,b}更新为{ta,tb+tj,i,j},同时找到单链表L的下一个元素{tc,td,c,d},若ta+tb+td>tc,则将{tc,td,c,d}从单链表L取出,再次将{tc,td,c,d}按步骤S4.4.1到步骤S4.4.4添加到单链表L中;
3.根据权利要求2所述的一种边缘计算架构下多任务的负载均衡方法,其特征在于,在步骤S5中,当有任务未进行匹配时,即a<K,通过一次循环从i=1到i=X找出完成任务{T1,a,T2,a,…,TX,a}需要的时间,修改时间约束变量,前往步骤S2,重新形成任务{T1,a+1,T2,a+1,…,TX,a+1}的能耗矩阵,具体步骤为:
步骤S5.1:若a=K,算法结束;
步骤S5.1:遍历步骤S4中形成的单链表L找到第一个元素的数值最大的元组{te,tf,e,f},设定Tm=te+tf;
步骤S5.2:通过循环对i=1,2,…,X,做如下判断:
步骤S5.3:完成步骤S5.2后,设定ψ←ψ-Tm,前往步骤S2,对任务{T1,k+1,T2,k+1,…,TX,k+1}进行匹配判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910650935.7A CN110493825B (zh) | 2019-07-18 | 2019-07-18 | 一种边缘计算架构下多任务的负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910650935.7A CN110493825B (zh) | 2019-07-18 | 2019-07-18 | 一种边缘计算架构下多任务的负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110493825A CN110493825A (zh) | 2019-11-22 |
CN110493825B true CN110493825B (zh) | 2022-06-14 |
Family
ID=68547464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910650935.7A Active CN110493825B (zh) | 2019-07-18 | 2019-07-18 | 一种边缘计算架构下多任务的负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110493825B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887345A (zh) * | 2019-11-29 | 2021-06-01 | 上海交通大学 | 边缘计算环境的节点负载均衡调度方法 |
CN111884696B (zh) * | 2020-07-01 | 2022-03-25 | 广州大学 | 一种基于多载波的中继协作移动边缘计算方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139864A (zh) * | 2012-12-28 | 2013-06-05 | 北京邮电大学 | 认知协作中继转发方法及系统 |
CN108075831A (zh) * | 2017-12-13 | 2018-05-25 | 中山大学 | 基于蚁群算法的非正交多址通信系统的资源分配方法 |
CN108934002A (zh) * | 2018-07-18 | 2018-12-04 | 广东工业大学 | 一种基于d2d通信协作的任务卸载算法 |
CN109788069A (zh) * | 2019-02-27 | 2019-05-21 | 电子科技大学 | 物联网中基于移动边缘计算的计算卸载方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9325805B2 (en) * | 2004-08-02 | 2016-04-26 | Steve J Shattil | Content delivery in wireless wide area networks |
US20170064616A1 (en) * | 2015-08-28 | 2017-03-02 | Qualcomm Incorporated | Small cell application platform |
-
2019
- 2019-07-18 CN CN201910650935.7A patent/CN110493825B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139864A (zh) * | 2012-12-28 | 2013-06-05 | 北京邮电大学 | 认知协作中继转发方法及系统 |
CN108075831A (zh) * | 2017-12-13 | 2018-05-25 | 中山大学 | 基于蚁群算法的非正交多址通信系统的资源分配方法 |
CN108934002A (zh) * | 2018-07-18 | 2018-12-04 | 广东工业大学 | 一种基于d2d通信协作的任务卸载算法 |
CN109788069A (zh) * | 2019-02-27 | 2019-05-21 | 电子科技大学 | 物联网中基于移动边缘计算的计算卸载方法 |
Non-Patent Citations (4)
Title |
---|
Collaborative Computation Offloading for Multiaccess Edge Computing Over Fiber–Wireless Networks;H.Guo et al.;《in IEEE Transactions on Vehicular Technology》;20180108;全文 * |
一种新型卸载方案:基于停泊车辆中继的车载边缘任务卸载方案;董培养 等;《电信科学》;20190319(第3期);全文 * |
基于D2D通信的视频多播技术研究;陈博;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20180415;全文 * |
移动机会网络数据转发与拥塞控制技术研究;杨轶博;《中国优秀博士学位论文全文数据库(信息科技辑)》;20190115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110493825A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756812B (zh) | 一种能耗感知的边云协同动态卸载调度方法 | |
GB2610297A (en) | Federated learning method and apparatus, device and storage medium | |
Liu et al. | Dependent task scheduling and offloading for minimizing deadline violation ratio in mobile edge computing networks | |
CN110493825B (zh) | 一种边缘计算架构下多任务的负载均衡方法 | |
CN113220356A (zh) | 一种移动边缘计算中的用户计算任务卸载方法 | |
CN116489708B (zh) | 面向元宇宙的云边端协同的移动边缘计算任务卸载方法 | |
CN113645637B (zh) | 超密集网络任务卸载方法、装置、计算机设备和存储介质 | |
CN107729143A (zh) | 应用控制方法、装置、存储介质及电子设备 | |
CN108255141A (zh) | 一种装配调度信息生成方法及系统 | |
Wang et al. | Digital twin-assisted efficient reinforcement learning for edge task scheduling | |
Hu et al. | Dynamic task offloading in MEC-enabled IoT networks: A hybrid DDPG-D3QN approach | |
Wang et al. | Joint service caching, resource allocation and computation offloading in three-tier cooperative mobile edge computing system | |
Gao et al. | Com-DDPG: A multiagent reinforcement learning-based offloading strategy for mobile edge computing | |
CN114429195B (zh) | 混合专家模型训练的性能优化方法和装置 | |
Sharma et al. | Deep meta q-learning based multi-task offloading in edge-cloud systems | |
Liu et al. | Joint task offloading and dispatching for MEC with rational mobile devices and edge nodes | |
Wang et al. | Resource allocation based on Radio Intelligence Controller for Open RAN towards 6G | |
Li et al. | Dependency-aware task offloading based on deep reinforcement learning in mobile edge computing networks | |
CN113515324A (zh) | 一种基于有向无环图的卸载决策的协同边缘计算方法、装置、电子设备及存储介质 | |
Jiang et al. | Dueling deep Q-network learning based computing offloading scheme for F-ran | |
CN116954866A (zh) | 基于深度强化学习的边缘云下任务调度方法及系统 | |
CN117436627A (zh) | 任务分配方法、装置、终端设备及介质 | |
Zhang et al. | Multimodal optimization of edge server placement considering system response time | |
Wan et al. | iCOS: A deep reinforcement learning scheme for wireless-charged MEC networks | |
Mo et al. | Graph convolutional network augmented deep reinforcement learning for dependent task offloading in mobile edge computing |
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 |