CN116700931A - 多目标边缘任务调度方法、装置、设备、介质及产品 - Google Patents
多目标边缘任务调度方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN116700931A CN116700931A CN202310744582.3A CN202310744582A CN116700931A CN 116700931 A CN116700931 A CN 116700931A CN 202310744582 A CN202310744582 A CN 202310744582A CN 116700931 A CN116700931 A CN 116700931A
- Authority
- CN
- China
- Prior art keywords
- task
- edge
- scheduling
- energy consumption
- model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000005265 energy consumption Methods 0.000 claims abstract description 85
- 238000005457 optimization Methods 0.000 claims abstract description 42
- 230000002787 reinforcement Effects 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 59
- 230000005540 biological transmission Effects 0.000 claims description 29
- 230000009471 action Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 7
- 238000005094 computer simulation Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 31
- 239000003795 chemical substances by application Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 230000000875 corresponding effect Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 235000006679 Mentha X verticillata Nutrition 0.000 description 3
- 235000002899 Mentha suaveolens Nutrition 0.000 description 3
- 235000001636 Mentha x rotundifolia Nutrition 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 101100272279 Beauveria bassiana Beas gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- 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)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种多目标边缘任务调度方法、装置、设备、介质及产品,可以应用于数据调度技术领域。该方法包括:构建边缘云系统模型,所述边缘云系统模型包括边缘计算架构和任务调度策略,所述边缘云系统模型用于执行当前任务,以最小化所述任务的失败率、所述任务的能耗和所述任务的时延为优化目标,构建任务调度模型,所述任务调度模型基于深度强化学习模型而构建,利用所述边缘计算架构,基于所述任务调度模型输出的任务调度策略执行所述任务,可提升任务执行效率。
Description
技术领域
本公开涉及任务调度领域,尤其涉及一种多目标边缘任务调度方法、装置、设备、介质及产品。
背景技术
目前,深度强化学习(Deep reinforcement learning,DRL)在边缘计算任务调度方法在边缘云计算场景下有广泛的应用。
深度强化学习是一种人工智能的学习方法,通过模拟不断学习和试错的过程来实现自我改进和优化。基本过程包括观察环境的状态,采取行动,获得奖励,并根据奖励来更新策略。深度强化学习在解决边缘云环境下的任务调度问题时具有良好的适应性、可扩展性:DRL模型可以适应动态环境,使其能够处理任务数量、计算节点状态和边缘资源的变化,有效地管理大规模边缘计算网络,在不确定状态下能够做出有效的决策。DRL算法可以学习优化涉及多个相互冲突目标的复杂目标,在需要同时考虑多个目标的边缘计算任务调度问题中具有良好的效果。它可以同时进行利用从与环境交互中获得的经验学习和在线学习,这种实时学习的能力使DRL算法非常适合解决环境不断变化的边缘计算任务调度问题。其中,深度Q网络(Deep-Q-Network,DQN)将深度神经网络(Deep Neural Networks,DNNs)与Q-learning算法相结合,通过使用神经网络来表示和学习Q函数,即动作值函数,表示智能体在某个状态下执行某个动作的质量,采用经验回放技术将智能体的经历存储在回放缓冲区中并随机抽取样本进行训练,并引入了目标网络用于稳定训练过程。在训练过程中通过ε-greedy策略平衡探索与利用,逐步更新神经网络的权重以逼近最优策略,DQN被广泛应用于解决具有大量状态和动作空间的问题,可以在动态的边缘环境中找到最优的任务分配策略。
对于多目标强化学习(Multi-Obj ective Reinforcement Learning,MORL),邓世权等人提出了一种基于DQN的多目标任务卸载算法,该算法考虑了任务之间的顺序关系,建立了以任务时延和能耗最小化为优化目标的多目标任务卸载模型,采用一个回合产生的完整轨迹代替原始DQN中一个时间步的转移样本作为经验池的最小单元来改进原始的DQN算法,并对不同目标使用不同的固定权重,仿真结果表明该算法优于原始DQN算法和基于分解的多目标进化算法。Tajmajer等人使用单独的DQN来控制智能体针对特定目标的行为,并引入了决策值使智能体在学习后可以更改特定目标的优先级,同时保持智能体的整体性能,并将该算法应用于模拟自动吸尘器的行为,使得吸尘器自动调整清除灰尘和避免与墙壁碰撞这两个目标的优先级,并通过实验证明了相比于对不同优化目标赋予相同优先级,该算法所指导的智能体整体表现更好。
边缘计算中的任务调度是一个在线的NP难问题,适合使用深度强化学习处理,针对移动边缘计算(Mobile Edge Computing,MEC)环境,邝祝芳等提出了一种多用户多任务下的任务卸载调度与资源分配算法,以最小化系统时延和传输耗能、本地耗能为目标。仿真结果表明,所提出的方法在降低时延和本地耗能方面有比较优越的性能。Zheng等提出了一种以平衡工作负载、减少服务时间和任务失败率为目标的DQN工作负载调度方法,将深度神经网络与Q学习相结合,解决了工作负载调度问题的复杂性和高维度,主要减少了服务时间、提高了虚拟机(VM)利用率。Tang等提出了一种结合了长短期记忆(LSTM)、决斗DQN(dueling deep Q-network,Dueling-DQN)的分布式算法,用于解决移动边缘计算系统中的任务卸载问题,使每个设备都可以在不知道其他设备的任务模型和卸载决策的情况下确定其卸载决策,提高了移动边缘计算系统的兼容性。
边缘云环境下进行任务调度存在以下难点:
1.边缘云计算平台众多设备硬件和软件结构存在差异性。一方面设备的异构性和资源的限制会导致任务在不同设备上的执行效率不同,另一方面计算节点的兼容性会导致任务的可移植性差,如果某个任务需要访问某种硬件资源,而这种硬件资源在某些设备中不存在,那么这个任务就可能无法在这些设备上执行,这使得任务在不同设备之间的调度变得困难。
2.边缘云网络条件复杂并且稳定性低。首先,边缘计算节点通常是分布式,由于设备移动性导致网络接入不稳定,设备存在接入和移出网络的情况,计算资源由于任务到达的随机性以及应用程序之间的工作负载的不同而呈现高度的动态性导致资源调度的复杂性增加。另一方面,网络带宽波动导致设备之间传输速率可能变化,任务执行时间与预期存在差异,需要进行重调度。
现有关于边缘云环境任务调度问题的研究多主要关注移动设备和移动网络,考虑多用户的MEC卸载场景,以最小化能耗或时延为目标。缺少对高度动态环境下任务的可靠性最大化以及针对以上多目标优化的研究。
发明内容
鉴于上述问题,本公开提供了多目标边缘任务调度方法、装置、设备、介质和程序产品,使用多目标强化学习训练一个智能体,并根据环境动态选择优化目标的权重,同时考虑了边缘计算节点的不同计算能力,以任务时延、任务执行成功率和设备能耗等多种因素作为优化目标,并随机生成多种测试场景对本文算法进行性能评估。在任务时延、执行成功率、设备能耗等方面本文算法均优于普通DQN算法以及Double-DQN算法。
根据本公开的第一个方面,提供了一种多目标边缘任务调度方法,包括:
构建边缘云系统模型,所述边缘云系统模型包括边缘计算架构和任务调度策略,所述边缘云系统模型用于执行当前任务;
以最小化所述任务的失败率、所述任务的能耗和所述任务的时延为优化目标,构建任务调度模型,所述任务调度模型基于深度强化学习模型而构建;
利用所述边缘计算架构,基于所述任务调度模型输出的任务调度策略执行所述任务。
根据本公开一实施例,所述边缘计算架构包括本地设备、边缘服务器和数据中心云主机;
在所述本地设备的计算资源和/或计算能力不满足预设要求时,将所述任务调度到与所述本地设备相邻的边缘服务器或数据中心云主机进行处理;
在所述任务由所述本地设备进行处理的情况下,利用预置的本地计算模型计算所述任务的时延和所述任务的能耗;
在所述任务由所述边缘服务器进行处理的情况下,利用预置的边缘计算模型计算所述任务的时延和所述任务的能耗;
在所述任务由所述数据中心云主机进行处理的情况下,利用预置的计算卸载模型计算所述任务的时延和所述任务的能耗。
根据本公开一实施例,最小化所述任务的时延minT:
C1:
C2:a0.a1,...aN+1∈{0,1}
C3:
其中,第i个任务的传输时延和执行时延分别为第i个任务的属性Ri=(αi,βi,ci,τi),αi表示第i个任务输入数据大小,βi表示第i个任务输出的数据大小,ci表示完成第i个任务所需的CPU周期总数,τi表示第i个任务的时延约束,任务调度决策向量为At={a0,a1,a2,…aN,aN+1}∈(0,1),所述任务调度决策向量中调度目标的值为1,非所述调度目标的值为0,N为所述边缘服务器的数量,/>分别表示第i个任务在本地设备、第N台边缘服务器、数据中心云主机的时延,fn代表第n台设备计算能力,单位为每秒CPU周期数;
C1为第i个任务执行成功的时间约束,第i个任务的传输时延和处理时延之和小于所述任务的时延约束为执行成功,否则视为任务执行失败;
C2为第i个任务在所述本地设备执行、在所述边缘服务器执行或在所述数据中心云主机,a1=1表示第i个任务在所述本地设备执行,an=1,n∈(2,N)表示第i个任务在所述边缘服务器执行,aN+1=1表示第i个任务在所述数据中心云主机执行;
C3为选择本地计算模型和边缘计算模型的任务所需的计算能力之和不超过本地设备或边缘服务器的全部计算能力,每台所述边缘服务器的计算能力为fn;
最小化任务的能耗E:其中,/>分别表示第i个任务在本地终端、边缘服务器、数据中心云主机上执行的能耗。
根据本公开一实施例,所述方法包括:
基于马尔可夫决策过程,构建所述深度强化学习模型,所述马尔可夫决策过程包括学习状态空间S、动作空间A和奖励函数R;
其中,S={s1,s2…sn},st=(ωt,ut,rt),st∈S;ωt代表t时刻网络的状态,ut代表所述边缘服务器的状态,ut包括所述边缘服务器和所述数据中心云主机在t时刻的计算能力和所述边缘服务器的连接性,ut=(ft,dt),其中ft=(f1,f2,…fN)代表所述边缘服务器在当前时刻的计算能力,dt=(d1,d2,…dn),dn∈(0,1),代表节点的状态,当dn=1时节点正常工作,当dn=0时节点断开连接,rt表示需要在t时刻进行调度的任务的信息rt=(αt,βt,ct,τt),所述节点为所述边缘云系统模型中的设备;
动作空间At=[a0,a1,a2,…,aN,aN+1],a0表示第i个任务在本地设备进行计算,a1,…,aN表示将第i个任务调度到相邻的边缘服务器之一的操作,aN+1表示将第i个任务调度到数据中心云主机的操作;
奖励函数R(t)={T(t),E(t)};
T(t)为第t时刻的时延奖励函数,E(t)为第t时刻的能耗奖励函数,当满足约束C1,C3表示第i个任务可以在最大时延约束内完成,奖励定义为最大时延约束与实际执行时间的差,Ti表示按照时延平均值来衡量第i个任务在边缘云系统模型不稳定环境下的传输时延和执行时延的和,τi表示第i个任务对应的时延约束,Emin为初始能耗,Emax为最大能耗,Ei为执行第i个任务的能耗,η为常数。
根据本公开一实施例,所述方法还包括:
在设置所述深度强化学习模型的奖励函数时,对所述优化目标为所述任务的失败率、所述任务的能耗和所述任务的时延的奖励进行归一化,使两种不同优化目标的奖励值位于同一区间。
根据本公开一实施例,所述方法还包括:
当所述任务的时延奖励函数接近最小值时,提高所述优化目标为所述任务的时延的权重;
当所述能耗奖励函数处于负值时,提高所述优化目标为所述任务的能耗的权重。
本公开的第二方面提供了一种多目标边缘任务调度装置,包括:
第一构建模块,用于构建边缘云系统模型,所述边缘云系统模型包括边缘计算架构和任务调度策略,所述边缘云系统模型用于执行当前任务;
第二构建模块,用于以最小化所述任务的失败率、所述任务的能耗和所述任务的时延为优化目标,构建任务调度模型,所述任务调度模型基于深度强化学习模型而构建;
执行模块,用于利用所述边缘计算架构,基于所述任务调度模型输出的任务调度策略执行所述任务。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。
根据本公开提供的多目标边缘任务调度方法、装置、设备、介质和程序产品,一方面,综合考虑了边缘云环境的特征,将边缘云环境中计算节点的动态性、边缘计算资源的异构性等特征在模型中量化表示,把任务调度问题转化为对于一个基于节点使用状态和待调度任务的特征进行任务时延和能耗的多目标优化问题。另一方面,建立DQN模型,并针对将奖励归一化后计算得出的q值进行动态权重调整,针对每一步的即时反馈进行操作,进而使得系统在不同状态对于多个优化目标分配不同的重要性使得系统能够优先满足重要性高的目标,较少的出现负奖励即任务调度失败的情况,提高了任务调度的成功率。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的边缘计算架构的示意图;
图2示意性示出了根据本公开实施例的多目标边缘任务调度方法的流程图;
图3示意性示出了根据本公开实施例的深度强化学习模型的示意图;
图4示意性示出了根据本公开实施例的三种任务调度方法的完成率的示意图;
图5示意性示出了根据本公开实施例的三种任务调度方法的任务的时延的示意图;
图6示意性示出了根据本公开实施例的三种任务调度方法的任务的能耗的示意图;
图7示意性示出了根据本公开实施例的多目标边缘任务调度装置的结构框图;
图8示意性示出了根据本公开实施例的适于实现多目标边缘任务调度方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,对数据的获取、收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
边缘云是基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台,将计算资源(例如服务器和存储)放置在更靠近生成数据的设备的位置,以确保更快的数据处理、减少时延、并提高各种应用程序中数据处理的整体效率,具有分布式架构、可扩展性和弹性、安全性和隐私性、异构计算等特征,如图1所示。
在本场景中,边缘云环境存在大量移动计算节点,由于节点的动态性、网络拥塞和干扰等因素,导致网络拓扑变化和链路质量变化,为了在这种情况下保持高可靠性,系统必须能够适应网络拓扑的频繁变化,处理间歇性连接,并确保节点之间的数据传输与通信。鉴于计算节点的动态性、边缘计算资源的异构性、以及处理器的地理分散性等优化需求,对资源分配和任务调度优化形成了新的挑战,因此需要使用合理的任务调度策略来保证资源使用的有效性和云上应用的服务体验。在边缘计算任务调度中,任务调度器的通常目标有最小化服务时延、最大化资源利用率、提高用户体验质量和降低能耗等。这需要考虑许多因素,包括任务的类型、数据的位置、边缘设备的资源限制和网络带宽等。
本发明通过将任务的失败率、边缘计算架构的能耗和任务的时延这三者设定为优化目标,进一步将Q值归一化改为每一回合奖励归一化,用动态权重代替固定权重,基于多目标深度Q网络(Multi-Objective Deep Q Network,MODQN)算法,通过约束条件计算对当前任务执行成功影响最大的因素,并通过动态权重提升该因素(时延或能耗)的优先级,使得模型能够在网络条件、任务时延和计算资源的约束下,最小化任务失败率和任务执行总成本。
图2示意性示出了根据本公开实施例的多目标边缘任务调度方法的流程图。
如图2所示,该实施例的多目标边缘任务调度方法包括操作S210~操作S230。
在操作S210,构建边缘云系统模型,该边缘云系统模型包括边缘计算架构和任务调度策略,该边缘云系统模型用于执行当前任务。
在操作S220,以最小化该任务的失败率、该任务的能耗和该任务的时延为优化目标,构建任务调度模型,该任务调度模型基于深度强化学习模型而构建。
在操作S230,利用该边缘计算架构,基于该任务调度模型输出的任务调度策略执行该任务。
在本公开中,边缘计算架构包括本地设备、边缘服务器和数据中心云主机,一般情况下,任务通常在本地设备执行,以最小化传输时延。当本地设备不能提供足够的计算资源或计算能力时,应将相应的任务调度到附近的边缘服务器或数据中心云主机进行处理。其中本地设备计算能力为fl;边缘服务器数量为N,第n台边缘服务器计算能力fn,第n台边缘服务器损坏概率dn;数据中心云主机数量为1,计算能力F。
任务调度策略:假设任务不可分且相互独立,作为一个整体卸载到边缘服务器或数据中心云主机执行。每个任务的属性由一个四元组表示:Ri=(αi,βi,ci,τi),其中αi表示第i个任务输入数据大小,βi表示第i个任务输出的数据大小(位),ci表示完成第i个任务所需的CPU周期总数,τi表示第i个任务的时延约束(最大容许时延)。任务调度决策向量为At={a0,a1,a2,…aN,aN+1}∈(0,1),任务调度决策向量中调度目标的值为1,其余值为0,a0=1代表任务在本地设备执行,an=1,n∈(1,N)表示任务在边缘服务器执行,aN+1=1表示任务在数据云中心进行处理。
在本公开中,在该任务由该本地设备进行处理的情况下,利用预置的本地计算模型计算该任务的时延。如果在本地移动设备进行计算,则传输时延可以忽略,任务执行时延主要包括本地CPU处理时延,如果在执行任务时节点状态发生变化,则需要将任务重新进行调度,利用本地计算模型计算第i个任务在本地设备的时延第i个任务在本地设备上执行的能耗/>其中,zi表示在本地设备上执行第i个任务的每个CPU周期能耗:zi=10-27(fl)2。
在本公开中,在该任务由该边缘服务器进行处理的情况下,利用预置的边缘计算模型计算该任务的时延。将任务上传至周围的边缘服务器进行计算,第i个任务在边缘服务器的时延包括数据传输时延与任务处理时延:
假设无线信道对称,则根据香农公式,边缘服务器之间的传输带宽如下,其中ω是系统带宽,Pt是边缘服务器的传输功率,在应用层中,可不考虑传输功率,将其看作常量,hn是边缘服务器之间的信道增益,与设备间的距离相关,σ2为噪声功率:
根据传输带宽可得到第i个任务的传输时延为:
第i个任务的执行时延为:/>
Pn是边缘服务器的运行功率,则执行第i个任务的能耗为
同时,当节点状态发生改变时,任务需要重新分配,重新分配的时延成本为任务数据从设备传输到重新分配的节点所需的时间和重新分配的节点上的执行时间之和:
dn∈(0,1),n∈(1,N),
则第i个任务在边缘服务器的时延为:
在本公开中,在该任务由该数据中心云主机进行处理的情况下,利用预置的计算卸载模型计算该任务的时延。需要通过无线接入网络向数据中心云主机上传输入数据,由数据中心云主机分配部分计算资源来完成的计算任务,最后由数据中心云主机将执行结果返回给计算设备。
其中设备与数据中心云主机之间传输数据的传输时延,也即第i个任务的传输时延为:第i个任务的执行时延:/>
向数据中心云主机传输第i个任务的传输能耗:
第i个任务的执行能耗:
则第i个任务的时延:
第i个任务的能耗:
在本公开一实施例中,根据上述本地设备执行任务时的任务的时延和任务的能耗、边缘服务器执行任务时的任务的时延和任务的能耗、数据中心云主机执行任务时的任务的时延和任务的能耗,本公开对任务调度问题的优化目标是最小化任务的失败率、边缘计算架构的能耗和任务的时延,则多目标优化问题表述如下:
最小化任务处理时延minT:
C1:
C2:a0.a1,…aN+1∈{0,1}
C3:
其中,C1,C2,C3代表任务执行条件和参数的约束。C1为该任务执行成功的时间约束,每个任务的传输时延和处理时延之和小于该任务的时延约束为执行成功,否则视为任务执行失败,需要重新调度;C2为该任务在该本地设备执行、在该边缘服务器执行或在该数据中心云主机,a1=1表示任务在该本地设备执行,an=1,n∈(2,N)表示任务在该边缘服务器执行,aN+1=1表示任务在该数据中心云主机执行;C3为选择本地计算模型和边缘计算模型的任务所需的计算能力之和不超过本地设备或边缘服务器的全部计算能力。
最小化任务的能耗E:
以上,将任务调度过程构建为Markov决策过程(Markov decision processes,MDP),设置一个具有多个目标的智能体并根据这些目标获取奖励,将这些不同计量单位的奖励归一化并使用动态权重设置来控制每一个优化目标权重对智能体的影响。基于马尔可夫决策过程,构建深度强化学习模型,该马尔可夫决策过程包括状态空间S、动作空间A和奖励函数R。
建立学习状态空间S:
S={s1,s2…sn},st=(ωt,ut,rt),st∈S;
其中,ωt代表t时刻时网络的状态,ut代表边缘服务器的状态,ut包括边缘服务器和数据中心云主机在t时刻的计算能力和边缘服务器连接性,ut=(ft,dt),其中ft=(f1,f2,…fN)代表了边缘服务器在当前时刻的计算能力,dt=(d1,d2,…dn),dn∈(0,1),代表节点的状态,当dn=1时节点正常工作,当dn=0时节点断开连接,rt表示需要在t时刻进行调度的任务的信息rt=(αt,βt,ct,τt),节点为该边缘云系统模型中的设备,如本地设备、边缘服务器和数据中心云主机。
建立动作空间A:
动作是智能体所做的决策,决定状态之间的传递规则。智能体根据当前环境的状态给出对应的动作,当任务到达时需要选择合适的服务器来执行任务,所以动作空间包括所有的边缘设备以及数据中心云主机,表示在时间t时任务在每个设备上的分配情况:At=[a0,a1,a2,…,aN,aN+1];对于给定的任务,操作空间将表示为一组离散的选择,每个选择对应于将任务分配给特定的服务器,其中,a0表示将任务本地计算,a1,…,aN表示将任务分配给附近边缘服务器之一的操作,aN+1表示将任务指派给数据中心云主机的操作。
奖励函数R:
奖励函数是智能体用于评价动作好坏的标准,用于描述在采取行动后从一个状态到另一个状态的即时回报,因此设计的奖励函数需要与优化目标息息相关,首先要确定优化目标,并根据其目标判断正奖励或负奖励。
在边缘云环境中主要是由于任务分配不合理,导致任务等待执行或传输时间过长,或由于网络中断与节点损坏而导致任务失败。优化目标是在确保任务执行成功的约束下最小化任务处理时延与能耗,首先,基于本地计算模型、边缘计算模型和计算卸载模型获得每个任务的总成本,任务的总成本包括任务的时延和任务的能耗:
R(t)={T(t),E(t)}
当执行决策满足约束C1,C3,表示第i个任务可以在最大时延约束内完成,实验奖励定义为最大时延约束与实际执行时间的差,Ti表示第i个任务的时延,τi表示第i个任务对应的时延约束,奖励的大小参考平均值来衡量,针对能耗的奖励为能耗最大值与当前任务能耗的差并进行归一化,Emin初始能耗为0,Emax为最大能耗,Ei为执行第i个任务的能耗。如果不满足C1,C3,则任务完成时间超过了其截止日期,表示该决策不可接受,奖励定义为负值,η通常设为-5。
其中,具体而言,Ti表示按照时延平均值来衡量第i个任务在边缘云系统模型不稳定环境下的传输时延和执行时延的和。在第i个任务在本地设备执行时,传输时延近似于。
以上,建立了一个具有多个目标的智能体,该智能体接收与这些目标相关的奖励,并且每个目标对应一个Q函数,为了提高算法对环境的适应性,需要动态选择在特定状态下更重要的目标,使用自适应权重调整代替固定权重将不同目标的奖励加权求和。
本公开在设置该深度强化学习模型的奖励函数时,对不同优化目标的奖励进行归一化,使两种不同优化目标的奖励值位于同一个区间,针对每一步的即时反馈进行操作,降低不同目标之间的奖励值差异,提高了算法的对数值变化的感知度。
在一可选的实施方式中,多目标动态权重调整方法可以动态地选择特定状态下更重要的奖励。每一个权重独立地对应DQN当前的状态,定义权重 表示优化目标i的权重。当智能体的状态接近其中一个优化目标时,将提高该目标对应的权重将使得智能体更加接近或远离该状态,如果智能体有多个目标,那么将最关注已经非常接近完成的目标。在任务成功执行条件的约束下,智能体有两个目标:降低任务的时延、降低任务的能耗,对应奖励的两个归一化函数,其中时延函数值为正,而当前任务能耗高于系统中平均任务能耗则奖励为负,反之则为正,由于两者直接相加可能会抵消导致做出无效的选择,所以应该针对不同状态调整优化目标的重要性,对应目标的奖励分别是T(t),E(t),两者的目标是分别最大化T(t),E(t)函数值。
在边缘云环境中,当任务时延奖励函数T(t)接近最小值时,任务完成时间接近最大时延约束,此时提高时延奖励函数T(t)的权重,使得智能体更重视任务完成时延带来的奖励和惩罚,而当能耗奖励函数E(t)处于负值时,应该提高任务传输和执行所需能耗的优化目标权重使得奖励更重视能耗对任务执行的影响。权重独立地对应DQN当前的状态,假设q1是与任务执行时延相关的DQN的输出,而q2是与能耗相关的DQN的输出,创建一个权重值奖励ρi并提供给执行动作的智能体,将权重值定义为关于状态的函数,返回策略π下状态s的值相对于特定目标的决策奖励,动态权重值ψi定义如下:
ρi=abs(r(t)i)
根据以上定义,定义的动态权重值将在接近奖励极值的周围提供高价值,在远离奖励极值的状态下提供低价值。因此,权重将提供在当前状态s和遵循策略π的情况下对于不同优化目标的重要性,其中策略π是Q函数为特定目标提供的策略。动作带来的奖励权重随着与奖励函数临界值的距离变化而改变,将权重缩放到范围[0,1],其中σ是sigmoid函数,αi是ψi的均值的近似值,而βi是ψi的标准差的近似值。
如下所示:
将作为不同目标DQN中q值的权重,将加权后的q值相加,获取an=argmaxQ(sj,aj,θ)作为输出。
在一可选的实施方式中,构造深度强化学习模型的损失函数。
DQN利用目标网络和训练网络来稳定整体网络性能,它们具有相同的结构但参数不同。在线网络使用参数θi并根据最小化损失函数进行更新。目标网络使用参数每间隔固定步数从在线网络复制一次。DQN使用深度卷积网络计算在线网络的动作价值函数,表示为Q(st,at,θi)。目标网络的动作值函数可以表示为:
其中,Rt表示在动作at后收到的奖励,γ∈[0,1]是折扣因子,表示当下奖励函数对未来奖励的考虑。在当前状态st选择最大q值的动作a执行,使状态转移至st+1。损失函数定义为在线网络与目标网络的价值函数之间的均方误差,选择L2范数损失,即平方损失,参数的更新如下:
本发明采用随机梯度下降(stochastic gradient descent,SGD)更新深度强化学习神经网络参数。则在小批量随机梯度下降中,梯度为对损失函数求偏导:
首先存储一定的经验池,之后从经验池中采样一个小批量batch放进网络,为了执行经验回放,我们将智能体的每个时间步t的经验et=(st,at,rt,st+1)存储在回放经验池中。在训练过程中,从回放经验池中随机选择一些经验数据,通过随机梯度下降更新网络的参数。经验回放机制的优点是可以打破数据相关性,使神经网络更新更高效。
权重可以使用TD-learning进行更新[7]:
ψi(st)←ψi(st)+α[ρi+γψi(st+1)-ψi(st)]
损失函数定义如下:
其中,算法示意图如图3所示。①:初始化经验池,初始化Q函数环境状态,并输入网络;②:计算动作对应的Q函数;③:根据当前状态和策略计算每个优化目标对应的权重;④:将不同优化目标的神经网络计算出的Q值向量与权重值相乘再相加,得到一个Q值向量;⑤:根据贪婪策略选择当前值函数最大的动作;⑥:执行动作,观测回报;⑦:更新环境状态;⑧:将这一四元组储存在经验池;⑨:从经验池中中均匀随机采样一个四元组输入网络;⑩:判断回合是否结束,结束则执行一次梯度下降算法,每隔200步更新一次目标网络的参数。
本发明基于pytorch网络框架编写仿真环境,对比多目标动态权重DQN、基准DQN、Double-DQN三种深度强化学习任务调度过程,其中基准DQN能耗与时延的权重固定为0.5。说明现有方法在指标为任务完成率、任务平均完成时间、节点能耗的优势。在仿真环境中使用相同的任务对三种任务调度算法进行测试,任务执行成功率、任务完成时延、任务累计能耗如图4-6所示,其中多目标动态权重DQN算法具有更好的效果。
边缘云环境由1台数据中心云主机、10台边缘服务器和边缘移动设备组成,边缘移动设备初始为100台,最大值为200台。任务数量随移动设备的增加而增加,根据设备的异构性,生成任务的速率不同,每个设备的任务生成速率服从λ∈[1,5]的泊松分布,每个边缘服务器的计算能力服从[1,5]GHz/sec[17]区间的均匀分布,节点断连概率dn=0.1;本地设备计算能力为0.6GHz,边缘设备的运行功率设置为Pn=200mw,产生的任务数量初始化为0,任务数据量(以kbit为单位)αi,βi服从(300,500)之间的均匀分布。移动设备和边缘云之间的传输带宽W设置为9Mbps,边缘云与数据中心云主机之间的传输带宽设置为20Mbps,网络包括两层全连接层,每层神经元个数为32,采用ReLU激活函数和Adam优化器。折扣因子γ为0.99,训练轮数Episode=1000,ε-贪婪策略的参数以衰减率为0.995,随着每个时间步从1减少到0.01。
图4示意性示出了根据本公开实施例的三种任务调度方法的完成率的示意图。当移动设备数量从100台增加到200台时,横坐标为设备数量,纵坐标为不同算法的任务完成率,随着设备和任务的逐渐增加,本发明提出的算法任务完成率高于基准DQN和Double-DQN算法。
图5示意性示出了根据本公开实施例的三种任务调度方法的任务的时延的示意图。当移动设备数量从100台增加到200台时,三种不同算法下的累计的任务的时延T如图5所示。本发明提出的算法任务时延低于基准DQN和Double-DQN算法。
图6示意性示出了根据本公开实施例的三种任务调度方法的任务的能耗的示意图。当移动设备数量从100台增加到200台时,三种不同任务数量下的累计的任务的能耗E如图6所示。本发明提出的算法累计能耗低于基准DQN和Double-DQN算法。
基于上述多目标边缘任务调度方法,本公开还提供了一种多目标边缘任务调度装置。以下将结合图7对该装置进行详细描述。
图7示意性示出了根据本公开实施例的多目标边缘任务调度装置的结构框图。
如图7所示,该实施例的多目标边缘任务调度装置700包括第一构建模块710、第二构建模块720和执行模块730。
第一构建模块710用于构建边缘云系统模型,该边缘云系统模型包括边缘计算架构和任务调度策略,该边缘云系统模型用于执行当前任务。在一实施例中,第一构建模块710可以用于执行前文描述的操作S210,在此不再赘述。
第二构建模块720用于以最小化该任务的失败率、该任务的能耗和该任务的时延为优化目标,构建任务调度模型,该任务调度模型基于深度强化学习模型而构建。在一实施例中,第二构建模块720可以用于执行前文描述的操作S220,在此不再赘述。
执行模块730用于利用该边缘计算架构,基于该任务调度模型输出的任务调度策略执行该任务。在一实施例中,执行模块730可以用于执行前文描述的操作S230,在此不再赘述。
根据本公开的实施例,该边缘计算架构包括本地设备、边缘服务器和数据中心云主机;
在该本地设备的计算资源和/或计算能力不满足预设要求时,将该任务调度到与该本地设备相邻的边缘服务器或数据中心云主机进行处理;
在该任务由该本地设备进行处理的情况下,利用预置的本地计算模型计算该任务的时延和该任务的能耗;
在该任务由该边缘服务器进行处理的情况下,利用预置的边缘计算模型计算该任务的时延和该任务的能耗;
在该任务由该数据中心云主机进行处理的情况下,利用预置的计算卸载模型计算该任务的时延和该任务的能耗。
根据本公开的实施例,最小化该任务的时延minT:
C1:
C2:a0.a1,…aN+1∈{0,1}
C3:
其中,任务数量为R,每个任务的属性为Ri=(αi,βi,ci,τi),αi表示该任务输入数据大小,βi表示该任务输出的数据大小,ci表示完成Ri所需的CPU周期总数,τi表示Ri的时延约束,任务调度决策向量为At={a0,a1,a2,...aN,aN+1}∈(0,1),该任务调度决策向量中调度目标的值为1,非该调度目标的值为0,a0=1代表该调度目标为本地设备,an=1,n∈(1,N)表示该调度目标为边缘服务器,aN+1=1表示该调度目标为数据云中心主机,N为该边缘服务器的数量;
C1为该任务执行成功的时间约束,每个任务Ri的传输时延和处理时延之和小于该任务的时延约束为执行成功,否则视为任务执行失败;
C2为该任务在该本地设备执行、在该边缘服务器执行或在该数据中心云主机,a1=1表示该任务在该本地设备执行,an=1,n∈(2,N)表示该任务在该边缘服务器执行,aN+1=1表示该任务在该数据中心云主机执行;
C3为选择本地计算模型和边缘计算模型的任务所需的计算能力之和不超过本地设备或边缘服务器的全部计算能力,每台该边缘服务器的计算能力为fn。
根据本公开的实施例,该方法包括:
基于马尔可夫决策过程,构建该深度强化学习模型,该马尔可夫决策过程包括学习状态空间S、动作空间A和奖励函数R;
其中,S={s1,s2…sn},st=(ωt,ut,rt),st∈S;ωt代表t时刻网络的状态,ut代表该边缘服务器的状态,ut包括该边缘服务器和该数据中心云主机在t时刻的计算能力和该边缘服务器的连接性,ut=(ft,dt),其中ft=(f1,f2,…fN)代表该边缘服务器在当前时刻的计算能力,dt=(d1,d2,…dn),dn∈(0,1),代表节点的状态,当dn=1时节点正常工作,当dn=0时节点断开连接,rt表示需要在t时刻进行调度的任务的信息rt=(αt,βt,ct,τt),该节点为该边缘云系统模型中的设备;
动作空间At=[a0,a1,a2,…,aN,aN+1],a0表示该任务采用本地计算模型,a1,…,aN表示将该任务调度到相邻的边缘服务器之一的操作,aN+1表示将该任务调度到数据中心云主机的操作;
奖励函数R(t)={T(t),E(t)};
T(t)为该任务的时延奖励函数,E(t)为该任务的能耗奖励函数,当满足约束C1,C3,表示该任务可以在最大时延约束内完成,奖励定义为参考平均值衡量的最大时延约束与实际执行时间的差,Ti表示该任务的时延,τi表示任务Ri对应的时延约束,Emin初始能耗为0,如果不满足C1,C3,则任务完成时间超过了其截止日期,表示该决策不可接受,奖励定义为负值,η为常数。
根据本公开的实施例,该方法还包括:
在设置该深度强化学习模型的奖励函数时,对该优化目标为该任务的失败率、该任务的能耗和该任务的时延的奖励进行归一化,使两种不同优化目标的奖励值位于同一区间。
根据本公开的实施例,该方法还包括:
当该任务的时延奖励函数接近最小值时,提高该优化目标为该任务的时延的权重;
当该能耗奖励函数处于负值时,提高该优化目标为该任务的能耗的权重。
根据本公开的实施例,第一构建模块710、第二构建模块720和执行模块730中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一构建模块710、第二构建模块720和执行模块730中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一构建模块710、第二构建模块720和执行模块730中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开实施例的适于实现多目标边缘任务调度方法的电子设备的方框图。
如图8所示,根据本公开实施例的电子设备800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有电子设备800操作所需的各种程序和数据。处理器801、ROM802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备800还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。电子设备800还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
在该计算机程序被处理器801执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分809被下载和安装,和/或从可拆卸介质811被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种多目标边缘任务调度方法,包括:
构建边缘云系统模型,所述边缘云系统模型包括边缘计算架构和任务调度策略,所述边缘云系统模型用于执行当前任务;
以最小化所述任务的失败率、所述任务的能耗和所述任务的时延为优化目标,构建任务调度模型,所述任务调度模型基于深度强化学习模型而构建;
利用所述边缘计算架构,基于所述任务调度模型输出的任务调度策略执行所述任务。
2.根据权利要求1所述的多目标边缘任务调度方法,所述边缘计算架构中的设备包括本地设备、边缘服务器和数据中心云主机;
在所述本地设备的计算资源和/或计算能力不满足预设要求时,将所述任务调度到与所述本地设备相邻的边缘服务器或数据中心云主机进行处理;
在所述任务由所述本地设备进行处理的情况下,利用预置的本地计算模型计算所述任务的时延和所述任务的能耗;
在所述任务由所述边缘服务器进行处理的情况下,利用预置的边缘计算模型计算所述任务的时延和所述任务的能耗;
在所述任务由所述数据中心云主机进行处理的情况下,利用预置的计算卸载模型计算所述任务的时延和所述任务的能耗。
3.根据权利要求2所述的多目标边缘任务调度方法,最小化所述任务的时延min T:
C1:
C2:a0.a1,…aN+1∈{0,1}
C3:
其中,第i个任务在边缘云不稳定环境下的传输时延和执行时延分别为第i个任务的属性Ri=(αi,βi,ci,τi),αi表示第i个任务输入数据大小,βi表示第i个任务输出的数据大小,ci表示完成第i个任务所需的CPU周期总数,τi表示第i个任务的时延约束,任务调度决策向量为At={a0,a1,a2,…aN,aN+1}∈(0,1),所述任务调度决策向量中调度目标的值为1,非所述调度目标的值为0,N为所述边缘服务器的数量,/>分别表示第i个任务在本地设备、第N台边缘服务器、数据中心云主机的时延,fn代表第n台设备计算能力,单位为每秒CPU周期数;
C1为第i个任务执行成功的时间约束,第i个任务的传输时延和处理时延之和小于所述任务的时延约束为执行成功,否则视为任务执行失败;
C2为第i个任务在所述本地设备执行、在所述边缘服务器执行或在所述数据中心云主机,a1=1表示第i个任务在所述本地设备执行,an=1,n∈(2,N)表示第i个任务在所述边缘服务器执行,aN+1=1表示第i个任务在所述数据中心云主机执行;
C3为选择本地计算模型和边缘计算模型的任务所需的计算能力之和不超过本地设备或边缘服务器的全部计算能力,每台所述边缘服务器的计算能力为fn;
最小化任务的能耗E:其中,/>分别表示第i个任务在本地终端、边缘服务器、数据中心云主机上执行的能耗。
4.根据权利要求3所述的多目标边缘任务调度方法,所述方法包括:
基于马尔可夫决策过程,构建所述深度强化学习模型,所述马尔可夫决策过程包括学习状态空间S、动作空间A和奖励函数R;
其中,S={s1,s2…sn},st=(ωt,ut,rt),st∈S;ωt代表t时刻网络的状态,ut代表所述边缘服务器的状态,ut包括所述边缘服务器和所述数据中心云主机在t时刻的计算能力和所述边缘服务器的连接性,ut=(ft,dt),其中ft=(f1,f2,…fN)代表所述边缘服务器在当前时刻的计算能力,dt=(d1,d2,…dn),dn∈(0,1),代表节点的状态,当dn=1时节点正常工作,当dn=0时节点断开连接,rt表示需要在t时刻进行调度的任务的信息rt=(αt,βt,ct,τt),所述节点为所述边缘云系统模型中的设备;
动作空间At=[a0,a1,a2,…,aN,aN+1],a0表示第i个任务采用本地计算模型,a1,…,aN表示将第i个任务调度到相邻的边缘服务器之一的操作,aN+1表示将第i个任务调度到数据中心云主机的操作;
奖励函数R(t)={T(t),E(t)};
T(t)为第t时刻的时延奖励函数,E(t)为第t时刻的能耗奖励函数,当满足约束C1,C3表示第i个任务可以在最大时延约束内完成,奖励定义为最大时延约束与实际执行时间的差,Ti表示按照时延平均值来衡量第i个任务在边缘云不稳定的环境下的传输时延和执行时延的和,τi表示第i个任务对应的时延约束,Emin为初始能耗,Emax为最大能耗,Ei为执行第i个任务的能耗,η为常数。
5.根据权利要求1所述的多目标边缘任务调度方法,所述方法还包括:
在设置所述深度强化学习模型的奖励函数时,对所述优化目标为所述任务的失败率、所述任务的能耗和所述任务的时延的奖励进行归一化,使两种不同优化目标的奖励值位于同一区间。
6.根据权利要求1所述的多目标边缘任务调度方法,所述方法还包括:
当所述任务的时延奖励函数接近最小值时,提高所述优化目标为所述任务的时延的权重;
当所述能耗奖励函数处于负值时,提高所述优化目标为所述任务的能耗的权重。
7.一种多目标边缘任务调度装置,包括:
第一构建模块,用于构建边缘云系统模型,所述边缘云系统模型包括边缘计算架构和任务调度策略,所述边缘云系统模型用于执行当前任务;
第二构建模块,用于以最小化所述任务的失败率、所述任务的能耗和所述任务的时延为优化目标,构建任务调度模型,所述任务调度模型基于深度强化学习模型而构建;
执行模块,用于利用所述边缘计算架构,基于所述任务调度模型输出的任务调度策略执行所述任务。
8.一种电子设备,包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310744582.3A CN116700931A (zh) | 2023-06-21 | 2023-06-21 | 多目标边缘任务调度方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310744582.3A CN116700931A (zh) | 2023-06-21 | 2023-06-21 | 多目标边缘任务调度方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116700931A true CN116700931A (zh) | 2023-09-05 |
Family
ID=87840878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310744582.3A Pending CN116700931A (zh) | 2023-06-21 | 2023-06-21 | 多目标边缘任务调度方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700931A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290104A (zh) * | 2023-09-28 | 2023-12-26 | 苏州麦杰工业大数据产业研究院有限公司 | 一种边缘计算方法、装置及设备 |
CN117499960A (zh) * | 2023-12-29 | 2024-02-02 | 奥鼎智通(北京)科技有限公司 | 一种通信网络中资源调度方法、系统、设备及介质 |
-
2023
- 2023-06-21 CN CN202310744582.3A patent/CN116700931A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290104A (zh) * | 2023-09-28 | 2023-12-26 | 苏州麦杰工业大数据产业研究院有限公司 | 一种边缘计算方法、装置及设备 |
CN117290104B (zh) * | 2023-09-28 | 2024-05-31 | 苏州麦杰工业大数据产业研究院有限公司 | 一种边缘计算方法、装置及设备 |
CN117499960A (zh) * | 2023-12-29 | 2024-02-02 | 奥鼎智通(北京)科技有限公司 | 一种通信网络中资源调度方法、系统、设备及介质 |
CN117499960B (zh) * | 2023-12-29 | 2024-03-22 | 奥鼎智通(北京)科技有限公司 | 一种通信网络中资源调度方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111556461B (zh) | 一种基于深度q网络的车载边缘网络任务分发卸载方法 | |
CN113434212B (zh) | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 | |
CN116700931A (zh) | 多目标边缘任务调度方法、装置、设备、介质及产品 | |
CN113950066A (zh) | 移动边缘环境下单服务器部分计算卸载方法、系统、设备 | |
CN113568727B (zh) | 一种基于深度强化学习的移动边缘计算任务分配方法 | |
US20230153124A1 (en) | Edge network computing system with deep reinforcement learning based task scheduling | |
CN113254192B (zh) | 资源分配方法、资源分配装置、电子设备及存储介质 | |
CN114866494B (zh) | 强化学习智能体训练方法、模态带宽资源调度方法及装置 | |
CN112579194A (zh) | 基于时延和事务吞吐量的区块链共识任务卸载方法及装置 | |
CN113867843A (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN113419853A (zh) | 任务执行策略确定方法及装置、电子设备和存储介质 | |
CN111126641B (zh) | 一种资源分配方法和装置 | |
CN113573342B (zh) | 一种基于工业物联网的节能计算卸载方法 | |
CN115309521A (zh) | 面向海上无人设备的深度强化学习任务调度方法及装置 | |
CN116389270A (zh) | 联邦学习中基于drl联合优化客户端选择和带宽分配的方法 | |
CN113868808A (zh) | 一种道路网络临近检测时延优化方法、装置和系统 | |
Ding et al. | Graph convolutional reinforcement learning for dependent task allocation in edge computing | |
CN111510473A (zh) | 访问请求处理方法、装置、电子设备和计算机可读介质 | |
US11513866B1 (en) | Method and system for managing resource utilization based on reinforcement learning | |
CN115220818A (zh) | 基于深度强化学习的实时依赖型任务卸载方法 | |
CN114138416A (zh) | 面向负载-时间窗口的基于dqn云软件资源自适应分配方法 | |
CN113747504A (zh) | 多接入边缘计算联合任务卸载和资源分配的方法及系统 | |
Hasan et al. | An intelligent machine learning and self adaptive resource allocation framework for cloud computing environment | |
CN117793805B (zh) | 动态用户随机接入的移动边缘计算资源分配方法与系统 | |
Xu et al. | Joint Optimization of Task Offloading and Resource Allocation for Edge Video Analytics |
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 |