CN113434212B - 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 - Google Patents
基于元强化学习的缓存辅助任务协作卸载与资源分配方法 Download PDFInfo
- Publication number
- CN113434212B CN113434212B CN202110704204.3A CN202110704204A CN113434212B CN 113434212 B CN113434212 B CN 113434212B CN 202110704204 A CN202110704204 A CN 202110704204A CN 113434212 B CN113434212 B CN 113434212B
- Authority
- CN
- China
- Prior art keywords
- task
- cache
- edge
- execution
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于元强化学习的缓存辅助任务协作卸载与资源分配方法,包括在移动协作式应用场景下建立缓存辅助的任务协作卸载与资源分配模型,获取请求任务的缓存状态,获得学习模型,求解卸载决策的步骤,来降低移动协作应用程序场景下计算卸载过程中移动用户的能耗和时延。本发明综合考虑用户偏好和能耗与时延的权衡,以及任务的缓存状态对卸载决策的影响,提出缓存辅助策略,在平衡网络开销的同时提高任务缓存命中率,并依此确定任务的缓存状态,最后基于元强化学习提出一种在线计算卸载策略,解决传统深度强化学习算法对新任务的采样效率低的问题,实验结果证明与其他算法相比本发明可有效降低移动用户时延和能耗,提升用户体验质量。
Description
技术领域
本发明涉及边缘计算技术和强化学习技术领域,尤其涉及一种基于元强化学习的缓存辅助任务协作卸载与资源分配方法。
背景技术
随着物联网和边缘计算技术的发展和广泛应用,各种各样的移动设备带来了众多复杂且计算密集的移动应用程序的激增,更多的新型应用的涌现对用户体验质量(QoE)提出更高要求,而资源有限的移动设备面临着电量、容量与计算能力的诸多限制难以处理。物联网用户更趋向于将大量的数据流的内容块卸载执行,但由于计算卸载的某些限制,尤其是在资源有限的动态边缘环境中,现有服务提供商提供的计算卸载服务无法满足新型物联网应用用户的QoE需求,例如数据流由于特定时间或流量到达峰值时,回程链路将面临巨大的信噪比(SINR)和严重的拥塞。
对于移动协作式应用程序,例如移动视频会议、协作编辑、增强现实(AR)等,不同用户存在重复多次的内容请求,移动设备与边缘服务器之间仍然存在很多不必要的计算和传输成本。现有的研究中大多独立考虑了计算任务和缓存内容,忽略了任务缓存对任务卸载决策的影响,且没有考虑边缘计算环境的多样性与动态性,在移动协作式应用的多样化业务场景的保障QoE的应对策略和处理方案方面缺乏深入的研究和探索。
例如,公开号为CN111405569A的基于深度强化学习的计算卸载和资源分配方法及装置,该方案基于用户设备的计算任务参数、性能参数、用户设备与接入点之间的信道参数和移动边缘计算边缘服务器的总计算资源,构建优化问题模型;基于深度强化学习确定优化问题模型的最优解,确定用户设备的卸载决策,分别给用户设备所分配的计算资源的百分比数和频谱资源的百分比数。同时考虑到时变的边缘计算系统中实际的计算卸载和资源分配特性,任务的时延阈值与系统有限的资源容量约束,基于深度强化学习,利用深度神经网络来有效地逼近强化学习中的值函数,以确定计算卸载和资源分配的联合最优方案,进一步降低了用户设备的能耗。但由于不同的网络环境、不同的用户偏好和多样化的应用程序对应不同的卸载任务,该方案采用的深度强化学习方法存在新任务的采样效率低、难以快速适应新任务寻找最佳卸载策略的问题。
再如,公开号为CN110213097A的基于资源动态分配的边缘服务供应优化方法,该方案针对边缘计算框架中的服务供应优化提出了用户体验质量的量化策略,并提出了动态的资源分配策略方案,为利用服务分布式特性的边缘计算服务提供优化方案提供了新的可行可靠的方法。该发明在考虑用户与边缘服务器的交互信息的基础上,还综合考虑了边缘服务器资源与服务处理能力之间的资源性能关系,服务请求的时序关系,并利用这些信息对边缘府服务器运行时动态调整策略提供了辅助,能够较好的利用边缘计算组件的资源,为服务使用者提供高质量的用户体验。但由于其单独考虑用户卸载策略,在移动协作式应用场景中的重复计算仍存在大量开销,在单个边缘服务器处理能力有限时易造成负载过高,用户体验仍然无法保障。
发明内容
本发明针对上述技术问题,提供一种基于元强化学习的缓存辅助任务协作卸载与资源分配方法,能够在移动协作式应用场景中,将多个有依赖关系的计算任务合理的分配到移动终端本地和多个边缘服务器中协作执行,同时对可能的重复计算请求任务进行缓存,进一步降低移动终端处理计算任务的时延和能耗。
为了实现上述目的,本发明提供如下技术方案:
本发明首先提供一种基于元强化学习的缓存辅助任务协作卸载与资源分配方法,包括以下四个步骤:
S1、在移动协作式应用场景下建立缓存辅助的任务协作卸载与资源分配模型,包括边缘环境模型、计算任务模型、计算任务执行方式模型、时延模型、能耗模型、缓存效益模型、马尔可夫决策过程卸载模型;
S2、获取请求任务的缓存状态,S2包括以下步骤:
S201、输入缓存执行阈值δs和缓存删除阈值δd;
S202、计算缓存效益CU(i);
S203、决定任务缓存状态K,当缓存增益大于执行阈值δs时,将其缓存在移动边缘计算的节点上;当缓存增益小于删除阈值δd时,不进行缓存;
S3、获得学习模型,S3包括以下步骤:
S301:通过全拓扑排序算法求解任务执行序列QG;
S302:采样k个学习任务,初始化元策略参数θ;
S303:采样获得状态行为集合,采取相应的动作,评估奖励;
S304:判断奖励是否收敛或者是否达到迭代次数上限,当奖励收敛或已达到迭代次数上限时,即可获取参数集合{θ′1,θ′2,...,θ′k},当奖励不收敛或未达到迭代次数上限时,更新参数θ′k,同步评估网络和策略网络的参数返回步骤S302;
S305:通过Adam更新元策略参数;
S306:判断奖励是否收敛或者是否达到迭代次数上限,当奖励收敛或已达到迭代次数上限时,输出学习模型;当奖励不收敛或未达到迭代次数上限时,返回S304;
S4、求解卸载决策,S4包括以下步骤:
S401:采样获得状态行为集合,采取相应的动作,评估奖励;
S402:判断奖励是否收敛或者是否达到迭代次数上限,当奖励收敛或达到迭代次数上限时,输出卸载决策序列YG,资源分配序列XG,当奖励不收敛或未达到迭代次数上限时,更新参数θ,同步评估网络和策略网络的参数,返回S401。
具体地,步骤S1中边缘环境模型的建立方法为:依据基站地理空间分布将边缘服务器分组为协作集群,在协作集群中,边缘节点用集合表示,每个边缘服务器具有缓存和计算资源,Qm和Cm分别表示边缘节点m的缓存空间容量和最大计算能力,在每个边缘服务器中添加一个缓存。
步骤S1中计算任务模型的建立方法为:每个时隙边缘节点接收到来自移动设备的应用程序计算请求,每个计算请求Reqn由二元组组成,Reqn={G,Tmax},该应用程序计算请求在给定的时延约束Tmax内完成,将该应用程序计算请求划分为I个逻辑独立的计算任务,使用有向图描述任务的关系G=(V,E),其中,V表示计算任务的集合,V={task1,task2,…,taskI},E表示计算任务间的关系,每个计算任务taski用三元组表示其中,表示任务i的输入数据大小,包括输入参数和任务执行代码,wi为任务i所需要的计算资源,表示任务i的计算结果。
步骤S1中计算任务执行方式模型建立方法为:将一个应用程序中的计算任务分配至多节点协作执行,提供三种计算任务执行方式,分别为:任务本地执行、任务边缘卸载执行和缓存辅助的任务边缘卸载执行;其中,任务本地执行方式为,Yi为二进制本地执行决策变量,Yi=1,表示任务i在移动设备本地上执行,Yi=0,表示任务i在不在移动设备本地上执行;任务边缘卸载执行方式为,Xm,i为二进制边缘执行决策变量,Xm,i=1表示任务i在边缘节点m上执行,Xm,i=0表示任务i不在边缘节点m上执行。移动设备的应用程序调度满足缓存辅助的任务边缘卸载执行方式为,Km,i为二进制缓存感知变量,Km,i=1表示任务i被节点m上的缓存命中,Km,i=0表示任务i没有被节点m上的缓存命中。当Xm,i=1且Km,i=1时,表示任务卸载过程中使用了存储在节点m的缓存。
步骤S1中时延模型建立方法为:任务在移动设备本地执行时延为其中,wi为任务i所需要的计算资源,fn为MDn的CPU计算能力;任务通过计算卸载到边缘执行的数据上传时延为其中,表示任务i的输入数据大小,Rn,m表示MDn到边缘节点m之间的链路数据率;任务通过计算卸载到边缘执行的任务处理时延为其中,fm为节点m的CPU计算能力;任务通过计算卸载到边缘执行的数据接收时延为其中,表示任务i的输出数据大小,Rn,m表示MDn到边缘节点m之间的链路数据率;任务通过计算卸载到边缘执行的任务间参数的传输时延包括一跳模式和两跳模式两种情况:1)一跳模式:任务i+1执行节点在任务i执行节点的通信范围内,任务i与任务i+1之间直接通信传递中间参数,设节点m需要的参数数据量大小可表示为Jm,则一跳模式下的参数传输时延为:2)两跳模式:任务i+1执行节点不在任务i执行节点的通信范围内,中间参数可通过一个任意的转发节点完成传输,设两跳模式下转发节点为n,则两跳模式下的参数传输时延为缓存辅助的应用程序卸载调度决策达成的应用程序执行总时延为:
步骤S1中能耗模型为:任务在移动设备本地执行能耗:其中,vn为MDn上每个CPU计算周期所消耗的能量,vn=κfn 2,κ为能量系数;任务通过计算卸载的总能量消耗主要包括:向边缘服务器上传数据的能耗和从边缘服务器接收数据的能耗,分别为和Pn为MDn向边缘节点m的发送功率,为从边缘节点m的接收功率;缓存辅助的应用程序卸载调度决策完成的应用程序执行总能耗为:
步骤S1中缓存效益模型为:缓存收益函数CU(i)=PC(i)/Size(i)*CR(i),其中,PC(i)为内容流行度,Size(i)表示任务i需要缓存的数据所占的存储空间,CR(i)为内容缓存的网络收益。
步骤S1中网络收益CR(i)的计算方法如下:对于节点n请求内容在边缘缓存中获取的网络平均获取内容时延包括缓存节点n与边缘节点m之间的传播时延和发送时延,表示为:对于节点n请求内容未在边缘缓存时的网络平均获取内容时延需要考虑任务上传时延和任务执行时延,表示为:在边缘缓存节点上的第i项缓存内容Coni的处理时延为Hi,可得内容缓存的网络收益
为了求解上述马尔可夫决策过程,本发明设计一种基于循环神经网络的seq2seq网络拟合策略函数和价值函数,该网络包括编码器和解码器两部分,均由多层循环神经网络实现,该网络采用共享参数网络架构,即策略函数与价值函数共享除输出层外的所有网络结构和参数(策略函数采用softmax输出层;价值函数采用全联接输出层)。将任务嵌入序列TG=(task1,task2,…,task|V|)和卸载调度决策历史序列AG=(a1,a2,...,ai-1)输入到该网络。编码器依次输入任务嵌入序列TG,输出最终的隐藏层有向无环图的特征。解码器利用编码器的输出初始化其隐藏层,并依次输入卸载调度决策历史序列AG,并逐步输出策略函数与价值函数的拟合结果,以确定下一步动作ai,直到获得最后一个动作a|V|-1为止。
缓存辅助任务协作卸载算法的训练过程包括深度强化学习和元学习两部分,深度强化学习部分基于PPO算法对网络进行训练,元学习部分采用一阶近似计算更新策略梯度。
与现有技术相比,本发明的有益效果为:
本发明提供的基于元强化学习的缓存辅助任务协作卸载与资源分配方法,基于收益函数的协作缓存辅助策略,通过主动的任务缓存辅助达成多移动边缘计算节点的协作和资源共享,该策略在平衡网络开销的同时提高任务缓存命中率,并依此确定移动边缘计算端任务的缓存状态作为计算卸载决策的数据基础。协作任务卸载至移动边缘计算节点,节点可通过已有的缓存任务计算结果直接获取,节省部分任务传输与计算的成本,节省计算资源,提高整个系统的计算性能。同时,本发明基于元强化学习与缓存辅助的计算卸载算法求解计算卸载与资源分配,通过改进的更新元策略解决传统深度强化学习算法对新任务的采样效率低的问题,实现在动态环境中的快速计算卸载决策。将计算卸载决策过程转化为多个马尔可夫决策过程,使用基于循环神经网络的seq2seq网络拟合策略函数和价值函数,将问题求解转化为任务执行序列预测过程。改进的学习过程包括适应多马尔可夫决策过程的元策略和基于元策略学习的针对特定马尔可夫决策过程卸载决策两部分。
综上,本发明提出缓存辅助的协作任务卸载与资源分配机制,来降低移动协作应用程序场景下计算卸载过程中移动用户的能耗和时延。首先,建立了缓存辅助的任务卸载与资源分配问题,综合考虑用户偏好和能耗与时延的权衡,以及任务的缓存状态对卸载决策的影响。然后,提出缓存辅助策略,在平衡网络开销的同时提高任务缓存命中率,并依此确定任务的缓存状态。最后基于元强化学习提出一种在线计算卸载策略,解决传统深度强化学习算法对新任务的采样效率低的问题。实验结果证明与其他算法相比本发明提出的方法相比可有效降低移动用户时延和能耗,提升用户体验质量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例3提供的基于元强化学习的缓存辅助计算卸载方法流程图。
图2为本发明实施例4提供的不同任务数量DAG的能耗对比图。
图3为本发明实施例4提供的不同任务数量DAG的时延对比图。
图4为本发明实施例4提供的任务主动缓存机制对能耗的影响图。
图5为本发明实施例4提供的任务主动缓存机制对时延的影响图。
具体实施方式
为了更好地理解本技术方案,下面结合附图对本发明的方法做详细的说明。
实施例1模型建立
本发明在移动协作式应用场景下建立缓存辅助的任务协作卸载与资源分配模型。模型建立的步骤如下:
1边缘环境:依据基站地理空间分布将边缘服务器分组为协作集群。在协作集群中,边缘节点用集合表示。每个边缘服务器具有缓存和计算资源,Qm和Cm分别表示边缘节点m的缓存空间容量和最大计算能力。为了更好地重用计算中的原始数据和计算结果,在每个边缘服务器中添加了一个缓存。基于缓存效益对在边缘服务器执行的计算任务进行缓存并获取缓存状态。如果后续的计算任务需要使用/获取相同的数据,则无需重复传输/计算。
2计算任务:每个时隙边缘节点接收到来自移动设备的应用程序计算请求。每个计算请求由二元组组成,Reqn={G,Tmax},该应用程序计算请求需要在给定的时延约束Tmax内完成。假设该应用程序计算请求可以划分为I个逻辑独立的计算任务,使用有向图描述任务的关系G=(V,E),称为任务调度图。其中,V表示计算任务的集合,V={task1,task2,…,taskI},E表示计算任务间的关系。每个计算任务taski用三元组表示其中,表示任务i的输入数据大小,包括输入参数和任务执行代码,wi为任务i所需要的计算资源,表示任务i的计算结果。
3计算任务执行方式:将一个应用程序中的计算任务分配至多节点协作执行,提供三种计算任务执行方式,任务本地执行、任务边缘卸载执行、缓存辅助的任务边缘卸载执行。
(1)任务本地执行,Yi为二进制本地执行决策变量,Yi=1,表示任务i在移动设备本地上执行,Yi=0,表示任务i在不在移动设备本地上执行。
(3)缓存辅助的任务边缘卸载执行,Km,i为二进制缓存感知变量,Km,i=1表示任务i被节点m上的缓存命中,Km,i=0表示任务i没有被节点m上的缓存命中。当Xm,i=1且Km,i=1时,表示任务卸载过程中使用了存储在节点m的缓存。
4时延模型:
任务通过计算卸载到边缘执行的任务间参数的传输时延包括一跳模式和两跳模式两种情况:
任务通过缓存辅助的卸载执行,可节省数据上传时延和计算执行时延。因此在本发明中缓存辅助的应用程序卸载调度决策达成的应用程序执行总时延为:
5能耗模型
任务缓存辅助的边缘执行,对于任务i,可节省数据上传能耗。因此在本发明中缓存辅助的应用程序卸载调度决策完成的应用程序执行总能耗为:
6缓存效益模型
本发明基于缓存效益对在边缘服务器执行的计算任务进行缓存并获取缓存状态。考虑内容流行度、网络开销、数据大小对缓收益的影响。本发明定义缓存收益函数CU(i)如下:
其中,PC(i)为内容流行度,Size(i)表示任务i需要缓存的数据所占的存储空间,CR(i)为内容缓存的网络收益。
本发明将时延作为衡量网络收益的参数。获取内容时延为内容请求者节点请求数据到收到数据的时间间隔。公式(3)中网络收益CR(i)的计算方法如下:
在边缘缓存节点上的第i项缓存内容Coni的处理时延为Hi。可得内容缓存的网络收益为:
7马尔可夫决策过程卸载模型:为每个应用程序请求中的多个有依赖关系的计算任务分配合适的执行方式需要将其建模为马尔可夫决策过程,马尔可夫决策过程表示为式中元素从左到右依次表示问题的状态空间、动作空间状态转移矩阵、奖励函数和策略。
(2)动作:将对G中各任务进行的卸载调度决策定义为该马尔可夫决策过程动作空间中的动作,则该动作空间可以写作具体的,执行动作a=0代表当前任务确定为本地执行,即Yi=1;执行动作a∈{1,2,...,M}代表当前任务确定为卸载至第a个边缘节点执行,即Yi=0,Xa,i=1。
(3)奖励:每个动作ai对整个卸载调度过程所带来的时间和能耗的增量分别定义如下,表示在状态si下执行动作ai前后所对应的已决策子图的执行时间差和执行能耗差
为找到最佳的任务执行位置,奖励函数定义为每次动作带来的能耗和时延效益:
(4)策略:taski到达时的策略为π(ai|si),从初始状态s0开始,根据π(ai|si),每执行一个动作,系统即进入一个新的状态并得到一个奖励,直到对QG中的最后一个任务决策完成,整个卸载调度决策的过程表示为(s0,a0,r0,s0,a0,r0,...,s|V|),s|V|为终止状态。其中终止状态中的卸载决策历史序列即为最终的计算卸载与资源分配方案。当以策略π(ai|si)运行时,其价值函数定义为在状态s的累积期望回报,该马尔可夫决策过程的累积折扣奖励为:
实施例2算法设计
为了求解上述马尔可夫决策过程,本发明设计一种基于循环神经网络的seq2seq网络拟合策略函数和价值函数,该网络包括编码器和解码器两部分,均由多层循环神经网络实现,该网络采用共享参数网络架构,即策略函数与价值函数共享除输出层外的所有网络结构和参数(策略函数采用softmax输出层;价值函数采用全联接输出层)。将任务嵌入序列TG=(task1,task2,...,task|V|)和卸载调度决策历史序列AG=(a1,a2,...,ai-1)输入到该网络。编码器依次输入任务嵌入序列TG,输出最终的隐藏层有向无环图的特征。解码器利用编码器的输出初始化其隐藏层,并依次输入卸载调度决策历史序列AG,并逐步输出策略函数与价值函数的拟合结果,以确定下一步动作ai,直到获得最后一个动作a|V|-1为止。
缓存辅助任务协作卸载算法的训练过程包括深度强化学习和元学习两部分,下面分别对这两部分的训练方法进行详细讨论。
1、算法的深度强化学习部分
本发明基于PPO(Proximal Policy Optimization)算法对上述网络进行训练,PPO算法具有很好的探索能力和训练稳定性。由于该网络采用共享参数网络架构,因此总体优化目标函数是策略网络与价值网络目标函数的组合,
综上所述,策略网络参数优化的更新规则为
其中,α为Inner Loop训练的学习率。
2.算法的元学习部分
结合深度强化学习部分的训练方法,元学习部分的目标函数定义为
本发明采用一阶近似计算更新策略梯度,元学习中策略网络参数优化的更新规则为
其中,n为采样的学习任务的个数。θ′k为第k个任务的更新参数,β为深度强化学习部分训练的学习率。为了在训练过程中达到更好的效果,使用了Adam优化器代替随机梯度下降,将θ′k-θ看作一个梯度并使用Adam算法进行自适应参数优化。如算法2所示,初始化元策略参数,使用meta_bach_size=K来采样一批学习任务,对采样的每个学习任务进行训练,完成训练后通过Adam更新元策略参数。
实施例3算法流程
本发明提出了基于元强化学习的缓存辅助计算卸载方法,该方法分为为三个阶段:获取请求任务的缓存状态、获得学习模型(算法2)和求解卸载决策(算法1)两个部分。其整体思路如图1所示。
(1)获取任务缓存状态
步骤一:输入缓存执行阈值δs和缓存删除阈值δd。该阈值决定是否对任务进行缓存。
步骤二:计算缓存效益CU(i)。所占存储空间越小、网络收益越大、请求次数越多的内容缓存效用的值越大。
步骤三:决定任务缓存状态K。当缓存增益大于执行阈值δs时,将其缓存在移动边缘计算的节点上;当缓存增益小于删除阈值δd时,不进行缓存。
(2)获得学习模型
步骤一:通过全拓扑排序算法求解任务执行序列QG。
步骤二:采样k个学习任务,初始化元策略参数θ。
步骤三:采样获得状态行为集合,采取相应的动作,评估奖励。
步骤四:判断奖励是否收敛或者是否达到迭代次数上限。当奖励收敛或已达到迭代次数上限时,即可获取参数集合{θ′1,θ′2,...,θ′k}。当奖励不收敛或未达到迭代次数上限时,更新参数θ′k,同步评估网络和策略网络的参数返回步骤二。
步骤五:通过Adam更新元策略参数。
步骤六:判断奖励是否收敛或达到迭代次数上限。当奖励收敛或已达到迭代次数上限时,输出学习模型。当奖励不收敛或未达到迭代次数上限时,返回步骤四。
(3)求解卸载决策模块
步骤一:采样获得状态行为集合,采取相应的动作,评估奖励。
步骤二:判断奖励是否收敛或者是否达到迭代次数上限。当奖励收敛或达到迭代次数上限时,输出卸载决策序列YG,资源分配序列XG。当奖励不收敛或未达到迭代次数上限时,更新参数θ,同步评估网络和策略网络的参数,返回步骤一。
实施例4性能评估
为了评估本发明提出的基于深度强化学习的突发流量场景下边缘计算服务器资源管理方法的性能,我们使用Python搭建仿真环境并实现算法进行了仿真分析算法性能。下面对搭建的仿真环境进行简要介绍:
Python版本为Python 3.6;神经网络使用的开源库及版本为TensorFlow 1.15;移动边缘计算环境参数设置如表1所示。
表1实验参数设置
移动设备的应用程序请求中最大时延限制Tmax根据每个任务50ms设置,为了模拟多样化的应用程序学习任务,移动设备的任务调度图G由有向无环图生成器实现,以随机构造训练和测试时的请求任务。其中,任务规模表示所构造有向无环图应用中的任务数量,图的宽度表示在相同任务规模下图的形状趋势,图的密度用来描述有向无环图中任务之间依赖关系的密集程度。对生成的有向无环图中的每个任务taski,其输入数据和输出数据的大小相同(即)。计算通信比描述所生成的有向无环图应用的平均计算成本与通信成本的比率,高CCR以为计算密集型任务,基于CCR参数和传输数据量即可计算出任务所需要的计算资源大小wi。不同任务间参数传输的数据量服从均匀分布X~U(80,120),用户时延敏感性参数μ、用户的能量等级Bn均基于均匀分布随机选取,任务调度图生成参数设置如表2所示。
表2任务调度图生成参数设置
对于本发明提出的算法,使用Tensorflow架构实现。编码器使用2层Bi-LSTM网络,解码器使用两层LSTM网络,隐藏层神经元数量均设置为128。元学习部分和深度强化学习部分的学习率α和β分别设置为5×10-4和5×10-4。输出层使用Tanh作为激活函数。折扣因子γ=0.99,GAE折扣因子γ=0.95,元学习部分中使用的replay memory大小为105。策略网络和价值网络优化目标的平衡因数c=0.5,Clipp函数因数∈=0.3。最后将高斯噪声添加到每个action作为探索策略。
(一)计算卸载算法的效果评估
仿真实验将发明提出的方法与以下四种任务执行方式进行对比,对比在不同的任务规模下,对时延、能耗以及QoE感知用户效用函数的影响。
(1)最优穷举搜索:通过穷举法得到的最优卸载调度结果。
(2)随机卸载调度执行:随机决定任务的卸载调度方式。
(3)贪婪算法:启发式算法,将任务按顺序依照最大的用户效用函数,使用贪婪策略进行编排。
(4)PPO-based DRL算法:使用初始化参数对模型进行基于PPO训练的深度强化学习算法,执行500次梯度更新。
比较本发明提出的方法与各个基线算法的性能,将δ设置为0.5,任务间传输参数数据量大小设置为120,训练与评估方法与前文一致。由图2和图3实验结果可以看出,本发明提出的算法在每一个任务规模下的平均表现均优于基线算法,且在任务规模小于20时最接近于最优解。在任务规模为40时,本发明提出的方法对系统性能提升最大,此时,本发明提出的算法与PPO-based DRL算法相比可以节省24.5%的能耗和7.2%的时间,其他情况下本发明提出的算法均比PPO-based DRL算法和贪婪算法有一定程度的提升。这是因为对各个算法的测试集使用的是不同拓扑结构的有向无环图数据集,本发明提出的由于其中元学习策略无需大量的训练即能快速适应新的学习任务,而PPO-based DRL算法训练得到的模型对新任务的学习效果在较少的训练中有一定的偏差。
(二)缓存辅助机制的效果评估
为了评估缓存辅助机制对性能的影响,将δ设置为0.5,对不同任务规模的用户应用请求进行如下三种执行策略,比较对应消耗的能耗和时延。
(1)随机卸载调度执行:随机决定任务的卸载调度方式,但决策后可直接使用边缘节点的任务主动缓存传回任务结果。
(2)无缓存辅助的边-端协作卸载调度执行:不依据边缘缓存状态做卸载决策,但决策后可直接使用边缘节点的任务主动缓存传回任务结果。
(3)缓存辅助的边-端协作卸载调度执行:本发明提出的方法。
图4和图5的实验结果可以看出本发明提出的方法与随机卸载相比可以大大降低移动设备任务的执行时延和能耗,说明通过任务的主动缓存机制,并根据任务缓存结果做卸载决策的方式可以进一步降低时延和能耗。另外,随着每个有向无环图任务规模的增加,平均时延和能耗降低的越多,这是由于随着任务规模的增大,任务命中缓存的任务会增多,从而节省的时延和能耗会更多。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.基于元强化学习的缓存辅助任务协作卸载与资源分配方法,其特征在于,包括以下四个步骤:
S1、在移动协作式应用场景下建立缓存辅助的任务协作卸载与资源分配模型,包括边缘环境模型、计算任务模型、计算任务执行方式模型、时延模型、能耗模型、缓存效益模型、马尔可夫决策过程卸载模型;
步骤S1中时延模型建立方法为:任务在移动设备本地执行时延为其中,wi为任务i所需要的计算资源,fn为MDn的CPU计算能力;任务通过计算卸载到边缘执行的数据上传时延为其中,表示任务i的输入数据大小,Rn,m表示MDn到边缘节点m之间的链路数据率;任务通过计算卸载到边缘执行的任务处理时延为其中,fm为节点m的CPU计算能力;任务通过计算卸载到边缘执行的数据接收时延为其中,表示任务i的输出数据大小,Rn,m表示MDn到边缘节点n之间的链路数据率;任务通过计算卸载到边缘执行的任务间参数的传输时延包括一跳模式和两跳模式两种情况:1)一跳模式:任务i+1执行节点在任务i执行节点的通信范围内,任务i与任务i+1之间直接通信传递中间参数,设节点m需要的参数数据量大小可表示为Jm,则一跳模式下的参数传输时延为:2)两跳模式:任务i+1执行节点不在任务i执行节点的通信范围内,中间参数可通过一个任意的转发节点完成传输,设两跳模式下转发节点为n,则两跳模式下的参数传输时延为缓存辅助的应用程序卸载调度决策达成的应用程序执行总时延为:
步骤S1中能耗模型为:任务在移动设备本地执行能耗:其中,vn为MDn上每个CPU计算周期所消耗的能量,vn=κfn 2,κ为能量系数;任务通过计算卸载的总能量消耗主要包括:向边缘服务器上传数据的能耗和从边缘服务器接收数据的能耗,分别为和Pn为MDn向边缘节点m的发送功率,为从边缘节点m的接收功率;缓存辅助的应用程序卸载调度决策完成的应用程序执行总能耗为:
S2、获取请求任务的缓存状态,S2包括以下步骤:
S201、输入缓存执行阈值δs和缓存删除阈值δd;
S202、计算缓存效益CU(i);
S203、决定任务缓存状态K,当缓存增益大于执行阈值δs时,将其缓存在移动边缘计算的节点上;当缓存增益小于删除阈值δd时,不进行缓存;
S3、获得学习模型,S3包括以下步骤:
S301:通过全拓扑排序算法求解任务执行序列QG;
S302:采样k个学习任务,初始化元策略参数θ;
S303:采样获得状态行为集合,采取相应的动作,评估奖励;
S304:判断奖励是否收敛或者是否达到迭代次数上限,当奖励收敛或已达到迭代次数上限时,即可获取参数集合{θ′1,θ′2,...,θ′k},当奖励不收敛或未达到迭代次数上限时,更新参数θ′k,同步评估网络和策略网络的参数返回步骤S302;
S305:通过Adam更新元策略参数;
S306:判断奖励是否收敛或者是否达到迭代次数上限,当奖励收敛或已达到迭代次数上限时,输出学习模型;当奖励不收敛或未达到迭代次数上限时,返回S304;
S4、求解卸载决策,S4包括以下步骤:
S401:采样获得状态行为集合,采取相应的动作,评估奖励;
S402:判断奖励是否收敛或者是否达到迭代次数上限,当奖励收敛或达到迭代次数上限时,输出卸载决策序列YG,资源分配序列XG,当奖励不收敛或未达到迭代次数上限时,更新参数θ,同步评估网络和策略网络的参数,返回S401。
3.根据权利要求2所述的基于元强化学习的缓存辅助任务协作卸载与资源分配方法,其特征在于,步骤S1中计算任务模型的建立方法为:每个时隙边缘节点接收到来自移动设备的应用程序计算请求,每个计算请求Reqn由二元组组成,Reqn={G,Tmax},该应用程序计算请求在给定的时延约束Tmax内完成,将该应用程序计算请求划分为I个逻辑独立的计算任务,使用有向图描述任务的关系G=(V,E),其中,V表示计算任务的集合,V={task1,task2,…,taskI},E表示计算任务间的关系,每个计算任务taski用三元组表示其中,表示任务i的输入数据大小,包括输入参数和任务执行代码,wi为任务i所需要的计算资源,表示任务i的计算结果。
4.根据权利要求3所述的基于元强化学习的缓存辅助任务协作卸载与资源分配方法,其特征在于,步骤S1中计算任务执行方式模型建立方法为:将一个应用程序中的计算任务分配至多节点协作执行,提供三种计算任务执行方式,分别为:任务本地执行、任务边缘卸载执行和缓存辅助的任务边缘卸载执行;其中,任务本地执行方式为,Yi为二进制本地执行决策变量,Yi=1,表示任务i在移动设备本地上执行,Yi=0,表示任务i在不在移动设备本地上执行;任务边缘卸载执行方式为,Xm,i为二进制边缘执行决策变量,Xm,i=1表示任务i在边缘节点m上执行,Xm,i=0表示任务i不在边缘节点m上执行,移动设备的应用程序调度满足缓存辅助的任务边缘卸载执行方式为,Km,i为二进制缓存感知变量,Km,i=1表示任务i被节点m上的缓存命中,Km,i=0表示任务i没有被节点m上的缓存命中。当Xm,i=1且Km,i=1时,表示任务卸载过程中使用了存储在节点m的缓存。
5.根据权利要求1所述的基于元强化学习的缓存辅助任务协作卸载与资源分配方法,其特征在于,步骤S1中缓存效益模型为:缓存收益函数CU(i)=PC(i)/Size(i)*CR(i),其中,PC(i)为内容流行度,Size(i)表示任务i需要缓存的数据所占的存储空间,CR(i)为内容缓存的网络收益。
8.根据权利要求1所述的基于元强化学习的缓存辅助任务协作卸载与资源分配方法,其特征在于,算法的训练过程包括深度强化学习和元学习两部分,深度强化学习部分基于PPO算法对网络进行训练,元学习部分采用一阶近似计算更新策略梯度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704204.3A CN113434212B (zh) | 2021-06-24 | 2021-06-24 | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704204.3A CN113434212B (zh) | 2021-06-24 | 2021-06-24 | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113434212A CN113434212A (zh) | 2021-09-24 |
CN113434212B true CN113434212B (zh) | 2023-03-21 |
Family
ID=77753950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110704204.3A Active CN113434212B (zh) | 2021-06-24 | 2021-06-24 | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434212B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205353B (zh) * | 2021-11-26 | 2023-08-01 | 华东师范大学 | 一种基于混合动作空间强化学习算法的计算卸载方法 |
CN115250142B (zh) * | 2021-12-31 | 2023-12-05 | 中国科学院上海微系统与信息技术研究所 | 一种基于深度强化学习的星地融合网络多节点计算资源分配方法 |
CN114860337B (zh) * | 2022-05-17 | 2023-07-25 | 华东师范大学 | 一种基于元强化学习算法的计算卸载方法 |
CN115016858B (zh) * | 2022-05-24 | 2024-03-29 | 武汉大学 | 一种基于后决策状态深度强化学习的任务卸载方法 |
CN114860345B (zh) * | 2022-05-31 | 2023-09-08 | 南京邮电大学 | 一种智能家居场景下基于缓存辅助的计算卸载方法 |
CN115118780B (zh) * | 2022-06-06 | 2023-12-01 | 支付宝(杭州)信息技术有限公司 | 获取资源分配模型的方法、资源分配方法及对应装置 |
CN115276754B (zh) * | 2022-06-20 | 2023-06-16 | 南京邮电大学 | 一种基于栅格时延预测的卫星传输优化方法 |
CN115484304B (zh) * | 2022-08-02 | 2024-03-19 | 重庆邮电大学 | 一种基于轻量级学习的实时服务迁移方法 |
CN115426409A (zh) * | 2022-08-25 | 2022-12-02 | 深圳清华大学研究院 | 基于主动缓存mec的通信资源分配与任务卸载方法 |
CN116009990B (zh) * | 2023-02-01 | 2024-03-29 | 天津大学 | 基于宽注意力机制的云边协同元强化学习计算卸载方法 |
CN116595575A (zh) * | 2023-04-18 | 2023-08-15 | 广州大学 | 一种面向边缘智能控制器的依赖任务卸载和隐私保护方法 |
CN117251296B (zh) * | 2023-11-15 | 2024-03-12 | 成都信息工程大学 | 一种具有缓存机制的移动边缘计算任务卸载方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586696A (zh) * | 2020-04-29 | 2020-08-25 | 重庆邮电大学 | 一种基于多智能体架构强化学习的资源分配及卸载决策方法 |
CN112860350A (zh) * | 2021-03-15 | 2021-05-28 | 广西师范大学 | 一种边缘计算中基于任务缓存的计算卸载方法 |
CN113010282A (zh) * | 2021-03-03 | 2021-06-22 | 电子科技大学 | 一种基于深度强化学习的边云协同串行任务卸载方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461145B2 (en) * | 2019-01-28 | 2022-10-04 | EMC IP Holding Company LLC | Building neural networks for resource allocation for iterative workloads using reinforcement learning |
US11620568B2 (en) * | 2019-04-18 | 2023-04-04 | Oracle International Corporation | Using hyperparameter predictors to improve accuracy of automatic machine learning model selection |
US11544566B2 (en) * | 2019-06-03 | 2023-01-03 | International Business Machines Corporation | Deep learning model insights using provenance data |
US11669780B2 (en) * | 2019-11-06 | 2023-06-06 | International Business Machines Corporation | Asynchronous multiple scheme meta learning |
EP3828773A1 (en) * | 2019-11-28 | 2021-06-02 | GoodAI Research s.r.o. | Improved artificial intelligence system |
CN111160525B (zh) * | 2019-12-17 | 2023-06-20 | 天津大学 | 一种边缘计算环境下基于无人机群的任务卸载智能决策方法 |
CN112367353B (zh) * | 2020-10-08 | 2021-11-05 | 大连理工大学 | 基于多智能体强化学习的移动边缘计算卸载方法 |
CN112882815B (zh) * | 2021-03-23 | 2022-10-25 | 南京邮电大学 | 基于深度强化学习的多用户边缘计算优化调度方法 |
-
2021
- 2021-06-24 CN CN202110704204.3A patent/CN113434212B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586696A (zh) * | 2020-04-29 | 2020-08-25 | 重庆邮电大学 | 一种基于多智能体架构强化学习的资源分配及卸载决策方法 |
CN113010282A (zh) * | 2021-03-03 | 2021-06-22 | 电子科技大学 | 一种基于深度强化学习的边云协同串行任务卸载方法 |
CN112860350A (zh) * | 2021-03-15 | 2021-05-28 | 广西师范大学 | 一种边缘计算中基于任务缓存的计算卸载方法 |
Non-Patent Citations (3)
Title |
---|
动态雾计算网络中基于在线学习的任务卸载算法;谭友钰等;《中国科学院大学学报》(第05期);全文 * |
移动边缘计算中计算卸载与资源分配的联合优化策略;龙隆等;《高技术通讯》(第08期);全文 * |
移动边缘计算中资源受限的串行任务卸载策略;刘伟等;《软件学报》(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113434212A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113434212B (zh) | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 | |
CN113950066B (zh) | 移动边缘环境下单服务器部分计算卸载方法、系统、设备 | |
CN109639760B (zh) | 一种基于深度强化学习的d2d网络中的缓存策略方法 | |
CN112422644B (zh) | 计算任务卸载方法及系统、电子设备和存储介质 | |
CN113141317B (zh) | 流媒体服务器负载均衡方法、系统、计算机设备、终端 | |
CN113867843B (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN113626104B (zh) | 边云架构下基于深度强化学习的多目标优化卸载策略 | |
CN113760511B (zh) | 一种基于深度确定性策略的车辆边缘计算任务卸载方法 | |
Chen et al. | Cache-assisted collaborative task offloading and resource allocation strategy: A metareinforcement learning approach | |
CN113778691B (zh) | 一种任务迁移决策的方法、装置及系统 | |
CN116489712B (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN115913712A (zh) | 基于多用户多接入点的任务卸载隐私保护系统及方法 | |
CN113573342A (zh) | 一种基于工业物联网的节能计算卸载方法 | |
CN114090108A (zh) | 算力任务执行方法、装置、电子设备及存储介质 | |
CN114912041A (zh) | 信息处理方法、电子设备和计算机程序产品 | |
CN113114762A (zh) | 一种数据缓存方法及系统 | |
CN110743164B (zh) | 一种用于降低云游戏中响应延迟的动态资源划分方法 | |
CN117459112A (zh) | 基于图卷积网络的leo卫星网络中的移动边缘缓存方法及设备 | |
CN116700931A (zh) | 多目标边缘任务调度方法、装置、设备、介质及产品 | |
CN111510473A (zh) | 访问请求处理方法、装置、电子设备和计算机可读介质 | |
CN116305747A (zh) | 一种基于改进鲸鱼优化算法的工作流多目标调度方法 | |
CN114860345B (zh) | 一种智能家居场景下基于缓存辅助的计算卸载方法 | |
Cai et al. | A Multi-objective Optimization Approach to Resource Allocation for Edge-Based Digital Twin | |
CN117939505B (zh) | 一种车辆边缘网络中基于激励机制的边缘协作缓存方法及系统 | |
CN117834643B (zh) | 一种面向工业物联网的深度神经网络协同推理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |