一种边缘计算中基于任务缓存的计算卸载方法

文档序号:25212442发布日期:2021-05-28 14:08阅读:64来源:国知局
一种边缘计算中基于任务缓存的计算卸载方法

本发明涉及移动边缘计算系统的应用领域,具体是一种边缘计算中基于任务缓存的计算卸载方法。



背景技术:

随着无线通信技术、物联网技术和5g技术的迅猛发展,移动设备快速普及,数据流量急剧增长。一些新兴应用比如在线游戏、人工智能和虚拟现实等对时延要求比较高,且需要大量的计算资源。然而,移动终端计算能力和电池容量有限,运行这些应用会带来较高的计算延迟并增加移动终端的能量消耗。而基于云计算中心的服务模式因为较长的传输距离所导致的传输时延常常难以满足实时应用的需要。由此边缘计算(mobileedgecomputing,简称mec)范式应运而生,通过将服务下沉到网络边缘,从而减少网络传输时延,满足低时延业务的需求。

边缘计算不但解决了移动设备计算、存储等资源不足的问题,而且改善了传统云计算中心模式存在的传输时延过高,服务器负载过大等问题。但是随着网络用户的不断增加,人们在从众心理的驱驶下,会有相同的访问请求,造成骨干网中大量内容在一个服务周期内重复传输的现象。如果将这些热点内容缓存在网络边缘,可以减轻骨干网的压力并减少传输延时,提高用户体验。tan[z.tan,f.r.yu,x.li,h.ji,andv.c.leung,"virtualresourceallocationforheterogeneousservicesinfullduplex-enabledscnswithmobileedgecomputingandcaching,"ieeetransactionsonvehiculartechnology,vol.67,no.2,pp.1794-1808,2017.]等提出了一种在全双工小蜂窝网络(scns)中的mec卸载和缓存框架,通过结合计算卸载和内容缓存来提高系统收益。gu[w.-c.chien,h.-y.weng,andc.-f.lai,"q-learningbasedcollaborativecacheallocationinmobileedgecomputing,"futuregenerationcomputersystems,vol.102,pp.603-610,2020.]等为了提高内容缓存命中率,提出了基于sdn的mec架构,首先建模出缓存模型,在mec存储资源的限制下最大化缓存命中率,使用q学习求解缓存策略。然而上述文献内容缓存和任务卸载是互相独立的。目前很少有针对主动缓存任务结果进行研究,如果将一些流行度高的任务主动缓存在边缘服务器,当该任务再次被用户请求时,可以直接将计算结果从mec传输给用户,极大的减少任务的计算时延,并减少用户能量消耗。现实场景中,有很多计算结果可以重用的场景,比如某些游戏渲染场景可以被玩家重用;ar场景中,有些ar服务经常会被重复请求;视频任务中,一些热点视频会被重复解码,若将热点计算任务结果缓存可以减轻边缘服务器的计算负担。zhao等[h.zhao,y.wang,andr.sun,"taskproactivecachingbasedcomputationoffloadingandresourceallocationinmobile-edgecomputingsystems,"in201814thinternationalwirelesscommunications&mobilecomputingconference(iwcmc),2018,pp.232-237:ieee.]在单小区场景内,为了降低任务的完成时延,联合优化了基于任务缓存的计算卸载和资源分配策略。文中首先建模出卸载、资源分配和任务缓存模型,以最小化所有任务的完成时延为优化目标,建模出的时延优化问题属于np难问题,无法在多项式时间内完成,文中将其拆解为两部分求解,首先,基于任务流行度设计一种任务主动缓存算法,该算法同时联合mec服务器和云服务器进行任务缓存,构成两级的缓存结构;然后设计基于改进的贪心算法求解卸载策略。

现有对任务缓存的研究大多从任务流行度的角度来设计缓存策略,然而对于一些计算密集型应用比如虚拟现实,ar服务,大型游戏等,除了流行度以外,计算任务所需的计算量和数据大小也将影响任务的缓存价值。比如有些任务虽然是最流行的,但是完成该任务的计算量较小,相反缓存次流行但计算量较大的计算任务可能有更高的收益。如何合理的分配每个因素的权重也是一个值得研究的问题,如果权重分配不合理会影响任务的缓存价值。



技术实现要素:

本发明的目的是针对现有技术中存在的不足,提供了一种边缘计算中基于任务缓存的计算卸载方法。这种方法,能够有效降低算法运行时间,提高服务器响应速度,并且任务缓存机制可以降低重复运算的系统能耗,降低了服务器的计算成本,降低所有任务的完成时延和能耗加权和。

实现本发明目的的技术方案是:

一种边缘计算中基于任务缓存的计算卸载方法,在单小区场景情况下,包括如下步骤:1)构建系统模型:在基站处配置mec服务器,mec服务器通过光纤与远程中心云相连,假设多个移动设备在小区中随机分布,每个用户在一个服务周期或时隙中只有一个任务产生,移动用户的编号表示为m∈{1,2,...,m},移动设备产生的任务ti(i∈{1,2,...,n})表示为一个四元组,即其中表示任务的输入数据量,单位为kbit;ci为完成任务所需要的cpu周期数,单位为cycle;表示任务的输出数据量,即任务计算结果输出大小,单位为kbit;τi表示完成任务的最大容忍时延,单位为ms,完成系统模型构建,本技术方案的研究工作主要集中在移动终端和边缘服务器端:移动终端产生并运行应用程序,若本地无法满足应用程序的计算需求,可以通过移动网络向边缘服务器提出卸载请求,边缘服务器端接收来自移动终端的卸载请求,并分配合适的计算资源确保任务能够在容忍时延内完成,并根据任务的缓存价值决定任务是否缓存;

2)构建系统通信模型:mec服务器可以为小区内的移动设备提供计算服务,每个用户在每个时隙只产生一个计算密集型任务,用户可以选择是否将任务卸载至mec执行,令a={a1,a2,...,an}表示所有md的决策动作集合,其中ai=0表示mi的任务在本地设备执行,ai=1表示任务卸载至mec执行,假设小区内不存在小区内的干扰,根据香农公式,mi将任务传输至mec服务器的传输速率为:

其中gi表示移动设备mi和mec服务之间的信道增益,pi表示mi的发射功率,n为高斯噪声功率,单位为dbm,完成系统通信模型构建;

3)构建系统计算模型:在处理任务过程中,用户向边缘服务器发出卸载请求,只有在满足应用程序容忍时延并且能够降低系统开销的情况下,计算任务才会卸载;

3.1)构建本地计算模型:当任务ti选择在本地执行时,移动设备mi的cpu频率为fil,单位为ghz,则任务ti在本地执行的计算时延为til

能量消耗由下式计算:

其中,κ表示cpu能耗系数,取决于芯片工艺,为固定常量,κ设置为κ=10-26

当计算任务ti在本地执行时,系统的总开销包括本地计算时延和终端能量的消耗,此时,单个设备的开销为:

式中,α和β分别为时延和能耗的权重系数,且满足如下条件:

α+β=1,0≤α≤1,0≤β≤1;

3.2)构建mec计算模型:当计算任务ti选择卸载至mec执行时,时延包括从移动设备mi至mec的传输时延和在mec的执行时延,将mec分配给用户的计算能力表示为fic,卸载至mec计算产生的时延包括传输titran和执行时延tiexec卸载,因此,任务卸载至mec总时延表示为tic

此时,移动设备卸载至mec产生的能耗为任务通过无线链路卸载所产生,传输能耗表示为

mec的能量消耗和用户无关,固不考虑作为系统开销,因此,任务卸载至mec服务器的总开销为:

完成系统计算模型构建;

4)构建资源分配模型:在任务的容忍时延约束下,边缘服务器根据任务属性分配合适的计算资源,f=[f1,f2,...,fn]表示为计算资源的分配向量,其中fi表示为mi分配的计算资源,完成资源分配模型构建;

5)构建任务价值模型及缓存模型:将mec对用户请求任务内容的缓存向量表述为h={h1,h2,...,hn},其中hi是一个二进制变量,表示mec是否缓存了用户mi任务及相关数据内容,hi=0表示mec没有缓存该内容,hi=1表示mec已经缓存该内容,如果mec已经缓存该内容,则该请求该任务时无需进行任务卸载,mec将任务完成后,直接将结果返回移动设备,在成本以及存储空间的限制下,将缓存价值更高的任务存储至mec,将缓存价值低的任务替换,根据流行性文件的齐夫分布(zipfdistribution),计算任务的流行度计算公式如下:

式中,θi表示第i个任务的流行度,z表示齐夫常量,其中mec服务缓存的任务集合表示为hc={1,2,...,c},c为最大存储数量,初始化为空,由于mec服务器存储容量有限,因此,mec服务器只对缓存价值较高的任务进行缓存,最终输出任务缓存策略集合h*,缓存价值定义如下:

其中w1、w2和w3分别为任务流行度、任务输入数据大小和任务所需计算量大小的权重系数,且满足如下条件:

w1+w2+w3=1,0≤w1≤1,0≤w2≤1,0≤w3≤1,

完成系统任务价值模型及缓存模型构建;

6)构建系统开销模型:任务完成时延和移动终端能耗都是计算卸载策略好坏的关键指标,在mec计算能力、存储资源和任务容忍时延的约束下,最小化系统开销,将开销最小化问题建模如下:

本技术方案优化目标以系统效益为目标,获得最优的卸载决策a*,计算资源分配f*和最佳的缓存策略h*,使得系统开销最小,因此,将优化问题表示为:

a={a1,a2,...,an}

f={f1,f2,...,fn}

h={h1,h2,...,hn},

约束条件:

c5:τi≤τ,

其中,a为卸载策略集合,f为计算资源分配策略集合,h为任务缓存策略集合,约束条件c1表示计算任务只能选择在本地或者mec服务器执行,c2和c3表示mec服务器分配的计算资源总和不能超过mec服务器的计算能力,c4表示缓存总容量不能超过mec服务器总存储空间,c5表示时延控制,即任务的完成时间不能超过任务的所能容忍的最大时延,完成系统开销模型构建;

7)问题求解:采用q-learning算法和层次分析法进行求解:

本技术方案研究的基于任务缓存的计算迁移是典型的多目标组合优化问题,属于np难问题,目前有多种启发式算法可以求解该类问题:比如博弈论算法(gametheory)、遗传算法(ga)和蚁群算法(pso)等,这些启发式算法虽然在各自的目标上都有良好的性能,比如降低了用户的时延成本或能耗成本,但这些算法中任务是在一个服务周期内随机到来,这些算法按周期来响应任务并做出决策,在而在真实场景中任务是随机到来的且需要实时响应的,另外传统算法需要进行大量的迭代得出最优解,导致运行时间成本比较高;

为了解决这个问题,本技术方案提出强化学习的方法来解决任务卸载和资源分配的问题,强化学习是通过不断试错来得到近似最优解,其主要有状态、动作、回报和智能体(agent)四个基本要素组成,其目标是最大化长期收益,其中分为有模型和无模型的强化学习算法,由于真实网络场景较为复杂,无法建立模型,因此本技术方案使用q-learning算法;

层次分析法(analytichierarchyprocess,简称ahp)是一种定性和定量分析的决策模型,它将与决策有关的元素分为目标层,准则层和方案层,将一层次元素两两比较的重要性进行定量分析,然后通过计算反映每一元素的权重系数,非常适用于权重分配的任务调度场景;

本技术方案从多个角度来确定任务价值,具有更高的处理价值的任务拥有更高的优先级,本技术方案主要从三个方面考虑任务的价值,分别为任务的最大容忍时延、任务所需的计算资源和任务的数据量大小,本技术方案的主要目标是最大化任务的完成率,因此任务的容忍时延拥有最大的权重,任务所有计算能力和数据量大小对于任务完成率也有一定的影响,相对于任务容忍时延,其他因素对整体价值影响较小;

因此任务最大容忍时延重要程度最高,任务计算所需计算资源次之,任务数据量大小重要程度最低,本技术方案首先构造出层次结构模型,然后将准则层的因素两两比较,根据客观判断结果构造出准则层的判断矩阵,根据判断矩阵计算出特征向量、特征根和权重值,最后通过一致性检验分析判断其有效性;

q-learning算法:

系统状态:系统状态s卸载决策向量a、计算资源分配向量f和剩余计算资源向量g,即:

s={a,f,g},

系统动作:在系统中,通过agent决定哪些任务卸载,哪些任务不卸载,对于每个任务分配多少计算资源,因此系统动作表示为:

a={ai,fi},

其中ai表示任务ti的卸载方案,fi表示给任务ti分配的计算资源;

系统奖励:在t时隙,agent执行每个可能的动作后,在一定的状态下会得到一个奖励r(s,a),奖励函数应该关联目标功能,此时的优化问题是最小化系统总开销,具体定义如下:

其中clocal表示t时刻任务均在本地执行的系统总开销,c(s,a)表示当前状态下jorc算法的系统总开销;

在q-learning算法中,智能体在t时刻观察当前环境状态st,根据q表选择动作at,执行动作at后进入到状态st+1,获得奖励r,通过如下公式更新q表,并不断循环迭代,直至q值收敛,得到最优策略π*

式中,δ是学习率,γ(0<γ<1)是折扣因子;

q-learning学习算法如下:

输入:训练回合数t,学习速率μ,折扣因子γ,贪婪系数ε,任务集合n,mec剩余计算资源;

输出:卸载策略a*,资源分配策略f*

1.初始化q矩阵

2.repeat:

3.在起始状态s,根据贪婪策略选择动作a

4.repeat

5.根据贪婪策略在s选择动作a得到回报r并进入下一状态st+1

6.

7.s=st+1

8.untils是终止状态

9.untilq值收敛;

层次分析法:

1.建立层次结构模型

层次模型为3层,第一层为任务优先级p,第二层为任务最大容忍时延τ,任务计算量大小c和任务数据量大小d,第三层为任务t;

2.构造出层次中判断矩阵,用aij表示第i个元素与第j个元素相对于上一层某个因素的重要性,准则层共有3个元素参与,构造出判断矩阵a=(aij)3×3,

其中:

三个元素τ,c,d都受p支配,判断矩阵为:

根据判断矩阵求出矩阵的最大特征值λmax和对应的特征向量w=(w1,w2,w3)t

3.一致性检验,根据评价指标计算判断矩阵a的不一致程度指标ci,并根据ri值求出随机一致性比率cr值:

当cr<0.1时,证明判断矩阵具有满意的一致性,否则重新修改a,直至达到满意一致性,最终得到计算任务的权重向量w,其中任务的缓存价值表示如下:

其中w1、w2和w3分别为任务的流行度、任务所需cpu周期大小和任务数据量大小的权重系数,且满足如下条件:

w1+w2+w3=10≤w1≤1,0≤w2≤1,0≤w3≤1,

通过联合优化计算卸载、资源分配和任务缓存方法(jointoffloadingandcaching,简称jorc)来最小化系统的时延和能耗成本,mec服务器检测任务是否被缓存过,若mec缓存有任务计算结果,则直接返回,并通过jorc方法决定是否替换mec缓存任务集合,若计算任务结果没有被缓存,则通过q-learning算法决定卸载策略和资源分配策略,来最小化系统成本,具体jorc方法描述如下:

输入:用户请求集合n,服务器信息g,缓存状态h,

输出:h*,a*,f*

1.fori=1:ndo

2.移动设备i产生任务ti并发出卸载请求

3.ifti在缓存集合中

4.返回计算结果

5.else

6.任务加到任务集合m

7.endif

8.将m输入到q-learning算法中,得到a*,f*

9.ifh中有任务缓存价值小于

10.将ti替换原结果

11.endif

12.输出缓存策略集合h*

13.endif

完成问题求解。

与现有的研究相比,本技术方案具有如下特点:

1.针对任务缓存问题,本技术方案综合考虑了任务卸载、带宽和计算资源分配,任务缓存,在计算、无线和mec存储资源的约束下,建模出任务完成时延和能耗最小化问题。将卸载过程建模成mdp模型,然后设计出基于q-learning的算法求解。

2.提出基于任务的多种属性来确定任务缓存价值,具体为任务流行度、任务输入数据大小和任务所需计算量大小,综合三种属性,分配不同的权重确定任务缓存的价值,优先缓存价值较高的任务,可以更好的降低服务器计算成本,降低所有任务的完成时延和能耗加权和。

3.综合考虑任务的多种属性,提出基于层次分析法的权重分配算法分配权重。

这种方法,能够有效降低算法运行时间,提高服务器响应速度,并且任务缓存机制可以降低重复运算的系统能耗,降低了服务器的计算成本,降低所有任务的完成时延和能耗加权和。

附图说明

图1为实施例的框架图;

图2为实施例中层次分析法的层次结构模型示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述,但不是对本发明的限定。

实施例:

本例考虑在单小区场景下,针对不同类型的虚拟现实任务展开研究。提出了一种联合卸载和任务缓存策略,该策略综合考虑了任务卸载,带宽和计算资源分配的方案,首先建模出卸载、资源分配和任务缓存模型,对于任务缓存,根据任务的多种属性定义缓存价值,其次,将计算卸载和资源分配问题形式化,将其建模成马尔科夫模型,以最小化任务完成时延和能耗加权和为评价指标。

参照图1,一种边缘计算中基于任务缓存的计算卸载方法,在单小区场景情况下,包括如下步骤:

1)构建系统模型:在基站处配置mec服务器,mec服务器通过光纤与远程中心云相连,假设多个移动设备在小区中随机分布,每个用户在一个服务周期或时隙中只有一个任务产生,移动用户的编号表示为m∈{1,2,...,m},移动设备产生的任务ti(i∈{1,2,...,n})表示为一个四元组,即其中表示任务的输入数据量,单位为kbit;ci为完成任务所需要的cpu周期数,单位为cycle;表示任务的输出数据量,即任务计算结果输出大小,单位为kbit;τi表示完成任务的最大容忍时延,单位为ms,完成系统模型构建;

2)构建系统通信模型:mec服务器可以为小区内的移动设备提供计算服务,每个用户在每个时隙只产生一个计算密集型任务,用户可以选择是否将任务卸载至mec执行,令a={a1,a2,...,an}表示所有md的决策动作集合,其中ai=0表示mi的任务在本地设备执行,ai=1表示任务卸载至mec执行,假设小区内不存在小区内的干扰,根据香农公式,mi将任务传输至mec服务器的传输速率为:

其中gi表示移动设备mi和mec服务之间的信道增益,pi表示mi的发射功率,n为高斯噪声功率,单位为dbm,完成系统通信模型构建;

3)构建系统计算模型:本例综合考虑任务处理的时延和能耗作为系统开销,在处理任务过程中,用户向边缘服务器发出卸载请求,只有在满足应用程序容忍时延并且能够降低系统开销的情况下,计算任务才会卸载;

3.1)构建本地计算模型:当任务ti选择在本地执行时,移动设备mi的cpu频率为fil,单位为ghz,则任务ti在本地执行的计算时延为til

能量消耗由下式计算:

其中,κ表示cpu能耗系数,取决于芯片工艺,为固定常量,κ设置为κ=10-26

当计算任务ti在本地执行时,系统的总开销包括本地计算时延和终端能量的消耗,此时,单个设备的开销为:

式中,α和β分别为时延和能耗的权重系数,且满足如下条件:

α+β=1,0≤α≤1,0≤β≤1;

3.2)构建mec计算模型:当计算任务ti选择卸载至mec执行时,时延包括从移动设备mi至mec的传输时延和在mec的执行时延,将mec分配给用户的计算能力表示为fic,卸载至mec计算产生的时延包括传输titran和执行时延tiexec卸载,因此,任务卸载至mec总时延表示为tic

此时,移动设备卸载至mec产生的能耗为任务通过无线链路卸载所产生,传输能耗表示为

mec的能量消耗和用户无关,固不考虑作为系统开销,因此,任务卸载至mec服务器的总开销为:

完成系统计算模型构建;

4)构建资源分配模型:在任务的容忍时延约束下,边缘服务器根据任务属性分配合适的计算资源,f=[f1,f2,...,fn]表示为计算资源的分配向量,其中fi表示为mi分配的计算资源,完成资源分配模型构建;

5)构建任务价值模型及缓存模型:本例综合考虑了任务流行度、任务所需计算量大小和任务数据量大小三个因素来确定缓存策略,将mec对用户请求任务内容的缓存向量表述为h={h1,h2,...,hn},其中hi是一个二进制变量,表示mec是否缓存了用户mi任务及相关数据内容,hi=0表示mec没有缓存该内容,hi=1表示mec已经缓存该内容,如果mec已经缓存该内容,则该请求该任务时无需进行任务卸载,mec将任务完成后,直接将结果返回移动设备,在成本以及存储空间的限制下,将缓存价值更高的任务存储至mec,将缓存价值低的任务替换,根据流行性文件的齐夫分布(zipfdistribution),计算任务的流行度计算公式如下:

式中,θi表示第i个任务的流行度,z表示齐夫常量,其中mec服务缓存的任务集合表示为hc={1,2,...,c},c为最大存储数量,初始化为空,由于mec服务器存储容量有限,因此,mec服务器只对缓存价值较高的任务进行缓存,最终输出任务缓存策略集合h*,缓存价值定义如下:

其中w1、w2和w3分别为任务流行度、任务输入数据大小和任务所需计算量大小的权重系数,且满足如下条件:

w1+w2+w3=1,0≤w1≤1,0≤w2≤1,0≤w3≤1,

完成系统任务价值模型及缓存模型构建;

6)构建系统开销模型:任务完成时延和移动终端能耗都是计算卸载策略好坏的关键指标,本例在单mec的场景下联合优化了计算卸载、资源分配和任务缓存策略,在mec计算能力、存储资源和任务容忍时延的约束下,最小化系统开销,将开销最小化问题建模如下:

本例优化目标以系统效益为目标,获得最优的卸载决策a*,计算资源分配f*和最佳的缓存策略h*,使得系统开销最小,因此,将优化问题表示为:

a={a1,a2,...,an}

f={f1,f2,...,fn}

h={h1,h2,...,hn},

约束条件:

c5:τi≤τ,

其中,a为卸载策略集合,f为计算资源分配策略集合,h为任务缓存策略集合,约束条件c1表示计算任务只能选择在本地或者mec服务器执行,c2和c3表示mec服务器分配的计算资源总和不能超过mec服务器的计算能力,c4表示缓存总容量不能超过mec服务器总存储空间,c5表示时延控制,即任务的完成时间不能超过任务的所能容忍的最大时延,完成系统开销模型构建;

7)问题求解:采用q-learning算法和层次分析法进行求解:

本例研究的基于任务缓存的计算迁移是典型的多目标组合优化问题,属于np难问题,目前有多种启发式算法可以求解该类问题:比如博弈论算法(gametheory)、遗传算法(ga)和蚁群算法(pso)等,这些启发式算法虽然在各自的目标上都有良好的性能,比如降低了用户的时延成本或能耗成本,但这些算法中任务是在一个服务周期内随机到来,这些算法按周期来响应任务并做出决策,在而在真实场景中任务是随机到来的且需要实时响应的,另外传统算法需要进行大量的迭代得出最优解,导致运行时间成本比较高;

为了解决这个问题,本例提出强化学习的方法来解决任务卸载和资源分配的问题,强化学习是通过不断试错来得到近似最优解,其主要有状态、动作、回报和智能体(agent)四个基本要素组成,其目标是最大化长期收益,其中分为有模型和无模型的强化学习算法,由于真实网络场景较为复杂,无法建立模型,因此本例使用q-learning算法;

层次分析法是一种定性和定量分析的决策模型,它将与决策有关的元素分为目标层,准则层和方案层,将一层次元素两两比较的重要性进行定量分析,然后通过计算反映每一元素的权重系数,非常适用于权重分配的任务调度场景;

本例从多个角度来确定任务价值,具有更高的处理价值的任务拥有更高的优先级,本例主要从三个方面考虑任务的价值,分别为任务的最大容忍时延、任务所需的计算资源和任务的数据量大小,本例的主要目标是最大化任务的完成率,因此任务的容忍时延拥有最大的权重,任务所有计算能力和数据量大小对于任务完成率也有一定的影响,相对于任务容忍时延,其他因素对整体价值影响较小;

因此任务最大容忍时延重要程度最高,任务计算所需计算资源次之,任务数据量大小重要程度最低,本技术方案首先构造出层次结构模型,然后将准则层的因素两两比较,根据客观判断结果构造出准则层的判断矩阵,根据判断矩阵计算出特征向量、特征根和权重值,最后通过一致性检验分析判断其有效性;

q-learning算法:

系统状态:系统状态s卸载决策向量a、计算资源分配向量f和剩余计算资源向量g,即:

s={a,f,g},

系统动作:在系统中,通过agent决定哪些任务卸载,哪些任务不卸载,对于每个任务分配多少计算资源,因此系统动作表示为:

a={ai,fi},

其中ai表示任务ti的卸载方案,fi表示给任务ti分配的计算资源;

系统奖励:在t时隙,agent执行每个可能的动作后,在一定的状态下会得到一个奖励r(s,a),奖励函数应该关联目标功能,此时的优化问题是最小化系统总开销,具体定义如下:

其中clocal表示t时刻任务均在本地执行的系统总开销,c(s,a)表示当前状态下jorc算法的系统总开销;

在q-learning算法中,智能体在t时刻观察当前环境状态st,根据q表选择动作at,执行动作at后进入到状态st+1,获得奖励r,通过如下公式更新q表,并不断循环迭代,直至q值收敛,得到最优策略π*

式中,δ是学习率,γ(0<γ<1)是折扣因子;

q-learning学习算法如下:

输入:训练回合数t,学习速率μ,折扣因子γ,贪婪系数ε,任务集合n,mec剩余计算资源;

输出:卸载策略a*,资源分配策略f*

1.初始化q矩阵

2.repeat:

3.在起始状态s,根据贪婪策略选择动作a

4.repeat

5.根据贪婪策略在s选择动作a得到回报r并进入下一状态st+1

6.

7.s=st+1

8.untils是终止状态

9.untilq值收敛;

层次分析法:

1.建立层次结构模型

层次模型为3层,第一层为任务优先级p,第二层为任务最大容忍时延τ,任务计算量大小c和任务数据量大小d,第三层为任务t,如图2所示;

2.构造出层次中判断矩阵,用aij表示第i个元素与第j个元素相对于上一层某个因素的重要性,准则层共有3个元素参与,构造出判断矩阵a=(aij)3×3,

其中,

三个元素τ,c,d都受p支配,判断矩阵为:

根据判断矩阵求出矩阵的最大特征值λmax和对应的特征向量w=(w1,w2,w3)t

3.一致性检验,根据评价指标计算判断矩阵a的不一致程度指标ci,并根据ri值求出随机一致性比率cr值:

当cr<0.1时,证明判断矩阵具有满意的一致性,否则重新修改a,直至达到满意一致性,最终得到计算任务的权重向量w,其中任务的缓存价值表示如下:

其中w1、w2和w3分别为任务的流行度、任务所需cpu周期大小和任务数据量大小的权重系数,且满足如下条件:

w1+w2+w3=10≤w1≤1,0≤w2≤1,0≤w3≤1,

通过联合优化计算卸载、资源分配和任务缓存方法来最小化系统的时延和能耗成本,mec服务器检测任务是否被缓存过,若mec缓存有任务计算结果,则直接返回,并通过jorc方法决定是否替换mec缓存任务集合,若计算任务结果没有被缓存,则通过q-learning算法决定卸载策略和资源分配策略,来最小化系统成本,具体jorc方法描述如下:

输入:用户请求集合n,服务器信息g,缓存状态h,

输出:h*,a*,f*

1.fori=1:ndo

2.移动设备i产生任务ti并发出卸载请求

3.ifti在缓存集合中

4.返回计算结果

5.else

6.任务加到任务集合m

7.endif

8.将m输入到q-learning算法中,得到a*,f*

9.ifh中有任务缓存价值小于

10.将ti替换原结果

11.endif

12.输出缓存策略集合h*

13.endif

完成问题求解。

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