一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多用户场景下的云-边缘协同模式任务卸载优化方法与流程

2021-12-04 13:37:00 来源:中国专利 TAG:

一种多用户场景下的云

边缘协同模式任务卸载优化方法
技术领域
1.本发明涉及一种多用户场景下的云

边缘协同模式任务卸载优化方法,属于云

边缘协同任务卸载技术领域。


背景技术:

2.随着现代化通信技术和物联网技术的迅速发展,越来越多的移动设备和物联网设备接入网络,必然使得数据流量极速增加,随之网络压力也不断增加。为了满足这种挑战与需求,云计算技术应运而生,将海量的数据与计算任务卸载至云端统一处理。然而,云计算在解决边缘端计算资源不足的问题的同时,也带来了诸多问题。首先,边缘端的设备产生的海量数据传输至云计算中心这一过程势必会带来较高的网络延迟和能量损耗。其次,越来越多的边缘端的设备连接至云端,会使得边缘端的设备到云中心的传输链路产生拥塞。为解决这些问题,通过人为将存储和计算下沉,产生了边缘计算技术,使边缘端的设备拥有了一定的计算能力,不同的任务可以选择在本地执行或卸载至云端执行。
3.与此同时,边缘计算技术的引入也带来了一系列的挑战,例如,在单任务量较大的情况下,边缘端的设备进行计算可能需要较大的时延,而在单任务量较小的情况下,将任务传输至云端又会带来较大的能耗,再加上多用户任务并发时,如何选择不同任务的执行位置影响到整个系统的时延与能耗。因此,我们需要设计合理的任务卸载优化方法,在满足能耗要求下,尽可能的减少任务执行时延。
4.针对多用户场景下的云

边缘协同模式任务卸载优化问题,已有不少学者运用博弈论、分层优化算法等方法实现优化,但是,传统算法的鲁棒性较差,计算过程复杂耗时较大,且不具备全局搜索能力;还有部分学者运用了智能化算法实现了单用户下任务卸载的优化,但是没有对多用户多服务器这一场景下的任务卸载问题进行建模,不适用于实际场景。
5.目前,教与学(tlbo)算法被广泛应用于优化问题。tlbo算法是在分析教师与学生的行为特点的基础上,通过模拟传统的课堂教学过程来搜索最优解的过程。整个优化过程包括教师阶段和学习阶段。在教师阶段,每个学生都向最优秀的个体进行学习。在学习阶段,每个学生都以随机的方式向其他学生学习。最后末代迭代中教师所代表的解,即所求问题的近似最优解。


技术实现要素:

6.针对现有技术的不足,本发明提供了一种多用户场景下的云

边缘协同模式任务卸载优化方法,该方法建立了多边缘用户多云服务器下不同数据量任务卸载的数学模型,通过tlbo算法,将工人组与装配流程整合优化,在教师阶段与学习阶段,对不同的任务卸载策略进行搜索,得到较优的任务卸载方案,在能耗约束下,减少系统整体时延。
7.本发明的技术方案为:
8.一种多用户场景下的云

边缘协同模式任务卸载优化方法,运行于云

边缘协同系
统,该云

边缘协同系统包括若干云服务器和若干边缘端,并且边缘端的每个设备均连接所述云服务器,即边缘端的每个设备产生的每个任务都能够卸载至任一云服务器上执行,该方法包括:
9.步骤1:初始化云

边缘协同系统参数,建立边缘端与云端的时延和能耗的数学模型;
10.步骤2:基于边缘端的设备任务数量和云端的云服务器数量,生成初始的任务卸载方案;
11.步骤3:通过初始的任务卸载方案构建初始的学生群体;
12.步骤4:通过边缘端与云端的时延和能耗建立系统代价函数,并将此系统代价函数作为群体优化的目标函数,依据此目标函数选出群体中的教师;
13.步骤5:对整个群体中的学生个体进行迭代更新,每次迭代都包括教师阶段与学习阶段;
14.在教师阶段,学生个体试图通过教师的教学来降低他们对应的目标函数值;
15.在学习阶段,每个学生个体通过与从课堂中随机选择的学生个体互动,降低自己对应的目标函数值;其中,每次学生个体所代表的任务卸载方案发生改变时,都进行目标函数值的计算,若变小,则维持此任务卸载方案的变动,否则,则恢复之前的任务卸载方案;
16.在每次迭代结束后,教师个体都被重新选择;
17.步骤6:当迭代更新的次数达到最大迭代次数时,输出末代群体中教师个体对应的任务卸载方案,作为最佳的任务卸载方案;
18.迭代更新的过程为:将边缘端的设备产生的数据量大小不同的任务与选择本地执行还是云端执行这一决策不断匹配,并确定任务执行时延的过程。
19.根据本发明优选的,步骤1中,初始化系统参数,建立边缘端与云端的时延和能耗的数学模型,具体过程为:
20.步骤1.1:初始化系统参数,包括:任务的数据量b
i
,每比特数据量需要f
i
个时钟周期来处理,边缘端的设备的cpu周期频率f
u,i
,云服务器cpu时钟频率f
s,i
,传输带宽w,边缘端的设备的发射功率p
i
,信道增益h
i,j
,噪声功率频谱密度n0,边缘端的设备i到第j个云服务器的传输速率r
i,j
,边缘端的设备最大能耗约束e
u,max
,云服务器最大能耗约束e
s,max
,边缘端的设备cpu固有系数k
u
,云服务器cpu固有系数k
s
,惩罚因子g
u
和g
s

21.步骤1.2:本地计算时延t
local
,与边缘端的设备的cpu周期频率的倒数成正比,如式(i)所示:
22.t
local
=b
i
·
f
i
/f
u,i
ꢀꢀ
(i)
23.式(i)中,b
i
·
f
i
表示当前任务的计算量;
24.步骤1.3:计算传输时延t
t,i,j
;定义通道传输速率,如式(ii)所示:
[0025][0026]
则传输时延如式(iii)所示:
[0027]
t
t,i,j
=b
i
/r
i,j
ꢀꢀ
(iii)
[0028]
步骤1.3:云服务器计算时延t
s,i
,与云服务器周期频率的倒数成正比,如式(iv)所示:
[0029]
t
s,i
=b
i
·
f
i
/f
s,i
ꢀꢀ
(iv)
[0030]
步骤1.4:边缘端的设备计算能耗e
u,i
,如式(v)所示:
[0031][0032]
步骤1.5:云服务器计算能耗e
s,i
,如式(vi)所示:
[0033][0034]
步骤1.6:传输能耗,针对卸载到云服务器上的任务,则传输能耗e
t,i,j
如式(vii)所示:
[0035]
e
t,i,j
=p
i
·
t
t,i,j
ꢀꢀ
(vii)。
[0036]
根据本发明优选的,步骤2中,基于边缘端的设备任务数量和云服务器数量,生成初始的任务卸载方案,具体过程为:
[0037]
步骤2.1:假设边缘端的设备数量为k,并且每个设备同时产生不同数据量的数量为1的任务,即边缘端的设备任务数量也为k,任务集合为m={m1,m2,

,m
k
};m
k
为第k台边缘端的设备产生的任务;
[0038]
步骤2.2:假设云服务器数量为n,生成初始任务卸载方案为x={x1,x2,

,x
k

,x
k
},其中每个分量x
k
取[0,n]集合内的任意整数,若x
k
=0,则表示该任务在边缘端本地执行,若x
k
=n,n∈[1,n],则表示该任务卸载至第n个云服务器上执行。
[0039]
根据本发明优选的,步骤3中,通过初始的任务卸载方案构建初始的学生群体,具体过程为:
[0040]
设定学生群体数量为u,学生群体中全部为学生个体,每个学生个体的编码长度为与边缘端的设备每次产生的任务数量相同,即为k;不断重复步骤2,生成u个初始的任务卸载方案,每个初始的任务卸载方案作为一个学生个体,直至满足群体数量。
[0041]
根据本发明优选的,步骤4中,通过边缘端与云端的时延和能耗建立系统代价函数,并将此系统代价函数作为群体优化的目标函数,依据此目标函数选出群体中的教师,具体过程为:
[0042]
步骤4.1:根据步骤1中,完成一个卸载任务的总时延为传输时延与云服务器计算时延的和,如式(viii)所示:
[0043]
t
i
=t
t,i,i
t
s,i
ꢀꢀ
(viii)
[0044]
而本地执行一个任务的总时延如式(ix)所示:
[0045]
t
i
=t
local
ꢀꢀ
(ix)
[0046]
式(viii)中,t
local
表示本地计算时延;
[0047]
步骤4.2:根据步骤4.1中,通过边缘端与云端的时延和能耗建立系统代价函数fit,如式(x)所示:
[0048][0049]
式(x)中,表示因任务执行能耗超出边缘端的设备能耗约束而产生的惩罚值,表示因任务执行能耗超出云服务器能耗约束而产生的惩罚值;g
u
和g
s
表示惩罚因子,若任务在本地执行则g
s
=0,反之则g
u
=0,增加惩罚函数的意义在于平衡能耗与时延;e
s,i
表示云服务器计算能耗,e
u,i
表示边缘端的设
备计算能耗;e
u,max
表示边缘端的设备最大能耗约束,e
s,max
表示云服务器最大能耗约束;
[0050]
步骤4.3:根据步骤4.2中,将此系统代价函数fit作为目标函数,分别各自计算群体中所有学生个体的目标函数值,选择目标函数值最小的学生个体成为教师个体t。
[0051]
根据本发明优选的,步骤5中,对整个群体中的学生个体进行迭代更新,每次迭代都包括教师阶段与学习阶段;在教师阶段,学生个体试图通过教师的教学来降低他们对应的目标函数值;在学习阶段,每个学生个体通过与从课堂中随机选择的学生个体互动,降低自己对应的目标函数值;具体过程为:
[0052]
步骤5.1:在教师阶段,某学生个体x的候选解决方案newx由式(xi)计算得到:
[0053][0054]
式(xi)中,rand是在(0,1)区间内符合均匀分布的随机数,/为所有学生个体在每个任务分量上数值的平均数取整,t
f
称为教学因素,如式(xii)所示:
[0055]
t
f
=round(1 rand)
ꢀꢀ
(xii)
[0056]
式(xii)中,round表示四舍五入取整;
[0057]
步骤5.2:在学习阶段,某学生个体x与从课堂中随机选择的学生个体互动降低自己对应的目标函数值,则候选解决方案newx如式(xiii)所示:
[0058][0059]
根据本发明优选的,步骤5中,每次学生个体所代表的任务卸载方案发生改变时,都进行目标函数值的计算,若变小,则维持此任务卸载方案的变动,否则,则恢复之前的任务卸载方案;在每次迭代结束后,教师个体都被重新选择;具体过程为:
[0060]
在每次迭代过程中的教师阶段和学习阶段,若某学生个体x的候选解决方案newx的目标函数值变小,则将学生个体x替换为候选解决方案newx,若没有变小,则维持该学生个体的方案x;在每次迭代结束后,计算整个群体中学生个体和教师个体的目标函数值,选取目标函数值最小的个体成为教师个体t,其余个体成为学生个体。
[0061]
根据本发明优选的,步骤6中,迭代更新的最大迭代次数为300次,当迭代更新的次数达到最大迭代次数时,输出末代群体中教师个体t;教师个体t={t1,t2,

,t
k
}中,若t
k
=0表示该任务m
k
在边缘端本地设备上执行,若t
k
=n,n∈[1,n]则表示该任务m
k
被卸载至第n个云服务器上执行,综合教师个体中所有任务的执行方式得到该教师个体对应的任务卸载方案,作为最佳的任务卸载方案。
[0062]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现多用户场景下的云

边缘协同模式任务卸载优化方法的步骤。
[0063]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现多用户场景下的云

边缘协同模式任务卸载优化方法的步骤。
[0064]
本发明的有益效果为:
[0065]
1.本发明设计实现一种多边缘端用户多云服务器场景下的云

边缘协同任务卸载优化方法,通过使用智能化的搜索算法,搜索合理的任务卸载方案,在满足能耗要求下,尽可能的减少任务执行时延;
[0066]
2.本发明实现了一种多用户多云服务器场景下的任务卸载数学建模方式,将时延分为计算时延和传输时延,将能耗分为计算能耗和传输能耗,满足了较为复杂场景下的建模需求;
[0067]
3.本发明将新型的tlbo算法应用于云

边缘协同任务卸载领域,通过教师阶段与学习阶段,不断进行学生个体的元素更新,进而逼近全局优解,与其他经典算法相比,tlbo算法用于此问题的全局搜索能力更强,不易陷入局部极值。
附图说明
[0068]
图1是本发明云

边缘协同系统的结构示意图;
[0069]
图2是本发明一种基于tlbo算法的云

边缘任务卸载优化方法的流程图;
[0070]
图3是tlbo算法中某学生个体编码方案示意图;
[0071]
图4是不同算法下能耗约束条件下任务卸载的最佳卸载系统代价曲线图。
具体实施方式
[0072]
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
[0073]
实施例
[0074]
一种多用户场景下的云

边缘协同模式任务卸载优化方法,运行于云

边缘协同系统,如图1所示,该云

边缘协同系统包括云服务器和边缘端,并且边缘端的每个设备均连接所述云服务器,即边缘端的每个设备产生的每个任务都能够卸载至任一云服务器上执行,如图2所示,该方法包括:
[0075]
步骤1:初始化云

边缘协同系统参数,建立边缘端与云端的时延和能耗的数学模型;
[0076]
步骤2:基于边缘端的设备任务数量和云端的云服务器数量,生成初始的任务卸载方案;
[0077]
步骤3:通过初始的任务卸载方案构建初始的学生群体;
[0078]
步骤4:通过边缘端与云端的时延和能耗建立系统代价函数,并将此系统代价函数作为群体优化的目标函数,依据此目标函数选出群体中的教师;
[0079]
步骤5:对整个群体中的学生个体进行迭代更新,每次迭代都包括教师阶段与学习阶段;
[0080]
在教师阶段,学生个体试图通过教师的教学来降低他们对应的目标函数值;
[0081]
在学习阶段,每个学生个体通过与从课堂中随机选择的学生个体互动,降低自己对应的目标函数值;其中,每次学生个体所代表的任务卸载方案发生改变时,都进行目标函数值的计算,若变小,则维持此任务卸载方案的变动,否则,则恢复之前的任务卸载方案;
[0082]
在每次迭代结束后,教师个体都被重新选择;
[0083]
步骤6:当迭代更新的次数达到最大迭代次数时,输出末代群体中教师个体对应的任务卸载方案,作为最佳的任务卸载方案;
[0084]
迭代更新的过程为:将边缘端的设备产生的数据量大小不同的任务与选择本地执行还是云端执行这一决策不断匹配,并确定任务执行时延的过程。
[0085]
步骤1中,初始化系统参数,建立边缘端与云端的时延和能耗的数学模型,具体过
程为:
[0086]
步骤1.1:初始化系统参数,包括:任务的数据量b
i
(比特),每比特数据量需要f
i
个时钟周期来处理,边缘端的设备的cpu周期频率f
u,i
(hz),云服务器cpu时钟频率f
s,i
(hz),传输带宽w,边缘端的设备的发射功率p
i
(瓦),信道增益h
i,j
,噪声功率频谱密度n0,边缘端的设备i到第j个云服务器的传输速率r
i,j
,边缘端的设备最大能耗约束e
u,max
(j),云服务器最大能耗约束e
s,max
(j),边缘端的设备cpu固有系数k
u
,云服务器cpu固有系数k
s
,惩罚因子g
u
和g
s

[0087]
步骤1.2:本地计算时延t
local
,与边缘端的设备的cpu周期频率的倒数成正比,如式(i)所示:
[0088]
t
local
=b
i
·
f
i
/f
u,i
ꢀꢀ
(i)
[0089]
式(i)中,b
i
·
f
i
表示当前任务的计算量;
[0090]
步骤1.3:计算传输时延t
t,i,j
;定义通道传输速率,如式(ii)所示:
[0091][0092]
则传输时延(只考虑发送至云端的时延,不考虑回发至边缘端的时延)如式(iii)所示:
[0093]
t
t,i,j
=b
i
/r
i,j
ꢀꢀ
(iii)
[0094]
步骤1.3:云服务器计算时延t
s,i
,与云服务器周期频率的倒数成正比,如式(iv)所示:
[0095]
t
s,i
=b
i
·
f
i
/f
s,i
ꢀꢀ
(iv)
[0096]
步骤1.4:边缘端的设备计算能耗e
u,i
,如式(v)所示:
[0097][0098]
步骤1.5:云服务器计算能耗e
s,i
,如式(vi)所示:
[0099][0100]
步骤1.6:传输能耗(只考虑发送至云端的能耗,不考虑回发至边缘端的能耗),针对卸载到云服务器上的任务,则传输能耗e
t,i,j
如式(vii)所示:
[0101]
e
t,i,j
=p
i
·
t
t,i,j
ꢀꢀ
(vii)。
[0102]
步骤2中,基于边缘端的设备任务数量和云服务器数量,生成初始的任务卸载方案,具体过程为:
[0103]
步骤2.1:假设边缘端的设备数量为k,并且每个设备同时产生不同数据量的数量为1的任务,即边缘端的设备任务数量也为k,任务集合为m={m1,m2,

,m
k
};m
k
为第k台边缘端的设备产生的任务;
[0104]
步骤2.2:假设云服务器数量为n,生成初始任务卸载方案为x={x2,x2,

,x
k

,x
k
},其中每个分量x
k
取[0,n]集合内的任意整数,若x
k
=0,则表示该任务在边缘端本地执行,若x
k
=n,n∈[1,n],则表示该任务卸载至第n个云服务器上执行。
[0105]
步骤3中,通过初始的任务卸载方案构建初始的学生群体,具体过程为:
[0106]
设定学生群体数量为u,学生群体中全部为学生个体,每个学生个体的编码长度为与边缘端的设备每次产生的任务数量相同,即为k,如图3所示,不断重复步骤2,生成u个初始的任务卸载方案,每个初始的任务卸载方案作为一个学生个体,直至满足群体数量。
[0107]
步骤4中,通过边缘端与云端的时延和能耗建立系统代价函数,并将此系统代价函数作为群体优化的目标函数,依据此目标函数选出群体中的教师,具体过程为:
[0108]
步骤4.1:根据步骤1中,完成一个卸载任务的总时延为传输时延与云服务器计算时延的和,如式(viii)所示:
[0109]
t
i
=t
t,i,j
t
s,i
ꢀꢀ
(viii)
[0110]
而本地执行一个任务的总时延如式(ix)所示:
[0111]
t
i
=t
local
ꢀꢀ
(ix)
[0112]
式(viii)中,t
local
表示本地计算时延;有的任务在本地执行,有的任务卸载至云端执行;
[0113]
步骤4.2:根据步骤4.1中,通过边缘端与云端的时延和能耗建立系统代价函数fit,如式(x)所示:
[0114][0115]
式(x)中,表示因任务执行能耗超出边缘端的设备能耗约束而产生的惩罚值,表示因任务执行能耗超出云服务器能耗约束而产生的惩罚值;g
u
和g
s
表示惩罚因子,若任务在本地执行则g
s
=0,反之则g
u
=0,增加惩罚函数的意义在于平衡能耗与时延;e
s,i
表示云服务器计算能耗,e
u,i
表示边缘端的设备计算能耗;e
u,max
表示边缘端的设备最大能耗约束,e
s,max
表示云服务器最大能耗约束;
[0116]
步骤4.3:根据步骤4.2中,将此系统代价函数fit作为目标函数,分别各自计算群体中所有学生个体的目标函数值,选择目标函数值最小的学生个体成为教师个体t。
[0117]
步骤5中,对整个群体中的学生个体进行迭代更新,每次迭代都包括教师阶段与学习阶段;在教师阶段,学生个体试图通过教师的教学来降低他们对应的目标函数值;在学习阶段,每个学生个体通过与从课堂中随机选择的学生个体互动,降低自己对应的目标函数值;具体过程为:
[0118]
步骤5.1:在教师阶段,某学生个体x的候选解决方案newx由式(xi)计算得到:
[0119][0120]
式(xi)中,rand是在(0,1)区间内符合均匀分布的随机数,/为所有学生个体在每个任务分量上数值的平均数取整,t
f
称为教学因素,如式(xii)所示:
[0121]
t
f
=round(1 rand)
ꢀꢀ
(xii)
[0122]
式(xii)中,round表示四舍五入取整;
[0123]
步骤5.2:在学习阶段,某学生个体x与从课堂中随机选择的学生个体互动降低自己对应的目标函数值,则候选解决方案newx如式(xiii)所示:
[0124][0125]
步骤5中,每次学生个体所代表的任务卸载方案发生改变时,都进行目标函数值的计算,若变小,则维持此任务卸载方案的变动,否则,则恢复之前的任务卸载方案;在每次迭代结束后,教师个体都被重新选择;具体过程为:
[0126]
在每次迭代过程中的教师阶段和学习阶段,若某学生个体x的候选解决方案newx
的目标函数值变小,则将学生个体x替换为候选解决方案newx,若没有变小,则维持该学生个体的方案x;在每次迭代结束后,计算整个群体中学生个体和教师个体的目标函数值,选取目标函数值最小的个体成为教师个体t,其余个体成为学生个体。
[0127]
步骤6中,迭代更新的最大迭代次数为300次,当迭代更新的次数达到最大迭代次数时,输出末代群体中教师个体t;教师个体t={t1,t2,

,t
k
}中,若t
k
=0表示该任务m
k
在边缘端本地设备上执行,若t
k
=n,n∈[1,n]则表示该任务m
k
被卸载至第n个云服务器上执行,综合教师个体中所有任务的执行方式得到该教师个体对应的任务卸载方案,作为最佳的任务卸载方案。
[0128]
图4是不同算法下能耗约束条件下任务卸载的最佳卸载系统代价曲线图;图4中,横坐标表示三种算法的种群迭代次数,纵坐标表示系统代价函数fit的值,图4中每个点即表示在某次种群迭代中种群最优解的系统代价函数fit的值;由图4可知,相比于粒子群算法和遗传算法,tlbo(教与学)算法的收敛速度更快,寻找最优解能力更强,在相同种群迭代次数下,能实现云

边缘协同任务卸载的时延与能耗的均衡。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献