陈 鸣,吴 琼,赵洪蕊,姜玉稀
(1.上海三思电子工程有限公司,上海 201100;2.上海三思科技发展有限公司,上海 201100)
智慧交通是建设智慧城市的重要基础,是推进城市现代化的重要标志[1]。2020年9月,交通运输部提出交通领域新型基础设施建设的具体落实举措,旨在加快构建智慧交通网络,提高出行效率和出行安全[2]。随着B5G技术的发展[3-4],智慧交通迎来了更多的发展机遇,集智慧感知、智慧传输、智慧管理为一体[5],采集并处理海量的实时交通数据,有助于加强交通网络的检测和管理。智慧交通采用边缘计算[6-7],赋予网络边缘计算能力,在本地处理数据,应对日益增长的数据处理需求。然而出于设备成本的考虑,边缘计算网络的处理器难以配置较为充裕的冗余性计算资源和存储空间[8]。鉴于边缘处理器有限的计算能力,如何根据实时交通数据的流量和边缘处理器的状态进行资源合理分配是边缘计算一个待解决的难点[9]。
目前,国内外对于边缘计算的相关问题进行了大量研究,但针对于智慧高速架构中的边缘计算资源调度问题关注较少。Mao等人[10]提出任务迁移卸载算法,该算法只依赖于当前系统的状态,而不考虑当前系统中的带宽状态、计算需求等问题;Meng等人[11]提出在有限计算能力的情况下,通过优化计算任务队列下的计算卸载问题来实现计算任务完成时延最小,但该方法仅适用于单服务器场景。Chen等人[12]考虑到边缘处理器的功耗问题,通过设定边缘处理器的功耗阈值确定边缘处理器的状态,同时利用 Lyaponuv方法优化资源的分配,但根据功耗判断状态仍不够完善。
根据当前方法的不足,本文提出了一种面向智慧高速网络节点边缘处理器的资源配优化算法,该算法考虑了智慧高速网络节点的层次化结构,对边缘处理器的工作状态进行了建模,根据其工作状态进行资源配置优化。实验表明,本文算法可以在处理突发事件时能通过资源配置有效降低时延,使智慧高速网络节点数据处理传输更加稳定可靠。
智慧高速网络包括三部分:云端、边缘处理器和外接设备[13]。云端负责接收数据及下发任务,起到统筹规划全局的作用;边缘处理器是智慧高速网络的节点,从云端接收任务并下发至外接设备执行,同时通过边缘计算合理配置资源并进行数据计算处理,最终将收集处理完毕的数据传回至云端;外接设备包括气象传感器、摄像头、GPS及雷达等,其主要工作是负责收集数据以及执行边缘处理器下发的任务。智慧高速网络结构如图1所示。
图1 智慧高速网络节点结构图Fig.1 Node structure diagram of intelligent high-speed network
由图1可以看出,智慧高速网络是一种层次化网络[14],云端为控制层,外接设备为执行层,而边缘处理器作为中间层起到了桥梁作用,连接着云端和外接设备,从而形成一种层次化网络结构。例如云端下发收集实时路段气象信息这一任务至边缘处理器,边缘处理器在接收任务后控制气象传感器获取当前高速路段气象信息,其中气象传感器收集的是最原始的数据。边缘处理器对数据进行计算和简化,并且上传到云端。同时,经过处理的信息将显示在当前路段标志牌上提醒来往车辆。此外,云端还可以直接发布边缘计算任务给边缘处理器,边缘处理器将任务分解成不同工作给相应的外接设备执行。利用边缘处理器将外接设备所采集的数据直接在本地进行简化和处理,在提高信息时效性的同时可以减少对传输速率、通信链路带宽的需求与消耗[15]。
基于图1所示的智慧高速网络节点结构,通过边缘计算算法设计,优化网络节点边缘处理器资源配置能力,联合多个网络节点边缘处理器组成一个灵活分配边缘计算任务并具有故障自愈性的智慧高速系统。
本文通过云端与边缘处理器之间的传输总时延[16]来表征边缘处理器的工作状态。传输总时延T的计算公式为:
(1)
式中,Tg为云端下发任务至边缘处理器所产生的时延,可由云端下发任务时加入的时间戳T1和边缘处理器接收到数据时的本地时间T2之差得出。Tp为边缘处理器解析接收到的任务所产生的时延,可由边缘处理器接收到数据时的本地时间T2和边缘处理器为各外接传感器分配任务时,在数据中加入的时间戳T3之差得出。j为连接到边缘处理的第j个外接传感器;Tdj为边缘处理器下放任务给外接传感器j后,其返回数据所产生的时延,可由边缘处理器为各外接传感器分配任务时,在数据中加入的时间戳T3和边缘处理器接收到外接传感器返回数据时的本地时间T4之差得出。Trj由两部分时延组成,一部分时延由边缘处理器将外接传感器返回的数据进行预处理产生;另一部分时延由边缘处理器将处理后的数据回传给云端时产生,可将边缘处理器接收到外接传感器返回数据时的本地时间T4作为时间戳加入数据中,由云端接收到回传数据时的本地时间T5和T4之差得出。
由计算得出的传输总时延T对边缘处理器的工作状态进行划分,划分规则如表1所示。其中,Tnormal为最大正常工作时延的阈值,Terror为最大故障工作时延的阈值。
表1 传输总时延与边缘处理器工作状态对应关系
智慧高速网络中,云端下发任务给对应边缘处理器,边缘处理器再进行执行。基于工作状态模型,单个边缘处理器执行任务负载过大时,将处于繁忙或错误工作状态。在本文设计的智慧高速网络中,云端存储每个边缘处理器的任务和数据备份作为数据镜像,当边缘处理器开始工作时向云端索要任务与数据备份。相应的,边缘处理器完成任务后会更新数据镜像反馈给云端,当云端发出新的任务时,边缘处理器再接收新的数据镜像并执行任务。边缘处理器执行任务有3个重要规则:更新、获取、恢复。
(1) 更新(边缘处理器执行任务时)
如果边缘处理器发现其数据镜像不存在,则会创建一个新的数据镜像;否则用边缘处理器的任务执行结果数据更新数据镜像的数据。在存储数据时使用时间戳标记最新的更新时间。如果云端生成新的任务时,数据镜像中的任务将更新。
(2) 获取(边缘处理器收到任务时)
边缘处理器向云端订阅最新的数据镜像。云端不需要知道哪个边缘处理器订阅了数据镜像,只需根据边缘处理器编号将数据镜像发送到边缘处理器。
(3) 恢复(边缘处理器重启时)
故障边缘处理器重启恢复时,会订阅存储在云端中的最新数据镜像。检查数据镜像更新的时间戳和本地数据镜像的时间戳。如果本地较新,则云端的数据镜像将被更新,否则更新本地的数据镜像。
上节描述了本文智慧高速网络节点边缘处理器的任务执行规则,这些规则使得多个边缘处理器之间进行资源配置成为可能。资源配置优化基于工作状态模型,其本质是确保边缘处理器处于正常工作状态,边缘处理器的工作状态转换条件如图2所示。本文所提出的资源配置优化算法包括两部分:一是应对边缘处理器的繁忙工作状态;二是应对边缘处理器的故障工作状态。
图2 边缘处理器工作状态转移图Fig.2 Edge processor working state transition diagram
2.2.1 繁忙工作状态边缘处理器资源配置优化
边缘处理器设备在繁忙工作状态下执行边缘计算。当总时延超过最大正常工作时延Tnormal时,表明边缘处理器设备负载过大,边缘计算效率降低,此时单个边缘处理器无法满足云端下发的边缘计算任务。因此在繁忙工作状态下,需要联合多个边缘处理器进行边缘计算资源配置优化,具体如图3所示。
图3 繁忙工作状态边缘处理器资源配置Fig.3 Edge processor resource configuration in busy state
设定高速公路的起点至终点方向为正方向,等间隔安装n个边缘处理器,依次记为D1,D2,D3,D4,…,Dk-1,Dk,Dk+1,…,Dn。由于各边缘处理器的计算资源和处理数据的能力有限,现根据高速公路的线性特性,针对繁忙工作状态和故障工作状态下的各边缘处理器的资源配置进行优化。以Dk当前工作状态作为判断标准,资源配置优化流程如下:
① 云端得知Dk处于繁忙工作状态;
② 云端寻找与Dk相邻的Dk+1和Dk-1;
③ 云端将下一时刻要发送给Dk的任务,按照任务相关程度的高低发送给另一个Di,其中Di∈{Dk-1,Dk+1}。
④ 云端再次获取Dk的工作状态,若仍处于繁忙工作状态,则重复步骤①~③,直至云端得知边缘处理器Dk已恢复正常工作状态。
2.2.2 故障工作状态边缘处理器资源配置优化
当Dk处于故障工作状态时,资源配置优化流程如下:
① 各个边缘处理器处于正常工作状态时,向其相邻边缘处理器发送其设备序号,即Dk向Dk-1和Dk+1发送其设备序号;
② 2Dk-1和Dk+1若未接收到应处于正常工作状态的Dk的设备序号,则判定Dk处于故障工作状态,并通知云端;
③ 云端得知Dk处于故障工作状态,将其从边缘处理器设备列表中删除,并对所有边缘处理器进行重新编号;
④ 云端将下一时刻要发送给出现故障的Dk任务,根据任务与边缘处理器之间斯皮尔曼相关系数的大小作为依据,发送给另一个Di,其中Di∈{Dk-1,Dk+1};
⑤ 处于故障状态的Dk恢复正常工作后,云端重新将其加入边缘设备列表中,并对所有边缘处理器进行重新编号。
其中,云端调度的任务与边缘处理器之间的相关程度采用斯皮尔曼相关系数进行计算,如式(2)所示。其值用来衡量云端下发的任务在边缘处理器中执行的必要性。若计算值大,则表明该任务可由当前边缘处理器执行;若计算值小,则表明该任务应由其他边缘处理器执行。
(2)
为了验证本文提出的优化算法,根据建立的智慧高速网络结构与边缘处理器工作状态模型,进行仿真实验。实现资源配置优化的伪代码如算法1所示。
在仿真时,假设系统中共有5个边缘处理器,同时假设数据传输速度是确定的,此时,边缘处理器处理数据时产生的时延对总时延的影响较大,所以采样点的初始时延由前一采样间隔内云端发布的任务数据量和边缘处理器的处理能力以及各传输时延决定。在未进行资源配置优化的情况下,5个边缘处理器在各采样时间点的总时延如图4所示。设定Tnormal为3 ms,边缘处理器设备4在T12时刻总时延超过3 ms,即进入繁忙工作状态,由于云端没有进行合理的资源分配,导致该边缘处理器设备在T12时刻之后始终处于繁忙工作状态。
图4 繁忙工作时多边缘处理器总延时变化图Fig.4 Variation diagram of total delay of multi-edge processor during busy working state
以表2中资源配置优化的伪代码为核心,在采用资源优化算法的情况下,5个边缘处理器在各采样时间点的总时延如图5所示。边缘处理器设备4在T12采样时刻进入繁忙工作状态,通过资源配置优化后,由边缘处理器设备5承接了下一时刻云端原本将下发给边缘处理器设备4的任务。在T13采样时刻,边缘处理器设备4的总时延低于3 ms,重新变为正常工作状态。
图5 资源配置优化后多边缘处理器总延时变化图Fig.5 Variation diagram of total delay of multi-edge processor after resource allocation optimization
由此可见,在未进行资源配置优化的情况下,当边缘处理器进入繁忙工作状态之后,云端将继续为其分配任务,导致该边缘处理器将长时间处于繁忙工作状态,这可能会影响该边缘处理器的工作效率;同时,其他处于正常工作状态的边缘处理器的资源难以得到合理利用。在进行资源配置优化之后,可以将各边缘处理器的总时延降低至3 ms以下,合理利用了边缘处理器的资源。
在智慧高速系统中,当边缘处理器出现故障后,实现自愈调度控制,图6对这一过程进行了推演。
图6 故障工作状态边缘处理器资源配置Fig.6 Edge processor resource allocation during fault working state
图6中,Dk颜色变为黑色,代表Dk出现故障,此时自愈调度算法控制相邻Dk-1、Dk+1承接故障Dk的工作;Dk-1、Dk+1承接后,颜色变为红色,表示进入繁忙工作状态,因此对繁忙Dk-1与Dk+1进行资源配置,配置完成后,Dk-1、Dk+1、Dk-2、Dk+2处于一个相对正常的工作状态;Dk不再执行边缘计算任务,同时整个边缘计算层的平均时延降低,直至Dk恢复正常。
本文以建设智慧高速为背景,将智慧高速网络节点视为边缘处理器并引入边缘计算。在边缘处理器收集到各种数据后,直接在本地通过边缘计算得到处理后的信息,从而大大提高了信息处理的时效性,也可以有效提高分布式组网传输速率,并减少对通信链路带宽的苛刻要求。本文设计了边缘计算方案,通过对执行边缘计算任务的总时延进行监控,总时延的大小分别对应“正常、繁忙、故障”三种工作状态模式,按照边缘计算方案执行任务均衡分配和调度。为了保证边缘计算层的稳定性,当故障发生时,采用自愈调度方案,云端不直接进行干预。通过建立工作状态模型与实验仿真验证本文边缘计算算法设计的合理性与有效性,实验结果表明,当边缘处理器发生故障时,相邻处理器能够承接其任务,并且边缘设备处理的总时延可以控制在3 ms以下。