边缘架构的基础设施广泛分布在数据中心、主服务器中心和网络边缘等位置,包含计算资源、存储资源、移动设备、传感器和IoT网络连接等多种要素。我们根据设备上的可用资源和执行给定工作负载的实际能力对它们进行分类,并重点介绍组成边缘硬件架构的三类架构要素。第一类是由云、服务器和虚拟机等组成的云中心,由于配置了丰富的计算节点和存储节点,云几乎拥有无限的能力,云服务主要采用IaaS和PaaS等方式。支撑云的是大量的服务器和虚拟机,所需的机器数量往往是在选型中静态确定的;第二类是位于边缘网络且移动性较高的边缘服务器,可以将其简单看作缩小版且定制化的云数据中心,受限于软硬件成本和空间物流成本,它们的能力往往只能应对网络边缘的具体场景。边缘服务器通过灵活的拓扑选项来适应不同的物理环境,高弹性、高可用性和可扩展性是其显著优势;第三类是遍布边缘网络的多样化异构终端设备,考虑到移动性需求和资源受限的特点,这类硬件设备大多是低功耗且低能力的,它们可能有实时性计算需求或使用以硬件为中心的编程语言。
让我们首先介绍云计算范式以便更好地理解云中心的特点。云计算来源于一种称为“即用即付”的商业模式,并逐渐发展成为一种典型的基于服务的计算模型。该模型基于计算、存储和网络资源提供多种可扩展的云服务,极大地增强了终端设备各方面的能力。服务过程往往是通过计算任务卸载实现的,来自终端设备或由边缘服务器间接转发的卸载请求就是在能力强大的云中心被处理的。云计算赋予了终端设备三点优势:
❑云计算将计算复杂度高的任务从终端设备迁移到能力强大的云中心,显著降低了终端设备的计算负载和能源消耗,延长了设备电源的使用寿命。
❑云服务依靠安全高效的无线通信技术为终端用户提供数据存储功能,用户可以通过远程网络访问自己的数据而不受到地理位置的限制,这有利于节省终端设备的存储空间。
❑云平台将多个云计算供应商所提供的软硬件资源整合起来以实现高扩展性的底层服务,可以为移动应用开发者提供强大的支持,以应对终端设备上难以预测的动态性需求。
由此可见,云计算是以云为中心的计算范式,它借助计算资源、存储资源、网络资源和高效的资源管理策略来实现服务供应。云中心包含由大量高性能服务器组成的大规模集群以及与各种功能相对应的云服务节点。云服务器具备快速处理复杂计算任务、高效管理并分配各类资源以及安全存储隐私数据的综合能力。除了这些服务器和相关硬件设备,云中心还包括软件框架所定义的中间件。类似操作系统内核与应用程序之间的服务级应用程序接口(Application Programming Interface, API),中间件使用虚拟化、资源监视和负载均衡等技术实现对云中心资源的全面管理。作为终端用户与云服务器之间的桥梁,中间件对应用程序QoS的影响仅次于云中心的基础设施。
中间件的核心功能是将云中心或边缘网络的资源分配给应用程序,其关键在于确定资源的类型和数量以平衡延迟和开销 [5] 。为了实现这个目标,中间件需要同时实现应用程序和资源的高效管理,并且还需要确保数据安全。所以,我们将云的中间件服务总结为以下几点:
❑提供基于结构化查询语言(Structured Query Language, SQL)的数据管理服务。
❑提供监控服务来跟踪整个系统中应用程序和资源的当前状态并保存它们的历史信息。
❑提供性能分析服务,根据监控服务的状态信息和资源需求的历史信息来预测资源的利用率和应用程序的性能。
❑提供资源供应服务,根据用户需求、监控服务信息和分析服务结果为各种应用程序动态分配资源。
❑提供应用程序放置服务,基于资源供应服务确定应用程序应该在云中心还是边缘网络上执行,最终目的是平衡可实现的性能和资源需求并提高执行效率。
❑提供各种应用程序所需的身份验证、访问授权和数据加密等安全服务。
边缘网络中存在大量多样化的边缘服务器,它们通过分布式对等连接实现协同运作。云中心遍布着计算能力相近的高性能服务器,与此不同的是,边缘服务器之间往往存在较大的差别。虽然大部分边缘服务器都重复着计算和存储两大任务,但是根据所处的位置和所拥有的资源我们可以将它们分为两类。一类边缘服务器尽可能靠近传感器和执行器等特定的边缘设备以降低服务延迟,它们位于“设备边缘”但计算存储资源极为有限。另一类边缘服务器远离这些设备,它们位于“网络边缘”(又称本地边缘)且包含更多种类丰富的资源。在边缘网络中,工作负载一般包括应用程序工作负载和网络任务。一些简单的计算和存储类工作负载可以直接在设备边缘被处理,而复杂的计算任务和网络功能往往必须迁移至本地边缘服务器(即网络边缘)。
注意 在这里“边缘网络”和“网络边缘”具有不同的含义。“边缘网络”指的是由边缘服务器组成的计算网络,即云-边-端三层架构中的“边”。“网络边缘”远离中心网络或主干网络,一般指的是传统云计算网络最外围的位置。读者应该根据上下文语境来辨析它们。
位于设备边缘的服务器又称设备边缘节点,它们有些就是具有附加功能的边缘设备。有限的资源使得这些计算单元仅执行简单的功能,通常只能部署数量有限的工作负载。这些节点大多采用微控制单元(Microcontroller Unit, MCU)或片上系统芯片(System on Chip, SoC)等缩减版的CPU以降低成本和能耗,它们支持功能定制化的嵌入式系统而不是灵活性更高的桌面操作系统。设备边缘节点大致可以分为执行少量计算密集型操作的计算节点和网关节点。除了在设备边缘的计算节点之间传输数据,网关节点还需要建立边缘设备到本地边缘服务器(即网络边缘)的连接。为了提供微秒级的网络延迟,边缘设备之间或边缘设备与本地边缘服务器之间往往使用低功耗的短距离通信协议。
位于网络边缘的服务器又称本地边缘节点,它们具备比设备边缘节点更强大的处理能力。本地边缘节点包括我们熟悉的笔记本计算机、平板计算机、上网本和台式机等,它们通常支持各种Linux发行版和Windows操作系统。它们具有完全独立的计算、存储和网络能力,能较好地满足户外作业、现场控制等具体场景的算力需求。为了获得可用性更高且能力更强的计算系统,我们可以搭建本地边缘节点组成的集群来为终端设备提供可靠的服务。这样的节点集群本质上就是位于网络边缘的小型数据中心,与云中心相比它们需要的资源更少并带来了更高的灵活性。它们通常被称为微云(cloudlet),定制化的微云使得边缘智能成为可能。部署在微云中的视频和文本分析等智能应用程序可以实时地处理来自边缘设备的数据并将它们存储在网络边缘,某些情况下这些数据也会上传至云端。
与云中心类似,边缘服务器也需要提供灵活的网络功能服务。网络功能虚拟化(Network Function Virtualization, NFV)使用IT虚拟化技术在通用x86服务器上运行传统中由专用硬件实现的网络功能。虚拟化网络功能(Virtualized Network Function, VNF)将软件功能与底层硬件解耦,使运营商网络变得更具扩展性和敏捷性。在本地边缘服务器上执行的VNF主要包括软件路由、防火墙和无线接入网(Radio Access Network, RAN)等。
终端设备广泛分布在边缘架构中,随着IoT的不断发展,其种类变得越来越丰富。一般来说,终端设备指的是收集或处理数据的设备。“终端”意味着它们位于数据生成端或消费端,并且与用户存在紧密联系。在边缘场景中,传感器、麦克风、网络摄像头和数据记录仪等终端设备常被用于收集各类数据。有些终端设备包含简单执行器和小型可视化工具来处理收集的数据或接收的信息,这类处理不需要太多算力。因此,终端设备的计算和存储能力大多有限,其内存和带宽等资源只能支持实时信息采集、加工和传输等基本功能。除了这些功能,大部分终端设备都包含将物理信号转换为电信号的传感器模块。另外,终端设备既可以独立地收集并存储数据,也可以通过网络连接与其他设备通信,共同将信息保存至指定位置的数据库。
终端设备直接与物理世界相连,是边缘计算最外围的设备。它们具有三个显著特点。首先,终端设备依靠有限的能源进行工作。为了降低能量消耗以延长电池运行时间,设备算法往往比较简单且数据通信量受到严格限制。其次,终端设备通常具备隐私保护能力。传感器采集的数据可能包含一些个人信息,监控系统也有可能涉及私人空间或者企业的商业机密。最后,终端设备的硬件结构往往需要适应周围环境。在户外作业中终端设备可能需要忍受低温、高压、流水、沙砾或其他恶劣的自然环境,这对设备的设计和制造方式提出了一定要求。