边缘计算是在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的开放平台。边缘计算与云计算互相协同,共同助力各行各业的数字化转型。它就近提供智能互联服务,满足行业在数字化变革过程中对业务实时、业务智能、数据聚合与互操作、安全与隐私保护等方面的关键需求。
根据国际电信联盟电信标准分局ITU-T的研究报告,到2020年,每个人每秒将产生1.7MB的数据,IoT可穿戴设备的出货量将达到2.37亿。IDC也发布了相关预测,到2018年,50%的物联网网络将面临网络带宽的限制,40%的数据需要在网络边缘侧分析、处理与储存,到2025年,这一数字将超过50%。
图1:边缘计算与云计算的关系
边缘计算的巨大价值
美国部署了3000余万个监控摄像头,每周生成超过40亿小时的海量视频数据。物联网领域拥有海量的终端设备,如果这些设备产生的数据聚在一起,会是个天文数字。海量数据的分析与储存对网络带宽提出了巨大的挑战,而边缘计算的诞生,就是为了解决这一问题。
1)分布式和低延迟计算
云计算往往并不是最佳策略,计算需要在更加靠近数据源的地方执行。这个优点可以扩展到任何基于Web的应用程序上:包括 Foursqure和Google Now在内的APP能更快的做出响应,所以在移动用户中变得越来越受欢迎。这说明在更靠近用户的边缘节点上,边缘计算可以用于改进服务。
许多数据流由边缘设备生成,但是通过“远处”的云计算处理和分析,不可能做出实时决策。例如使用可穿戴式摄像头的视觉服务,响应时间需要在25ms至50ms之间,使用云计算会造成严重的延迟;再比如工业系统检测、控制、执行的实时性高,部分场景实时性要求在10ms以内,如果数据分析和控制逻辑全部在云端实现,则难以满足业务要求;还有那些会生成庞大数据流的多媒体应用,如视频或是基于云平台的网络游戏,依赖云计算也会为玩家造成类似于等待时间过长的问题,无法满足用户的需求。
作为云计算的有益补充,可以利用边缘节点(例如,路由器或离边缘设备最近的基站),用以减少网络等待时间。
2)超越终端设备的资源限制
与数据中心的服务器相比,用户终端(例如智能手机)的硬件条件相对受限。这些终端设备以文本、音频、视频、手势或运动的形式获得数据输入,但由于中间件和硬件的限制,终端设备无法执行复杂的分析,而且执行过程也极为耗电。因此,通常需要将数据发送到云端,进行处理和运算,然后再把有意义的信息通过中继返回终端。
然而,并非来自终端设备的所有数据都需要由云计算执行,数据可以利用适合数据管理任务的空闲计算资源,在边缘节点处过滤或者分析。
3)可持续的能源消耗
大量研究显示,云计算会消耗庞大的能源,未来十年数据中心所消耗的能源量可能是如今消耗量的3倍。随着越来越多的应用转移到云,能量需求会日益增长,甚至无法满足。因此,采用能量效率最大化的计算策略显得尤为迫切。
一些嵌入式小型设备的基础信息采集处理完全可以在端完成,即手机传感器把数据传送到网关后,就通过边缘计算进行数据过滤和处理,没必要每条原始数据都传送到云,这省去了大量的能源成本。
4)应对数据爆炸和网络流量压力
边缘设备的数量正在超速增长——到2018年,世界上三分之一的人口将拥有智能手机或者可穿戴设备,到2020年,这些设备将生成43万亿GB的数据。处理这些数据需要进一步扩展数据中心,这再次引起了人们对网络流量压力的广泛关注。
通过在边缘设备上执行数据分析,可有效应对数据爆炸,减轻网络的流量压力。边缘计算能够缩短设备的响应时间,减少从设备到云数据中心的数据流量,以便在网络中更有效的分配资源。
5)智能计算
不仅是消费级的物联网终端,边缘计算还将在工业应用中发挥重要作用。计算可以分层执行,利用网络远端的资源完成。例如,典型的生产流水线可以过滤设备上生成的数据,在传输数据的边缘节点上执行部分分析工作,之后再通过云端执行更加复杂的计算任务。边缘节点可以通过分担云计算的部分任务,增强数据中心的计算能力。
业务流程优化、运维自动化与业务创新驱动业务走向智能,边缘侧智能能够带来显著的效率提升与成本优势。事实上,对于从事工业自动化工作的人而言,边缘计算并不陌生。比如,在目前普遍采用的基于PLC、DCS、工控机和工业网络的控制系统中,位于底层、嵌于设备中的计算资源,或多或少都是边缘计算的资源。
目前规模以上冶金企业,其信息化已经做得颇具成效,但缺少的恰恰是末端智能。冶金方面的数据经常会出现完整性和一致性的问题,俗称“脏”数据。解决不好这方面的问题,会给能源管理和智能管理环节造成很大的困扰。边缘计算在其中发挥着重要作用,成为工业物联网技术的有效补充。
边缘计算所面临的挑战
边缘计算仍处于起步阶段,当前的云计算服务(如Amazon Web Service,Microsoft Azure和Google App Engine)可以支持数据密集型的应用程序,但在网络边缘进行实时的数据处理仍是一个有待开拓的领域。
此外,若想更好的在边缘节点上部署应用程序的工作负载,需要考虑以下几个方面:
部署策略:如何部署工作负载
连接策略:何时使用边缘节点
异构性:如何处理不同类型的节点
为了实现边缘计算,我们认为在硬件、中间件和软件层面,有以下5个挑战需要解决。
挑战1:边缘节点上的通用计算能力
理论上,可以在位于边缘设备和云平台之间的某几个节点上完成边缘计算,包括接入点、基站、网关、业务节点、路由器、交换机等。例如,基站可以根据工作负载能力,执行数字信号处理(DSP)。但是在实践中,基站可能并不适合处理分析工作,因为DSP并不是为通用计算设计的。此外,这些节点是否可以执行除了现有工作之外的计算还不太清楚。
由CAVIUM提供的OCTEON Fusion? Family是一个小型“芯片上基站”单元,可扩展从6个到14个的内核,以支持32到300+的用户。这种基站可在非高峰时间使用多个计算核心的运算能力。
许多供应商也已经迈出了使用软件解决方案实现边缘计算的第一步。例如,诺基亚针对移动边缘计算(MEC)的软件解决方案旨在为基站站点提供边缘计算能力。同样,思科的IOx为其集成的服务路由器提供了一个边缘计算环境。这些解决方案应用于特定硬件,因此不适合部署在异构环境中。
软件解决方案面临的一个挑战是如何开发跨越不同环境的可移植的解决方案。某些公司正在研究升级边缘节点,以支持通用计算需求。例如,可以升级无线家庭路由器以支持额外的计算任务。英特尔的Smart Cell Platform使用虚拟化技术,支持额外的计算任务。通用CPU替换专用DSP提供了另一种解决方案,但却需要巨大的投资。
挑战2:发现边缘节点
到2020年将有500亿的终端和设备联网,除了边缘设备与终端联网最大的“异构”特征之外,产品生命周期越来越短、个性化需求越来越高、全生命周期管理和服务化的趋势越来越明显,这些新趋势都需要边缘计算提供强大的技术支撑。
如何在分布式计算环境中发现资源和服务是一个有待拓展的领域。为了充分利用网络的边缘设备,需要建立某种发现机制,找到可以分散式部署的适当节点。因为可用设备的数量庞大,这些机制不能依靠人工手动。此外,还需要使用多种异构设备满足最新的计算需求,比如大规模的机器学习任务。
这些机制必须在不增加等待时间或损害用户体验的前提下,实现不同层次和等级的计算工作流中无缝集成,原有的基于云计算的机制在边缘计算领域不再适用。
挑战3:分区和拆分任务
对于边缘计算来说,最大的难点在于如何动态、大规模地部署运算和存储能力以及云端和设备端如何高效协同、无缝对接。
不断发展的分布式计算已经催生了许多技术用来促进在多个地理位置分区执行任务。任务分区通常在编程语言或管理工具中明确表示。
然而,利用边缘节点来实现分区计算不仅仅带来了有效分割计算任务的挑战,对于如何能在不需要明确定义边缘节点的能力或位置,以自动化的方式进行计算的问题上,也遇到了瓶颈。因此,需要一种新型的调度方式,以便将分割的任务部署到各个边缘节点上。
挑战4:高水准的服务质量(QoS)和服务体验(QoE)
另一个挑战是需要确保边缘节点实现高吞吐量,并且在承接额外计算工作量时运行可靠。例如,当基站过载时,可能影响连接到基站的其他边缘设备。
因此需要对边缘节点的峰值时间全面了解,以便可以用灵活的方式来分割和调度任务。复杂的算法如何在云端和边缘设备之间合理分解和整合,需要一个对云管端三者都有控制力的技术来实现。
挑战5:开放和安全的使用边缘节点
安全横跨云计算和边缘计算,需要实施端到端的防护。由于更贴近万物互联的设备,网络边缘侧访问控制与威胁防护的广度和难度因此大幅提升。边缘侧安全主要包含设备安全、网络安全、数据安全与应用安全。此外,关键数据的完整性、保密性是安全领域需要重点关注的内容。
如果把终端设备(例如交换机、路由器和基站)当作可共享接入的边缘节点,则需要解决许多问题:首先,需要定义边缘设备使用者和拥有者相关联的风险。其次,当设备用于边缘计算节点时,设备的原有的功能不能被损害。第三,边缘节点上的多重用户都需要将安全性作为首要关注指标。第四,需要向边缘节点的用户保证最低服务水平。最后,需要考虑工作负载、计算能力、数据位置和迁移、维护成本和能源消耗,以便建立合适的定价模型。
边缘计算的潜在机会
边缘计算仍处于起步阶段,有可能为更高效的分布式计算铺平道路。尽管在实现边缘计算时出现了不少挑战,但边缘计算将会催生更多的发展机遇,在此我们明确了5个潜在机会:
机会1:标准、基准和市场
统一数据连接和数据聚合是业务智能的基础,面对当前工业现场存在的多样化与异构的技术和标准,离不开跨厂商、跨领域的数据集成与互操作。网络边缘侧的本地计算服务无疑会在异构环境中迎来IT厂商、IT方案商以及开发者集成融合服务的挑战,标准化亟待形成。
许多组织正在定义各种边缘计算标准,例如美国国家标准和技术协会(NIST)、IEEE标准协会、国际标准化组织(ISO)、云计算标准客户委员会(CSCC)和国际电信联盟(ITU)等。只有当边缘节点的性能可以根据广泛认可的度量指标可靠的进行基准测试时,才能形成标准。
机会2:架构和语言
随着支持通用计算的边缘节点不断增加,开发框架和工具包的需求也会随之增长。边缘分析与现有流程不同,由于边缘分析将在用户驱动的应用程序中实现,现有框架可能不适合表达边缘分析的工作流。
编程模型需要利用边缘节点支持任务和数据的并行,并且同时在多个层级的硬件上执行计算。编程语言需要考虑工作流中硬件的异构性和各种资源的计算能力。这比云计算的现有模型更加复杂。
机会3:轻量级库和算法
与大型服务器不同,由于硬件限制,边缘节点不支持大型软件。例如,Intel T3K并发双模SoC的小型基站具有4核ARM的CPU和有限内存,不足以执行复杂的数据处理工作。再比如APAChe Spark需要至少8核的CPU和8 GB的内存以获得良好的性能。边缘分析需要轻量级算法,可以进行合理的机器学习或数据处理任务。
例如,Apache Quarks是一种轻量级库,可以在小型边缘设备(如智能手机)上使用,以实现实时数据分析。但是Quarks支持的基本数据处理,例如过滤和窗口聚合,不足以满足高级分析任务。消耗更少内存和使用更小磁盘的机器学习资源库有利于实现边缘节点的数据分析。TensorFlow是另一个支持深度学习算法并支持异构分布式系统的示例框架,但其边缘分析的潜力仍有待探索。
机会4:微型操作系统和虚拟化
基于微型操作系统或微型内核的研究可以解决在异构边缘节点上部署应用的挑战。
有研究表明,跨越多个虚拟设备复用设备硬件的移动容器可以提供与本地硬件接近的性能。容器技术(如Docker)正在成熟,并且能够在异构平台上快速部署应用程序。
机会5:产学研合作
边缘计算为产业界和学术界提供了独特的发展机会。边缘计算领域的研究可以由行业合作伙伴(例如移动运营商和开发人员、软件工具开发商和云服务提供商等)以及感兴趣的学术合作伙伴共同驱动,以实现双方的共同利益。