一种风险感知的移动边缘计算任务调度与资源分配方法

文档序号:34584609发布日期:2023-06-28 15:08阅读:15来源:国知局
一种风险感知的移动边缘计算任务调度与资源分配方法

本发明涉及移动边缘计算,特别是指一种风险感知的移动边缘计算任务调度与资源分配方法。


背景技术:

1、近年来,随着物联网技术、物联网通讯技术及物联网应用的迅速发展,用户可以在物联网终端上体验各种应用程序,如虚拟现实、增强现实和人工智能等。这虽然给用户带来了很好的体验,但同时也对物联网终端设备的处理性能、存储能力、以及时效性等带来了新挑战。移动边缘计算(mobile edge computing,mec)将传统的云计算从数据中心转向网络的边缘,被提出来用以解决物联网用户对于服务请求的高效率、高可靠性以及低时延的需求。位于移动端的物联网应用程序可以被分成多个具有依赖关系的任务,mec可以基于虚拟机技术向物联网用户提供基于各种资源密集型和时间关键型应用程序的接近性的服务。可靠性和服务响应时间是衡量服务质量(qos)非常重要的因素,由于许多虚拟机在边缘网络中运行,很难确保所有虚拟机都能够正常执行。

2、在mec中虚拟机故障是无法避免的,这也导致许多边缘网络的可靠性不高。在mec中有许多不可预测的故障,例如边缘云故障、交换机故障以及边缘服务器故障,这些故障之间也有某种联系,例如当某个边缘云发生故障时,在该边缘云内的所有交换机及边缘服务器都不可用,当某个交换机发生故障时,与该交换机相连接的所有边缘服务器都不可用,运行在该边缘服务器上的所有虚拟机也都不可用。因此,提高边缘云服务的可靠性是非常必要的。复制或冗余是一种常用的容错机制。利用虚拟机复制或冗余技术可以有效地提高系统的可靠性。其中,主虚拟机用来处理应用程序的任务,备份虚拟机则只需要每隔一段时间与主虚拟机的信息保持同步。当主虚拟机运行出现故障时,其备份虚拟机会接管该主虚拟机继续正常工作。但是在主虚拟机正常工作时,备份虚拟机处于空闲状态,这就导致了资源的浪费。

3、对备份虚拟机进行合理地超额预订能够有效地解决资源浪费问题。假设每个服务器被虚拟化为若干个插槽,每个主虚拟机需要单独占用一个插槽,而备份虚拟机可以一个或者多个的共用一个插槽,这能够很大程度地提高系统的资源利用率。应用程序是由多个具有协作关系的任务组成的,任务如果在虚拟机上部署的不合理,可能会导致边缘服务器之间的资源分配不均衡,降低资源利用率,严重时可能还会出现网络拥塞,这无法满足一些应用程序对于低时延的需求。

4、在保证系统可靠性的前提下,合理对任务进行部署,以增大系统的资源利用率的同时减小应用程序的平均服务响应时间,这些是mec面临的重要挑战,吸引了许多学者对其进行研究。zhao et al.提出了harmonic和first-fit算法,这两种算法可以解决虚拟机的部署问题,另外还提出了least-reliable-first和decreased density-greedy算法。这四种算法都能够提高资源利用率。liu.et al提出了可靠性增强和差分任务的任务卸载方法来在带宽消耗和可靠性方面进行权衡优化。最终仿真结果表明,该方法能够有效提高系统的可靠性和资源利用率。li.et al提出了一种基于粒子群优化的能量感知边缘服务器放置算法来对资源利用率进行优化。并且他们利用基于上海电信公司的数据集进行实验,结果表明,该算法与其它有代表性的算法相比能够降低10%左右的能耗且资源利用率能够提高15%左右。这些方法只考虑了对资源利用率的优化,而没有考虑到对时延的优化,另外,这些方法没有考虑到对备份虚拟机的超额预订。

5、kavitha et al.提出了在mec中基于物联网协作的对时延具有感知能力的并发数据管理方法。该方法在差分进化的基础上对其进行优化,有利于对并发请求进行判断并且对其处理,还能够对数据进行精准的分配。并且最终通过仿真实验证实了它能够优化服务响应时间和资源利用率。li.et al提出了一种分布式博弈论任务卸载分配算法,他们将任务的分配问题当作是一种博弈,以实现在应用程序期限内最大化资源利用率,最终进行实验表明,该算法在多数任务卸载延迟范围内可以明显地提高系统资源利用率。为了同时最大限度地提高物联网应用的可靠性和带宽消耗,rodrigues et al.提出了一种利用虚拟机迁移和传输功率控制的算法,结合一种启发式算法来减少延迟,并且能够提高cloudlets的可扩展性及资源利用率。这些方法虽然考虑到了对时延和资源利用率的联合优化问题,但是没有考虑利用一个中间件来对应用程序进行处理,以实现优化目标。ren et al.开发了一种最优的联合通信和计算资源分配算法以提高系统资源利用率并且减少延迟。zhang etal提出了一个可用的感知虚拟数据中心嵌入框架,这相当于一个中间件,该中间件会对物理硬件组件及指定的资源需求进行计算,以提高可用性同时获得更高的收入。这篇文章虽然考虑到了利用虚拟数据中心这个中间件来增加资源的可用性,但是它没有将资源利用率和应用程序的平均服务响应时间的联合优化问题考虑在内。

6、在对近几年文献的研究整合中,发现这些文献没有将超额预订的概念应用到虚拟机的部署中,另外这些文献没有考虑到利用一个中间件对任务进行部署,进而实现资源利用率和应用程序的平均服务响应时间的联合优化。


技术实现思路

1、针对上述背景技术中存在的不足,本发明提出了一种风险感知的移动边缘计算任务调度与资源分配方法,首先利用随机首次适配算法(random first fit,rff)将虚拟机部署到插槽中,部署的过程中可以对部分备份虚拟机进行超额预订;然后提出了用任务调度器(task scheduler,ts)来对应用程序进行调度,进而利用任务部署算法(taskdeployment algorithm,tda)方法来确定一个最优的部署方案,以实现资源利用率的最大化的同时,应用程序的平均服务响应时间最小化。

2、本发明的技术方案是这样实现的:

3、一种风险感知的移动边缘计算任务调度与资源分配方法,其步骤如下:

4、步骤一:搭建基于任务调度器(task scheduler,ts)的移动边缘计算(mobileedge computing,mec)系统,该mec系统包括多个边缘云,mec网络通过全网状拓扑的光纤网络相互连接;每个边缘云都包括服务器和交换机;每个服务器虚拟化为多个插槽,每个插槽能够部署一个主虚拟机或者多个备份虚拟机;

5、步骤二:利用随机首次适配算法(random first fit,rff)按照虚拟机部署规则将虚拟机随机部署到插槽中,部署的过程中对部分备份虚拟机进行超额预订;并将应用程序交由ts进行调度;应用程序的完成期限不同其优先级也不相同,期限小的优先级比较高,ts根据应用程序的优先级顺序将其卸载到不同的虚拟机中进行处理;

6、步骤三:在ts对应用程序进行调度的过程中,构建风险模型、服务响应时间模型和资源利用率模型;并根据三个模型获得联合优化目标函数;

7、步骤四:利用任务部署算法对联合优化目标函数进行优化,获得最优的任务部署策略。

8、所述虚拟机部署规则为:当某个主虚拟机部署在高故障率插槽时易发生故障,因此它的备份虚拟机只能部署在低故障率插槽内,并且该备份虚拟机需要单独占用1个插槽;当某个主虚拟机部署在低故障率插槽时,它的备份虚拟机可以部署在高故障率插槽或者低故障率插槽内,且e台备份虚拟机可以共用1个插槽,e被称为超额预订率。

9、所述利用rff按照虚拟机部署规则将虚拟机随机部署到插槽中的方法为:首先随机选择一个插槽来确定虚拟机是否可以放进去,如果可以,把虚拟机放入该插槽中,否则,虚拟机继续随机选择其它插槽,直到虚拟机被成功地放入插槽中;然后依次执行相同的操作,直到将所有虚拟机都放入插槽中为止。

10、所述风险模型为:

11、

12、其中,n为任务数量,n个任务需要n台主虚拟机和n台备份虚拟机,n个主虚拟机需要占用n个插槽;n'为备份虚拟机占用的插槽数量;p表示系统整体部署方案风险值,pk表示处理n个任务的主虚拟机所在插槽发生故障的概率,pk'表示处理n个任务的备份虚拟机所在插槽发生故障的概率。

13、所述服务响应时间模型为:

14、

15、其中,i表示虚拟机编号i∈r;tmi表示完成应用程序所用的服务响应时间,tm为物联网设备将应用程序卸载到边缘服务器上的传输延迟,tmqj为第j个虚拟机上的应用程序m的第q个任务的总处理时间;a表示应用程序m的所有路径的集合,v表示集合a中的一个非空子集路径,βmqz为二进制变量,用来判断应用程序m的两个任务q和z是否位于同一个边缘服务器中,若在同一服务器中,βmqz=0,否则,βmqz=1;ρmqz表示任务q是否发送数据给任务z,若发送了数据,ρmqz=1,否则ρmqz=0;datamq表示任务q发送的数据量大小;bwi表示处理任务q的第i个虚拟机的带宽;tmqj=tmqj+dmqj;dm表示将要传输的物联网应用程序的数据量大小,表示应用程序m与边缘云ec之间的数据传输速率,表示传输功率,表示边缘云ec与应用程序m之间的信道增益,bw表示物联网应用程序m与边缘云ec之间的链路的带宽,n表示物联网应用程序m与边缘云ec之间的链路的噪声功率,tmqj为虚拟机j对应用程序m的任务q进行处理所需要的时间,tmqj=lmq/cj,lmq表示任务q的指令长度,cj表示虚拟机j的处理能力,dmqj为任务处理延迟。

16、所述资源利用率模型为:

17、

18、其中,u为系统资源利用率,s表示处理任务的虚拟机所占用的插槽总数。

19、所述联合优化目标函数为:

20、

21、

22、

23、

24、

25、pf≤pfmax;

26、p≤pmax;

27、其中,θ是一个可调权重因子,y表示应用程序的数量,o表示应用程序m的所有任务集,i表示物联网应用程序集,pf表示虚拟机发生故障的概率,vi表示第i个虚拟机的大小,xir'表示用来盛放第i个虚拟机的第r'个插槽,vmq表示应用程序m的第q个任务的大小,ximq表示用来部署应用程序m的第q个任务的第i个虚拟机的大小,li为第i个虚拟机的最大容量,pfmax为最大故障率,pmax为最大风险值。

28、所述利用任务部署算法对联合优化目标函数进行优化的方法为:

29、s4.1、初始化任务部署算法的所有参数,包括服务器列表、应用程序列表、虚拟机列表;

30、s4.2、根据应用程序期限优先级对所有的应用程序进行升序排序;

31、s4.3、遍历排序后的应用程序,依次对每个应用程序进行如下操作:

32、s4.3.1、计算应用程序的顶层任务的q值,并根据q值对应用程序的顶层任务进行降序排序;

33、将排序后的顶层任务根据顶层任务的b值,依次在剩余空闲的虚拟机资源中,寻找满足b值最小的虚拟机进行部署;

34、s4.3.2、计算应用程序的中间层任务所在路径消耗的时间tr,并根据时间tr对应用程序的中间层任务进行降序排序;

35、将排序后的中间层任务根据中间层任务的b值,依次在剩余空闲的虚拟机资源中,寻找满足b值最小的虚拟机进行部署;

36、s4.3.3、对于应用程序的底层任务,选择计算能力最大的虚拟机进行卸载;

37、s4.4、当所有的应用程序的所有任务都已经完成部署时,得到一套任务部署方案;

38、s4.5、根据服务响应时间模型计算出所有应用程序的平均完成时间;

39、s4.6、根据资源利用率模型计算出系统的资源利用率。

40、所述q值的计算公式为:

41、q=(1-α)datamq+αlmq;

42、其中,α是一个权衡因子,lmq表示任务q的指令长度,datamq表示任务q发送的数据量大小;

43、所述b值的计算公式为:

44、

45、其中,ρ为可调的权衡因子,cj表示虚拟机j的处理能力,bwi表示处理任务q的第i个虚拟机的带宽,h=0.1表示处理任务的备份虚拟机单独占用一个插槽的变量,否则,h=0;

46、所述时间tr的计算公式为:

47、

48、其中,v表示集合a中的一个非空子集路径。

49、本发明引入了ts,首先利用一种随机算法将虚拟机按照部署规则随机地放置在插槽中,之后将应用程序交由ts进行处理,ts先根据应用程序的优先级对应用程序进行排序,其次考虑到不同的任务部署方案对系统的资源利用率、部署方案风险以及应用程序的平均服务响应时间也不相同,最后利用tda方法得到一个最优的任务部署策略,以实现在系统部署方案风险范围内,应用程序的平均服务响应时间最小且系统的资源利用率最大。与现有技术相比,本发明产生的有益效果为:

50、1)提出了对备份虚拟机进行超额预订来解决资源浪费问题,即当主虚拟机正常工作时,处于空闲状态的备份虚拟机可以多台共用一个插槽,以提高资源利用率;

51、2)提出了三种模型,一种是风险模型,它用来评估虚拟机不同的部署方案所对应的整体的部署方案风险;另外一种是衡量应用程序的平均完成时间的服务响应时间模型,最后一种是衡量系统整体资源分配情况的资源利用率模型;

52、3)基于上述三个模型提出优化目标,即最小化应用程序的平均服务响应时间和最大化资源利用率,并将其转化为单目标优化问题;提出了ts,首先利用随机算法将虚拟机部署在边缘服务器的插槽中,然后将应用程序交给ts进行处理,ts会根据tda权衡出一个最好的方案使得系统资源利用率最大的同时应用程序的平均服务响应时间最小;

53、4)搭建了一个mec环境,并在该环境下进行了仿真实验,并对实验结果做出了分析与评估;通过结果表明,本发明方法性能更优。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1