赋能智能物联网的雾计算技术

2019-09-05 10:32王昆仑李资琴
关键词:微云边缘节点

王昆仑,李 凯,李资琴,杨 旸

(上海科技大学 上海雾计算实验室, 上海 201210)

0 引 言

物联网现在正在兴起,以支持数百亿资源受限的设备,如我们周围连接到网络的智能手机[1-2]。未来的物联网设备将会广泛覆盖来实施特定的计算任务以支持各类应用,例如环境监测、城市管理、智慧医疗和健康等。这些应用对数据处理、信息提取以及实时决策有很强的需求。因此,越来越快的网络和成熟的多任务应用将会成为现实。在这个背景下,越来越多的新颖移动应用,例如在线游戏和电影、增强现实和智能驾驶业务将会走进人们的生活中[3]。由于这些新颖的应用需要低时延,从而带来大量的计算和通信能量消耗以实现实时处理和高速的数据交互。然而,由于这些终端设备物理尺寸的限制,它们的资源十分有限。因此,移动终端有限的电池寿命和计算能力消耗给这些新颖应用的设计和实现带来了严峻的挑战[4]。

为了解决移动设备与实现新型应用之间的矛盾,雾计算是最近提出的一种很有前途的解决方案。并且,国际雾计算联盟最近发布了一些白皮书来推广雾计算。雾计算是一种新的计算架构,它通过强调信息处理更接近数据产生或使用的位置来解决基础设施和连接方面的挑战[5]。根据这个定义,在雾计算这种场景中,海量异构的、无处不在的和分散的设备彼此通信,并且可能在这些设备之间及与网络进行合作,在不需要第三方干预的情况下执行存储和处理任务[6]。因此,雾计算网络基础设施不仅将位于网络周边,还将跨越云到边缘设备的连续体,包括在云、边缘或终端设备上,并且还将汇集这些分布式资源来支持各种智能应用[7]。

根据雾计算网络基础设施的这一发展趋势,计算、存储和网络服务是云的构建块,而雾则是云的延伸。这样,对延迟敏感的应用业务的处理可以在网络的边缘实施,而可以容忍业务时延和计算密集型的应用程序可以在云中进行。因此,通过雾节点可以使业务处理能够在终端设备附近的网络边缘特定位置进行,从而体现雾计算提供低延迟的优势。此外,无处不在的雾节点,如基站、接入点和位于网络边缘的路由器,为数据收集和任务计算提供了密集分布的节点。由于雾计算的优势,人们普遍认为雾计算架构能够很好地弥补云计算在物联网应用中的不足,端雾云混合计算可以作为一种替代方案[8]。

1 多层次计算网络

1.1 雾计算

为终端用户提供计算、存储和服务,雾计算和云计算是相互依赖的。然而,他们彼此之间又是不同的。首先云计算具有集中化的特点,它被用于全局任务,因此,云计算可以从全局的角度来优化资源。而雾计算用于调度和管理本地任务,是从局部的角度来优化资源。其次,由于与智能前端设备紧密联系,雾计算能够有效地提高系统的整体性能[9]。另外,雾计算还扩展了云计算的大量数据存储、计算、通信和网络能力,使计算更接近于终端设备。尽管已经有很多云服务被应用于商业用途,但是不可靠的无线连接,例如深度信道衰落,经常导致数据包丢失和无法容忍的广域网移动设备和云之间的延迟[10]。因此,雾计算是解决资源受限设备任务计算的一种可行的解决方案。最后,虽然雾计算在端到端延迟方面实现了显著的性能改进,但应用程序的可靠性仍然是在云计算中性能更好。

1.2 边缘计算

根据文献[10]中的描述,微云计算是最早的边缘计算概念之一,它是基于微云的网络搜索,提供更接近边缘的计算和资源存储。然后,基于有限的资源,它允许移动设备在一个或多个虚拟机中卸载计算任务。由于虚拟机技术的发展,微云为移动用户提供云服务,而不是像无线局域网那样提供互联网连接[11],从而保证实时应用服务。使用微云计算,资源贫乏的移动用户可以找到实现更优性能的微云来卸载他们的密集计算任务。此外,由于可以在没有云干预的情况下支持微云计算,微云可以在独立环境中充当边缘上的完整云。尽管微云有很多好处,但是很难满足移动设备的服务质量需求,因为微云不是移动网络的组成部分[12]。然而,雾计算与云的存在紧密相连,它不能在独立模式下运行,相对于微云其性能更优。

旨在为移动网络边缘和无线接入网提供云计算能力,欧洲电信标准协会于2014年将边缘计算集成到移动网络架构中,该架构可概括为移动边缘计算(mobile edge computing, MEC)[13]。2017年3月,欧洲电信标准协会扩大了MEC的范围,并在那之后用多址接入代替了移动,并且在多址边缘计算中也考虑了非移动网络的边缘[12]。同样,MEC和雾计算的一个关键区别是MEC只在单机模式下运行,如何与远处的云交互仍然是一个悬而未决的问题。

基于上面的讨论,另外注意到微云、MEC和雾计算的目标是边缘计算,然而,这些技术之间有一些需要指出的显著差异。首先,MEC主要由一个行业联盟推动。根据国际雾计算联盟的目标,它重点研究了雾计算网络体系结构的开发和标准化细节。雾计算和微云分别是由研究和开发驱动的。另一个区别是,微云架构只依赖虚拟机进行虚拟化,而雾计算和MEC都可以考虑虚拟机之外的其他虚拟化技术[14]。此外,微云主要专注于移动卸载,而MEC的目标是处理更多来自移动或非移动边缘网络的应用程序[15],这些网络的配置更好。然而,通过优化卸载决策和所涉及的资源分配来满足资源约束终端设备的大量时延敏感应用,雾计算在边缘和云之间存在重叠[14]。最后,值得注意的是MEC直到今天都只能在独立模式下工作。关于微云,尽管缺乏关于如何在云和微云之间进行交互的详细文献综述,但是微云通过连接到云可以以独立模式或云模式运行。与上述方法不同的是,雾被设计为云的扩展,它需要云的支持来完成在资源约束的雾层中无法计算的任务。

1.3 云-雾-边缘的多层次计算网络

通过对云、微云、MEC和雾计算的异同点的讨论,这些不同计算范式的集成被认为是物联网服务发展的一种很有前景的方式[16]。因此,需要一种从边缘(雾)到核心(云)的混合计算架构。多层次计算涉及云计算、雾计算和边缘计算技术之间的协作,这些技术分别针对区域、本地和设备级别来开发[17]。

在云与物联网网络的边缘之间有雾计算。雾计算是多层次的共享计算、通信、存储资源和人工智能(artificial intelligence, AI)算法,可以在区域层面协作处理复杂和具有挑战性的任务、跨域数据分析等多源信息处理和现场决策服务覆盖。由于用户需求在时间和空间上通常是动态的,因此雾计算可以提供一种灵活的方法,将分布在物联网网络不同地理或逻辑位置的资源整合到一起,从而为任何客户提供及时有效的服务[4,18-21]。

由于拥有更有意义的数据、强大的处理器和复杂的算法,物联网应用业务将会越来越智能化。典型的物联网应用也正在从简单的数据传感、收集和任务表述转向复杂的信息提取和分析。然而,物联网应用业务通常遵循特定工业领域设置的规则和原则。将多层计算资源与环境认知、大数据和AI技术相结合,可以开发一种以用户为中心的方法,物联网服务能够根据特定的应用业务和用户偏好来进行自主定制。

1.4 异构协作的计算架构

为了实现上述概念,需要提供一个控制和编排体系结构来分配计算、通信和存储资源。因此,可以通过物联网网络中多层计算资源的互操作性和集成来创建智能随需应变服务。为了更好地满足任一用户的需求,不仅需要具有巨大资源、安全环境和强大算法的集中式云计算,还需要具有共享资源、可访问环境和用于实时决策的简单算法的分布式雾和边缘计算。

利用异构计算资源和协同服务体系结构,未来的多层次计算网络可以提供密集分布的计算点和存储点[21],从而在不同的环境和应用中有效地支持全方位的服务。例如,智能驾驶和无人机需要低延迟通信来接收监测数据和控制消息;自动驾驶和三维虚拟现实游戏在设备和边缘需要强大的计算能力及广泛的通信带宽。工业物联网和智能城市管理系统要求极高的网络可靠性、数据安全性和服务可用性。多层次计算网络架构如图1。

图1 多层次计算网络架构Fig.1 Multi-tier computing network architecture

雾计算的本质是连接中心云与分布式网络边缘的桥梁(其示意图如图2),在管理多层次资源中起着至关重要的作用。例如,它负责垂直和水平的互操作、跨领域协作的协调、层次规则和策略的部署以及多层次服务的集成。雾计算与边缘一起,使物联网网络中的计算资源和智能服务更容易访问、更灵活、更高效、更划算。

图2 雾计算网络本质示意图Fig.2 Essence of fog computing networks

应该指出的是,多层次计算技术的发展和标准化才刚刚开始,还有许多技术挑战[5,22]。具体来说,在安全、信任和隐私方面,终端用户应该能够使用附近的共享计算节点,而不损害身份和个人数据的保护。需要开发虚拟化和资源可见性功能,以便在不同的机器和硬件上共享物理计算资源。高效的编排(管理异构资源和服务的分配)还需要网络内节点之间的互操作性。最后,能够服务于不同用户组和多租户体系结构的设计需要开发新的业务模型,以鼓励共享资源和协作服务的生态系统。这些问题需要在不同的技术和经济领域采用多学科方法进行综合研究[14,23-24]。

2 雾计算的关键技术与应用

为了解决移动设备和新应用之间的矛盾,雾计算作为一个很有前途的解决方案,它被定义为一种新的架构,通过强调更接近数据产生或使用地方的信息处理来解决基础设施和连接方面的挑战。雾计算可以实现大量异构、无所不在、分散的设备之间进行通信,并在这些设备之间以及与网络之间进行潜在的协作。雾计算将跨越云到终端设备的连续体,汇集这些连续体的分布式资源来支持应用业务。因此,雾计算具有异构计算资源,在管理多层资源中起着至关重要的作用,它具有如下几项技术优势。

2.1 任务调度

由于物联网的快速发展,我们身边有数百亿个资源有限的设备,如智能手机,可以连接到网络。与此同时,越来越多的新颖移动应用,如远程游戏和在线电影,增强现实和智能驾驶服务成为现实,并吸引了极大的关注。由于这些新应用业务需要较低的延迟,因此通常需要密集的计算和通信能力来进行实时处理和较高的数据交互。由于雾计算系统在网络边缘提供了额外的计算能力,所以雾计算有很大的潜力来管理任务执行,并决定在终端用户、雾节点和云单元中执行哪些任务[18,21,25]。考虑某个终端的智能服务计算任务包含有N个计算组件,表示为N={1,2,…,N}。对于每个任务组件i∈N,使用常数Ci表示该任务组件的计算资源需求数量。使用集合M={1,2,…,M}表示多层次的不同的计算资源节点(这里涵盖终端设备本身、临近终端节点、雾端节点和云端节点),使用Capj表示资源节点j∈M的可用计算能力,那么任务组件的计算卸载决策可表示为0-1变量xij,i∈N,j∈M,其中,xij=1代表将第i∈N个组件卸载到第j∈M个资源节点进行计算。若期待协同优化任务处理的延迟delay和能耗energy,则可分别赋予三者非负的权重α,β,这里α≥0,β≥0,α+β≤1,相应的任务调度多目标优化问题可以表示为

minα×delay+β×energy

(C3)xij∈{0,1}

在远程游戏系统中,终端用户不需要下载或安装任何游戏到平板电脑、手机或其他设备上,相反,他们可以通过互联网上的服务器玩游戏。游戏是在雾端执行和处理的,用户可以在自己的终端控制游戏的同时接收视频和音频流,计算任务调度的可以降低时延、节约能源,并且能够帮助资源受限移动设备完成计算任务。此外,高效的雾计算系统在决策时能够满足异构性准则和服务质量需求准则。

2.2 资源共享

为了满足用户的计算需求,大量异构的、无所不在的、分散的终端设备之间以及与网络之间可以进行通信和潜在的协作,并且在不受第3方干预的情况下执行存储和处理任务。因此,雾计算跨越云到物的连续体,包括在云、边缘或物上,并汇集分布式资源来支持实时应用业务。作为车载自组网应用的一个例子,雾计算具有地理分布、实时负载均衡和局部决策机制,非常适合于车载自组网这种情况[26]。车辆、路边单位等交通基础设施在计算过程中发挥着重要作用。由于车载自组网应用的高移动性和时延敏感性,在车载自组网应用中开发雾计算确实比基于云计算的车载自组网应用更具挑战性。

在雾计算系统中,首先要研究的是节点之间的计算资源共享和协作。文献[17-18]中提出的移动用户任务卸载框架,移动用户根据可用的处理能力将计算任务卸载到附近的设备,并最小化任务处理能量消耗和时延。由于雾计算系统中计算、通信和存储资源的异构性,可以通过中央处理器优化、带宽和存储共享来满足不同的计算任务需求。

2.3 缓存

文件缓存已经成为雾计算网络中的关键技术之一。由于对流行文件等内容的需求呈指数级增长,雾计算系统能够提供快速、可靠和可持续的无线连接。伴随着微小区、微微小区等异构小区规模的发展,作为雾接入点的大量小型基站随着小区的不断密集化而不断涌现,使得资源的空间复用更加强烈。在视频数据流业务中,用户需要向其他观众直播流媒体[27]。在这种情况下,需要根据接收方的能力和网络连接特性,将源流转换为所需的不同质量版本。除了计算,还需要处理内容存储和分发。根据内容特性,识别哪些内容应该缓存在云中,哪些内容应该缓存在雾层中,从而根据通信链路容量和缓存空间的大小来最小化通信开销。研究表明[28],通信延迟降低至传统缓存的1/(1+KM/N),其中,K为系统用户个数,M为每个用户的缓存容量,N为服务器内存储的总文件个数。

因此,在雾计算网络中进行内容缓存是一种很有前途的技术,可以有效地缓解网络的繁重流量,使网络智能更接近最终用户。同时,在雾计算网络中,计算任务的主动缓存可以实现提前获取计算结果减少访问链路的负担,而不需要预先提取计算任务的任何内容。考虑到计算和存储资源分配,可以通过缓存流和可缓存的计算任务来实现业务的低延迟性能。

2.4 无线接入

为了减轻基站与云计算单元之间前端数据传输的负担,设备对设备间通信(device to device, D2D)是雾计算网络中一种很有前途的通信方式。在文献[29]中,作者提出了一种D2D网络中雾计算优化问题的求解方法,其目标是使所有用户执行任务的时间平均能量消耗最小化。此外,支持雾计算的接入点(fog computing-enabled access points,F-APs)具有本地缓存和本地处理的计算能力,为终端用户提供了本地通信访问。F-AP可以为不同的移动用户提供计算资源和任务卸载,其中提供任务卸载的通信资源,如时间和带宽资源,可以联合调度。如文献[30-31],作者共同优化了所有用户任务的卸载决策以及计算和通信资源的分配,使所有用户的能量、计算和延迟的总成本最小化。如果用户需要的内容可以从其他满足信噪比约束的用户那里获得,则启用D2D传输模式。另外,如果用户不能支持D2D模式,或者在信噪比限制内附近的用户中没有可用的内容,那么用户的需要通过附近的F-AP来进行数据传输。

因此,雾计算允许无处不在的连接,并提供了接近移动设备的集中资源分配。由于分布式智能集群中的无线接入点拥有计算资源,因此,它们通常形成一个本地分布式计算平台。基于本地的通信访问,计算可以通过一个云使能的基站或联合多个基站来实现。

3 雾计算发展面临的挑战

3.1 服务质量管理

虽然业务时延是雾计算系统的一个重要指标,但其他重要的性能指标或相关成本(如上行和下行传输带宽或用户一方的资源使用成本等),通常都没有考虑在内, 这些必须作为雾计算网络中的一个挑战加以解决。除了将服务质量指标作为单独的目标来考量之外,将它与其他目标(如用户体验质量(quality of experience, QoE))一起考虑还没有得到足够的关注,因此仍然是一个挑战。实际上,雾计算网络需要同时处理几个目标,甚至这些目标可能相互矛盾。因此,目前缺乏管理系统资源的算法,以及管理其他特定应用程序的算法,来同时考虑几个同步优化目标。为此,我们可以将任何性能指标的用户体验表示为:标准方差/均值,从用户主观感知质量出发,科学、客观地评价雾计算网络应用体验的质量水平。

3.2 多用户实时智能服务

在雾计算网络系统中,为了有效提升用户服务体验,需要就近就快满足各类型应用和移动用户的实时智能服务需求。如何显著提升用户服务体验为目标,针对智能服务需求、感知、编排、计算、部署等关键步骤,建立用户行为、系统资源、环境参数等对服务性能产生关联影响的分析模型是其中的挑战,它需要实时准确地理解、预测和响应各类型用户的智能服务需求,提出多层次计算与通信融合服务策略、多用户任务分解和卸载算法,从而更好地保障端到端应用的综合性能和用户体验。

3.3 移动性

在雾计算系统中,无论是终端用户设备还是雾节点,移动性都带来了巨大的挑战。此外,考虑并管理终端用户设备和雾节点的移动性,尽管设备在不同的雾计算网络域中移动,我们仍然应该确保提供的服务的连续性。在这种情况下,需要强调适当的算法或策略,以允许处理移动性,并确保提供的服务不会被中断。此外,为了实现高效的任务调度,需要精确的移动预测方法来补充实时运行的算法。实际上,雾节点的移动性处理起来更加复杂,因为它涉及到服务资源的可用性,这需要适当的策略来处理,在这方面的努力仍然有限。

3.4 异构与互操作性

雾计算系统允许网络、计算和存储任务在云、雾、边缘和其他终端设备之间动态、灵活地重新部署。为此,云、雾、边缘和终端设备应该相互补充和交互,从而沿着云到设备的连续体形成一个服务连续体。在不同的逻辑层之间还需要相互交互,以服务于不同的应用业务,这些应用业务需要不同级别的资源、功能和效率。因此,在雾计算系统中实现互操作性的一个研究方向是在雾计算系统中的云、雾、边缘之间设计信令、控制和数据接口。在此背景下,雾计算系统应该满足2个关键需求:域间协议和实现此类协议的操作接口标准。

3.5 多维度动态资源调度

如何充分利用网络中的雾计算资源和用户端的边缘计算资源来提升整个网络的智能服务能力,为各类型用户和智能应用提供更好的服务体验、更稳的系统性能、更高的资源效率、更低的综合成本。因此,雾计算网络需要显著提升资源利用效率,构建多层次、多类型计算与通信资源在时间-空间-网络等多个维度实时变化的数学统计模型,研究计算、通信、存储等资源之间的折中关系,以及对各种服务性能的制约和影响。因为雾计算涉及数据的传输和计算2个方面,我们无法用单一的数据速率或时钟频率来衡量雾计算整个处理过程的效率。未来的研究中,基于通信和计算的融合,可以利用处理效率(processing efficiency)这一概念来表示雾计算的数据处理效率。从而分别从最佳性能和最省资源角度,实现多维度资源有效整合机制、动态适配用户需求、计算赋能网络的拓扑优化和任务传输策略。

3.6 安全和隐私

虽然雾计算可能有助于解决云计算中的某些安全挑战,但它可能在其他方面带来新的安全挑战。例如,由于靠近终端用户和边缘,雾节点可以有如下功能:①作为访问控制、流量加密、上下文完整性和隔离的第一个节点;②作为隐私敏感数据的汇聚点和控制点;③作为资源受限设备的代理,在数据离开边缘之前,为资源受限设备执行选定的安全功能。然而,由于分布式系统通常比集中式系统更容易受到攻击,与可信的云服务器相比,资源有限的雾节点没有足够的资源来保护自己,大量不可信的设备可能参与到网络中(开放性)等。因此,与云计算网络相比,雾计算网络更容易受到攻击,而且在雾计算网络中可能存在更多与隐私相关的问题。

4 总 结

雾计算并不是云计算的替代品,而是一个强大的补充。它支持边缘处理,同时仍然提供与云交互的可能性。雾计算架构积极连接物联网网络中所有节点的计算、通信和存储资源,充分利用它们在不同位置和层次上的能力实现共享,根据动态用户需求提供智能、及时、高效的服务。由于大多数应用业务及其数据不需要更高的计算能力,雾计算体系结构可以显著提高服务质量和用户体验,同时节省时间、资源和成本。然而,雾计算既不是万灵药,也不是唯一可行的解决方案,现实世界的计算架构可能是云、雾和边缘的混合和许多其他组合,雾计算的发展仍然面临严峻的挑战。

猜你喜欢
微云边缘节点
CM节点控制在船舶上的应用
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
选择目标微云以最大程度地减少服务延迟
资料上微云备份省心又安心
“云”中之事 微云一个就够
一张图看懂边缘计算
抓住人才培养的关键节点
条条大路通微云
在边缘寻找自我