潘煜 吴九天 孙宇筠 斯方超 俞鑫
关键词:边缘计算;
车辆雾计算;
任务卸载;
响应时间
0 引言
在现代计算机技术背景下,互联网实现了人与人之间的连接,物联网则以互联网为基础进行延伸,通过微波雷达传感器、热敏传感器等各类传感设备实现了人-物、物-物之间的连接[1]。
在交通运输领域,智慧交通系统作为基于物联网提出的一个重要的应用方向,通过与大数据、人工智能、云计算、自动控制等技术的有效结合,集成应用于交通管理体系,使得人、车、路之间紧密配合,实现交通运输的高效率、交通出行的安全性和交通管理的便捷性,从而为人们提供更好的出行服务[2]。
随着智能路网、智慧出行、智慧停车等项目的推进与实现,智慧交通系统正处于快速发展的时代,与之相对的许多挑战亟需攻克[3]。一方面,随着日常生活中车辆使用的普及,车-路、车-人,以及车-车之间通信会产生巨量的信息,控制传递这些海量数据信息则需要同时满足高带宽和低延时的性能要求,而传统的云计算在处理大量数据时往往会出现带宽负载大和延迟高的问题,造成了成本的极大提升。另一方面,将数据传送到云计算中心往往有很长的传输距离,长距离的信息传输会增大用户个人隐私信息泄露的风险,此外,大量未经处理信息的判断也会对云中心造成很大的负担[4]。
为解决上述问题,降低云计算中心信息处理的负荷,人们提出了边缘计算的概念。边缘服务器相当于一个小型的云计算中心,与移动设备相比有较高的计算能力。這些移动边缘服务器处于网络中心的边缘,与用户设备之间的距离大幅降低,能有效降低因传输造成的延迟以及隐私泄露的风险[1]。另外,随着技术进步,车载设备的性能提升,也使其足以作为一个雾服务器来提供服务,分担边缘服务器的压力。
1 边缘计算概述
智慧交通系统中云计算是至关重要的一部分,它一方面能提供超强的计算能力,另一方面能方便快捷的进行资源调度、信息共享,使得海量的数据得到集成化管理,能更好的帮助交通部门的日常管理以及为社会公众提供服务。智慧交通系统主要通过传感器、摄像头等前端物理设备获取数据并上传给云中心,云中心完成计算任务再进行数据传输来完成信息交互。随着交通量的增长和人们对高质量网络服务的需求,仅依靠云中心的计算已经难以适应智慧交通发展的需要,因此提出边缘计算的概念。
边缘计算是云计算的一种延伸,是设置在道路周边的一些小型服务器,能处理云中心的部分或全部任务。云中心虽然拥有强大的计算处理能力,但其与移动设备之间在空间上长远的传输距离导致的问题依旧无法解决,始终无法满足低延迟的服务要求。而边缘计算分布在网络的边缘地带,拉近与用户终端的传输距离,有效地解决了数据传输延迟高的问题。
1.1 边缘计算基本架构
如图1 所示,边缘计算主要包含云中心、边缘云、移动设备这三个基本组件[5]。移动设备是指用户使用的各种终端设备,包含智能手机、笔记本电脑、智能汽车等,是向边缘计算服务器发送任务请求的主体;
边缘云则由多种移动计算服务器组成,能对移动设备的卸载任务进行本地化计算处理,减少因超远距离传输或移动设备计算缓慢产生的延迟;
云中心是布置在网络核心区域的高性能服务器,负责储存和共享大量的数据信息,解决超出边缘云计算能力的任务,对整个网络系统进行控制。
1.2 边缘计算的特点
⑴ 能耗低,性能强。移动设备容易受到电池容量和性能的限制,在执行大型应用任务时,不仅会占用大量的资源空间,还容易导致能耗迅速上升。通过将这些复杂的任务卸载到边缘计算服务器上进行计算,不仅能提高信息处理效率,也能减少移动设备的能源消耗,提升用户的服务体验。
⑵ 时延低。相比于将大量数据传送到云端计算中心进行处理再进行回传处理,边缘计算服务器能发挥在空间中与移动设备更近的距离优势,有效地减少网络带宽占用的同时,还能更快地完成计算任务及反馈,实现网络时延降低,进一步提升用户体验。
⑶ 感知性强。由于边缘计算服务器的分布距离移动设备更近,能够迅速准确地捕捉用户的地理位置等实时信息,并以此来为用户提供更加准确、优质的服务。
⑷ 安全性高。边缘计算可以避免大容量数据在网络上进行传输时存在的隐私数据容易泄露的问题,对一些必要的数据进行匿名、加密等预处理,提升了数据传输的安全性。
1.3 边缘计算任务卸载
越来越多的用户选择在终端设备上处理各种业务,但移动设备往往受到体积、质量的限制,其计算能力和存储空间总是有限的。任务卸载的基本思想是将移动设备无法独立完成的任务转移到距离相近的边缘服务器或其他设备上执行,从而提升移动设备的性能。按照任务类型分类有两种:①数据任务卸载,在自身网络堵塞时,暂时使用其他闲置的网络,从而提升数据传输的速度;
②计算任务卸载,在自身设备硬件实力或剩余资源不足以支持复杂的计算时,将任务迁移到其他服务器中完成并接收传回的结果。
常见的任务卸载主要分为以下两种:①0-1 卸载,对于一些不能或者不需要分割的任务,将其从用户设备完整的转移到另一个设备上;
②部分卸载,对任务进行分解处理,将需要卸载的任务转移到另一设备处理,剩下的进行本地处理[6]。分解的方式可分为两种:①开发人员在编写代码时提前完成分割,把需要卸载的部分代码块进行标识,在实施迁移策略时就可以把标记部分放在更高的优先级,这种方式由于在代码层面就进行了分解,因此拥有较高的细粒度和灵活性;
②通过策略执行者对任务进行分解,无法实现特别精密的控制,但对底层开发而言则比较轻松[7]。在满足上述卸载条件后,还需要从任务类型、卸载时间、用户的具体位置、用户的偏好习惯等多个方面进行考虑。
2 系统模型搭建及参数定义
2.1 系统模型搭建
在依靠边缘计算实现智慧交通管理的实际应用中,真实的路况和车辆形式情况是非常复杂的,因此完全基于实际情况建模十分困难,为简化实验,选用单向两车道的路面,保持车辆匀速行驶,路侧RSU(边缘服务器)均匀沿道路均匀分布,每个RSU的信号强度、接收范围等性能都相同。RSU 和车辆之间可以进行通信,RSU 与RSU 之间通过有线连接实现通信。每个RSU都作为一个服务器对卸载任务完成处理并将结果返回。试验车辆本身具有一定计算能力,可以在本地对一些简单任务进行处理,而当车辆有剩余的空闲资源时就能作为一个雾服务器来帮助其他车辆完成任务。
表1 为模型中各参数及其定义,R 表示路侧的所有RSU,R={R1 ,R2 ,...,Rs},其中每个RSU 包含三个属性,Rs(RSU 编号,位置横坐标,位置纵坐标);
C 表示所有道路上的车辆,C={C1 ,C2 ,...,Ci},其中每辆车都包含四个属性,Ci (车辆编号,位置横坐标,位置纵坐标);
CT 表示发起任务的车辆,且每辆车只能发起一个任务,CT={CT1 ,CT2 ,...,CTj};
CS 表示车辆雾服务器,CS={CS1 ,CS2 ,...,CSk},CSk为资源空闲的车辆。
2.2 任务卸载响应时间
任务卸载性能的评估通过平均响应时间的长短来判断,主要包括计算时间和通信时间。响应时间计算所需参数如表2 所示。
表2 中,A 表示需要卸载的任务的集合,A={A1,A2,...,An},An包含任务的三个属性,用An(xn ,yn ,zn)来表示,其中xn为上行链路要传输的数据大小(需要进行卸载的任务),yn为下行链路要传输的数据大小(完成任务后要传回的计算结果),zn是计算单位比特任务的能力,即完成任务An需要xn·zn个CPU 周期的时间。
3 基于KM 算法的最优匹配
KM 算法是基于匈牙利算法而产生的求最大权值匹配的算法,常用于解决与二分图匹配有关的问题[8]。二分图是一种特殊的图,其分为两个部分,各自部分的点互相独立,匹配就是将两部分的点两两连接形成的边的集合,且任意两条边不能有公共点。匈牙利算法的目的就是得到最大的匹配边数,这种方法得到的匹配并不是惟一的。KM 算法则是基于此为两部分的点都加上权值,最优匹配就是权值综合最大的匹配。KM 算法流程如下:
⑴ 初始化可行顶标的值;
⑵ 用匈牙利算法寻找完备匹配;
⑶ 若未找到完备匹配则修改可行顶标的值;
⑷ 重复⑵⑶直至找到相等子图的完备匹配为止。
3.1 匹配过程
首先,在匹配前需要对必须的参数进行初始化设置,例如RSU 的集合R,车辆的集合C 等,以及在计算过程中产生的一些中间变量,如任务卸载位置的集合S,才能顺利执行后续的计算。
然后计算卸载任务的车辆CTj与车辆雾服务器之间的几何距离dj,k,如果dj,k小于通信距离r 就将其存储在集合S 中,如果S 为空集则计算CTj与RSU 之间的距离dj,s ,如果存在dj,s小于r 则可以将任务卸载到Rs上,否则只能在本地进行处理,如图2为服务器筛选流程图。
如果S 不为空集,则说明存在车辆雾服务器可以完成卸载任务,计算不同连接完成任务所需的响应时间t,根据数值大小赋予相应的权值,随后就可以通过KM 算法得到最优匹配,这即为完成所有车辆的卸载任务耗时最少的方案。
3.2 仿真实验结果分析
通过仿真分析该方法对时延的影响,根据需求采用MATLAB r2018b 平台进行仿真实验。以下为实验参数设置:RSU 的数量R=6;
车辆数量C=40,其中发送任务的车辆与协助完成任务的车辆在每次计算实验时随机确定;
任务的大小都是随机生成的;
传输速率为3~4Mbps;
RSU 的计算速率为2~2.5Ghz,车辆雾服务器的计算速率为0.8~1Ghz。
图3 所示为10 次仿真实验的数据结果,每组数据的左侧是车辆仅与RSU 进行任务卸载的响应时间,右侧是增加车辆雾服务器后的任务卸载响应时间,与前者相比,后者所需的平均响应时间明显降低,减少了51%,最高者能到达70%,证明能有效降低数据传输时延。
4 结论
本文主要针对智慧交通管理领域的任务卸载问题进行了研究与分析,边缘计算能够为各种应用提供低延迟服务,随着车辆用户终端设备的普及,过多的卸载任务会影响边缘服务器的性能,引入车辆雾服务器来完成部分任务,并通过KM 算法实现一对一的最优匹配,有效降低车辆、边缘计算服务器、云计算中心间的传输时延,提升用户的驾驶体验。
本文的实验环境为理想状况,路面驾驶与传感器等设备现场安装情况等实际应用场景更加复杂,对此问题仍有较大的研究空间:①本文采用直线道路作为研究环境,实际的道路场景存在交叉路口、红绿灯等复杂因素,霧节点的连接可能会发生中断;
②本文默认所有车辆愿意提供空闲的计算资源,实际可能会有较多不愿共享的情况,需要进一步完善共享机制以获取信任。