边缘计算:现状与展望
云计算模型的不足:
- 实时性不够,网络延迟(云计算模型更适合批处理)
- 带宽不足,边缘设备产生的数据很多,但广域网的带宽不足。
- 能耗较大,(这点存疑)虽然数据中心消耗了很多能源,但也提供了很强的计算能力,如果把这些计算能力分布到边缘,是不是总的能耗会更高呢??
- 不利于数据安全和隐私。如家庭摄像头等隐私数据
边缘计算的概念
边缘计算并不是不需要云了,否则边缘设备之间就孤立了,它需要云。边缘指的是从数据源到云计算中心路径之间的任意计算和网络资源,是一个连续统。
边缘计算的一些优点:
- 减轻了网络带宽和数据中心能耗的压力
- 减少了系统的延迟
- 保护了隐私
边缘计算的发展历程
作者将其大致划分为三个阶段:
- 2015年以前——原始技术积累阶段
- 2015-2017年——飞速发展阶段
- 2018年及以后——稳健发展阶段
技术储备期
最早追溯到1998年CDN的提出。但CDN主要强调的是内容(即数据)的缓存,而边缘计算强调的是功能缓存(function cache).
2005年,施巍松教授团队已提出功能缓存的概念,并将其应用在个性化的邮箱管理服务中,以节省延迟和带宽。
2009年,Satyanarayanan等人提出了Cloudlet的概念,Cloudlet是一个可信且自愿丰富的主机,部署在网络边缘,可以为用户提供服务,也被称作“小朵云”,这里强调下行,把云服务器的功能下移至边缘服务器。
至于上行,则在靠近数据生产者的边缘增加数据处理的功能,代表性的是移动边缘计算、雾计算和海云计算。
移动边缘计算:位于无线接入网内,在云计算中心和边缘计算设备之间建立边缘服务器,在边缘服务器上完成计算,但移动边缘设备不认为具有计算能力。而在边缘计算中,终端设备具有较强的计算能力。
雾计算:由思科在2012年提出,定义为迁移云计算中心任务到网络边缘设备执行的一种高度虚拟化计算平台。雾计算关注基础设施之间分布式资源共享问题。
海云计算:由中科院在2012年提出,强调“云计算”系统和“海计算”系统之间的系统和集成,“海”指的是物理世界的一些设备。
快速增长期
2016年,NSF将边缘计算列为突出领域,标志着边缘计算的发展已经在美国政府层面上引起了重视。
2016年,施巍松教授团队给出了边缘计算的一个正式定义:
学术界….
工业界…..
稳健发展期
很多活动
支持边缘计算的核心技术
7项核心技术:网络、隔离技术、体系结构、边缘操作系统、算法执行框架、数据处理平台以及安全和隐私。
网络
- 服务发现:计算服务请求者会动态变化,请求者如何发现周围的服务,DNS服务发现机制需要一定时间来同步,会造成一定的网络抖动
- 快速配置:计算设备可能会被用户频繁开关,服务往往要随之迁移,会导致大量的突发网络流量。因此,如何从设备层支持服务的快速配置,是边缘计算中的一个核心问题。
- 负载均衡:如何动态调度任务。
命名数据网络(named data networking, NDN)是一种将数据和服务进行命名和寻址,以P2P和中心化方式相结合进行自组织的一种数据网络,可以很好地解决服务发现问题。
软件定义网络(SDN)是一种控制面和数据面分离的可编程网络,以及简单网络管理。可以较为快速地进行路由器和交换机的配置,减少网络抖动性,以支持快速的流量迁移。
隔离技术
两大隔离:计算资源的隔离和数据的隔离
现在云计算中主要使用的有VM虚拟机和Docker技术。
Li等人建立了一个基于Docker迁移的有效服务切换系统。
Ha等人提出了一种VM切换技术。
体系结构
异构硬件
ShiDianNao首次提出将人工智能处理器放置在靠近图像传感器的位置,处理器直接从传感器读取数据,避免内存存取开销,将模型放置在SRAM中,避免了权值数据在DRAM中的存取开销。
Phi-Stack提出了针对边缘计算的一整套技术栈,其中针对物联网设备设计的PhiPU,使用异构多核的结构并行处理深度学习任务和普通的计算任务(实时操作系统).
还有一些工作探索了FPGA在边缘计算场景中的应用
针对边缘计算的计算系统结构设计仍然具有很多挑战。
边缘操作系统
边缘操作系统向下需要管理异构的计算资源,向上需要处理大量的异构数据以及多用的应用负载,需要负责将复杂的计算任务在边缘计算节点上部署、调度及迁移,从而保证计算任务的可靠性以及资源的最大化利用。
ROS, ROS2.0, EdgeOS$_H$ , PhiOS
算法执行框架
边缘设备更多地是执行预测任务,需要关注算法执行框架预测时的速度、内存占用量和能效。
TensorFlow Lite, Caffe2, PyTorch, MXNet
数据处理平台
边缘设备的数据的来源和类型具有多样化的特征,大多具有时空属性,构建一个针对边缘数据进行管理、分析和共享的平台十分重要。
安全和隐私
通过基于密码学的方案来进行信息保护、通过访问控制策略来对越权访问等进行防护。
也有一些新兴的安全技术,如硬件协助的可信执行环境,使用机器学习来增强系统的安全防护。
可信执行环境(TEE):Intel软件防护扩展、Intel管理引擎、x86系统管理模式、AMD内存加密技术、AMD平台安全处理器和ARM TrustZone技术
边缘计算的典型应用
6个成功典型应用
公共安全中实时数据处理
武汉的“雪亮工程”建设
网约车的视频、音频保障安全
安柏报警助手:对绑匪车辆实时追踪
用于消防系统的边缘计算系统:实时获得消防员位置信息和周边情况。
智能网联车和自动驾驶
虚拟现实
将VA/AR的计算任务卸载到边缘服务器。
Furion
工业物联网
智能家居
工业界的Echo、SmartThings、Google Home。 Home OS和Home Kit.
学术界:EdgeOS$_H$
智慧城市
边缘计算面临的紧迫问题
6个方向是未来几年迫切需要解决的问题:编程模型、软硬件选型、基准程序与标准、动态调度、与垂直行业的紧密结合以及边缘节点的落地
编程模型
边缘计算模型与云计算模型存在较大的区别。边缘计算具有弹性管理、协同执行和环境异构的特点。
应用程序/服务功能可分割,数据可分布、资源可分布
软硬件选型
设计并实现一套能够帮助用户对边缘计算平台进行性能、功耗分析并提供软硬件选型参考的工具十分重要。
基准程序和标准
动态调度
云计算中心和边缘设备之间的调度,边缘设备和云计算中心之间的调度。
降低传输带宽,减少任务完成时间,减少响应时间,还需要考虑能耗
和垂直行业紧密合作
- 减少与行业标准间的隔阂
- 完善数据保护和访问机制
- 提高互操作性
边缘节点落地问题
- 新型的商业模式
- 边缘节点的选择
- 边缘数据的选择
- 边缘节点的可靠性