书 书 书
第44卷 第12期
2021年12月 计 算 机 学 报
CHINESEJOURNALOFCOMPUTERS Vol.44NDec.o2.01221
收稿日期:20201009;在线发布日期:20210329.本课题得到江苏省重点研发计划项目(BE2019104)、国家自然科学基金(61872219)、 国家重点研发计划(2017YFB1400600)、新疆生产建设兵团科技计划项目(2020DB005)资助.许小龙,博士,教授,硕士生导师,中国计算机学 会(CCF)会员,主要研究领域为边缘计算、云计算和服务计算.Email:xlxu@nuist.edu.cn.方子介,学士,主要研究方向为边缘计算、深度 学习.齐连永(通信作者),博士,教授,博士生导师,主要研究领域为服务计算、推荐系统和隐私保护.Email:lianyongqi@gmail.com. 窦万春,博士,教授,博士生导师,主要研究领域为大数据、云计算和边缘计算.何 强,博士,高级讲师,博士生导师,主要研究领域为边 缘计算、软件工程和云计算.段玉聪,博士,教授,博士生导师,中国计算机学会(CCF)会员,主要研究领域为信息安全、人工智能和大数据.
车联网边缘计算环境下基于深度强化学习的 分布式服务卸载方法
许小龙
1),2) 方子介1) 1) 齐连永3) 窦万春
2) 何 强
4) 段玉聪
5)
窦万春
2)何 强
4)段玉聪
5)(南京信息工程大学计算机与软件学院 南京 210044)
2)(南京大学计算机软件新技术国家重点实验室 南京 210023)
3)(曲阜师范大学信息科学与工程学院 山东曲阜 273199)
4)(斯威本科技大学计算机科学与软件工程系 墨尔本澳大利亚 3122)
5)(海南大学计算机与网络空间安全学院 海口 570228)
摘 要 边缘计算将计算、存储和带宽等资源分布到了靠近用户的一侧.通过将边缘计算引入车联网,服务提供商 能为车载用户提供低延时的服务,从而提高用户出行的服务体验.然而,由于边缘服务器所配备的资源一般是有限 的,不能同时支持所有车联网用户的服务需求,因此,如何在边缘服务器资源限制的约束下,确定服务卸载地点,为 用户提供低时延的服务,仍然是一个巨大的挑战.针对上述问题,本文提出了一种“端边云”协同的5G车联网边 缘计算系统模型,并针对该系统模型设计了深度学习和深度强化学习协同的分布式服务卸载方法DSOAC.首先, 通过深度时空残差网络,DSOAC在中心云预测出潜在的用户服务需求量,协同各边缘服务器获取本地车联网边 缘计算环境的系统状态,输入边缘服务器上的本地行动者网络,得到该状态下的服务卸载策略.然后,本地评论家 网络基于时序差分误差评价该服务卸载策略的优劣,并指导本地行动者网络进行网络参数的优化.优化一定步数 后,边缘服务器将优化过的本地网络参数上传到位于中心云的全局网络,协同中心云进行网络参数的更新.最后, 中心云将最新的参数推送回本地网络,从而不断对行动者评论家网络进行调优,获得服务卸载的最优解.基于来自 现实世界的车载用户服务需求数据集的实验结果表明,在各种车联网边缘计算环境中,相比于四种现有的服务卸 载算法,DSOAC能够降低0.4%~20.4%的用户平均服务时延.
关键词 边缘计算;车联网;服务卸载;深度时空残差网络;异步优势行动者评论家 中图法分类号TP311 犇犗犐号10.11897/SP.J.1016.2021.02382
犃 犇 犲 犲 狆 犚 犲 犻 狀 犳 狅 狉 犮 犲 犿 犲 狀 狋 犔 犲 犪 狉 狀 犻 狀 犵 犅 犪 狊 犲 犱 犇 犻 狊 狋 狉 犻 犫 狌 狋 犲 犱 犛 犲 狉 狏 犻 犮 犲 犗 犳 犳 犾 狅 犪 犱 犻 狀 犵 犕 犲 狋 犺 狅 犱 犳 狅 狉 犈 犱 犵 犲 犆 狅 犿 狆 狌 狋 犻 狀 犵 犈 犿 狆 狅 狑 犲 狉 犲 犱 犐 狀 狋 犲 狉 狀 犲 狋 狅 犳 犞 犲 犺 犻 犮 犾 犲 狊
XUXiaoLong1),2)FANGZiJie1)QILianYong3)DOUWanChun2)HEQiang4)DUANYuCong5)
1)(犛犮犺狅狅犾狅犳犆狅犿狆狌狋犲狉犪狀犱犛狅犳狋狑犪狉犲,犖犪狀犼犻狀犵犝狀犻狏犲狉狊犻狋狔狅犳犐狀犳狅狉犿犪狋犻狅狀犛犮犻犲狀犮犲犪狀犱犜犲犮犺狀狅犾狅犵狔,犖犪狀犼犻狀犵 210044)
2)(犛狋犪狋犲犓犲狔犔犪犫狅狉犪狋狅狉狔犳狅狉犖狅狏犲犾犛狅犳狋狑犪狉犲犜犲犮犺狀狅犾狅犵狔,犖犪狀犼犻狀犵犝狀犻狏犲狉狊犻狋狔,犖犪狀犼犻狀犵 210023)
3)(犛犮犺狅狅犾狅犳犐狀犳狅狉犿犪狋犻狅狀犛犮犻犲狀犮犲犪狀犱犈狀犵犻狀犲犲狉犻狀犵,犙狌犳狌犖狅狉犿犪犾犝狀犻狏犲狉狊犻狋狔,犙狌犳狌,犛犺犪狀犱狅狀犵 273199)
4)(犇犲狆犪狉狋犿犲狀狋狅犳犆狅犿狆狌狋犲狉犛犮犻犲狀犮犲犪狀犱犛狅犳狋狑犪狉犲犈狀犵犻狀犲犲狉犻狀犵,犛狑犻狀犫狌狉狀犲犝狀犻狏犲狉狊犻狋狔狅犳犜犲犮犺狀狅犾狅犵狔,犕犲犾犫狅狌狉狀犲3122,犃狌狊狋狉犪犾犻犪)
5)(犛犮犺狅狅犾狅犳犆狅犿狆狌狋犲狉犛犮犻犲狀犮犲犪狀犱犆狔犫犲狉狊狆犪犮犲犛犲犮狌狉犻狋狔,犎犪犻狀犪狀犝狀犻狏犲狉狊犻狋狔,犎犪犻犽狅狌 570228)
犃犫狊狋狉犪犮狋 Theincreasingnumberofvehicles,alongwiththedevelopmentofthefifthgeneration
(5G)wirelesscommunicationtechnology,hasmadetheinterconnectionsbetweenvehiclesand otherobjects(e.g.,pedestrians,infrastructures,andserviceplatforms)becomeareality,which
《 计
算 机
学 报
》
formsanovelnetworkingparadigm:theInternetofVehicles(IoV).IntheIoV,duetotherapid speedofthevehicles,servicessuchasrouterecommendationandcollisionwarningarerequired tobesatisfiedintime.Thankstothebirthofedgecomputing,whichdeploysresources(e.g., computation,storage,andbandwidth)atthesideclosetotheusers,therebyreducingthe transmissionlatencyandalleviatingthenetworkload,serviceproviderscanefficientlyserveusers withlowlatencyservicesbyintroducingedgecomputingintotheIoV.Nevertheless,sincethe edgeserversareoftenlimitedwithinsufficientresources,problemssuchasoverloadwouldoccur ifalltheservicesrequestedbytheIoVusersareoffloadedtotheedgeserversforexecuting, whichwillsignificantlyslowdowntheprocessingspeedandreducethequalityofservice(QoS) providedbytheedgeservers.Therefore,howtoallocatethelimitedcomputationandbandwidth resourcesoftheedgeserverstotheIoVservicesanddeterminetheoffloadingdestinationsofthe servicestoservetheIoVuserswithlowlatencyservicesstillremainsenormouschallenge.
Towardthisend,anendedgecloudcollaborativecomputingframeworkfor5GenabledIoVis proposedinthispaper.Basedonthisframework,adistributedserviceoffloadingmethodwith asynchronousadvantageactorcritic(A3C),namedDSOAC,isdevelopedtofigureoutthe optimalserviceoffloadingstrategy.Specifically,byleveragingthedeepspatiotemporalresidual network(STResNet),DSOACpredictsthefutureservicerequirementsfromtheIoVusersin eachroadsegmentfirstlyandsendsthemtothelocaledgeserverdeployedintheroadsegment. Secondly,throughcombiningthelocalfutureservicerequirementswiththelocalcommunication condition(e.g.,transmissionpowerandchannelgain)andthelocalresourcecondition(e.g., remainingcomputationresourcesandbandwidthresourcesofthelocaledgeserver)intolocal systemstates,eachedgeserverfeedsthelocalsystemstateintothelocalactornetworktoobtain thepreliminaryserviceoffloadingstrategy.Technically,toavoiddimensionexplosionofaction spaceinA3C,amultioutputactornetworkisintroduced.Thirdly,basedonthetemporal difference(TD)error,thelocalcriticnetworkevaluatesthepreliminaryoffloadingstrategyand calculatesitsparametergradient,whichfurtherguidesthegradientascentofthelocalactor networkforgradientaccumulation.Aftertheaccumulationoftheparametergradient,thelocal networkpushestheaccumulatedgradienttotheglobalnetworkinthecloudcenterforparameter updatingandpullstheupdatedglobalnetworkparametersbacktothelocalnetworksafterward, therebycollaboratingwiththeglobalnetworkinoptimizingthepreliminaryserviceoffloading strategysteadilyandobtainingtheoptimalserviceoffloadingstrategy.Eventually,extensive experimentalevaluationsofDSOACareconductedbasedonabigrealworldservicerequirement dataset.TheexperimentresultsdemonstratethatDSOACdecreasestheaverageservicelatency by0.4%to20.4%comparedwithfourexistingserviceoffloadingmethodsindifferentIoV environments,provingtheeffectivenessandefficiencyofDSOAC.
犓犲狔狑狅狉犱狊 edgecomputing;Internetofvehicles;serviceoffloading;deepspatiotemporalresidual network;asynchronousadvantageactorcritic
1 引 言
据研究,目前全世界商用和民用车辆数之和已 经超过了10亿.到2035年,预计这一数字将会达到 20亿[1].汽车保有量的增加,给城市带来了诸如交
通拥堵、行车安全等一系列问题[2].与此同时,互联网 的迅速发展使得人们对出行的服务需求更加复杂和 多样化.在此背景下,车联网(InternetofVehicles, IoV)应运而生.基于车用无线通信技术(Vehicleto Everything,V2X),车联网将车辆、路边单元(Roadside Unit,RSU)以及服务提供商连接为一个有机的网络
3 8 3 12期 许小龙等:车联网边缘计算环境下基于深度强化学习的分布式服务卸载方法 2
《 计
算
机
学
报
》
整体,实现了它们之间的全方位通信[3].通过车联 网,服务提供商能够获取用户服务需求和道路环境 信息,基于这些数据为车载用户提供例如自动驾驶、 路径规划、碰撞预警、车载娱乐等多种服务.这些服 务能够有效地缓解城市中的各种道路交通问题,提 高了驾驶安全性和旅途舒适性,用户体验(Quality ofExperience,QoE)也因此得以提高[4].
一般而言,搭载在车辆上的计算设备的计算能 力有限,甚至某些车辆不会搭载计算设备[5].目前最 常见的解决方案是将车联网用户的服务需求卸载到 云端进行处理[6].云平台将用户的服务需求处理完 成后,再将结果传回车联网用户.然而,由于云端和 用户之间的地理距离较远,将服务卸载到云端进行 处理再返回的过程往往会产生较长的时延.与此同 时,车联网中的用户通常处于高速移动的状态,这要 求用户服务应在极低的时延之内完成.如果某一些 服务(例如,碰撞预警)的延迟超过了一定限度,会导 致服务质量(QualityofService,QoS)的下降甚至交 通事故的发生[7].
边缘计算作为解决此矛盾的可行方案之一,通 过在RSU上部署边缘服务器(EdgeServer,ES),将 原来集中在云端的计算资源分布到靠近车联网用户 一侧[8].因此,车联网用户和计算资源的距离得以大 大缩短,所获服务的时延也得以降低.有鉴于此,目 前已有大量案例将边缘计算运用在车联网环境中. 例如,文献[9]中提出了一种名为HVC(HybridVe hicularEdgeCloud)的分布式车联网边缘计算解决
方案.利用多路存取网络,该方法实现了路边单元和 云端计算资源的有效共享.Cui等人为车联网环境 设计了一种基于区块链的容器化边缘计算平台 CUTE,该平台能够协助车联网进行资源协调和管
理,从而降低用户的服务时延[10].
但是,由于边缘服务器所配备的计算、存储和带 宽资源往往是有限的,很难保证将所有车联网用户 的服务请求卸载到边缘服务器后,边缘服务器仍不 处于过载状态.一旦边缘服务器发生过载,服务时延 将会升高,用户体验也会相应地降低[11].因此,某些 车联网用户的服务请求仍需在云平台或者本地执 行,从而保证边缘服务器资源的使用效率.如何在 满足边缘服务器资源受限的约束下,对车联网用 户服务的卸载目的地进行决策,尽可能地降低服 务时延,是车联网边缘计算中极具挑战性的问题 之一.
此外,第五代无线通信技术(5G)的快速发展给 车联网边缘计算赋予了巨大的动能.相比于传统的 第四代无线通信技术(4G),5G能够为车联网服务提 供更大的带宽、更低的延时以及更少的能耗.更重要 的是,车联网用户的移动性给网络连接的稳定性带来 极大的挑战,传统的4G通信并不能保证用户在高速 移动时网络连接依然稳定.而如果采用基于5G的 无线通信,即使用户的移动速度达到500km/h,仍 能保证稳定的网络连接与通信[12].因此,将5G技术 引入车联网边缘计算中是十分必要的.
在车联网边缘计算环境中,网络环境、计算资源 和用户服务需求等无时无刻不处在变化状态.其中 服务卸载的决策过程可以抽象为马尔科夫决策过程
(MarkovDecisionProcess,MDP)[13].强化学习
(ReinforcementLearning,RL)作为人工智能领域 的一部分,是一类通过智能体在和环境的交互过程 中不断试错,学习如何得到最大收益的方法,能够有 效求解马尔科夫决策问题[14].此外,近年来深度学 习(DeepLearning,DL)的快速发展,使得计算机学 习数据的高维抽象特征表示成为了可能[15].深度强 化学习(DeepReinforcementLearning,DRL)将深 度学习和强化学习结合,较好地解决了传统强化学 习无法应用于高维度状态空间和动作空间的问题, 进一步提高了强化学习求解问题的能力[16].
目前为止,虽然有一些研究已将深度强化学习 应用于5G车联网边缘计算服务卸载中,但这些研 究存在着两方面的问题.一方面是,某些研究,例如 文献[17],仅仅将强化学习作为优化目标函数例如 时延、能耗的一种手段,而并未考虑环境的动态变 化,真正运用强化学习对边缘计算环境中用户服务 进行长期的、动态的服务卸载决策.另一方面,某些 研究,例如文献[18]和文献[19],虽然利用强化学习 解决了服务卸载的动态决策问题,但是设计的服务 卸载方法同时考虑环境中所有的边缘服务器,而没 有考虑边缘服务器的分布式特征.因此,当边缘服务 器数量较多或者服务需求量较大时,会导致状态空 间和动作空间维度爆炸,造成网络参数过多、训练缓 慢甚至难于训练等问题.
总的来说,如何在考虑车联网边缘计算环境动 态变化、资源受限的同时,充分利用边缘计算分布式 的特点,避免因边缘服务器数量或用户服务需求量 较大而产生的维度爆炸问题,从而长期、稳定地为用 户提供低时延的服务,是当前车联网边缘计算服务 卸载的一大挑战.为此,本文提出了一种基于深度强
4 8 3
2 计 算 机 学 报 2021年
《 计
算
机
学
报
》
化学习的车联网边缘计算服务卸载方法.特别地,考 虑到边缘计算具有分布式的特征,本方法基于分布 式的强化学习算法,从而提高服务卸载的效率.本文 的主要贡献包含以下三个方面:
(1)提出了一种“端边云”协同的5G车联网边 缘计算系统模型.该模型中,边缘服务器能够对服务 卸载方法进行局部优化,而中心云负责服务卸载方 法的全局优化;边缘服务器和中心云协同工作,从而 实现分布式的服务卸载优化.
(2)将深度时空残差网络[20](DeepSpatio TemporalResidualNetwork,STResNet)和异步 优势行动者评论家[21](AsynchronousAdvantage ActorCritic,A3C)结合,提出了一种车联网边缘计 算环境下分布式的服务卸载方法DSOAC.该方法 协同了深度学习和强化学习,实验证明其能够有效 地降低车联网用户长期的平均服务时延.
(3)引入了一种多动作输出的行动者网络,并 推导出该网络的参数梯度.解决了传统深度强化学 习中,当动作由多个子动作复合而成时,动作空间维 度随子动作取值数呈多项式增长,导致行动者网络 参数过多、难于训练的问题.
本文第2节介绍和本文相关的研究工作,并对 这些研究的成果和存在的问题做一定分析;第3节 对5G车联网边缘计算环境中的服务卸载问题建立 详细的系统模型;第4节提出分布式的5G车联网 边缘计算服务卸载方法DSOAC;第5节介绍实验 的参数设置和实验结果;最后总结全文,指出未来的 研究工作方向.
2 相关工作
21 边缘计算在车联网中的应用
由于边缘计算能够很好满足车联网用户对低延 迟服务的需求,近年来其在车联网中的应用得到了 中外学者极大关注和广泛研究.例如,为了满足车联 网环境中通信、计算和存储的多种需求,文献[22]设 计了一种能耗敏感的车联网移动边缘计算(Mobile EdgeComputing,MEC)调度框架.该文作者提出了
一种启发式的算法,该算法同时考虑了移动边缘计 算服务器的计算和网络下行能量消耗.实验表明,该 方法在降低能耗、时延和任务阻塞概率方面有着极 好的效果.张海波等人[23]通过整合内容分发网络
(ContentDeliveryNetwork)和MEC,利用动态信 道分配算法和基于RSU调度的合作博弈算法,形
成了一个能够合理组织中心云、边缘云和车载云资 源的架构,有效降低了车联网用户的服务时延,提高 了资源利用率.为了有效利用车联网中不同计算架构 的优势,进而部署大规模的IoV系统,Wang等人[24] 提出了一种名为CVEC(CollaborativeVehicular EdgeComputing)的新型车辆边缘协同计算框架.
该框架能够同时为可扩展的车联网服务以及车联网 应用提供水平方向和垂直方向的协作和支持.然而, 这些研究在将边缘计算应用于车联网的过程中,均 未考虑边缘计算的分布式特征能给车联网带来的服 务速度和灵活性方面的提升.
22 边缘计算中的分布式服务卸载
考虑到边缘计算环境中,一般会有多个配置在 不同地理位置的边缘服务器,因此边缘计算天生具 有分布式的特征,可以应用分布式算法进行服务卸 载决策.相比于传统的集中式服务卸载算法,分布式 算法所要考虑的决策空间更小,因此能够更加高效、 快速地解决服务卸载问题,获得了中外学者的极大 关注和深入研究.文献[25]设计了一种移动边缘计 算环境下的分布式服务卸载方法,该方法将卸载过 程中用户和边缘云的交互过程抽象为斯塔克尔伯格 博弈(StackelbergGame)模型,旨在降低用户使用 边缘服务器所产生的花费.而文献[26]则关注在服 务时延约束下边缘计算系统的能耗.该文作者将卸 载问题建模为一个潜在博弈(PotentialGame)模 型,并证明了该模型那什均衡的存在性.实验表明, 该文提出的方法在环境规模增大时,能够取得较低 的系统能耗.Chen等人考虑了多用户场景中移动边 缘云计算的计算卸载问题[27].他们首先提出了一种 集中式的计算卸载最优化问题,并证明了该问题是 NPHard.然后,他们设计了一种分布式的计算卸载 模型作为集中式计算卸载问题的替代,并使用博弈 论设计了一种分布式的多用户计算卸载算法.实验 表明,当用户数量增加时,该算法仍能够获得较好的 性能表现.然而,上述研究均只考虑了某一时刻下的 服务卸载策略,并没有考虑随着时间流逝,用户服务 需求、网络环境、计算资源的动态变化导致的诸如服 务质量不稳定的问题.而本文运用深度学习模型ST ResNet预测用户服务需求量,协同深度强化学习方
法A3C,将车联网环境的动态变化考虑在内,构建出 分布式的车联网边缘计算服务卸载方法DSOAC,从 而为车联网环境下车载用户提供长期的高质量服务. 23 强化学习在车联网中的应用
近年来,将深度学习技术应用于强化学习而形
5 8 3 12期 许小龙等:车联网边缘计算环境下基于深度强化学习的分布式服务卸载方法 2
《 计
算
机
学
报
》
成的深度强化学习方法,相比于传统的强化学习方 法有着更强的环境感知能力,在诸如电子游戏、参数 优化、机器人控制等多个领域得到了广泛的研究和 令人振奋的成果[28].如何将强化学习应用于车联网 环境中,提高车联网用户的服务体验,也是当今车联 网领域的一大研究方向.文献[29]中,作者设计了一 种启发式算法来对车联网中RSU云资源进行有效 的管理.该文将启发式算法中选择帕累托最优解的 过程定义为马尔可夫决策过程,并将强化学习应用 于此.实验表明,该算法能够最小化长期使用的虚拟 机(VirtualMachine,VM)迁移次数.如引言所述, 目前已有研究者运用深度强化学习进行车联网边缘 计算服务卸载.例如,Ning等人[30]将车联网边缘计 算环境中的通信和计算状态抽象为有限马尔科夫 链,将任务规划和卸载问题表示为一个最大化用 户服务体验的联合优化问题,通过运用深度强化学 习方法,规划出了最佳的服务卸载和网络资源分配 方案.文献[31]在考虑车联网环境中车流量、服务需 求和通信环境的变化的同时,基于Q学习(Q Learning)和深度强化学习,寻找最佳的计算卸载和
资源分配策略.然而,这些研究都将车联网中所有边 缘服务器和用户一次性纳入环境中.当用户服务需 求量较大,或者边缘服务器数量较多时,容易导致状 态空间和动作空间维度过高,神经网络参数过多,造 成训练时间的延长,甚至导致网络难于训练.为了解 决这一问题,本文基于A3C算法,充分发挥了边缘 计算分布式的特点,每个本地网络仅负责所在环境 的用户服务需求的卸载决策,最后与全局网络协同 进行网络参数的更新,从而有效降低了强化学习中 状态空间和动作空间的维度,减少了参数的数量,提 高了训练的效率.
3 系统模型
本节首先提出了一种如图1所示的“端边云” 协同的5G车联网边缘计算系统模型.然后,在此基 础上,对系统内的网络通信和用户服务时延建立了 数学模型.最终,我们将车联网边缘计算中的服务卸 载问题抽象为一个整数规划问题.系统模型中一些 重要变量的符号表示及其含义如表1所示.
图1 “端边云”协同的5G车联网边缘计算系统模型图 6
8 3
2 计 算 机 学 报 2021年
《 计
算
机
学
报
》
表1 系统模型中的重要变量符号及其含义
变量 含义
犕(τ) τ时间段内系统用户的总数量 犚 道路段编号
犕犚(τ) τ时间段内道路段犚中用户的总数量 犝犚(τ) τ时间段内道路段犚的用户集
犖犫 边缘服务器可分配的子信道个数 犖犮 边缘服务器可分配的计算资源个数
31 “端边云”协同车联网边缘计算模型
车联网环境中“端边云”协同的5G边缘计算 系统模型如图1所示.该系统分为车联网用户层、边 缘层和云服务层三层.其中,车联网用户层包括了在 道路上行驶的所有用户车辆,且每一用户车辆都配 备了有限的计算资源.用户的服务需求可以运用本 地的计算资源,在安装于本地的车载应用内满足.边 缘层包括分散在道路旁的5G边缘计算节点,每个 节点包括路边单元以及配备在该路边单元上的边缘 服务器两大部分.路边单元用于收集用户服务需求、 网络状况等信息,具有一定的覆盖范围,该范围将道 路分为一个个不重合的道路段,车联网用户层中的 用户也因此被分在唯一的道路段中.特别地,5G边 缘计算节点和用户车辆上都安装有5G通信设备.
通过5G无线信道,基于毫米波(MillimeterWave, mmWave)[32]等无线通信技术,用户车辆和相应的 边缘计算节点之间形成高带宽的通信连接.在本文 中,我们假设每一个路边单元均会配备一个边缘服 务器,并在服务器中已经预先安装好了服务提供商 提供的各类车载应用,可以满足用户卸载到边缘服 务器上的服务需求.同时,用户的服务需求还可卸载 到中心云执行,此时边缘计算节点会将服务需求通 过有线信道转发到中心云进行计算.中心云所在的 层即为云服务层,该层包含了高性能的计算资源,并 且同服务提供商直接相连,能够高效、快速地满足用 户的服务需求.
该系统中,时间被离散化为不同的时间段.此 外,运用虚拟化技术,各个边缘服务器的计算资源可 以被虚拟化为一份份独立的计算资源,分配给用户 使用.在每个时间段开始时,路边单元会收集所属道 路段的环境信息(例如用户服务需求、网络状况等), 发送给对应的边缘服务器.边缘服务器首先根据环 境信息对本地的车联网服务需求做出卸载决策.之 后,其会对刚刚做出的卸载决策进行评判,学习本地 的卸载策略的优化方向.当学习一定次数后,边缘服 务器会将其学习到的优化知识发送给中心云.中心 云对来自不同道路段的优化知识进行汇总后,可以
得出优化后的卸载策略,并将其回传给各个边缘服 务器进行实现.因此,卸载策略的优化过程被分配给 了多个不同的本地边缘服务器同时进行处理,最后 再由中心云进行处理结果的汇总.这一过程满足分 布式的特征.
值得注意的是,由于车辆具有移动性,在某一时 间段结束时,该车辆可能会移动到和时间段开始时 不同的道路段中.我们假设在某一时间段内,用户车 辆会与且仅会与时间段开始时用户车辆所在道路段 中的5G边缘计算节点连接.也就是说,即使在某一 时刻,用户离开了在时间段开始时其所在的道路段 狉,但是用户车辆还会和道路段狉中的5G边缘计算 节点保持连接.因此,服务卸载决策的优化过程会付 出“端边”之间,也就是用户车辆和边缘计算节点之 间稳定的通信连接的代价.考虑到5G技术的特性, 这一代价是可以被满足的.
32 网络通信模型
为了更准确地对5G车联网边缘计算服务卸载 系统中的网络通信建立计算模型,首先对车联网用 户进行定义,如定义1所示.
定义1. 车联网用户.车联网用户是一个三元 组,记为狌犻=〈λ犻,狆犻,δ犻〉,其中,犻表示车联网用户的 编号,λ犻是车联网用户和边缘计算节点之间的最大数 据传输速率,狆犻代表该用户的信号发射功率,δ犻表示 该用户和边缘计算节点之间的信道增益.用犝(τ)=
{狌1,狌2,…,狌犕(τ)}表示用户集,代表车联网边缘计算 环境中τ时间段内所有用户的集合.
如3.1节所述,本系统中用户和5G边缘计算 节点以无线方式连接.假设用户采用频分复用正交 多址接入技术与边缘计算节点相连[33],实现数据的 双向传输,其中,每一个子信道的带宽为狑.假设在 某一道路段内,各用户与边缘计算节点之间的通信 干扰可以忽略不计,则用户狌犻和对应的边缘计算节 点之间的最大数据传输速率为
λ犻=狀犻犫·狑log2(1+狆犻·δ犻·σ-2) (1) 其中,狀犫犻表示分配给用户狌犻的子信道数;σ代表环境 中的高斯白噪声的标准差.
33 服务时延计算模型
在本系统中,由于用户的服务需求既可以在本 地执行,亦可卸载到边缘服务器执行,亦可卸载到中 心云上执行,所以需要考虑这三种不同情况下的服 务时延.首先定义系统中的服务需求如下.
定义2. 服务需求.车联网环境中的服务需求 是一个三元组狊犻=〈犱犻,狉犻,狌犻〉,其中,犱犻代表该服务
7 8 3 12期 许小龙等:车联网边缘计算环境下基于深度强化学习的分布式服务卸载方法 2
《 计
算
机
学
报
》
需求所需的输入参数的数据量大小;狉犻代表完成该 服务需求所需的计算量;狌犻表示产生该服务需求的 用户.用犛(τ)={狊1,狊2,…,狊犕(τ)}表示车联网边缘计 算环境中τ时间段内所有的用户服务需求集合.
在服务需求定义的基础上,下文为不同情况下 满足用户服务需求所需的服务时延进行定义,并最 终给出系统总服务时延的计算公式.
3.3.1 本地执行时用户的服务时延
当用户的服务需求在本地执行时,用户无需将 该服务的输入参数数据通过无线信道上传到边缘服 务器,而只需通过位于本地的车载应用,利用本地的 计算资源进行处理即可.因此,对于用户狌犻和其产 生的服务需求狊犻=〈犱犻,狉犻,狌犻〉,可以得到该用户在本 地完成其服务需求的时延为
狋l犻oc=狉犻
犳犻 (2) 其中,犳犻是用户狌犻所配备的本地计算资源的计算速 率大小.
3.3.2 卸载到边缘服务器执行时用户的服务时延 当用户的服务需求被卸载到边缘服务器上进行 处理时,需要考虑等待无线信道空闲所产生的等待 时延、将服务需求输入参数从用户本地上传至边缘 服务器的传输时延、在边缘服务器上处理服务需求 的执行时延以及将处理完成的服务结果返回给用户 的回程时延四大部分.考虑到服务结果相比于输入 参数来说,数据量一般较小,因此回程时延一般忽略 不计.在本系统中,我们也忽略回程时延.其余三部 分中,用户狌犻=〈λ犻,狆犻,δ犻〉将其所需求服务狊犻的输入 参数上传至边缘服务器所需的时间可由下式计算:
狋犻up=犱犻
λ犻 (3) 在边缘服务器上处理服务狊犻的执行时延的计算 公式如下所示:
狋犻cal= 狉狀犮犻·犳犻MEC (4) 其中,狀犻犮代表分配给用户狌犻的计算资源数;犳MEC表示 单个边缘服务器计算资源的计算速率.
因此,如果用户狌犻的服务需求被卸载到边缘服 务器执行,所产生的服务时延可被下式计算:
狋犻edge=狋犻wait+狋犻up+狋犻cal (5) 其中,狋犻wait是用户的等待时延.对于某一个用户的服 务需求来说,其等待时延即为从该用户产生该服务 需求开始,直到该服务需求得到处理的时间间隔.在 本文中,由于卸载的服务需求需要等待无线信道空
闲时才能进行上传,因此,服务需求开始处理的时间 即为该需求被分配到无线信道的时间.使用狋犻start表 示用户狌犻产生服务需求狊犻的时间,使用狋犻end表示用户 狌犻的服务需求狊犻被分配到无线信道的时间,则用户 狌犻的等待时延狋犻wait可以被计算为
狋犻wait=狋犻end-狋犻start (6) 3.3.3 卸载到云服务器执行时用户的服务时延
根据3.1节的5G车联网边缘计算模型,如果 用户的服务需求需要被卸载到云端执行,那么该服 务的输入参数首先要通过无线信道由用户车辆上传 到边缘层,再由相应的边缘计算节点通过有线信道 转发给云端进行处理.考虑到云端配备的云服务器 有着较强的计算能力,处理时延相较于传输时延来 说可以忽略不计,因此,当用户狌犻将服务狊犻卸载到云 端执行时产生的服务时延主要包括等待无线信道空 闲的等待时延、将输入参数上传到边缘计算节点的 传输时延以及边缘计算节点和云服务器之间传输数 据所产生的往返时延(RoundTripTime,RTT)三 部分,计算公式如下所示:
狋犻cloud=狋犻wait+犱犻
λ犻+犚犜犜 (7) 由于云服务器距离边缘计算节点的地理距离较 远,边缘计算节点将输入参数数据转发给云端这一 过程和云端将服务处理结果返回的过程一般会产生 相近的时延,且该时延与输入参数的数据量无关.因 此,犚犜犜可以写成:
犚犜犜=2狋colfofud (8) 其中,狋colfofud表示将数据从边缘服务器转发到云端所 产生的时延.
3.3.4 系统总服务时延
在本系统中,每一个用户的服务需求仅可被卸 载到本地、边缘服务器和云端三地中的其中一处执 行.使用01变量α犻和β犻表示某一个服务狊犻的卸载 情况,其中,变量α犻定义为是否在本地执行:
α犻=1,服务狊犻于本地执行 0,服务狊犻
烅烄
烆 不于本地执行 (9) 变量β犻定义为是否在边缘服务器执行:
β犻=1,服务狊犻卸载至边缘服务器执行 0,服务狊犻
烅烄
烆 卸载至云服务器执行 (10) 因此,对于任意服务狊犻,其服务时延为
狋犻=α狋犻loc+(1-α)[β狋犻edge+(1-β)狋犻cloud](11) 所以,对于τ时间段内的所有用户来说,系统总 服务时延的计算公式如下所示:
8 8 3
2 计 算 机 学 报 2021年