综述
1 边缘计算概述
据IDC报道,2020年全球产生的数据总量达惊人的44ZB,而我国就占到了18%。在刚刚过去的2021年,数据总量达到50ZB量级。
万物互联的时代迅速到来,无线网络的大范围普及,网络边缘设备数量的迅猛增长,都让这个数据如脱缰一般的增长。庞大的数据总量,使得以云计算模型为核心的集中式处理模式将无法高效处理边缘设备产生的数据。因为集中式处理模型将所有的数据通过网络传输到云计算中心,利用云计算中心的超强计算能力来集中式解决计算和储存问题,这使得云服务能够创造出较高的经济效益。但是在万物互联的背景和趋势下,许多边缘设备对数据实时性等要求越来越高,传统的云计算逐渐暴露了许多不足:
1)能耗大。数据中心消耗了极多的能源,根据Sverdlik的研究,到2020年美国所有数据中心能耗将增长4%,达到730亿千瓦时,我国数据中心所消耗的电能也已经超过了匈牙利和希腊两国用电总和。随着用户应用程序越来越多,处理的数据量越来越大,能耗将会成为限制云计算中心发展的瓶颈。
2)带宽不足。边缘设备实时产生大量数据,将全部数据传输至云端造成了网络带宽的很大压力。例如,波音787每秒产生的数据超过5GB,但飞机与卫星之间的带宽不足以支持实时传输。
3)实时性不够。万物互联场景下应用对于实时性的要求极高。传统云计算模型下,应用将数据传送到云计算中心,再请求数据处理结果,增大了系统延迟。以无人驾驶汽车应用为例,高速行驶的汽车需要毫秒级的反应时间,一旦由于网络问题而加大系统延迟,将会造成严重后果。
4)数据安全和隐私得不到保护。万物互联中的数据与用户生活联系极为紧密,例如,许多家庭安装室内智能网络摄像头,视频数据传输到云端,会增加泄露用户隐私的风险。随着欧盟 “通用数据保护条例”(GDPR)的生效,数据安全和隐私问题对于云计算公司来说变得更加重要。
为解决上述问题,一个面向边缘设备所产生的海量数据计算的边缘计算模型应运而生。边缘计算基本原理是在网络边缘的数据产生侧对数据进行处理和分析,通过即使响应边缘侧发起的请求,就近提供服务,进而有效减少网络传输所产生的时延。简单来说就是将云计算能力下沉到数据源周围,就近计算。边缘计算的操作对象包括来自云服务的下行数据和来自万物互联的上行数据,而边缘计算的边缘是指从数据源到云计算中心路径之间的任意计算和网络资源,是一个连续统。边缘计算模型和云计算模型并不是取代的关系,而是相辅相成的关系。边缘计算需要云计算中心强大的计算能力和海量存储的支持,而云计算中心也需要边缘计算中边缘设备对海量数据及隐私数据的处理。相比于云计算,边缘计算模型具有3个明显的优点:
1)在靠近数据生产者处做数据处理,不需要通过网络请求云计算中心的响应,大大减少了系统延迟,增强了服务响应能力;
2)在网络边缘处理大量临时数据,不再全部上传云端,这极大地减轻了网络带宽和数据中心功耗的压力;
3)边缘计算将用户隐私数据不再上传,而是存储在网络边缘设备上,减少了网络数据泄露的风险,保护了用户数据安全和隐私。
在这些优势的助推以及物联网的迅速发展背景下,边缘计算得到了迅速发展。在此过程中,涌出了许多优秀的算法架构,操作系统等技术,为将技术应用到生产生活中提供了有力的理论支持与技术和保障。
边缘计算的发展历史并不久远,2015年以前,处于原始技术的技术积累阶段;早在1998年,Akamai公司提出了内容分发网络(CDN),CDN是一种基于互联网的缓存网络,依靠部署在各地的缓存服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,将用户的访问指向距离最近的缓存服务器上,以此降低网络拥塞,提高用户访问速度和命中率。CDN强调内容和数据的备份和缓存,而边缘计算的基本思想则是功能缓存。随后,在万物互联的背景下,边缘数据迎来了爆发性增长,为了解决面向数据传输、计算和存储过程中的计算负载和数 据传输带宽的问题,研究者开始探索在靠近数据生产者的边缘增加数据处理的功能,即万物互联服务功能的上行.具有代表性的是移动边缘计算(mobile edge computing,MEC)、雾计算(fog computing)和海云计算(cloud-sea computing)。
移动边缘计算是指在接近移动用户的无线接入网范围内,提供信息技术服务和云计算能力的一种新的网络结构,并已成为一种标准化、规范化的技术。由于移动边缘计算位于无线接入网内,并接近移动用户,因此可以实现较低延时、较高带宽来提高服务质量和用户体验。移动边缘计算强调在云计算中心与边缘计算设备之间建立边缘服务器,在边缘服务器上完成终端数据的计算任务,但移动边缘终端设备基本被认为不具有计算能力,而边缘计算模型中的终端设备具有较强的计算能力,因此移动边缘计算类似一种边缘计算服务器的架构和层次,作为边缘计算模型的一部分.思科公司于2012年提出了雾计算,并将雾计算定义为迁移云计算中心任务到网络边缘设备执行的一种高度虚拟化计算平台。它通过减少云计算中心和移动用户之间的通信次数,以缓解主干链路的带宽负载和能耗压力。雾计算和边缘计算具有很大的相似性,但是雾计算关注基础设施之间的分布式资源共享问题,而边缘计算除了关注基础设施之外,也关注边缘设备,包括计算、网络和存储资源的管理,以及边端、边边和边云之间的合作。与此同时,2012年,中国科学院启动了战略性先导研究专项,称之为下一代信息与通信技术倡议(NICT倡议),其主旨是开展“海云计算系统项目”的研究,其核心 是通过“云计算”系统与“海计算”系统的协同与集成,增强传统云计算能力,其中,“海”端指由人类本身、物理世界的设备和子系统组成的终端。与边缘计算相比,海云计算关注“海”和“云”这两端,而边缘计算关注从“海”到“云”数据路径之间的任意计算、存储和网络资源。
2 边缘计算发展历程
2015-2017年边缘计算开始进入国际各方视野,相关论文爆炸式增长;由于边缘计算满足万物互联的需求,引起了国内外学术界和产业界的密切关注。
在政府层面上,2016年5月,美国自然科学基金委(NSF)在计算机系统研究中将边缘计算替换云计算,列为突出领域;在学术界,2016年5月,美国韦恩州立大学施巍松教授团队给出了边缘计算的一个正式定义:边缘计算是指在网络边缘执行计算的一种新型计算模型,边缘计算操作的对象包括来自于云服务的下行数据和来自于万物互联服务的上行数据,而边缘计算的边缘是指从数据源到云计算中心路径之间的任意计算 和 网 络 资 源,是一个连续统。并发表了“Edge Computing:Vision and Challenge”一 文,第1次指出了边缘计算所面临的挑战;工业界也在努力推动边缘计算的发展,2015年9月,欧洲电信标准化协会(ETSI)发表关于移动边缘计算的白皮书,并在2017年3月将移动边缘计算行业规范工作组正式更名为多接入边缘计算(MEC),致力于更好地满足边缘计算的应用需求和相关标准制定。2015年11月,思科、ARM、戴尔、英特尔、微软和普林斯顿大学联合成立 了Open Fog联盟,主要致力于 Fog Reference Architecture的编写。为了推进和应用场景在边缘的结合,该组织于2018年12月并入了工业互联网联盟。
国内边缘计算的发展速度和世界几乎同步,特别是从智能制造的角度。2016年11月,华为技术有限公司、中国科学院沈阳自动化研究所、中国信息通信研究院、英特尔、ARM 等在北京成立了边缘计算产业联盟,致力于推动“政产学研用”各方产业资源合作,引领边缘计算产业的健康可持续发展.2017年5月首届中国边缘计算技术研讨会在合肥开幕,同年8月中国自动化学会边缘计算专委会成立,标志着边缘计算的发展已经得到了专业学会的认可和推动。
2018至今,边缘计算已得到了稳步发展,2018年8月两年一度的全国计算机体系结构学术年会以“由云到端的智能架构”为主题,由此可见,学术界的研究焦点已经由云计算开始逐渐转向边缘计算。同时,边缘计算也得到了技术社区的大力支持。
3 边缘计算核心技术
计算模型的不断发展,还要得益于核心技术的进步与创新。关键技术包括了计算卸载、计算迁移、边缘缓存、安全保护。
3.1 计算卸载
计算卸载技术主要包括卸载决策、资源分配和卸载系统实现这三方面。
其中,卸载决策主要解决的是终端决定如何卸载、卸载多少以及卸载什么的问题。目前主流研究方向有三种:以降低时延为目标的卸载决策、以降低能量消耗为目标的卸载决策、权衡能耗和时延为目标的卸载决策。执行卸载决策分为3个步骤:首先,代码解析器确定什么可以卸载,具体卸载内容取决于应用程序类型和代码数据分区;然后,系统解析器负责监控各种参数,如可用带宽、要卸载的数据大小或执行本地应用程序所耗费的能量;最后决策引擎确定是否卸载。
3.2 资源分配
资源分配则重点解决终端在实现卸载后如何分配资源的问题。资源分配又涉及单节点和多节点的分配问题。单一节点的资源分配虽然实现了资源分配,但无法实现网络间的资源互补,容易产生负载失衡问题,因此,考虑在多节点间卸载计算资源成为提升卸载性能的主要途径。
3.3 卸载系统
对于卸载系统的实现,则侧重于移动用户迁移过程中的实现方案。现有的计算卸载一般按照划分粒度进行分类,主要分为基于进程或功能函数进行划分的细粒度计算卸载和基于应用程序或VM划分的粗粒度计算卸载。
4 问题与挑战
虽然目前边缘计算已经取得业内外的广泛重视,各项技术也取得了显著效果的发展,但是仍然有很多问题亟待解决或完善。可以概括为以下几点:可编程性、命名规则、数据抽象、服务管理、数据隐私保护及安全、干扰管理。
4.1 可编程性
在云计算模型中,系统的运行和维护都是公开透明的。用户无需了解程序是如何运行的,直接将需求传至云端,云端服务器传回处理结果。在边缘计算模型中,边缘计算节点本身、操作系统平台和运行环境均具有异构性,应用程序的编写和执行过程也具有多样性。在边缘计算节点中统一地部署应用程序对开发人员来说比较困难。此外,开发人员需要在边缘和云之间划分应用程序的功能,早期的实现是通过手动完成的,不具有可扩展性。因此,需要研发易于使用的编程框架和工具,支持边缘计算编程模型需要的任务和数据的并行性。同时,兼顾软硬件的异构性和边缘节点的资源容量,使得边缘计算的可编程性比传统的云计算模型更复杂。
4.2 命名规则
在局域网中,每个网络设备均会被分配一个IP地址,通过此IP即可访问特定设备。在边缘计算模型中,对每个设备命名,统一命名规则依然是非常值得研究的课题。当前在小范围如家居环境中,通过分配IP是一个高效的解决办法,但是对城市级别规模来说,数量庞大、类型各不相同的边缘设备,命名规则仍然是未有高效的解决办法。
目前主流命名机制有移动优先、数据命名网络(NDN)。移动优先技术将命名和网络地址分开,以更好地支持移动性.如果边缘服务器上的程序具有较高的移动性,那么移动优先技术的应用就会提高边缘服务器的效率.但是,在移动优先技术中,命名规则需要一种全局唯一标识符,而在网络边缘环境(家居环境)下,固定信息聚合服务程序不需要这种标识符.移动优先技术的另一个缺点是全球唯一标识符(GUID)不够人性化,使服务程序较难管理。后者不仅提供了以数据为中心的网络分层结构命名规则和友好的服务管理,还保障了边缘计算具有可扩展性。为了适合如蓝牙或 ZigBee等通信协议,NDN 需要额外的代理。由于很难将设备硬件信息与服务提供商隔离,因此 NDN存在一定的安全隐患。
4.3 数据隐私保护及安全
数据安全、隐私保护任何时候都是需要重视的问题。边缘计算的特性注定了其数据安全、隐私保护面临着巨大威胁。
1)计算能力弱。与云服务器相比,边缘服务器的计算能力很弱。边缘服务器更容易受到现有攻击方式的攻击,而这些攻击对云服务器早已失效。同理,与通用计算机相比,边缘设备的防御机制更加脆弱,许多针对桌面计算机的无效攻击可能对边缘设备构成严重威胁。
2)攻击无意识。与通用计算机不同,大多数物联网设备没有用户界面,有些设备只包含比较简陋的硬件,这导致用户对设备运行状态的了解很有限。因此,即使攻击发生在边缘设备上,绝大多数用户是无法识别的。
3)操作系统和协议的异构性。通用计算机倾向于使用标准的操作系统和统一的通信协议,而边缘设备通常具有不同的操作系统和通信协议,并没有遵循统一的、标准化的规则,导致设计统一的边缘计算保护机制比较困难。
4)粗粒度访问控制。针对通用计算机和云计算设计的访问控制模型主要包括无读写、只读、只写和读写等4类权限。这类粗粒度的访问控制模型无法适应边缘计算的需求,边缘计算中复杂的系统以及应用程序需要细粒度的访问控制,进而应对诸如“谁可以通过在何时做什么来访问哪些传感器”之类的问题。
4.4 干扰管理
干扰问题也是计算卸载中亟待解决的关键问题之一,如果将很多接入设备的应用同时卸载到MEC服务器,会产生严重的干扰问题,如何在保证QoS的前提下实现资源的合理分配同时解决干扰问题是MEC计算卸载面临的关键挑战之一。
干扰管理具有多种多样的实现方式,与资源管理紧密相连,这是因为干扰的本质是资源的冲突使用,网络资源分配的不理想是产生干扰的根本原因。此外,由于移动边缘计算网络是分布式部署,海量终端的卸载处理请求以及复杂的网络环境降低了资源使用率。因此,有效资源分配作为干扰管理的重要手段,一方面可以通过合理利用网络资源,增加网络容量,另一方面可以通过干扰管理修正资源分配策略,促进网络容量的提升。尽管如此,干扰管理依然面临巨大的挑战。
5 总结
边缘计算经过几个阶段的发展,已经得到社会各界的广泛认可,其研究成果也在逐渐应用到生产实践中并且带来可观的经济效益。其各项关键技术如网络、体系架构、操作系统、算法框架等也在逐渐走向成熟,未来将应用到更多领域,在更多应用场景中发挥作用!