边缘计算的依赖性任务卸载算法研究文献综述
2020-04-14 17:22:57
1.1 研究目的及意义
随着移动互联网的发展促进了移动手持设备的进步(手机、平板电脑等)。移动终端设备使用数量爆炸式增长,对移动终端计算能力要求更高,催生了各种新的应用。机器学习、虚拟现实、人脸识别等计算密集型应用出现。这些应用运行在智能移动终端设备上需要消耗大量的计算资源。由于移动智能终端受限的资源以及有限的电池容量,应用的性能以及终端续航存在较大问题,因此难以长时支持这些计算密集型程序,影响用户使用体验]。这推动了移动云计算(mobilecloud computing MCC)概念的发展,允许移动用户将计算密集型应用卸载到云端进行计算。
远程云服务器通常由大量高性能服务器组成,具有较强的计算能力。用户可以将计算密集型程序卸载到远程服务器(centralized clouds CC)执行,远程服务器的运行的结果回传给用户。使用远程服务器主要有以下几个优点:1)通过将移动端的应用卸载到远程服务器运行,可以增加移动端电池的续航时间;2)由于服务器具有较强的处理器,可以处理来自用户的计算密集型任务;3)远程服务器具有较大的存储空间,为了计算密集型程序提供存储能力。但是使用远程服务器也不可避免的带来了一些问题,智能终端需要将本地数据上传服务器,由于服务器距离用户位置较远,因此带来了较高的系统延迟,严重影响了用户实时程序的使用体验,预计到2020年,全球设备总量将达到750亿部,而移动通信流量将超过24.3艾字节/月,并且用户们的移动设备(UE)将越来越智能化,而在UE中的应用将需要大量的计算能力和持久的数据处理。若智能终端均将计算卸载到远程服务器,可能造成网络拥堵,带宽受限。为了克服上述问题,提出了一种新的网络结构移动边缘计算(Mobile Edge Computing MEC),将服务器放置在网络边缘,拉近用户与服务器之间的位置。
移动边缘计算(Mobile Edge Computing,MEC)拥有邻近 接入的特点,它允许移动终端将应用卸载到云端,从而提高应用的服务质量(Quality of Service,QoS)。此外,由于 MEC 系统能够在动态网络环境下快速地响应交互式 应用请求,因此它也适用于车联网场景。本论文围绕 MEC 系统中的依赖性任务卸载决策算法展开研究,有效减少卸载时延和能耗。
将服务器放置在网络边缘位置,用户可以通过无线网络等方式,将用户的计算密集型任务卸载到边缘服务器,减小了网络延迟。同时可以延长用户终端的使用时间,提升了用户的程序使用体验。MEC 网络的提出是为了解决下一代移动通信(5G)面临的大量移动设备接入互联网造成的计算资源短缺的问题,使得移动网络传输成本更低、效率更高、应用复杂度不受终端的限制。但是边缘服务器与云计算相比较,计算能力受限,网络存储能力较于云中心减小,因此当边缘服务器服务于用户时,需要考虑任务卸载决策(任务在本地执行或者上传到边缘服务器执行)以及任务之间的调度。
用户可以选择将任务全部卸载到边缘服务器,也可以选择部分任务卸载到边缘服务器。由于边缘服务器与云计算中心服务器比较,计算能力受限,同时内存资源也较小,因此若用户将任务全部上传至边缘服务器将会导致边缘服务器拥塞,同时也会影响用户的使用体验。与全任务卸载相比部分任务卸载可以利用边缘服务器以及用户智能终端并行处理任务,进一步降低了网络的延迟。
通过在边缘设备上执行数据分析,可有效应对数据爆炸,减轻网络的流量压力。边缘计算能够缩短设备的响应时间,减少从设备到云数据中心的数据流量,以便在网络中更有效的分配资源。所以对于现实中依赖性任务的边缘卸载计算的研究是十分有必要的。
目前移动边缘计算中任务卸载问题比较复杂,正是基于这些挑战,本文尝试研究依赖性任务卸载模型。因此我们本文的研究问题更加复杂,并且具有广泛的现实意义。
1.2 国内外研究现状
目前移动边缘计算发展处于初期阶段,主要研究处于网络架构以及任务调度阶段。目前 MEC 服务器的架构以及任务调度策略正在被广泛的研究。第一个提出在网络边缘放置服务器,拉近与用户的距离的系统是 Cloudlet。Cloudlet 的目标是通过在策略计算位置放置合适大小资源的服务器为邻近的用户提供网络计算资源。Cloudlet 通过 WiFi 热点覆盖一个区域,用户通过连接 WiFi 将计算任务上传至服务器进行计算,服务器将计算的结果回传给用户。Dinh 等人调研了移动微云,主要介绍了移动微云中的应用程序。Fesehaye 等人介绍了微云之间的交互,利用微云进行内容缓存以及实现计算卸载。但是用户必须切换移动网络使用 WiFi 热点连接到微云,由于 WiFi 热点有限的覆盖范围,严重影响了用户的接入地点以及限制了用户的移动性。
另一种移动边缘计算方式 ad-hoc cloud,该网络通过组合大量的邻近的终端设备,通过共享这些终端设备的处理器以及内存等资源,从而支持处理计算密集型任务。实现这种系统有以下几个缺点:1)首先需要在网络边缘找到足够的终端设备;2)在没有统一的控制器的情况下进行资源管理,实现多个终端协作,完成计算密集型任务;3)用户需要贡献出自己的电池电量、CPU 处理器资源以及内存等资源,并且当用户贡献资源用于处理任务时,难以保证数据安全。
此外,国内外研究人员将重点放在应用卸载上,以加快应用的执行。 Chun等人提出了 CloneCloud,通过使用一些执行节点对总任务进行二分,得到一系列子任务,以便最高效的进行执行。因此,CloneCloud 可以为每个分区确定最有效的执行点。