Time and Energy-Sensitive End-Edge-Cloud Resource Provisioning Optimization Method for Collaborative Vehicle-Road Systems
-
摘要:
随着信息技术的不断发展,智能交通系统逐渐成为未来交通的发展方向. 然而,智能交通系统中时间敏感型和计算密集型应用的日益增多,给资源有限的车辆终端带来了严峻挑战. 端—边—云层次性计算架构是应对该挑战的有效手段. 在基于端—边—云架构的车路协同系统中,车辆用户可以将时间敏感型任务卸载到附近的路边单元执行以保证应用的实时性,而将计算密集型任务卸载到云以满足其算力需求. 但是,任务卸载也会导致额外的传输时延和能量开销. 此外,任务在传输过程也可能遭受错误而导致可靠性降低. 因此,为保障端—边—云车路协同系统中车辆的用户体验,提出一种基于多智能体强化学习的资源调度方案. 该方案通过充分利用端—边—云架构的特点并采用集中训练—分散执行的框架来构建深度神经网络,以制定任务卸载和车路计算资源分配的最优决策,最终实现可靠性约束下的系统时延和能耗优化. 为验证所提方案的有效性,实验通过效用值来体现算法在时延和能耗2方面的优化. 实验结果表明,与现有算法相比,所提方案在满足可靠性约束的前提下,效用值可以提高到221.9%.
Abstract:With the continuous development of information technology, intelligent transportation system has gradually become the trend of future transportation. However, the increasing number of time-sensitive and computation-intensive applications in intelligent transportation systems has brought severe challenges to resource-limited vehicles. The end-edge-cloud hierarchical computing architecture is an effective means to cope with this challenge. In the collaborative end-edge-cloud vehicle-road system, vehicle users can offload time-sensitive tasks to nearby roadside units to ensure the timing requirement and offload computation-intensive tasks to the cloud to meet their needs of computing power. However, task offloading also leads to additional transmission latency and energy overhead. In addition, tasks may also suffer from errors during transmission, resulting in degraded reliability. Therefore, to ensure the user experience of vehicles in the collaborative end-edge-cloud vehicle-road system, a multi-agent reinforcement learning based resource scheduling scheme is proposed. The scheme makes full use of the end-edge-cloud architecture’s characteristics and adopts the centralized training-decentralized execution framework to construct a deep neural network which decides the optimal offloading and computing resource allocation for tasks and hence optimizes system latency and energy consumption under the reliability constraint. To verify the efficiency of the proposed scheme, a metric named utility value is adopted in the experiment to show the improvement on latency and energy efficiency. Experimental results show that compared with the existing approaches, the utility value increased by our scheme can be up to 221.9%.
-
智能交通系统是未来交通运输系统的发展方向,它将智能传感与控制、大数据、物联网等先进技术与嵌入式软件融入到交通系统中,为用户提供了更好的服务[1-2]. 在智能交通系统中,车辆通常受到计算和存储资源的限制,导致其数据处理能力较低. 然而,随着信息技术的发展,诸多新兴技术(例如辅助安全驾驶、红绿灯车速引导和道路情况提醒等)对于计算和存储资源的需求变得越来越大,车辆终端越来越难以有效支持这些技术[3]. 一种常用的解决方案是将这些任务提交至云(即任务卸载至云数据中心),借助云服务器的强大计算和存储能力来应对智能车飞速增长的技术需求.
云数据中心虽然具有足够的资源支持计算密集型应用,但是云服务器通常部署在远离车辆的地方. 网络传输引起的响应时间久问题会严重降低车辆任务卸载到云的效果,这对于时间敏感的强实时任务是不可接受的. 因此,为缓解该问题,研究者们提出采用边缘计算技术,在车道附近的路边单元部署计算资源(即边缘服务器). 由于车辆终端与路边单元之间传输距离较短,可有效降低传输时延,适合处理时间敏感的强实时任务[4]. 然而,为了降低基础设施成本,在路边单元部署的边缘服务器计算和存储能力有限,一些计算密集型任务仍需卸载到云执行. 因此,相比单独采用云计算或者边缘计算,车辆终端与两者相结合形成的端—边—云层次性计算架构可以更好地满足用户的多样化需求[5]. 在采用端—边—云架构的车路协同系统中,车辆可以将时间敏感的任务卸载到附近的路边单元执行,利用该路边单元的边缘服务器满足其实时性要求;而延时容忍或计算密集型的任务则可以继续由路边单元上传到云中心执行,充分利用云服务器的资源优势. 显然,端—边—云的层次性计算架构可以整合边缘计算和云计算的优势,从而显著提高服务质量,并有效缓解云中心的拥塞[6].
采用端—边—云层次性计算架构,虽然有助于降低任务的计算时间,但车辆卸载任务时也会带来额外的时间和能量开销. 而且,任务在传输过程中也容易发生错误,导致可靠性降低[7]. 车辆终端应用的时延、能耗和可靠性一直以来都是智能交通系统关注的重点. 这是因为终端应用的实时性和可靠性是决定车辆用户体验的关键因素;并且,降低车辆能耗有利于控制车辆碳排放量,减少环境污染,是智能交通可持续发展的关键[8]. 此外,随着车辆增多但路边单元的资源有限,很容易在高峰时段出现过载现象[9]. 因此,非常迫切需要设计合理有效的端—边—云车路协同资源调度方法,以优化智能交通系统中车辆终端应用的实时性、可靠性和能效.
端—边—云架构下的车路协同资源调度问题实质是多智能体(智能车)对环境资源(路边单元、云中心等)的竞争与共享问题. 并且,每个智能体在与环境交互过程中会通过学习改进自己的策略,而环境资源也在动态变化[10]. 考虑到智能体对于资源的竞争与合作关系以及环境的不稳定性,传统的单智能体强化学习方法通常不能解决该问题[11]. 因此,本文针对端—边—云架构的车路协同系统,设计了一种基于多智能体强化学习的资源调度算法,通过任务卸载和计算资源分配,实现可靠性约束下的系统时延和能耗优化.
1. 相关工作
当今时代,随着车路协同系统在智能交通系统中的应用越来越广泛,对于其资源调度问题的研究也越来越受到国内外学者的关注. 在过去几年中,国内外学者已经提出了许多有价值的工作来解决这个问题. 其中,将端—边—云架构与车路协同系统相结合,为智能交通系统的优化提供了新的思路和方向. 本节将简要介绍与本研究相关的文献,并着重强调本文方法与现有资源调度方法之间的差异.
1) 车路协同资源调度技术
车路协同资源调度是实现智能交通系统的关键技术之一,主要包括任务卸载和计算资源分配,已被广泛研究. 例如,文献[12]针对车辆任务卸载环境的不确定性,提出了一种基于自适应学习的任务卸载算法,使每个任务车辆能够以分布式的方式学习服务车辆的延迟性能,避免频繁的状态信息交换,从而降低平均卸载时延. 文献[13]考虑车辆行驶速度的变化和无线信道条件的不稳定性,将任务卸载问题定义为马尔可夫决策过程,并提出了一种低开销的启发式算法为每个任务作出卸载决策. 文献[14]研究了如何高效调度志愿车辆中的空闲资源来应对路边单元中边缘服务器的过载问题. 文献[15]综合考虑通信资源和计算资源的分配,提出了针对计算卸载时延和成本的多目标优化问题,并利用粒子群优化算法获得帕累托最优解. 然而,以上工作均未考虑端—边—云层次性计算架构.
2) 基于端—边—云架构的车路协同资源调度方法
端—边—云层次性计算架构的兴起为改善车辆服务体验和增强车辆计算能力提供了一种新范式,在学术界和工业界均引起了广泛关注. 例如,文献[16]针对端—边—云框架下的计算卸载和资源分配问题,设计了一种分布式算法,通过博弈论制定卸载决策并采用拉格朗日乘子法实现资源分配,以最小化任务处理时延和计算资源成本. 文献[17]提出了一种面向移动边缘计算的车联网任务动态卸载方案. 该方案考虑资源的有限性和车辆的移动性,并根据边缘服务器的覆盖范围、传输速率和车辆的移动速度等约束动态推导出最优卸载方案,以缩短任务卸载时间和提高车辆能效. 为了实现低延迟通信,文献[18]研究了端—边—云架构中车辆间的任务上传问题以及边缘服务器和云服务器间的计算迁移问题,并提出了一种基于概率统计的协同卸载算法. 文献[16-18]所述的工作虽然考虑了任务的延迟和能耗开销,但忽略了端—边—云架构下任务传输和执行过程中的可靠性问题,容易遭受错误而导致任务失败.
本文的贡献是:运用机器学习技术解决端—边—云架构下的车路协同资源调度问题. 现有研究中已提出了基于强化学习的车路协同资源调度优化方法(例如文献[19-20]),但这些方法均为单智能体强化学习算法,不适用于多智能体环境. 考虑到本文研究的端—边—云车路协同系统属于多智能体环境,并将多智能体强化学习算法与车辆结合以促进车辆与环境的协作并提高车辆应对动态环境的能力[21]. 本文提出一种基于多智能体强化学习的端—边—云车路协同资源调度方法,以优化智能交通系统中车辆任务的实时性、可靠性和能效. 具体来说,该算法充分利用端—边—云架构的特点,采用集中训练—分散执行(centralized training with decentralized execution,CTDE)的框架. 在这个框架下,每辆智能车是一个智能体,在集中训练—分散执行上部署actor网络以负责作出动作(即任务卸载和计算资源分配决策);所有智能体的critic网络将集中部署在云数据中心并集中训练,critic网络指导actor网络以改进策略. 当所有actor网络训练完成后,则不再需要critic网络,届时每个智能体可根据局部观测作出最优决策且不产生额外的迭代开销.
2. 系统模型
本节主要介绍基于端—边—云架构的车路协同系统的相关模型,包括系统架构模型、任务通信模型、任务计算模型和可靠性模型.
2.1 系统架构模型
如图1所示,端—边—云车路协同系统包含1个云数据中心
C 、M 个路边单元(roadside unit, RSU),以及N 辆智能车. 每个路边单元都配备1个边缘服务器. 假设RSU={RSU1,RSU2,…,RSUM} 表示路边单元的集合,RSUm⊂RSU 表示第m 个路边单元及其配备的边缘服务器. 每个路边单元RSUm 覆盖一个区域Am= (ιm ,hm ),其中ιm (单位为m )表示Am 是一个以ιm 为半径的圆,hm (单位为km/h )表示Am 内限定的车辆最高时速. 每个区域都有且仅由1个路边单元负责,处于区域Am 中的车辆可以和路边单元RSUm 通信.假设
V={V1,V2,…,VN} 表示系统内车辆的集合. 每辆车Vn⊂V 表示为四元组Vn= (τn ,flocn ,ptransn ,ζn ),其中τn 表示Vn 的当前任务,flocn 表示Vn 微控制单元的计算频率,ptransn 表示Vn 上传τn 的数据传输功率,ζn 表示Vn 当前所处的路边单元覆盖区域. 任务τn 可表示为五元组τn= (dn ,ωn ,vn ,δn ,Rth ),其中dn 是任务的数据量(即输入数据,单位为b);ωn 是任务的处理密度(单位为cycle/b),即处理单位比特数据所需要的处理器时钟周期数;vn 是任务遭受软错误的脆弱性因子;δn 是任务的截止时间;Rth 是任务的可靠性要求,若未到达此可靠性要求则认为任务处理失败.当任务的数据量不大时,任务可以留在车辆本地执行;否则,可以将部分数据卸载到路边单元执行. 因此,定义
βn (0≤βn≤1 )为卸载任务τn 的决策变量βn ,表示从车辆Vn 卸载到路边单元RSUm 的数据在任务总数据量dn 中的占比. 借助于该决策变量βn ,卸载到RSUm 中的边缘服务器上处理的数据量为βndn ,留在车辆Vn 本地处理的数据量为(1−βn )dn .路边单元中边缘服务器的计算和通信能力通常都是有限的. 假设用
fesm (单位为cycle/s)表示路边单元RSUm 的最大计算能力,其可能无法满足区域Am 内所有卸载任务的执行要求(例如截止时间和可靠性等). 为应对该情况,可以将部分任务的数据进一步上传到资源充足的云数据中心C 进行并行处理. 云数据中心C 的计算能力表示为fC (单位为cycle/s),它与路边单元之间的传输速率表示为ϖC .2.2 任务通信模型
由于路边单元的信号覆盖范围有限,而车辆是不断移动的,因此需要考虑车辆与路边单元的相对位置. 假设当车辆
Vn 进入路边单元RSUm 的覆盖区域Am 时,RSUm 向Vn 发送信息,发送给Vn 的数据包中含有RSUm 的编号信息m (1≤m≤M ),以告知Vn 已进入其通信范围,并记录Vn 进入区域Am 的时刻tinn . 假设计算资源有限的车辆为减少其计算负载,在其行驶区域内会向所属的路边单元请求卸载任务的部分数据. 当路边单元接收到请求后,会检查边缘服务器当前的计算能力是否能满足该任务的执行需求.以图1中车辆
V2 为例,当它进入路边单元RSU1 的覆盖范围A1 后,RSU1 向V2 发送信息并记录V2 进入A1 的时间tin2 . 当V2 有新的任务τ2 需要执行时,V2 可以考虑向RSU1 请求卸载服务.RSU1 接收到卸载请求后,会记录卸载发生的时间toff2 . 已知区域A1 的半径ι1 和最大时速h1 ,则V2 在区域A1 内行驶的最短时间为tmin2=2ι1/h1− (toff2−tin2 ).RSU1 可根据其为τ2 分配的计算能力和τ2 卸载的数据量计算出卸载并执行τ2 所需要的时间T2 . 若T2>min{δ2 ,tmin2} ,则RSU1 的计算能力不能满足τ2 的执行需求,可将τ2 上传到云;否则τ2 留在RSU1 处理.从上述示例可知,我们需要确定任务
τn 是否需要继续上传到云,因此,定义一个二元变量μn 表示路边单元是否能够满足任务τn 的执行需求,μn={1,Tn>min (1) 其中
{\delta }_{n} 为任务{\tau }_{n} 的截止期限,{t}_{n}^{\mathrm{m}\mathrm{i}\mathrm{n}}=2{\iota }_{m}/{h}_{m}- ({t}_{n}^{\mathrm{o}\mathrm{f}\mathrm{f}}-{t}_{n}^{\mathrm{i}\mathrm{n}} )为车辆{V}_{n} 在区域{A}_{m} 可停留的最短时间,{T}_{n} 为任务{\tau }_{n} 从开始卸载到在路边单元完成执行所需的总时间. 实际上,\mathrm{m}\mathrm{i}\mathrm{n}\{{\delta }_{n} ,{t}_{n}^{\mathrm{m}\mathrm{i}\mathrm{n}}\} 代表任务{\tau }_{n} 在区域{A}_{m} 完成执行所具有的最长时间期限,是{\tau }_{n} 真正的实时性约束. 当{\mu }_{n}=0 时,边缘服务器的计算能力可以满足任务{\tau }_{n} 的实时性要求,则{\tau }_{n} 的数据不需要上传至云处理,{RSU}_{m} 分配一定的计算能力即可处理{\tau }_{n} ;当{\mu }_{n}=1 时,边缘服务器的计算能力不足以满足任务{\tau }_{n} 的实时性要求,则需要将{\tau }_{n} 上传至云处理,且将接收到的任务数据完全上传给云,不再分割. 引入变量{\mu }_{n} 可保证车辆{V}_{n} 卸载的任务{\tau }_{n} 一定可以在其所属的路边单元{RSU}_{m} 的覆盖区域{A}_{m} 内完成.1) 车辆
{V}_{n} 到路边单元{RSU}_{m} 的通信模型在车辆与路边单元的通信中,下行的时延和能耗与上行相比可以忽略不计并且路边单元传出的数据包通常很小,因此可以不考虑下行的时延和能耗[6]. 上行链路通常采用正交频分多址技术,支持对边缘服务器的多址接入. 为了保证发送卸载请求的车辆之间的上行传输的正交性,基站带宽
{B}_{m} 被划分为相等的子带,并给每个需要通信的车辆分配一个子带.为方便表示,定义二元变量
{z}_{n,m} 表示当前时隙内车辆{V}_{n} 是否在路边单元{RSU}_{m} 覆盖范围{A}_{m} 内,即{z_{n,m}} = \left\{ \begin{aligned} &1, \;\; {\zeta _n} = m{\text{ }}, \\ &0, \;\; {\text{其他}}. \\ \end{aligned} \right. (2) 定义变量
{L}_{m} 表示当前时隙内路边单元{RSU}_{m} 连接的车辆数目,它表示为{L_m} = \sum\limits_{n = 1}^N {{z_{n,m}}\left\lceil {{\beta _n}} \right\rceil } . (3) {RSU}_{m} 与{V}_{n} 之间的信噪比(signal to interference plus noise ratio,{SINR}_{n,m} )为SIN{R_{n,m}} = \dfrac{{p_n^{{\rm{trans}}}{g_n}}}{{\sigma + \displaystyle\sum\limits_{m = 1}^M {{z_{n,m}}\displaystyle\sum\limits_{k = 1,k \ne n}^N {{z_{k,m}}\left\lceil {{\beta _k}} \right\rceil p_k^{{\rm{trans}}}{g_k}} } }}, (4) 其中
{g}_{n} 为车辆{V}_{n} 到路边单元{RSU}_{m} 之间的信道增益,\sigma 为背景噪声. 根据Shannon-Hartley定理,从{V}_{n} 到{RSU}_{m} 的上行数据传输速率为{\varpi _{n,m}} = \sum\limits_{m = 1}^M {\frac{{{z_{n,m}}{B_m}}}{{{L_m}}}} {\text{lb}}\left( {1 + SIN{R_{n,m}}} \right) , (5) 其中
\displaystyle\sum _{m=1}^{M}{z}_{n,m}{B}_{m}/{L}_{m} 为路边单元{RSU}_{m} 向车辆{V}_{n} 分配的带宽. 因此当{\mu }_{n}=0 时,{V}_{n} 到{RSU}_{m} 的传输时延为T_{n,m}^{{\rm{trans}}} = \frac{{{\beta _n}{d_n}}}{{{\varpi _{n,m}}}} . (6) 相应的传输能耗为
E_n^{{\rm{trans}}} = p_n^{{\rm{trans}}}T_{n,m}^{{\rm{trans}}} , (7) 其中
{p}_{n}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}} 是车辆{V}_{n} 的数据传输功率.2) 路边单元
{RSU}_{m} 到云数据中心C 的通信模型为了将任务传输到云、边缘服务器和云数据中心之间的高速光纤通信链路是端—边—云网络架构中必不可少的基础设施, 它确保了边缘服务器的灵活性和可扩展性. 假设边缘服务器和云之间的数据传输速率用
{\varpi }^{C} 表示,当路边单元{RSU}_{m} 将任务数据全部上传到云(即{\mu }_{n}=1 )时产生的传输时延为\widetilde T_n^{{\rm{trans}}} = \frac{{{\beta _n}{d_n}}}{{{\varpi ^C}}}. (8) 值得指出的是,本文仅考虑通信过程中车辆产生的能量开销,因此不需要计算路边单元卸载任务到云的能耗.
综合考虑上述1)和2)两种情况,车辆
{V}_{n} 卸载任务的总传输时延为{\hat T}_n^{{\rm{trans}}} = T_{n,m}^{{\rm{trans}}} + {\mu _n}\widetilde T_n^{{\rm{trans}}} . (9) 2.3 任务计算模型
计算模型可分为本地执行模型和远程执行模型2类,其中根据边缘服务器的计算能力是否能满足任务的执行需求,可将远程执行模型进一步分为路边单元计算模型和云计算模型.
1) 本地计算模型
由于本地数据量为(
1-{\beta }_{n} ){d}_{n} ,本地计算时间为T_n^{{\rm{exe}}} = \frac{{{\omega _n}{d_n}\left( {1 - {\beta _n}} \right)}}{{f_n^{{\rm{loc}}}}}. (10) 因此,任务在本地的计算能耗为
E_n^{{\rm{exe}}} = \kappa {\left( {f_n^{{\rm{loc}}}} \right)^3}T_n^{{\rm{exe}}}, (11) 其中
\kappa 为本地计算频率的相关系数.2) 远程计算模型
①路边单元计算模型. 当
{\mu }_{n}=0 时,边缘服务器的计算能力可以满足任务的执行需求,因此任务数据不需上传至云端处理. 任务在边缘服务器的执行时间为\widetilde T_{n,m}^{{\rm{exe}}} = \frac{{{\beta _n}{\omega _n}{d_n}}}{{f_{n,m}^{{\rm{es}}}}}\text{,} (12) 其中
{f}_{n,m}^{\mathrm{e}\mathrm{s}} (0 < {f}_{n,m}^{\mathrm{e}\mathrm{s}}\le {f}_{m}^{\mathrm{e}\mathrm{s}} )表示路边单元{RSU}_{m} 的边缘服务器分配给任务{\tau }_{n} 的计算能力,{f}_{m}^{\mathrm{e}\mathrm{s}} 表示边缘服务器能提供的最高计算能力.②云计算模型. 当
{\mu }_{n}=1 时,边缘服务器的计算能力不足以满足任务的执行需求,任务数据需要上传至云端处理,且需要将接收的任务数据完全上传给云,不再分割. 因此,任务在云上的执行时间为\widetilde T_n^{{\rm{exe}}} = \frac{{{\beta _n}{\omega _n}{d_n}}}{{{f^C}}}, (13) 其中
{f}^{C} (单位为cycle/s)表示云数据中心的计算能力. 任务{\tau }_{n} 上传到路边单元部分数据的计算时延为{\hat T}_n^{{\rm{exe}}} = \left( {1 - {\mu _n}} \right)\widetilde T_{n,m}^{{\rm{exe}}} + {\mu _n}\widetilde T_n^{{\rm{exe}}} . (14) 值得指出的是,本文关注的是车辆的能量开销. 因此,仅计算任务在车辆本地执行时产生的能耗,未计算任务在路边单元或者云上执行的能耗.
2.4 可靠性模型
任务的可靠性模型主要包括传输可靠性和执行可靠性,其中执行可靠性又包括本地执行可靠性和卸载执行可靠性.
1)传输可靠性
任务在传输过程中可能会遭受噪声和干扰位错误以及传输链路上的位同步错误. 任务的传输可靠性定义为任务成功传输至其卸载目的地而不出现误码的概率. 根据位错误模型,传输可靠性可表示为
R_n^{{\rm{trans}}} = {\text{exp(}} - \rho \times {\hat T}_n^{{\rm{trans}}}{\text{)}} , (15) 其中
\rho 为恒定误码率.2)执行可靠性
任务在执行过程中可能会遭受瞬时故障引起的软错误. 瞬时故障是一类由于高能粒子撞击电路或者受电磁干扰而导致逻辑错误的故障. 不同于永久性故障,瞬时故障持续时间短,并不会对硬件设备造成损坏,因此也被称为软错误. 任务的执行可靠性通常定义为任务没有遭受软错误而成功执行的概率. 任务的2类执行可靠性均可表示为指数函数.
本地执行可靠性只与本地计算频率
{f}_{n}^{\mathrm{l}\mathrm{o}\mathrm{c}} 和本地计算时间{T}_{n}^{\mathrm{e}\mathrm{x}\mathrm{e}} 有关,表示为R_n^{{\rm{exe}}} = {\text{{\rm{exp}}(}} - \psi \left( {f_n^{{\rm{loc}}}} \right) \times {v_n} \times T_n^{{\rm{exe}}}{\text{)}}, (16) 其中
\psi ({f}_{n}^{\mathrm{l}\mathrm{o}\mathrm{c}} )为任务{\tau }_{n} 以本地计算频率{f}_{n}^{\mathrm{l}\mathrm{o}\mathrm{c}} 执行任务时的故障率,{v}_{n} 是任务{\tau }_{n} 遭受瞬时故障的脆弱性因子.卸载执行可靠性与边缘计算频率
{f}_{n,m}^{\mathrm{e}\mathrm{s}} 、任务在边缘服务器的计算时间{\widetilde T}_{n,m}^{\mathrm{e}\mathrm{x}\mathrm{e}} 、云数据中心的计算频率{f}^{C} 以及任务在云的执行时间{\widetilde T}_{n}^{\mathrm{e}\mathrm{x}\mathrm{e}} 有关,表示为\begin{aligned} &\widetilde R_n^{{\text{exe}}} = {\text{exp}}\left( - \left( {1 - {\mu _n}} \right) \times \psi \left( {f_{n,m}^{{\text{es}}}} \right) \times {v_n} \times \widetilde T_{n,m}^{{\text{exe}}} -\right.\\ &\left. {\mu _n} \times \psi \left( {{f^{\text{C}}}} \right) \times {v_n} \times \widetilde T_n^{{\text{exe}}}\right) ,\end{aligned} (17) 其中
\psi \left( {f_{n,m}^{{\text{es}}}} \right) ,\psi \left( {{f^{\text{C}}}} \right) 分别表示边缘服务器计算频率{f_{n,m}^{{\text{es}}}} 和云数据中心计算频率{{f^{\text{C}}}} 执行任务时的故障率.任务的可靠性取决于其在传输过程和执行过程的可靠性. 因此,任务
{\tau }_{n} 的可靠性表示为{R_n} = R_n^{{\rm{trans}}} \times R_n^{{\rm{exe}}} \times \widetilde R_n^{{\rm{exe}}} . (18) 值得注意的是,式(18)包含了任务本地执行和任务卸载执行的情况. 当任务完全在本地执行时,车辆
{V}_{n} 到路边单元{RSU}_{m} 之间的传输时延{T}_{n,m}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}} 、任务{\tau }_{n} 在路边单元的执行时延{{\widetilde T}}_{n,m}^{\mathrm{e}\mathrm{x}\mathrm{e}} 和任务{\tau }_{n} 在云的执行时延{{\widetilde T}}_{n}^{\mathrm{e}\mathrm{x}\mathrm{e}} 均为0,因此根据式(15)和式(17)可知传输可靠性{R}_{n}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}} 和卸载执行可靠性{{\widetilde R}}_{n}^{\mathrm{e}\mathrm{x}\mathrm{e}} 的值均为1,此时任务{\tau }_{n} 的可靠性{R}_{n} 只与本地执行可靠性{R}_{n}^{\,\mathrm{e}\mathrm{x}\mathrm{e}} 有关.3. 问题定义
在智能交通系统中,影响车辆用户体验质量(quality of experience,QoE)的2个关键因素是任务的时延和能耗. 为同时考虑这2个因素,本文提出一个新的效用函数以量化采用基于端—边—云架构的资源调度技术以改善系统在任务时延和能耗.
为了定义效用函数,首先计算任务完全在车辆本地执行所需的时延和能耗分别为
T_n^{{\rm{loc}}} = \frac{{{\omega _n}{d_n}}}{{f_n^{{\rm{loc}}}}}, (19) E_n^{{\rm{loc}}} = \kappa {\left( {f_n^{{\rm{loc}}}} \right)^3}T_n^{{\rm{loc}}}. (20) 然后结合任务的通信模型和计算模型,并考虑卸载到边缘服务器的任务数据和本地数据可以同时执行,任务的总执行时间则表示为本地执行时间和卸载执行时间的较大值. 因此,计算任务采用卸载技术后执行所需的时延和能耗分别为
T_n^{{\rm{total}}} = \max \left\{ {T_n^{{\rm{exe}}},\hat T_n^{{\rm{trans}}} + \hat T_n^{{\rm{exe}}}} \right\} , (21) E_n^{{\rm{total}}} = E_n^{{\rm{exe}}} + E_n^{{\rm{trans}}}. (22) 在式(19)~(22)定义的基础上,所提出的效用函数表示为
{\mathcal{U}_n} = {\alpha _n}\frac{{T_n^{{\rm{loc}}} - T_n^{{\rm{total}}}}}{{T_n^{{\rm{loc}}}}} + \left( {1 - {\alpha _n}} \right)\frac{{E_n^{{\rm{loc}}} - E_n^{{\rm{total}}}}}{{E_n^{{\rm{loc}}}}}, (23) 其中
{T}_{n}^{\mathrm{l}\mathrm{o}\mathrm{c}}-{T}_{n}^{\mathrm{t}\mathrm{o}\mathrm{t}\mathrm{a}\mathrm{l}} 表示采用任务卸载而缩短的时延,{E}_{n}^{\mathrm{l}\mathrm{o}\mathrm{c}}-{E}_{n}^{\mathrm{t}\mathrm{o}\mathrm{t}\mathrm{a}\mathrm{l}} 表示采用任务卸载而为车辆节约的能量,效用函数{\mathcal{U}}_{n} 利用权重{\alpha }_{n}\in [0 ,1] 来控制系统对时延和能效的偏好. 如式(23)所示,效用函数表示的是归一化后的时延和能效提升.本文的研究目标为提升车辆用户的QoE,即在可靠性的约束下最小化系统总时延和总能耗(即最大化效用函数值
{\mathcal{U}}_{n} ). 研究问题的形式化为:\begin{aligned} &{\rm{Maximize}}:{\displaystyle \sum _{n=1}^{N}{\mathcal{U}}_{n}}\\ &{\rm{s.t.}}\quad{C}_{1}:{R}_{n}\ge {R}_{{\rm{th}}},\forall n=1,2,…,N,\\ &\quad\quad\,{{C}_{2}}:{T}_{n}^{{\rm{total}}}\le {\delta }_{n},\forall n=1,2,…,N,\\ &\quad\quad\,{C}_{3}:{\displaystyle \sum _{n=1}^{N}\lceil {\beta }_{n}\rceil {z}_{n,m}{f}_{n,m}^{{\rm{es}}}\le {f}_{m}^{{\rm{es}}},m=1,2,…,M}. \end{aligned} (24) 由式(24)可知,目标函数为所有车辆的效用值之和. 为了提升系统中所有车辆的QoE,需要最大化所有车辆的效用值之和. 约束
{C}_{1} 表示任务的可靠性不得低于给定的阈值,以保证任务顺利完成. 约束{C}_{2} 表示任务需在截止期限之前完成,以保证实时性. 约束{C}_{3} 表示{RSU}_{m} 分配给其区域{A}_{m} 内所有车辆的计算能力之和不得超过其自身的计算能力{f}_{n,m}^{\mathrm{e}\mathrm{s}} .4. 基于多智能体强化学习的端—边—云车路协同资源调度优化算法
本节提出了一种多智能体强化学习算法,以解决本文研究的端—边—云车路协同资源调度问题. 在求解中,1辆智能车对应于1个智能体,端—边—云网络架构对应于强化学习的环境,车辆的效用函数对应于智能体的奖励函数. 本节将详细介绍所提出的基于多智能体强化学习的端—边—云车路协同资源调度优化算法.
4.1 多智能体强化学习框架
强化学习的主要角色为环境和智能体,智能体在每个时隙都会对所处环境状态进行观察,然后根据观察到的状态作出动作决策. 环境会因为智能体的动作响应而发生变化,智能体也会从环境中感知到新状态的奖励信号. 智能体将通过不断调整和更新动作策略,最终实现最大化累积奖励,即回报. 强化学习算法中有3个关键要素,即状态、动作、奖励,下面将结合系统模型和研究问题展开介绍.
1) 状态空间
为了让智能体(即智能车)可以根据环境中的信息作出合适的动作,可以将第
n 个智能体在时隙t 的状态空间{s}_{n}^{t} 表示为s_n^t = \left\{ {T_n^{{\rm{total}}},{R_n},f_n^{{\rm{need}}},f_m^{{\rm{left}}}} \right\}. (25) 其中,
{T}_{n}^{\mathrm{t}\mathrm{o}\mathrm{t}\mathrm{a}\mathrm{l}} 为完成任务{\tau }_{n} 所需的总时间,可由式(21)求得;{R}_{n} 为任务{\tau }_{n} 的可靠性,可由式(18)求得;f_n^{{\rm{need}}} 为任务{\tau }_{n} 完全卸载至{RSU}_{m} 后所需的最小计算能力,表示为f_n^{{\text{need}}} = \frac{{{d_n}{\omega _n}}}{{\min \{ {\delta _n},t_n^{\min }\} - {d_n} / {{\varpi_{n,m}}}}} . (26) {f}_{m}^{\mathrm{l}\mathrm{e}\mathrm{f}\mathrm{t}} 为车辆{V}_{n} 所在{RSU}_{m} 的剩余计算能力,表示为f_m^{{\text{left}}} = f_m^{{\text{es}}} - \sum\limits_{n = 1}^N {\left\lceil {{\beta _n}} \right\rceil {z_{n,m}}f_{n,m}^{{\text{es}}}} . (27) 2) 动作空间
系统模型中共定义了3个决策变量,分别为任务
{\tau }_{n} 的卸载比例{\beta }_{n} (0\le {\beta }_{n}\le 1 ) 、决定任务{\tau }_{n} 是否由路边单元上传到云的二元变量{\mu }_{n}=\{0 ,{1}\} 、边缘服务器分配给任务{\tau }_{n} 的计算能力{f}_{n,m}^{\mathrm{e}\mathrm{s}} (0 < {f}_{n,m}^{\mathrm{e}\mathrm{s}}\le {f}_{m}^{\mathrm{e}\mathrm{s}} ). 由系统模型可知,任务{\tau }_{n} 从开始卸载到在路边单元完成执行所需的总时间为{T_n} = T_{n,m}^{{\rm{trans}}} + \widetilde T_{n,m}^{{\rm{exe}}} = \frac{{{\beta _n}{d_n}}}{{{\varpi _{n,m}}}} + \frac{{{\beta _n}{\omega _n}{d_n}}}{{f_{n,m}^{{\rm{es}}}}}. (28) 由式(1)可知当
{T}_{n} > {\rm{min}}\{{\delta }_{n},{t}_{n}^{\mathrm{m}\mathrm{i}\mathrm{n}}\} 时,意味着在路边单元执行会违背实时性约束,因此需要上传到云端执行,即{\mu }_{n}=1 ;反之,{\mu }_{n}=0 . 综合式(1)和式(28)可以看出,{\mu }_{n} 依赖于任务的卸载比例{\beta }_{n} 和分配的计算能力{f}_{n,m}^{\mathrm{e}\mathrm{s}} , 故实际只有2个决策变量{\beta }_{n} 和{f}_{n,m}^{\mathrm{e}\mathrm{s}} .因此,第
n 个智能体在时隙t 的动作空间{a}_{n}^{t} 与2个决策变量相对应,可表示为a_n^t = \left\{ {{\beta _n},f_{n,m}^{{\text{es}}}} \right\} . (29) 3) 奖励
在多智能体强化学习算法中,一个时隙
t 的奖励是所有智能体的奖励之和. 对于车辆{V}_{n} 而言,若当前状态满足所有约束,当前动作的奖励可以用式(23)计算. 再结合式(24)的约束条件,可以将第n 个智能体在时隙t 的奖励{r}_{n}^{t} 表示为{r}_{n}^{t}=\left\{\begin{aligned} &{\mathcal{U}}_{n},\;\;{T}_{n}^{\text{total}}\le {\delta }_{n},{R}_{n}\ge {R}_{\text{th}},{\displaystyle \sum _{n=1}^{N}\lceil {\beta }_{n}\rceil {z}_{n,m}{f}_{n,m}^{\text{es}}\le {f}_{m}^{\text{es}}}\text{ },\\ &r,\;\;\text{其他,}\end{aligned}\right. (30) 其中
r 为一个取值为负的参数. 如果扩展为多智能体环境,当前状态对应的系统奖励{r}{(t)} 可以表示为所有智能体获得的奖励总和,即{r{(t)}} = \sum\limits_{n = 1}^N {r}_{n}^{t} . (31) 4.2 基于多智能体强化学习的资源调度算法设计
在多智能体环境中,一个智能体的策略和动作通常会影响其他的智能体,因此我们使用集中训练—分散执行架构以满足智能体之间共享信息的需求. 此外,我们引入深度确定性策略梯度算法,该算法通过策略网络将智能体的观测映射为一个确定的动作,以应对动作空间连续的问题. 因此,本文介绍所设计的基于多智能体强化学习的资源调度算法.
4.2.1 多智能体深度确定性策略梯度算法网络架构
集中训练—分散执行是多智能体强化学习的一种常用架构. 本文所提出的多智能体深度确定性策略梯度算法是在集中训练—分散执行架构的基础上进行扩展,通过引入深度确定性策略梯度算法以解决连续动作空间的问题,算法架构如图2所示.
在这种架构下,每个智能体(agent)上均单独部署一个actor网络,输入为智能体自身的观测
{o}_{n} ,每个智能体自身的决策不会依赖其他智能体的观测;每个智能体都对应一个集中式的critic网络,部署在控制中心上,每个critic网络收集全局的观测和所有智能体的动作,根据自身的参数{w}_{n} 评价状态和动作的价值,并通过反向传播以更新策略网络的参数{\theta }_{n} . 当训练结束后,智能体不再需要控制中心,每个智能体独立地与环境交互并在actor网络的指导下作出动作. 所提算法在每个智能体上部署了一个策略网络和一个目标网络,共同组成actor-critic结构中的actor部分. 每个智能体的价值网络部署在控制中心以收集全局的观测o、动作a和奖励r,它和目标网络共同组成actor-critic结构中的critic部分,o=(o1,o2,…,oN),a =(a1,a2,…,aN),r =(r(o1,a1),r(o2,a2),…,r(oN,aN)).1) 策略网络
图3为策略网络模型. 对于第
n 个智能体,策略网络的输入是智能体自身的观测{o}_{n} ,经过2层全连接的隐藏层,其激活网络为ReLu函数,输出层用sigmoid作为激活函数以限制动作空间,最后输出为二维动作. 策略网络的优化器采用自适应矩估计优化算法[22].2) 价值网络
图4为价值网络模型. 对于第
n 个智能体,其价值网络的输入是所有智能体的观测\boldsymbol{o} 和所有智能体的动作\boldsymbol{a} . 输入经过2层全连接的隐藏层,其激活网络为ReLu函数,然后输出一维Q 值. 价值网络的优化器也采用自适应矩估计优化算法[22].4.2.2 网络训练
深度神经网络为了保证有监督学习模型,要求数据满足独立同分布. 因此,深度神经网络算法通过经验回放对样本数据进行存储,然后利用随机采样更新深度神经网络参数,以实现数据之间的独立同分布并降低其关联性,解决了经验数据的相关性和非平稳分布问题[23]. 因此,本文所提出的多智能体确定性策略梯度算法同样采用经验回放机制,具体训练过程为:
对于第
n 个智能体,在时隙t ,actor网络根据自身的观测{o}_{n}^{t} ,以策略网络\pi ({o}_{n}^{t} ;{\theta }_{n}^{\, t} )作出动作{a}_{n}^{t} . 智能体执行动作{a}_{n}^{t} 后得到奖励值{r}_{n}^{\,t} 和下个状态的观测{o}_{n}^{t+1} . actor将时隙t 的一个样本({o}_{n}^{\,t} ,{a}_{n}^{\,t} ,{r}_{n}^{\,t} ,{o}_{n}^{\,t+1} )发送给控制中心,控制中心收集所有智能体在时隙t 的样本并合成({\boldsymbol{o}}^{\,t} ,{\boldsymbol{a}}^{t} ,{\boldsymbol{r}}^{\,t} ,{\boldsymbol{o}}^{\,t+1} )存储到全局经验回放内存缓冲区\mathcal{D} 中,当缓冲区\mathcal{D} 采样到一定数量的样本后开始训练网络.从经验回放内存缓冲区
\mathcal{D} 中随机选取数量为S 的小批量样本({\boldsymbol{o}}^{t} ,{\boldsymbol{a}}^{t} ,{\boldsymbol{r}}^{\,t} ,{\boldsymbol{o}}^{t+1} ). 对于第n 个智能体,根据时间差分法(temporal-difference,TD)[24]计算其TD目标:{y_n} = r_n^{\,t} + \gamma Q\left( {{{\boldsymbol{o}}^{t{{ + 1}}}},{{\boldsymbol{a}}^{t{{ + 1}}}};w_n'} \right) , (32) 其中
{\boldsymbol{a}}^{\,t+1}= ({a}_{1}^{t+1},{a}_{2}^{t+1} ,…, {a}_{n}^{t+1} ,…,{a}_{N}^{t+1}) ,而{a}_{n}^{t+1} 由目标网络\pi( {o}_{n}^{t+1} ;{\theta }_{n}' ) 所得.\pi({o}_{n}^{t+1};{\theta }_{n}') 为第n 个智能体在时隙t+1 的策略目标网络,{a}_{n}^{t+1} 为目标网络依据观测{o}_{n}^{t+1} 作出的动作.critic中价值网络的参数
{w}_{n} 可以通过最小化loss函数实现,loss函数定义为\mathcal{L}\left( {{w_n}} \right) = \mathbb{E}\left[ {{{\left( {Q\left( {{{\boldsymbol{o}}^t},{{\boldsymbol{a}}^t};{w_n}} \right) - {y_n}} \right)}^2}} \right] , (33) 其中
Q({\boldsymbol{o}}^{t},{\boldsymbol{a}}^{t} ;{w}_{n} )为部署在控制中心上的第n 个智能体对应的critic网络中的价值函数对于时隙t 状态和动作的评价. actor中策略网络的参数可以通过确定性策略梯度方法更新,其loss函数的梯度计算为\begin{aligned} & {\nabla _{{\theta _n}}}J({\theta _n}) = \mathbb{E} \left[ {{\nabla _{{\theta _n}}}\pi \left( {o_n^t;{\theta _n}} \right)} \right. \times \\ & \left. {{\nabla _{a_n^t}}Q\left( {{{\boldsymbol{o}}^t},a_1^t,a_2^t,… ,a_n^t,… ,a_N^t;{w_n}} \right)|a_n^t = \pi \left( {o_n^t;{\theta _n}} \right)} \right], \\ \end{aligned} (34) 其中
{\boldsymbol{o}}^{t}= ({o}_{1}^{t} , {o}_{2}^{t} ,…,{o}_{N}^{t}) 为所有智能体在时隙t 对于状态的观测. 通过不断更新策略网络和价值网络,最终的目标是找到能实现最大化长期奖励期望的最优策略,即{\pi ^{\text{*}}} = \mathop {\arg \max }\limits_{{{\boldsymbol{\pi}} ^t}} \left[ {\sum\limits_{t = 1}^\infty {{\gamma ^{t - 1}}{r(t)}} } \right], (35) 其中
{\boldsymbol{\pi }}^{\, t}= ({\pi }_{1}^{\,t},{\pi }_{2}^{\, t} ,…,{\pi }_{N}^{\, t} ) 表示由所有智能体在时隙t 的策略组成的当前策略向量.4.2.3 基于多智能体强化学习的资源调度优化算法
本文面向时间和能量敏感的端—边—云车路协同系统,提出了一种基于多智能体强化学习的资源调度算法,其流程如算法1所示.
算法1. 基于多智能体强化学习的资源调度算法.
输入:迭代次数最大值
max\_episode ,每次迭代的最大次数max\_step ,经验池规模batch\_scale ,贪婪因子\varepsilon ,智能体个数N ;输出:所有智能体的卸载决策
\boldsymbol{\beta } ,分配的计算能力\boldsymbol{f} 以及最终的总奖励r .① 初始化全局经验回放内存缓冲区
\mathcal{D} ;② 初始化策略网络参数
\boldsymbol{\theta } 和价值网络参数\boldsymbol{w} ;③ 初始化目标网络参数
{\boldsymbol{\theta }}'=\boldsymbol{\theta } 和{\boldsymbol{w}}'=\boldsymbol{w} ;④ for
episode=1 tomax\_episode do⑤ 初始化所有智能体的观测
\boldsymbol{o} ;⑥ for
step=1 tomax\_step do⑦ 每辆车各自生成随机数
k (0 < k < 1 );⑧ if
k < \varepsilon do⑨ 随机选择一个动作
{a}_{n}^{t} ;⑩ else
⑪ 选择动作
{a}_{n}^{t}=\pi ({o}_{n}^{t} ;{\theta }_{n}^{\,t} );⑫ end if
⑬ 智能体执行动作
{a}_{n}^{t} 并观察当前奖励值{r}_{n}^{\,t} 和 下一个状态{o}_{n}^{t+1} ;⑭ 将样本(
{o}_{n}^{t} ,{a}_{n}^{t} ,{r}_{n}^{\,t} ,{o}_{n}^{t+1} )上传至全局经验回 放内存缓冲区\mathcal{D} ;⑮ 令
{o}_{n}^{t}\leftarrow {o}_{n}^{t+1} ;⑯ for agent = 1 to
N do⑰ 从
\mathcal{D} 随机抽取S 个样本({\boldsymbol{o}}^{t} ,{\boldsymbol{a}}^{t} ,{\boldsymbol{r}}^{\,t} ,{\boldsymbol{o}}^{t+1} );⑱ 令
{y}_{n}={r}_{n}^{\,t}+\gamma Q ({\boldsymbol{o}}^{t+1} ,{\boldsymbol{a}}^{t+1} ;{w}_{n}' );⑲ 通过最小化loss函数更新价值网络
\mathcal{L}\left( {{w_n}} \right) = \mathbb{E}\left[ {{{\left( {Q\left( {{{\boldsymbol{o}}^t},{{\boldsymbol{a}}^t};{w_n}} \right) - {y_n}} \right)}^2}} \right] ;⑳ 根据样本策略梯度训练策略网络
\quad\quad\quad\quad\quad\quad\quad\begin{aligned} &{\nabla_{\theta_n}}J({\theta_n}) = {\mathbb{E}} \left[ {{\nabla _{{\theta_n}}}\pi \left( {o_n^t;{\theta_n}} \right)} \right. \times {\nabla _{a_n^t}}Q\left({{\boldsymbol{o}}^t},{a_1^t},\right.\\ &\left.{a_2^t},… ,{a_n^t},…,{a_N^t};{w_n} \right)|a_n^t ={\pi \left( {o_n^t;{\theta _n}} \right)} ]; \end{aligned} ㉑ 更新每个智能体的目标网络参数
\theta _n' = \lambda {\theta _n} + \left( {1 - \lambda } \right)\theta _n',w_n' = \lambda {w_n} + \left( {1 - \lambda } \right)w_n' ;㉒ end for
㉓ end for
㉔ end for
算法1首先初始化经验回放内存缓冲区
\mathcal{D} 、所有策略网络参数\boldsymbol{\theta } 和价值网络参数\boldsymbol{w} 以及所有目标网络参数{\boldsymbol{\theta }}' 和{\boldsymbol{w}}' (行①~③). 行④~㉔是对策略网络、价值网络以及对应目标网络的迭代训练过程. 首先随机初始化所有智能体的观测\boldsymbol{o} (行⑤),然后生成一个随机数k (0 < k < 1 ). 如果k < \varepsilon ,那么从动作空间中随机选择一个动作{a}_{n}^{t} ,否则通过策略网络选择动作{a}_{n}^{t}=\pi ({o}_{n}^{t} ;{\theta }_{n}^{\,t} )(行⑦~⑫). 接着执行动作{a}_{n}^{t} 并观察奖励值{r}_{n}^{\,t} 和下一个状态{o}_{n}^{t+1} ,然后将样本({o}_{n}^{t} ,{a}_{n}^{t} ,{r}_{n}^{\,t} ,{o}_{n}^{t+1} )上传至控制中心的全局经验回放内存缓冲区\mathcal{D} ,并更新所有智能体的状态(行⑬~⑮). 当经验缓冲区中存放的样本数达到batch\_scale ,从经验缓冲区中随机抽取S 个样本,将这些样本用于价值网络和策略网络参数的更新,每隔一定步数对目标网络的参数进行更新(行⑯~㉒). 当满足最大迭代次数max\_step 时,停止内层迭代,输出所有智能体的卸载决策\boldsymbol{\beta } 、分配的计算能力\boldsymbol{f} 以及最终的总奖励r ,直至完成max\_episode 次外层循环.需要注意的是,在训练网络时,策略网络需要智能体自身的观测、动作以及价值网络返回的
Q 值,而价值网络需要所有智能体的观测、动作和奖励信息. 所以将critic部署在云控制中心,而actor部署在车辆本身. 训练完成后,执行阶段只需要策略网络,不再需要价值网络,每个智能体可以根据自身的观测作出最佳决策.5. 实 验
本节通过大量实验来验证所提算法的有效性,具体的实验设置和结果分析将在本节列出. 为方便理解,表1给出主要的参数设置.
表 1 参数详细配置Table 1. Detailed Configuration of Parameters参数 取值 本地计算频率 {f}_{n}^{\mathrm{l}\mathrm{o}\mathrm{c}}/\mathrm{G}\mathrm{H}\mathrm{z} 0.5 \sim 1.0 本地传输功率 {p}_{n}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}/\mathrm{W} 0.5 \sim 1.0 任务的数据量 {d}_{n}/\mathrm{M}\mathrm{B} 1 \sim 10 任务脆弱性因子 {v}_{n} 0.001 \sim 1.0 路边单元的计算频率 {f}_{m}^{\mathrm{e}\mathrm{s}}/\mathrm{G}\mathrm{H}\mathrm{z} 54 路边单元覆盖区域半径 {\iota }_{m}/\mathrm{m} 400 路边单元覆盖区域最高时速 {h}_{m}/(\mathrm{k}\mathrm{m}·\mathrm{h}^{-1}) 60 任务可靠性阈值 {R}_{\mathrm{t}\mathrm{h}} 0.8 \sim 0.91 车辆数 N 8 \sim 60 云的计算频率 {f}^{C}/\mathrm{G}\mathrm{H}\mathrm{z} 36 云的传输速率 {\varpi }^{C}/\mathrm{M}\mathrm{b}\mathrm{p}\mathrm{s} 99.7 噪音功率 \sigma /\mathrm{d}\mathrm{B}\mathrm{m} -100 信道增益 {g}_{n} 1 恒定误码率 \rho {10}^{-26} 带宽 {B}_{m}/\mathrm{M}\mathrm{H}\mathrm{z} 50 任务的处理密度 {\omega }_{n} 100 \sim 1000 车辆频率的相关系数 \kappa {10}^{-27} 5.1 实验设置
实验所考虑的端—边—云车路协同系统包含1个云数据中心. 众所周知,云中心的计算能力远大于边缘服务器的计算能力,通常认为不受限制. 但为了量化云中心的计算能力,本文假设云中心由若干个服务器集群组成,每个服务器的计算能力为36.0 GHz;并且,服务器默认按需使用以节省开销,即当一个服务器的计算能力不够用时再开启新的服务器. 假定系统中有20个路边单元,每个路边单元配备3个Dell R230 边缘服务器,每个服务器的计算能力为18.0 GHz[25]. 每个路边单元覆盖的区域半径为400 m,最高时速为60 km/h. 为比较不同车辆数目对路边单元服务质量的影响,每个路边单元覆盖范围内的车辆数分布在10~60. 车辆的本地计算能力随机分布在0.5~1.0 GHz,任务的数据量随机分布在1~10 MB.
在所提算法中,策略网络的学习率固定为0.0001,价值网络的学习率固定为0.001,折扣因子
\gamma 设置为0.8,目标网络的软更新率\lambda =0.001 . 表2给出了本文所有超参数的设置.表 2 超参数列表Table 2. List of Hyperparameters超参数 取值 策略网络学习率 0.0001 价值网络学习率 0.001 经验回放缓冲区大小 {10}^{6} \gamma 0.8 \lambda 0.001 批大小 512 为了实现所提算法,每个智能体的策略网络和价值网络都是4层全连接神经网络,中间2层为隐藏层[26],神经元数量分别为64和48. 为验证所提算法的性能,本文将它与SPSO算法和DDPG算法进行对比:
1) 慢移动粒子群优化算法(SPSO)[27]是一种改进版的PSO算法,它在搜索最优解时通过减缓粒子运动,使得粒子在个体最优粒子和全局最优粒子的指导下搜索出更多的高质量解,具有较好的性能. 本文将其作为对比算法,运用于解决端—边—云架构下的车路协同资源调度问题.
2) 深度确定性策略梯度算法(DDPG)[28]是一种单智能体强化学习算法. 该算法使用actor-critic架构和DQN算法,用于解决具有连续动作空间的强化学习问题. 本文将其作为基准算法,运用于解决端—边—云架构下的车路协同资源调度问题.
5.2 实验结果
本文所提算法和SPSO算法、DDPG算法的评价指标均为式(24)中的目标函数,即综合体现时延和能耗优化效果的效用值函数. 并且,效用值越高,说明算法在优化时延和能耗的效果越好. 为全面评估3种算法的性能,实验中将观察在不同智能体数量N和权重
\alpha 下效用值的变化.为比较不同权重和车辆数的情况下3种算法所取得的系统总效用值,图5展示了3个代表性路边单元(分别是
N=10 ,N=30 ,N=50 )的系统总效用值. 如图5所示,不论权重\alpha 和车辆数N 如何变化,所提算法明显优于SPSO算法和DDPG算法. 具体来说,当N=10 时,所提算法相对于另外2种算法的优势并不显著;但随着车辆数增加,所提算法在动态变化的多智能体环境中优势逐渐体现,其系统总效用值明显高于SPSO算法和DDPG算法.为了更直观地比较3种算法,图6计算了不同权重
\alpha 下各算法的系统平均效用值,具体结果为:1) 当权重
\alpha =0. 2 时,表明当前系统更注重能效. 如图6(a)所示,所提算法实现的系统平均效用值显著高于SPSO算法和DDPG算法. 例如,当车辆数N=23 时,所提算法相比于SPSO算法,平均效用值最高可提升159. 57\mathrm{ }\mathrm{\%} ;当\mathrm{车}\mathrm{辆}\mathrm{数}N=60 时,相比于DDPG算法,平均效用值最高可提升221. 9\mathrm{\%} .2) 当权重
\alpha =0. 5 时,表明当前系统中时延和能效同等重要. 如图6(b)所示,所提算法实现的系统平均效用值依然明显高于SPSO算法和DDPG算法. 例如,当车辆数N = 25时,所提算法相比于SPSO算法,系统平均效用值最高可提升 99. 5%;当车辆数N = 50时,所提算法相比于DDPG算法,系统平均效用值最高可提升168. 3%.3) 当权重
\alpha =0. 8 时,表明当前系统更注重时延. 如图6(c)所示,所提算法实现的系统平均效用值仍然高于SPSO算法和DDPG算法. 例如,当车辆数N=30 时,所提算法相比于SPSO算法,系统平均效用值最高可提升35.2 %;当车辆数N=60 时,相比于DDPG算法,系统平均效用值最高可提升140.8 %.综合观察图6(a)(b)(c),可以发现当路边单元的车辆数较少时,3种算法的系统平均效用值相差不大. 随着车辆数的增加,3种算法的系统平均效用值虽然都呈上升趋势,但相比于SPSO算法和DDPG算法,所提算法实现的系统平均效用值增幅较大. 这是因为当系统中车辆较少时,车辆对资源的竞争并不激烈,各个算法均能较容易地找到近似最优解. 然而随着车辆增多,环境变得更为复杂,智能车之间的资源竞争更加激烈,SPSO算法容易陷入局部最优,DDPG算法甚至在车辆数
N=20 时就趋于收敛,这是因为单智能体算法不适用于动态变化的多智能体环境. 而所提算法可以通过迭代学习训练所有智能体的actor网络,无论环境如何变化,智能体都能够根据自身的观测作出决策使系统接近纳什均衡状态,因此可以适应系统车辆增加而作出最优决策. 这体现了所提算法在解决多智能车辆资源调度问题中的优越性. 此外,在云边资源有限的系统中,由于车辆对于通信资源和计算资源的竞争性,系统效用值不会随着车辆数的增加而无限增长. 因此,本文还探究了系统平均效用值的收敛性. 由图6可知,在资源给定的情况下,所提算法的系统平均效用值在车辆数N=48 时趋于收敛.给定一个端—边—云车路协同系统,图7进一步展示了采用3种算法后该系统中不同车辆所实现的效用值. 值得注意的是,图7中的每个柱状图对应的是图5中的相应折线图中3种算法的最优解. 例如,图5(a)中3种算法的系统总效用值最优解分别为8.84(本文算法),5.75(SPSO算法),8.67(DDPG算法);图7(a)则用柱状图展示了这3个最优解对应的系统中每个车辆实现的效用值.
如图7所示,所提算法可以保证系统中每辆车的效用值基本都不低于采用SPSO算法和DDPG算法取得的效用值. 具体来说,车辆数较少时,所提算法的优势并不明显;但随着车辆数增加,该算法获得的单个车辆的效用值明显高于SPSO算法和DDPG算法所获得的. 这是因为所提算法以最大化系统效用值为目的,通过不断地迭代学习直到所有智能体作出的决策使得系统接近纳什均衡状态. 在这种状态下,智能体可以作出最优的资源调度方案,从而充分利用系统中的资源,以实现较高的卸载效用值. 观察图7(c)(f)(i)可以发现,当车辆数较多时,所提算法和SPSO算法都存在某些智能体的效用值相对较低的情况,这是因为在资源受限的情况下存在一些不需要卸载就能在本地完成执行的任务,这些任务的资源竞争力较弱,优先级较低,分配到的资源相对较少,其效用值自然会比较低. 但是在给定资源相同的情况下,所提算法可以保证大部分车辆获得较高的效用值,而SPSO算法只能保证少部分车辆具有相对较高的效用值(低于本文所提算法),且存在部分车辆效用值为0的情况(例如
\alpha =0.2 ,N=30 时). 并且随着车辆数增多,效用值为0的车辆数逐渐增多,这是因为SPSO算法容易陷入局部最优,为了满足所有车辆获得的计算能力总和不超过路边单元计算能力的约束,SPSO算法将放弃卸载一些能够在本地处理的任务,从而导致这些任务的卸载效用值为0. 而DDPG算法则无法适应动态复杂的多智能体环境. 由图7可知,随着资源竞争愈发激烈,DDPG算法输出的每个智能体的卸载决策和资源分配策略基本相同,即将边缘服务器的资源平均分配,使得所有智能体的效用值基本相同,却忽略了任务的多样性以及对于云中心计算资源的利用,从而导致智能体的效用值普遍较低且系统效用值过早收敛.通过以上实验结果分析可以看出,所提算法与SPSO算法和DDPG算法相比具有明显优势,能够充分利用路边单元的计算资源,显著提高卸载效用,从而优化系统时延和能耗,有效解决了端—边—云车路协同系统中的资源调度优化问题.
5.3 硬件平台测试
在5.2节中我们对所提算法进行了训练,并验证了该算法相较于SPSO算法和DDPG算法在多智能体环境中的优越性. 本文所提算法采用了集中训练—分散执行架构,主要目的是训练actor网络,使其能够输出最优动作(即最优资源调度方案);当训练完成后,actor网络可以根据自身对于环境的观测独立地作出最优动作. 该网络也将最终部署于端—边—云车路协同系统中的车辆终端. 因此,为进一步验证所提算法的训练效果,将训练过的actor网络部署在真实的硬件平台上进行测试. 如图8所示,本文选取的硬件平台为NVIDIA Jetson AGX Xavier开发板[29]. 不失一般性,我们部署了3种不同量级的actor网络,并测试了这些网络在不同权重下(
\alpha =0.2 ,0. 5 ,0.8 )的效果. 考虑到开发板的资源限制,将3种actor网络对应的车辆数分别设置为N=10 ,N=17 ,N=25 .在本组实验中,每个actor网络都产生了10个样本. 表3列举了不同权重下3种actor网络的测试样本均值和训练样本均值. 如表3中结果所示,测试所获得的系统平均效用值与训练所获得的系统平均效用值非常接近,表明actor网络已获得了较好的训练,可以根据自身观测作出最优动作(决策). 并且,测试结果也验证了所提算法训练的actor网络部署在真实硬件平台的可行性. 因此,该网络未来可直接部署于端—边—云车路协同系统中的车辆终端.
表 3 不同权重下3种actor网络的系统平均效用值Table 3. Average System Utility Values Achieved by Three actor Networks Under Different Weights权重 \alpha 车辆数 N 测试样本均值 训练样本均值 0.2 10 8.41 8.56 17 13.77 14.51 25 19.42 20.39 0.5 10 7.77 7.79 17 11.66 12.51 25 18.52 18.86 0.8 10 6.88 7.21 17 11.78 11.85 25 16.42 16.30 6. 结 论
本文面向智能交通系统中时间和能量敏感的车辆终端应用,提出了一种基于多智能体强化学习的端—边—云车路协同资源调度方法,以实现可靠性约束下的时延和能耗优化. 该方法采用集中训练—分散执行的框架,并结合深度确定性策略梯度算法来训练和构建深度神经网络,以决策任务的卸载和计算资源的分配. 本文定义了一个效用函数以量化采用基于端—边—云架构的任务卸载和资源调度后,车辆任务在时延和能耗方面的改进. 实验结果表明,相比现有算法,所提方法可以充分利用端—边—云车路协同系统的计算资源,获得最高的效用值,验证了所提方法的有效性. 此外,本文还验证了所提方法部署在实际硬件平台的可行性,为将该算法部署于实际的端—边—云车路协同系统奠定了实验基础. 在未来的工作中,我们将搭建完整的端—边—云车路协同系统硬件平台,并结合实际部署效果对所提算法展开进一步优化.
作者贡献声明:郑莹莹实现研究方案,验证实验,撰写论文;周俊龙提出研究思路,设计研究方案,修改论文;申钰凡和丛佩金协助实验验证,参与论文撰写与修改;吴泽彬指导研究方案,参与论文撰写与修改.
-
表 1 参数详细配置
Table 1 Detailed Configuration of Parameters
参数 取值 本地计算频率 {f}_{n}^{\mathrm{l}\mathrm{o}\mathrm{c}}/\mathrm{G}\mathrm{H}\mathrm{z} 0.5 \sim 1.0 本地传输功率 {p}_{n}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{s}}/\mathrm{W} 0.5 \sim 1.0 任务的数据量 {d}_{n}/\mathrm{M}\mathrm{B} 1 \sim 10 任务脆弱性因子 {v}_{n} 0.001 \sim 1.0 路边单元的计算频率 {f}_{m}^{\mathrm{e}\mathrm{s}}/\mathrm{G}\mathrm{H}\mathrm{z} 54 路边单元覆盖区域半径 {\iota }_{m}/\mathrm{m} 400 路边单元覆盖区域最高时速 {h}_{m}/(\mathrm{k}\mathrm{m}·\mathrm{h}^{-1}) 60 任务可靠性阈值 {R}_{\mathrm{t}\mathrm{h}} 0.8 \sim 0.91 车辆数 N 8 \sim 60 云的计算频率 {f}^{C}/\mathrm{G}\mathrm{H}\mathrm{z} 36 云的传输速率 {\varpi }^{C}/\mathrm{M}\mathrm{b}\mathrm{p}\mathrm{s} 99.7 噪音功率 \sigma /\mathrm{d}\mathrm{B}\mathrm{m} -100 信道增益 {g}_{n} 1 恒定误码率 \rho {10}^{-26} 带宽 {B}_{m}/\mathrm{M}\mathrm{H}\mathrm{z} 50 任务的处理密度 {\omega }_{n} 100 \sim 1000 车辆频率的相关系数 \kappa {10}^{-27} 表 2 超参数列表
Table 2 List of Hyperparameters
超参数 取值 策略网络学习率 0.0001 价值网络学习率 0.001 经验回放缓冲区大小 {10}^{6} \gamma 0.8 \lambda 0.001 批大小 512 表 3 不同权重下3种actor网络的系统平均效用值
Table 3 Average System Utility Values Achieved by Three actor Networks Under Different Weights
权重 \alpha 车辆数 N 测试样本均值 训练样本均值 0.2 10 8.41 8.56 17 13.77 14.51 25 19.42 20.39 0.5 10 7.77 7.79 17 11.66 12.51 25 18.52 18.86 0.8 10 6.88 7.21 17 11.78 11.85 25 16.42 16.30 -
[1] Li Zhu, Yu F R, Wang Yige, et al. Big data analytics in intelligent transportation systems: A survey[J]. IEEE Transactions on Intelligent Transportation Systems, 2019, 20(1): 383−398 doi: 10.1109/TITS.2018.2815678
[2] 韩牟,杨晨,华蕾,等. 面向移动边缘计算车联网中车辆假名管理方案[J]. 计算机研究与发展,2022,59(4):781−795 Han Mu, Yang Chen, Hua Lei, et al. Vehicle pseudonym management scheme in Internet of vehicles for mobile edge computing[J]. Journal of Computer Research and Development, 2022, 59(4): 781−795 (in Chinese)
[3] Yu Rong, Zhang Yan, Gjessing S, et al. Toward cloud-based vehicular networks with efficient resource management[J]. IEEE Network: The Magazine of Computer Communications, 2013, 27(5): 48−55
[4] Ding Yan, Li Kenli, Liu Chubo, et al. A potential game theoretic approach to computation offloading strategy optimization in end-edge-cloud computing[J]. IEEE Transactions on Parallel and Distributed Systems, 2022, 33(6): 1503−1519 doi: 10.1109/TPDS.2021.3112604
[5] 佟兴,张召,金澈清,等. 面向端边云协同架构的区块链技术综述[J]. 计算机学报,2021,44(12):2345−2366 Tong Xing, Zhang Zhao, Jin Cheqing, et al. Blockchain for end-edge-cloud architecture: A survey[J]. Chinese Journal of Computers, 2021, 44(12): 2345−2366 (in Chinese)
[6] Kai Caihong, Zhou Hao, Yi Yibo, et al. Collaborative cloud-edge-end task offloading in mobile-edge computing networks with limited communication capability[J]. IEEE Transactions on Cognitive Communications and Networking, 2021, 7(2): 624−634 doi: 10.1109/TCCN.2020.3018159
[7] 段文雪,胡铭,周琼,等. 云计算系统可靠性研究综述[J]. 计算机研究与发展,2020,57(1):102−123 Duan Wenxue, Hu Ming, Zhou Qiong, et al. Reliability in cloud computing system: A review[J]. Journal of Computer Research and Development, 2020, 57(1): 102−123 (in Chinese)
[8] Lv Zhihan, Bellavista P, Song Houbing. Sustainable solutions for the intelligent transportation systems [EB/OL]. [2022-11-17].https://dl.airtable.com/.attachments/a6886226b96834c5aeac1da84634ab49/1a2b6b17/SustainableSolutionsfortheIntelligentTransportationSystems.pdf
[9] Wan Shaohua, Li Xiang, Xue Yuan, et al. Efficient computation offloading for Internet of vehicles in edge computing-assisted 5G networks[J]. The Journal of Supercomputing, 2020, 76(4): 2518−2547 doi: 10.1007/s11227-019-03011-4
[10] Zhu Xiaoyu, Luo Yueyi, Liu Anfeng, et al. Multiagent deep reinforcement learning for vehicular computation offloading in IoT[J]. IEEE Internet of Things Journal, 2021, 8(12): 9763−9773 doi: 10.1109/JIOT.2020.3040768
[11] Cao Zilong, Zhou Pan, Li Ruixuan, et al. Multiagent deep reinforcement learning for joint multichannel access and task offloading of mobile-edge computing in industry 4.0[J]. IEEE Internet of Things Journal, 2020, 7(7): 6201−6213 doi: 10.1109/JIOT.2020.2968951
[12] Sun Yuxuan, Guo Xueying, Song Jinhui, et al. Adaptive learning-based task offloading for vehicular edge computing systems[J]. IEEE Transactions on Vehicular Technology, 2019, 68(4): 3061−3074 doi: 10.1109/TVT.2019.2895593
[13] Wang Zhe, Zhao Dongmei, Ni Minming, et al. Collaborative mobile computation offloading to vehicle-based cloudlets[J]. IEEE Transactions on Vehicular Technology, 2021, 70(1): 768−781 doi: 10.1109/TVT.2020.3043296
[14] Zeng Feng, Chen Qiao, Meng Lin, et al. Volunteer assisted collaborative offloading and resource allocation in vehicular edge computing[J]. IEEE Transactions on Intelligent Transportation Systems, 2021, 22(6): 3247−3257 doi: 10.1109/TITS.2020.2980422
[15] Luo Quyuan, Li Changle, Luan T, et al. Minimizing the delay and cost of computation offloading for vehicular edge computing[J]. IEEE Transactions on Services Computing, 2021, 15(5): 2897−2909
[16] Zhao Junhui, Li Qiuping, Gong Yi, 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
[17] Wang Hansong, Li Xi, Ji Hong, et al. Dynamic offloading scheduling scheme for MEC-enabled vehicular networks [C]//Proc of IEEE/CIC Int Conf on Communications in China. Piscataway, NJ: IEEE, 2018: 206−210
[18] Dai Penglin, Hu Kaiwen, Wu Xiao, et al. A probabilistic approach for cooperative computation offloading in MEC-assisted vehicular networks[J]. IEEE Transactions on Intelligent Transportation Systems, 2022, 23(2): 899−911 doi: 10.1109/TITS.2020.3017172
[19] 许小龙,方子介,齐连永,等. 车联网边缘计算环境下基于深度强化学习的分布式服务卸载方法[J]. 计算机学报,2021,44(12):2382−2405 doi: 10.11897/SP.J.1016.2021.02382 Xu Xiaolong, Fang Zijie, Qi Lianyong, et al. A deep reinforcement learning-based distributed service offloading method for edge computing empowered Internet of vehicles[J]. Chinese Journal of Computers, 2021, 44(12): 2382−2405 (in Chinese) doi: 10.11897/SP.J.1016.2021.02382
[20] Ning Zhaolong, Dong Peiran, Wang Xiaojie, et al. Deep reinforcement learning for vehicular edge computing: an intelligent offloading system[J]. ACM Transactions on Intelligent Systems and Technology, 2019, 10(6): 1−24
[21] Althamary I, Huang C W, Lin P, et al. A survey on multi-agent reinforcement learning methods for vehicular networks [C]//Proc of the 15th Int Wireless Communications and Mobile Computing Conf. Piscataway, NJ: IEEE, 2019: 1154−1159
[22] Kingma D P, Ba J. Adam: A method for stochastic optimization [J]. arXiv preprint, arXiv: 1412.6980, 2014
[23] 卢海峰,顾春华,罗飞,等. 基于深度强化学习的移动边缘计算任务卸载研究[J]. 计算机研究与发展,2020,57(7):1539−1554 Lu Haifeng, Gu Chunhua, Luo Fei, et al. Research on task offloading based on deep reinforcement learning in mobile edge computing[J]. Journal of Computer Research and Development, 2020, 57(7): 1539−1554 (in Chinese)
[24] Sutton R S, Maei H R, Precup D, et al. Fast gradient-descent methods for temporal-difference learning with linear function approximation [C]//Proc of the 26th Annual Int Conf on Machine Learning. New York: ACM, 2009: 993−1000
[25] Cao Kun, Li Liying, Cui Yangguang, et al. Exploring placement of heterogeneous edge servers for response time minimization in mobile edge-cloud computing[J]. IEEE Transactions on Industrial Informatics, 2020, 17(1): 494−503
[26] Chen Zhao, Wang Xiaodong. Decentralized computation offloading for multi-user mobile edge computing: A deep reinforcement learning approach[J]. EURASIP Journal on Wireless Communications and Networking, 2020, 2020(1): 637−646
[27] Yi Zhang, Liu Yu, Zhou Junlong, et al. Slow-movement particle swarm optimization algorithms for scheduling security-critical tasks in resource-limited mobile edge computing[J]. Future Generation Computer Systems, 2020, 112: 148−161 doi: 10.1016/j.future.2020.05.025
[28] Lillicrap T P, Hunt J J, Pritzel A, et al. Continuous control with deep reinforcement learning [J]. arXiv preprint, arXiv: 1509.02971, 2015
[29] NVIDIA Corporation. NVIDIA Jetson AGX Xavier series [EB/OL]. (2022-10-31)[2022-11-17].https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-agx-xavier/
-
期刊类型引用(5)
1. 宋朋,赵伯鸾. 农业机械车路协同辅助驾驶路线规划系统的设计与实现. 农机化研究. 2025(06): 232-238 . 百度学术
2. 尹璐,周俊龙,孙晋,吴泽彬. 不确定性感知的边缘计算任务调度算法. 控制与决策. 2024(07): 2405-2413 . 百度学术
3. 侯祥鹏,兰兰,陶长乐,寇小勇,丛佩金,邓庆绪,周俊龙. 边缘智能与协同计算:前沿与进展. 控制与决策. 2024(07): 2385-2404 . 百度学术
4. 李超,李文斌,高阳. 图多智能体任务建模视角下的协作子任务行为发现. 计算机研究与发展. 2024(08): 1904-1916 . 本站查看
5. 夏思洋,朱学芳. 5G环境下基于边缘计算的图书馆智慧服务响应能力研究. 情报理论与实践. 2023(12): 21-27+51 . 百度学术
其他类型引用(0)