
2.1 边缘计算架构概述
在介绍边缘计算架构之前,我们先来了解边缘计算系统的运行方式。前文介绍了边缘计算中前端设备需要将计算任务卸载到边缘服务器上,而边缘服务器视情况在本地执行或进一步卸载到云端。这一过程中主要涉及三个实体:前端设备、边缘设备和云中心。所谓边缘计算架构,是指这三个实体是通过怎样的软硬件方式有效组织起来协同运转的,包括硬件架构和软件架构。硬件架构是指上述三个实体的层次架构以及边缘网络的组织形式,而软件架构则是指在整个边缘计算生态中其信息流的运行和管理方式。架构设计是关乎边缘计算效率和性能的本质问题,接下来我们从软硬件两方面探讨架构设计要达到的要求以及所面临的挑战。
2.1.1 系统评价及设计要求
边缘计算是在摩尔定律失效的背景下,不断地将人类各式各样的计算需求从本地转移到边缘的过程。对于一个具体的边缘计算系统,其本质要求是为各类前端设备提供计算服务,且服务的“质量”要与其本地执行相当或优于本地执行。在此基础上,参与边缘计算的其他关键角色——服务提供者与服务开发者对于边缘计算的架构同样有各自的诉求。本节将首先讨论边缘计算架构的设计需求,之后根据这些需求探讨当前的几种典型架构。
1. 面向前端用户:服务质量和体验质量
服务质量(Quality of Service,QoS)与体验质量(Quality of Experience,QoE)是网络服务领域的经典评价方法,其要求是由边缘计算架构设计的本质驱动的[6]。
- 服务质量从客观的技术指标出发来刻画计算服务的表现,通常是端到端、可测量的技术指标。常见的服务质量指标包括:网络吞吐量、端到端时延、时延抖动、链路质量、可用性等。
- 体验质量则是从用户的主观感受出发,对服务质量进行评价。不同于服务质量指标,体验质量通常要体现用户的主观感受,如视频的清晰流畅、网络的通畅无延迟感、交互的便捷等。当前对于体验质量尚不存在明确、统一的量化标准,但总的来说,在多数场景条件下,体验质量与服务质量通常具有较强的相关性。
图2-1显示了服务质量与体验质量之间的关系。各类前端设备与系统对边缘计算在服务质量与体验质量方面的要求,主要体现在以下几个方面:高可用、低延迟、高可靠。高可用一方面是指系统本身的稳定性,另一方面则是要求边缘计算覆盖的应用场景相较云计算更广泛,这势必要求边缘计算建立在广泛的边缘设备覆盖的基础之上。低延迟是指端到端的系统延迟,包括前端设备发起请求、请求处理、结果返回的全过程。虽然前端设备与边缘设备间的通信延迟可以做到极短,但实现整体端到端的低延迟仍面临挑战。如果架构设计不合理,请求上传后要在边缘网络当中进行多次路由,又或者任务分配不合理,请求任务处理较慢,均会导致无法达到低延迟的要求。

图2-1 服务质量与体验质量之间的关系
2. 面向服务提供者:服务管理
类似于云计算,边缘计算生态中同样具有服务提供者这一重要角色,而服务类型将更多地倾向于软件即服务(Software as a Service,SaaS)以及函数即服务(Function as a Service,FaaS)[9]。对于服务提供者而言,边缘计算同样需要提供便捷、高效的服务管理方式,能够支持边缘网络的快速伸缩、边缘资源的高效利用、服务任务的合理调度等。这要求边缘计算在硬件方面要基于通用资源,具有可控的拓扑;在软件架构方面则应当具备快速的服务编排、服务实例化、资源配置、用户请求管理、边缘设备管理等能力。
3. 面向应用开发者:边缘底层透明
边缘计算将计算过程从前端设备剥离出来,并转移到边缘设备上执行,这要求开发者不得不考虑边缘端的服务实现,无疑会增加额外的开发成本和开发难度。当越来越多的物联网设备接入边缘计算中后,这一开发成本甚至可能成为产业发展的瓶颈。因此,应用开发者对于边缘计算的架构设计也同样具有较强的诉求,即在开发者“无感”的情况下将计算需求接入边缘环境中,做到边缘底层对开发者透明。亚马逊近年提出的函数即服务就沿袭了这一思路,一方面,应用开发者可以更加便捷地调用边缘服务,另一方面,边缘环境中的资源管理粒度也更细。
2.1.2 边缘计算架构设计面临的独特挑战
在传统的云计算场景中,架构设计同样存在与上述几方面类似的要求,那么边缘计算架构为何不直接沿用云计算架构,而要重新考虑边缘计算架构呢?原因在于,相比云计算,边缘计算在以下几个方面面临独特的挑战。
1. 多样化、定制化的场景
不同于云计算,边缘计算距离实际的计算场景更近,这使得边缘计算更大程度地受到具体场景要求的影响。例如对于智能仓储等工业场景,其计算任务类型、任务负载、用户特征均具有高度确定性。针对场景所架设的边缘计算需要重点关注数据安全性、系统可靠性、连接稳定性等方面的问题。而对于另一类泛在场景(如商场、车站等),为前端用户提供各类计算服务时,由于其计算任务类型相对复杂,用户和服务多样性等特点会对边缘计算架构的设计产生完全不同的影响。这种场景要求边缘服务能够灵活、快速地调整服务类型和相应的资源分配策略,支持用户的动态接入以及服务过程在多边缘服务器上的交接。不仅如此,服务类型的不同(如AR/VR场景与视频监控场景)也会对边缘系统的设计产生完全不同的要求。可见,场景的多样化、定制化使得在边缘计算中难以寻找一个“放之四海而皆准”的系统架构。这使得针对场景的需求分析在边缘架构设计中的各个环节(如计算卸载方式、服务接入与数据传输、服务管理等)均成为重要问题。
2. 前端用户的移动性
在云计算中,移动用户的计算请求汇聚到数据中心,这一过程中用户移动性造成的前端延迟波动对整体的端到端延迟的影响相对有限。然而,边缘计算通过建立边缘服务器与前端用户的直接通信极大降低了计算服务的端到端延迟,这也使得前端用户的移动性会直接对边缘服务质量和服务可用性造成影响。具体而言,由于边缘计算部署在距离用户较近的位置,其覆盖范围也相对受限。用户在移动过程中一方面会影响到无线通信延迟,另一方面则可能在多个边缘服务器之间进行穿梭。例如车联网场景中,一辆高速行驶的智能汽车需要使用多个边缘服务器进行协同,才能保证其行驶过程中的服务质量。这对于边缘计算的架构也提出了新的要求,特别是接入点的交接、服务的迁移与备份、服务的快速实例化与资源配置、边缘服务网络拓扑、边缘服务协同等方面。
我们按照5G基站100~300米的覆盖范围,测算不同场景中前端用户切换边缘接入点的频率,移动数据与测算的切换频率如表2-1所示。可以看到,在几类典型的边缘计算场景中,边缘服务均具有较高频率的接入点切换。这意味着,如果边缘服务持续时间超过前端用户在同一个边缘接入点停留的时间,那么服务极有可能会被中断。例如,一段视频的目标识别任务处理需要1分钟,而在高铁场景中,这1分钟期间会经历5个不同的基站,如果按照当前的计算方式,该计算任务会不停地被中断,严重影响到服务质量和用户体验。即便计算任务的持续处理时间短于切换时间,由于移动导致的通信质量不可靠等问题,也会有一定概率造成服务中断或时间延长,同样严重影响到边缘服务质量与用户体验。
表2-1 不同场景的用户移动性

注:AP/m表示每分钟经过的基站数量。
3. 基础设施的资源受限和不确定性
不同于云计算数据中心,边缘服务器由于覆盖范围受限,势必需要大规模部署,这使得单个边缘计算基础设施相较于云计算中心而言,资源是比较有限的。在部分特定的边缘服务场景中,边缘设备本身甚至存在一定的不确定性,如“设备到设备(Device-to-Device,D2D)”场景中,边缘服务器有可能是手机、电脑等移动设备,其服务质量、可用性均高度不确定。
边缘计算资源受限的特点,使得单一的边缘服务器承载的服务类型和计算负载均有限,从而要求边缘服务架构层面形成良好的边缘协同机制,并且边缘上的服务类型应当能够支持快速更新。而边缘设备的不确定性,则使得大型的、耗时较长的计算任务在边缘计算中面临极大挑战,这一方面要求合理的资源配置,避免任务持续时间过长,另一方面则要求软件架构能够支持细粒度、可拆分的任务卸载,减少持续服务时间的同时降低边缘端的计算与传输压力。
4. 边缘服务多样、海量、异构
边缘计算接入的设备类型多样直接导致其面向的服务类型多样,不仅是计算服务要求的资源类型多样,体验质量和服务质量的要求也存在较大差异(如图2-2所示)。例如对于安防视频解析的场景,视频数据传输量较大,缓存要求高,但对视频解析结果的实时性要求相对较低。而对于自动驾驶场景,对于视频解析结果的实时性要求极高,但对缓存的要求则较低。要用相同配置的边缘计算设备满足所有类型的边缘服务,几乎是不可能完成的任务。因此,考虑到边缘服务多样、海量和异构的特点,要求边缘架构能够支持边缘设备协同、资源共享以及服务的灵活配置,从而将边缘计算网络作为一个整体来应对海量和异构的计算服务请求。

图2-2 海量和异构的边缘服务类型示意图