刘可欣,陈桂芬,张文萍
(长春理工大学 电子信息工程学院,长春 130022)
车联网作为汽车行业的焦点,已被列为“中国制造2025”不可或缺的一部分[1],是5G的主要应用场景之一。其涉及大量的数据采集、处理和决策,需要大量的计算和存储资源,且对时延极为敏感。虽然传统云计算可以弥补车载设备计算资源的不足[2],然而由于传输的数据量巨大,从车载设备到云会产生较大的传输时延,这样就无法满足车载服务对时延的要求。因此,移动边缘计算(Mobile Edge Computing,MEC)被引入到车联网中是大势所趋。通过在路侧单元等位置部署MEC设备既可以有效地解决车辆计算资源不足的问题,又可以实现对车联网业务的实时处理。
作为MEC关键技术之一的计算卸载,能有效支撑低时延高可靠任务,为此大量学者对其开展了研究。文献[3]提出了一种以云服务器为基础的MEC卸载架构,且在该架构中不允许MEC服务器自发地进行计算任务分配。文献[4]提出了一种在多小区MEC网络中进行联合任务卸载和资源分配的整体策略,并提出了一种新的启发式算法,显著提高了平均系统卸载效用。文献[5]提出了一种分层式MEC卸载框架,并针对多用户卸载问题,采取了基于Stackel⁃berg博弈论的解决方案。文献[6]针对MEC服务器计算资源有限和小区间干扰限制卸载的问题,提出了一种自适应顺序卸载方法,可避免由计算资源导致的意外排队延迟。
综上,虽然研究人员已对MEC的计算卸载进行了大量研究,但大多是假设在固定网络结构的前提下,没有考虑移动性会对卸载过程造成的影响,同时也没有充分调动移动终端、MEC及云的计算资源。因此,本文在车联网的背景下,构建了基于5G的“车-边-云”协同的网络架构,并提出了一种基于时延的改进烟花算法(Im⁃proved Fireworks Algorithm,IMFWA)任务卸载策略,仿真结果表明,在车-边-云协同架构下,基于IMFWA的计算卸载策略可有效降低任务卸载时延。
在车联网中,通过构建基于5G的“车-边-云”协同网络架构,可以动态地为车辆、MEC、云分配计算资源,同时实现对异构设备的管理,基本架构图如图1所示。
图1 基于5G的“车-边-云”协同网络架构
在该架构中,融入了多种新兴技术,相比于其他架构而言,有如下优势:
软件定义网络(Software Defined Network,SDN)及网络功能虚拟化(Network Functions Virtualiza⁃tion,NFV)技术的应用[7]使 5G 网络架构实现了全面云化,可更好地满足车联网用户对各种业务的需求。
MEC可以使第三方应用及业务部署在网络边缘,并且将其与车、云协同可减少数据传输时延。
5G接入网是多层的异构式网络,能保障车辆在不同的终端间通信,并为终端用户提供最广的覆盖范围和最快的网络速率。
针对多种业务需求,网络切片可以实现车联网业务的功能定制,并保证运行的独立性。
在“车-边-云”协同架构下,假设车辆之间共享通信资源。通过将任务划分成多个子任务并放在不同位置进行卸载,可实现时延的最小化,因此,本文提出了基于时延的IMFWA任务卸载策略。
当新的请求到来时,任务首先被划分为k个子任务,组成k维向量TA=(Tk1,Tk2,…,Tkk)T,其中Tki=δi·Tk,Tk表示总任务数据量大小,单位是比特,δi表示子任务在总任务中所占的比例。根据文献[8]和文献[9],可得计算Tki所需的CPU周期数为Ci=ρ·Tki,其中ρ是计算任务的复杂度,CPU周期数的单位是cycles。
基于此方案,卸载任务的总时延主要包括在车、MEC、云上处理数据的时延及数据上传过程中的传输排队时延等,由于处理后的数据传回车辆时延较小,故在此忽略不计。
(1)车辆卸载时延
车辆卸载时延主要包括在源车上及在V2V车辆上的卸载时延。设定车与车在独立同分布信道中采用DSRC通信方式中的IEEE802.11p协议[10]进行通信,路径损耗[11]可以定义为:
其中,di,uj表示车辆ui与车辆uj之间的通信距离,当i=j时,表示在源车卸载,此时无路径损耗。将式(1)转化为数值形式为:
因此,两车之间传输数据的速率为:
其中,BV2V表示分配给V2V车辆的信道带宽;pi是车载设备的发射功率;N0表示高斯白噪声功率;h表示上传链路的信道衰落因子。
则任务i选择在车辆上卸载的时延可表示为:
其中,CiCi,uj表示在V2V车上的处理时延,μ表示上传链路的传输开销因子,ΔT表示排队等待时延。
(2)MEC卸载时延
车辆通过LTE-Advanced直连的链路与MEC设备通信[12],设定车辆到 MEC(RSU)的上传链路为平坦型快衰落的瑞利信道,则上传链路的数据传输速率为:
其中,BV2M表示分配给MEC的信道带宽;di,ej是车ui与MEC设备ej之间的距离;h表示上传链路的信道衰落因子;ε是路径损耗因子;N0表示高斯白噪声功率。
则在MEC上的卸载时延Ti,ej可以表示为:
(3)云卸载时延
上传链路仍设定为频率平坦型快衰落的瑞利信道,则上传链路的数据传输速率为:
其中,BV2C表示分配给云的信道带宽;di,0是车ui与远端云之间的距离。
则在远端云上的卸载时延Ti,0为:
其中,αi决定是否将任务卸载至车辆;λi决定是在MEC卸载还是在云卸载。而总任务响应时延等于子任务卸载时延中的最大值,即:
为了使响应时延尽可能小,式(10)被建模为如下优化问题:
其中,I为可行解的搜索范围。
2.2.1 基本烟花算法
烟花算法(Fireworks Algorithm,FWA),是一种可在全局范围内搜索最优解的智能算法,在求解复杂优化问题时有着明显优势。其基本步骤如下:
(1)随机初始化N个烟花位置,即TAi=(Tk1(i),Tk2(i),...,Tkk(i))T。
(2)依据优化目标函数计算每个烟花的爆炸火花数目及爆炸幅度(半径)。
在FWA中,第i个烟花产生的火花个数Si为:
其中,t(TAi)为个体的适应度值;tmax是当前种群中最差的适应度值;m用来限制产生的火花总数;ε用来避免分母为零。
产生火花数量的限制公式为:
其中,Si'为第i个烟花最后生成的火花数;a、b为常数。
在FWA中,第i个烟花的爆炸幅度Ai为:
其中,A用来控制爆炸的最大幅度;tmin为当前最好的适应度值;t(TAi)和ε意义与式(12)相同;evalsmax为最大评估次数;n为当前评估次数;Ainit和Afinal分别为爆炸半径的初始值和终值。
(3)通过执行一系列的爆炸、变异(高斯变异)操作,产生新的爆炸火花。在第k个维度时产生的爆炸火花表示如下:
其中,Δxk表示烟花位置偏移量。
(4)把不在可行解空间范围的新火花根据一定的映射规则映射到可行域内,并按照式(18)更新该维度值。
其中,TAUB,k、TALB,k分别表示该优化问题的上、下边界。
(5)采用基于欧式距离的轮盘赌选择策略,对余下的N-1个个体进行选择,组成新一代烟花种群。
(6)对步骤(2)-步骤(5)重复执行,直到满足迭代条件。
2.2.2 烟花算法的改进
针对FWA算法中爆炸火花的产生和烟花候选的选择问题,提出了IMFWA算法,相比于FWA,具体改进如下:
(1)爆炸火花产生方式的改进
在原有的FWA算法中,仅考虑了每个烟花爆炸的正方形邻域,并且对触发的位移仅计算了一次,为了更好地在不同维度和不同方向都进行有效搜索,提出了一种产生爆炸火花的新方式,具体基于以下公式实现:
(2)选择策略的改进
在原有的FWA算法中,对于烟花的选择采用了基于欧氏距离的轮盘赌方式,这种选择方式虽然在一定程度上促进了种群多样性的增加,但当维数增加时会产生较大的时间开销,因此在这里使用基于适应度值的锦标赛选择策略。这种选择策略不仅能以一定的概率跳出局部最优,使种群的多样性增加,而且当维数增加时可减少时间开销,此时每个个体被选择的概率按照式(21)计算:
其中,K为根据r的一定百分比选择的新一代烟花候选。
2.2.3 IMFWA求解步骤
在求解上述卸载优化问题时,应用IMFWA的主要步骤如下:
(1)随机初始化解空间中的N个位置,其中N代表烟花的数量,每个烟花的位置可表示为TAi=(Tk1(i),Tk2(i),...,Tkk(i))T。
(2)依据式(10)中的优化目标函数t(TA)计算爆炸幅度(半径)及爆炸火花数目。
(3)依据步骤(2)得到的爆炸火花数目及爆炸半径,基于公式(19)和公式(20),产生新的爆炸火花。
(4)当爆炸火花的第k个维度超出可行解空间的范围时,按照式(18)更新维度值。
(5)为下一代种群挑选N个烟花(从当前代爆炸烟花、火花中选择),若烟花个体的适应度值最小,则以1的概率保留在下一代,否则根据基于适应度值的锦标赛策略进行选择。
(6)对步骤(2)-步骤(5)重复执行,直到满足迭代条件。
为了证明本文所提的“车-边-云”协同架构和基于IMFWA算法的卸载策略在降低时延方面的优越性,本文仿真对比了该架构与云、“边-云”协同架构的时延性能,并将IMFWA算法与FWA、部分卸载算法(Conventional Partial Offload⁃ing,CPO)及联合卸载算法进行了对比。
在真实的车联网环境中,各个设备间的距离及传输链路带宽都是时变的,各个MEC设备和车辆的计算能力也不尽相同。最终的仿真结果是根据多次实验得到的平均值。具体的仿真参数[2]如表1所示。
表1 仿真参数
图2、图3分别仿真对比了在不同任务量及不同链路带宽影响下基于IMFWA算法的“车-边-云”协同、“边-云”协同与云单独工作的网络架构的时延性能。
图2 任务量对网络架构的性能影响
图3 带宽对网络架构的性能影响
从图2可以看出,本文所提的“车-边-云”协同、“边-云”协同与云单独工作的任务响应时延都随着任务数据量的增加而增加。其中,“车-边-云”协同相比“边-云”协同、云单独做工时延更低。这是由于“车-边-云”协同综合考虑了车辆、MEC、云三方面的计算能力,实现了对各部分资源的有效调控。当任务数据量为5 Mb时,“车-边-云”协同架构相比于“边-云”协同、云单独做工时延性能分别提升了13.6%,28.7%。因此采用“车-边-云”协同架构可有效降低时延。
图3是在假设分配给车、MEC、云带宽相同,任务量为1 Mb时仿真出来的,从中可以看出在带宽不断增加的情况下,各个架构的响应时延均呈下降趋势,其中云架构的时延下降最为明显。这是因为在云架构中,所有数据都需要上传到云端进行处理,上传过程的传输时延将随着带宽的增加而显著下降。但在其它两种架构中,由于车、MEC设备靠近数据源,只有少量的数据传输至云并不会导致大幅度的时延下降。并且,相比于“边-云”协同,本文所提架构将车、MEC、云的计算能力都考虑在内,时延更低。综上,当链路带宽受限时,“车-边-云”协同网络架构在降低时延上优势明显。
设置任务数据量为2 Mb,烟花总数为100,最大爆炸火花数为80,最大爆炸半径为300,常数a=0.8,b=0.04,迭代次数为500。图4给出了IMFWA与FWA在迭代次数影响下的平均性能曲线。
从图4可以看出,随着迭代次数的增加,FWA和IMFWA任务完成时延均呈下降趋势。相比于FWA,IMFWA的迭代次数更少,收敛速度更快。并且当迭代次数累加到一定程度时,IMFWA、FWA的最终任务完成时间是趋于一致的。可以看出,IMFWA优于FWA。
为了验证在“车-边-云”协同架构中IMFWA算法能有效地降低响应时延,将其与FWA、CPO及联合卸载算法的时延性能进行了仿真对比,仿真结果如图5所示。从图5可以看出,随着任务数据量的增加,相比于其他三种算法,IMFWA算法的时延性能最为优越。这是因为相比于FWA算法,IMFWA有着更快的收敛速度。而相比于CPO及联合卸载策略,基于IMFWA算法的卸载策略不仅考虑了V2V的卸载方式,而且还调度了车、MEC、云三方面的计算资源。当任务数据量为5 Mb时,IMFWA算法相比于FWA,CPO及联合卸载算法的时延性能分别提升了10.9%,39.4%,44.1%。因此在“车-边-云”协同架构中应用IMFWA算法可有效地降低车联网业务的响应时延。
图5 多种卸载优化算法的时延性能比较
在车联网中,针对云服务器部署较远而导致响应时延高的问题,本文提出了一种基于5G的“车-边-云”协同网络架构。同时在该网络架构中,建立了基于时延的卸载模型,并提出了一种基于IMFWA的任务卸载策略。仿真结果证明,本文所提的网络架构和卸载策略能有效提高任务的执行速度,降低时延。但由于本文仅假设了车辆间共享资源的情况,未考虑车的自利性,因此下一步的工作是设计相应的奖励机制,应用卸载策略实现相关参与者的利益最大化。