一种针对有状态数据流应用的计算卸载方法技术

技术编号:22367218 阅读:72 留言:0更新日期:2019-10-23 05:42
本发明专利技术公开了一种针对有状态数据流应用的计算卸载方法,包括以下步骤:选择研究场景;获取研究对象;根据时间动态变化设置网络环境;制定优化目标,最小化总完成时间和减少状态量的传输;根据约束条件,构建有状态的数据流应用程序模型,所述约束条件为:模块间依赖关系约束、状态量迁移约束、网络带宽约束;通过有状态的数据流应用程序模型,对问题进行判断,如果是离线问题,则执行离线问题方法;如果是在线问题,则执行在线问题方法;对问题进行求解,实现对有状态数据流应用程序的计算卸载。

【技术实现步骤摘要】
一种针对有状态数据流应用的计算卸载方法
本专利技术涉及计算切分的研究领域,特别涉及一种针对有状态数据流应用的计算卸载方法。
技术介绍
随着物联网、虚拟现实、增强现实等技术的发展与应用,未来将会出现数据大爆炸的状况。完全依赖云计算来进行数据传输和处理,将会造成巨大的网络延迟。而且从智能设备上产生的数据流(datastream)也在持续的增长,流式数据处理要求快速实时的特点,像Hadoop、Storm的流式处理框架可以很好的处理传统的流式应用。但是在边缘云环境下对诸如物体追踪(objecttracking)的有状态的流式应用的计算切分问题的研究仍待有效解决。计算切分是一项重要的技术,其通过将部分计算任务从移动设备卸载到边缘云服务器执行来提升应用程序的性能。在动态变化的网络环境中,移动设备到边缘云之间的网络带宽会频繁地发生变化,所以应用程序的计算切分决策也应该相应的更新。对于有状态的数据流应用程序来说,频繁的计算切分会带来移动设备和边缘云之间状态量的大量迁移,然而现有的工作并没有将状态量的迁移开销考虑进来,这也导致了严重的网络拥塞以及极大地增加了总的完成时间。网络延迟对于终端用户的切身体验有着极大的影响,并且在商业上带来的影响更加能引起人们的关注。例如,对于电商巨头亚马逊,一旦网络有了100ms的延迟,就意味着他们会少卖掉1%的货物,而谷歌搜索页面0.5s的延迟,就可能导致网络流量20%的降幅,更有甚者,如果电子交易平台慢上5ms,那么一位证券经纪人可能每毫秒就少赚400万美元。无论多么小的网络延迟,对于海量用户和延迟敏感的业务的而言,都将带来极大的损失。由于边缘计算能够将传统的云计算技术从传统的互联网数据中心迁移到离终端用户更近的边缘,这样借助于边缘计算就可以实现低时延的接入和实时的数据处理。然而当应用程序是有状态的数据流应用程序时,现有的工作在对其计算切分时并没有将状态量的迁移开销考虑在内,而在网络带宽动态变化的环境中,频繁的对有状态量的模块在移动设备和边缘之间迁移,会由于状态量的大量迁移造成网络拥塞,并进一步地增大总的完成时间(make-span)。而这对于延迟敏感的应用程序来说,将会极大地影响用户的切身体验。在边缘云环境下的有状态的数据流应用程序的计算切分问题,考虑到边缘云具有的计算资源是有限的,而且用户和边缘云之间的网络带宽资源是有限且动态变化的,当数据流在应用程序中传输执行时需要满足以下三个约束条件,分别是:1)模块之间的执行约束条件,2)状态量迁移的约束条件,3)网络带宽的约束条件。由以上分析可知,如何得到一单元(oneunit)数据在应用程序中执行的make-span,即总完成时间,是一个受到多个条件约束的问题。当网络环境发生变化之后,该优先调整哪些模块的执行位置来达到总完成时间的最小化,这也是一个本专利需要解决的关键问题。除此之外,因为在网络中迁移过多的状态量将会使得发生网络拥塞的可能性增大,并进一步地增大总的完成时间,所以在更新计算切分方案时如何减少状态量的传输也是需要解决的问题。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺点与不足,提供一种针对有状态数据流应用的计算卸载方法,通过将一类有状态的数据流应用程序建立恰当的模型,并提出行之有效的离线和在线算法,可以达到最小化make-span的同时减少状态量的迁移。本专利技术的目的通过以下的技术方案实现:一种针对有状态数据流应用的计算卸载方法,包括以下步骤:S1、选择研究场景,即对边缘计算环境下的数据流式任务的调度优化,在本地的移动设备和边缘服务器间协同优化,完成数据流任务计算;S2、获取研究对象,即有状态量的DAG型数据流应用程序抽象为带权的有向无环图G=<V,E>,其中,V={i|1,2,...,n}为功能模块的集合,Vstate表示带状态量的模块集合,E={(i,j)|i,j∈V}表示模块之间数据流的集合;为了最小化总完成时间,该研究对象的各任务模块需要做出在移动端或在边缘云上执行的决策;S3、根据时间动态变化设置网络环境,Nη表示时刻η时的网络信道数目,B表示每条网络信道的带宽;S4、制定优化目标,最小化总完成时间σn+1-σ0和减少状态量的传输其中δn+1为应用程序的结束模块即模块n+1的开始执行时间,δ0为应用程序的开始模块即模块0的开始执行时间,两者之差即为应用程序的总完成时间;为时刻η时各个模块(模块0到模块n+1)的执行位置(边缘服务器为1,移动端为0),即y(i,j)(t)为交叉边(i,j)(前驱模块i和后继模块j在不同的位置执行)在时刻t传输时分配的网络带宽;yfi(t)状态量fi在时刻t传输时分配的网络带宽。S5、根据约束条件,构建有状态的数据流应用程序模型,所述约束条件为:模块间依赖关系约束、状态量迁移约束、网络带宽约束;S6、通过有状态量的数据流应用程序模型,对优化目标判断问题类型,如果是离线问题,则执行离线问题方法;如果是在线问题,则执行在线问题方法;从而对问题进行求解,实现对有状态数据流应用程序的计算卸载。进一步地,步骤S1中,所述研究场景包括移动设备,需要卸载执行的有状态量的DAG型数据流应用程序,无线接入点AP和边缘云;所述有状态量的DAG型数据流应用程序的开始模块和结束模块都在移动设备上执行,即有状态的DAG型数据流应用程序由移动设备发起,最后的计算结果返回到移动设备。进一步地,步骤S3中,所述网络信道的带宽为2MBps;所述每个时刻的网络信道数目服从[1,5]均匀分布。进一步地,步骤S5中,所述模块间依赖约束为模块的执行顺序约束,即只有前驱模块执行结束之后,后继模块才能开始执行;所述状态量迁移约束为状态量迁移时间与该模块的开始执行时间之间的约束,即该模块的开始执行时间必须迟于其状态量的迁移结束时间;所述网络带宽约束为在应用程序的执行过程中,分配给数据流传输的网络带宽资源约束,即在任意时间点,分配给数据流传输和状态量迁移的总带宽不能超过该时刻可用的总带宽资源。进一步地,所述步骤S6具体为:通过有状态的数据流应用程序模型,对问题进行判断,如果是离线问题,则执行离线问题方法;如果是在线问题,则执行在线问题方法;即根据该应用程序的优化目标来判断需要解决的问题类型,如果是已知下一时刻的网络情况,且需要优化下一时刻的模块调度决策,则其为one-shot离线问题;如果是已知未来多个时刻的网络情况,且需要优化未来多个时刻的模块调度决策,则其为Δt-steplookahead多步优化的在线问题;对问题进行求解,实现对有状态数据流应用程序的计算卸载。进一步地,所述执行离线问题方法,具体为:已知上一时刻η-1的计算切分方案以及各模块的执行表执行表表示在时刻η-1各模块执行位置,即执行表记录了各模块的拓扑顺序以及执行位置;在当前时刻η,网络带宽Nη发生变化,即应用程序在执行过程中需要在网络环境中传输交叉边的数据流,应用程序的性能对网络波动敏感;根据约束条件,提出调度方法,所述调度方法包含序列式调整算法、SM-H调整算法、遗传算法和列调度方法;更新并作出时刻η的次优切分方案,即最小化时刻η的总完成时间和减少状态量迁移之间达到权衡;所述达到权衡,因为改变带状态量模块的执行位置会带来状态量的迁移开销,而最小化总本文档来自技高网
...

【技术保护点】
1.一种针对有状态数据流应用的计算卸载方法,其特征在于,包括以下步骤:S1、选择研究场景,即对边缘计算环境下的数据流式任务的调度优化,在本地的移动设备和边缘服务器间协同优化,完成数据流任务计算;S2、获取研究对象,即有状态量的DAG型数据流应用程序抽象为带权的有向无环图G=<V,E>,其中,V={i|1,2,...,n}为功能模块的集合,Vstate表示带状态量的模块集合,E={(i,j)|i,j∈V}表示模块之间数据流的集合;为了最小化总完成时间,该研究对象的各任务模块需要做出在移动端或在边缘云上执行的决策;S3、根据时间动态变化设置网络环境,N

【技术特征摘要】
1.一种针对有状态数据流应用的计算卸载方法,其特征在于,包括以下步骤:S1、选择研究场景,即对边缘计算环境下的数据流式任务的调度优化,在本地的移动设备和边缘服务器间协同优化,完成数据流任务计算;S2、获取研究对象,即有状态量的DAG型数据流应用程序抽象为带权的有向无环图G=<V,E>,其中,V={i|1,2,...,n}为功能模块的集合,Vstate表示带状态量的模块集合,E={(i,j)|i,j∈V}表示模块之间数据流的集合;为了最小化总完成时间,该研究对象的各任务模块需要做出在移动端或在边缘云上执行的决策;S3、根据时间动态变化设置网络环境,Nη表示时刻η时的网络信道数目,B表示每条网络信道的带宽;S4、制定优化目标,最小化总完成时间σn+1-σ0和减少状态量的传输其中,δn+1为应用程序结束模块即模块n+1的开始执行时间,δ0为应用程序开始模块即模块0的开始执行时间,两者之差为应用程序的总完成时间;为时刻η各模块的执行位置,即y(i,j)(t)为交叉边(i,j)在时刻t传输时分配的网络带宽;为状态量fi在时刻t传输时分配的网络带宽;S5、根据约束条件,构建有状态的数据流应用程序模型,所述约束条件为:模块间依赖关系约束、状态量迁移约束、网络带宽约束;S6、通过有状态量的数据流应用程序模型,对优化目标判断问题类型,如果是离线问题,则执行离线问题方法;如果是在线问题,则执行在线问题方法;从而对问题进行求解,实现对有状态数据流应用程序的计算卸载。2.根据权利要求1所述的一种针对有状态数据流应用的计算卸载方法,其特征在于,步骤S1中,所述研究场景包括移动设备,需要卸载执行的有状态量的DAG型数据流应用程序,无线接入点AP和边缘云;所述有状态量的DAG型数据流应用程序的开始模块和结束模块都在移动设备上执行,即有状态的DAG型数据流应用程序由移动设备发起,最后的计算结果返回到移动设备。3.根据权利要求1所述的一种针对有状态数据流应用的计算卸载方法,其特征在于,步骤S3中,所述网络信道的带宽为2MBps;所述每个时刻的网络信道数目服从[1,5]均匀分布。4.根据权利要求1所述的一种针对有状态数据流应用的计算卸载方法,其特征在于,步骤S5中,所述模块间依赖约束为模块的执行顺序约束,即只有前驱模块执行结束之后,后继模块才能开始执行;所述状态量迁移约束为状态量迁移时间与该模块的开始执行时间之间的约束,即该模块的开始执行时间必须迟于其状态量的迁移结束时间;所述网络带宽约束为在应用程序的执行过程中,分配给数据流传输的网络带宽资源约束,即在任意时间点,分配给数据流传输和状态量迁移的总带宽不能超过该时刻可用的总带宽资源。5.根据权利要求1所述的一种针对有状态数据流应用的计算卸载方法,其特征在于,所述步骤S6具体为:通过有状态的数据流应用程序模型,对问题进行判断,如果是离线问题,则执行离线问题方法;如果是在线问题,则执行在线问题方法;即根据该应用程序的优化目标来判断需要解决的问题类型,如果是已知下一时刻的网络情况,且需要优化下一时刻的模块调度决策,则其为one-shot离线问题;如果是已知未来多个时刻的网络情况,且需要优化未来多个时刻的模块调度决策,则其为Δt-steplookahead多步优化的在线问题;对问题进行求解,实现对有状态数据流应用程序的计算卸载。6.根据权利要求1所述的一种针对有状态数据流应用的计算卸载方法,其特征在于,所述执行离线问题方法,具体为:已知上一时刻η-1的计算切分方案以及各模块的执行表执行表表示在时刻η-1各模块执行位置,即执行表记录了各模块的拓扑顺序以及执行位置;在当前时刻η,网络带宽Nη发生变化,即应用程序在执行过程中需要在网络环境中传输交叉边的数据流,应用程序的性能对网络波动敏感;根据约束条件,提出调度方法,所述调度方法包含序列式调整算法、SM-H调整算法、遗传算法和列调度方法;更新并作出时刻η的次...

【专利技术属性】
技术研发人员:丁绍帅杨磊
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1