购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 边缘计算的核心技术

在云计算架构中,数据中心是资源的拥有者和控制者,用户按需申请资源。用户数据被上传到数据中心进行计算和处理,数据中心最后通过网络向用户发送处理结果的反馈。然而,在边缘计算的架构中,边缘节点具备一定的计算与存储能力,因此用户不需要完全依赖数据中心。有了这种组织架构,现有的计算、网络和存储的关键技术将发生重大变化。本节总结归纳边缘计算发展过程中的几项核心技术,包括核心计算技术、分布式存储技术、网络技术、虚拟化与隔离技术以及安全和隐私保护等。

1.4.1 核心计算技术

资源集中且充裕的云计算架构有着相对成熟的计算模型,然而在边缘计算架构中,不同边缘节点的体系结构和计算能力之间存在显著差异,本小节展示了一些关键的计算技术性难题和策略,如智能任务调度策略、异构节点上的计算。

1.智能任务调度策略

对于分布式计算模型,如何大规模地动态部署计算和存储资源,以及如何实现边缘设备之间的高效协作和云-边无缝连接是一个具有挑战性的难题 [6] 。分布式计算的持续发展产生了许多将任务在不同地理位置上进行分割执行的技术,然而,由于边缘节点的异构性等因素,基于任务分割的计算模式在边缘计算下较难实现。因此,边缘计算环境要求有新的调度策略将分割后的任务合理地分配到每个计算节点。一种理想的策略是边缘设备能完全智能地决定何时采用哪些边缘计算资源以及对哪些数据进行处理。

另一个问题是如何确保边缘节点在做额外计算的同时依然可靠。例如,如果一个基站过载,与其相连的终端设备很可能会受到影响。因此,边缘节点的运行需要被智能地感知并调控,通常认为,只有采用能同时控制云端、设备和信道的技术,在云端和边缘设备之间高效执行一个较为复杂的任务才能实现。

2.异构节点上的计算

随着支持通用计算的边缘节点的增加,对开发框架和工具链的需求也不断提高。程序设计模式需要借助边缘节点支持任务或数据的并行处理,并在不同层次的硬件设备上做计算;编程语言也需要考虑异构的硬件和工作流程中异构计算资源所带来的问题。而容器化技术趋于成熟,移动容器可以先在多种虚拟设备中对硬件进行复用,且能提供与本地硬件相同的性能,并且能在异构平台上迅速做应用部署,因而容器化技术为异构节点上的计算提供了极大的便利。

1.4.2 分布式存储技术

一般认为,随着计算机处理器性能的快速提升,处理器与存储器间的速度差异已成为限制计算机系统性能的关键因素之一。边缘计算系统在数据存储和计算方面具有很强的实时性需求,存储器需要具有低延迟、大容量、高容错率等特点。已有的分布式存储架构非常适用于中心化的云计算系统,而随着边缘计算的深入发展,算力更多地被边缘共享。将来的操作系统,尤其是边缘上的本地文件系统,将更专注于为计算服务。从以存储为中心的机制到以计算为中心的机制的转变,是对现有的存储系统的设计思想的一种颠覆。边缘计算中的数据存储技术需要考虑以下几个方面的问题。

1.数据分布

数据分布是设计分布式存储系统之初就必须要考虑的问题,一些典型的数据分布算法,如分布式哈希表(Distributed Hash Table, DHT)、一致性哈希算法等,将数据分割后公平地分配到各个节点上,这样的数据分布能够平衡云计算中心计算节点的算力。然而,对于边缘节点参与的计算模型,数据需要存储在对其进行处理的节点上,而不是随机的位置。边缘计算更为关注减少计算延迟而不是数据均衡。

2.数据一致性

典型的分布式场景下,数据有多份拷贝,这些拷贝可能会被同时读写,因此数据一致性问题始终存在,并引起了广泛的关注和研究。在边缘计算中,获取数据的是边缘设备而不是终端用户,因此不需要传统的一致性机制,而是采用新的架构。边缘数据库是地理分布式的多主节点数据平台,使用免协调的方式支持多个边缘位置。边缘数据库使用不需要集中的共识形式,也不需要重组云应用来进行扩展,能够在保证数据一致性的同时,多个节点实时地同步到共享的真实版本数据。

3.新存储硬件上的软件

分布式计算是对延迟敏感的计算模型,尤其在互联网和嵌入式应用中,大的趋势是将存储介质由机械硬盘替代为其他非易失存储器(如PCRAM、NAND Flash、RRAM等)。然而,当前的存储系统更多地基于机械硬盘进行设计开发,其设计理念不能充分发挥新型非易失存储器的全部性能。随着边缘计算技术的持续发展,高速节能的非易失存储介质将更多地部署在边缘节点上,因此适配新型非易失存储介质的存储系统将成为一项关键技术。

1.4.3 网络技术

边缘计算把一部分计算和数据存储任务部署到更靠近数据源的设备上,甚至将整个计算任务分配到数据源至云计算中心的数据传输路径的某一个节点上,这种计算部署方式对网络结构提出了更为严格的要求。

1.服务发现

边缘计算环境下,计算服务的请求者所在的网络环境在时间和空间上会产生较大的变化,而请求者如何得知周边的服务环境是边缘计算所面临的核心问题之一。传统的服务发现机制基于DNS协议,主要适用于静态服务或地址变化较少的服务场景。当服务发生变化,DNS服务器需要进行域名同步,同步的过程会产生网络波动,所以DNS服务器无法应用在动态性较强的边缘计算环境中。

2.快速配置

边缘计算环境下,用户可能动态加入或退出边缘环境,同时其计算设备也会进行动态的注册和注销,因此计算服务需要进行动态迁移,而迁移的过程会产生大量的突发流量。相比于较为封闭的云计算中心,公网中的网络环境要复杂得多,应对突发流量的弹性也容易受到宽带的限制。因此,实现设备服务的快速配置,是边缘环境下的重要技术之一。

3.负载均衡

在边缘计算中,大量数据由边缘设备产生,而边缘服务器也提供了大量的资源。根据网络状况和边缘服务器的分布,如何动态地调整和调度计算任务及边缘服务器的计算资源,以达到负载均衡并高效地完成计算任务,是边缘计算模型中的一个关键问题。对此,最简单的解决方案是将所有计算服务均部署到所有中间节点上,但这对边缘设备的算力的要求很高,且造成了服务的大量冗余。在建立从边缘设备到云计算中心的服务路径的过程中,首先要解决的问题是如何寻找服务来建立计算路径。命名数据网络(Named Data Networking, NDN) [7] 将数据和服务做命名寻址,并结合P2P与中心化进行自组织。将NDN应用到边缘计算中,进行计算服务和数据的命名,从而完成数据的关联流动,或者可以解决计算路径中的服务发现问题。

边缘计算使得网络瓶颈由计算中心的主干网络向边缘节点迁移,在该场景下,边缘服务器的内外交互迅速增加,这使得传统的TCP/IP技术难以满足严苛的网络需求。面对这些问题,远程直接存储器访问(Remote Direct Memory Access, RDMA)和InfiniBand等成了边缘计算中网络加速的一些关键技术。RDMA技术的示意图如图1-6所示。基于RDMA,数据能直接通过网络传输到一台设备的存储区,这意味着数据可以迅速地由一个系统转移到另一个远程系统的内存中,而且对计算设备的处理能力要求较低。这种技术避免了在外存上的数据拷贝和交换操作,从而可以节省存储带宽和CPU时钟周期数,提高了系统的整体性能 [8] 。InfiniBand是一种能处理并行链接的电缆交换技术。InfiniBand拥有高带宽、低延时以及高可扩展性等特点,非常适用于服务器与服务器、服务器与存储设备以及服务器与网络之间的通信。将InfiniBand应用于边缘计算环境,能在保证节点之间通信效率的同时,提供优良的可扩展性。

图1-6 RDMA技术示意图

注:CPU驱动具有RDMA引擎的以太网卡(RNIC),RNIC传输相应数据,并在传输完成后告知CPU,实现一个主机内存对另一台主机内存的直接访问

1.4.4 虚拟化与隔离技术

边缘计算的应用场景广泛,因而边缘节点类型和用户类型极为多样,产生的边缘服务也较为不固定。一方面,不同用户在特定场景下向不同的边缘节点卸载其任务和用户数据。在此情况下,从安全与隐私的角度,用户任务之间必须互相不可见,相互透明,不能泄露用户隐私数据;从边缘设备的运行环境来看,不同类型的计算任务通常依赖不同的运行环境,为了确保所有边缘服务正常运作,各运行环境需要彼此隔离,避免各种依赖之间发生冲突。另一方面,必须考虑对边缘服务器计算资源的利用。由于边缘服务器的资源相比云计算中心而言非常有限,因此需要更加合理地分配、调度和管理边缘服务器上的有限资源,以更高效地完成计算任务。

虚拟化技术能够较好地解决以上问题,为卸载来自多个用户的计算任务提供独立且互相隔离的运行环境,并在此基础上有效地提高边缘服务器上有限计算资源的利用率,对边缘计算性能的整体提升起到了关键作用。

虚拟化技术是一种资源管理和分配技术,作为云计算中的核心技术之一,虚拟化技术为云计算提供了灵活的资源分配和调度的能力。利用虚拟化技术,云计算服务可以将各类计算资源抽象为资源池,将CPU、存储器等计算资源抽象为另一种形式,实现离散化,确保资源和运行环境的隔离性,并且能够灵活地完成对资源的申请和释放,因此极大提高了计算资源的利用率,为众多用户提供快捷的服务。与此同时,虚拟化技术为各计算任务提供了彼此隔离的运行环境,使得各用户的计算任务并行不悖,既保证了各环境中的依赖关系不会发生冲突,还能让彼此不可见,保护了用户数据隐私和程序代码的安全性。如同云计算,边缘计算服务也要利用有限的计算资源为众多边缘用户提供服务,也需要对边缘服务器的资源进行管理。虚拟化技术作为云计算中的一种核心技术,在相似的需求下,也自然成为边缘计算的核心技术之一。

虚拟化概念广泛,对不同物理资源做虚拟化,可以实现诸如网络虚拟化、内存虚拟化、存储虚拟化等不同层次的概念。而在边缘计算及云计算模型下,服务器虚拟化是我们主要讨论的内容,即利用虚拟化技术提供完整的程序执行环境或系统。

隔离技术也是支撑边缘计算的一种核心技术。边缘服务器利用有效的隔离技术实现服务的可靠性并提高服务质量。隔离技术通常考虑两方面的问题,一方面是资源的隔离,应用程序的运行过程不会互相干扰;另一方面是数据的隔离,程序无法访问或篡改不属于它的内存或数据。在复杂的边缘计算环境中,如果某一程序发生错误导致系统受到影响,进而干扰到其他程序的正常运行,将产生严重后果;此外还需要第三方应用程序对用户隐私数据的访问权限。目前云计算环境下主要用Docker容器化和虚拟机等方案来实现资源之间的隔离性,边缘计算对隔离性的需求与此类似,因此可以借鉴云计算中运用的技术,探究适用于边缘计算场景的隔离技术。

在云计算平台中,Docker采取具有容器分层镜像结构的存储驱动,允许开发者将应用程序及其依赖打包到一个轻量级、可移植的环境中,并将其发布在服务器上运行,也能保证应用程序和运行环境之间的隔离,借此实现虚拟化。在边缘计算环境中,Docker容器化技术可以提供更快的部署速度、更轻量的镜像空间占用以及高性能和容错力 [9] 。除了使用容器的隔离技术外,也有一些其他的研究,例如Nam等人提出了一种轻量级的调度器EdgeIso [10] ,通过周期性地监控资源竞争,增量地实施多种隔离技术来减缓这些竞争,以此实现用户任务之间的服务器级别约束,能够动态隔离运行在边缘设备上的各程序。

1.4.5 安全与隐私保护

安全与隐私是云计算和边缘计算中的基本要求,需要采用端到端的保护。边缘计算作为信息系统下的一种新型计算模式。信息系统中普遍存在的安全问题在边缘计算系统下也很普遍,常见的信息系统安全问题有信息安全、网络安全及系统安全等。除了共性的安全问题,边缘服务器的自身安全问题不容忽视。虽然边缘计算避免了将用户数据上传到云端,降低了泄露隐私数据的可能 [11] ,但由于边缘设备与用户侧更近,也存在被攻击者入侵的潜在可能。异构和分布式的边缘节点也导致统一管理十分困难,也就造成了一系列新的安全和隐私泄露问题。

在边缘计算下,仍可采用传统的安全与隐私保护方案,例如利用密码学中的加密算法对信息安全进行保护、通过访问控制策略保证网络资源不被非法访问或非法使用。不过,通常要对传统策略做一定的调整,以适应边缘计算的工作环境。

此外,新兴的安全与隐私保护技术不断被开发,这些技术也能经过适当调整应用到边缘计算中,增强系统的安全性,硬件协助下的可信执行环境(Trusted Execution Environment, TEE) [12] 就是一个很好的例子。TEE是内存中CPU加密的独立私有区,用来在硬件级别上保护数据安全。当敏感数据位于安全区内时,未授权的实体无法修改、删除它们或增加其他数据,安全区域的内容对外部不可见且无法访问,以此来对抗内部和外部的威胁,因此TEE保证了数据完整性、代码完整性以及数据保密性。TEE给予了开发者对应用安全的完全控制权,即使在操作系统或应用本身受到威胁时仍能保护敏感数据和代码的安全。因此,将应用运行于TEE中,并对外部存储做加解密操作 [13] ,可在边缘节点受到攻击时,依旧保证数据的安全性。 ht0Kdd4cMyZdKkF5HmhlypQnCYKu8utNn9T2SOWzvRQW6n/jDjGyTa7I8Kj5Z7DV

点击中间区域
呼出菜单
上一章
目录
下一章
×