-
近年来,伴随着5G站上新的高峰,物联网(Internet of Things, IoT)和无线通信技术不断发展并完善。虚拟现实、超高清视频等各类新型移动应用[1-2]蜂拥而至,导致移动终端(Mobile Devices, MD)的数量呈爆炸性增长,移动资源的大量消耗。作为5G的关键技术,移动边缘计算(Mobile Edge Computing, MEC)被认为是解决计算任务需求不断增长[3]和用户自身计算能力及资源有限的一种强大范例[4]。边缘卸载作为MEC的核心技术,可以将计算密集型与时延敏感型应用程序/计算任务下沉至相比远程云服务器更接近移动设备的边缘服务器,从而降低执行终端任务的时延与能耗,还可有效提高服务质量(Quality of Service, QoS)与用户体验质量(Quality of Experience, QoE)。
车联网(Internet of Vehicles, IoV)实现车与车、车与人、车与基础设备等车与一切(Vehicle to Everything, V2X)的信息交互[5]。5G与IoV的协作[6]可以提供一个安全、舒适、精准的交通环境,并且可以改善交通状况、减少交通事故[7]与网络拥塞。
车辆边缘计算(Vehicular Edge Computing, VEC)作为MEC与IoV相结合的改革创新技术,目前受到了较为广泛的关注。VEC通过连接MEC服务器以及路侧单元[8](Road Side Unit, RSU)为车辆提供服务。RSU作为部署在路侧的通信网关,是IoV中连接的核心。
为了有效缓解处理计算密集型任务的压力,通过提出不同低复杂度算法来确定计算卸载决策,权衡时延与能耗,降低整体VEC系统的代价消耗。文献[9]针对通信场景中MEC的部署提出了一种基于改进型粒子群算法(Particle Swarm Optimization, PSO)的计算卸载策略,有效降低了MEC服务器的处理时延并且平衡了其负载。文献[10]为了充分利用车辆CPU资源提出了反向卸载框架,利用分布式对偶分解法与基于高效搜索的贪婪算法(Greedy based on Efficient Searching, GES)来获得逆向卸载决策,从而降低时延。文献[11]将软件定义网络(Software Defined Network, SDN)技术引入传统网络体系,设计了一种由SDN控制的双层分布式VEC结构,并提出了一种动态服务卸载与迁移算法,以此提高区块链系统吞吐量,分别降低了执行时延与能耗。文献[12]通过有向无环图(Directed Acyclic Graph, DAG)将任务序列切割成基本单元以此得到简化的最优卸载策略。文献[13]考虑有效经济地利用志愿者辅助车辆的空闲计算资源来帮助过载MEC服务器,并基于Stackelberg博弈与遗传算法确定最优VEC卸载策略,最大化志愿车辆奖励并降低车辆卸载成本。文献[14]结合IoT设备、MEC服务器与MCC服务器实现了一种能量高效利用的动态任务卸载算法,同时结合李雅普诺夫算法,确定了最优计算位置。文献[15]利用停车场车辆作为虚拟MEC服务器来进行辅助计算,建立了基于随机森林的时间相关轨迹预测模型。此模型能够很好应对任务请求量大的情况,并可以实现结果的准确反馈。
深度学习使用具有多个处理层的深度神经网络(Deep Neural Networks, DNN)来学习数据,将其应用于IoV环境中,增强环境感知、突破处理卸载决策与资源分配问题时的维度限制已成为当今VEC研究的热门方向。文献[16]建立DNN延迟预测模型来表征已被划分的各个子任务的计算时延,并设计了插槽模型来调度子任务,将深度学习应用于强化学习,可使VEC系统拥有更好的环境感知能力。文献[17]通过马尔可夫决策(Markov Decision Process, MDP)建模,利用深度强化学习(Deep Reinforcement Learning, DRL)来处理高速行驶车辆的任务调度空间状态。文献[18]研究了车联网下应用程序的子任务拓扑,利用DAG获取任务优先级并提出了一种基于策略梯度的分布式DRL,相比现有方案拥有更好的卸载性能。文献[19]提出了一种基于联邦学习的MEC隐私保护方法,能够实现高准确率内容保护,适用于环境需求较高的边缘计算场景。文献[20]考虑了VEC环境的内在特性,提出了一种基于极度强化学习(Extreme Reinforcement Learning, ERL)的上下感知VEC任务调度程序,实现了96%以上的VEC任务完成率。文献[21]提出了一种视觉结合DRL的自适应视频流方法。该方法在确保卸载数据质量的同时,减少了系统的能耗与时延。
目前工作中,划分车载任务并发布针对性卸载决策的研究较少。最大处理容忍时延、车辆的剩余电量、路段的任务总量均有可能动态地影响决策制定。为了能够节约VEC系统资源并且保障用户的服务体验,本文提出了一种多移动终端、单MEC服务器以及云服务器所组成的VEC网络卸载架构。
-
本文系统模型如图1所示,根据不同地理信息在各路段配备RSU,车辆可以通过V2I通信方式与所在区域的RSU进行通信。为了便于描述,在单RSU所覆盖的区域中展开系统模型。考虑发起请求车辆可以在本地进行任务计算,也可以卸载任务至该路段配备MEC服务器的RSU上进行计算。车辆在RSU范围内存在多计算任务,定义N台车辆组成的车辆用户集合为
$ U = {\text{\{ }}{U_1},{U_2},\cdots,{U_n}{\text{\} }} $ 。每辆车均拥有一个或多个相互独立的任务需要执行,定义车辆n的任务集合为$ { M} = \{ 1,2,\cdots,m\} $ 。除去用于处理计算的MEC服务器以外,RSU还配备一个前置服务器用作任务判别与决策生成。前置服务器将车载任务划分为能耗敏感型、时延敏感型以及非敏感型3类,并依据MEC服务器剩余资源向各车辆发布卸载决策,卸载决策用一个二进制变量$ {b_{nm}} \in \{ 0,1\} $ 表示。bnm=0表示车辆n将在本地处理任务m;bnm=1表示车辆n将其任务m卸载到MEC服务器,各车辆将依据决策在本地有序执行任务并将需卸载任务上传至MEC服务器缓存。同一时刻RSU接收到的任务将按照发起顺序进入服务器缓存等待处理,当前MEC服务器存在最大计算资源。分配给缓存中待处理任务相应的服务器处理资源,需要考虑到之前未完成任务所占用的资源。同时,若待处理任务所需计算资源超越服务器剩余计算资源,则会导致任务处理失败。因此,考虑将该任务由MEC服务器转发至远端云服务器,通过服务器的资源调度来解决任务:
$$ d = \left\{ {\begin{array}{*{20}{c}} {0\;\;\;f_{nm}^c \leqslant f_{{\rm{residue}}}^c} \\ {1\;\;\;f_{nm}^c \gt f_{{\rm{residue}}}^c} \end{array}{\text{ }}} \right. $$ (1) 式中,当d=1时,车辆n的任务m所需计算资源
$ f_{nm}^c $ 大于当前服务器空闲计算资源$ f_{{\rm{residue}}}^c $ ,因此该任务需要转发至云服务器进行处理;d=0时,该任务不需要转发至云服务器。 -
本文使用改进型层次分析法(Analytic Hierarchy Process, AHP)将车载任务划分为时延敏感、能耗敏感与非敏感3种类型。首先,为了构建判断矩阵,选择任务最大处理时延
$ T_{nm}^{{\rm{max}}} $ 、路段任务密集度、车载CPU剩余电量Zn、任务数据量以及车载CPU缓存性能这5条指标作为模型的判别准则层。其中,任务最大处理时延是主要判别因素;其余准则均为次要判别因素。每一个判别准则将进行层次单排序并分别进行一致性检验,因此可以得到车辆n任务m的一致判别矩阵$ {{\boldsymbol{K}}_{g \times g}} = {({k_{ij}})_{g \times g}} $ :$$ {k_{ij}} = \left\{ {\begin{array}{*{20}{c}} {\dfrac{1}{{{k_{ji}}}} \in \left\{ {1,2,\cdots,9} \right\}}&{i \ne j} \\ {{\text{ }}1{\text{ }}}&{i = j} \end{array}} \right. $$ (2) 式中,g为判别准则的个数;kij为准则i对准则j的重要性判别。每个判别准则将在不同车载任务中被分配一个权重:
$$ w_{nm}^i = \frac{{\sqrt[g]{{\displaystyle\prod\limits_{j = 1}^g {{k_{ij}}} }}}}{{\displaystyle\sum\limits_{i = 1}^g {\sqrt[g]{{\displaystyle\prod\limits_{j = 1}^g {{k_{ij}}} }}} }} $$ (3) 将同一时刻RSU接收到的所有任务的权重对应向量构造成准则权重向量矩阵:
$$ {{{{\boldsymbol{\varDelta}} }}_{\text{1}}} = {\left[ {\begin{array}{*{20}{c}} {w_{11}^1}&{w_{11}^2}&{w_{11}^3}&{w_{11}^4}&{w_{11}^5} \\ {w_{12}^1}&{w_{12}^2}&{w_{12}^3}&{w_{12}^4}&{w_{12}^5} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ {w_{1m}^1}&{w_{1m}^2}&{w_{1m}^3}&{w_{1m}^4}&{w_{1m}^5} \\ {w_{21}^1}&{w_{21}^2}&{w_{21}^3}&{w_{21}^4}&{w_{21}^5} \\ {w_{22}^1}&{w_{22}^2}&{w_{22}^3}&{w_{22}^4}&{w_{22}^5} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ {w_{2m}^1}&{w_{2m}^2}&{w_{2m}^3}&{w_{2m}^4}&{w_{2m}^5} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ {w_{n1}^1}&{w_{n1}^2}&{w_{n1}^3}&{w_{n1}^4}&{w_{n1}^5} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ {w_{nm}^1}&{w_{nm}^2}&{w_{nm}^3}&{w_{nm}^4}&{w_{nm}^5} \end{array}} \right]_{nm \times 5}} $$ (4) 判定任务类型为该模型的目标层,需要对上述得到的准则层次单排序进行总排序。针对需要减少处理时延的情况,最大处理时延、任务数据量等准则的依赖性提高;针对需要降低CPU损耗的情况,剩余电量以及CPU缓存的依赖性提高。每一个判别目标将进行层次总排序并分别进行一致性检验,因此可以构造目标权重向量矩阵:
$$ {{{{\boldsymbol{\varDelta}} }}_{\text{2}}} = {\left[ {\begin{array}{*{20}{c}} {\varphi _t^1}&{\varphi _s^1}&{\varphi _e^1} \\ {\varphi _t^2}&{\varphi _s^2}&{\varphi _e^2} \\ \vdots & \vdots & \vdots \\ {\varphi _t^5}&{\varphi _s^5}&{\varphi _e^5} \end{array}} \right]_{5 \times 3}} $$ (5) 式中,
$ \varphi _t^i $ 、$ \varphi _s^i $ 以及$ \varphi _e^i $ 表示划分成的3种目标对于i种准则的权重占比。最终,任务划分为3种类型,各自的表现分可由矩阵$ {{{{\boldsymbol{\varDelta }}}}_{{\text{3}}(nm \times 3)}} = {{{{\boldsymbol{\varDelta}} }}_{\text{1}}} \times {{{{\boldsymbol{\varDelta}} }}_{\text{2}}} $ 表示:$$ {{{{\boldsymbol{\varDelta }}}}_{\text{3}}} = {\left[ {\begin{array}{*{20}{c}} {y_{11}^t}&{y_{11}^s}&{y_{11}^e} \\ {y_{12}^t}&{y_{12}^s}&{y_{12}^e} \\ \vdots & \vdots & \vdots \\ {y_{nm}^t}&{y_{nm}^s}&{y_{nm}^e} \end{array}} \right]_{nm \times 3}} $$ (6) 式中,
$ y_{nm}^t $ 、$ y_{nm}^s $ 以及$ y_{nm}^e $ 表示车辆n任务m被划分为时延敏感型、非敏感型以及能耗敏感型各自的表现分。选取最大表现$ {y_{nm}} = \max \{ y_{nm}^t,y_{nm}^s,y_{nm}^e\} $ 所对应的类型作为任务最终的判别。 -
本模型中,RSU半径覆盖范围内多辆车同时卸载任务,考虑了OFDMA系统,因此可以忽略不同独立车辆的各项任务之间的传输干扰。与此同时,假设带宽平均分配给各连接的车辆,于是可以得到车辆n第m个任务的上行传输速率[18]:
$$ {R_{nm}} = \overline B {\log _2}{(1 + \frac{{P_{nm}^{{\rm{up}}}{H_n}}}{{{N_0}}})} $$ (7) 式中,
$ \bar B $ 表示车辆n上行链路的子信道带宽,$ \bar B $ =B/n,B代表上行链路总带宽;Hn表示车辆n与RSU之间的无线信道增益;N0为高斯白噪声功率,N0=σ2,σ表示信道环境中高斯白噪声的标准差;$ P_{nm}^{{\rm{up}}} $ 表示针对任务m车辆n的发射功率。 -
针对车辆n决定利用本地CPU执行任务的情况进行建模。首先,定义车辆本身CPU的计算能力为
$ f_n^{{\rm{local}}} $ 。由于任务仅在本地进行计算,不用考虑任务的传输时延,因此车辆n在本地执行任务m所消耗的时延为:$$ T_{nm}^{{\rm{local}}} = {\frac{{{a_{nm}}}}{{f_n^{{\rm{local}}}}}} $$ (8) 式中,anm表示车辆n第m个任务的工作量大小。在给定具体的卸载决策{bnm}后,可以得到车辆n本地计算所消耗的总时延为:
$$ T_n^{{\rm{local}}} = \sum\limits_{m = 1}^M {(1 - {b_{nm}})} T{_{nm}^{{\rm{local}}}} $$ (9) 定义
$ e_n^{{\rm{local}}} $ 为车辆n在本地执行每1 bit数据的局部能耗,因此本地执行任务所消耗的总能量为:$$ E_{nm}^{{\rm{local}}} = {a_{nm}} e{_n^{{\rm{local}}}} $$ (10) -
针对车辆n决定将任务卸载至边缘服务器的情况进行建模。考虑MEC服务器直接配置在RSU上这一种情况,因此忽略由RSU将任务转发至MEC服务器的能耗与时延。一般情况下认为边缘服务器具有足够的电源,因此车辆n将任务m卸载到边缘服务器的传输时延为:
$$ T_{nm}^t = \frac{{{a_{nm}}}}{{{R_{nm}}}} $$ (11) 与此同时,任务在边缘服务器上进行处理的计算时延为:
$$ T_{nm}^{{\rm{off}}} = \frac{{{a_{nm}}}}{{f_{nm}^c}} $$ (12) 式中,
$ f_{nm}^c $ 为边缘服务器分配给该任务的处理资源。由于MEC服务器反馈给车辆n计算结果的数据大小相较于输入数据很小,因此本文不考虑下行传输以及车辆n接收处理结果的时延与能耗。在给定具体的卸载决策{bnm}之后,可以得到车辆n卸载总时延:$$ T_n^{{\rm{off}}} = \sum\limits_{m = 1}^M {{b_{nm}} (T_{nm}^t + T_{nm}^{{\rm{off}}})} $$ (13) 车辆n传输任务m所消耗的能量为:
$$ E_{nm}^t = P_{nm}^{{\rm{up}}} \frac{{{a_{nm}}}}{{{R_{nm}}}} $$ (14) 因此,可以得到车辆n将其任务m卸载至边缘服务器的总能耗为:
$$ E_{nm}^{{\rm{off}}} = E_{nm}^t + \frac{{\mu {P_{{\rm{mec}}}}{a_{nm}}}}{{f_{nm}^c}} $$ (15) 式中,定义Pmec为MEC服务器的设备功率;μ为MEC服务器的能耗占比。当μ=0时,整个卸载过程只考虑车辆n所消耗的能量。
-
当缓存队列中即将被处理的任务所需计算资源超过MEC空闲计算资源,该任务将从MEC服务器转送至BS进而转发至远端云服务器。由于车辆已执行卸载过程,且转发过程均借助光纤,则不需考虑上下行传输时延与能耗。因此车辆n的任务m在云服务器上的计算时延为:
$$ T_{nm}^{{\rm{cloud}}} = \frac{{{a_{nm}}}}{{{f^{{\rm{cloud}}}}}} $$ (16) 式中,fcloud为云服务器提供的计算资源。定义Pcloud为云服务器的设备功率,则车辆n的任务m在云服务器上的计算能耗为:
$$ E_{nm}^{{\rm{cloud}}} = \frac{{\lambda {P_{{\rm{cloud}}}}{a_{nm}}}}{{{f^{{\rm{cloud}}}}}} $$ (17) 式中,λ为云服务器执行任务的能耗占比,当λ=0时,针对于整个卸载过程只考虑车辆n所消耗的能量。云计算模型建立在边缘计算模型基础之上,在给定具体的卸载决策{bnm}之后,bnm=1的任务会有两种卸载方式,因此改写式(13)和式(15),得到新的车辆n卸载总时延与车辆n卸载任务m的总能耗分别为:
$$ T_n^{{\rm{off}}*} = \sum\limits_{m = 1}^M {{b_{nm}} (T_{nm}^t + (1 - d) T_{nm}^c + d T_{nm}^{{\rm{cloud}}})} $$ (18) $$ E_{nm}^{{\rm{off}}*} = E_{nm}^t + \frac{{(1 - d) \mu {P_{{\rm{mec}}}}{a_{nm}}}}{{f_{nm}^c}} + \frac{{d \lambda {P_{{\rm{cloud}}}}{a_{nm}}}}{{{f^{{\rm{cloud}}}}}} $$ (19) 式中,当d=1时,该任务需要转发至云服务器;d=0时,该任务不需要转发至云服务器。
-
本文寻求最小化所有车辆任务完成的总时延与总能耗之和。基于上述3种场景,将车辆n第m个任务的代价定义为能耗与时延的权衡值,引入任务的最大表现分作为权衡值的系数,并对不同类型的任务求取相应的最终权衡,得:
$$ {C_{nm}} = \left\{ \begin{array}{l} (1 - {y_{nm}}) [E_{nm}^{{\rm{local}}} (1 - {b_{nm}}) + E_{nm}^{{\rm{off}}*} {b_{nm}}] + \\ {y_{nm}} \max \{ T_n^{{\rm{off}}*},T_n^{{\rm{local}}}\} \\ {y_{nm}} = y_{nm}^t \\ {y_{nm}} [E_{nm}^{{\rm{local}}} (1 - {b_{nm}}) + E_{nm}^{{\rm{off}}*} {b_{nm}} + \\ \max \{ T_n^{{\rm{off}}*},T_n^{{\rm{local}}}\} ] \\ {y_{nm}} = y_{nm}^s \\ {y_{nm}} [E_{nm}^{{\rm{local}}} (1 - {b_{nm}}) + E_{nm}^{{\rm{off}}*} {b_{nm}}] + \\ (1 - {y_{nm}}) \max \{ T_n^{{\rm{off}}*},T_n^{{\rm{local}}}\} \\ {y_{nm}} = y_{nm}^e \end{array} \right. $$ (20) 式中,
$ T_n^{{\rm{off}}*} $ 和$ E_{nm}^{{\rm{off}}*} $ 为式(18)和式(19)的计算结果,即加入云服务器辅助后的新时延与能耗。引入系统代价C,其等效于执行所有任务的能耗与时延总加权值,以此来评估VEC系统的总体时延与能耗:$$ C = \sum\limits_{n = 1}^N {\left(\sum\limits_{m = 1}^M {C_{nm}}\right) } $$ (21) 在多个约束条件下,系统总代价C能够达到最小值。因此,系统的任务处理建模为:
$$ \begin{split} &\qquad\qquad\qquad \min {\text{ }}C \\ & {\rm{s.t.}}\;\;\;\,{\text{C}}1:{\text{ }}\max \{ T_n^{{\rm{local}}},T_n^{{\rm{off}}*}\} \leqslant T_n^{{\rm{max}}} \\ &\qquad {\text{C}}2:{\text{ }}{b_{nm}} \in \{ 0,1\} \\ &\qquad {\text{C}}3:{\text{ }}\sum\limits_{n = 1}^N {\sum\limits_{m = 1}^M {f_{nm}^c \leqslant f_{{\rm{max}}}^c} } \\ &\qquad {\text{C}}4:{\text{ }}{y_{nm}} \in (0,1) \\ &\qquad {\text{C}}5:{\text{ }}n \in N,m \in M \\ \end{split} $$ (22) 式中,C1给出了车辆n执行所有任务的最大容忍时延;C2给出了一个二进制的卸载决策;C3限定分配给缓存队列中的任务计算资源不能超过MEC服务器的最大计算资源;C4给出了各任务的判别;C5给定了该系统下的车辆以及任务数量。
-
本节提出了一种基于DNN的并行式VEC网络卸载架构,如图2所示。整体架构由独立并行的K个卸载单元、调度单元、罚函数以及一个有限大小的内存单元4部分组成。并行分布的卸载单元以及调度单元用以实现算法中的决策生成部分,其中,每个卸载单元包含一个结构完全相同的DNN;罚函数用以实现对约束条件的处理;内存单元用以辅助算法中学习与训练。该卸载架构将配备至各路段的前置服务器用以实现决策生成。
给定所有用户的输入数据大小,并将输入定义为S。除存放输入数据的缓存以外,再配置一组缓存用以存放各项任务判别标签Y={A,B,C}。其中,标签A对应
$ {y_{nm}} = y_{nm}^t $ ;标签B对应$ {y_{nm}} = y_{nm}^e $ ;标签C对应$ {y_{nm}} = y_{nm}^s $ 。用户数量以及任务数量的增加会导致目标二元卸载决策序列{b}的大小呈指数型增长,在各条件制约下,生成最优卸载决策问题将变成一个NP难(NP-hard problem)问题。考虑使用调度算法以及罚函数减少约束并获取局部最优决策L,将非凸问题转变成凸问题,再通过深度学习来解决。
-
针对每一组输入S,需要找到一个合适的卸载策略函数。具体来说,使用k个卸载单元生成k个二进制卸载决策bk,如图3所示。每一个卸载单元均包含一个DNN,N×M个带有标签的任务作为网络的输入层,卸载决策bk作为输出层。
置于卸载单元内的k个DNN具有相同的结构与不同的网络参数
$\varphi_k $ {wk,vk}。其中,线性关系系数wk由正态分布初始化器tf.random_normal_initializer定义初值,偏倚系数vk由常量初始化器tf.constant_initializer定义初值。带有标签的任务通过神经网络得到k个二进制决策,卸载策略函数的参数形式表现为:$$ {f_{{\varphi _k}}}:S \to {b_k} $$ (23) 一旦得到k个二进制卸载决策,原始问题P1中的约束条件C2、C4、C5均可消除,原问题将转换为一个资源分配与容忍时延约束问题(P2):
$$ \begin{split} &\qquad\qquad ({\rm{P}}2):\mathop {\min }\limits_{S,{b_k}} C(S,{b_k}) \\ & {{\rm{s.t.}}\;\;\;{\text{C}}1:\max \{ T_n^{{\rm{local}}},T_n^{{\rm{off}}}\} \leqslant T_n^{{\rm{max}}}} \\ &\qquad {{\text{C}}3:\sum\limits_{n = 1}^N {\sum\limits_{m = 1}^M {f_{nm}^c \leqslant f_{{\rm{max}}}^c} } } \end{split} $$ (24) 由于分配给卸载任务的计算资源不能超过MEC服务器空闲计算资源,如图4所示,本文提出了一种调度算法。每一个缓存内的任务在处理之前访问当下空闲计算资源,若空闲资源不足以处理,任务将调度给云服务器,借助云服务器计算资源辅助处理任务。
合理分配卸载任务至不同服务器,便可以更新代价C*(S,bk)。解决资源分配问题后,仅剩约束条件C1,因此P2将转换为一个最大容忍时延约束问题(P3):
$$ \begin{split} &\qquad\quad (P3):\mathop {\min }\limits_{S,{b_k}} {C^*}(S,{b_k}) \\ &{\rm{s.t.}}\;\;\;\;{\text{C}}1:\max \{ T_n^{{\rm{local}}},T_n^{{\rm{off}}}\} \leqslant T_n^{{\rm{max}}} \end{split} $$ (25) -
对于P3中仅存的不等式约束条件C1,构造罚函数来彻底消除目标函数的约束。为了能够贴合所建模型的精度,选取两个函数来组成罚函数,并与目标函数联合构成最终的适应度函数。
首先,将约束条件C1进行移项:
$$ g = \max \{ T_n^{{\rm{local}}},T_n^{{\rm{off}}}\} - T_n^{{\rm{max}}} \leqslant 0 $$ (26) 其次,构造函数判断用户n任务执行时延是否超过最大容忍时延:
$$ h = \max \{ 0,g\} $$ (27) 当h≤0时,不需要惩罚目标函数;当h>0时,需要惩罚目标函数。考虑到RSU覆盖范围有限,相对较长的时延不仅会降低用户体验,同样也会造成任务的执行失败。因此,设定超过最大容忍时延将对于系统代价造成指数型影响,从而得到惩罚函数:
$$ \theta (h) = \left\{ {\begin{array}{*{20}{l}} {0}&{h \leqslant 0} \\ {10h}&{0 \lt h \lt 1} \\ {5{{\rm{e}}^h}}&{1 \leqslant h \lt 3} \\ {7{{\rm{e}}^h}}&{3 \leqslant h \lt 10} \\ {h{{\rm{e}}^h}}&{{\rm{otherwise}}} \end{array}} \right. $$ (28) 适应度函数基于上述模型以及罚函数的建立,可以在最大容忍时延的约束下,计算整个系统的总代价。所得适应度函数值越大,则系统所消耗代价越大,反之则越小。目标函数与罚函数相加即可得到适应度函数:
$$ {\rm{Fitness}}{\text{ }}(h) = {\rm{Fitness}}(S,{b_k}) = {C^*}(S,{b_k}) + \theta (h) $$ (29) 在解决最大容忍时延问题(P3)后,本文在k组经过卸载单元、调度单元以及惩罚判定的候选对象中选取系统代价最小的卸载决策作为局部最优决策进行输出,这一组局部最优决策将与对应的输入S合并作为神经网络的训练标准。得到局部最优决策的过程可以表示为:
$$ {{L}} = \arg \min {\rm{Fitness}}(S ,{b_k}) $$ (30) -
VEC中基于深度学习的任务卸载算法如下。
算法1 VEC中基于深度学习的任务卸载算法
Input: t时刻得到的用户任务输入St(at,yt)
Output: 对应t时刻得到的局部最优卸载决策Lt
1)使用随机权重初始化k个DNN网络参数
$ {\varphi _k}\{ {w_k},{v_k}\} $ 2)初始化标准库的大小standard_size并清空内存
3)for each episode do
4)for t=1 to T do
5)输入St通过k个卸载单元得到k组初步VEC代价C1与卸载决策bk=
$f_{\varphi }$ (k,St)6)if MEC服务器需提供计算资源>
$ f_{{\rm{max}}}^c $ 7)将超越项任务卸载至云服务器,调度单元重新计算代价C*
8)else C*=C1
9)end if
10)根据决策bk判断任务执行时延是否超过车辆最大容忍时延
11)计算惩罚并得到最终k组Fitness(S,bk)
12)选择最小值对应的决策作为局部最优决策
$ {{L}} = \arg {{\rm{minFitness}}} (S,{b_k}) $ 13)将stan=(at,yt,bk)作为准则存储到标准库Standard
14)在Standard中随机抽选k组stan训练k个同结构DNN并更新网络参数
$ {\varphi _k} $ 15)end for
16)end for
按照上述步骤,首先初始化k个DNN的网络参数并清空标准库内存。在每一个片段中,设置各组发起请求的任务作为神经网络不同时刻t的输入,具体操作如下:将同一时刻RSU接收到的任务请求分别放入k个DNN中,求代价值C1与决策bk。考虑到每一个RSU仅配备一个MEC服务器,路段的高任务请求会导致需要的计算资源超过MEC最大计算资源。为了缓解这一问题,设置调度单元将任务转发至云服务器,并重新求取代价值C*。在结束步骤9)以后,优化问题从P1演化成为P2。考虑到RSU覆盖范围有限,设置
$ T_n^{{\rm{max}}} $ 作为车辆n在该覆盖面下的最大容忍时延。为了提高最大容忍时延的影响,提出一种指数型罚函数并由此构造适应度函数Fitness来权衡约束下的VEC总代价,并通过argmin函数得到局部最优卸载决策L。将(St,B)展平作为新的数据内容存入标准库Standard中,作为DNN的训练准则。在完成一次内容存放后,随机抽样k组训练准则分配给所有DNN,利用梯度下降算法,最小化损失函数loss从而更新DNN网络参数,具体过程如下:$$ \begin{split} &\qquad {y_{{\rm{pred}}}} = {\rm{sigmoid}}({\varphi _k}\{ {w_k},{v_k}\} ) = \frac{1}{{1 + {{\rm{e}}^{ - {\varphi _k}}}}} \\ & {\rm{loss}} = - {x_{{\rm{true}}}} \log ({y_{{\rm{pred}}}}) - (1 - {x_{{\rm{true}}}}) \log (1 - \log ({y_{{\rm{pred}}}})) \end{split} $$ (31) 式中,xtrue是每一组输入S对应的最小代价卸载决策。当标准库Standard内存占满时,自动舍弃最原始数据并添加新的数据作为补充。
算法1给出的VEC中基于深度学习的任务卸载算法整体均使用Tensorflow实现,此算法被期望能够使神经网络通过训练,不断收敛直至生成最优卸载决策,并能够在极短时间内对测试任务队列做出决策。
Deep Learning-Based Task Discrimination Offloading in Vehicular Edge Computing
-
摘要: 车辆边缘计算(VEC)将移动边缘计算(MEC)与车联网(IoV)技术相结合,将车载任务下沉至网络边缘,以此解决车辆终端计算能力有限问题。为了克服任务数量骤增的车载任务调度难题并提供一个低时延服务环境,首先依据所选的5大特征参数的动态关联变化准则,使用改进型层次分析法(AHP)将车载任务划分为3类主要任务,基于3种卸载决策进行资源分配联合建模;随后,利用调度算法和罚函数来消除建模的约束条件,所获的代价值为之后的深度学习算法提供输入;最后,提出一种基于深度学习的分布式卸载网络算法来有效降低VEC系统的能耗与时延。仿真实验结果表明,所提卸载方案相较传统深度学习卸载方案具有更好环境适应性与稳定性,并降低了任务平均处理时延与能耗。Abstract: Vehicle Edge Computing (VEC), combining mobile edge computing (MEC) with the Internet of Vehicles (IoV) technology, offloads vehicle tasks to the edge of the network to solve the problem of limited computing power at the vehicle terminal. In order to overcome the difficulty of on-board task scheduling due to the sudden increase in the number of tasks and provide a low-latency service environment, the vehicle tasks are divided into three types of main tasks by using improved Analytic Hierarchy Process (AHP) according to the dynamic correlation change criteria of the selected five feature parameters, and the joint modeling of resource allocation is carried out based on three kinds of offloading decisions. Then, the constraints of the modeling are eliminated by using scheduling algorithm and penalty function, and the obtained substitution value is taken as the input for the following deep learning algorithm. Finally, a distributed offloading network based on deep learning is proposed to effectively reduce the energy consumption and delay of VEC system. The simulation results show that the proposed offloading scheme is more stable than traditional deep learning offloading scheme and has better environmental adaptability with its less average task processing delay and energy consumption.
-
[1] SHI W, CAO J, ZHANG Q, et al. Edge computing: Vision and challenges[J]. IEEE Internet of Things Journal, 2016, 3(5): 637-646. doi: 10.1109/JIOT.2016.2579198 [2] ZHANG K, MAO Y, LENG S, et al. Mobile-edge computing for vehicular networks: A promising network paradigm with predictive off-loading[J]. IEEE Vehicular Technology Magazine, 2017, 12(2): 36-44. doi: 10.1109/MVT.2017.2668838 [3] CISCO V. Cisco visual networking index: Forecast and trends[EB/OL]. [2022-08-23]. https://www.cisco.com/c/zh_tw/about/news-center/news-20190225.html. [4] ZHANG J, ZHAO X. An overview of user-oriented computation offloading in mobile edge computing[C]// 2020 IEEE World Congress on Services (SERVICES). [S.l.]: IEEE, 2020: 75-76. [5] STORCK C R, DUARTE-FIGUEIREDO F. A survey of 5G technology evolution, standards, and infrastructure associated with vehicle-to-everything communications by internet of vehicles[J]. IEEE Access, 2020, 8: 117593-117614. doi: 10.1109/ACCESS.2020.3004779 [6] KOMBATE D. The Internet of vehicles based on 5G communications[C]//2016 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). [S.l.]: IEEE, 2016: 445-448. [7] KUTILA M, PYYKONEN P, HUANG Q, et al. C-V2X supported automated driving[C]//2019 IEEE International Conference on Communications Workshops (ICC Workshops). [S.l.]: IEEE, 2019: 1-5. [8] PU L, CHEN X, MAO G, et al. Chimera: An energy-efficient and deadline-aware hybrid edge computing framework for vehicular crowdsensing applications[J]. IEEE Internet of Things Journal, 2018, 6(1): 84-99. [9] LI S, GE H, CHEN X, et al. Computation offloading strategy for improved particle swarm optimization in mobile edge computing[C]//2021 IEEE 6th International Conference on Cloud Computing and Big Data Analytics (ICCCBDA). [S.l.]: IEEE, 2021:375-381. [10] FENG W Y, YANG S Z, GAO Y, et al. Reverse offloading for latency minimization in vehicular edge computing[C]//ICC 2021 - IEEE International Conference on Communications. [S.l.]: IEEE, 2021: 1-6. [11] REN Y L, CHEN X Y, GUO S, et al. Blockchain-based VEC network trust management: A DRL algorithm for vehicular service offloading and migration[J]. IEEE Transactions on Vehicular Technology, 2021, 70(8): 8148-8160. doi: 10.1109/TVT.2021.3092346 [12] LIU Z, ZHAO J. Optimized task offloading policy in given sequence in mobile edge computing[C]//2020 IEEE 6th International Conference on Computer and Communications (ICCC). [S.l.]: IEEE, 2020: 1656-1660. [13] ZENG F, CHEN Q, MENG L, et al. Volunteer assisted collaborative offloading and resource allocation in vehicular edge computing[J]. IEEE Transactions on Intelligent Transportation Systems, 2020, 22(6): 3247-3257. [14] WU H, WOLTER K, JIAO P, et al. EEDTO: An energy-efficient dynamic task offloading algorithm for blockchain-enabled IoT-edge-cloud orchestrated computing[J]. IEEE Internet of Things Journal, 2020, 8(4): 2163-2176. [15] MA C, ZHU J, LIU M, et al. Parking edge computing: Parked-Vehicle-Assisted task offloading for urban VANETs[J]. IEEE Internet of Things Journal, 2021, 8(11): 9344-9358. doi: 10.1109/JIOT.2021.3056396 [16] GAO M, SHEN R, SHI L, et al. Task partitioning and offloading in DNN-task enabled mobile edge computing networks[J]. IEEE Transactions on Mobile Computing, 2023, 22(4): 2435-2445. [17] ZHAN W, LUO C, WANG J, et al. Deep-Reinforcement-Learning-Based offloading scheduling for vehicular edge computing[J]. IEEE Internet of Things Journal, 2020, 7(6): 5449-5465. doi: 10.1109/JIOT.2020.2978830 [18] LIU H, ZHAO H, GENG L, et al. A distributed dependency-aware offloading scheme for vehicular edge computing based on policy gradient[C]//2021 8th IEEE International Conference on Cyber Security and Cloud Computing (CSCloud)/2021 7th IEEE International Conference on Edge Computing and Scalable Cloud (EdgeCom). [S.l.]: IEEE, 2021: 176-181. [19] 方晨, 郭渊博, 王一丰, 等. 基于区块链和联邦学习的边缘计算隐私保护方法[J]. 通信学报, 2021, 42(11): 28-40. FANG C, GUO Y B, WANG Y F, et al. Edge computing privacy protection method based on blockchain and federated learning[J]. Journal on Communications, 2021, 42(11): 28-40. [20] ISLAM S, BADSHA S, SENGUPTA S. Context-aware fine-grained task scheduling at vehicular edges: An extreme reinforcement learning based dynamic approach[C]//2021 IEEE 22nd International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM). [S.l.]: IEEE, 2021: 31-40. [21] PARK S, KANG Y, TIAN Y, et al. Fast and reliable offloading via deep reinforcement learning for mobile edge video computing[C]//2020 International Conference on Information Networking (ICOIN). [S.l.]: IEEE, 2020: 10-12. [22] HUANG L, FENG X, FENG A, et al. Distributed deep learnging-based offloading for mobile edge computing networks[J]. Mobile Networks and Applications, 2022, 27(3): 1123-1130.