1.5.2 边缘计算
1. 基本概念[36]
1)发展历史
早在2003年,美国公司AKMAAI与IBM在内部的研究项目“开发边缘计算应用”中首次提出“边缘计算”(Edge Computing),并在其Web Sphere上提供基于边缘的服务。2004年,新加坡管理大学H. H. Pang首次在公开文献[37]中指出了边缘计算将应用程序逻辑和底层数据迁移到网络边缘,旨在提高其可用性和可扩展性。2015年9月,欧洲电信标准化协会(ETSI)发表关于移动边缘计算的白皮书,并在2017年3月将移动边缘计算行业规范工作组正式更名为多接入边缘计算(Multi-access Edge Computing,MEC),致力于更好地满足边缘计算的应用需求和相关标准制定。
2)定义[38]
边缘计算目前还没有一个严格的、统一的定义,不同研究者从各自的视角来描述和理解边缘计算。美国卡内基梅隆大学的Satyanarayanan教授把边缘计算描述为“边缘计算是一种新的计算模式,这种模式将计算与存储资源(如Cloudlet、微型数据中心或雾节点等)部署在更贴近移动设备或传感器的网络边缘”。美国韦恩州立大学的施巍松等人把边缘计算定义为:“边缘计算是指在网络边缘执行计算的一种新型计算模式,边缘计算中边缘的下行数据表示云服务,上行数据表示万物互联服务,而边缘计算的边缘是指从数据源到云计算中心路径之间的任意计算和网络资源。”
这些定义都强调边缘计算是一种新型计算模式,它的核心理念是“计算应该更靠近数据的源头,可以更贴近用户”。这里“贴近”一词包含多种含义。首先可以表示网络距离近,这样由于网络规模的缩小,带宽、延迟、抖动这些不稳定的因素都易于控制和改进;还可以表示为空间距离近,这意味着边缘计算资源与用户处在同一个情景之中(如位置),根据这些情景,信息可以为用户提供个性化的服务(如基于位置信息的服务)。空间距离与网络距离有时可能并没有关联,但应用可以根据自己的需要来选择合适的计算节点。
2. 主要优点
(1)在网络边缘处理大量临时数据,不再全部上传云端,这极大地减轻了网络带宽和数据中心功耗的压力。
(2)在靠近数据生产者处做数据处理,不需要通过网络请求云计算中心的响应,大大减少了系统延迟,增强了服务响应能力。
(3)边缘计算不再将用户隐私数据上传,而是存储在网络边缘设备上,减少了网络数据泄露的风险,保护了用户数据安全和隐私。
3. 核心技术
1)网络
边缘计算将计算推至靠近数据源的位置,甚至将整个计算部署于从数据源到云计算中心的传输路径上的节点,这样的计算部署对现有的网络结构提出了三个新的要求。其一是服务发现:由于计算服务请求者的动态性,计算服务请求者如何知道周边的服务。其二是如何从设备层支持服务的快速配置。其三是负载均衡:如何根据边缘服务器及网络状况,动态地将边缘设备产生的数据调度至合适的计算服务提供者。
2)隔离技术
隔离技术是支撑边缘计算稳健发展的重要研究技术,边缘设备需要通过有效的隔离技术来保证服务的可靠性和质量。隔离技术需要考虑两个方面的因素:一是计算资源的隔离,即应用程序间不能相互干扰;二是数据的隔离,即不同应用程序应具有不同的访问权限。
3)体系结构
无论是如高性能计算一类传统的计算场景,还是如边缘计算一类的新兴计算场景,未来的体系结构应该是通用处理器和异构计算硬件并存的模式。异构计算硬件牺牲了部分通用计算能力,使用专用加速单元减小了某一类或多类负载的执行时间,并且显著提高了性能功耗比。边缘计算平台通常针对某一类特定的计算场景设计,处理的负载类型较为固定,故目前有很多前沿工作针对特定的计算场景设计边缘计算平台的体系结构。
4)边缘计算操作系统
边缘计算操作系统向下需要管理异构的计算资源,向上需要处理大量的异构数据及多样的应用负载,负责将复杂的计算任务在边缘计算节点上部署、调度及迁移,从而保证计算任务的可靠性及资源的最大化利用。与传统的物联网设备上的实时操作系统Contiki和FreeRTOS不同,边缘计算操作系统更倾向于对数据、计算任务和计算资源的管理框架。
5)算法执行框架
随着人工智能的快速发展,边缘设备需要执行越来越多的智能算法任务,如家庭语音助手需要进行自然语言理解、智能驾驶汽车需要对街道目标进行检测和识别、手持翻译设备需要翻译实时语音信息等。在这些任务中,机器学习尤其是深度学习算法占有很大的比重,使硬件设备更好地执行以深度学习算法为代表的智能任务是研究的焦点,也是实现边缘智能的必要条件,而设计面向边缘计算场景下的高效的算法执行框架是一个重要的方法。开展针对轻量级的、高效的、可扩展性强的边缘设备算法执行框架的研究十分重要,这也是实现边缘智能的重要步骤。
6)数据处理平台
在边缘计算场景下,边缘设备时刻产生海量数据,数据的来源和类型具有多样化的特征,这些数据包括环境传感器采集的时间序列数据、摄像头采集的图片视频数据、车载LiDAR的点云数据等,数据大多具有时空属性。构建一个针对边缘数据进行管理、分析和共享的平台十分重要。
7)安全和隐私
虽然边缘计算将计算推至靠近用户的地方,避免了数据上传到云端,降低了隐私数据泄露的可能性,但是边缘计算仍存在一些安全隐私问题,首先,相较于云计算中心,边缘计算设备在传输路径上具有更高的潜在可能被攻击者入侵;其次,边缘计算节点的分布式和异构性决定了其难以进行统一的管理,从而导致一系列新的安全问题和隐私泄露等问题;最后,边缘计算存在信息系统普遍存在的共性安全问题,如网络安全、系统安全等。
在边缘计算的环境下,安全防护方案有以下几种:其一,对传统安全方案(如密码学、访问控制策略)进行一定的修改,以适用边缘计算;其二,利用机器学习来增强系统的安全防护;其三,近些年也有一些新兴的安全技术可以使用到边缘计算中,如硬件协助的可信执行环境(Trusted Execution Environment,TEE)——在设备上一个独立于不可信操作系统而存在的可信的、隔离的、独立的执行环境,为不可信环境中的隐私数据和敏感计算提供了一个安全而机密的空间,通过将应用运行于可信执行环境中,并且将使用到的外部存储进行加/解密,在边缘计算节点被攻破时,仍然可以保证应用及数据的安全性。
4. 典型应用
1)公共安全中实时数据处理
公共安全从社会的方方面面,如消防、出行,影响着广大民众的生活。随着智慧城市和平安城市的建设,大量传感器被安装到城市的各个角落,提升公共安全。然而,想要进一步提升安全性,最终还得依赖于视频等技术,然而这将导致大量的带宽需求。边缘计算作为近数据源计算,可以大大降低数据带宽,可以用来解决公共安全领域多种数据处理的问题。
2)智能网联车和自动驾驶
随着机器视觉、深度学习和传感器等技术的发展,汽车的功能不再局限于传统的出行和运输工具,而是逐渐变为一个智能的、互联的计算系统,我们称这样新型的汽车为智能网联车(Connected and Automated Vehicles,CAV)。智能网联车的出现催生了一系列新的应用场景,如自动驾驶、车联网及智能交通。Intel在2016年的报告中指出,一辆自动驾驶车辆一天产生的数据为4TB,这些数据无法全部上传至云端处理,需要在边缘节点(汽车)中存储和计算。
3)虚拟现实
虚拟现实(VR)和增强现实(AR)技术的出现彻底改变了用户与虚拟世界的交互方式。为保证用户体验,VR/AR的图片渲染需要具有很强的实时性。研究表明:将VR/AR的计算任务卸载到边缘服务器或移动设备,可以降低平均处理时延。
4)工业物联网
边缘计算应用于工业物联网有三个优势:
(1)改善性能。工业生产中常见的报警、分析等应用靠近数据生产者的地方处理和决策会更快,通过减少与云数据中心的通信可以增加边缘处理的弹性。
(2)保证数据安全和隐私。可以避免数据传输到共享数据中心后数据暴露等带来的安全问题。
(3)降低操作成本。通过在边缘做计算处理,可以减少边缘设备和数据中心的数据传输量和带宽,从而降低了工业生产中由网络、云数据中心计算和存储带来的成本。
5)智能家居
随着物联网技术的发展,智能家居系统得到进一步的发展,其利用大量的物联网设备(如温/湿度传感器、安防系统、照明系统)实时监控家庭内部状态,接受外部控制命令并最终完成对家居环境的调控,以提升家居安全性、便利性、舒适性。边缘计算可以将计算(家庭数据处理)推送至家庭内部网关,减少家庭数据的外流,从而降低数据外泄的可能性,提升系统的隐私性。
6)智慧城市
智慧城市就是利用先进的信息技术,实现城市智慧式的管理和运行。然而,智慧城市的建设所依赖的数据具有来源多样化和异构性的特点,同时涉及城市居民隐私和安全问题,因此应用边缘计算模型,将数据在网络边缘处理是一个很好的解决方案。