APP下载

移动边缘计算环境中的计算卸载技术研究综述

2021-07-28金凤林郎思琪

计算机工程与应用 2021年14期
关键词:应用程序时延边缘

胡 恒,金凤林,郎思琪

陆军工程大学 指挥控制工程学院,南京210007

随着物联网的发展和5G 网络的日益普及,各种终端智能设备呈现爆炸式的增长,据IMT(International Mobile Telecommunications)-2020(5G)推进组对终端设备连接数增长趋势的预测,到2030 年全球物联网设备连接数量将达到1 000 亿左右,这些分布广泛且数量众多的设备产生的数据也越来越多,数据总量每年都呈指数形式的快速增长。尤其是随着人工智能、物联网技术和5G技术的发展,产生了各种新型应用,很多部署在终端设备上的计算密集型和时延敏感型的应用,对网络的时延和带宽提出了更高的要求,比如自动驾驶、增强现实、虚拟现实和在线游戏等新型应用,要求更低的时延、更快的速度、更高的带宽和更大的存储能力。虽然现有技术已经发展得很快,但终端设备的计算和存储能力还是无法处理和存储如此庞大的数据,难以满足这些应用的需求。另外,由于电池技术的限制,移动设备的能量有限,执行高能耗任务也是一个很大的挑战。为了解决这些问题,移动云计算(Mobile Cloud Computing,MCC)应运而生。移动云计算集合了云计算和移动互联网的优势特点[1]。所有复杂的计算都可以在云中执行,因此移动设备得以简化,不需要很复杂的配置[2]。在MCC中,终端设备可以将低时延高能耗的应用任务,卸载到云服务器中进行计算处理,以此来增强终端设备的计算和存储能力,减少设备的能耗,缩短任务执行时间,给用户带来很好的体验。然而,虽然将设备任务卸载到云服务器,设备的性能得到了很大的提升,但是MCC模式也带来了新的问题,由于云服务器离终端设备比较远,导致任务执行时延可能很高,而且对于像自动驾驶这类对时延要求精确到毫秒级的应用来说,是无法满足其需求的。因此,MCC 难以满足时延敏感型应用的需求[3]。并且MCC采用的是集中式处理模式[4-6],如图1所示,大量终端设备产生的海量数据都传送到云服务器进行处理,不仅会给传输网路带来很大的负担,而且也会造成数据隐私的泄露,产生数据安全性问题。基于此业内提出了移动边缘计算[7]。

图1 MCC体系结构

移动边缘计算能有效解决时延长、能耗高和数据不安全等问题。尤其是计算卸载技术作为MEC的关键技术更是成为该领域的研究热点。MEC计算卸载技术允许终端设备将计算密集型任务卸载至MEC 服务器执行,借助高计算性能MEC 服务器实现任务执行时延降低的目的[8]。同时,将终端设备的任务卸载到边缘服务器,也可以有效降低设备能耗。因此,MEC计算卸载技术能有效解决云计算带来的问题的同时也能有效缓解终端设备资源受限与对需求有高要求的任务间的突出矛盾。虽然目前已有大量MEC相关领域的研究文献和成果,但很少有对MEC领域相关理论进行系统的梳理,并且对于MEC计算卸载技术的现状和面临的问题挑战介绍得也不够详细。因此本文对MEC 相关理论、部署方案和应用场景进行了系统的梳理,并对计算卸载技术研究现状和面临的挑战进行了详细的分析和总结。

1 移动边缘计算

1.1 MEC概念

多边缘计算是在网络边缘执行计算的一种新型计算模型[9],在无线接入网络的边缘侧,就近为终端设备提供边缘服务。边缘计算模型和云计算模型并不是取代的关系,而是相辅相成的关系,边缘计算需要云计算中心强大的计算能力和海量存储的支持,而云计算中心也需要边缘计算中边缘服务器对海量数据及隐私数据的处理[10]。而移动边缘计算是由欧洲电信标准化协会(European Telecommunications Standards Institute,ETSI)于2014 年提出,是指将云服务器的部分云计算能力下沉到用户侧,在网络边缘部署计算和存储资源,为用户提供边缘服务,由于更加地靠近边缘设备,从而能为用户提供超低时延和高带宽,给用户更佳的网络体验。MEC 也是一种新的网络架构,如图2 所示,为部署在基站的一种MEC架构。

图2 MEC体系结构

与云计算相比,移动边缘计算具有很大的优势。第一,在无线接入网侧部署MEC服务器,终端设备可以将计算任务卸载至边缘服务器,不必经过核心网将任务卸载到云服务器,从而达到减少时延的目的。第二,设备产生的大量数据卸载到边缘服务器进行处理,极大地缓解了核心网络和云服务器的压力,也有效地保护了用户数据的隐私。第三,终端设备的能耗主要包括执行任务的能耗和传输任务的能耗。由于电池技术和终端设备尺寸的限制,导致设备能量很低,不能执行高能耗的任务。将设备上的任务卸载到边缘服务器可以有效地降低设备的能耗,延长设备使用的周期。表1列出了MEC与MCC的对比分析。

表1 MEC与MCC对比分析

1.2 MEC架构

2019年ETSI对MEC架构有了新的定义[11]。如图3所示,文献[12]参考了ETSI新定义的MEC参考架构,从宏观的层次上对MEC架构进行了详细说明。图3详细描述了MEC 参考架构的各个不同功能元素和参考点。MEC参考架构分为MEC系统层和MEC主机层,整个架构包含三个参考点,分别是Mx、Mp和Mm。其中Mx代表与外部实体有关的参考点,Mp代表与MEC平台应用有关的参考点,Mm代表与管理相关部分有关的参考点。

图3 MEC参考架构

MEC主机层主要包括:MEC平台管理器、虚拟化基础设施管理器和MEC主机三部分。

MEC 主机作为实体,包含MEC 平台、MEC 应用和虚拟化基础设施。虚拟化基础设施通过虚拟化技术将各种标准的软硬件资源整合成虚拟资源池,为MEC 应用提供运行所需的资源,包括计算、存储和网络资源。MEC平台是一个基本的功能集合,为MEC应用提供了运行环境,使MEC 应用能够发现、提供和使用MEC 服务,并根据流量规则接受流量进行路由。MEC 应用是在MEC 主机的虚拟化基础设施上运行的MEC 应用程序,根据请求利用虚拟化资源进行实例化,并作为虚拟机运行,与MEC 平台进行交互以使用和提供MEC 服务。虚拟化基础设施管理器主要负责对那些硬件资源和虚拟化的资源进行管理和监控,分配和回收虚拟资源,比如利用虚拟资源创建一个个的虚拟机,就是由虚拟化基础设施管理器完成的。移动边缘平台管理器主要负责管理MEC 应用的生命周期,包括将与应用程序有关的信息通过Mm参考点通知移动边缘编排器;从虚拟化基础设施管理器接收一些关于虚拟化资源故障报错信息和性能指标信息,以进行进一步处理。

MEC系统层包括:面向客户服务门户、设备应用程序、用户应用程序生命周期代理、操作支持系统和移动边缘编排器。

面向客户服务门户是一组能够为第三方客户提供服务的MEC应用程序,该门户通过Mx参考点与操作支持系统直接通信。设备应用程序是指设备中运行的应用程序,通过用户应用程序生命周期代理与MEC 系统通信。移动边缘编排器是MEC 系统层管理的核心,根据已经部署好的MEC主机,可用的软硬件虚拟资源,可用的MEC 服务和拓扑结构来维护MEC 系统的整体视图;在资源、服务和性能指标等条件的约束下,选择适合的MEC主机来实例化应用程序。操作支持系统通过面向客户服务门户和设备应用程序接收与应用程序有关的一些请求,比如实例化应用程序,终止应用程序。并对这些请求进行判断,决定是否放行这些请求,对于放行的请求,操作支持系统会将这些请求转发到移动边缘编排器,进行进一步处理。用户应用程序也是MEC 应用程序,是通过设备应用程序响应用户的请求在MEC系统中进行实例化的应用程序。用户应用程序生命周期代理根据设备应用程序的请求进行管理,并与操作支持系统和移动边缘编排器进行交互,以进一步处理这些请求,允许实例化或终止应用程序。

1.3 MEC部署方案

MEC 服务器拥有充足的计算和存储资源,能够为各类终端设备提供MEC服务。MEC部署位置不同,适用的场景和带来的影响是不同的。在移动边缘网络环境中如何部署MEC服务器也是需要考虑的问题。MEC服务器在移动边缘网络中的部署方案有很多种,以下主要介绍三类MEC部署方案:宏基站云、小区小型基站云和核心网云,表2对三种部署方案进行了总结。

表2 三种部署方案对比分析

1.3.1 宏基站云

宏基站体型较大,能够承载的设备数量也很多,覆盖面积很广,一般都能够达到数十公里,距离设备不是很远。通过将MEC服务器部署在宏基站,使得MEC服务器能够实时地感知一定区域内的网络信息,能够为大量的终端设备提供各类服务。如图4所示,宏基站内部可以部署多个MEC 服务器,因此具有很高的计算能力和大容量的存储能力。由于靠近设备,能够更便捷且快速地获取和回应设备的请求信息,带来了低时延。但由于计费功能一般设在网关执行,因此存在合法监听、计费等安全问题。此部署方案特别适用于覆盖范围较大的应用场景,比如中小型城市,且对于未来智慧城市的建设具有很大的推动作用。

图4 宏基站云

1.3.2 小区小型基站云

小区内的小型基站体型较小,覆盖范围也小,能够服务的终端设备数量相比于宏基站要少得多,计算和存储能力也相对较弱,但离终端设备的距离更近,通过将MEC 服务器部署在小区内的小型基站,能够为终端设备提供低延迟的服务,提升用户的体验。但与宏基站部署方案一样也存在计费、合法监听和鉴权等安全问题,同时安装成本也相对较高,需要进一步地考虑。部署在各小区的MEC服务器,最后通过聚合节点接入核心网,如图5 所示。该部署方案适用于覆盖范围较小的应用场景,比如小区、学校和大型商场等热点区域。

图5 小区小型基站云

1.3.3 核心网云

如图6所示,在核心网侧的部署方案。以上两种方式,虽然距离终端设备都比较近,但存在计费、鉴权和合法监听等问题。通过将MEC服务器部署在核心网侧的分布式数据中心上,能有效解决这些问题,但由于MEC服务器离终端设备距离远,也带来了高时延和高能耗等问题,增加了响应服务的时间,同时会占用核心网大量的计算、存储和带宽等资源。

图6 核心网云

MEC 服务器的部署与应用场景有关,需要综合考虑各种因素,比如周围环境、时延性能指标、业务类型和覆盖范围等。随着技术的发展,未来具有各种计算能力和存储容量的MEC 服务器将部署在网络的各个位置。对于时延有较低要求的应用场景,可以将MEC 服务器部署在基站附近。对计算能力和存储容量有很高要求的应用场景,可以考虑将MEC 服务器部署在核心网测。总之,根据实际的场景来考虑MEC服务器的部署,在各部署方式之间进行权衡,在满足各类服务需求的情况下,使得计算、网络和存储资源利用得到最大化。

1.4 MEC应用场景

由于移动边缘计算具有安全性高、离设备距离近带来的低时延、低能耗和高带宽等特点,使得移动边缘计算在现实生活中具有丰富的应用场景。比如物联网、车联网、增强现实等领域,下面列出并介绍了MEC主要典型应用场景,并在表3中总结了各种应用场景引入MEC技术带来的优势。

表3 各种典型应用场景引入MEC带来的优势

1.4.1 物联网

物联网是指借助智能技术,将物体的状态、位置和所处周围环境的信息进行采集分析整理,通过其连接的网络,进行有效物体间的信息交换和传递,实现随时随地的人机互连、物物互连的智能网络。将物联网设备产生的计算密集型任务卸载至MEC 服务器中执行,有助于实现物联网设备简化及低能耗需求,达到延长设备生存期的目的[13]。由于MEC服务器通常拥有一定计算存储资源并能收集和处理信息,在物联网中引入MEC 技术,能帮助物联网设备简化配置,使物联网设备更简化,同时降低设备的价格。

1.4.2 车联网

据车联网网络安全白皮书中对车联网进行的定义,车联网是指借助新一代信息和通信技术,实现车内、车与人、车与车、车与路、车与服务平台的全方位网络连接,提升汽车智能化水平和自动驾驶能力,构建汽车和交通服务新业态,从而提高交通效率,改善汽车驾乘感受,为用户提供智能、舒适、安全、节能、高效的综合服务。车辆通过与路旁基站上部署的MEC服务器通信来提高运输系统的安全性、效率和便利性,服务器中部署的应用程序包含使用从车辆和路边传感器接收到的数据的算法,以预先识别高风险情况,并向该区域的车辆发送警报和警告[14]。若将联网车辆与MEC 技术结合,不仅可以满足车载应用毫秒级时延和高带宽的需求,而且可以在路边基站部署MEC 服务器运行MEC 应用程序来提供各类服务。通过赋予路旁基站计算及存储能力,车载应用服务可由中心网络转至网络边缘节点上处理,从而实现减少数据处理往返时延的目的[15]。而部署在MEC 服务器的MEC 应用程序可以直接从车辆和路边传感器中的应用程序接收车辆发来的信息,并对其进行分析,然后将信息传递给其他车辆,减少车祸风险。

1.4.3 增强现实

增强现实是一种利用设备产生的包括声音、图片及视频等附加元素,对用户所看到真实世界影像进行增强或者扩展的技术[16]。增强现实允许用户通过对周围环境进行分析,获得场景的语义,使用数据库提供的其他知识来增强场景的语义,并在很短的时间内将其反馈给用户,从而从环境中获取更多信息,该设备可以是智能手机或带有摄像头和其他传感器的任何可穿戴设备[17]。虽然现有网络平均的吞吐量可以达到很高,但一些高阶增强现实应用需更高的速度和更低的延迟。因此通过增强现实与MEC 技术结合,一方面可以将高质量的增强现实内容卸载到边缘服务器,利用边缘服务器的存储资源可以预存一些热门资源,当用户需求时可以直接返回给用户,提高用户体验。另一方面对于一些计算能力需求高的任务,MEC 也可以利用自身的计算资源进行处理,而不必上传到云端,节省了时延。

1.4.4 智能家居

当前的智能家居服务模式主要由智能家用设备、手机或平板电脑应用和云服务器构成。通过在手机或平板电脑上下载智能设备对应的应用程序,就可以通过此应用程序间接地操作控制家里的智能设备,既方便又智能。具体来说手机通过应用控制程序向云服务器发送相关需求,云服务器通过解析需求,对相应的智能设备下发状态指令,然后手机就可以通过相应的指令对设备进行控制。虽然云服务模式带来了很大的方便,但也存在着数据安全、高延迟等问题。因此,通过在智能家居环境中引入边缘计算技术,将MEC 服务器部署在家庭区域内部,避免了将数据上传到云服务器,不仅可以保证数据的安全性,也能有效降低手机设备访问控制智能设备的时间。

1.4.5 视频监控系统

视频监控系统通过摄像头拍摄大量的视频数据,传统的处理模式需要将视频数据传至云服务器处理或者在摄像头本地处理。若在云服务器处理,则需要将大量的视频数据传至云端,不仅增加了核心网的负担,而且也带来了高的延迟。若将视频数据在摄像头处进行本地处理,这不仅需要每个摄像头都具备视频分析的功能,且需要大的存储空间,这不仅会增加摄像头配置的复杂度,维修带来困难,而且会带来高的成本和高能耗。若借助MEC服务器强大的计算能力和充足的存储空间进行视频数据的处理,每个摄像头就无需复杂的配置进行视频处理分析,不仅降低了摄像头的成本和能耗,而且减轻了核心网的负担,将视频数据传输到MEC服务器进行处理,也带来了低时延和增加了数据的安全性。

1.4.6 位置感知

由于MEC 服务器部署在网络边缘,而且覆盖的范围足够大,可以实时地监测和获取到用户的位置信息。而应用提供商的业务主要关注盈利模式,通过对用户的实时定位,获取用户的位置信息,进而推送相关应用的服务,提升与位置有关应用的价值的同时带来利润的增收。基于位置感知的应用还有智慧商场大厦,将MEC服务器部署在商场内,离用户较近,便于实时获取用户的位置信息,给用户提供个性化服务。当顾客进入商场时,商场通过对用户的实时定位,获取位置信息,同时进行对其周边商铺、车库、消费区域等查询,结合这些信息,对用户的行为数据进行分析,进而实现精准推销,商场也可以根据用户的位置信息,推送高度相关的广告或商场优惠券信息。

1.4.7 医疗服务

虽然医疗技术进步很快,但仍然存在着医疗资源不均,不同医疗机构之间的数据相互孤立,患者的医疗数据容易泄露等问题。而结合MEC 技术,通过连接数据资源拥有者的边缘服务器,实现数据共享、资源共享,能够消除多方医疗机构之间的合作与共享的障碍,实现医疗信息化。不仅可以减少看病患者的等待时间,提高了医治病人的效率,同时能够保护患者隐私数据的安全。借助MEC 技术也可以对患者进行实时监护,获取患者生命特征数据和危急信息及时送给医护人员,确保患者的安全。同时专家医生也可以借助MEC技术进行远程医疗实时会诊,MEC 服务器强大的计算能力和充足的存储容量,能保证实时会诊所需要的很高的带宽和低时延。医疗与MEC技术结合可以大幅度地提高医疗效率。

2 计算卸载技术及研究现状

2.1 计算卸载技术

计算卸载技术[18]作为MEC 的关键技术之一,是指通过合理的卸载决策和资源分配策略将终端设备上运行的任务卸载到边缘服务器,利用服务器充足的计算和存储资源完成任务的执行,减少任务完成时延和设备的能耗,提高设备性能。计算卸载技术在云计算中已经被运用,与移动边缘计算中的计算卸载技术上唯一的不同就是卸载的目的地不同。文献[19]将计算卸载流程大致分为六个阶段,包括寻找可用的MEC计算节点、程序分割、卸载决策、程序传输、执行计算和计算结果返回,如图7所示。

图7 卸载流程

计算卸载技术主要包含卸载决策和资源分配两个问题。其中卸载决策主要解决的是设备上的计算任务是否需要卸载,按照何种策略进行卸载,是完全卸载还是部分卸载等问题。资源分配所要解决的是如何对计算、网络和带宽等资源合理分配的问题,比如在单服务器的场景下,多个任务卸载到服务器上,如何有效合理地分配计算和存储资源,才能最大程度地降低总任务的时延和能耗。

在卸载系统中的设备一般由代码解析器、系统解析器和决策引擎三部分组成。其中代码解析器用于确定哪部分任务可以卸载,系统解析器用于监控卸载数据大小、执行任务的能耗和可用的带宽等各种参数,卸载引擎用于决定任务是否可以卸载。

接下来本文将会按图8 所示从卸载决策的目标和卸载方式两方面分析介绍和总结近年来计算卸载技术的研究现状。

图8 卸载技术

2.2 卸载目标

进行卸载决策的目标主要有三个:以缩短任务完成时延为目标、以降低设备的能耗为目标和以优化时延和能耗加权和为目标。本节将会从这三个方面介绍对近年来计算卸载策略现状进行介绍。表4 为近年来卸载决策目标的部分研究进展。

表4 卸载决策目标研究总结

2.2.1 最小化时延的卸载方法

如果任务需要卸载,则完成此任务所花费的时延包括上传任务到MEC服务器的传输时延、在MEC服务器上的执行时延和返回执行结果的传输时延。不进行卸载时,时延只包括在本地执行的时间。为保证用户有个很好的体验,需要最大程度地降低任务的完成时延,至少需要满足完成任务所需的最低时延要求。

文献[20]提出了一种高效的一维搜索算法来寻找最优的任务调度策略。首先利用马尔可夫链理论,根据任务缓冲区的排队状态、本地处理单元的执行状态以及传输单元的状态,分析了在给定的计算任务调度策略下,移动设备上每个任务的平均延迟和平均功耗。然后,建立了功率约束时延最小化问题的数学模型,利用一维搜索算法来寻找最优的调度策略。最后通过仿真实验表明,与任务在移动设备上进行计算和将任务卸载到云服务器进行计算相比,本文所提的任务调度策略可以最大程度地缩短任务的执行时延。但是这种策略需要移动设备与MEC 计算节点之间进行实时通信,设备只有得到计算节点的反馈信息,才能做出是否卸载的决定。文献[21]利用软件定义网络的思想,研究了超密集网络中的任务卸载问题,并将任务卸载问题描述为一个NP-hard的混合整数非线性规划问题。为了解决这一问题,将该优化问题转化为计算资源分配问题和0-1 规划子问题,通过使用优化技术,得到了计算资源分配和任务分配的有效解决方案,在此方案下能最大限度地减少设备任务执行时延的同时也节省了设备的能耗。仿真结果表明,与随机任务卸载方案和均匀任务卸载方案相比,该方案可以减少20%的任务执行时延,节省30%的设备能耗。文献[22]研究了具有带宽和延迟要求的单个应用程序和多个应用程序的应用程序配置问题。对于单一应用和可以并行的多应用场景,提出了一种完全多项式时间近似方案。对于一般的不可并行的多应用场景,提出了一个随机化算法。通过仿真结果表明,与启发式算法相比,本文提出的算法可以最大程度地缩短任务的执行时延。在文献[23]中用户将计算任务卸载到多个边缘服务器,并在预定的时隙上从服务器下载结果,通过联合优化任务分配和资源分配,最大限度地减少任务的计算延迟。实验表明,通过此优化方案,可以显著减少任务的计算时延。文献[24]通过马尔可夫决策过程方法分析每个任务的平均延迟和设备上的平均功耗,利用一种有效的一维搜索算法获得最佳任务调度策略,解决了受功率约束的最小化延迟问题。通过实验表明提出的最佳随机任务调度策略可以实现更短的平均执行延迟。文献[25]考虑了将任务依赖关系建模为树状任务图,并提出了一种新颖的完全多项式时间逼近方案,在满足资源利用率约束的同时最大程度地减少了应用程序完成延迟,并进一步提出了一种在线算法,用于学习未知的动态环境,来保证与最佳策略相比的性能差距受到对数函数和时间的限制。通过实验结果表明,该方法能最大程度地缩短执行延迟。但是,当任务图很大时,算法可能会花费很长时间。文献[26]考虑了具有常规子任务依赖性的应用程序卸载,提出了一种轻量高效的卸载方案,基于博弈论开发了一种自适应分布式卸载策略,该策略在有限迭代后即可达到纳什均衡。通过实验表明所提出的卸载算法可以有效减少任务的执行时间,并提高资源利用率,但是由于全局信息稀疏,该算法只能获得有限的性能,而且没有考虑能耗问题。文献[27]研究了联合MEC和D2D部分计算卸载来最小化共享频谱中的任务执行延迟的问题,设备任务可以卸载到MEC 服务器或附近支持D2D 技术的设备上,提出了一种低复杂度的启发式算法来解决该问题。

这类研究的缺点在于,卸载决策没有考虑移动设备侧的能量消耗,由于移动设备上的电池容量有限,电池能耗的快速消耗,会带来很大的影响。当电池能量耗尽时,任务计算就会中断,相应的卸载决策也就无法进行下去,因此可以考虑研究在满足时延的限制条件下,最大程度地减少设备能耗的计算卸载策略。

2.2.2 最小化设备能耗的卸载方法

如果任务在本地执行只需考虑设备本身能耗,若卸载到MEC服务器,除了设备自身能耗,还包括将任务卸载到MEC服务器上的传输能耗。

文献[28]结合5G异构网络的多路访问特性,设计了节能计算卸载方案,在时间约束下共同优化了卸载决策和无线资源分配,最小化系统能耗。文献[29]考虑了任务可以在移动设备上执行也可以在云服务器上执行两种执行模式,研究在时延约束内如何最佳地配置时钟频率和最佳地调度数据传输,通过求解约束优化问题来最小化设备总能。最后通过实验表明通过将应用程序卸载到云执行,可以节省设备能耗。文献[30]考虑了具有辅助节点的MEC系统,一个用户节点,一个辅助节点和一个连接到MEC 服务器的访问节点,联合优化了用户和辅助节点的计算和通信资源分配,在计算延迟约束下,使总能耗降至最低。文献[31]将任务之间的依赖关系建模为顺序调用图,研究了随机无线信道下移动设备和云服务器协作任务执行情况,任务在满足时间期限的同时,最大程度地减少了移动设备上的能耗,并得出了最佳的单爬策略,这意味着任务卸载仅在设备和云服务器之间迁移一次。实验表明与本地执行和云执行相比,协作任务执行可以显著节省移动设备上的能耗,延长设备使用周期。文献[32]考虑传输时间的延迟约束下结合无线电参数的选择,得到调用图的最佳分区,最大程度地降低了移动设备的能耗和执行时间。文献[33]提出了一种可将细粒度的能量感知型移动代码卸载到基础结构的系统,研究了如何对程序进行分区以及如何将程序分区表述为整数线性规划问题,通过细粒度的代码卸载,可以很大程度地减少能耗和对程序的修改。但是,此方案不适用于时延敏感的应用。文献[34-35]研究了在移动云环境下针对大量移动设备的任务调度问题,获取最佳的调度程序,最大程度地减少了移动设备的总能耗。文献[36]提出了一种联合优化资源分配和任务卸载分配的策略,最小化设备能耗,基于一种低复杂度的算法来解决此问题。实验结果表明性能要优于非协作卸载方案和随机卸载方案。

目前很多以能耗为目标的研究,大多都会在时延的约束下进行优化设备能耗,寻找最佳计算卸载策略,最大程度地减少设备的能耗。现有的策略大都是通过仿真来进行验证,有的甚至停留在理论层面,相比于真实环境条件还是存在差距,因为网络环境是随时间而变化的,而优化能耗依赖于设备发射功率和网络链路的质量。虽然解决了能耗问题,但也可能导致高时延,对于用户的体验不是很友好,所以在卸载过程中可以综合考虑时延和能耗,在这两者中间进行权衡,获得最佳卸载策略。

2.2.3 权衡能耗和时延的卸载方法

不管是能耗和时延都会影响整个系统的性能,所以为了进一步地提升设备的性能,减少整个系统的执行成本,需要在时延和能耗之间寻找平衡,使设备的性能和整个系统的收益达到最好。

文献[37]研究了任务卸载调度和资源分配问题。提出了一种基于交替最小化的低复杂度次优算法,来最小化任务执行延迟和设备能耗的加权总和。仿真表明所提出的算法能有效地缩短任务的执行时延和降低设备的能耗。文献[38]将任务依赖关系建模为一般拓扑图,使用线性规划的方法解决卸载决策、延迟和能耗联合优化问题。文献[39]研究了在超密集边缘网络环境中的任务卸载问题,将任务依赖关系建模为有向无环图,为了最大程度地减少任务等待时间和能耗,提出了一种启发式算法,该算法保证了子任务之间的依赖性并提高了任务效率,该算法共同优化了执行等待时间和能耗,同时保留了较低的时间复杂度。文献[40]将移动设备用户间的分布式计算卸载决策问题描述为一个多用户计算卸载博弈问题。采用博弈论的方法设计了一个能够达到纳什均衡的分布式计算卸载算法,根据受益云计算用户数和全系统计算开销这两个重要指标,进一步量化了任务的计算时延,实现了更低的计算时延。文献[41]考虑了本地计算、MEC服务器计算和云服务器计算三个计算卸载场景,首先判断设备任务是否卸载,若卸载,再由MEC评估自身资源是否能完成任务的计算,若不能,则卸载到云服务器计算,最大限度地减少能源、计算和延迟的总体成本,提出了一种有效的半定松弛卸载决策算法和一种新的随机化映射方法来解决此问题,获取最优卸载决策。通过仿真表明,本文所提的算法可以通过较少的随机迭代次数获取近乎最优的性能,可以显著降低能耗和计算成本。文献[42]提出了一种基于拉格朗日对偶分解的分布式算法解决在通信和计算资源约束下最小化执行时延和能耗加权和的优化问题。利用KKT条件和精确线搜索算法将原问题分解为两阶段优化问题,获得了问题的最优解。

联合优化时延和能耗的本质就是在任务执行时延和设备能耗之间进行权衡,寻找一个平衡点使得系统性能最优,效益最好。但联合优化时延和能耗也增加了问题的复杂度,在数学建模过程中,如何去求解获取模型的最优解或者次优解是个难题。对于时延或能耗有特定需求的应用也不适用,适用范围较窄。

2.3 卸载方式

目前计算卸载技术根据卸载方式的不同,主要集中在粗粒度、细粒度和MEC 与D2D 技术协作三方面进行研究。按照设备上应用任务的划分以及有无D2D技术可以将任务卸载方式分为粗粒度的卸载方式、不具有依赖关系的细粒度的卸载方式、具有依赖关系的细粒度的卸载方式和MEC与D2D技术协作卸载方式。表5根据卸载方式的不同对近几年该领域相关文献进行了总结。

表5 卸载方式研究归纳总结

2.3.1 粗粒度卸载方式

粗粒度的卸载方式是将终端设备的整个应用看成一个整体,应用不可划分,设备上的应用要么在本地执行,要么进行卸载。基于设备自身能力的限制,文献[43-47]专注于粗粒度的卸载方式,来增强设备的计算和存储能力,提高设备性能。

文献[43]采用二分搜索、坐标下降和交替方向乘数法分解技术来最大化所有无线设备的总计算速率,联合优化卸载策略和系统资源分配。实验表明在各种网络设置下可以达到最佳的性能。文献[44]考虑了能量优化和资源分配问题,研究如何通过在本地和云服务器中最佳执行应用程序来为资源受限的设备节省能量消耗,若在本地执行,则通过动态配置芯片的时钟频率来节省能耗,若在云服务器执行,则通过优化调度随机无线信道上的数据传输来降低传输能耗。通过实验表明部分应用卸载到云中能节省很大的能耗。但是,它只能作为单个任务应用于该应用程序。文献[45]进一步地考虑了多用户MEC 系统环境,开发了一种最佳的资源分配方案,在计算延迟的约束下最小化系统总能耗。文献[46]通过使用凸优化方法优化移动能源消耗问题,提高系统的性能。文献[47]提出了一种基于李雅普诺夫优化的低复杂度的动态计算在线卸载算法,在该算法中,以时隙进行决策,在每个时隙来决定任务是在本地执行还是进行卸载计算。通过该算法,获得了最优的卸载决策、移动执行的CPU 周期频率和发射功率。通过实验对比,本文所提的策略能将任务执行时延缩短64%左右,使得设备的性能得到了很大的优化,节省了设备能耗。

以上文献考虑的都是粗粒度的二进制卸载方式,设备任务要么在本地,要么在服务器。但实际中大多数应用都是由许多子组件组成,有些组件必须在本地执行,有些可以卸载到服务器上执行,因此粗粒度的卸载方式不适用于现实中大多数的应用,为了提高性能,需要更细粒度的卸载方式。

2.3.2 不具有依赖关系的细粒度卸载方式

不具有依赖关系的细粒度卸载方式是指将设备上的应用划分为多个子任务但没有考虑应用子任务间的依赖关系,子任务可以卸载也可以在本地执行,任务之间是独立的。基于粗粒度卸载方式的不足,文献[48-52]考虑了一种更通用的方案,将应用划分为多个独立任务,考虑每个任务的卸载策略。

文献[48]提出了一种针对联合任务卸载以及资源分配的新方法,来最小化能源、计算和延迟的加权总成本。文献[49]通过联合优化任务分配决策和设备的CPU 频率来降低总任务的执行时延和设备能耗。针对固定CPU 频率和弹性CPU 频率,分别提出了基于线性松弛的方法、半确定松弛的方法和穷举搜索的方法获取最佳策略,最大程度地减少了移动设备能耗和总任务执行延迟的权重之和。文献[50]为了减少移动设备的能耗提高性能,引入了马尔可夫决策过程模型获取最佳的卸载策略,实验数值结果表明为移动用户提供的马尔可夫决策过程卸载算法优于常规基准方案。文献[51]分别研究了基于时分多址和正交频分多址的多用户MECO系统的资源分配,其中多个用户将其各自的任务卸载执行,在确保用户对计算延迟的要求的同时,最小化系统能耗。对于时分多址MEC 系统,计算在等待时间约束下最小化移动能耗加权总和。对于正交频分多址MEC 系统,通过将正交频分多址问题转换为与其对应的时分多址问题,以低复杂度次优的算法来求解最优解。文献[52]提供了一种综合的计算卸载解决方案,通过迭代算法解决了联合优化问题,最大程度地减少了设备的能耗。

以上文献虽然对任务进行了细粒度的划分,且相比于粗粒度卸载方式,设备的性能得到了很大的提升,但是忽略了各种应用程序中不同子任务之间的重要依赖关系,实际中大多数应用都是由多个具有依赖关系的子任务组成,一个子任务的输入依赖于另一个子任务的输出。

2.3.3 具有依赖关系的细粒度卸载方式

具有依赖关系的细粒度卸载方式是指把设备的应用划分为多个子任务,并考虑子任务之间的依赖关系,一个子任务的输入依赖于另一个子任务的输出。通常将这种依赖关系建模为有向无环带权图的数据结构,图的节点代表每个子任务,权重代表执行成本,边代表任务之间的依赖关系,根据此图来考虑图中每个节点的卸载。目前该领域的研究更多的是倾向于此细粒度的卸载方式。文献[53-62]考虑了更细粒度的任务之间的依赖关系,来研究具有依赖关系任务的卸载策略。

文献[53]提出了一种动态关键路径调度算法,通过此算法确定图的关键路径,动态地调度每个节点,并通过节点的潜在开始时间为其选择合适的处理器。此算法在可接受的时间复杂度的情况下,适用于各种图形结构。文献[54]中将任务依赖关系建模为具有一般拓扑的调用图,即将移动应用程序建模为由一组细粒度任务组成的常规拓扑。应用程序内的每个子任务可以选择在本地或云服务器执行,利用部分关键路径分析方法进行任务调度,采用单爬策略和基于拉格朗日松弛法的合计成本算法,获取最佳解决方案,在时延约束的条件下,最大程度地减少了移动设备上的能耗。文献[55]中考虑了多个独立的设备,每个设备都有多个任务,将这些具有依赖关系的任务建模为通用调用图,为了最大程度地降低能源效率成本,提供了一种节能高效的动态卸载和资源调度策略,在缩短任务完成时间的同时减少能耗。实验结果表明,策略可以通过在本地计算中基于动态电压和频率缩放技术优化调整设备的CPU时钟频率和发射功率,来降低能耗和缩短执行时延。文献[56]将通用调用图中的任务映射到虚拟机,提出一种基于元启发式优化技术的粒子群优化算法,使设备任务在完成时间限制的条件下,最大程度地减少了总体成本。文献[57]为了最大程度地节省计算成本和数据传输成本,提出了一种基于粒子群优化的启发式算法,并使用此算法和最佳资源选择节省成本的算法进行比较,最后通过实验表明该算法更加节省成本。文献[58]考虑了云计算和MEC协作的场景,任务依赖关系被建模为串行任务图,在只有单用户中通过分支定界算法来解决用户任务计算卸载的问题,在多用户卸载问题中设计了一种迭代启发式MEC 资源分配算法动态地做出卸载决策,协调多个用户之间的资源竞争。文献[59]提出了一种多目标动态规划方法,使设备任务在满足时延的要求下最大程度地降低了估算成本。文献[60]研究了如何将应用程序建模为消耗图,以及如何利用相应的算法对其进行处理以找到应用程序模块的最佳分区,通过基于分布式模块管理的现有技术,构造了一个表示应用程序的图形,并提出了ALL和K-step算法,优化了云应用程序的性能。但是没有考虑能源消耗和时间延迟约束。文献[61]提出了一种用于移动代码卸载的有效代码分区算法,该算法在线性时间内可以实现近乎最佳的卸载决策,与其他文献的不同在于,文献中证明了在顺序任务图中要卸载的最佳任务集将始终是任务图中的一系列连续任务,如果存在可以卸载到云中以减少完成时间的任务,则这些任务必须是连续的,这与其他文献需要考虑每个任务的卸载决策是不同的,该算法通过深度优先搜索和线性时间搜索方案在一系列调用中找到了最佳卸载和集成点。但是此算法只能卸载由一系列连续任务表示的应用程序,没有考虑卸载并发任务,因此其解决方案的意义是有限的。文献[62]研究了在线任务卸载场景下最大程度地减少任务的完成时间问题,分别考虑了线拓扑任务图顺序任务和一般拓扑任务图并发任务两种情况,并沿用了文献[61]的一些思想,在顺序任务图中要卸载的最佳任务集将始终是任务图中连续任务的序列,本文的创新点在于,对于一般拓扑任务图在卸载决策时,对图进行了剪枝,通过对比边的权重进行剪枝,将图转为树,减少了任务图的规模。使用负载平衡启发式方法将任务卸载到云中,很大程度地提高了移动设备和云之间的并行度,缩短了任务的完成时间,但也带来了一些问题,会丧失一些信息。

文献[53-62]通过更细粒度的任务之间的任务划分,使得设备的性能得到了极大的提高,也更加贴近实际的应用。

2.3.4 MEC与D2D技术协作卸载方式

D2D 通信技术作为5G 的关键技术之一,是指两个设备不需要经过基站和核心网络就可以直接进行通信的技术。通过将D2D 技术与MEC 结合,用户可以借助D2D 技术将计算任务卸载到邻近的设备或者借助邻近设备将计算任务卸载到MEC 服务器上进行计算,通过这种近距离的通信技术可以有效降低数据传输时延和能耗,降低网络通信压力。在MEC 环境中引入D2D 技术作为辅助手段,主要考虑两种情况:一个是将支持D2D 技术的设备充当小的MEC 服务器,利用其设备资源进行任务的计算,设备任务可以卸载到支持D2D 技术的设备上或卸载到MEC服务器上或者本地执行。另一个是将支持D2D 技术的设备充当中间器,当设备与MEC通信链路有问题时,通过将任务卸载到D2D设备,借助此设备,再将任务卸载到MEC 服务器上执行。文献[63-71]考虑了在MEC 环境下引入D2D 技术进行协作,来考虑任务的卸载情况。

文献[63]根据D2D 通信在流量卸载中所承担的任务,将流量卸载技术分为以D2D 通信为目标和以D2D通信为中继两类,进行了详细总结和介绍。文献[64]考虑了在具有能量收集的MEC 系统环境下,设备到设备辅助计算卸载,当终端设备与MEC 服务器之间的通信出现抖动导致延迟较高时,允许通过D2D 技术将任务卸载到附近设备,借助邻近设备再将任务卸载到MEC服务器,这样可以将更多的任务卸载到MEC服务器上,以增加任务卸载的概率,提出了一种基于Lyapunov 优化的低复杂度的动态计算卸载在线算法,获得了最优的卸载策略。通过实验表明任务执行时间减少50%左右,任务失败率降低10%左右。文献[65]提出了一种支持D2D的移动边缘计算蜂窝网络的分析框架,任务可以卸载到D2D 设备或者MEC 服务器,用总的成功边缘计算概率来评价该系统模型的性能,为了缓解上行链路和下行链路的层内干扰,提出了一种优先的信道接入策略,与没有该策略的方案相比,该策略对移动设备的总边缘计算成功概率有更大的贡献。文献[66]利用网络中存在的空闲设备,通过将任务卸载至邻近空闲设备,来提高资源的利用率,并基于Stackelberg博弈的方法解决价格资源确定问题,实现价格资源均衡,得到定价策略。基于图的二分匹配方法解决D2D协作最优任务分配问题来最大化计算利润。文献[67]考虑了包含多个忙碌智能设备和多个空闲智能设备的D2D 与MEC 协作系统,每个繁忙智能设备的计算密集型任务可以卸载到一个或多个空闲的智能设备,基于块坐标下降法和凸优化技术的两阶段迭代算法解决卸载决策和资源分配的联合优化问题,获得最佳卸载策略和资源分配策略,最小化了系统的总能耗。文献[68]通过将D2D 通信集成到MEC 系统中来提高系统的计算能力,设备任务可以本地执行,也可以卸载到D2D设备或MEC服务器,建立了一个具有通信资源和计算资源约束的混合整数非线性问题,开发了一种优化算法来解决此问题,通过优化资源分配和卸载策略,最大化了系统支持设备的数量。文献[69]基于凸松弛的算法解决基于时分多址的任务分配和资源分配联合优化问题,获得最佳计算卸载方案,最小化了总延迟,并设计了基于贪婪任务分配的联合优化算法,降低复杂度,期间利用动态电压和频率缩放技术控制计算频率。文献[70]提出了针对原始问题的多项式复杂度最优算法,将边缘计算资源和设备数量的优化问题建模为混合整数非线性问题,通过求解此问题的两个子问题的最优解得出原问题的最优解,提高了整个系统的性能。文献[71]将任务分配和功率分配建模为合整数非线性规划问题,通过基于遗传算法的进化方案解决此问题,获得了最佳卸载策略,并利用低复杂度启发式方法进行优化,最大程度地减少了总任务执行时延。

通过借助D2D技术将任务进行卸载不仅解决了独立MEC 服务器的资源竞争问题,而且带来了更低延迟和更高数据速率。

3 面临的挑战

通过以上对计算卸载技术现状的总结分析可以看出,由于设备尺寸和电池技术等条件的限制,导致部署在终端设备上的新型应用需求得不到满足。移动边缘计算卸载技术,可以有效解决这些问题。与在移动设备上执行任务计算相比,将设备上的任务卸载至边缘服务器不仅可以缩短任务的执行时延,而且可以节省设备的能耗,延长设备的使用周期。其中卸载方式中的更细粒度的具有依赖关系的卸载方式,更加符合实际。MEC与D2D技术的协作使得设备性能更进一步的提升。然而,尽管目前的研究对于的设备性能有了很大的提升,但是计算卸载技术中关于不同设备任务相关性方面的研究涉及得很少,几乎没有。同时在移动性、安全性和干扰性方面也存在着许多问题和挑战。下面详细分析和介绍了以上几个方面存在问题和解决办法。并在表6中总结了该领域相关难点和研究趋势。

表6 相关难点和研究趋势

(1)不同设备任务相关性方面。文中不管是粗粒度、细粒度的卸载方式,还是MEC与D2D技术协作下的卸载方式,现有的关于MEC 的研究都仅考虑了单个设备上任务的卸载情况。对于不同设备之间任务具有依赖性的研究非常少。实际上,在不同设备上执行的任务通常也是具有相关依赖性的,一个设备上子任务的输入,依赖于另一个设备上的子任务的输出。像在智能家居环境中,温度感应器通过感应室内温度获得温度值,根据这个温度值实现对其他智能设备的控制,比如可以根据这个温度值调节空调的温度。基于不同设备之间任务也是具有依赖关系的,文献[72]考虑了MEC系统环境下两个不同设备之间的任务依赖性,一个设备上的任务输入需要另一个设备上的最终任务输出,将任务的依赖关系建模为顺序图,基于椭球法和单爬策略获得最佳卸载策略,使设备总的时延和能耗加权和最小。文献[73]在文献[72]的基础上,扩展到多个设备,提出了一种降低复杂度的Gibbs采样算法来获得最优的卸载决策。但这两个文献都是将任务的依赖关系建模为顺序图,不够一般化,可以考虑更细粒度的任务依赖关系,将任务之间的依赖关系建模为有向无环图。考虑不同设备上任务的依赖关系问题的复杂度要高于仅考虑单设备任务依赖关系。其中一个难点,需要考虑两个设备上具有依赖关系任务的位置,位置不同对系统总体性能的影响是不同的。针对此难点,需要一一考虑不同设备具有依赖关系任务的每一个卸载位置关系。另一个难点,如果两个设备的任务依赖关系都分别建模为有向无环图,那么将会增加问题的复杂度。针对此问题可以在任务执行卸载前考虑运用剪枝或聚类技术缩小图的规模,来降低复杂度。

(2)移动性方面。当移动设备在部署有MEC 服务器的基站覆盖范围内移动时,不需要服务间的切换,但当移动设备从一个MEC服务器覆盖范围内移动到另一个MEC服务器覆盖范围内时,会出现服务的不连续性,影响用户的体验。如何在不同MEC服务器覆盖范围之间进行服务相关业务的快速切换,保证MEC 服务的连续性,使服务质量保持稳定,是MEC计算卸载技术面临的重要挑战。目前针对此问题大多都是通过任务迁移技术进行解决,因为设备在不同服务范围内的移动,涉及到设备相关状态信息和服务相关业务的切换,需要将状态信息和服务业务进行快速迁移,以此来保证服务的连续性。如果能够对设备移动的方向进行提前预测,做到预先任务迁移,快速在服务器之间进行切换,让用户察觉不到服务的中断,这将更能提升用户的体验,但如何做到精准预测,又是需要解决的一个难点。可以通过与机器学习、深度学习相结合来解决设备行为预测问题。文献[74]考虑了MEC与深度学习相结合,基于LSTM预测模型对用户移动性进行预测。移动性管理是移动边缘计算的重要挑战,需要该领域的研究学者深入研究寻找相应的解决策略。

(3)安全性方面。由于MEC 服务器在移动边缘网络环境中是分布式部署的,导致MEC 服务器的安全防御是很薄弱的,很容易被攻击。并且随着联网设备的增多,大量的数据被卸载到边缘服务器,有些数据是非常重要的,如何保障这些数据的安全,防止这些隐私数据被泄露窃取,是需要解决的重要问题。针对此问题可以对访问服务器的设备进行身份的验证,防止非法设备攻击服务器上的应用程序和数据,造成隐私的泄露。另一方面也需要对服务器上的应用程序进行验证,防止设备被恶意攻击。设备任务被卸载到边缘服务器,需要通过通信链路在复杂的网络环境中传输,面对如此复杂的网络环境,以往针对云计算的许多安全防范措施,可能不适用于移动边缘网络环境,因此如何在这复杂多变的边缘网络环境中保障通信链路的安全,也是MEC 计算卸载技术所要面临的重要挑战。针对此问题可以考虑将以往的一些安全措施和MEC 技术相结合,针对边缘网络环境来部署安全措施,以此来保证移动边缘网络环境的安全。在如今信息化时代,数据的安全是非常重要的,因此需要相关研究者进行更深入的研究,解决移动边缘网络环境中的数据安全性管理方面的问题。

(4)干扰性方面。当MEC 服务器同时接收到多个不同设备上的卸载任务时,任务与任务之间将会存在网络、计算和存储资源的竞争问题,竞争导致的资源的分配不均是产生干扰的根本原因。由于不同设备卸载的任务大小是不一样的,所需的网络、计算和存储资源也是不同的,如何在这些任务之间进行资源的合理分配,通过何种有效资源分配策略使得设备之间的干扰降到最低,是需要解决的一个难点,也是计算卸载技术面临的重要挑战。目前针对此问题的一个重要解决手段是通过考虑寻找一种合理有效的资源分配策略,充分地利用网络、计算和存储资源,来减少设备之间的竞争,解决不同任务之间的干扰问题。文献[75]共同考虑了计算决策和干扰管理,通过联合优化计算卸载决策、物理资源块分配和MEC计算资源分配问题获取最佳卸载决策来提高移动边缘计算网络的性能。文献[76]考虑了非正交多址访问系统下节能资源分配问题,通过优化子信道分配和功率分配来最大化非正交多址访问系统的能效性能。

4 结束语

通过对移动边缘计算的相关概念、参考架构、部署方案和应用场景的介绍,以及分别从卸载目标、粗粒度、细粒度卸载方式和MEC与D2D技术协卸载方式几个方面对计算卸载技术研究现状的分析和总结可以看出,计算卸载技术作为MEC 的关键技术,能有效解决终端设备计算、存储和能耗等方面的不足。但仍然存在一些问题需要去解决,比如不同设备之间相关依赖性的研究,尤其是更细粒度的具有依赖关系多个设备相关性的研究,很值得探究。并且随着5G 的不断发展,MEC 作为5G的关键技术之一,在未来的应用场景会不断扩大,尤其是D2D 技术的出现,D2D 技术与MEC 技术进行协作,对于计算卸载领域有更多值得探究的方向。

猜你喜欢

应用程序时延边缘
删除Win10中自带的应用程序
基于GCC-nearest时延估计的室内声源定位
基于改进二次相关算法的TDOA时延估计
谷歌禁止加密货币应用程序
一张图看懂边缘计算
FRFT在水声信道时延频移联合估计中的应用
基于分段CEEMD降噪的时延估计研究
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序
在边缘寻找自我