APP下载

边缘计算环境下服务质量感知的资源调度机制

2018-11-05邹云峰陈宇邱文玮官国飞

电子技术与软件工程 2018年18期
关键词:数据驱动

邹云峰 陈宇 邱文玮 官国飞

摘要:随着数据分析实时性要求的提高,边缘计算被提出以更好地利用边缘设备的资源,可以大大降低应用的延迟时间。本文讨论了在边缘计算中利用基于延迟感知的虚拟机部署来保证数据驱动应用的服务质量。在给定的场景下,用带权有向无环图来描述应用的业务逻辑和数据需求,结合云环境下的资源分布情况,提出了一种虚拟机部署算法来降低应用延迟。

【关键词】延迟感知 数据驱动 虚拟机部署边缘计算

1 简介

云计算在过去十年中得到了重点研究。其目的在于为人们提供弹性的资源,这些资源集成在多个数据中心中。云提供商以虚拟机的形式为租户提供计算资源,并且每个虚拟机作为一个完整和独立的系统运行。一种高效的虚拟机调度机制不仅能帮助云提供商降低成本,还能为租户提供高质量的服务,数据中心具有强大的计算能力以及科学研究和应用的存储能力。然而,物联网设备,视频监控和传感器等每天产生从几十兆字节到千兆字节的大量数据。此外,应用程序的实时性要求越来越严格,例如导航、社交网站、电子商务和基于互联网的游戏等应用,需要在极短的时间内做出响应,这些应用程序通常处理大量的数据以获得租户所需的信息。例如,波音787每秒将产生大约5千兆字节的数据,但是飞机与地面卫星或基站之间的带宽不足以在短时间内传输大量数据。并行计算越来越多地被用于处理这些应用程序,并且应用的业务流程可以描述为带权有向无环图,如MapReduce。因此,租户需要多个VM来协作处理应用程序请求,并且每个VM完成应用程序的子任务。然而,由于用户向数据中心传输大量的数据,很难满足实时性的要求。

边缘计算的出现在很大程度上缓解了大量数据传输引起的服务延迟问题。为了减少数据传输带来的延迟,充分利用网络边缘设备有限的计算能力,对原始数据进行处理,得到中间结果,减少传输数据量。这种边缘计算方法可以大大减少数据传输的延迟,满足高实时性的要求。但是,与云计算相比,边缘计算在计算能力上仍存在一些不足,虽然边缘计算可以在一定程度上满足租户对延迟敏感的应用程序的需求,但是当处理大型任务时,会出现高延迟。

为弥补云计算高延迟的不足,本文研究了边缘計算环境下的虚拟机部署问题。如图1所示,有多个边缘设备通过有限带宽的广域网连接到数据中心。假设边缘设备计算能力有限,即可以承载有限个虚拟机,而数据中心拥有足够多的资源提供给租户使用。租户的请求是具有某种业务逻辑的一组虚拟机,包括对CPU、内存和磁盘等的需求以及虚拟机之间的通信关系,另外还包括需要处理的输入数据和其他约束条件,如对应时间的要求。虚拟机之间的通信关系由带权有向无环图表示,顶点和边分别表示虚拟机以及虚拟机之间的通信关系,这意味着某一个虚拟机的输出被用作下一个虚拟机的输入,而权重表示中间结果的数据量。输入数据可以是传感器收集的原始数据,也可以是存储在数据中心的历史数据。为了满足应用的实时性要求,本文研究了边缘云环境下的延迟最小化的虚拟机调度问题。通过分析虚拟机之间的通信关系和虚拟机所需输入数据的在网络中的位置,提出了一种虚拟机部署算法。

2 问题建模

假设云计算中心可容纳的虚拟机数量M1,共有N个边缘云,每个边缘云可容纳的虚拟机数量M2,边缘设备与云计算中心之间的网络带宽B,用Fij表示虚拟机i输出的数据量或虚拟机j从虚拟机i中读取的输入数据量;x表示虚拟机被部署的位置,O表示云计算中心,1表示边缘设备;d表示某个请求需要的数据的位置,0表示存放在云计算中心的历史数据,1表示由边缘设备生成的原始数据;rd表示某个请求输入的数据量;则某个请求的数据传输时延可以有如下表示:其中i,j,k表示虚拟机;而某个虚拟机的计算时延不仅与输入数据量有关,而且与所在计算节点的负载有关,某个虚拟机j的输入数据量为inputj=∑iFij,该虚拟机的计算时延可以有如下表示:delayi=(a'input2j+β'inputj+γ)'load,其中α,β,γ为参数,load为该虚拟机所在节点的计算资源负载,则某请求的计算时延可表示为:delayc=∑jdelay;该请求的总时延为delay=delayt+delayc。通过将虚拟机部署到云计算中心或者边缘设备来最小化请求的总时延。

3 解决方案

若请求r需要历史数据作为输入,则将请求r部署到云计算中心;否则,查找r中所有负责处理原始输入数据的虚拟机并标记为集合S,为S查找一个最佳的边缘设备,若找到,则把S部署到该边缘设备;若未找到满足要求的边缘设备,则将请求r部署到云计算中心。对于r中剩余的虚拟机r-S,若找到的边缘设备剩余资源足够多,则把r中剩余未部署的虚拟机部署到该边缘设备;否则,对r中剩余未部署的虚拟机按照输入数据量的大小做降序排列,并把排序后的虚拟机记为S,将S中的虚拟机优先部署到之前找到的边缘设备,并将S中剩余未部署的虚拟机部署到云计算中心。具体算法如算法1。

4 结论

本文研究了在边缘云环境下通过考虑输入数据在网络中的位置来最小化总延迟的虚拟机部署问题。对虚拟机部署问题进行形式化处理,根据输入数据建立时延模型。通过分析输入数据的位置,提出了一种数据驱动的虚拟机部署算法。基本思想是考虑负责处理请求输入数据的虚拟机,将请求放置在尽可能靠近输入数据的位置。

参考文献

[1]陈全,邓倩妮,云计算及其关键技术[J].计算机应用,2009 (29).

[2]王保云,物联网技术研究综述[J].电子测量与仪器学报,2009 (23).

[3]W. Shi,J.Cao,Q.Zhang,Y.Li, andL. Xu, “Edge computing: Vision andchallenges,”IEEE Internet of ThingsJournal, vol.3, no.5, pp. 637-646,2 016.

猜你喜欢

数据驱动
基于网络与数据智能化的数码印花产品设计定制模式研究
数据驱动理念在大学英语课程中的应用
数据驱动导向高校多维度教育信息系统开发研究
大数据的局限性