一种边缘计算中基于深度强化学习的动态服务放置方法

文档序号:31452489发布日期:2022-09-07 13:40阅读:251来源:国知局
一种边缘计算中基于深度强化学习的动态服务放置方法

1.本发明涉及移动边缘计算系统中的应用领域,具体是一种边缘计算中基于深度强化学习的动态服务放置方法。


背景技术:

2.移动边缘计算(mobile edge computing,简称mec)通过将计算服务部署在距离用户侧较近的边缘服务器上,使得用户卸载的任务可以就近处理。在用户侧就近部署服务,无需消耗骨干网络的传输带宽,从而实现对移动设备的快速响应。但是由于边缘服务器的资源受限且异构,只能同时部署部分服务。此外,许多计算任务通常可以分解为一组具有依赖关系的子任务,由于现有的服务放置策略仅考虑当前任务的放置情况,未考虑当前任务完成后,后继任务是否已经部署,以及所部署的节点位置。
3.另一方面,不可预测的用户移动性也对移动边缘计算的服务放置带来新的挑战。由于用户的移动性,不同时隙下同一区域的请求类型和请求数量随着用户的移动发生改变,在用户当前位置就近部署服务已然不能满足用户体验质量的需求。为了优化mec中用户的体验,应该对当前部署的服务放置策略进行动态调整。
4.但是动态调整服务放置策略并非易事。一方面,用户的感知时延由通信延迟和计算延迟共同决定。目前的大部分研究仅考虑服务以原子的形式在本地执行或者卸载后选择合适的边缘服务器执行,然而这部分研究忽略了绝大多数应用程序可以进行更细粒度的拆分,并在多个边缘服务器上协同完成计算,再者不同子任务所需的计算资源也不同,如机器学习、视频分类依赖于异构加速器(fpga、gpu)来实现更快的计算速度。由于服务放置问题是一个np-hard问题,以及用户对服务请求的多样性,服务放置具有一定的动态性。在计算资源异构的场景下,服务的放置应考虑服务在该边缘服务器上的计算效率,如果不根据边缘服务器的计算资源部署服务,则会导致某些服务执行时间过长,进而出现整体执行效率较低的情况;另一方面,不同时隙下同一基站覆盖范围内的热点请求不同,这可能会出现在某时隙下大量计算资源空闲、部分服务器过载,服务放置策略不能满足当前时隙下的服务请求的情况。比如:在当前时隙部署请求概率较低的服务。因此,有效的动态服务放置策略应考虑用户感知时延最小化和服务放置成本之间的权衡。
5.近年来,关于服务放置在边缘计算中的应用展开了广泛的研究,在边缘计算中服务放置的相关研究可以归类为(1)服务放置策略受到用户移动性的影响(2)任务间的依赖关系对服务放置策略的影响(3)根据任务所需计算计算资源,将任务放置至执行效率高的边缘服务器。
6.在移动边缘计算中,服务放置的关键是用户在边缘网络中的移动性以及用户产生任务中子任务间的依赖关系。为了解决用户在边缘网络中的移动性预测问题,在一个用户处于多基站覆盖范围的场景下,考虑了网络接入点选择和网络拥塞的时延过高的影响,通过迭代交替求解用户接入点策略、服务放置策略以及平衡边缘服务器任务等待队列从而提升服务质量。为了消除用户的移动行为和网络带宽、cpu计算资源等系统时变信息对服务放
置决策的影响,将服务放置问题公式化为上下文多臂老虎机(contextual multi-armed bandit)问题,提出了一种基于汤普森采样的在线学习算法,该算法为用户的最佳服务放置策略做出决策,从而降低了服务时延。
7.但是任务间的依赖关系也会使问题的维度变得更高。在任务请求资源同构的环境下,将分布式服务放置问题建模为随机优化问题,提出了基于抽样平均近似算法的服务放置算法,通过创建多个服务,降低了任务完成时延。然而,在实际的情景中,用户需求多样性以及用户移动性会导致边缘服务器覆盖范围内的通信、计算等资源发生改变。在不同时隙下,区域热点服务类型不尽相同,导致边缘服务器负载不均衡。
8.不同任务在不同性能的边缘服务器执行效率不同,考虑了边缘计算服务器异构资源特征和用户位置,在每个边缘节点中放置多种类型的服务,服务部署后,将各个节点的执行时间换算成奖励,并累加各个节点的奖励值作为系统的总回报。为实现系统总回报最大化,作者提出了一种确定性逼近算法求解系统总回报最大值。然而作者未考虑服务放置成本以及资源分配问题。提出了一种按需服务放置算法,能准确地将服务部署至当前完成时间最少的服务器上,有效降低了任务完成时延。
9.上述文献主要采用传统数值优化方法进行求解,由于传统数值优化方法在求解最优服务放置策略存在算法迭代次数多、复杂度过高等问题。且目前的大部分研究仅考虑单个任务在异构环境下的服务放置问题,忽略了任务可以进行更细粒度的划分,不同子任务所需的计算资源不同,在异构服务器上具有更高的执行效率。另外,移动边缘计算中用户的请求是随机动态生成的,导致在不同时隙具有不同的服务放置需求。然而现有的工作很少考虑服务放置,即当前主要考虑边缘服务器在接收到用户请求后再部署服务,执行完成后立即释放服务使用的资源。将时间划分为多个周期,在每个时间周期开始时预先部署服务,在时间周期内对当前部署的服务不进行操作,在时间周期结束时将服务实例全部释放。但在时间周期内可能会遇到同一任务被多次请求的问题,当前部署的服务资源不足时,无法及时对部署的服务进行更新。


技术实现要素:

10.本发明的目的是针对现有技术中存在的不足,提供了一种边缘计算中基于深度强化学习的动态服务放置方法。这种方法能快速响应用户请求,减少用户等待时延,提高了用户体验,提升了系统效用。
11.实现本发明目的的技术方案是:
12.一种边缘计算中基于深度强化学习的动态服务放置方法,包括如下步骤:
13.移动边缘计算服务场景由u个用户,m个微基站与m个es(边缘服务器)组成,每个微基站连接一个边缘服务器,
14.在此场景下,用户通过无线链路连接到与其距离最近的微基站,假设用户服务到达的概率是服从独立同分布,用户请求服务的概率服从泊松分布,请求的内容服从zipf分布,单个用户在一个时隙内请求nk个服务,假设任务在分配至指定的边缘服务器后,不再进行计算迁移;
15.用表示用户的集合;用来表示边缘服务器的集合;用来表示系统运行时隙集合,其中,时隙长度为t;
16.请求服务的移动用户上传任务数据至其所在区域中边缘服务器上,即本地边缘服务器,但本地边缘服务器没有放置用户请求的服务或者负载过重,如果周边边缘服务器放置了用户所请求服务且负载较轻,在边缘服务器之间建立协作机制,将本地边缘服务器的请求转发至周边边缘服务器请求协作;
17.1)构建网络模型:
18.基站与移动用户之间的数据传输过程包括移动终端上传数据与mec服务器回传计算结果,用户上传任务k的数据传输速率表示为:
[0019][0020]
边缘服务器之间的数据传输速率用下式表示:
[0021][0022]
式中的bu表示用户上传信道可用带宽,bm表示边缘服务器传输信道可用带宽;表示用户发射设备的传输功率;表示基站之间的传输功率;σu表示在用户处的高斯白噪声功率;σm表示在基站m处的高斯白噪声功率;hu表示用户至基站之间的信道增益,hm表示两个基站之间的信道增益;
[0023]
由于边缘服务器的计算存储资源有限,每个边缘服务器上只能部署有限的服务,当用户所在的边缘服务器没有部署该用户所需要的请求时,该用户上传的任务将会转发至周边边缘服务器进行协作;
[0024]
当用户任务在本地边缘服务器计算时,任务数据传输所需要的时间用下式表示:
[0025][0026]
当用户任务在本地边缘服务器计算时,任务数据传输至目标边缘服务器所需要的时间用下式表示:
[0027][0028]
计算结果回传至用户所需时间用下式表示:
[0029][0030]
式中的表示用户u上传的任务k大小,表示用户u的任务k计算结果大小;
[0031]
2)构建任务模型:
[0032]
用来指代任务列表,用链表其中i,j∈n对任务进行建模,根据应用程序的执行流程,将子任务抽象为一条任务链,该任务链中的每一个节点代表一个子任务,子任务之间具有依赖关系,子任务必须按照前后依赖关系执行,每一个子任务卸载到不同节点进行计算,任务依次执行,当前一个任务未执行结束时,下一
个任务就无法执行;
[0033]
用户在时隙t发出的任务请求包含应用程序类型ai,i∈n,任务对应的数据集αi,i∈n以及任务完成截止时间li,i∈n;
[0034]
采用二进制变量表示在时隙t用户u请求的应用程序ai的任务k被放置在第m个sbs上执行,否则即:
[0035][0036][0037]
3)构建服务放置模型:
[0038]
用来表示边缘服务器列表,服务器si部署j个服务,其中
[0039]
4)构建计算模型:
[0040]
当前置任务执行完成后,将输出结果传输至下一个服务器,也能为当前服务器,最后一个任务执行完成后,计算结果传输至用户侧,任务的前置任务是否完成定义为:
[0041][0042][0043]
在时隙t用户n的任务k的前置任务都已经执行完毕;
[0044]
在时隙t,边缘服务器收到设备上传的数据并将数据存入缓存队列中等待处理,处理该部分数据需要消耗服务器资源,此时服务器用计算资源为:
[0045][0046][0047]
其中ξk是处理任务k单位数据所需cpu资源,为边缘服务器m的cpu频率最大值,为用户u说请求的任务k的大小;
[0048]
则用户u所请求的任务k在时隙t在第m个sbs的执行时长表示为:
[0049][0050]
任务k在边缘服务器之间传输的时间为:
[0051][0052]
若当前边缘服务器存在计算任务,则进入任务等待队列中,等待时间为为队列中前方任务计算时间之和;
[0053]
若等待时间超时,则该任务失败,任务失败后将任务从等待队列中丢弃,同时返回失败结果至用户;
[0054]
综上所述用户u的任务k的完成时延为:
[0055][0056]
5)构建问题模型:
[0057]
在多用户多边缘服务器的场景下,假设每一个边缘服务器只能放置有限的服务,在满足任务完成时间的约束下,使用户满意度与服务器利用率最大化;
[0058]
系统中所有任务传输与计算时延表示为:
[0059][0060]
等待时延与qoe之间的关系用对数函数拟合,具体表达式如下:
[0061][0062]
其中取该值为国际电信联盟(itu)评估qoe方案中得分的最大值;
[0063]
用户满意度表示为:
[0064][0065]
因此,问题表示为:
[0066][0067]
s.t.(6),(7),(8),
[0068]
在所考虑的mec系统中,系统状态由任务请求、当前任务缓存队列、cpu可用资源组成,动作是服务放置决策,服务放置决策包括当前服务器可放置服务种类与数量,服务放置决策仅依赖于当前状态,与历史状态无关,因此,服务放置问题是一个马尔可夫决策过程(mdp)问题,采用强化学习有效解决马尔可夫决策过程问题,然而服务资源异构与服务种类多样化使得状态空间的维度大而导致问题的复杂度难以控制,深度强化学习作为q-learning的升级,dnn的引入大幅提高学习速度,使用多层特征提取方法的非线性叠加对表层特征进行提取与组合,智能体(agent)不断的与环境交互,得到新的抽象特征,从而做出新的服务放置决策;
[0069]
6)构建马尔可夫模型:
[0070]
强化学习主要有状态、动作、回报和智能体四个基本要素组成,智能体根据当前状态与环境不断进行动作交互产生回报值,模型定义如下:
[0071]
系统state:服务放置矩阵
[0072]
用s表示系统状态:
[0073]
s=(s(t),q(t),c(t))
ꢀꢀꢀ
(17),
[0074]
其中时隙t内,各个边缘服务器的服务放置情况表示为:
[0075][0076]
时隙t内边缘服务器的队列情况表示为:
[0077][0078]
时隙t内单台边缘服务器剩余可用的计算资源表示为:
[0079]
c(t)=c
1,1
(t),c
1,2
(t),

,c
v,l
(t)
ꢀꢀꢀ
(20),
[0080]
系统action:用a表示系统动作,其中系统动作包含服务更替矩阵,决定在当前情况下是否进行服务替换:
[0081][0082]
其中表示在时隙t内放置服务t
l
的概率,在更新放置的服务时,边缘服务器根据概率大小,依次选择任务t
l
放置到边缘服务器中,若原本的服务已经存在,则无需进行操作;
[0083]
系统reward:任务是否能完成作为奖励指标,在状态s
t
下执行完动作a
t
后,系统计算即时奖励r(s
t
,a
t
)到智能体,服务放置的不同会影响系统和用户qoe收益,因此,将奖励函数定义为时隙t内获得的计算收益:
[0084][0085]
其中和分别为时隙t内第k个用户获得的系统奖励和qoe收益;
[0086]
agent的目标是学习一个选择策略π,然后基于当前状态,选择下一个动作a,并获得及时回报
[0087]
π
*
(s)=argmax q
*
(s
t
,a
t
|θ)
ꢀꢀꢀ
(23),
[0088]
其中q
*
(s
t
,a
t
|θ)是逼近的最佳q值;
[0089]
具体实现:
[0090]
输入:当前服务放置状态、时隙任务生成情况、任务依赖关系
[0091]
输出:最优策略,即服务放置方案
[0092][0093]
本技术方案考虑了多用户、多mec以及多种服务类型的场景,在不同时隙下,边缘服务器覆盖范围内的请求数量与任务类型的差异,对各个边缘服务器的服务放置策略进行
优化。为保证在计算、存储资源受限的边缘服务器上使用户体验质量的最大化,通过在边缘服务器上部署不同的服务,从而快速响应用户请求,减少用户等待时延,本技术方案将问题建模为马尔可夫决策过程,以提升用户体验质量为目标。
[0094]
这种方法能快速响应用户请求,减少用户等待时延,提高了用户体验,提升了系统效用。
附图说明
[0095]
图1为实施例的架构图;
[0096]
图2为实施例与其他方法在各个时间片内的平均完成时延对比示意图;
[0097]
图3为实施例与其他方法在不同时延约束条件下,任务完成率与约束时延的影响对比示意图。
具体实施方式
[0098]
下面结合附图及具体实施例对本发明作进一步的详细描述,但不是对本发明的限定。
[0099]
实施例:
[0100]
参照图1,一种边缘计算中基于深度强化学习的动态服务放置方法,包括如下步骤:
[0101]
移动边缘计算服务场景由u个用户,m个微基站与m个es(边缘服务器)组成,每个微基站连接一个边缘服务器,
[0102]
在此场景下,用户通过无线链路连接到与其距离最近的微基站,假设用户服务到达的概率是服从独立同分布,用户请求服务的概率服从泊松分布,请求的内容服从zipf分布,单个用户在一个时隙内请求nk个服务,假设任务在分配至指定的边缘服务器后,不再进行计算迁移;
[0103]
用表示用户的集合;用来表示边缘服务器的集合;用来表示系统运行时隙集合,其中,时隙长度为t;
[0104]
请求服务的移动用户上传任务数据至其所在区域中边缘服务器上,即本地边缘服务器,但本地边缘服务器没有放置用户请求的服务或者负载过重,如果周边边缘服务器放置了用户所请求服务且负载较轻,在边缘服务器之间建立协作机制,将本地边缘服务器的请求转发至周边边缘服务器请求协作;
[0105]
1)构建网络模型:
[0106]
基站与移动用户之间的数据传输过程包括移动终端上传数据与mec服务器回传计算结果,用户上传任务k的数据传输速率表示为:
[0107][0108]
边缘服务器之间的数据传输速率用下式表示:
[0109]
[0110]
式中的bu表示用户上传信道可用带宽,bm表示边缘服务器传输信道可用带宽;表示用户发射设备的传输功率;表示基站之间的传输功率;σu表示在用户处的高斯白噪声功率;σm表示在基站m处的高斯白噪声功率;hu表示用户至基站之间的信道增益,hm表示两个基站之间的信道增益;
[0111]
由于边缘服务器的计算存储资源有限,每个边缘服务器上只能部署有限的服务,当用户所在的边缘服务器没有部署该用户所需要的请求时,该用户上传的任务将会转发至周边边缘服务器进行协作;
[0112]
当用户任务在本地边缘服务器计算时,任务数据传输所需要的时间用下式表示:
[0113][0114]
当用户任务在本地边缘服务器计算时,任务数据传输至目标边缘服务器所需要的时间用下式表示:
[0115][0116]
计算结果回传至用户所需时间用下式表示:
[0117][0118]
式中的表示用户u上传的任务k大小,表示用户u的任务k计算结果大小;
[0119]
2)构建任务模型:
[0120]
用来指代任务列表,用链表其中i,j∈n对任务进行建模,根据应用程序的执行流程,将子任务抽象为一条任务链,该任务链中的每一个节点代表一个子任务,子任务之间具有依赖关系,子任务必须按照前后依赖关系执行,每一个子任务卸载到不同节点进行计算,任务依次执行,当前一个任务未执行结束时,下一个任务就无法执行;
[0121]
用户在时隙t发出的任务请求包含应用程序类型ai,i∈n,任务对应的数据集αi,i∈n以及任务完成截止时间li,i∈n;
[0122]
采用二进制变量表示在时隙t用户u请求的应用程序ai的任务k被放置在第m个sbs上执行,否则即:
[0123][0124][0125]
3)构建服务放置模型:
[0126]
用来表示边缘服务器列表,服务器si部署j个服务,其中
[0127]
4)构建计算模型:
[0128]
当前置任务执行完成后,将输出结果传输至下一个服务器,也能为当前服务器,最后一个任务执行完成后,计算结果传输至用户侧,任务的前置任务是否完成定义为:
[0129][0130][0131]
在时隙t用户n的任务k的前置任务都已经执行完毕;
[0132]
在时隙t,边缘服务器收到设备上传的数据并将数据存入缓存队列中等待处理,处理该部分数据需要消耗服务器资源,此时服务器用计算资源为:
[0133][0134][0135]
其中ξk是处理任务k单位数据所需cpu资源,为边缘服务器m的cpu频率最大值,为用户u说请求的任务k的大小;
[0136]
则用户u所请求的任务k在时隙t在第m个sbs的执行时长表示为:
[0137][0138]
任务k在边缘服务器之间传输的时间为:
[0139][0140]
若当前边缘服务器存在计算任务,则进入任务等待队列中,等待时间为为队列中前方任务计算时间之和;
[0141]
若等待时间超时,则该任务失败,任务失败后将任务从等待队列中丢弃,同时返回失败结果至用户;
[0142]
综上所述用户u的任务k的完成时延为:
[0143][0144]
5)构建问题模型:
[0145]
在多用户多边缘服务器的场景下,假设每一个边缘服务器只能放置有限的服务,在满足任务完成时间的约束下,使用户满意度与服务器利用率最大化;
[0146]
系统中所有任务传输与计算时延表示为:
[0147][0148]
等待时延与qoe之间的关系用对数函数拟合,具体表达式如下:
[0149][0150]
其中取该值为国际电信联盟(itu)评估qoe方案中得分的最大值;
[0151]
用户满意度表示为:
[0152][0153]
因此,问题表示为:
[0154][0155]
s.t.(6),(7),(8),
[0156]
在所考虑的mec系统中,系统状态由任务请求、当前任务缓存队列、cpu可用资源组成,动作是服务放置决策,服务放置决策包括当前服务器可放置服务种类与数量,服务放置决策仅依赖于当前状态,与历史状态无关,因此,服务放置问题是一个马尔可夫决策过程(mdp)问题,采用强化学习有效解决马尔可夫决策过程问题,然而服务资源异构与服务种类多样化使得状态空间的维度大而导致问题的复杂度难以控制,深度强化学习作为q-learning的升级,dnn的引入大幅提高学习速度,使用多层特征提取方法的非线性叠加对表层特征进行提取与组合,智能体(agent)不断的与环境交互,得到新的抽象特征,从而做出新的服务放置决策;
[0157]
6)构建马尔可夫模型:
[0158]
强化学习主要有状态、动作、回报和智能体四个基本要素组成,智能体根据当前状态与环境不断进行动作交互产生回报值,模型定义如下:
[0159]
系统state:服务放置矩阵
[0160]
用s表示系统状态:
[0161]
s=(s(t),q(t),c(t))
ꢀꢀꢀ
(17),
[0162]
其中时隙t内,各个边缘服务器的服务放置情况表示为:
[0163][0164]
时隙t内边缘服务器的队列情况表示为:
[0165][0166]
时隙t内单台边缘服务器剩余可用的计算资源表示为:
[0167]
c(t)=c
1,1
(t),c
1,2
(t),

,c
v,l
(t)
ꢀꢀꢀ
(20),
[0168]
系统action:用a表示系统动作,其中系统动作包含服务更替矩阵,决定在当前情况下是否进行服务替换:
[0169][0170]
其中表示在时隙t内放置服务t
l
的概率,在更新放置的服务时,边缘服务器根据概率大小,依次选择任务t
l
放置到边缘服务器中,若原本的服务已经存在,则无需进行操作;
[0171]
系统reward:任务是否能完成作为奖励指标,在状态s
t
下执行完动作a
t
后,系统计算即时奖励r(s
t
,a
t
)到智能体,服务放置的不同会影响系统和用户qoe收益,因此,将奖励函数定义为时隙t内获得的计算收益:
[0172][0173]
其中和分别为时隙t内第k个用户获得的系统奖励和qoe收益;
[0174]
agent的目标是学习一个选择策略π,然后基于当前状态,选择下一个动作a,并获
得及时回报
[0175]
π
*
(s)=argmax q
*
(s
t
,a
t
|θ)
ꢀꢀꢀ
(23),
[0176]
其中q
*
(s
t
,a
t
|θ)是逼近的最佳q值;
[0177]
具体实现:
[0178]
输入:当前服务放置状态、时隙任务生成情况、任务依赖关系
[0179]
输出:最优策略,即服务放置方案
[0180][0181][0182]
如图2所示为各个时间片内不同算法的平均完成时延,本例在各个时间段下不同用户密度的情况下表现均优于其他算法。动态服务放置的优点在于充分利用了服务资源,减少服务部署时间,减少整体服务的响应时间。在产生大量同类型的任务的情况下,可以减少用户感知时延。
[0183]
如图3比较了不同时延约束条件下,任务完成率与约束时延的影响。从图3可知,随着时延约束的增加,本例整体的任务完成率在提升。在时延约束3.5秒时,本例方法较其他算法的成功率分别提升了11%和29%。这是由于本例方法在对出现的海量任务的情况下,进行动态服务放置,相比于gpa算法与rp算法在固定时间后进行全部服务的更新,本例方法对于部分服务的动态调整具有一定的优势。智能体通过不断的深度学习训练后可根据当前服务请求与服务放置情况进行服务放置策略的动态更新,不需要改变现有的放置的所有服务,仅需根据当前的服务请求对部分服务进行替换。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1