面向5G及未来基于敏捷虚拟网络功能按需服务模型的边缘计算任务调度
引言
随着互联网的快速发展,满足服务请求、有效分配计算资源以及提供按需应用服务的需求持续增长。边缘计算被用于满足低延迟、网络连接和本地数据处理需求,并减轻云中的工作负载。本文提出了一种基于网关的边缘计算服务模型,以减少数据传输延迟以及往返于云的网络带宽消耗。通过轻量级虚拟化技术Docker调整边缘网关的任务调度,可实现按需计算资源分配。边缘网关还可以在本地网络中处理服务请求。所提出的边缘计算服务模型不仅消除了传统云服务模型的计算负担,还提高了边缘计算节点的运行效率。该模型还可应用于5G及未来云边计算环境中的多种创新应用。
网络功能虚拟化(NFV)
NFV 代表了电信基础设施部署方式的核心结构性变革[3]。如图1所示,NFV旨在解决与网络设备资源分布相关的问题。具体而言,NFV利用虚拟化技术,整合位于数据中心、网络节点和用户终端设备(CPE)上的各类设备,包括路由器、交换机、防火墙和入侵检测系统,集成到标准或通用硬件设备中。通过这种方式,网络功能虚拟化(NFV)能够有效降低网络物理设备的采购成本以及相关网络维护成本。作为NFV的逻辑结果,虚拟网络功能(VNF)是原本由专有的专用硬件执行的虚拟化任务。VNF将单个网络功能从专用硬件设备迁移至在商用硬件上运行的软件。同时,NFV将网络功能从专有硬件设备中解耦,使其可通过软件运行,从而加快服务创新与部署,特别是在服务提供商环境中。NFV的出现有利于软件操作的网络,而非依赖物理设备操作的网络,并增强了每个网络服务功能的灵活性和快速部署能力。
软件定义网络(SDN)
软件定义网络(SDN)是另一种用于解决传统网络僵化问题并满足多样化和动态网络服务需求的技术[4]。SDN的主要目的是解决现有网络的局限性。传统网络架构将网络划分为控制平面和数据平面。通过集中式控制方法,该软件将网络管理权限授予控制平面上的软件控制器,从而重新调整了网络架构。这种从现有网络架构中脱离并转变为可编程网络的控制模式,有效解决了传统网络设计的局限性。通过使用单一逻辑点来控制整个网络,可以实现网络的集中化控制和灵活操作。SDN与NFV是能够协同工作的网络技术,可在数据传输和电信基础设施环境下引领网络设计的转型、部署与管理。这些技术的融合也为互联网的未来发展指明了方向,尤其是在5G技术出现之后[5, 6]。
边缘计算
随着网络变得越来越灵活、软件定义化和虚拟化,多个标准组织正在致力于将SDN/网络功能虚拟化技术引入移动网络以满足5G/物联网网络对数据处理和信息传输的低延迟要求,并间接推动边缘计算技术的发展[7–9]。
边缘计算是一种分布式计算架构,它将应用程序、数据和服务的计算能力从云数据中心服务器转移到靠近用户网络边缘的客户终端设备上进行处理[10–12]。网关是一种客户终端设备和常见的边缘计算设备,具备对主机和其他物联网设备附近采集的数据进行计算、分析和预处理的基本能力,从而加速数据处理并降低传输延迟[13, 14]。在基于网关的边缘网络架构中,数据在其来源附近进行计算和处理,因此该架构适用于处理即时服务请求。
边缘网络位于物联网设备和云[15]之间。边缘计算将现有的云计算模式扩展到网络边缘,以满足对延迟敏感和计算密集型应用的需求。
物联网应用程序。边缘计算节点的分布式架构满足了从云数据中心到客户终端设备(CPE)或微型数据中心的多种应用、数据和服务的计算需求。根据不同的开发领域,边缘计算网络可分为云朵、移动边缘计算(MEC)和雾计算[16–18]。云朵是通信工具,可向用户周边网络提供微服务,并通过虚拟化将计算资源缩小并部署在靠近用户终端的位置。目前,阿卡迈和微软正在推广云朵的应用服务和技术。由欧洲电信标准协会(ETSI)提出的移动边缘计算(MEC)在移动通信领域具有高度适用性,由通信公司进行运营和管理[19]。该技术主要旨在减轻网络设备日益增加的压力,并帮助移动运营商创建独特的移动服务模型。由思科提出并由开放雾联盟当前推广的雾计算,是云计算的延伸概念,侧重于本地网络的数据处理功能[20]。通过强调近场数据通信,雾计算可用于不同的网络设备,用于个人或企业管理,以及在特定区域提供相关的物联网服务。开放雾联盟旨在通过开发一种开放架构来推动开放雾计算技术的发展,该架构能够识别某些核心技术与能力,例如分布式计算、网络和存储,从而在物联网边缘提供智能支持。顺应当前技术融合的趋势,开放雾联盟还与ETSI工业规范组合作,建立信息与通信技术(ICT)规范和互操作性的应用框架及开发技术,以扩展边缘计算的应用范围。
5G技术的出现增加了传统集中式云计算架构在数据传输、数据存储、数据处理和数据分析方面的要求,从而需要增加硬件设备数量以提升核心网络和服务器的负载能力。鉴于物联网产生的海量数据,现有的云服务模型已无法满足用户大规模且分散的请求。该模型虽已被用于数据计算、分析和处理,但随着对低延迟和即时性的需求日益增长,这一模型逐渐显得不足。边缘计算的引入有助于预先处理数据,减少数据流量和传输时间;该技术还可将计算能力下沉至客户终端设备或终端节点,从而增强边缘操作对环境的即时响应能力[21]。思科互联网业务解决方案集团[22]预测,到2020年物联网将拥有超过500亿个终端和设备,而国际数据公司估计,未来超过40%的数据需要在网络边缘进行分析、处理和存储[23]。为有效应对上述变化带来的挑战,网络边缘的服务模型必须重新定义,以优化网络运行和服务处理效率,减轻云的工作负载,并满足5G物联网的延迟要求。
本文的其余部分组织如下。第2节介绍了研究背景和相关工作。第3节描述了边缘计算服务模型的设计。第4节展示了实验结果。第5节对全文进行总结。
背景与相关工作
网络运营商必须部署各种类型的网络设备和软件平台,以支持日益多样化的互联网需求。然而,当前的网络设计基于硬件概念,各类硬件设备通常互不兼容或无法相互通信,且网络维护管理具有较高的复杂性和成本。网络功能虚拟化(NFV)最近被提出作为解决网络运营商所面临困难的方案。通过NFV,网络和通信运营商可以降低相关成本,灵活高效地处理客户网络部署需求,减少硬件资源浪费,并提高资源利用率。当前NFV相关标准主要由欧洲电信标准协会(ETSI)推动。鉴于网络功能虚拟化带来的影响和优势,运营商——特别是网络服务提供商和电信运营商——被认为是NFV标准开发中最积极的参与者。
如图3所示,管理程序和容器是虚拟网络功能(VNFs)[24]的两种主要架构。管理程序是最常见的虚拟化技术,它使用一组虚拟化硬件设备以虚拟方式运行宿主操作系统,并对宿主操作系统的物理硬件进行抽象。虚拟机(VM)是部署在虚拟管理程序上的操作系统,而Linux容器(LXC)是一种操作系统级虚拟化技术,其主要将应用服务系统打包成一个软件容器,该容器存储了应用程序服务软件的代码、所需的操作系统内核以及库。LXC最具吸引力的特点是其简化的软件结构。因此,容器的镜像文件仅包含一部分操作系统组件,其体积远小于通用虚拟机(VM)所使用的完整操作系统。由于其体积小和轻量级特性,容器相比虚拟机具有更快的部署或迁移速度。因此,大多数行业从业者更倾向于使用容器而非虚拟机。Docker 是一个基于 LXC 技术[25]的开源项目,运行于 Linux 操作系统之上。该技术为应对微服务[26]的发展,为服务应用的虚拟化创建了一个额外的软件抽象层。除了是 GitHub 社区的知名产品外,Docker 还受到谷歌和红帽的青睐,目前已成为发展最快的 NFV 虚拟化技术。许多研究也已开展以探讨实现Docker作为边缘计算平台[27, 28]。
虚拟化技术的发展推动了物联网架构的多项创新。边缘计算作为一种新概念也应运而生,满足了物联网对分布式数据处理和大量设备连接的需求。客户终端设备(CPE设备)如边缘网关,利用虚拟化技术提供本地操作,特别适用于具有低延迟和即时性要求的物联网应用程序。边缘计算能够将原本由云数据中心处理的大规模服务完全拆解,划分为小而易于管理的部分,并将其分布到边缘网络节点或微型数据中心中,以加快处理速度并减轻云端的工作负载。在这种情况下,用户的服务请求在边缘网络的网关上进行处理,而超出边缘网络计算能力或无法在边缘处理的请求则被转发至云端进行处理。边缘计算还可用于减少回传至云端的数据量。这些数据首先在边缘节点进行处理,经过预处理或过滤后再传输回云端,确保仅传输有用的数据。边缘计算不仅减少了网络连接延迟,满足了5G/物联网对降低延迟的需求,还促进了信息与通信技术产业的融合。采用轻量级虚拟化技术还有助于网络运营商在边缘网关上部署应用程序和控制软件,提供本地化服务,并创建创新服务模式。
参考文献[29]提出了一种基于SDN的边缘计算架构,称为软件定义基础设施(SDI),该架构利用 OpenFlow和OpenStack对服务资源进行虚拟化,从而在虚拟基础设施上构建可灵活调度网络资源的智能应用程序。为了引入资源共享的概念,[30]提出了一种云边框架,其中每个边缘节点都可以利用本地处理平台共享计算资源,以减轻云端处理的计算负担数据,并改善边缘网络的运行。为了满足移动网络的低延迟和快速数据处理需求,[12]研究了移动边缘操作,确定了不同MEC的适用情况和参考场景,并提出了 MEC卸载决策、计算资源分配和移动性管理的边际性建议。互联网的计算需求也可作为考察边缘网络服务管理和应用创新的参考。
鉴于本地网关硬件的资源限制(例如,CPU、内存和网络密集型服务请求),处理用户服务请求的任务调度机制在提升边缘计算的服务能力方面起着重要作用。在计算机系统中存在多种任务调度算法[31]。针对云计算的多种任务调度算法也已开展了深入研究[32, 33]。文献[34]提出了一种名为HealthEdge的任务调度方法,该方法根据采集的人体健康数据为不同任务设置不同的处理优先级,并决定任务应在本地设备还是远程云上执行,以尽可能减少总处理时间。文献[35]采用马尔可夫决策过程方法来解决MEC系统中的随机优化问题。该方法根据任务缓冲区的排队状态、本地处理单元的执行状态以及传输单元的状态来调度计算任务。文献[36]提出了一种贪婪最优可用性(GBA)机制,通过根据任务的工作完成时间进行调度,以识别理想化任务调度策略并减少服务的排队时间。文献[37]分析了循环调度(RR)算法在云计算环境中的性能,揭示了RR调度通过时间片轮转法公平地在相同优先级的任务之间分配计算资源。结果表明,与其他算法相比,RR算法表现出更优的响应时间和负载均衡性能。
问题定义
网络功能虚拟化(NFV)目前是解决网络服务运营成本和效率相关问题最受重视的方案。因此,许多信息与通信技术(ICT)公司已开始关注虚拟化技术。尽管对该技术寄予厚望,但在NFV部署中,如何满足服务请求、有效分配虚拟计算资源以及提供按需应用服务仍是重大挑战,并将在未来5G/物联网服务的发展中发挥关键作用。NFV还允许基于共享的底层网络资源建立多个独立且异构的虚拟网络,从而使服务提供商能够根据用户需求提供定制化服务。虚拟网络嵌入是通过映射算法,依据基础设施提供商当前的资源状况,将虚拟网络映射到底层网络(substrate network)的过程。该过程是一个NP‐Hard问题,已在NFV资源分配研究中得到广泛探讨[38, 39]。先前的研究[40, 41]也系统地讨论了虚拟网络映射问题,为相关研究提供了良好的参考。
本文旨在通过所提出的边缘计算服务模型来优化任务调度和资源分配。在边缘计算中进行任务调度比在云计算中更加复杂。边缘计算操作通常分布在客户端设备、边缘网关,有时还包括云网络的代理上。因此,确定计算任务的调度位置仍然是边缘计算中的一个关键问题。鉴于基于网关的物联网架构目前是主流,本文讨论的任务调度机制聚焦于边缘网关。在可用计算资源有限的情况下,任务调度与资源分配是该网关需要解决的主要问题。轻量级网络功能虚拟化技术在边缘网关的快速部署中发挥着不可或缺的作用。图4展示了为主机服务请求进行任务调度与资源分配之间的关系。由于每个服务请求在不同时间到达,所需的虚拟网络功能服务和处理时间也各不相同。边缘网关可根据服务请求动态调整任务调度和资源配置。
服务请求之间的差异。在按需服务模型的基本思想中,每个服务请求仅由一个虚拟网络功能(VNF)专门处理。该服务模型问题可以通过排队论进行分析,将请求和响应处理视为一个排队系统,其中排队系统的输入为服务请求,服务台为网关调度功能,输出为所请求的VNF资源。尽管许多排队模型可用于运营管理[42], ,但本文主要关注一种任务调度方法,该方法允许某个边缘网关从队列中依次处理多个VNF。由于其容量有限,边缘网关只能调度有限数量的服务请求,后续的服务请求则需要转发至云进行处理。基于这些考虑,研究问题表述如下:假设在一个边缘网关内的服务请求服从泊松比分布,且服务时间为指数分布。服务请求集可表示为 R={R1, R2, R3,…, Rn},其中n表示系统中的服务请求数量。公式 (1)和(2)用于确定系统中存在n个服务请求的概率。在这些公式中,N表示网关中可调度的最大服务请求数量, λ表示单位时间内平均到达的用户请求数量, μ表示服务效率(服务台的能力), ρ= λ/μ表示单位时间内可满足请求的比例,P0表示初始条件,L表示在计划时间内进入系统的总服务请求数量,而Lq表示系统中排队的服务器请求总数。L和Lq 可通过公式(3)和(4)分别计算得出。公式(5)计算系统中一项服务的等待和服务时间,而(6)计算Wq 或用户请求的平均等待时间。
$$
P_0 =
\begin{cases}
\frac{1 - \rho}{1 - \rho^{N+1}}, & \rho \neq 1 \
\frac{1}{N + 1}, & \rho = 1
\end{cases}
\quad (1)
$$
$$
P_n =
\begin{cases}
\rho^n P_0 = \rho^n \frac{1 - \rho}{1 - \rho^{N+1}}, & \rho \neq 1 \
P_0 = \frac{1}{N + 1}, & \rho = 1
\end{cases}
\quad (2)
$$
$$
L =
\begin{cases}
\frac{\rho}{1 - \rho^{N+1}}, & \rho \neq 1 \
\frac{N}{2}, & \rho = 1
\end{cases}
\quad (3)
$$
$$
L_q = L - (1 - P_0) \quad (4)
$$
$$
W = \frac{L}{\lambda(1 - P_n)} \quad (5)
$$
$$
W_q = \frac{L_q}{\lambda} \quad (6)
$$
结果表明,用户请求的等待时间可以通过两种方式减少:一是减少在边缘网关中排队的服务请求数量,二是提高边缘计算网关中任务调度的处理速度。为了实现高效边缘计算,必须在短时间内完成大量任务。
边缘计算服务模型的设计
如何构建弹性且具有成本效益的边缘计算服务模型,提高管理效率,满足用户服务请求,实现集中管理,并开发灵活配置的服务模型,是当前5G SDN/NFV网络发展中的研究趋势。本文提出了一种基于网关的边缘计算服务模型(图5),以提高边缘计算节点的运行效率,加快用户服务请求的处理速度,并提升有限计算资源的利用效率。在该模型中,当不同的用户请求进入边缘网关时,该网关将判断所请求的服务是否能够被处理。如果边缘网关自身缺乏计算能力或资源,则控制器会将服务请求转发至云,以降低数据处理延迟。
所提出的边缘计算服务模型可分为资源估算、调度器和轻量级VNF配置。图6展示了该边缘计算服务模型中操作的流程图,这三个部分将在以下章节中进一步描述。
资源估算用于检查边缘网关是否具有足够的计算资源来提供边缘计算服务。对于用户请求集R,资源分配必须遵守以下规则,这些规则同样由边缘网关使用:
(1) 对于单个服务请求 Ri,Vi 的任何资源(例如中央处理器、内存和磁盘)均小于 P∀RCi<P C, ∀RMi<P M 和 ∀RDi<P D,RCi, RMi 的总资源,且 RDi 表示发送至 Ri 的中央处理器、内存和磁盘空间请求,分别对应。
(2) 分配给网关中虚拟网络功能的计算资源总和小于物理机P的总资源数量。PC, VMi< PM, VDi< PD, VCi, VMi和 VDi分别表示分配给Vi的中央处理器、内存和磁盘空间资源的总和。
如图6所示,边缘网关在接收到用户服务请求后,会检查是否有足够的计算资源来满足该请求。此时可能会遇到以下几种情况: (1) 如果边缘网关拥有充足的资源,则用户服务请求将通过调度器处理,并根据任务调度算法的结果在系统中排队。(2) 如果边缘网关没有足够的可用资源,则用户服务请求将直接转移到云。
任务调度旨在提高边缘网关的运行效率。鉴于每个服务请求各不相同,任务调度研究如何处理这些差异。边缘网关能够满足不同服务请求的需求,并在系统中完成任务调度。其主要目的是通过调度尽可能减少处理最苛刻服务需求所花费的时间。为此,本文构建了贪婪可用适配(GAF)任务调度机制,以提高边缘计算服务的运行效率。
假设每个服务请求Ri配置一个VNF虚拟化服务资源Vi。ti表示第i个服务请求的处理时间,di表示其截止时间,j表示其在系统中的完成时间。系统中的Ri必须在调度时并在基本时间限制之前完成。否则,该服务请求必须直接转发到云。由于每个服务请求在不同时间到达,因此操作处理所需的时间和截止时间也各不相同。在这种情况下,选择截止时间作为任务调度的优先级参数。截止时间可用于定义服务的处理优先级;即,对于需要实时处理的服务,可根据其在不同VNF上的处理和前置要求设置截止时间。本文旨在在完成具有最长截止时间的最大的任务Ri之前,尽可能多地将任务插入调度中。为实现此目标,选择具有最长截止时间的任务作为基准,并根据其余任务的处理时间依次将其插入队列时间。N[i,j] 表示从前 i 个任务中选出的 j 任务的最大数量,可以表述为
$$
N[i, j]= \max
\begin{cases}
N[i −1, j] \
N[i −1, j −t_i]+ 1 & \text{if } j \leq d_i \
N[i −1, j −t_i] & \text{if } j > d_i
\end{cases}
\quad (7)
$$
公式(8) 显示了 N[i, j] 的初始条件。
$$
N[1, j]=
\begin{cases}
-\infty & \text{if } j \neq t_1 \
1 & \text{if } j= t_1 \leq d_1 \
0 & \text{if } j= t_1 > d_1
\end{cases}
\quad (8)
$$
假设Ri和R i+1 之间没有时间间隔,R1从时间0开始,且 N= 1。如果t 1 ≤ d1 ,,则N= 0,因为超过了截止时间。整个决策过程在算法1中进行了总结,该过程从一个空调度开始,并将可用任务以三种不同情况插入此调度中。在情况1中,如果当前时间步j超过了Ri的截止时间,则N[i, j]= N[i−1, j −ti]。在情况(2)中,如果当前时间j没有足够的时间完成请求Ri,则N[i, j]= N[i−1, j]。在情况(3)中,如果时间j未超过Ri的截止时间,并且有足够的时间在时间j之前完成请求 Ri,则N[i, j]=max(N[i−1, j], N[i−1, j −ti]+ 1)。
实验
进行了一项实验,以评估所提出的任务调度算法及其在部署轻量级虚拟网络功能(VNF)时的性能。实验环境如图7所示。首先通过仿真来评估该算法的任务调度性能,通过改变服务需求的数量来进行测试。服务请求被描述为一个泊松过程。我们在此指出,系统中的平均服务请求数量由λ/μ给出,其中 λ是平均到达率, μ是平均服务率。输入参数 λ/μ为0.45。随后将先来先服务(FCFS)、优先级任务调度[34], 轮转调度[37], 和GBA[36]与所提出的GAF机制进行比较。
在仿真中评估了服务请求对不同调度机制的平均等待时间、平均响应时间和任务调度的影响。FCFS 根据进入边缘网关队列系统的服务请求进行调度,并按照这些请求的顺序安排任务。优先级任务调度是一种不公平的调度算法,其中服务请求根据其优先级进行排序,高优先级任务优先执行。具有相同优先级的任务则通过先进先出调度机制进行排序。GBA 根据队列系统中服务请求的完成时间对任务进行排序。RR 算法基于进程调度中采用的传统轮转调度,通过时间片轮转法(时间片)公平地为具有相同优先级的任务分配计算资源。
图8显示了平均等待时间的实验结果,其中x轴表示服务请求数量,y主轴表示平均等待时间;即用户在收到服务请求并成功响应后,完成服务调度和确定资源分配所花费的时间。如果请求返回错误/超时,或边缘网关没有足够的计算资源来支持该请求,则该样本将不计入平均等待时间的计算中。从实验结果可以看出, RR算法由于采用时间片规则,使每个任务在固定时间内被处理,因而获得了最长的平均等待时间。时间片对整体性能有影响。时间片过长会导致等待时间过长,而时间片过短则会引起任务调度转换频繁、执行效率低下以及等待时间延长。对于先来先服务(FCFS),由于每个任务的执行时间不同,下一个任务的等待时间必须根据前一个任务的调度情况来确定。因此,如果上一个任务的调度时间过长,系统就无法及时处理后续任务的调度,从而影响整体的任务调度效率。由于优先级任务调度的平均等待时间相对短于先来先服务机制,因而能够满足任务需求并灵活地进行调度。然而,优先处理高优先级程序会延迟所有低优先级请求,导致低优先级程序出现无限期情况,并延长其等待时间。GBA基于任务最早完成时间进行调度。当服务需求较低时,GBA算法的平均等待时间与优先级任务调度相近;但当服务需求增加时,GBA机制的平均等待时间将长于优先级任务调度。与先来先服务相比,优先级任务调度、轮转调度和GBA中,所提出的GAF算法选择最晚截止时间任务作为基准,然后根据任务的处理时间依次将剩余任务插入队列。因此,GAF算法获得了最短的平均等待时间。
图9显示了平均响应时间的结果。正如预期的那样, RR算法在平均响应时间方面优于所有其他方法,因为该算法专门设计用于时间共享。通过公平策略分配 VNF资源可确保每个服务请求具有固定的时间。如果服务处理时间超过系统分配的时间片,则该样本将不计入平均响应时间的计算中。由于FCFS按顺序处理任务,其平均响应时间会受到调度器中前一个R i−1 任务所耗时间的影响。例如,如果先前的服务请求具有很长的任务调度,则平均响应时间将增加。由于所提出的GAF算法按顺序将任务插入队列,其平均响应时间略长于 FCFS和GBA。尽管优先级算法可以根据服务请求的优先级对任务进行排序,但低优先级任务容易被延迟,从而增加了平均响应时间。
图10显示了对比算法的任务调度效率。当服务请求数量少于60时,每种算法都能完成任务调度。然而,当该数量超过60时,任务调度的数量可调度的任务数量因每种算法而异。GAF算法优于所有其他算法,因为它将最晚截止时间任务排在最后,然后根据剩余任务的处理时间依次排序。通过这种方式,该算法确保大多数任务能在最短处理时间内完成。那些无法被调度的服务请求将绕过网关,直接转发至云数据中心。当服务请求数量为80时,GAF能够完成68%的任务调度。与此同时,GBA基于最早任务完成时间进行调度。尽管在实验环境中GAF与GBA能调度相同数量的任务,但后者的平均等待时间比前者更长。在任务调度效率方面,GAF分别比FCFC和优先级任务调度高出 9.6%和6.2%,因为该方法将最晚截止时间任务排在最后,并根据其余任务所需的处理时间进行排序。GAF还比轮转调度机制高出70%,因为后者采用分时规则,导致可调度任务数量减少。基于这些结果,GAF算法能在较短的平均等待时间内于边缘网关中调度更多任务,从而提升边缘计算服务的运行效率。
除了任务调度外,VNF配置是影响边缘计算服务模型运行效率的另一个主要因素。本文利用Docker技术实现VNFs的敏捷部署。该技术可以提供对VNF服务的集中管理和灵活配置。根据每个用户的服务请求,部署不同VNF可以满足服务按需的应用需求。Docker的 VNF镜像主要可分为四类,即系统镜像(例如 Ubuntu、CentOS和Debian)、工具镜像(例如Go 语言、Flask和Tomcat)、服务镜像(例如MySQL、 MongoDB和RabbitMQ)以及应用镜像(例如 wordpress和drupal)。为了测试轻量级VNF在边缘网关的实际部署效率,对每种类型的Docker VNF镜像进行了拉取性能测试。边缘网关通过使用配备3.4 GHz双核CPU、16GB内存和5400转/分钟500GB硬盘的独立PC进行模拟。实验网络带宽设置为100 Mbps。为了与本地边缘网关比较拉取性能,使用Google Cloud平台中的测试虚拟机来模拟云网络代理。表1列出了拉取性能测试的结果。
如表1所示,由于网络带宽的限制,每个VNF镜像大小对应的物理网关和云网络代理成本各不相同。较大的VNF镜像从Docker Hub下载所需时间更长。如预期所示,云网络代理的计算架构优于本地边缘网关,因为边缘网关的位置会影响VNF部署的性能。尽管云网络代理的边缘计算架构比本地网关更高效地部署VNF,但用户服务请求仍必须发送到互联网进行处理,这种方法难以体现边缘计算的技术优势。
| 镜像类型 | VNFs | 镜像大小(MB) | 物理网关 成本(秒) | 云代网理络成本 (秒) |
|---|---|---|---|---|
| 系统镜像 | ||||
| Ubuntu | 112 | 22.095 | 7.918 | |
| CentOS | 207 | 24.319 | 8.926 | |
| Debian | 207 | 21.635 | 5.646 | |
| 工具镜像 | ||||
| Go语言 | 779 | 86.793 | 18.51 | |
| Flask | 458 | 62.22 | 16.33 | |
| Prometheus | 112 | 24.14 | 4.737 | |
| 服务镜像 | ||||
| HTTP服务器 | 177 | 20.753 | 1.031 | |
| Nginx | 109 | 13.216 | 4.778 | |
| bind | 337 | 84.38 | 15.105 | |
| Squid | 215 | 150.031 | 9.973 | |
| MySQL | 374 | 24.852 | 10.449 | |
| MongoDB | 503 | 61.347 | 17.116 | |
| 应用镜像 | ||||
| wordpress | 407 | 32.866 | 13.213 | |
| drupal | 452 | 81.39 | 14.405 |
在VNF启动时间测试中,我们设置镜像为 Ubuntu‐16.04‐x64。使用虚拟机和Docker在边缘网关上进行启动时间测试。我们测试了开启五个虚拟机和 Docker容器所需的时间。VMware被用作虚拟机的管理程序。如图11所示,五个虚拟机的开启时间为159.3秒,而Docker容器的开启时间为11.095秒。总之,虚拟机的部署时间远长于Docker。在需要大量虚拟网络功能的边缘网关中,使用Docker可以节省更多时间。
为了测试平均VNF启动时间,我们启动一台虚拟机,等待其激活,然后关闭,并对另外14台虚拟机重复相同步骤。测试结果如图12所示。使用VMware时,虚拟机的平均启动时间约为31.86秒。然而,使用Docker时,这些虚拟机仅需 2.2秒即可启动。总之,Docker容器的性能比虚拟机快约15倍。
VNF部署测试结果凸显了轻量级容器相较于传统虚拟化方法的显著优势。这些容器可以快速启动只需几秒钟,因为它们采用共同的宿主操作系统,从而无需在每个容器中执行客户操作系统。容器也不需要等待操作系统启动,因此节省了几秒钟时间。快速启动远快于传统虚拟机。同时,鉴于轻量级VNF镜像的设计及其高效的虚拟化,以应用为中心的虚拟化技术 Docker能够从Docker Hub自动获取容器镜像,实现灵活的部署与管理,并能满足边缘网络应用程序对 VNF部署按需服务的需求。
结论
本文提出了一种基于网关的边缘计算服务模型和一种 GAF任务调度机制,使边缘网关能够在较短的平均等待时间内调度更多任务。通过采用资源估算和轻量级VNF配置技术,提升了边缘计算服务的运行效率,以增加资源利用率,实现VNF的快速部署,并满足按需服务请求。资源估算、任务调度和轻量级VNF配置设计的结合提供了一种集成解决方案,能够满足5G网络的按需服务请求。仿真结果表明,所提出的GAF机制优于其他调度算法。同时,对比显示,在边缘网关中使用轻量级虚拟化技术比使用传统虚拟机更高效且更具竞争力。
未来,我们计划研究边缘计算中的多队列任务调度问题、边缘网关与云服务器之间的可能协作,以及利用 SD‐WAN技术实现云边网络的无缝运行。

被折叠的 条评论
为什么被折叠?



