基于移动边缘计算的快速适应任务卸载系统和方法

文档序号:31412008发布日期:2022-09-03 10:17阅读:41来源:国知局
基于移动边缘计算的快速适应任务卸载系统和方法

1.本发明涉及移动边缘计算技术领域,特别涉及一种基于移动边缘计算的快速适应任务卸载系统和方法。


背景技术:

2.在过去的十年里,随着云计算的出现,车联网也获得了快速的发展,并日益流行起来。其中,车辆需要分析和融合来自传感器的大量数据,以便做出安全的决定。与此同时,一些车载应用,如自动驾驶、增强现实和交通控制等都需要大量的存储容量和计算资源,然而,传统的车联网无法满足这些应用的需求。移动云计算通过在云端集成大量具备强大计算能力的服务器,为移动设备提供了丰富的存储和计算资源。但由于高延迟、安全漏洞、低覆盖率以及滞后的数据传输等问题,移动云计算也面临着巨大的挑战,这些挑战在下一代移动网络中可能会变得更加难以解决。此外,移动数据的爆炸性增长将进一步增加回程网络的通信负载,因此,移动云计算不适合需要进行实时数据处理的车载应用。
3.移动边缘计算(mec)是一种解决上述问题的有效的计算范式。在mec中,云计算服务被下移至网络边缘处,通过在道路网络旁边为车辆提供计算和存储资源,大大地减少了应用延迟并节省了车辆能耗。然而,在基于mec的服务体系架构中,mec服务器的资源仍然有限,多个移动用户对资源的竞争可能会导致任务遭受极高的通信和计算延迟。并且不同车载应用的资源需求不同,因此一个简单的任务卸载策略无法满足所有应用的性能需求。除此之外,mec服务器的资源具有异构性,并且随着场景的改变而变化,这很容易导致工作负载在不同mec服务器之间的分布不均衡。因此,设计一种能够同时适应不同服务需求或快速适应新服务需求的任务卸载算法是一个亟需解决的问题。
4.现有技术一
5.遗传算法(ga)guoy,miz,yangy,etal.anenergysensitivecomputationoffloadingstrategyincloudroboticnetworkbasedonga[j].ieeesystemsjournal,2018,13(3):3513-3523.
[0006]
现有技术一的缺点
[0007]
1.遗传算法的编码缺乏统一的标准,容易出现不准确的问题;
[0008]
2.遗传算法容易出现过早收敛的问题;
[0009]
3.遗传算法的求解效率和精度通常较低;
[0010]
4.不能适应动态变化的任务卸载环境,每次调度需要重新运行算法,并且无法为具有不同需求的任务做出统一的卸载决策;
[0011]
现有技术二
[0012]
启发式算法houx,renz,wangj,etal.reliablecomputationoffloadingforedge-computing-enabledsoftware-definediov[j].ieeeinternetofthingsjournal,2020,7(8):7097-7111.
[0013]
现有技术二的缺点
[0014]
1.启发式算法需要专家的先验知识,算法的性能会受到实际问题以及设计者经验的影响;
[0015]
2.启发式算法的求解效率低,算法性能不稳定;
[0016]
3.启发式算法不能适应动态变化的任务卸载环境,每次调度需要重新运行算法,并且无法为具有不同需求的任务做出统一的卸载决策。


技术实现要素:

[0017]
本发明针对现有技术的缺陷,提供了一种基于移动边缘计算的快速适应任务卸载系统和方法。
[0018]
为了实现以上发明目的,本发明采取的技术方案如下:
[0019]
一种基于移动边缘计算的任务卸载系统,包括:应用层、车辆层和mec层;
[0020]
所述应用层包括:多种任务,任务都被表述为一个有向无环图(dag),任务中包括多个子任务,其中子任务由顶点表示,子任务之间的依赖关系由两个顶点之间的有向边表示。此外,只有在接收到子任务本身的相关信息以及所有父节点的处理结果后,子任务才能开始运行。用dag的拓扑结构、子任务之间的依赖数据大小和所需的计算资源来刻画任务的特征,这些特征随着任务类型的改变而变化。子任务是最基本的卸载单元,每个子任务都可以被卸载到mec服务器或本地车辆上运行。
[0021]
所述车辆层包括多辆运行着不同类型的车载任务的车辆,并且每辆车辆都可以在本地对部分子任务进行处理。其余的子任务必须通过无线信道被上传到附近的mec服务器上进行处理。车辆具有两个队列:其中,本地计算队列用于存储将被本地处理器处理的子任务,本地传输队列用于存储将被传输到mec服务器的子任务。车辆单独或同时对子任务进行计算和传输。在每次调度时,车辆都会封装子任务的相关信息,并将其发送给mec服务器;相关信息包括:子任务本身的数据大小和所需的计算资源量。
[0022]
所述mec层包括无线基础设施和mec服务器,其中,mec服务器位于无线基础设施旁边,mec服务器拥有多个处理器和无线子信道,能够为附近的车辆提供计算和通信服务。另一方面,mec服务器还起着调度器的作用,能够为车辆到基础设施(v2i)通信范围内的所有子任务做出卸载决策。更为具体地,首先, mec服务器接收车辆传输过来的子任务相关信息,然后,在每次调度时,mec 服务器根据定义好的任务卸载方法为所有子任务进行卸载排序,并按卸载顺序依次为每个子任务进行卸载调度。
[0023]
进一步地,所述应用层包括:车辆导航任务、人脸识别任务和增强车辆现实任务;
[0024]
车辆导航任务用于为车辆提供路径搜索和路径规划服务;
[0025]
人脸识别任务用于根据采集到的含有人脸的图像或视频流,自动检测和跟踪人脸,进而对人脸进行识别,从而确定人物身份。
[0026]
增强车辆现实任务用于将导航和辅助驾驶等虚拟信息与实景相结合,为用户提供更自然的交互。
[0027]
进一步地,增强车辆现实任务包括:目标跟踪、目标识别、透视变换和融合处理等多个处理子任务。
[0028]
进一步地,人脸识别任务包括:复制图像、图像检测、特征融合、分裂识别和展示结果等多个子任务。
[0029]
进一步地,车辆导航任务包括:输入目的地、获取gps坐标、获取最优路径、获取交通状况、生成路径等多个子任务。
[0030]
本发明还公开了一种基于移动边缘计算的快速适应任务卸载方法,包括以下步骤:
[0031]
按照任务分布ρ(t)采样出多个任务卸载场景。然后,在本地训练循环中,针对特定的场景ti,训练出与之对应的任务卸载策略。对于每个ti,首先初始化本地目标策略和本地采样策略的网络参数为全局策略的网络参数,并清空经验池。之后,根据本地采样策略选择并执行动作,获得奖励,收集经验轨迹。接下来,本地训练根据公式(1-1)更新目标策略网络参数m次。全局训练中根据公式(1-2) 对全局策略的网络参数进行更新,其中θ为全局策略的初始网络参数,为在场景ti中训练并且更新之后的网络参数,α为本地训练的学习率,m为本地训练的更新次数,j(θ)为目标函数,n为采样的任务卸载场景数量。
[0032][0033][0034]
重复上述步骤直至算法终止,获得具有快速适应能力的元卸载策略。通过将元卸载策略的网络参数作为初始参数,并且在少量的本地训练迭代后,就能够生成适用于新的任务卸载场景的策略。
[0035]
进一步地,所述方法基于seq2seq的强化学习模型,将多任务卸载问题考虑为多个马尔科夫决策过程(mdp),其中每个场景ti对应于一个mdp;
[0036]
mdp的基本元素设计如下:
[0037]
设参数:某个场景ti,车辆任务的dag,r个上传子信道带宽ω1,ω2,

,ωr,下行信道带宽ωd,本地车辆的计算能力fv和m个mec服务器的计算能力 f1,f2,

,fm。
[0038]
a.系统状态定义如下:
[0039]
s={s
t
|s
t
=(e,a
1:t-1
)},t∈[1,n]
ꢀꢀꢀ
(1-3)
[0040]
其中,e为任务的特征表示,a
1:t-1
为前t-1个子任务的卸载选择,n代表子任务总数。
[0041]
为了转换dag为序列,根据子任务的层级对其进行卸载排序;
[0042]
用e=[e0,e1,

,ej,

,e
n-1
]代表任务的特征表示,其中,ej代表子任务t
v,p
的特征表示,t
v,p
的卸载索引为j。
[0043]ej
的定义如公式(1-4)所示:
[0044][0045]
其中ej包括子任务卸载索引i
v,p
、子任务的自身数据大小子任务所需的计算资源量c
v,p
、处理器处理速率fv,f1,

,fm和子信道带宽ω1,

,ωr。
[0046]
b.动作空间:采用如公式(1-5)所示的r
×
m+1维二元向量来表示时间步t的卸载动作,其中,a
tk
,k=(r-1)
×
m+m代表第r个子信道是否被用来传输数据以及第m个处理器是否被用来处理子任务。特别地,a
t0
=1表示子任务在本地车辆上进行计算。
[0047]at
=[a
t0
,a
t1
,

,a
tk
,

]
ꢀꢀꢀ
(1-5)
[0048]
c.奖励函数:奖励被定义为之前子任务tv′
,p

的计算完成时间ce(tv′
,p

)与目前子
任务t
v,p
的计算完成时间ce(t
v,p
)的差,如公式(1-6)所示:
[0049][0050]
其中,tv′
,p

在t
v,p
之前被调度。
[0051]
进一步地,所述根据子任务的层级对其进行卸载排序的规则为:位于更低层级的子任务的调度优先级更高,并且拥有更小的卸载索引,位于相同层级的子任务,其调度优先级随机分配。具有更高调度优先级的子任务可以在队列中优先被传输或计算。
[0052]
进一步地,所述基于seq2seq的强化学习模型包括:编码器和解码器;
[0053]
所述编码器由一个双向门控循环单元(bigru)组成,用和分别表示 bigru的前向和反向函数。编码器根据卸载索引的升序对子任务进行循环编码然后输出向量如公式(1-7)所示:
[0054][0055]
所述解码器由一个注意力gru构成,用h
dec
表示gru的解码函数。用dj表示解码器对卸载索引为j的子任务的输出,该输出由上下文向量cj、前一个卸载动作a
j-1
和前一个输出d
j-1
共同决定,如公式(1-8)所示:
[0056]dj
=h
dec
(d
j-1
,cj,a
j-1
)
ꢀꢀꢀ
(1-8)
[0057]
其中,cj是由注意力机制生成的上下文向量,用于对卸载索引为j的子任务的动作进行预测;
[0058]
进一步地,所述注意力机制由一个前向神经网络实现。cj的计算方法如公式 (1-9)所示,其中,α
jk
是衡量对输出dj贡献程度的权重,它能够对子任务之间的内在关系进行准确评估。
[0059][0060]
进一步地,所述本地训练中,ppo通过重要性采样将在线训练过程转化为离线训练过程。ppo中存在着目标策略π
θ
和采样策略π
θ

两种不同的策略。
[0061]
首先,π
θ

在采样之前被初始化为π
θ
,然后,基于采样策略π
θ

,ppo生成经验轨迹数据,并使用这些数据对目标策略π
θ
进行更新。此外,ppo还在目标函数中增加了kl散度和ppo-clip两项内容以使得训练更加稳定,如下所示:
[0062][0063]
其中,μ代表kl散度kl(θ,θ

)的权重,kl散度对π
θ
和π
θ

之间的差异进行评估,从而减少两种策略之间的差距。裁剪函数将pr
t
的值限制在区间 [1-ε,1+ε]内,从而避免参数的过度更新。pr
t
代表在时间步t时目标策略π
θ
和采样策略π
θ

的概率比值,如公式
(1-11)所示。是时间步t时的优势函数值,采用一般优势估计(gae)作为优势函数,如公式(1-12)所示。
[0064][0065][0066]
其中,γ代表奖励折扣因子,λ用于平衡的方差和偏差,v(s
t
)为状态值函数,表示从s
t
开始的未来期望累积折扣奖励。然后,状态值函数的损失定义如下。
[0067][0068]
基于公式(1-10)和公式(1-13),ppo的目标函数如公式(1-14)所示,其中η为状态值损失函数系数。ppo的更新公式如公式(1-15)所示,其中α是本地学习率。
[0069]
j(θ)=j
p
(θ)-ηjv(θ)
ꢀꢀꢀ
(1-14)
[0070][0071]
进一步地,所述全局训练中,基于元学习框架来训练一个全局模型,设新的任务卸载场景ti。公式(1-16)为元学习的目标函数,其中j
ti
(θ)是公式(1-14) 中任务ti的目标函数。公式(1-17)为全局模型的参数更新函数,其中β是全局训练的学习率。
[0072][0073][0074]
公式(1-17)中的参数更新需要进行二次求导,使用一阶近似方法来解决该问题,如公式(1-18)所示,其中,m为本地训练的更新次数,n表示采样任务数。
[0075][0076]
与现有技术相比,本发明的优点在于:
[0077]
1.基于强化学习,不需要先验的专家知识,并且算法的性能不会受到初始参数的影响,算法更加稳定。
[0078]
2.可以快速适应新的任务卸载场景,即只需要在少量的训练之后就能实现对环境的良好探索,不需要从头开始进行大量且耗时的训练。
[0079]
3.可以发现子任务之间的数据依赖关系,因此能够取得更好的卸载效果。
附图说明
[0080]
图1是本发明实施例一种基于移动边缘计算的任务卸载系统结构示意图。
具体实施方式
[0081]
为使本发明的目的、技术方案及优点更加清楚明白,以下根据附图并列举实施例,对本发明做进一步详细说明。
[0082]
如图1所示,一种基于移动边缘计算的任务卸载系统,包括:应用层、车辆层和mec层;
[0083]
所述应用层包括多种不同类型的车载任务,如车辆导航、人脸识别和增强车辆现实等,这些任务都可以被分解为多个模块,如增强车辆现实包括目标跟踪、目标识别、透视变换和融合处理等模块。因此,每个任务都可以被表述为一个有向无环图(dag),其中子任务由顶点表示,子任务之间的依赖关系由两个顶点之间的有向边表示。此外,只有在接收到子任务本身的相关信息以及所有父节点的处理结果后,子任务才能开始运行。用dag的拓扑结构、子任务之间的依赖数据大小和所需的计算资源等来刻画任务的特征,这些特征随着任务类型的改变而变化。在本系统中,子任务是最基本的卸载单元,每个子任务都可以被卸载到mec服务器或本地车辆上运行。
[0084]
所述车辆层包括多辆运行着不同类型的车载任务的车辆,并且每辆车辆都可以在本地对部分子任务进行处理。然而,车辆计算能力不足,无法完成所有子任务,因此,其余的子任务必须通过无线信道被上传到附近的mec服务器上进行处理。车辆具有两个队列:其中,本地计算队列用于存储将被本地处理器处理的子任务,本地传输队列用于存储将被传输到mec服务器的子任务。车辆可以同时对子任务进行计算和传输。在每次调度时,车辆都会封装子任务的相关信息,如子任务本身的数据大小和所需的计算资源量,并将其发送给mec服务器。
[0085]
所述mec层包括无线基础设施和mec服务器,其中,mec服务器位于无线基础设施旁边,其拥有多个处理器和无线子信道,能够为附近的车辆提供计算和通信服务。另一方面,mec服务器还起着调度器的作用,能够为车辆到基础设施(v2i)通信范围内的所有子任务做出卸载决策。更为具体地,首先,mec服务器接收车辆传输过来的子任务相关信息,然后,在每次调度时,它根据定义好的任务卸载方法为所有子任务进行卸载排序,并按卸载顺序依次为每个子任务进行卸载调度。
[0086]
本发明还公开了一种基于移动边缘计算的快速适应任务卸载方法,包括以下步骤:
[0087]
步骤1,基于seq2seq的强化学习模型设计
[0088]
本发明考虑同时对多个不同任务卸载场景的任务运行时间进行优化,用如下一组参数来描述其中的某个场景ti:车辆任务的dag,r个上传子信道带宽ω1,ω2,

,ωr,下行信道带宽ωd,本地车辆的计算能力fv和m个mec服务器的计算能力f1,f2,

,fm。本发明将多任务卸载问题考虑为多个马尔科夫决策过程 (mdp),其中每个场景ti对应于一个mdp,mdp的基本元素设计如下:
[0089]
a.系统状态:子任务的运行时间取决于mec服务器可用的通信和计算资源、任务的拓扑结构、子任务所需的计算资源以及其他子任务的卸载决策,因此,系统状态被定义如下:
[0090]
s={s
t
|s
t
=(e,a
1:t-1
)},t∈[1,n]
ꢀꢀꢀ
(1-1)
[0091]
其中,e为任务的特征表示,a
1:t-1
为前t-1个子任务的卸载选择,n代表子任务总数。
为了转换dag为序列,本发明根据子任务的层级对其进行卸载排序,排序规则为:位于更低层级的子任务的调度优先级更高,并且拥有更小的卸载索引,位于相同层级的子任务,其调度优先级随机分配。具有更高调度优先级的子任务可以在队列中优先被传输或计算。此外,用e=[e0,e1,

,ej,

,e
n-1
]代表任务的特征表示,其中,ej代表子任务t
v,p
的特征表示,t
v,p
的卸载索引为j。如公式(1-2) 所示,ej包括子任务卸载索引i
v,p
、子任务的自身数据大小子任务所需的计算资源量c
v,p
、处理器处理速率fv,f1,

,fm和子信道带宽ω1,

,ωr。可以看出,任务的特征表示e的长度与任务数量有关并随其改变而变化。为了对不同子任务卸载决策之间的关系进行学习,本发明设计了一个seq2seq模型来编码不同长度的任务特征表示e,这将在之后进行描述。
[0092][0093]
b.动作空间:本发明采用如公式(1-3)所示的r
×
m+1维二元向量来表示时间步t的卸载动作,其中,a
tk
,k=(r-1)
×
m+m代表第r个子信道是否被用来传输数据以及第m个处理器是否被用来处理子任务。特别地,a
t0
=1表示子任务在本地车辆上进行计算。根据公式(1-3)可知,动作空间的维度为2m×
r+1
,并且随着处理器数量和子信道数量的增加而以指数级的方式增长。因此,无法使用传统的强化学习算法来解决多任务卸载问题。
[0094]at
=[a
t0
,a
t1
,

,a
tk
,

]
ꢀꢀꢀ
(1-3)
[0095]
c.奖励函数:奖励被定义为之前子任务tv′
,p

的计算完成时间ce(tv′
,p

)与目前子任务t
v,p
的计算完成时间ce(t
v,p
)的差,如公式(1-4)所示,其中,tv′
,p

在t
v,p
之前被调度。由奖励函数可以得知,完成子任务所消耗的时间增量越少,获得的奖励越多,这有助于降低任务的运行延迟。
[0096][0097]
seq2seq模型是一种优秀的神经网络模型,它可以循环编码输入序列为一个向量,并将其进行解码,然后输出结果。但是,seq2seq模型在编码过长的输入序列时存在着严重的信息损失。为了解决该问题,本发明在seq2seq模型中考虑了注意力机制,注意力机制能够让解码器对不同的输入部分表现出不同的关注度从而有效地减少信息损失。本发明所提出的seq2seq模型包括编码器和解码器两部分,下面分别对这两部分进行描述:
[0098]
(1)编码器由一个双向门控循环单元(bigru)组成,用和分别表示 bigru的前向和反向函数。该编码器根据卸载索引的升序对子任务进行循环编码然后输出向量如公式(1-5)所示。bigru相对于传统gru,其能够实现对任务拓扑结构更好的探索。
[0099][0100]
(2)解码器由一个注意力gru构成,用h
dec
表示gru的解码函数。用dj表示解码器对卸载索引为j的子任务的输出,该输出由上下文向量cj、前一个卸载动作a
j-1
和前一个输出dj-1
共同决定,如下所示:
[0101]dj
=h
dec
(d
j-1
,cj,a
j-1
)
ꢀꢀꢀ
(1-6)
[0102]
其中,cj是由注意力机制生成的上下文向量,用于对卸载索引为j的子任务的动作进行预测,在本发明中,注意力机制由一个前向神经网络实现。cj的计算方法如公式(1-7)所示,其中,α
jk
是衡量对输出dj贡献程度的权重,它能够对子任务之间的内在关系进行准确评估。
[0103][0104]
步骤2,基于元强化学习的模型训练过程
[0105]
基于元强化学习的模型训练过程由本地和全局两个训练过程所组成。其中,本地训练采用近端策略优化算法(ppo),其目标是搜寻特定mdp的任务卸载策略。全局训练采用元学习框架,其目标是寻找能够求解所有mdp的元卸载策略。
[0106]
在本地训练中,ppo通过重要性采样将在线训练过程转化为离线训练过程,从而使训练速度得以加快。ppo中存在着目标策略π
θ
和采样策略π
θ

两种不同的策略。首先,π
θ

在采样之前被初始化为π
θ
,然后,基于采样策略π
θ

,ppo生成经验轨迹数据,并使用这些数据对目标策略π
θ
进行更新。此外,ppo还在目标函数中增加了kl散度和ppo-clip两项内容以使得训练更加稳定,如下所示:
[0107][0108]
其中,μ代表kl散度kl(θ,θ

)的权重,kl散度可以对π
θ
和π
θ

之间的差异进行评估,从而减少两种策略之间的差距,降低采样次数。裁剪函数可以将pr
t
的值限制在区间[1-ε,1+ε]内,从而避免参数的过度更新,并保证π
θ
和π
θ

的差距不会过大。pr
t
代表在时间步t时目标策略π
θ
和采样策略π
θ

的概率比值,如公式(1-9)所示。是时间步t时的优势函数值,本发明采用一般优势估计(gae) 作为优势函数,如公式(1-10)所示。
[0109][0110][0111]
其中,γ代表奖励折扣因子,λ用于平衡的方差和偏差,v(s
t
)为状态值函数,表示从s
t
开始的未来期望累积折扣奖励。然后,状态值函数的损失定义如下。
[0112][0113]
基于公式(1-8)和公式(1-11),ppo的目标函数如公式(1-12)所示,其中η为状态值损失函数系数。ppo的更新公式如公式(1-13)所示,其中α是本地学习率。
[0114]
j(θ)=j
p
(θ)-ηjv(θ)
ꢀꢀꢀ
(1-12)
[0115][0116]
对于全局训练,本发明基于元学习框架来训练一个全局模型,该模型能够通过少量训练快速适应新的任务卸载场景ti。公式(1-14)为元学习的目标函数,其中是公式(1-12)中任务ti的目标函数。公式(1-15)为全局模型的参数更新函数,其中β是全局训练的学习率。
[0117][0118][0119]
然而,公式(1-15)中的参数更新需要进行二次求导,其计算成本很高并且效率低下。因此,本发明使用一阶近似方法来解决该问题,如公式(1-16)所示,其中,m为本地训练的更新次数,n表示采样任务数。
[0120][0121]
最后,基于移动边缘计算的快速适应任务卸载方法如下所述。首先,按照任务分布ρ(t)采样出多个任务卸载场景。然后,在本地训练循环中,针对特定的场景ti,训练出与之对应的任务卸载策略。对于每个ti,首先初始化本地目标策略和本地采样策略的网络参数为全局策略的网络参数,并清空经验池。之后,根据本地采样策略选择并执行动作,获得奖励,收集经验轨迹。接下来,根据公式(1-13) 更新目标策略网络参数m次。最后,在全局训练循环中,根据公式(1-16)对全局策略的网络参数进行更新。重复上述步骤直至算法终止,就可以获得具有快速适应能力的元卸载策略。通过将元卸载策略的网络参数作为初始参数,并且在少量的本地训练迭代后,就能够生成适用于新的任务卸载场景的策略。
[0122]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1