2. 北京交通大学 软件学院, 北京 100044
2. School of Software Engineering, Beijing Jiaotong University, Beijing 100044, China
开放科学(资源服务)标志码(OSID):
随着人工智能、5G移动通信和车联网技术的发展,大量的智能车载应用不断被开发,例如自动驾驶、碰撞预警、虚拟现实等[1]。然而,计算密集型和时延敏感型的任务对于车载终端来说无疑是一个巨大的挑战。移动云计算(Mobile Cloud Computing,MCC)能够将任务卸载到资源丰富的远程云服务器上,可以解决车辆计算能力不足的问题[2],因此成为解决上述矛盾的一个关键技术,但远距离任务传输带来的时延无法满足安全类应用对实时性的要求[3]。对此,移动边缘计算(Mobile Edge Computing,MEC)被引入到车联网中,MEC服务器被部署到道路两侧的路边单元(Road Side Unit,RSU)中,为车辆提供近距离的任务卸载服务[4]。相比于云计算卸载,边缘计算卸载不仅可以缓解车辆终端的资源不足,而且可以降低任务传输时延,缓解核心网络的压力。
目前,针对车联网中的任务卸载问题,国内外学者展开了大量研究,但大部分研究都是单独针对云计算卸载或者边缘计算卸载,很少有研究关注云计算和边缘计算的协作。此外,文献往往假设MEC服务器具有足够资源,能够满足所有任务的卸载请求,然而事实并非如此。受硬件和成本的制约,MEC服务器可提供的资源也相对有限,尤其是在车辆密集的区域,仅依靠边缘层可能无法满足海量数据的计算和存储[5]。由于云计算和边缘计算都拥有各自的优势,云服务器适合处理计算密集但对实时性要求低的任务,而边缘服务器更适合处理计算量小或者对时延敏感的任务,因此,让两者相互协作以实现优势互补逐渐吸引了大家的关注。在网络架构方面,软件定义网络(Software Defined Network,SDN)技术由于具备转控分离、集中控制、开放接口、可编程等特性,因此对于实现边云异构网络的有效协作具有重要意义[6]。
在车联网中,影响卸载决策的因素比如车辆位置、服务器资源、信道状态等都具有时变性,如果使用传统的最优化算法或者启发式算法来求解最优决策,不仅要对环境做出很多静态假设,而且每当有新任务时,都需要重新经历一次复杂度超高的计算[7],这对于那些对时延极其敏感的安全类应用来说无疑是巨大的隐患。除此之外,现有的工作在制定任务卸载决策和资源分配方案时很少考虑车载应用的紧急程度,所以任务卸载到每个服务器的可能性是相同的,而且卸载到同一个服务器的任务分配到的资源也是相同的,这也许会导致对时延敏感的任务无法在限制时间内完成。为简化问题,很多采取部分卸载方式的方案中也会忽略车辆在上传任务过程中的移动性,并假设任务可以在剩余通信时间内上传完成,但这在实际应用中是不现实的。
为解决上述问题,本文综合考虑环境动态性以及任务优先级,提出基于双深度Q网络(Double Deep Q Network,DDQN)算法的边云协作任务卸载机制,DDQN算法在与环境交互过程中可以对未来的环境变化进行一定程度的估计,通过不断学习并调整策略实现长期效用最大化。同时,提出基于任务优先级的资源分配方案,使优先级越高的任务能分配到的资源越多。此外,给出一种基于确定卸载决策和资源分配方案的的卸载比例计算方法,在任务能够完成上传的前提下,最小化任务处理时间。
1 相关研究针对车辆边缘计算环境中的任务卸载决策问题,目前已经有大量的研究工作。文献[8]提出一种基于遗传算法和启发式规则的混合智能优化算法,制定的卸载决策可以最小化时延和资源消耗。文献[9]对多用户多MEC服务器场景中的负载均衡和任务卸载问题进行了联合优化。文献[10-12]也基于各种数值优化理论提出相应的任务卸载和资源分配方案。强化学习作为解决复杂环境下序列决策问题的强大武器,被学者们用来解决任务卸载问题。文献[13]将计算卸载调度问题形式化为优化时延和能耗组成的长期成本问题,并将其建模为一个等价的马尔可夫决策过程(Markov Decison Process,MDP),设计的基于深度强化学习(Deep Reinforcement Learning,DRL)的算法可以得到问题的最优解。然而,上述工作均假设MEC服务器拥有足够多的计算和存储资源,但是在实际场景中,MEC的资源受限于硬件和成本,在车辆密集的区域可能无法保证服务质量。
边缘计算与云计算的融合可以构建出更加高效可靠的边云协作任务卸载环境。文献[14]为充分利用云服务器和边缘服务器的资源,提出约束随机化卸载和约束启发式贪心卸载两种方案解决协同任务卸载问题。文献[15]通过构建一个云端-边缘-车辆三层协同的网络,将任务卸载决策问题形式化为收益和服务质量最大化问题,并提出由Kuhn-Munkres算法、遗传算法、内点法和KKT条件组成的算法求解上述非确定性多项式(Nondeterministic Polynomially,NP)问题。包括上述文献在内的很多工作都假设动态的车联网环境可以被准确地建模,然而,这在实际情况下很难做到。因此,能够摆脱模型限制的DRL算法特别适合用来解决复杂动态车联网环境中的任务卸载问题。
文献[16]研究了边云协作环境中的非独立任务卸载问题,并且提出一个基于强化学习和序列二次规划的两级交替方法框架。文献[17-19]利用DRL算法解决了车联网中的任务卸载问题。近年来,利用SDN协助车联网计算卸载的研究有一定的成果[20-22],例如,文献[21]通过设计一种集成SDN和MEC的车联网框架,实现网络、缓存和计算的动态编排。文献[22]构建一种MEC辅助的软件定义车联网架构,并提出一种带重处理机制的任务卸载方案,能够在满足时延约束的前提下最大化可靠性。
与现有工作相比,本文考虑了车联网的时变性、任务的优先级、通信链路的持续时间以及计算资源成本对任务卸载决策制定的综合影响。还提出一种基于DDQN的算法来学习任务卸载决策,该算法可以最大化由时延和成本构成的长期效用。
2 系统模型 2.1 系统架构分析如图 1所示,本文构建的基于SDN的边云协作车联网架构在逻辑上由用户层、数据层和控制层组成。
![]() |
Download:
|
图 1 基于SDN的边云协作车联网架构 Fig. 1 Architecture of edge-cloud collaborative vehicular network based on SDN |
用户层由行驶在一段单向双车道公路上的车辆用户构成。本文假设每个时隙最多有
数据层由边缘卸载计算层和云卸载计算层构成,负责执行用户层车辆卸载的计算任务。其中,边缘计算层是由
控制层主要是指部署在基站中的SDN控制器。逻辑上集中的SDN控制层具有瞬时获取全局网络状态的能力,可配置、可编程、对第三方开放的网络基础能力等一系列突破对于实现边缘计算和云计算的有效协作具有重要意义,能够帮助实现两者的优势互补,满足边云协作计算网络对于统一控制、任务合理卸载和资源有效分配的需求。
在本文构建的基于SDN的边云协作计算环境中,车辆的计算任务会被部分卸载到云服务器或边缘服务器中执行,所有车辆在某个时隙的卸载决策集合可以表示为
考虑到车载应用的多样性,比如碰撞预警这类对时延要求极高的安全类应用、语音识别这类对时延不敏感的娱乐性应用等,本文将抽象出一个任务优先级的评定标准,用于指导计算资源的分配以及卸载策略的制定。除了任务的紧急程度,任务所需的计算量也是任务卸载和资源分配时必须参考的指标,任务的优先级可以定义为式(1)所示:
$ {p}_{i}={p}_{\mathrm{s}\mathrm{f}}\frac{{c}_{i}}{{t}_{i}^{\mathrm{m}\mathrm{a}\mathrm{x}}} $ | (1) |
其中:
行驶在道路上的车辆需要将任务通过无线V2I链路传给中继RSU,链路的传输速率直接影响任务的上传时间。根据香农公式,车辆
$ {R}_{i, k}={B}_{i, k}\times \mathrm{l}\mathrm{b}\left(1+\frac{{P}_{i, k}{G}_{i, k}^{}}{{\sigma }^{2}}\right) $ | (2) |
其中:
本文除了将任务处理时延作为评价指标,为了避免计算资源的浪费,还引入成本这一因素来指导决策的制定。本文采取部分卸载方式,将任务在本地和服务器中按比例并行处理。任务
$ {t}_{i}^{\mathrm{l}\mathrm{o}\mathrm{c}\mathrm{a}\mathrm{l}}=\frac{(1-{\theta }_{i}){c}_{i}}{{f}_{i}^{\mathrm{l}\mathrm{o}\mathrm{c}\mathrm{a}\mathrm{l}}} $ | (3) |
任务在本地处理时不消耗服务器的资源,所以没有成本。卸载处理的那部分任务有边缘服务器和云服务器两类选择。
2.4.1 边缘卸载当
$ {t}_{i}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}={t}_{i, k}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}+{t}_{k, j}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}=\frac{{\theta }_{i}{d}_{i}}{{R}_{i, k}}+{H}_{k, j}\times \frac{{\theta }_{i}{d}_{i}}{{R}_{\mathrm{f}\mathrm{i}\mathrm{b}\mathrm{e}\mathrm{r}}} $ | (4) |
其中:
$ {t}_{i}^{\mathrm{e}\mathrm{x}\mathrm{e}}=\frac{{\theta }_{i}{c}_{i}}{{f}_{i, j}^{\mathrm{m}\mathrm{e}\mathrm{c}}} $ | (5) |
其中:
$ {t}_{i}^{\mathrm{o}\mathrm{f}\mathrm{f}}={t}_{i}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}+{t}_{i}^{\mathrm{e}\mathrm{x}\mathrm{e}} $ | (6) |
综上所述,车辆
$ {t}_{i}^{\mathrm{m}\mathrm{e}\mathrm{c}}=\mathrm{m}\mathrm{a}\mathrm{x}\{{t}_{i}^{\mathrm{l}\mathrm{o}\mathrm{c}\mathrm{a}\mathrm{l}}, {t}_{i}^{\mathrm{o}\mathrm{f}\mathrm{f}}\} $ | (7) |
在任务处理时间的基础上,结合计算资源所消耗的成本,可以得到车辆
$ {u}_{i}^{e}={\delta }_{i}\frac{{t}_{i}^{\mathrm{m}\mathrm{a}\mathrm{x}}-{t}_{i}^{\mathrm{m}\mathrm{e}\mathrm{c}}}{{t}_{i}^{\mathrm{m}\mathrm{a}\mathrm{x}}}-(1-{\delta }_{i}){G}_{sf}{C}_{e}{f}_{i, j}^{\mathrm{m}\mathrm{e}\mathrm{c}} $ | (8) |
其中:
当
$ \begin{array}{l}{t}_{i}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}={t}_{i, k}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}+{t}_{k.c}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}+{t}_{c, k}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}=\\ \;\;\;\;\;\;\;\;\;\;\frac{{\theta }_{i}{d}_{i}}{{R}_{i, k}}+({\theta }_{i}{d}_{i}+{d}_{i}^{0}){\upsilon }_{\mathrm{f}\mathrm{i}\mathrm{b}\mathrm{e}\mathrm{r}}\end{array} $ | (9) |
其中:
任务的执行时间
$ {t}_{i}^{\mathrm{e}\mathrm{x}\mathrm{e}}=\frac{{\theta }_{i}{c}_{i}}{{f}_{i, 0}^{\mathrm{m}\mathrm{c}\mathrm{c}}} $ | (10) |
其中:
$ {t}_{i}^{\mathrm{o}\mathrm{f}\mathrm{f}}={t}_{i}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}+{t}_{i}^{\mathrm{e}\mathrm{x}\mathrm{e}} $ | (11) |
综上所述,车辆
$ {t}_{i}^{\mathrm{m}\mathrm{c}\mathrm{c}}=\mathrm{m}\mathrm{a}\mathrm{x}\{{t}_{i}^{\mathrm{l}\mathrm{o}\mathrm{c}\mathrm{a}\mathrm{l}}, {t}_{i}^{\mathrm{o}\mathrm{f}\mathrm{f}}\} $ | (12) |
在任务处理时间的基础上,结合计算资源所消耗的成本,可以得到车辆
$ {u}_{i}^{c}={\delta }_{i}\frac{{t}_{i}^{\mathrm{m}\mathrm{a}\mathrm{x}}-{t}_{i}^{\mathrm{m}\mathrm{c}\mathrm{c}}}{{t}_{i}^{\mathrm{m}\mathrm{a}\mathrm{x}}}-(1-{\delta }_{i}){G}_{sf}{C}_{c}{f}_{i, 0}^{\mathrm{m}\mathrm{c}\mathrm{c}} $ | (13) |
其中:
基于以上定义,可以得到一个用于衡量卸载决策和资源分配方案优劣的效用函数:
$ U\left(X\right)=\frac{1}{\left|N\right|}\sum\limits _{i\in N}{p}_{i}{u}_{i} $ | (14) |
式(14)表示所有任务的平均效用,并且将任务的优先级作为系数进一步加强任务优先级的重要性。其中,
车辆移动性、计算资源、信道状态的时变性等因素导致车联网环境的高度不确定,此时将任务卸载决策问题建模为MDP过程,这是一种高效的解决方案。尽管在理论上可以采用动态规划或者启发式算法求解MDP,但其超高的计算复杂度无法满足车载应用对实时性的要求。此外,MDP的状态转移概率矩阵也很难获取,在这种情况下,不基于模型的强化学习(Reinforcement Learning,RL)算法可以用来获取最优策略。RL算法不需要任何先验知识,通过不断与环境交互学习,最终获得的决策模型可以实现长期效用最大化。近年来,深度强化学习算法又利用神经网络强大的近似能力解决了RL算法状态空间有限的问题。
因此,本节首先将效用优化问题转化为马尔可夫决策过程,并采用深度强化学习方法求解最优策略。然后,阐述在任务卸载策略已知情况下的基于优先级的资源分配方案。最后,在卸载策略和资源分配方案已知的情况下,以最小化任务处理时间和保证传输可靠性为目标,给出任务最佳卸载比例的计算方法。
3.1 基于DDQN的任务卸载决策机制DDQN[24]是一种基于价值的深度强化学习算法,适用于车辆任务卸载这种具有大规模离散动作空间的场景。DDQN的核心思想是使用深度神经网络近似代替动作价值(以下简称“
本节首先阐述MDP的3大要素,即状态空间、动作空间和奖励函数,然后介绍动作价值函数以及最优策略的定义,最后给出动作价值网络的更新过程。
3.1.1 状态空间具有全局信息瞬时收集能力的SDN控制器恰好可以承担DRL中智能体这一角色,在每个时隙中,SDN控制器监控其通信范围内的车联网环境,并且收集状态信息,包括车辆位置、车辆任务、以及边缘服务器和云服务器的资源可用信息。定义状态空间为
$ \begin{array}{l}s\left(t\right)=\left\{{x}_{1}\right(t), {x}_{2}(t), \cdots , {x}_{n}(t), {d}_{1}(t), {d}_{2}(t), \cdots , {d}_{n}(t), \\ \;\;\;\;\;\;\;\;\;\;{c}_{1}\left(t\right), {c}_{2}\left(t\right), \cdots , {c}_{n}\left(t\right), {t}_{1}^{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right), {t}_{2}^{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right), \cdots , {t}_{n}^{\mathrm{m}\mathrm{a}\mathrm{x}}\left(t\right), \\ \;\;\;\;\;\;\;\;\;\;{f}_{1}^{\mathrm{m}\mathrm{e}\mathrm{c}}\left(t\right), {f}_{2}^{\mathrm{m}\mathrm{e}\mathrm{c}}\left(t\right), .\cdots , {f}_{m}^{\mathrm{m}\mathrm{e}\mathrm{c}}\left(t\right)\text{,}{f}_{0}^{\mathrm{m}\mathrm{c}\mathrm{c}}\left(t\right)\}\end{array} $ | (15) |
根据
$ \begin{array}{l}a\left(t\right)=\left\{{\alpha }_{1}\right(t), {\alpha }_{2}(t), \cdots , {\alpha }_{i}(t), \cdots , {\alpha }_{n}(t), {ϕ }_{1}(t), \\ \;\;\;\;\;\;\;\;\;\;\;\;{ϕ }_{2}\left(t\right), \cdots , {ϕ }_{j}\left(t\right), \cdots , {ϕ }_{m}\left(t\right), {ϕ}_{0}\left(t\right)\}\end{array} $ | (16) |
其中:
在
$ {R}_{t}=\frac{1}{\left|N\right|}\sum\limits _{i\in N}{p}_{i}{u}_{i} $ | (17) |
强化学习算法关注的是系统长期效用最大化,即从当前时隙到结束时隙的累计效用最大。
$ {Q}_{\mathrm{\pi }}({s}_{t}, {a}_{t})={{E}}_{\mathrm{\pi }}\left[{U}_{t}\left|{S}_{t}={s}_{t}, {A}_{t}={a}_{t}\right.\right] $ | (18) |
解决强化学习问题意味着要寻找一个最优策略
$ {\mathrm{\pi }}^{\mathrm{*}}\left({s}_{t}\right)={a}_{t}, {a}_{t}=\underset{{a}_{t}\in A}{\mathrm{a}\mathrm{r}\mathrm{g}\mathrm{m}\mathrm{a}\mathrm{x}}{Q}^{\mathrm{*}}({s}_{t}, {a}_{t}) $ | (19) |
从式(19)可以看出,在当前状态下,最大
根据贝尔曼方程,可以得到
$ {Q}_{\mathrm{\pi }}({s}_{t}, {a}_{t})={R}_{t}+\gamma {E}_{\mathrm{\pi }}\left[{Q}_{\mathrm{\pi }}({s}_{t+1}, {a}_{t+1})\right] $ | (20) |
然而,对于状态空间很大的复杂场景,使用动态规划或者Q-learning这种传统的方式计算
在深度强化学习算法中,同样使用梯度下降法更新神经网络的参数,此时需要一个真实值与神经网络的估计值进行比较,但真实值却无法获得。根据式(20)可以得到式(21):
$ {Q}_{\mathrm{\pi }}({s}_{t}, {a}_{t})-\gamma {E}_{\mathrm{\pi }}\left[{Q}_{\mathrm{\pi }}({s}_{t+1}, {a}_{t+1})\right]={R}_{t} $ | (21) |
使用
$ \frac{1}{q}\sum\limits _{j=1}^{q}({R}_{j}+\gamma \underset{{a}_{j+1}\in A}{\mathrm{m}\mathrm{a}\mathrm{x}}{Q}_{\mathrm{\pi }}({s}_{j+1}, {a}_{j+1}, \omega )-{Q}_{\mathrm{\pi }}({s}_{j}, {a}_{j}{, \omega \left)\right)}^{2} $ | (22) |
其中:
原始DQN算法使用同一个神经网络计算
算法1 基于DDQN的任务卸载决策算法
初始化 当前
1.for each episode e do:
2.重置初始时隙
3.初始化环境状态
4.将
5.在状态
6.将
7.从
$ {\mathrm{Q}}_{\mathrm{j}}^{'}=\\ \left\{\begin{array}{l}{\mathrm{R}}_{\mathrm{j}}, \mathrm{d}\mathrm{o}\mathrm{n}\mathrm{e}\;\mathrm{ }\mathrm{i}\mathrm{s}\;\mathrm{ }\mathrm{t}\mathrm{r}\mathrm{u}\mathrm{e}\\ {\mathrm{R}}_{\mathrm{j}}+\mathrm{\gamma }(\mathrm{s}{\mathrm{Q}}_{\mathrm{j}+1}^{'}, \mathrm{a}\mathrm{r}\mathrm{g}\;\underset{{\mathrm{a}}_{\mathrm{j}+1}\mathrm{Î}\mathrm{A}}{\mathrm{m}\mathrm{a}\mathrm{x}}\mathrm{Q}({\mathrm{s}}_{\mathrm{i}+1}, {\mathrm{a}}_{\mathrm{j}+1}, \mathrm{\omega }), {\mathrm{\omega }}^{'}), \mathrm{ }\mathrm{d}\mathrm{o}\mathrm{n}\mathrm{e}\;\mathrm{ }\mathrm{i}\mathrm{s}\;\mathrm{ }\mathrm{f}\mathrm{a}\mathrm{l}\mathrm{s}\mathrm{e}\end{array}\right. $ |
8.构造均方差损失函数
9.如果
10.如果
11.
12.end for
3.2 基于优先级的资源分配方案本文提出一个基于优先级的资源分配方案,优先级越高的任务可以分配到越多的计算资源,相比于平均分配的方式,可以提高高优先级任务的完成率。通过上一节的策略模型可以得到当前时隙的卸载策略,在此基础上,本节首先根据优先级计算任务的资源分配系数,然后为其分配相应比例的计算资源。
3.2.1 边缘服务器的资源分配如果车辆
$ {\lambda }_{i}=\frac{{p}_{i}}{\sum\limits _{i\in \mathrm{m}\mathrm{e}{\mathrm{c}}_{j}}{p}_{i}} $ | (23) |
其中:
任务
$ {f}_{i, j}^{\mathrm{m}\mathrm{e}\mathrm{c}}={\lambda }_{i}{ϕ}_{j}{f}_{j}^{\mathrm{m}\mathrm{e}\mathrm{c}} $ | (24) |
如果车辆
$ {\lambda }_{i}=\frac{{p}_{i}}{\sum\limits _{i\in \mathrm{m}\mathrm{c}{\mathrm{c}}_{0}}{p}_{i}} $ | (25) |
其中:
$ {f}_{i, 0}^{\mathrm{m}\mathrm{c}\mathrm{c}}={\lambda }_{i}{ϕ }_{0}{f}_{0}^{\mathrm{m}\mathrm{c}\mathrm{c}} $ | (26) |
采取部分卸载的方式可以充分利用本地计算资源,进而降低任务处理时延。由于任务的总处理时延
1)当
2)当
3)当
本文通过python语言对本文算法进行仿真并分析其性能。仿真场景是由1个云服务器、3个边缘服务器和若干车辆用户组成的云-边-车辆3层结构。环境参数和神经网络的参数设置如表 1所示。
![]() |
下载CSV 表 1 参数设置 Table 1 Simulation parameters |
为验证本文算法的性能,选择以下5种算法进行比较。
1)Natural DQN算法。该算法是一种深度强化学习算法,在仿真实验中,除了目标
2)模拟退火算法。与本文算法的区别是,该算法在每次迭代中会随机选择任务的卸载目标服务器,并以所有任务的平均效用作为优化目标,所以只要迭代的次数足够多,在理论上可以找到使平均效用最大的策略。
3)平均分配资源算法,在资源分配时,不考虑任务的优先级。
4)全部卸载处理算法,任务全部卸载处理。
5)全部本地处理算法,任务全部留在本地处理。
图 2是本文算法和Natural DQN算法的收敛过程,为更清晰地展示2个算法的差别,图 2(b)进一步放大了前2 000步的迭代过程。可以看出在迭代400步以后,Natural DQN算法的波动更明显,而且均方误差大于本文算法,这恰好验证了Natural DQN算法对于目标动作价值的过渡估计。此外,本文算法在迭代2 000步左右就已经完全收敛,而Natural DQN的曲线在迭代8 000步左右才趋于一条稳定的直线算法。
![]() |
Download:
|
图 2 不同算法的损失值变化 Fig. 2 Loss value change of different algorithms |
图 3是不同算法产生的平均任务处理效用。将MEC和MCC服务器的数量分别固定为3和1,针对10种不同的车辆数进行对比实验。由图 3可知,随着任务数量的增多,除了全部本地执行算法以外的所有算法产生的平均效用都呈现下降的趋势,这是因为分配给每个任务的计算资源逐渐减少,导致完成任务所需的时间增多。全部本地执行算法的性能最差,而模拟退火算法获得了效用最大的卸载决策,但是付出了很高的时间成本,相反,本文算法和Natural DQN算法却可以在极短的时间内获得近似最优解。此外,相比于平均分配资源这种方式,本文算法在效用方面获得了3倍以上的提升,这说明本文基于优先级的资源分配方式让资源得到了更好的利用。最后,相比于全部卸载执行算法,本文算法采取部分卸载的方式显然更加合理,效用至少提高了2倍。
![]() |
Download:
|
图 3 不同算法的平均任务处理效用 Fig. 3 Average task processing utility of different algorithms |
图 4是不同算法产生的平均任务处理时延。可以看出,除了全部本地执行算法,随着任务数增多,其他算法的平均时延都逐渐增多,这是因为任务分配到的资源变少,而全部本地执行算法主要与本地资源量有关,不受任务数量影响,所以变化较小。除了模拟退火算法,本文算法在时延性能方面要优于其他算法,其中,全部卸载算法卸载的任务量最大,所以产生的时延大幅增长。仔细观察还可以发现,时延与效用的关系并不绝对,因为所有算法的优化指标都是效用,而效用由时延和成本两部分构成,所以效用大不代表时延小。
![]() |
Download:
|
图 4 不同算法的平均任务处理时延 Fig. 4 Average tasks processing delay of different algorithms |
图 5和图 6分别是任务和高优先级任务的完成比例。首先,在资源总量不变的情况下,当任务数量增加到一定程度时,任务的完成率将不可避免地下降,其中,全部卸载算法由于卸载的任务量大及浪费了本地资源,所以任务完成率很低。而对于全部本地执行算法,利用有限的本地资源,几乎很难在规定时间内完成任务,任务量大且时延敏感的高优先级任务完成比例甚至均为0。其次,本文算法的任务和高优先级任务完成比例都最接近模拟退火算法,在任务数适中的情况下,任务完成比例可以稳定维持在100%。由于在卸载决策制定和资源分配时都将优先级作为参考标准,因此相对于平均分配资源算法,本文算法能大幅提升高优先级任务的完成比例。
![]() |
Download:
|
图 5 不同算法的任务完成比例 Fig. 5 Success rate of tasks processing of different algorithms |
![]() |
Download:
|
图 6 不同算法的高优先级任务完成比例 Fig. 6 Success rate of higher priority tasks processing of different algorithms |
为缓解车载应用日益丰富与车辆资源有限之间的矛盾,本文构建一种基于SDN的边云协作车联网计算卸载架构,并将任务卸载问题建模为马尔可夫决策过程,把时延和计算资源成本构成的效用作为优化目标,提出基于DDQN的任务卸载机制和基于任务优先级的资源分配方案。通过在卸载决策制定和资源分配过程中考虑任务优先级因素,提高系统平均效用及降低任务处理时延。实验结果表明,本文提出的卸载比例计算方法在一定程度上提高了任务传输的可靠性,实现当前策略的时延最小化。下一步将引入无线电干扰等复杂因素,构建更加符合实际场景的通信模型。
[1] |
DU J, JIANG C X, WANG J, et al. Machine learning for 6G wireless networks: carrying forward enhanced bandwidth, massive access, and ultrareliable/low-latency service[J]. IEEE Vehicular Technology Magazine, 2020, 15(4): 122-134. DOI:10.1109/MVT.2020.3019650 |
[2] |
VAN LE D, THAM C K. Quality of service aware computation offloading in an ad-hoc mobile cloud[J]. IEEE Transactions on Vehicular Technology, 2018, 67(9): 8890-8904. DOI:10.1109/TVT.2018.2852330 |
[3] |
HUANG W, HUANG Y M, HE S W, et al. Cloud and edge multicast beamforming for cache-enabled ultra-dense networks[J]. IEEE Transactions on Vehicular Technology, 2020, 69(3): 3481-3485. DOI:10.1109/TVT.2020.2968466 |
[4] |
ZHANG J, LETAIEF K B. Mobile edge intelligence and computing for the Internet of vehicles[J]. Proceedings of the IEEE, 2020, 108(2): 246-261. DOI:10.1109/JPROC.2019.2947490 |
[5] |
TRAN T X, HAJISAMI A, PANDEY P, et al. Collaborative mobile edge computing in 5G networks: new paradigms, scenarios, and challenges[J]. IEEE Communications Magazine, 2017, 55(4): 54-61. DOI:10.1109/MCOM.2017.1600863 |
[6] |
李波, 侯鹏, 牛力, 等. 基于软件定义网络的云边协同架构研究综述[J]. 计算机工程与科学, 2021, 43(2): 242-257. LI B, HOU P, NIU L, et al. Survey of cloud-edge collaborative architecture research based on software defined network[J]. Computer Engineering & Science, 2021, 43(2): 242-257. (in Chinese) |
[7] |
ZHAN W H, LUO C B, WANG J, et al. Deep reinforcement learning-based computation offloading in vehicular edge computing[C]//Proceedings of IEEE Global Communications Conference. Washington D. C., USA: IEEE Press, 2019: 1-6.
|
[8] |
SUN J N, GU Q, ZHENG T, et al. Joint optimization of computation offloading and task scheduling in vehicular edge computing networks[J]. IEEE Access, 2020, 8: 10466-10477. DOI:10.1109/ACCESS.2020.2965620 |
[9] |
DAI Y Y, XU D, MAHARJAN S, et al. Joint load balancing and offloading in vehicular edge computing and networks[J]. IEEE Internet of Things Journal, 2019, 6(3): 4377-4387. DOI:10.1109/JIOT.2018.2876298 |
[10] |
ZHAO J H, LI Q P, GONG Y, et al. Computation offloading and resource allocation for cloud assisted mobile edge computing in vehicular networks[J]. IEEE Transactions on Vehicular Technology, 2019, 68(8): 7944-7956. DOI:10.1109/TVT.2019.2917890 |
[11] |
MENG X L, WANG W, WANG Y T, et al. Closed-form delay-optimal computation offloading in mobile edge computing systems[J]. IEEE Transactions on Wireless Communications, 2019, 18(10): 4653-4667. DOI:10.1109/TWC.2019.2926465 |
[12] |
ZHOU Z Y, FENG J H, CHANG Z, et al. Energy-efficient edge computing service provisioning for vehicular networks: a consensus ADMM approach[J]. IEEE Transactions on Vehicular Technology, 2019, 68(5): 5087-5099. DOI:10.1109/TVT.2019.2905432 |
[13] |
ZHAN W H, LUO C B, 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 |
[14] |
GUO H Z, ZHANG J, LIU J J. WiFi-enhanced vehicular edge computing networks: collaborative task offloading[J]. IEEE Vehicular Technology Magazine, 2019, 14(1): 45-53. DOI:10.1109/MVT.2018.2879537 |
[15] |
NI Z C, CHEN H L, LI Z, et al. MSCET: a multi-scenario offloading schedule for biomedical data processing and analysis in cloud-edge-terminal collaborative vehicular networks[EB/OL]. [2021-12-02]. https://ieeexplore.ieee.org/document/9628037.
|
[16] |
CHEN Q L, KUANG Z F, ZHAO L. Multiuser computation offloading and resource allocation for cloud-edge heterogeneous network[J]. IEEE Internet of Things Journal, 2022, 9(5): 3799-3811. DOI:10.1109/JIOT.2021.3100117 |
[17] |
赵海涛, 张唐伟, 陈跃, 等. 基于DQN的车载边缘网络任务分发卸载算法[J]. 通信学报, 2020, 41(10): 172-178. ZHAO H T, ZHANG T W, CHEN Y, et al. Task distribution offloading algorithm of vehicle edge network based on DQN[J]. Journal on Communications, 2020, 41(10): 172-178. (in Chinese) |
[18] |
PENG H X, SHEN X M. Deep reinforcement learning based resource management for multi-access edge computing in vehicular networks[J]. IEEE Transactions on Network Science and Engineering, 2020, 7(4): 2416-2428. DOI:10.1109/TNSE.2020.2978856 |
[19] |
KE H C, WANG J, DENG L Y, et al. Deep reinforcement learning-based adaptive computation offloading for MEC in heterogeneous vehicular networks[J]. IEEE Transactions on Vehicular Technology, 2020, 69(7): 7916-7929. DOI:10.1109/TVT.2020.2993849 |
[20] |
ZHAO L, ZHAO W L, HAWBANI A, et al. Novel online sequential learning-based adaptive routing for edge software-defined vehicular networks[J]. IEEE Transactions on Wireless Communications, 2021, 20(5): 2991-3004. DOI:10.1109/TWC.2020.3046275 |
[21] |
HE Y, LIANG C C, ZHANG Z, et al. Resource allocation in software-defined and information-centric vehicular networks with mobile edge computing[C]//Proceedings of the 86th Vehicular Technology Conference. Washington D. C., USA: IEEE Press, 2018: 1-5.
|
[22] |
HOU X W, REN Z Y, WANG J J, et al. Reliable computation offloading for edge-computing-enabled software-defined IoV[J]. IEEE Internet of Things Journal, 2020, 7(8): 7097-7111. DOI:10.1109/JIOT.2020.2982292 |
[23] |
YE Q, ZHUANG W H, ZHANG S, et al. Dynamic radio resource slicing for a two-tier heterogeneous wireless network[J]. IEEE Transactions on Vehicular Technology, 2018, 67(10): 9896-9910. DOI:10.1109/TVT.2018.2859740 |
[24] |
VAN HASSELT H, GUEZ A, SILVER D. Deep reinforcement learning with double Q-learning[J]. Intelligent Control and Automation, 2016, 30(1): 129-144. |