边缘计算的七项核心技术

做者:施巍松团队(张星洲、王一帆、张庆阳)node

计算模型的创新带来的是技术的升级换代,而边缘计算的迅速发展也得益于技术的进步。本节总结了推进边缘计算发展的7项核心技术,它们包括网络、隔离技术、体系结构、边缘操做系统、算法执行框架、数据处理平台以及安全和隐私。算法

1.网络编程

边缘计算将计算推至靠近数据源的位置,甚至于将整个计算部署于从数据源到云计算中心的传输路径上的节点,这样的计算部署对现有的网络结构提出了 3个新的要求:安全

1)服务发现。在边缘计算中,因为计算服务请求者的动态性,计算服务请求者如何知道周边的服务,将是边缘计算在网络层面中的一个核心问题.传统的基于DNS的服务发现机制,主要应对服务静态或者服务地址变化较慢的场景下.当服务变化时,DNS的服务器一般须要必定的时间以完成域名服务的同步,在此期间会形成必定的网络抖动,所以并不适合大范围、动态性的边缘计算场景。服务器

2)快速配置。在边缘计算中,因为用户和计算设备的动态性的增长,如智能网联车,以及计算设备因为用户开关形成的动态注册和撤销,服务一般也须要跟着进行迁移,而由此将会致使大量的突发网络流量。与云计算中心不一样,广域网的网络状况更为复杂,带宽可能存在必定的限制.所以,如何从设备层支持服务的快速配置,是边缘计算中的一 个核心问题。网络

3)负载均衡。边缘计算中,边缘设备产生大量的数据,同时边缘服务器提供了大量的服务.所以,根据边缘服务器以及网络情况,如何动态地对这些数据进行调度至合适的计算服务提供者,将是边缘计算中的核心问题。架构

针对以上3个问题,一种最简单的方法是,在全部的中间节点上均部署全部的计算服务,然而这将致使大量的冗余,同时也对边缘计算设备提出了较高的要求。所以,咱们以“创建一条从边缘到云的计算路径”为例来讲,首当其冲面对的就是如何寻找服务,以完成计算路径的创建。命名数据网络(named data networking,NDN)是一种将数据和服务进行命名和寻址,以P2P和中心化方式相结合进行自组织的一种数据网络。而计算链路的创建,在必定程度上也是数据的关联创建,即数据应该从源到云的传输关系.所以,将NDN引入边缘计算中,经过其创建计算服务的命名并关联数据的流动,从而能够很好地解决计算链路中服务发现的问题。负载均衡

而随着边缘计算的兴起,尤为是用户移动的状况下,如车载网络,计算服务的迁移相较于基于云计算的模式更为频繁,与之同时也会引发大量的数据迁移,从而对网络层面提供了动态性的需求。软件定义网络(software definednetworking,SDN), 于2006年诞生于美国GENI项目资助的斯坦福大学Clean Slate课题,是一种控制面和数据面分离的可编程网络,以及简单网络管理.因为控制面和数据面分离这一特性,网络管理者能够较为快速地进行路由器、交换器的配置,减小网络抖动性,以支持快速的流量迁移,所以能够很好地支持计算服务和数据的迁移。同时,结合NDN和SDN,能够较好地对网络及其上的服务进行组织,并进行管理,从而能够初步实现计算链路的创建和管理问题。框架

2.隔离技术机器学习

隔离技术是支撑边缘计算稳健发展的研究技术,边缘设备须要经过有效的隔离技术来保证服务的可靠性和服务质量.隔离技术须要考虑2方面:

1)计算资源的隔离,即应用程序间不能相互干扰;

2)数据的隔离,即不一样应用程序应具备不一样的访问权限。

在云计算场景下,因为某一应用程序的崩溃可能带来整个系统的不稳定,形成严重的后果,而在边缘计算下,这一状况变得更加复杂.例如在自动驾驶操做系统中,既须要支持车载娱乐知足用户需求, 又须要同时运行自动驾驶任务知足汽车自己驾驶需求,此时,若是车载娱乐的任务干扰了自动驾驶任务,或者影响了整个操做系统的性能,将会引发严重后果,对生命财产安全形成直接损失.隔离技术同时须要考虑第三方程序对用户隐私数据的访问权限问题,例如,车载娱乐程序不该该被容许访问汽车控制总线数据等.目前在云计算场景下主要使用VM虚拟机和Docker容器技术等方式保证资源隔离。边缘计算可汲取云计算发展的经验,研究适合边缘计算场景下的隔离技术。

在云平台上广泛应用的Docker技术能够实现应用在基于0S级虚拟化的隔离环境中运行,Docker的存储驱动程序采用容器内分层镜像的结构,使得应用程序能够做为一个容器快速打包和发布,从而保证了应用程序间的隔离性.Li等人创建 了一个基于Docker迁移的有效服务切换系统,利用Docker的分层文件系统支持,提出了一种适合边缘计算的高效容器迁移策略,以减小包括文件系统、二进制内存映象、检查点在内的数据传输的开 销.Ha等人提出了一种VM切换技术,实现虚拟机VM的计算任务迁移,支持快速和透明的资源放置,保证将VM虚拟机封装在安全性和可管理行要求较高的应用中.这种多功能原语还提供了动态迁移的功能,对边缘端进行了优化.这种基于VM的隔离技术提升了应用程序的抗干扰性,增长了边缘计算系统的可用性。

3.体系结构

不管是如高性能计算一类传统的计算场景,仍是如边缘计算一类的新兴计算场景,将来的体系结构应该是通用处理器和异构计算硬件并存的模式。异构硬件牺牲了部分通用计算能力,使用专用加速单元减少了某一类或多类负载的执行时间,而且显著提升了性能功耗比。边缘计算平台一般针对某一类特定的计算场景设计,处理的负载类型较为固定,故目前有不少前沿工做针对特定的计算场景设计边缘计算平台的体系结构.

ShiDianNao首次提出了将人工智能处理器放置在靠近图像传感器的位置,处理器直接从传感器读取数据,避免图像数据在DRAM中的存取带来的能耗开销;同时经过共享卷积神经网络(convolutional neural networks, CNNs) 权值的方法 ,将模型完整放置在SRAM中,避免权值数据在DRAM 中的存取带来的能耗开销;因为计算能效地大幅度提高(60倍),使其能够被应用于移动端设备.EIE:是一个用于稀疏神经网络的高效推理引擎,其经过稀疏矩阵的并行化以及权值共享的方法加速稀疏神 经网络在移动设备的执行能效.Phi-Stack则提出了针对边缘计算的一整套技术桟,其中针对物联网设备设计的PhiPU,使用异构多核的结构并行处理 深度学习任务和普通的计算任务(实时操做系统). In-Situ AI是一个用于物联网场景中深度学习应用的自动增量计算框架和架构,其经过数据诊断,选择最小数据移动的计算模式,将深度学习任务部署 到物联网计算节点.除了专用计算硬件的设计,还有 一类工做探索FPGA在边缘计算场景中的应用. ESE[6]经过FPGA提升了稀疏长短时记忆网络 (long short term memory network,LSTM)在移动设备上的执行能效,用于加速语音识别应用.其经过负载平衡感知的方法对LSTM进行剪枝压缩,并保证硬件的高利用率,同时在多个硬件计算单元中调度 LSTM 数据流;其使用 Xilinx XCKU060 FPGA 进行硬件设计实现,与CPU和GPU相比,其分别实现了 40倍和11. 5倍的能效提高.Biookaghazadeh 等人经过对比FPGA和GPU在运行特定负载时吞 吐量敏感性、结构适应性和计算能效等指标,代表 FPGA更加适合边缘计算场景。

针对边缘计算的计算系统结构设计仍然是一个新兴的领域,仍然具备不少挑战亟待解决,例如如何高效地管理边缘计算异构硬件、如何对这类的系统结构进行公平及全面的评测等.在第三届边缘计算会议(S E C 2 018 )上首次设立了针对边缘计算体系结构的Workshop:ArchEdge,鼓励学术界和工业界对此领域进行探讨和交流。

4.边缘操做系统

边缘计算操做系统向下须要管理异构的计算资源,向上须要处理大量的异构数据以及多用的应用负载,其须要负责将复杂的计算任务在边缘计算节点上部署 、调度 及迁移从而保证计算任务的可靠性以及资源的最大化利用。与传统的物联网设备上的实时操做系统Contikt和FreeRTOS不一样,边缘计算操做系统更倾向于对数据、计算任务和计算资源的管理框架。

机器人操做系统(robot operating system, ROS) 最开始被设计用于异构机器人机群的消息通讯管理,现逐渐发展成一套开源的机器人开发及管理工具,提供硬件抽象和驱动、消息通讯标准、软件包管理等 一系列工具,被普遍应用于工业机器人、自动驾驶车辆即无人机等边缘计算场景.为解决ROS中的性能 问题,社区在2015年推出ROS2. 0,其核心为引入数据分发服务(data distribution service,DDS), 解决ROS对主节点(master node)性能依赖问题,同时DDS提供共享内存机制提升节点间的通讯效率.EdgeOSH则是针对智能家居设计的边缘操做系统,其部署于家庭的边缘网关中,经过3层功能抽象链接上层应用和下层智能家居硬件,其提出面向多样的边缘计算任务,服务管理层应具备差别性 (differentiation)、可扩展性(extensibility)、隔离性 (isolation)和可靠性(reliability)的需求.Phi-Stack 中提出了面向智能家居设备的边缘操做系统 PhiOS,其引人轻量级的REST引擎和LUA解释器,帮助用户在家庭边缘设备上部署计算任务. OPenVDAP是针对汽车场景设计的数据分析平台,其提出了面向网联车场景的边缘操做系统 EdgeOSv.该操做系统中提供了任务弹性管理、数据共享以及安全和隐私保护等功能.

根据目前的研究现状,ROS以及基于ROS实现的操做系统有可能会成为边缘计算场景的典型操做系统,但其仍然须要通过在各类真实计算场景下部署的评测和检验。

5.算法执行框架

随着人工智能的快速发展,边缘设备须要执行愈来愈多的智能算法任务,例如家庭语音助手须要 进行天然语言理解、智能驾驶汽车须要对街道目标检测和识别、手持翻译设备须要翻译实时语音信息等.在这些任务中,机器学习尤为是深度学习算法占有很大的比重,使硬件设备更好地执行以深度学习算法为表明的智能任务是研究的焦点,也是实现边缘智能的必要条件.而设计面向边缘计算场景下的高效的算法执行框架是一个重要的方法.目前有许 多针对机器学习算法特性而设计的执行框架,例如谷歌于2016年发布的TensorFloE、依赖开源社区力量发展的Caffe等,可是这些框架更多地运行在云数据中心,它们不能直接应用于边缘设备.如表2所示,云数据中心和边缘设备对算法执行框架的需求有较大的区别。在云数据中心,算法执行框架更多地执行模型训练的任务,它们的输人是大规模的批量数据集,关注的是训练时的迭代速度、收敛率和框架的可扩展性等.而边缘设备更多地执行预测任务,输人的是实时的小规模数据,因为边缘设备计算资源和存储资源的相对受限性,它们更关注算法执行框架预测时的速度、内存占用量和能效。

为了更好地支持边缘设备执行智能任务,一些专门针对边缘设备的算法执行框架应运而生.2017年,谷歌发布了用于移动设备和嵌人式设备的轻量级解决方案TensorFlow Lite,它经过优化移动应用程序的内核、预先激活和量化内核等方法来减小执行预测任务时的延迟和内存占有量.Caffe2 是Caffe的更高级版本,它是一个轻量级的执行框架,增长了对移动端的支持.此外,PyTorch和 MXNet等主流的机器学习算法执行框架也都开始提供在边缘设备上的部署方式。

Zhang 等人对 TensorFlow,Caffe2 ,MXNet, PyTorch和TensorFlow Lite等在不一样的边缘设备 (MacBook Pro,Intel FogNode,NVIDIA Jetson TX2,Raspberry Pi 3 Model B+ ,Huawfi Nexus 6P) 上的性能从延迟、内存占用量和能效等方面进行了对比和分析,最后发现没有一款框架可以在全部维度都取得最好的表现,所以执行框架的性能提高空间比较大.开展针对轻量级的、高效的、可扩展性强的边缘设备算法执行框架的研究十分重要,也是实现边缘智能的重要步骤。

6.数据处理平台

边缘计算场景下,边缘设备时刻产生海量数据,数据的来源和类型具备多样化的特征,这些数据包括环境传感器采集的时间序列数据、摄像头采集的图片视频数据、车载LiDAR的点云数据等,数据大多具备时空属性。构建一个针对边缘数据进行管理、分析和共享的平台十分重要。

以智能网联车场景为例,车辆逐渐演变成一个移动的计算平台,愈来愈多的车载应用也被开发出来,车辆的各种数据也比较多。由.Zhang等人提出的OPenVDAP是一个开放的汽车数据分析平台,以下图3所示,Open VDAP分红4部分,分别是异构计算平台(VCU )、操做系统(EdgeOSv)、驾驶数据收集器(DDI)和应用程序库(libvdap),汽车可安装部署该平台,从而完成车载应用的计算,而且实现车与云、车与车、车与路边计算单元的通讯,从而保证了车载应用服务质量和用户体验.所以,在边缘计算不一样的应用场景下,如何有效地管理数据、提供数据分析服务,保证必定的用户体验是一个重要的研究问题。

虽然边缘计算将计算推至靠近用户的地方,避免了数据上传到云端,下降了隐私数据泄露的可能性。可是,相较于云计算中心,边缘计算设备一般处于靠近用户侧,或者传输路径上,具备更高的潜在可能被攻击者入侵,所以,边缘计算节点自身的安全性仍然是一个不可忽略的问题.边缘计算节点的分布式和异构型也决定其难以进行统一的管理,从而致使一系列新的安全问题和隐私泄露等问题.做为信息系统的一种计算模式,边缘计算也存在信息系统广泛存在的共性安全问题,包括:应用安全、网络安全、信息安全和系统安全等。

在边缘计算的环境下,一般仍然能够采用传统安全方案来进行防御,如经过基于密码学的方案来进行信息安全的保护、经过访问控制策略来对越权访问等进行防御.可是须要注意的是,一般须要对传统方案进行必定的修改,以适应边缘计算的环境。同时,近些年也有些新兴的安全技术(如硬件协助的可信执行环境)可使用到边缘计算中,以加强边缘计算的安全性。此外,使用机器学习来加强系统的安全防御也是一个较好的方案。

可信执行环境(trusted execution environment, TEE)是指在设备上一个独立于不可信操做系统而存在的可信的、隔离的、独立的执行环境,为不可信环境中的隐私数据和敏感计算,提供了安全而机密的空间,而TEE的安全性一般经过硬件相关的机制来保障。常见的TEE包括Intel软件防御扩展、Intel管理引擎、x86系统管理模式、 AMD内存加密技术、AMD平台安全处理器和ARM TrustZone技术。经过将应用运行于可信执行环境中,而且将使用到的外部存储进行加解密,边缘计算节点的应用,能够在边缘计算节点被攻破时,仍然能够保证应用及数据的安全性。

更多资讯,尽在边缘计算社区!

相关文章
相关标签/搜索