CN111953759B - 基于强化学习的协同计算任务卸载和迁移的方法及装置 - Google Patents
基于强化学习的协同计算任务卸载和迁移的方法及装置 Download PDFInfo
- Publication number
- CN111953759B CN111953759B CN202010770330.4A CN202010770330A CN111953759B CN 111953759 B CN111953759 B CN 111953759B CN 202010770330 A CN202010770330 A CN 202010770330A CN 111953759 B CN111953759 B CN 111953759B
- Authority
- CN
- China
- Prior art keywords
- task
- current
- migration
- unloading
- user terminal
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供的基于强化学习的协同计算任务卸载和迁移的方法及装置,通过使用云边端协同网络中用户终端及服务器执行任务能耗及任务传输能耗,用户终端及服务器执行任务时延、任务传输时延及EN到云端服务器的时延,在能耗约束下,基于延迟成本最小化为目标,完成对用户设备端、云端、边缘端的能耗和延迟成本的优化,从而得到最优任务卸载和迁移策略。这样可以通过云边端协同网络,在优化能耗和延迟的基础上,协同目标端卸载任务,节省任务计算的端到端时延,优化网络能耗;并且,对任务迁移的边缘节点,通过任务迁移,提升边缘端的资源利用率,从而提升了云边端协同网络的资源利用率。
Description
技术领域
本发明涉及通信技术领域,特别是涉及的基于强化学习的协同计算任务卸载和迁移的方法及装置。
背景技术
目前随着第五代移动通信***(5th Generation Mobile Networks,5G)的商业推广使得物联网设备成倍增加,推动了物与物通信的快速发展。
集成用户终端、移动边缘计算(Mobile Edge Computing,简称MEC)端和云端构成了云边端协同网络构架。在该构架中,用户终端主要负责实时性高、计算简单的任务,MEC负责时延敏感型、计算密集型任务,云平台负责延迟不敏感、资源密集型或计算复杂的任务。基于此,使得如何实现云边端协同网络构架的任务均衡,提升资源利用率成为亟待解决的问题。
发明内容
本发明实施例的目的在于提供的基于强化学习的协同计算任务卸载和迁移的方法及装置,用以实现云边端协同网络构架的任务均衡,提升资源利用率。具体技术方案如下:
第一方面,本发明实施例提供了一种基于强化学习的协同计算任务卸载和迁移的方法,所述方法包括:
获取云边端协同网络的能耗及延迟成本,所述能耗包括:用户终端执行任务能耗、任务传输能耗、服务器执行任务能耗,所述延迟成本包括:所述用户终端执行任务时延、任务传输时延、所述服务器执行任务时延、边缘节点到云端服务器的时延,所述服务器为云端服务器及边缘端服务器;
基于所述能耗及所述延迟成本,采用基于强化学习的云边缘终端联合计算卸载和迁移算法,确定最优任务卸载和迁移策略,以使所述用户终端按照所述最优任务卸载和迁移策略,卸载任务至目标端以及任务迁移的边缘节点按照所述最优任务卸载和迁移策略进行任务迁移;其中,所述最优任务卸载和迁移策略包括:目标端以及任务迁移的边缘节点,所述基于强化学习的云边缘终端联合计算卸载和迁移算法是通过在所述能耗约束下,基于最小化所述延迟成本为目标,采用所述强化学习,从多个任务卸载和迁移策略中确定所述最优任务卸载和迁移策略。
进一步的,所述基于所述能耗及所述延迟成本,采用基于强化学习的云边缘终端联合计算卸载和迁移算法,确定最优任务卸载和迁移策略,包括:
步骤A,获取用户终端的所有任务;
步骤B,对每个用户终端的任务,生成多个任务卸载和迁移策略,其中所述多个任务卸载和迁移策略包括:假定任务被卸载到用户设备端上,假定任务被卸载到云端上和/或假定任务被卸载到边缘端上;
步骤C,获取强化学习的预设学习率α、初始化每一状态动作对(s,a)对应的Q(s,a)值、初始化奖励R,初始化当前迭代次数p、总迭代次数Ep、初始化多个任务卸载和迁移策略、预设的有限动作集合A及随机初始化的状态;其中,所述随机初始化的状态为从多个任务卸载和迁移策略中,随机选择一个任务卸载和迁移策略的变化作为状态;
步骤D,在选择的任务卸载和迁移策略下,计算所有用户终端的任务的Lyapunov漂移加惩罚边界,作为初始边界;
步骤E,根据从所述有限动作集合A中随机选择的一个动作a,确定当前任务卸载和迁移策略,并计算当前边界其中,所述当前边界为在时隙t内所有用户终端的任务的当前Lyapunov漂移加惩罚边界,并且,所述当前边界相较于所述初始边界发生变化;
步骤G,根据更新后的当前奖励R及所述预设学习率α,计算Q(s,a)值,作为更新后的当前Q(s,a)值;
步骤H,根据状态转移策略P,选择所述有限状态集合的一个状态,作为更新后的当前状态;其中,所述状态转移策略P是以预定概率χ随机选择有限状态集合中的状态作为下一状态,或者,以概率1-χ选择边界贡献值最大的任务对应的任务卸载和迁移策略OM的变化作为下一状态;
步骤I,判定更新后的当前Q(s,a)值没有满足迭代结束条件,并且当前迭代次数p没有达到所述总迭代次数Ep,则返回步骤D,按照更新后的当前状态继续执行,直至更新后的当前Q(s,a)值满足所述迭代结束条件,得到最优任务卸载和迁移策略OMm,i。
进一步的,所述方法还包括:
在步骤D,在选择的任务卸载和迁移策略下,计算所有用户终端的任务的Lyapunov漂移加惩罚边界,作为初始边界之后,在步骤E,根据从所述有限动作集合A中随机选择的一个动作a,并计算当前边界之前,在当前迭代次数p未达到所述总迭代次数Ep的情况下,根据所述状态转移策略P,选择所述有限状态集合的一个状态,作为更新后的当前状态;
根据更新后的当前状态,确定当前有限动作集合;
从所述当前有限动作集合中选择一个动作,其中,所述动作为随机选取一个用户终端的任务和当前状态关联的任务卸载和迁移策略;
根据从所述有限动作集合A中随机选择的一个动作a,确定关联的任务卸载和迁移策略;
第二方面,本发明实施例提供了一种基于强化学习的协同计算任务卸载和迁移的装置,所述装置包括:
控制模块,用于获取云边端协同网络的能耗及延迟成本,所述能耗包括:用户终端执行任务能耗、任务传输能耗、服务器执行任务能耗,所述延迟成本包括:所述用户终端执行任务时延、任务传输时延、所述服务器执行任务时延、边缘节点到云端服务器的时延,所述服务器为云端服务器及边缘端服务器;
资源分配模块,用于基于所述能耗及所述延迟成本,采用基于强化学习的云边缘终端联合计算卸载和迁移算法,确定最优任务卸载和迁移策略,以使所述用户终端按照所述最优任务卸载和迁移策略,卸载任务至目标端以及任务迁移的边缘节点按照所述最优任务卸载和迁移策略进行任务迁移;其中,所述最优任务卸载和迁移策略包括:目标端以及任务迁移的边缘节点,所述基于强化学习的云边缘终端联合计算卸载和迁移算法是通过在所述能耗约束下,基于最小化所述延迟成本为目标,采用所述强化学习,从多个任务卸载和迁移策略中确定所述最优任务卸载和迁移策略。
进一步的,所述资源分配模块,用于:
步骤A,获取用户终端的所有任务;
步骤B,对每个用户终端的任务,生成多个任务卸载和迁移策略,其中所述多个任务卸载和迁移策略包括:假定任务被卸载到用户设备端上,假定任务被卸载到云端上和/或假定任务被卸载到边缘端上;
步骤C,获取强化学习的预设学习率α、初始化每一状态动作对(s,a)对应的Q(s,a)值、初始化奖励R,初始化当前迭代次数p、总迭代次数Ep、初始化多个任务卸载和迁移策略、预设的有限动作集合A及随机初始化的状态;其中,所述随机初始化的状态为从多个任务卸载和迁移策略中,随机选择一个任务卸载和迁移策略的变化作为状态;
步骤D,在选择的任务卸载和迁移策略下,计算所有用户终端的任务的Lyapunov漂移加惩罚边界,作为初始边界;
步骤E,根据从所述有限动作集合A中随机选择的一个动作a,并计算当前边界其中,所述当前边界为在时隙t内所有用户终端的任务的当前Lyapunov漂移加惩罚边界,并且,所述当前边界相较于所述初始边界发生变化;
步骤G,根据更新后的当前奖励R及所述预设学习率α,计算Q(s,a)值,作为更新后的当前Q(s,a)值;
步骤H,根据状态转移策略P,选择所述有限状态集合的一个状态,作为更新后的当前状态;其中,所述状态转移策略P是以预定概率χ随机选择有限状态集合中的状态作为下一状态,或者,以概率1-χ选择边界贡献值最大的任务对应的任务卸载和迁移策略OM的变化作为下一状态;
步骤I,判定更新后的当前Q(s,a)值没有满足迭代结束条件,并且当前迭代次数p没有达到所述总迭代次数Ep,则返回步骤D,按照更新后的当前状态继续执行,直至更新后的当前Q(s,a)值满足所述迭代结束条件,得到最优任务卸载和迁移策略OMm,i。
第三方面,本发明实施例提供了一种数据中心服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一的方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。
第五方面,本申请实施例提供了一种应用程序,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。
第六方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。
本发明实施例有益效果:
本发明实施例提供的基于强化学习的协同计算任务卸载和迁移的方法及装置,通过使用云边端协同网络中用户终端及服务器执行任务能耗及任务传输能耗,用户终端及服务器执行任务时延、任务传输时延及EN到云端服务器的时延,在能耗约束下,基于延迟成本最小化为目标,完成对用户设备端、云端、边缘端的能耗和延迟成本的优化,从而得到最优任务卸载和迁移策略。这样可以通过云边端协同网络,在优化能耗和延迟的基础上,协同目标端卸载任务,可以节省任务计算的端到端时延,优化网络能耗;并且,对任务迁移的边缘节点,通过任务迁移,提升边缘端的资源利用率,从而提升了云边端协同网络的资源利用率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的云边端协同网络的结构示意图;
图2为本发明实施例提供的基于强化学习的协同计算任务卸载和迁移的方法的流程示意图;
图3为本发明实施例的基于强化学习的协同计算任务卸载和迁移的方法的具体实现流程示意图;
图4(a)为本发明实施例的***长期能耗的示意图;
图4(b)为本发明实施例的***平均时延的示意图;
图5为本发明实施例的任务负载对***平均时延的影响的示意图;
图6为本发明实施例的不同V下的长期能耗和时延变化;
图7为本发明实施例的不同学习率对奖励的影响;
图8为本发明实施例的基于强化学习的协同计算任务卸载和迁移的装置的结构示意图;
图9为本发明实施例提供的数据中心服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于强化学习的协同计算任务卸载和迁移的方法及装置,实现云边端协同网络构架的任务均衡,提升资源利用率。下面首先结合图1,对本发明实施例提供的一种基于强化学习的协同计算任务卸载和迁移的方法,应用的云边端协同网络进行介绍。
上述云边端协同网络包括三层:用户设备层、边缘层、云层。
其中,用户设备层由物联网应用如智能家居、智能灾难救援、智慧教育、智能电网、智慧医疗、智能旅游、智慧交通等智能应用的多个用户终端(User Equipment,简称UE)组成。每个UE具有一定的计算和储存能力,可以为其运行的应用程序提供计算和通信服务。
与用户设备层通过无线网络连接的边缘层,该层由多个边缘节点(Edge Node,简称EN)组成,每个EN可以但不限于包括一个MEC服务器(Mobile Edge Computing Server,简称MECS),或者,小型基站(Small Base Station,简称SBS),每个EN中的SBS连接多个UE,通过SBS与UE的通信。而EN之间由LAN连接,可以传输任务。MECS用于接收UE的数据进行处理。
EN通过EN到云端服务器的网络连接到云层。并且,此云层包括数据中心和服务层。数据中心由具有强大计算能力的云服务器组成。云服务器通过其具有强大计算能力来实现的服务,形成服务层。此服务层服务于各种智能应用。另外,云边缘终端联合计算卸载和迁移(Cloud Edge Terminal Joint Computing Offloading And Migration,简称JCOM)资源分配模块,也位于云层,具体部署在数据中心层和服务层之间。JCOM资源分配模块不断地与数据中心层和服务层交换信息,以实现各智能应用。JCOM资源分配模块还通过控制模块向边缘层发出指令。
上述云边端协同网络的三层也可以称为三端,即用户设备端、边缘端、云端,MEC服务器也可以称为边缘端服务器,而云端的云服务器也可以称为云端服务器。
基于上述云边端协同网络的介绍,下面继续对本发明实施例提供的一种基于强化学习的协同计算任务卸载和迁移的方法,应用的场景进行介绍。
本发明实施例所提供的一种基于强化学习的协同计算任务卸载和迁移的方法,应用于监控、感知、通用连接以及智能信息处理和控制等场景。
接着,继续介绍本发明实施例所提供的一种基于强化学习的协同计算任务卸载和迁移的方法的具体实现过程。
如图2所示,本发明实施例所提供的一种基于强化学习的协同计算任务卸载和迁移的方法,可以应用于数据中心服务器,该方法本发明实施例提供的基于强化学习的协同计算任务卸载和迁移的方法可以包括如下步骤:
步骤11,获取云边端协同网络的能耗及延迟成本,能耗包括:用户终端执行任务能耗、任务传输能耗、服务器执行任务能耗,延迟成本包括:用户终端执行任务时延、任务传输时延、服务器执行任务时延、边缘节点到云端服务器的时延,服务器为云端服务器及边缘端服务器。
本发明实施例通过考虑能耗和延迟成本,确定出最优任务卸载和迁移策略,以满足最低能耗和最低延迟成本的网络需求。
对于上述延迟成本而言,云边端协同网络的延迟成本指的是云边端协同网络的总时延成本。其中传输时延包括:UE通过无线网络与EN进行数据传输的时延,以及EN与云端服务器进行数据交互的时延。这样通过考虑UE及EN执行任务时延、传输时延及EN到云端服务器的时延,从而后期基于这些延迟成本,联合能耗,完成能耗和延迟成本的优化,提高了最优任务卸载和迁移策略的有效性。
而,对于上述能耗而言,能耗的主要因素包括信号强度、数据传输速率等网络特性。因此,在整个任务处理过程中,都存在能量消耗,即能耗,因此,通过考虑UE及EN执行任务能耗以及传输能耗,从而后期实现此能耗,联合延迟成本,完成能耗和延迟成本的优化,提高了最优任务卸载和迁移策略的有效性。
上述任务是指用户终端生成的需要处理的各个任务。为了实现对这些任务的处理,云层确定出最优任务卸载和迁移策略,以使用户终端将各任务卸载到用户设备端、云端和/或边缘端,即目标端。并且,发明人发现在云边端协同网络中由于边缘层中的流量分布是异构的、动态的,导致单个EN计算能力不能满足用户的需求,而且网络中流量存在分布不均衡,资源利用率很低,能量消耗率高的问题,因此,基于这些问题,促使发明研究多个EN之间的任务迁移。此任务迁移通过将任务从重负载边缘节点向轻负载边缘节点迁移,来实现云边端协同网络的任务均衡,提升资源利用率。具体实现过程介绍如下。
步骤12,基于能耗及延迟成本,采用基于强化学习的云边缘终端联合计算卸载和迁移算法,确定最优任务卸载和迁移策略,以使用户终端按照最优任务卸载和迁移策略,卸载任务至目标端以及任务迁移的边缘节点按照最优任务卸载和迁移策略进行任务迁移;其中,最优任务卸载和迁移策略包括:目标端以及任务迁移的边缘节点,基于强化学习的云边缘终端联合计算卸载和迁移算法是通过在能耗约束下,基于最小化延迟成本为目标,采用强化学习,从多个任务卸载和迁移策略中确定最优任务卸载和迁移策略。
在本发明实施例中,通过使用云边端协同网络中用户终端及服务器执行任务能耗及任务传输能耗,用户终端及服务器执行任务时延、任务传输时延及EN到云端服务器的时延,在能耗约束下,基于延迟成本最小化为目标,完成对用户设备端、云端、边缘端的能耗和延迟成本的优化,从而得到最优任务卸载和迁移策略。这样可以通过云边端协同网络,在优化能耗和延迟的基础上,协同目标端卸载任务,可以节省任务计算的端到端时延,优化网络能耗;并且,对任务迁移的边缘节点,通过任务迁移,提升边缘端的资源利用率,从而提升了云边端协同网络的资源利用率。
为了方便理解使用强化学习获得最优任务卸载和迁移策略的思想实现过程。
以下详细叙述发明人的思考过程:
针对物联网应用产生的不同的任务,在执行以下步骤12的具体实现过程之前,本发明实施例的方法还包括:首先在云边端协同网络中,根据任务卸载和迁移的通信与计算资源需求,确定云边端协同网络的能耗及延迟成本;接着在能耗限制下,以最小化时延成本为目标,确定该目标的优化问题,即再接着采用李亚普诺夫Lyapunov技巧将问题转化为求解能耗时延加权和最小化问题接着再将问题转化为求解Lyapunov漂移加惩罚边界最小值的问题最后,基于强化学习JCOM算法,求解问题确定最优任务卸载和迁移策略。具体说明如下。
(1)、在能耗约束下,为了优化任务卸载并实现最小化云边端协同网络的总延迟成本。
首先,上述步骤11可以在能耗约束下,通过如下公式,获取时延成本:
需要说明的是,Rm,i为将与第i个边缘节点连接的第m个用户终端的任务 为时隙t中将与第i个边缘节点连接的第m个用户终端的任务,Um,i为通过第i边缘节点连接的第m个用户终端,m和i为序号,为时隙t中Rm,i执行的总延迟成本,为Um,i在时隙t产生任务的卸载策略集合,为Um,i在时隙t产生任务的迁移策略集合,local为用户终端,mec为边缘端,cloud为云端,为Rm,i在用户终端的计算时延,为EN到云端服务器的时延,为第i边缘节点和第i边缘节点和与第i边缘节点连接的Um,i之间的传输时延,为Rm,i的迁移时延,为边缘节点的计算时延,bh、tx、c及con用于区分各时延,并无实际物理含义。每个时隙卸载策略由为,为将被卸载到用户终端上处理,为将被卸载到边缘端上处理,为将被卸载到云端处理,其中,在每个时隙只能有一个为1。为任务Rm,i需要的CPU处理周期,fm,i为每个用户终端Um,i的CPU处理频率。为任务Rm,i数据大小的bit大小,rm,i为Um,i到边缘节点i的传输速率,γ为EN到云端服务器的网络单位任务的传输时延,Cm,i为任务与单位任务的比值,τ为单位任务迁移的时延,ψt为通过EN到云端服务器传输到云的工作负载总量,j为边缘节点的序号,N为边缘节点的总数,为单个任务在边缘端的迁移策略,为时隙t中将与第i个边缘节点连接的第m个用户终端的任务迁移到第j边缘节点,βj为边缘节点服务器的服务速率,为时隙t完成迁移后边缘节点j的工作负载,为边缘网络中迁移的总工作负载。
其中,用户终端Um,i每个以概率ζ产生一个任务请求Rm,i,用一个三元组 为。R代表单位任务,Rm,i的数据大小是单位任务的倍数。Rm,i数据大小为bit,需要的处理密度(in CPU cycles/bit),根据任务的大小和处理密度可以得到任务Rm,i需要的CPU处理周期为Rm,i的最大处理时延。
云边端协同网络中的用户终端可以请求不同类型的服务,因此处理计算任务所需的CPU周期数在每个时隙为可变的。每个用户终端Um,i的CPU处理频率为fm,i,k为和芯片结构有关的有效开关电容。
其次,上述步骤11可以通过如下公式,获取能量成本,作为云边端协同网络的能耗:
其中,为时隙t中Rm,i执行Rm,i的能量成本,k为取决于芯片结构的有效开关电容,为第i个边缘节点固定的传输功率,κj为第j个边缘节点服务器执行单位任务的能耗,TX无具体物理含义,用于与其他功率进行区分,为时隙t中Um,i到第i个边缘节点中的下行链路业务流量。
(2)、在上述能耗和延迟成本基础上,为了每个时隙在能耗约束下,云边端协同网络的执行计算任务总延迟最小化。上述步骤12通过如下公式,建立任务卸载和迁移策略,作为目标模型,通过优化此目标模型,确定最优任务卸载和迁移策略:
其中,为优化问题,s.t.为约束,xt为时隙t内所有任务的卸载策略,yt为时隙t内所有任务的迁移策略,T为一个周期,为求期望的符号,i为序号,N为边缘节点的数量,m为第i个边缘节点连接的终端设备,Mi为第i个边缘节点连接的终端设备数量,为时隙集合,为存在,为Um,i的能耗,l为用户终端,为Um,i的能耗上限,max为最大,为xlocal,xmec,xcloud中的任一者,为时隙t中的第i个MECS的能量消耗,即能耗,为第i个MECS的长期平均能量预算,为MECS的能量上限,Ft为所有的迁移策略。约束(a)是每个时隙中每个任务的延迟要求,以便能够保证所有用户的服务质量。约束(b)为UE在每个时隙的能耗不应超过上限。约束(c)为卸载策略的可行性。约束(d)是长期的能量约束。为每个MECS的长期平均能源预算。约束(d)用于限制一个MECS在预设时间段内的总能耗。约束(e)为MECS的能量消耗不应超过每个时隙的上限。约束(f)为MECS任务迁移策略的可行性。
(3)、为了保证云边端协同网络中各节点的稳定性,基于李雅普诺夫优化方法,转化上述任务卸载和迁移策略,使得优化目标变成能耗时延加权和的最小化,得到转化后的任务卸载和迁移策略,作为新的目标模型,通过优化此新的目标模型,确定最优任务卸载和迁移策略:
其中,为求解李雅普诺夫漂移加惩罚的边界问题,s.t.为约束,为和问题中的约束条件一样,V为时延能耗权衡控制因子,Zi(t)是第i个MECS的能量消耗队列,为第i个MECS的能耗,由于长期平均能耗有限,需要对每个时段的能耗进行管控。因此,Zi(t)为时隙t中第i个MECS的当前能量消耗与能量预算的偏差。为了满足能量预算约束为时隙总数,必须保持能量消耗队列稳定,即这样通过构造的MECS能量消耗队列,来描述MECS长期能量供应和消耗之间的关系,通过维护MECS能量消耗队列的稳定性,来维持边缘网络中负载的均衡,维护网络的稳定。
对于上述公式中的各参数已经在上述介绍中已进行一一解释,在此不再详述。
用向量为Rm,i的任务卸载和迁移策略向量。在改变OMm,i时,如果变化时,需要同时改变ym,i,j,j∈N的值。将任务卸载和迁移策略的问题为一个马尔可夫决策过程马尔可夫决策过(Markov Decision Process,简称MDP),MDP的特征是4元组(S,A,P,R),采用强化学习中的Q-Learning算法求解任务卸载和迁移策略。根据如下内容,定义JCOM的4个特征,即Q-Learning中的状态S,动作a,奖励R。
A为有限有限动作集合。动作a∈A作用于当前状态所涉及的任务Rm,i,定义为当前任务和另一个OM与之不相同的任务交换卸载和迁移策略向量OM。例如动作指Rm,i和Rn,j交换OMm,i和OMn,j,且OMn,j≠OMn,j。特别地,动作为Rm,i改变自己的OMm,i而不和其他任务交换,如果OMm,i中发生变化,则需要同时改变ym,i,j,j∈N。
P是状态转移策略。P主要由fm,i的值决定,具体来说,下一时刻的状态以预定概率χ随机选择有限状态集合中的状态作为下一状态,或者,以概率1-χ选择边界贡献值最大的任务对应的任务卸载和迁移策略OM的变化作为下一状态。
JCOM算法是基于Q-Learning设计。Q-Learning是一种经典的RL算法,是记录Q值的一种学习方法。每个状态动作对s,a都有一个值Q(s,a)。对于每个步骤,计算Q(s,a)并将其存储在Q-矩阵中,该值可被视为长期奖励,然Q(s,a)的更新为:
其中,α是学习率,是折扣因子,s,a是当前状态和动作s',a'是下一个状态和动作。JCOM算法根据对卸载迁移策略的调整来使得网络整体的能耗和时延加权和的值趋于最小,即奖励的累计和趋于极大值时,得到云边端协同网络最优卸载策略。
基于上述目标定义及各问题等内容以后,通过以下步骤进行实际的求解,确定最优任务卸载和迁移策略。本发明实施例然根据强化学习计算设置初始化多个任务卸载和迁移策略,并且基于初始化多个任务卸载的和迁移策略,直至生成找到最优任务卸载和迁移策略。因此,如图3所示,上述步骤12的一种可能的实现方式中,步骤21,获取用户终端的所有任务。
步骤22,对每个用户终端的任务,生成多个任务卸载和迁移策略,其中多个任务卸载和迁移策略包括:假定任务被卸载到用户设备端上,假定任务被卸载到云端上和/或假定任务被卸载到边缘端上。此步骤相当于随机初始化任务卸载和迁移策略。
步骤23,获取强化学习的预设学习率α、初始化每一状态动作对(s,a)对应的Q(s,a)值、初始化奖励R、初始化当前迭代次数p、总迭代次数Ep、初始化多个任务卸载和迁移策略、预设的有限动作集合A及随机初始化的状态;其中,s为强化学习的有限状态集合中的当前状态,当前状态为多个任务卸载和迁移策略发生变化的状态,a为有限动作集合A中的当前动作,当前动作为在当前用户终端的任务变化为下一用户终端的任务时,将当前用户终端的任务对应的任务卸载和迁移策略交换为下一用户终端的任务对应的任务卸载和迁移策略,为预设折扣因子,s'为下一状态,a'为下一动作,随机初始化的状态为从多个任务卸载和迁移策略中,随机选择一个任务卸载和迁移策略的变化作为状态。
需要说明的是,上述预设折扣因子及预设学习率可以根据用户需求进行设置。有限动作集合A也可以根据用户需求进行设置,上述有限动作集合的初始化为有限的有限动作集合,并且,有限状态集合也为有限的有限状态集合。初始化每一状态动作对(s,a)对应的Q(s,a)值是将Q(s,a)设置为0,即Q(s,a)=0。初始化奖励R也是将R设置为0,即R=0。
初始化当前迭代次数p也是将p设置为0,即p=0。
初始化多个任务卸载和迁移策略OM是在云端的资源分配模型上进行随机初始化,并且通过控制模块下发指令到边缘层与用户设备层。其中资源分配模型用于实现资源分配。
步骤24,在选择的任务卸载和迁移策略下,计算所有用户终端的任务的Lyapunov漂移加惩罚边界,作为初始边界。其中,从上述假定的多个任务卸载和迁移策略中选择的任务卸载和迁移策略,此任务也是假定的任务。
在上述步骤24之后,与步骤25之前,所述方法还包括:
步骤241,判断当前迭代次数p是否达到总迭代次数Ep,如果是,也就是当前迭代次数p达到总迭代次数Ep,则执行步骤242,输出任务卸载和迁移策略;如果否,也就是当前迭代次数p未达到总迭代次数Ep,则执行步骤243。
步骤243,根据状态转移策略P,选择有限状态集合的一个状态,作为更新后的当前状态;
步骤244,根据更新后的当前状态,确定当前有限动作集合。
本步骤244进一步包括:对更新后的当前状态,选择一个当前有限动作集合。
步骤245,从当前有限动作集合中选择一个动作,其中,动作为随机选取一个用户终端的任务和当前状态关联的任务卸载和迁移策略。
步骤25,根据从有限动作集合A中随机选择的一个动作a,确定当前任务卸载和迁移策略,并计算当前边界其中,当前边界为在时隙t内所有用户终端的任务的当前Lyapunov漂移加惩罚边界,并且,当前边界相较于初始边界发生变化。
上述步骤25进一步包括:根据从有限动作集合A中随机选择的一个动作a,确定关联的任务卸载和迁移策略;其中通过判断有限动作集合A是否已经均被选择过,即为空,在为空时,随机选择一个动作a,也就是,随机选取一个用户终端的任务和当前状态关联的任务卸载和迁移策略。在不为空时,则以预定概率χ随机选择有限状态集合中的状态作为下一状态。
对于上述公式中的各参数已经在上述介绍中已进行一一解释,在此不再详述。这样本步骤25可以根据从有限动作集合A中随机选择的一个动作a,采用如下公式确定当前任务卸载和迁移策略:以及,采用如下公式计算当前边界
步骤26,根据当前边界的变化,计算奖励R,作为更新后的当前奖励R;当前奖励R为状态动作对使Lyapunov漂移加惩罚边界产生的变化;即通过如上述公式计算奖励R,其中,fnow指的是的当前值,fbe指的是的当前之前相邻的上一数值。
步骤27,根据更新后的当前奖励R及预设学习率α,计算Q(s,a)值,作为更新后的当前Q(s,a)值;
步骤28,根据状态转移策略P,选择有限状态集合的一个状态,作为更新后的当前状态,并返回步骤241继续执行;其中,状态转移策略P是以预定概率χ随机选择有限状态集合中的状态作为下一状态,或者,以概率1-χ选择边界贡献值最大的任务对应的任务卸载和迁移策略OM的变化作为下一状态。该预定概率可以根据用户需求进行确定。
在返回步骤241执行时,所述方法可以判定更新后的当前Q(s,a)值没有满足迭代结束条件,并且当前迭代次数p没有达到总迭代次数Ep,则返回步骤25,按照更新后的当前状态继续执行,直至更新后的当前Q(s,a)值满足迭代结束条件,得到最优任务卸载和迁移策略OMm,i,其中,为与第i个边缘节点连接的第m个用户终端的任务对应的卸载和迁移策略向量,为与第i个边缘节点连接的第m个用户终端的任务是否卸载在云端,为与第i个边缘节点连接的第m个用户终端的任务是否卸载在边缘端,为与第i个边缘节点连接的第m个用户终端的任务是否卸载在用户设备端,ym,i,1为将与第i个边缘节点连接的第m个用户终端的任务是否迁移到第1个边缘节点上的任务迁移策略,ym,i,2为将与第i个边缘节点连接的第m个用户终端的任务是否迁移到第2个边缘节点上的任务迁移策略,ym,i,N为将与第i个边缘节点连接的第m个用户终端的任务是否迁移到第N个边缘节点上的任务迁移策略,中只有一个为1,其余为0,当时,表示第i个边缘节点连接的第m个用户终端的任务卸载在边缘端,ym,i,1,ym,i,2,……,ym,i,N中有一个为1,其余为0;当时,ym,i,1,ym,i,2,……,ym,i,N全部为0,当时,表示第i个边缘节点连接的第m个用户终端的任务卸载在云端,当时,表示第i个边缘节点连接的第m个用户终端的任务卸载在用户设备端,i、m均为序号,N为边缘节点的总数。
在一种可能的实现方式中,上述迭代结束条件可以但不限于包括:更新后的当前Q(s,a)值趋于最大极大值,即判断更新后的当前Q(s,a)值没有趋于最大极大值,并且当前迭代次数p是否达到总迭代次数Ep;如果否,也就是,更新后的当前Q(s,a)值没有趋于最大极大值,并且当前迭代次数p没有达到总迭代次数Ep,返回步骤242按照更新后的当前状态继续执行;如果是,也就是,更新后的当前Q(s,a)值趋于最大极大值,则执行输出任务卸载和迁移策略;或者,当前迭代次数p达到总迭代次数Ep,更新后的当前Q(s,a)值未趋于最大极大值,则确定最大Q(s,a)值对应的最优任务卸载和迁移策略OMm,i,并结束。这样更新后的当前Q(s,a)值趋于最大极大值,则奖励最大,进而Lyapunov漂移加惩罚边界的变化比较大,进而趋近于优化目标即而使得***的取最小值时,将得到最优的卸载迁移策略。因为的计算公式里就包括卸载迁移策略向量,最小的时候,因此可以得到最优的卸载迁移策略。
在另一种可能的实现方式中,迭代结束条件可以但不限于包括:
将更新后的当前Q(s,a)值作为本次更新后的当前Q(s,a)值,本次更新后的当前Q(s,a)值与上已迭代的更新后的当前Q(s,a)值之间的差距小于预设值,也就是说,本次更新后的当前Q(s,a)值趋于平稳值。其中,预设值可以根据用户需求进行确定,也可以是经验值。
在本发明实施例中,采用基于李雅普诺夫的能量队列对每个节点的迁移成本进行自适应的加权,在从而有效地减少了偏差并在随机环境中显示了显著的结果。JCOM实时的对网络环境进行反馈,改变“动作-状态对”,直到Q矩阵稳定,以接近最优的卸载迁移策略。
举例说明如下:假设m=3以及i=4,得到的最优任务卸载和迁移策略为OMm,i={0,1,0,0,1,……,0},指示以及ym,i,2=1,即用户终端的任务卸载在边缘端,且任务迁移的边缘节点为ym,i,2,那么将连接第i个边缘节点的第3个用户终端的任务卸载在边缘端,将连接第i个边缘节点的第3个用户终端的任务迁移到第2个边缘节点上。
假设m=3以及i=4,得到的最优任务卸载和迁移策略为OMm,i={0,1,0,0,1,……,0},指示以及ym,i,2=1,即连接第4个边缘节点的第3个用户终端的任务将要卸载在边缘端,但是并不在边缘节点4上处理,而将连接第4个边缘节点的第3个用户终端的任务迁移至第2个边缘节点上,最终任务通过迁移在第2个边缘节点上处理。
上述步骤12的另一种可能的实现方式,为了方便确定出最优任务卸载和迁移策略,在一种可能的实现方式中,基于能耗及延迟成本,对每个用户终端的任务,通过假定任务被卸载到用户设备端上、假定任务被卸载到云端上和/或假定任务被卸载到边缘端上,以及假定负载最大的第一预设数量个边缘节点与负载最小的第二预设数量个边缘节点之间的任务迁移,生成多个任务卸载和迁移策略;通过在能耗约束下,基于延迟成本最小化为目标,采用强化学习,从多个任务卸载和迁移策略中确定最优任务卸载和迁移策略。
其中,生成多个任务卸载和迁移策略的方式可以是基于能耗及延迟成本,按照用户预先设置的规则或随机,通过假定任务被卸载到用户设备端上、假定任务被卸载到云端上和/或假定任务被卸载到边缘端上,以及假定负载最大的第一预设数量个边缘节点与负载最小的第一预设数量个边缘节点之间的任务迁移,生成多个任务卸载和迁移策略。此用户预先设置的规则可以是按照云边端协同网络的能耗及延迟成本,假定将预设数量的部分任务卸载在用户设备端、云端及边缘端中的一端,将除部分任务以外的其他任务卸载均匀卸载在剩余两端中。此用户预先设置的规则也可以是云边端协同网络的能耗及延迟成本,将每个任务依次卸载在用户设备端、云端及边缘端。任何只要能够选择出最优任务卸载和迁移策略的规则,均可以属于本发明实施例的保护范围,在此不再一一举例。这样相当于设置初始的多个任务卸载和迁移策略,为后续能够更好的完成任务卸载做好基础。
上述假定负载最大的第一预设数量个边缘节点与负载最小的第一预设数量个边缘节点之间的任务迁移的假定方式多种,比如可以是按照云边端协同网络的能耗及延迟成本,假定负载最大的边缘节点与负载最小的边缘节点之间的任务迁移,负载次大的边缘节点与负载次小的边缘节点之间的任务迁移,以此类推。比如可以是按照云边端协同网络的能耗及延迟成本,假定负载最大的边缘节点随机选择从负载最小的第一预设数量个边缘节点中选择一个边缘节点,进行任务迁移。在此不再一一举例。
上述预设数量小于任务总数。第一预设数量可以根据用户需求进行设置。第一预设数量小于边缘节点的数量。比如但不限于,第一预设数量为200,负载最大的200个边缘节点与负载最小的200个边缘节点之间的任务迁移。这样相当于设置初始的多个任务卸载和迁移策略,负载最小的边缘节点必然能够承受负载最大的边缘节点的任务卸载,在上述初始的多个任务卸载和迁移策略的基础下,在后续学习强化计算中,会不断变化,直至生成找到最优任务卸载和迁移策略。
下面结合实例说明:
本发明实施例假设云边端协同网络部署在一个商业综合体中,其中业务租户部署自己的SBS和边缘节点服务器MECS来为其员工服务。本发明实施例假设每个业务租户平均将部署一个SBS,每个SBS配备一个MECS,并与多个用户终端UE相连接。预计的SBS/MECS数量为20个,每个SBS分配到的UE最多为20个。对于任意UE,其任务生成遵循到达率为[0,10]task/sec的Poisson过程。每个单位任务的预期CPU周期数为0.2M,其他任务时单位任务的倍数。考虑一个CPU周期的能耗为6.02nJ。对于典型的100Mb快速以太网LAN,一个单位任务的预期传输延迟为τ=200ms。平均信道增益为g0(1/100)4,其中g0=-40dB,噪声功率为σ2=10-10W/Hz。
将本发明实施例提供的基于强化学习的协同计算任务卸载和迁移的方法的性能与四个基准进行了比较:
1)、无任务迁移NoM:网络中未启用边缘节点之间的任务迁移。每个边缘节点自行处理从终端用户接收到的所有任务。此外,由于空间任务到达的异质性,一些边缘节点必须超越能量约束才能满足所有的任务,因此没有实施长期约束。
2)、延迟最优化T-Optimal:将计算卸载视为一个简单的延迟优化问题,目的是在不考虑长期能耗的情况下实现最低的***延迟。
3)、能量最优化E-Optimal:本发明实施例采用另一种方法,其中考虑了卸载的计算,目的是在不考虑延迟优化的情况下实现最低的***能量。
4)、边缘终端卸载T2E:本发明实施例提供的基于强化学习的协同计算任务卸载和迁移的方法不考虑云边缘终端协同卸载优化问题,只考虑能量和延迟约束下边缘层和用户设备层之间的计算卸载。
A、运行时性能评估:
图4(a)和图4(b)显示了通过运行JCOM获得的长期***性能,本发明实施例主要关注三个指标:图4(a)中的***能耗和图4(b)中的***平均时延。图4(a)和图4(b)所示的曲线明显波动,这是因为请求的任务类型不同,其输入数据大小和所需的CPU周期也不同。图4(b)明显地表明,D-最优具有最低的延迟成本,但非常高的能量成本,而E-最优则相反。因为这两种算法只是从一个角度考虑优化问题而没有考虑能耗和时延的加权和(折衷)。可以看出,由于边缘节点任务到达模式的时间空间异构性,使得没有边缘节点任务迁移的NoM算法对边缘节点资源的利用不足,因而具有较高的延迟代价和较大的能耗。由于回程网络产生的时延高、传输能耗大,T2E具有很高的时延成本和能耗。相比之下,由于充分利用了网络资源和云边缘终端协作卸载,所提出的JCOM具有非常低的能耗,接近E-最优且相对较低的延迟。
B、不同工作量的影响:
预期的输入任务是单位任务的倍数,每个任务的CPU周期数是不同的。从图5可以看出,随着单位任务工作量的增加,单位任务的CPU周期在[40,200]之间变化时,***延迟逐渐增加。这是因为当用户终端设备、边缘节点服务器和云服务器的计算能力保持不变时,任务工作量的增加必然导致延迟的增加。然而,本文提出的方法可以通过边缘节点的任务迁移来减缓延迟增长的速度,而没有任务迁移的算法具有很快的延迟增长速度。随着最大工作负载值的增加,任务的变化越来越大,无任务迁移的算法无法处理非均匀的任务分布,而JCOM可以平衡网络负载,提高资源利用率,减少延迟。
图6显示了控制参数V对JCOM性能的影响。结果表明,***的长期延迟成本与长期能耗之间存在一个O(1/V),O(V))的折衷关系,这与本发明实施例的理论分析是一致的。在V值较大的情况下,JCOM更注重***的延迟成本,而较少关注***的能耗。当V增大到接近1时,JCOM能够在能量消耗较大的情况下获得最优的延迟成本。很难确定V的最佳值,因为较低的***延迟成本是以较大的能耗为代价实现的。
图7主要描述了JCOM算法的步数与任务奖励之间的映射关系,即描述了强化学习***逼近目标函数的理想程度。从图7中可以看出,随着强化学习过程的推进,每一轮的实施效果都更接近理想的奖励函数。在这一过程中,学习者对经验的依赖程度越高,学习率越高。当学习率较低时,经验依赖较少,而依赖单次迭代的奖励反馈较多。但学习率较低,收敛速度降低,难以收敛到最大奖励值。
下面继续对本发明实施例提供的基于强化学习的协同计算任务卸载和迁移的装置进行介绍。
参见图8,图8为本发明实施例提供的基于强化学习的协同计算任务卸载和迁移的装置的结构示意图。本发明实施例所提供的基于强化学习的协同计算任务卸载和迁移的装置,可以包括如下模块:
控制模块41,用于获取云边端协同网络的能耗及延迟成本,能耗包括:用户终端执行任务能耗、任务传输能耗、服务器执行任务能耗,延迟成本包括:用户终端执行任务时延、任务传输时延、服务器执行任务时延、边缘节点到云端服务器的时延,服务器为云端服务器及边缘端服务器;
资源分配模块42,用于基于能耗及延迟成本,采用基于强化学习的云边缘终端联合计算卸载和迁移算法,确定最优任务卸载和迁移策略,以使用户终端按照最优任务卸载和迁移策略,卸载任务至目标端以及任务迁移的边缘节点按照最优任务卸载和迁移策略进行任务迁移;其中,最优任务卸载和迁移策略包括:目标端以及任务迁移的边缘节点,基于强化学习的云边缘终端联合计算卸载和迁移算法是通过在能耗约束下,基于最小化延迟成本为目标,采用强化学习,从多个任务卸载和迁移策略中确定最优任务卸载和迁移策略。
在一种可能的实现方式中,资源分配模块,用于:
步骤A,获取用户终端的所有任务;
步骤B,对每个用户终端的任务,生成多个任务卸载和迁移策略,其中多个任务卸载和迁移策略包括:假定任务被卸载到用户设备端上,假定任务被卸载到云端上和/或假定任务被卸载到边缘端上;
步骤C,获取强化学习的预设学习率α、初始化每一状态动作对(s,a)对应的Q(s,a)值、初始化奖励R,初始化当前迭代次数p、总迭代次数Ep、初始化多个任务卸载和迁移策略、预设的有限动作集合A及随机初始化的状态;其中,随机初始化的状态为从多个任务卸载和迁移策略中,随机选择一个任务卸载和迁移策略的变化作为状态;
步骤D,在选择的任务卸载和迁移策略下,计算所有用户终端的任务的Lyapunov漂移加惩罚边界,作为初始边界;
步骤E,根据从有限动作集合A中随机选择的一个动作a,确定当前任务卸载和迁移策略,并计算当前边界其中,当前边界为在时隙t内所有用户终端的任务的当前Lyapunov漂移加惩罚边界,并且,当前边界相较于初始边界发生变化;
步骤G,根据更新后的当前奖励R及预设学习率α,计算Q(s,a)值,作为更新后的当前Q(s,a)值;
步骤H,根据状态转移策略P,选择有限状态集合的一个状态,作为更新后的当前状态;其中,状态转移策略P是以预定概率χ随机选择有限状态集合中的状态作为下一状态,或者,以概率1-χ选择边界贡献值最大的任务对应的任务卸载和迁移策略OM的变化作为下一状态;
步骤I,判定更新后的当前Q(s,a)值没有满足迭代结束条件,并且当前迭代次数p没有达到总迭代次数Ep,则返回步骤D,按照更新后的当前状态继续执行,直至更新后的当前Q(s,a)值满足迭代结束条件,得到最优任务卸载和迁移策略OMm,i。
在一种可能的实现方式中,装置还包括:处理模块,用于:在当前迭代次数p未达到总迭代次数Ep的情况下,根据状态转移策略P,选择有限状态集合的一个状态,作为更新后的当前状态;
根据更新后的当前状态,确定当前有限动作集合;
从当前有限动作集合中选择一个动作,其中,动作为随机选取一个用户终端的任务和当前状态关联的任务卸载和迁移策略;
根据从有限动作集合A中随机选择的一个动作a,确定关联的任务卸载和迁移策略;
下面继续对本发明实施例提供的电子设备进行介绍。
参见图9,图9为本发明实施例提供的数据中心服务器的结构示意图。本发明实施例还提供了一种数据中心服务器,包括处理器51、通信接口52、存储器53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信,
存储器53,用于存放计算机程序;
处理器51,用于执行存储器53上所存放的程序时,实现上述一种基于强化学习的协同计算任务卸载和迁移的方法的步骤,在本发明一个可能的实现方式中,可以实现如下步骤:
获取云边端协同网络的能耗及延迟成本,能耗包括:用户终端执行任务能耗、任务传输能耗、服务器执行任务能耗,延迟成本包括:用户终端执行任务时延、任务传输时延、服务器执行任务时延、EN到云端服务器的时延,服务器为云端服务器及边缘端服务器;
基于能耗及延迟成本,采用基于强化学习的云边缘终端联合计算卸载和迁移算法,确定最优任务卸载和迁移策略,以使用户终端按照最优任务卸载和迁移策略,卸载任务至目标端以及任务迁移的边缘节点按照最优任务卸载和迁移策略进行任务迁移;其中,最优任务卸载和迁移策略包括:目标端以及任务迁移的边缘节点,基于强化学习的云边缘终端联合计算卸载和迁移算法是通过在能耗约束下,基于最小化延迟成本为目标,采用强化学习,从多个任务卸载和迁移策略中确定最优任务卸载和迁移策略。
上述电子设备提到的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于为,图中仅用一条粗线为,但并不为仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/数据中心服务器/存储介质/包含指令的计算机程序产品/计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (6)
1.一种基于强化学习的协同计算任务卸载和迁移的方法,其特征在于,所述方法包括:
获取云边端协同网络的能耗及延迟成本,所述能耗包括:用户终端执行任务能耗、任务传输能耗、服务器执行任务能耗,所述延迟成本包括:所述用户终端执行任务时延、任务传输时延、所述服务器执行任务时延、边缘节点到云端服务器的时延,所述服务器为云端服务器及边缘端服务器;
基于所述能耗及所述延迟成本,采用基于强化学习的云边缘终端联合计算卸载和迁移算法,确定最优任务卸载和迁移策略,以使所述用户终端按照所述最优任务卸载和迁移策略,卸载任务至目标端以及任务迁移的边缘节点按照所述最优任务卸载和迁移策略进行任务迁移;其中,所述最优任务卸载和迁移策略包括:目标端以及任务迁移的边缘节点,所述基于强化学习的云边缘终端联合计算卸载和迁移算法是通过在所述能耗约束下,基于最小化所述延迟成本为目标,采用所述强化学习,从多个任务卸载和迁移策略中确定所述最优任务卸载和迁移策略;
所述基于所述能耗及所述延迟成本,采用基于强化学习的云边缘终端联合计算卸载和迁移算法,确定最优任务卸载和迁移策略,包括:
步骤A,获取用户终端的所有任务;
步骤B,对每个用户终端的任务,生成多个任务卸载和迁移策略,其中所述多个任务卸载和迁移策略包括:假定任务被卸载到用户设备端上,假定任务被卸载到云端上和/或假定任务被卸载到边缘端上;
步骤C,获取强化学习的预设学习率α、初始化每一状态动作对(s,a)对应的Q(s,a)值、初始化奖励R,初始化当前迭代次数p、总迭代次数Ep、初始化多个任务卸载和迁移策略、预设的有限动作集合A及随机初始化的状态;其中,s为所述强化学习的有限状态集合中的当前状态,所述当前状态为多个任务卸载和迁移策略发生变化的状态,所述a为所述有限动作集合A中的当前动作,所述当前动作为在当前用户终端的任务变化为下一用户终端的任务时,将当前用户终端的任务对应的任务卸载和迁移策略交换为下一用户终端的任务对应的任务卸载和迁移策略,为预设折扣因子,s'为下一状态,a'为下一动作,所述随机初始化的状态为从多个任务卸载和迁移策略中,随机选择一个任务卸载和迁移策略的变化作为状态;
步骤D,在选择的任务卸载和迁移策略下,计算所有用户终端的任务的Lyapunov漂移加惩罚边界,作为初始边界;
步骤E,根据从所述有限动作集合A中随机选择的一个动作a,确定当前任务卸载和迁移策略,并计算当前边界其中,所述当前边界为在时隙t内所有用户终端的任务的当前Lyapunov漂移加惩罚边界,并且,所述当前边界相较于所述初始边界发生变化;
步骤G,根据更新后的当前奖励R及所述预设学习率α,计算Q(s,a)值,作为更新后的当前Q(s,a)值;
步骤H,根据状态转移策略P,选择所述有限状态集合的一个状态,作为更新后的当前状态;其中,所述状态转移策略P是以预定概率χ随机选择有限状态集合中的状态作为下一状态,或者,以概率1-χ选择边界贡献值最大的任务对应的任务卸载和迁移策略OM的变化作为下一状态;
步骤I,判定更新后的当前Q(s,a)值没有满足迭代结束条件,并且当前迭代次数p没有达到所述总迭代次数Ep,则返回步骤D,按照更新后的当前状态继续执行,直至更新后的当前Q(s,a)值满足所述迭代结束条件,得到最优任务卸载和迁移策略OMm,i,其中,为与第i个边缘节点连接的第m个用户终端的任务对应的卸载和迁移策略向量,为与第i个边缘节点连接的第m个用户终端的任务是否卸载在云端,为与第i个边缘节点连接的第m个用户终端的任务是否卸载在边缘端,为与第i个边缘节点连接的第m个用户终端的任务是否卸载在用户设备端,ym,i,1为将与第i个边缘节点连接的第m个用户终端的任务是否迁移到第1个边缘节点上的任务迁移策略,ym,i,2为将与第i个边缘节点连接的第m个用户终端的任务是否迁移到第2个边缘节点上的任务迁移策略,ym,i,N为将与第i个边缘节点连接的第m个用户终端的任务是否迁移到第N个边缘节点上的任务迁移策略,中只有一个为1,其余为0,当时,表示第i个边缘节点连接的第m个用户终端的任务卸载在边缘端,ym,i,1,ym,i,2,……,ym,i,N中有一个为1,其余为0;当时,ym,i,1,ym,i,2,……,ym,i,N全部为0,当时,表示第i个边缘节点连接的第m个用户终端的任务卸载在云端,当时,表示第i个边缘节点连接的第m个用户终端的任务卸载在用户设备端,i、m均为序号,N为边缘节点的总数。
2.如权利要求1所述的方法,其特征在于,在步骤D,在选择的任务卸载和迁移策略下,计算所有用户终端的任务的Lyapunov漂移加惩罚边界,作为初始边界之后,在步骤E,根据从所述有限动作集合A中随机选择的一个动作a,确定当前任务卸载和迁移策略,并计算当前边界之前,所述方法还包括:
在当前迭代次数p未达到所述总迭代次数Ep的情况下,根据所述状态转移策略P,选择所述有限状态集合的一个状态,作为更新后的当前状态;
根据更新后的当前状态,确定当前有限动作集合;
从所述当前有限动作集合中选择一个动作,其中,所述动作为随机选取一个用户终端的任务和当前状态关联的任务卸载和迁移策略;
根据从所述有限动作集合A中随机选择的一个动作a,确定关联的任务卸载和迁移策略;
3.一种基于强化学习的协同计算任务卸载和迁移的装置,其特征在于,所述装置包括:
控制模块,用于获取云边端协同网络的能耗及延迟成本,所述能耗包括:用户终端执行任务能耗、任务传输能耗、服务器执行任务能耗,所述延迟成本包括:所述用户终端执行任务时延、任务传输时延、所述服务器执行任务时延、边缘节点到云端服务器的时延,所述服务器为云端服务器及边缘端服务器;
资源分配模块,用于基于所述能耗及所述延迟成本,采用基于强化学习的云边缘终端联合计算卸载和迁移算法,确定最优任务卸载和迁移策略,以使所述用户终端按照所述最优任务卸载和迁移策略,卸载任务至目标端以及任务迁移的边缘节点按照所述最优任务卸载和迁移策略进行任务迁移;其中,所述最优任务卸载和迁移策略包括:目标端以及任务迁移的边缘节点,所述基于强化学习的云边缘终端联合计算卸载和迁移算法是通过在所述能耗约束下,基于最小化所述延迟成本为目标,采用所述强化学习,从多个任务卸载和迁移策略中确定所述最优任务卸载和迁移策略;
所述资源分配模块,用于:
步骤A,获取用户终端的所有任务;
步骤B,对每个用户终端的任务,生成多个任务卸载和迁移策略,其中所述多个任务卸载和迁移策略包括:假定任务被卸载到用户设备端上,假定任务被卸载到云端上和/或假定任务被卸载到边缘端上;
步骤C,获取强化学习的预设学习率α、初始化每一状态动作对(s,a)对应的Q(s,a)值、初始化奖励R,初始化当前迭代次数p、总迭代次数Ep、初始化多个任务卸载和迁移策略、预设的有限动作集合A及随机初始化的状态;其中,s为所述强化学习的有限状态集合中的当前状态,所述当前状态为多个任务卸载和迁移策略发生变化的状态,所述a为所述有限动作集合A中的当前动作,所述当前动作为在当前用户终端的任务变化为下一用户终端的任务时,将当前用户终端的任务对应的任务卸载和迁移策略交换为下一用户终端的任务对应的任务卸载和迁移策略,为预设折扣因子,s'为下一状态,a'为下一动作,所述随机初始化的状态为从多个任务卸载和迁移策略中,随机选择一个任务卸载和迁移策略的变化作为状态;
步骤D,在选择的任务卸载和迁移策略下,计算所有用户终端的任务的Lyapunov漂移加惩罚边界,作为初始边界;
步骤E,根据从所述有限动作集合A中随机选择的一个动作a,确定当前任务卸载和迁移策略,并计算当前边界其中,所述当前边界为在时隙t内所有用户终端的任务的当前Lyapunov漂移加惩罚边界,并且,所述当前边界相较于所述初始边界发生变化;
步骤G,根据更新后的当前奖励R及所述预设学习率α,计算Q(s,a)值,作为更新后的当前Q(s,a)值;
步骤H,根据状态转移策略P,选择所述有限状态集合的一个状态,作为更新后的当前状态;其中,所述状态转移策略P是以预定概率χ随机选择有限状态集合中的状态作为下一状态,或者,以概率1-χ选择边界贡献值最大的任务对应的任务卸载和迁移策略OM的变化作为下一状态;
步骤I,判定更新后的当前Q(s,a)值没有满足迭代结束条件,并且当前迭代次数p没有达到所述总迭代次数Ep,则返回步骤D,按照更新后的当前状态继续执行,直至更新后的当前Q(s,a)值满足所述迭代结束条件,得到最优任务卸载和迁移策略OMm,i,其中,为与第i个边缘节点连接的第m个用户终端的任务对应的卸载和迁移策略向量,为与第i个边缘节点连接的第m个用户终端的任务是否卸载在云端,为与第i个边缘节点连接的第m个用户终端的任务是否卸载在边缘端,为与第i个边缘节点连接的第m个用户终端的任务是否卸载在用户设备端,ym,i,1为将与第i个边缘节点连接的第m个用户终端的任务是否迁移到第1个边缘节点上的任务迁移策略,ym,i,2为将与第i个边缘节点连接的第m个用户终端的任务是否迁移到第2个边缘节点上的任务迁移策略,ym,i,N为将与第i个边缘节点连接的第m个用户终端的任务是否迁移到第N个边缘节点上的任务迁移策略,中只有一个为1,其余为0,当时,表示第i个边缘节点连接的第m个用户终端的任务卸载在边缘端,ym,i,1,ym,i,2,……,ym,i,N中有一个为1,其余为0;当时,ym,i,1,ym,i,2,……,ym,i,N全部为0,当时,表示第i个边缘节点连接的第m个用户终端的任务卸载在云端,当时,表示第i个边缘节点连接的第m个用户终端的任务卸载在用户设备端,i、m均为序号,N为边缘节点的总数。
4.如权利要求3所述的装置,其特征在于,所述装置还包括:处理模块,用于:在当前迭代次数p未达到所述总迭代次数Ep的情况下,根据所述状态转移策略P,选择所述有限状态集合的一个状态,作为更新后的当前状态;
根据更新后的当前状态,确定当前有限动作集合;
从所述当前有限动作集合中选择一个动作,其中,所述动作为随机选取一个用户终端的任务和当前状态关联的任务卸载和迁移策略;
根据从所述有限动作集合A中随机选择的一个动作a,确定关联的任务卸载和迁移策略;
5.一种数据中心服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-2任一所述的方法步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010770330.4A CN111953759B (zh) | 2020-08-04 | 2020-08-04 | 基于强化学习的协同计算任务卸载和迁移的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010770330.4A CN111953759B (zh) | 2020-08-04 | 2020-08-04 | 基于强化学习的协同计算任务卸载和迁移的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111953759A CN111953759A (zh) | 2020-11-17 |
CN111953759B true CN111953759B (zh) | 2022-11-11 |
Family
ID=73339282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010770330.4A Active CN111953759B (zh) | 2020-08-04 | 2020-08-04 | 基于强化学习的协同计算任务卸载和迁移的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111953759B (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486690B (zh) * | 2020-12-11 | 2024-01-30 | 重庆邮电大学 | 一种适用于工业物联网的边缘计算资源分配方法 |
CN112291793B (zh) * | 2020-12-29 | 2021-04-06 | 北京邮电大学 | 网络接入设备的资源分配方法和装置 |
CN112866006B (zh) * | 2020-12-31 | 2022-09-30 | 杭州电子科技大学 | 一种基于时延能耗权衡的云雾融合网络多目标任务卸载方法 |
CN113015216B (zh) * | 2021-02-05 | 2022-05-10 | 浙江大学 | 一种面向边缘服务网络的突发任务卸载与调度方法 |
CN112948114B (zh) * | 2021-03-01 | 2023-11-10 | 中国联合网络通信集团有限公司 | 边缘计算方法和边缘计算平台 |
CN113010282B (zh) * | 2021-03-03 | 2023-04-18 | 电子科技大学 | 一种基于深度强化学习的边云协同串行任务卸载方法 |
CN113055890B (zh) * | 2021-03-08 | 2022-08-26 | 中国地质大学(武汉) | 一种面向移动恶意网页的多设备组合优化的实时检测*** |
CN113011678B (zh) * | 2021-04-08 | 2023-07-14 | 国网辽宁省电力有限公司信息通信分公司 | 基于边缘计算的虚拟运营平台运行控制方法 |
CN113064767B (zh) * | 2021-04-15 | 2021-11-23 | 北京中科金马科技股份有限公司 | 一种数据协同处理方法及装置 |
CN113315818B (zh) * | 2021-05-10 | 2023-03-24 | 华东桐柏抽水蓄能发电有限责任公司 | 一种基于边缘计算的数据采集终端资源适配方法 |
CN113037805B (zh) * | 2021-05-11 | 2022-07-08 | 福州大学 | 面向移动边缘计算的多实例微服务迁移方法 |
CN113315659B (zh) * | 2021-05-26 | 2022-04-22 | 江西鑫铂瑞科技有限公司 | 一种面向智能工厂的任务协同规划方法及*** |
CN113419853A (zh) * | 2021-06-22 | 2021-09-21 | 中国工商银行股份有限公司 | 任务执行策略确定方法及装置、电子设备和存储介质 |
CN113452788B (zh) * | 2021-06-29 | 2022-04-26 | 中国地质大学(北京) | 一种动态网络中基于服务迁移的适配优化方法 |
CN113660303B (zh) * | 2021-07-02 | 2024-03-22 | 山东师范大学 | 一种端边网云协同的任务卸载方法及*** |
CN113641485A (zh) * | 2021-07-02 | 2021-11-12 | 山东师范大学 | 一种任务卸载节点选择方法及*** |
CN113448425B (zh) * | 2021-07-19 | 2022-09-09 | 哈尔滨工业大学 | 一种基于强化学习的动态并行应用程序能耗运行时优化方法及*** |
CN113596901B (zh) * | 2021-07-29 | 2024-03-08 | 西北大学 | 一种在线学习的并行边缘计算方法 |
CN113934534B (zh) * | 2021-09-27 | 2022-12-06 | 苏州大学 | 异构边缘环境下多用户序列任务计算卸载方法及*** |
CN113900739A (zh) * | 2021-10-27 | 2022-01-07 | 大连理工大学 | 一种多对多边缘计算场景下的计算卸载方法及*** |
CN114338662B (zh) * | 2021-11-10 | 2022-10-25 | 华南理工大学 | 一种基于用户公平性最大化的任务卸载与资源分配方法 |
CN114265630A (zh) * | 2021-11-26 | 2022-04-01 | 深圳大学 | 一种资源共享感知的在线任务卸载方法 |
CN114500524B (zh) * | 2021-12-13 | 2023-12-01 | 广东电网有限责任公司 | 一种边缘计算的云边资源协同卸载方法 |
CN114301911B (zh) * | 2021-12-17 | 2023-08-04 | 杭州谐云科技有限公司 | 一种基于边边协同的任务管理方法和*** |
CN114785782B (zh) * | 2022-03-29 | 2023-02-03 | 南京工业大学 | 面向异构云-边计算的通用的任务卸载方法 |
CN114727336B (zh) * | 2022-04-21 | 2024-04-12 | 中国联合网络通信集团有限公司 | 一种卸载策略确定方法、装置、电子设备及存储介质 |
CN114650515B (zh) * | 2022-05-13 | 2022-08-26 | 华东交通大学 | 一种应用于车联网的移动边缘计算服务动态迁移方法 |
CN115022322B (zh) * | 2022-06-02 | 2024-02-02 | 湖南第一师范学院 | 一种车联网中基于群智进化的边云协作任务卸载方法 |
CN115174584B (zh) * | 2022-06-30 | 2023-05-05 | 北京信息科技大学 | 边云协同计算管理方法 |
CN115567599A (zh) * | 2022-10-18 | 2023-01-03 | 南方电网科学研究院有限责任公司 | 一种云边协同计算的任务迁移方法、装置及设备 |
CN116489708B (zh) * | 2023-04-25 | 2024-01-30 | 北京交通大学 | 面向元宇宙的云边端协同的移动边缘计算任务卸载方法 |
CN116489711A (zh) * | 2023-04-25 | 2023-07-25 | 北京交通大学 | 一种基于深度强化学习的边缘计算网络的任务迁移方法 |
CN116208669B (zh) | 2023-04-28 | 2023-06-30 | 湖南大学 | 基于智慧灯杆的车载异构网络协同任务卸载方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347500A (zh) * | 2019-06-18 | 2019-10-18 | 东南大学 | 用于边缘计算环境中面向深度学习应用的任务卸载方法 |
CN110971706A (zh) * | 2019-12-17 | 2020-04-07 | 大连理工大学 | Mec中近似最优化与基于强化学习的任务卸载方法 |
CN111182582A (zh) * | 2019-12-30 | 2020-05-19 | 东南大学 | 面向移动边缘计算的多任务分布式卸载方法 |
CN112383931A (zh) * | 2020-11-12 | 2021-02-19 | 东华大学 | 一种多用户移动边缘计算***中最优化成本和时延方法 |
-
2020
- 2020-08-04 CN CN202010770330.4A patent/CN111953759B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347500A (zh) * | 2019-06-18 | 2019-10-18 | 东南大学 | 用于边缘计算环境中面向深度学习应用的任务卸载方法 |
CN110971706A (zh) * | 2019-12-17 | 2020-04-07 | 大连理工大学 | Mec中近似最优化与基于强化学习的任务卸载方法 |
CN111182582A (zh) * | 2019-12-30 | 2020-05-19 | 东南大学 | 面向移动边缘计算的多任务分布式卸载方法 |
CN112383931A (zh) * | 2020-11-12 | 2021-02-19 | 东华大学 | 一种多用户移动边缘计算***中最优化成本和时延方法 |
Non-Patent Citations (1)
Title |
---|
基于深度强化学习的移动边缘计算任务卸载研究;卢海峰等;《计算机研究与发展》;20200707(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111953759A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111953759B (zh) | 基于强化学习的协同计算任务卸载和迁移的方法及装置 | |
CN111953758B (zh) | 一种边缘网络计算卸载和任务迁移方法及装置 | |
CN109684075B (zh) | 一种基于边缘计算和云计算协同进行计算任务卸载的方法 | |
CN109947545B (zh) | 一种基于用户移动性的任务卸载及迁移的决策方法 | |
WO2023040022A1 (zh) | 一种在随机网络中基于算网协同的分布式计算卸载方法 | |
CN110234127B (zh) | 一种基于sdn的雾网络任务卸载方法 | |
CN112737823A (zh) | 一种资源切片分配方法、装置及计算机设备 | |
Nath et al. | Multi-user multi-channel computation offloading and resource allocation for mobile edge computing | |
CN111093203A (zh) | 一种基于环境感知的服务功能链低成本智能部署方法 | |
CN109167671A (zh) | 一种面向量子密钥分发业务的配用通信***均衡负载调度算法 | |
CN111475274A (zh) | 云协同多任务调度方法及装置 | |
CN109803292B (zh) | 一种基于强化学习的多次级用户移动边缘计算的方法 | |
EP4024212B1 (en) | Method for scheduling inference workloads on edge network resources | |
CN113573363A (zh) | 基于深度强化学习的mec计算卸载与资源分配方法 | |
Khumalo et al. | Reinforcement learning-based computation resource allocation scheme for 5G fog-radio access network | |
Xu et al. | Schedule or wait: Age-minimization for IoT big data processing in MEC via online learning | |
CN114785692A (zh) | 一种虚拟电厂聚合调控通信网络流量均衡方法及装置 | |
CN116828534B (zh) | 基于强化学习的密集网络大规模终端接入与资源分配方法 | |
CN115955685B (zh) | 多智能体协同路由方法、设备及计算机存储介质 | |
CN116302404B (zh) | 面向资源解耦合数据中心的服务器无感知计算调度方法 | |
CN109600432B (zh) | 内容中心移动边缘网络用户动态接入方法 | |
CN114615705B (zh) | 一种基于5g网络下单用户资源分配策略方法 | |
CN114567564B (zh) | 一种基于服务器协作的任务卸载和计算资源分配方法 | |
Tong et al. | FedTO: Mobile-aware task offloading in multi-base station collaborative MEC | |
Saxena et al. | Differential scale based multi-objective task scheduling and computational offloading in fog networks |
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 |