CN117032971A - 一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法及其系统 - Google Patents

一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法及其系统 Download PDF

Info

Publication number
CN117032971A
CN117032971A CN202311026614.2A CN202311026614A CN117032971A CN 117032971 A CN117032971 A CN 117032971A CN 202311026614 A CN202311026614 A CN 202311026614A CN 117032971 A CN117032971 A CN 117032971A
Authority
CN
China
Prior art keywords
task
state information
unloading
subtasks
neural network
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
Application number
CN202311026614.2A
Other languages
English (en)
Inventor
张天魁
石天祎
刘元玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202311026614.2A priority Critical patent/CN117032971A/zh
Publication of CN117032971A publication Critical patent/CN117032971A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请公开了一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法及其系统,其中方法包括以下步骤:S1,初始化状态信息;S2,响应于完成状态信息的初始化,进行卸载决策,输出动作的选取结果;S3,根据输出的动作选取结果,进行环境交互;S4,响应于完成环境交互,进行神经网络参数训练;S5,判断神经网络参数训练是否达到预设最大训练回合数;若达到最大训练回合数,执行S6,输出所有结果。本申请通过对用户间的任务依赖关系的合理建模,提供的求解方案能够在满足跨终端的任务相关性的约束下,充分利用部署的边缘服务器的计算能力,减小任务完成时间和终端能量消耗。

Description

一种移动边缘计算系统中面向用户间依赖关系的任务卸载与 资源分配方法及其系统
技术领域
本申请涉及数据处理领域,具体地,涉及一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法及其系统。
背景技术
智能交通系统、自动驾驶、扩展现实、工业物联网等新兴移动应用规模的快速增长和功能多样化引发了海量移动终端接入和计算数据处理需求。为了缓解核心网流量负载、减小应用程序的响应时延以改善用户体验,将计算和存储设备部署到网络边缘的移动边缘计算(Mobile Edge Computing,MEC)技术得到了广泛应用。MEC技术打破了终端用户与传统云服务器物理距离较远的壁垒,以充足的资源为终端用户提供超低延迟和能耗的服务。在MEC系统中,通过将终端上性能要求严苛的业务请求卸载到边缘服务器执行,解决单个设备计算能力不足和能量有限的问题。为了进一步提高通信和计算资源的利用率,满足计算密集型和时延敏感型任务对计算能力、响应时间和能量消耗等性能要求,往往需要联合优化MEC系统中的计算卸载和资源管理,通过对各种通信和计算资源的高效配置,在避免过大的网络开销和流量负载的同时,进一步保障用户体验。MEC系统中任务卸载与资源分配的相关方法主要考虑终端计算任务是否需要卸载以及卸载数据量的问题,同时从MEC节点部署和分配、网络状态感知等方面对有限的通信与计算资源进行高效利用,减少任务完成时间、系统能量消耗或者二者的权衡开销。同时,时隙间无线信道的随机变化和终端的移动性让MEC网络处于高度动态变化的状态,传统优化算法在终端仅能掌握局部信息的情况下不能适应MEC系统相关业务的快速响应需求。深度强化学习(deepreinforcement learning,DRL)的出现解决了上述困境,它作为一种人工智能技术,通过智能体与当前环境不断地交互,训练神经网络学习当前状态下的最优动作选择策略,DRL中的双深度Q网络(doubledeep Qnetwork,DDQN)算法能够适应离散的卸载动作空间,可以为动态场景中的计算卸载问题提供优化长期奖励的方案。一些方案中理想化地假设每个计算任务是相互独立的,进而要卸载的计算量也是独立的。然而,实际上移动应用往往是由一组具有依赖关系的任务组成的,保证特定任务的处理先决顺序以实现数据传递或功能衔接。为了在卸载过程中保留任务之间的时间相关性,通常将整个任务建模为有向无环图(directed acyclic graph,DAG),在对该图分析处理的基础上进行细粒度地卸载和相应地资源分配。
尽管已有有一些方法分别针对动态场景和任务依赖关系对于MEC系统的任务卸载与资源分配问题提出了相应地解决方案,但是现有技术仍存在一些缺失有待填补:
1)目前在应用场景和任务结构方面缺乏问题建模的普适性。应用场景方面需要考虑时变的无线信道衰落、终端用户不断移动、服务请求随机生成等条件下的动态场景;任务结构上需要在万物互联趋势下,考虑面向用户间的任务依赖关系,满足数据跨终端的时间相关性约束。进而,在上述拓扑高度空时变化的动态网络中,设计满足MEC系统低响应时延的求解方案变得极具挑战。
2)任务的结构化特征和边缘服务器与终端协作带来的系统潜力没有被充分挖掘,在优化问题和求解方法的设计时充分尊重和利用并行化的思路可以进一步改善任务完成时延和终端能耗等关键指标。
因此,如何针对终端移动性和用户间的任务依赖关系导致的空时关联,在满足服务请求的延迟响应的条件下实现动态MEC网络中任务卸载与资源分配成为本领域急需解决的问题。
发明内容
本申请提供了一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法,包括以下步骤:S1,初始化状态信息;S2,响应于完成状态信息的初始化,进行卸载决策,输出动作的选取结果;S3,根据输出的动作选取结果,进行环境交互;S4,响应于完成环境交互,进行神经网络参数训练;S5,判断神经网络参数训练是否达到预设最大训练回合数;若未达到最大训练回合数,训练训练回合数加1,返回步骤S2;若达到最大训练回合数,执行S6,输出所有结果。
如上的,其中,初始化状态信息包括,算法要素的设计、初始周期任务请求的执行窗口划分、智能体神经网络参数的随机初始化、系统的各参数定义。
如上的,其中,进行卸载决策,输出动作的选取结果包括以下子步骤:输入当前环境中智能体观测到的子任务的状态信息;根据输入的子任务的状态信息,基于ε-贪婪策略进行卸载动作选择;输出动作选择结果。
如上的,其中,子任务vs的状态信息包括自身的任务信息、依赖关系伴随的信息、同一执行窗口内其他子任务的信息三部分:
其中,表示子任务vs对应终端在当前时隙与边缘服务器的的距离,
表示执行窗口i内的其他子任务/> 在第l特征维度关于当前任务的影响权重。
如上的,其中,根据输出的动作选取结果,进行环境交互包括以下子步骤:将输出的动作选取结果作为输入;基于输出的动作选取结果,通过基于二分法的发射功率控制,求解出给定信道下传输子任务数据的最优发射功率;根据最优发射功率,通过KM算法求解形如加权二分图匹配的子信道分配结果;根据动作选取结果、子信道分配结果和最优发射功率,计算任务处理开销并返回相应的奖励信号;计算完成奖励信号,观测下一执行窗口内的任务状态信息。
一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配系统,包括初始化单元、卸载决策单元、环境交互单元、神经网络参数训练单元、最大训练回合数判断单元以及输出单元;初始化单元用于初始化状态信息;卸载决策单元用于进行卸载决策,输出动作的选取结果;环境交互单元用于根据输出的动作选取结果,进行环境交互;神经网络参数训练单元用于进行神经网络参数训练;最大训练回合数判断单元用于判断神经网络参数训练是否达到预设最大训练回合数;输出单元用于若达到最大训练回合数,输出所有结果。
如上的,其中,初始化单元进行状态信息初始化包括,算法要素的设计、初始周期任务请求的执行窗口划分、智能体神经网络参数的随机初始化、系统的各参数定义。
如上的,其中,卸载决策单元进行卸载决策,输出动作的选取结果包括以下子步骤:输入当前环境中智能体观测到的子任务的状态信息;根据输入的子任务的状态信息,基于ε-贪婪策略进行卸载动作选择;输出动作选择结果。
如上的,其中,卸载决策单元中,子任务vs的状态信息包括自身的任务信息、依赖关系伴随的信息、同一执行窗口内其他子任务的信息三部分:
其中,表示子任务vs对应终端在当前时隙与边缘服务器的的距离,表示执行窗口i内的其他子任务/> 在第l特征维度关于当前任务的影响权重。
如上的,其中,环境交互单元根据输出的动作选取结果,进行环境交互包括以下子步骤:将输出的动作选取结果作为输入;基于输出的动作选取结果,通过基于二分法的发射功率控制,求解出给定信道下传输子任务数据的最优发射功率;根据最优发射功率,通过KM算法求解形如加权二分图匹配的子信道分配结果;根据动作选取结果、子信道分配结果和最优发射功率,计算任务处理开销并返回相应的奖励信号;计算完成奖励信号,观测下一执行窗口内的任务状态信息。
本申请具有以下有益效果:
(1)本申请针对智慧交通、自动驾驶等多用户参与的计算密集、时延敏感型应用场景,通过对用户间的任务依赖关系的合理建模,提供的求解方案能够在满足跨终端的任务相关性的约束下,充分利用部署的边缘服务器的计算能力,减小任务完成时间和终端能量消耗。
(2)本申请采用了深度强化学习技术中的DDQN进行任务卸载决策,能够在没有先验知识的动态场景中适应MEC系统快速响应的需求,并在环境交互环节集成子信道分配和发射功率控制,通过合理的资源分配进一步提升了系统性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例提供的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法的流程图;
图2是根据本申请实施例提供的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配系统的内部结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提出了一种动态MEC系统中面向用户间依赖关系的任务卸载与资源分配方法,通过对任务卸载、子信道分配、功率控制的联合优化,降低了系统长期的任务完成时延与终端能量消耗加权开销。
实施例一
假设系统中存在N个移动终端,表示为和一个位置固定的边缘服务器(edge server,ES)。服务请求由当前网络状态和用户需求动态地产生。每个服务请求对应一个任务周期,周期τ发布的任务Gτ由一组有依赖关系的子任务组成。同时,每个任务周期τ内划分了一系列执行窗口(时隙){1,2,…,i,…,I},在每个时隙中不同终端和边缘服务器可以对子任务进行并行处理。系统总带宽B划分了K条正交子信道,表示为此外,用/>表示子任务的卸载决策变量;/>表示子任务的子信道分配变量;/>是控制的发射功率。
如图1所示,为本实施例提供的一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法,具体包括以下步骤:
步骤S110:初始化状态信息。
其中对系统初始化参数进行设计,包括DDQN算法的要素设计、初始周期任务请求的执行窗口划分、智能体神经网络参数的随机初始化、系统的各参数定义等。
考虑一个由N个移动终端表示为和一个位置固定的边缘服务器(edge server,ES)组成的MEC系统。假设服务请求由当前网络状态和用户需求动态地产生,每个服务请求对应一个任务周期,周期τ发布的任务Gτ由一组有依赖关系的子任务组成,并且对应着一个任务参与方集合/>即完成任务Gτ需要由系统中/>个终端共同参与。同时,每个任务周期τ内划分了一系列执行窗口(时隙){1,2,…,i,…,I},在每个时隙中不同终端和边缘服务器可以对子任务进行并行处理。任务Gτ的结构可以表示为一个有向无环图描述Gτ={Vτ,Uτ},节点集Vτ={v1,v2…,vS}表示组成该任务的S个子任务,其中子任务vs表示为vs=<bs,css>分别代表通信数据量、计算量和其对应的终端;有向边集合Uτ记录了两个子任务之间的依赖关系,如果uqs=1,称vq为vs的直接前序任务,记为相应地,vs为vq的直接后继任务,记为/>
其中定义系统总带宽为B,且划分为K条正交子信道,表示为则每条子信道带宽B0=B/K。带宽分配变量/>表示时隙i子任务vs是否占用了第k条子信道用于数据传输,相应的上行速率为:
其中,是时隙i在子信道k上传输子任务vs相应数据的发送功率,/>表示对应终端n(n=χs)当前在子信道k上的信道增益,σ2为噪声功率。另外,系统固定保留了带宽为BD通信资源用于终端到终端的D2D数据传输。
因此,时隙i终端n占用子信道k向边缘服务器传输子任务的相应数据/>的通信时延和相应终端n消耗的能量表示为:
边缘服务器通过动态地创建和删除相应数目的虚拟机(virtual machine,VM)对同一时隙内的多个任务进行并行计算。考虑同时存在的VM之间的I/O干扰会影响任务的处理速度,时隙i中,子任务vs由ES处理所需的计算时间表示为:
其中表示时隙i卸载至服务器处理的子任务数目,d0=cs/fES表示只创建一个虚拟机时所需的单位计算时间,fES表示MEC服务器的计算能力,ζ表示VM之间的I/O干扰导致的退化因子。这时,终端相应地能量消耗表示为:
其中是终端n的静态功率。
由于终端n的计算能力fn有限,子任务可以选择本地执行或卸载到边缘服务器处理。子任务vs是独立且不可分割的,卸载指示变量表示子任务vs在时隙i卸载到边缘服务器处理;否则,/>子任务的处理需要输入数据获取、处理器计算和结果返回三个步骤。其中,输入数据由本设备直接采集或缓存的数据和从前序任务结果获取的数据两部分组成,本发明从实际情况出发,假设边缘服务器端返回计算结果的过程可以忽略,但终端向其后继任务的处理方传输计算结果的过程不能忽略。假设子任务vs计算结果为/>如果前序子任务vq在本地处理,它的计算结果/>需要发送给当前子任务vs对应的终端j或上传到ES。由于前序子任务的计算结果天然是后一个子任务的输入数据的一部分,因此,本发明把前序任务的结果返回过程合并到当前任务的处理过程中进行统一分析表示。
具体来说,每个子任务处理开销由基础开销和依赖开销两部分组成。时隙i的子任务vs如果被本地处理其基础时延开销可以表示为计算量与终端n计算能力之比,以及相应地终端能耗如下:
其中为开关电容值。
如果当前子任务vs被卸载处理基础时延和能耗由其本身的通信和计算过程组成,并可以由-得到具体表达式:
然而,考虑到任务之间的跨终端依赖关系,还会由于传输计算结果产生额外的依赖开销。如果某个前序子任务vq,在之前某一时隙i′本地执行/>相应的依赖开销为:
其中 k′表示为vq的计算结果/>传输分配的子信道,/>表示MTn和MTj之间的D2D通信速率。
综上,根据上述不同的情况,子任务vs=<bs,css>的完成时延和终端能耗表示如下:
本实施例对当前子任务和其前序的卸载结果对应的处理时延和能耗进行了统一表示。
上述表达式中前两项(以任务处理时延为例)是在全部前序子任务都卸载到ES执行的条件下,当前子任务卸载处理和本地计算的相应基础开销,后一项/>是在存在本地计算的前序子任务的条件下,针对当前子任务的处理方式(是否是卸载/>)以及当前子任务与该前序子任务是否归属同一终端(其中异或操作/>在n=j的条件下为0;n≠j时为1)的不同情况组合导致的依赖开销。
考虑一个执行窗口(时隙)内子任务并行处理,时隙i内的任务处理开销表示为各个子任务完成时延的最大值与终端能耗加权和:
其中αD和αE是可以根据不同应用需求灵活设置的时延能耗权重系数,表示执行窗口i内的子任务集合。因此,任务周期τ发布的任务Gτ的时延能耗加权开销可以由各个执行窗口的开销之和表示:
因此,本实施例中系统需要在条件 和/>的约束下,最小化动态MEC系统的长期任务完成时延和终端能耗加权和开销/>
完成上述公式的定义和确定后,完成所有状态信息参数的初始化。
步骤S120:响应于完成状态信息的初始化,进行卸载决策,输出动作的选取结果。
其中本实施例采用DDQN算法对每个执行窗口内的子任务进行卸载决策,需要对其空间、动作空间和奖励函数进行具体设计。其中步骤S120具体包括以下子步骤:
步骤S1201:输入当前环境中智能体观测到的子任务的状态信息。
子任务vs的状态信息包括自身的任务信息、依赖关系伴随的信息、同一执行窗口内其他子任务的信息三部分:
其中,表示子任务vs对应终端在当前时隙与边缘服务器的的距离,表示执行窗口i内的其他子任务/> 在第l特征维度关于当前任务的影响权重。
动作空间与上述定义的卸载指示变量一致。即/> 表示该子任务本地计算;/>表示该子任务卸载至边缘服务器处理。
步骤S1202:根据输入的子任务的状态信息,基于ε-贪婪策略进行卸载动作选择。
智能体每轮决策时将在环境中获取的当前上述状态信息stateis作为神经网络的输入,基于ε-贪婪策略,网络对应输出在该状态下每个动作对应的Q值,根据Q值进行卸载动作选择。
其中智能体根据ε-贪婪策略对当前执行窗口的子任务进行卸载动作选择,并在当前环境中的执行相应动作。ε-贪婪策略是指以1-ε的概率选择当前神经网络输出Q值最大的卸载动作;否则,动作将按照随机策略选择,以达到探索与利用的平衡。
步骤S1203:输出动作选择结果。
步骤S130:根据输出的动作选取结果,进行环境交互。
进行环境交互的过程中,首先基于卸载决策结果为有通信需求和子任务进行子信道分配和发射功率控制,随后根据当前信道状态、终端位置、子任务规模等环境信息和卸载决策与资源分配结果获得本窗口的任务处理开销,最后一个与开销负相关的值以奖励信号的形式反馈给智能体,作为环境对于本次动作选择的评价。
其中步骤S130具体包括以下子步骤:
步骤S1301:将输出的动作选取结果作为输入。
步骤S1302:基于输出的动作选取结果,通过基于二分法的发射功率控制,求解出给定信道下传输子任务数据的最优发射功率。
发射功率控制子模块的实现是基于推导的关于发射功率的拟凸函数在发射功率范围的约束下进行二分法,即可获得任意给定信道下传输子任务相应数据的最优发射功率。
步骤S1303:根据最优发射功率,通过KM算法求解形如加权二分图匹配的子信道分配结果。
子信道分配结果具体是为每个任务分配的信道变量。
上述基于二分法的发射功率控制,KM算法求解均为现有技术中本领域的常用方法,在此不进行赘述。
步骤S1304:根据动作选取结果、子信道分配结果和最优发射功率,计算任务处理开销并返回相应的奖励信号。
其中对于同一执行窗口内的状态动作对统一返回一个与本窗口开销相关的值作为即时奖励信号ri。具体来说,它被形式化为本窗口全部子任务的实际处理开销以10为底取对数后的相反数,即:
ri=-log10costi(17)
为了保证统一性,在每个任务图前后各补充一个虚拟入口任务和虚拟出口任务,二者数据量和计算量均为0。执行窗口根据子任务节点到入口任务的最大有向边数目划分。虽然时延能耗开销与相邻时隙之间的具有依赖关系的子任务的卸载决策组合有关,但根据本实施例建立中的任务处理模型,基于给定的相应前序子任务的卸载决策,本执行窗口i内因依赖关系导致的开销可以由独立确定。因此,依次最小化每个执行窗口内的任务处开销,即可优化系统长期的任务完成时延和终端能耗加权开销。
步骤S1305:计算完成奖励信号,观测下一执行窗口内的任务状态信息。
响应于完成奖励信号的计算,观测下一执行窗口内的任务状态信息完成环境交互。
步骤S140:响应于完成环境交互,进行神经网络参数训练。
神经网络参数的会在判断达到训练开始条件后进行网络参数的更新,其中步骤S140具体包括以下子步骤:
步骤S1401:将本轮的状态、动作、更新的状态和奖励作为一条样本存入经验池。
步骤S1402:判断是否满足开始训练条件。
其中是否满足开始训练的条件具体为,若经验池中样本数目大于指定数量,则开始进行训练,执行步骤S1403;否则,进入步骤S1406退出神经网络训练。
步骤S1403:从经验池中随机选择一批样本,按照进行梯度下降,训练更新MainNet的参数。
其中DDQN的参数更新过程和其中的更新目标为:
其中ωi分别是基于DQN的深度强化学习算法中常用的拟静态目标网络技术中的MainNet和TargetNet参数,用于保证训练的稳定性,η为参数更新的学习率,γ是表征智能体对未来长远奖励的重视程度的折扣因子。
步骤S1404:判断TargetNet参数是否需要更新。
其中是否需要更新的具体条件为,若当前参数训练回合数是预设的TargetNet的更新频率的整数倍,则需要更新;否则,不需要。
若需要更新,进入步骤S1405;否则,进入步骤S1406退出神经网络训练。
步骤S1405:将TargetNet参数替换为当前MainNet的参数。
步骤S1406:退出神经网络训练。
步骤S150:判断神经网络参数训练是否达到预设最大训练回合数。
若未达到预设最大训练回合数,训练回合数加1,返回步骤120。若达到预设最大训练回合数,执行步骤S160。
步骤160:输出所有结果。
其中判断系统是否达到终止条件,如果已经满足设定的最大训练回合数,则终止训练,在当前的DDQN指导下进行输出任务卸载的动作选择,输出任务卸载、子信道分配和发射功率控制结果以及输出相应的系统开销。
实施例二
如图2所示,本申请提供了一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配系统,其中该系统具体包括:初始化单元210、卸载决策单元220、环境交互单元230、神经网络参数训练单元240、最大训练回合数判断单元250以及输出单元260。
初始化单元210用于对系统初始化参数进行设计,包括DDQN算法的要素设计、初始周期任务请求的执行窗口划分、智能体神经网络参数的随机初始化、系统的各参数定义等。
其中定义系统总带宽为B,且划分为K条正交子信道,表示为则每条子信道带宽B0=B/K。带宽分配变量/>表示时隙i子任务vs是否占用了第k条子信道用于数据传输,相应的上行速率为:
其中,是时隙i在子信道k上传输子任务vs相应数据的发送功率,/>表示对应终端n(n=χs)当前在子信道k上的信道增益,σ2为噪声功率。另外,系统固定保留了带宽为BD通信资源用于终端到终端的D2D数据传输。
因此,时隙i终端n占用子信道k向边缘服务器传输子任务的相应数据/>的通信时延和相应终端n消耗的能量表示为:
边缘服务器通过动态地创建和删除相应数目的虚拟机(virtual machine,VM)对同一时隙内的多个任务进行并行计算。考虑同时存在的VM之间的I/O干扰会影响任务的处理速度,时隙i中,子任务vs由ES处理所需的计算时间表示为:
其中表示时隙i卸载至服务器处理的子任务数目,d0=cs/fES表示只创建一个虚拟机时所需的单位计算时间,fES表示MEC服务器的计算能力,ζ表示VM之间的I/O干扰导致的退化因子。这时,终端相应地能量消耗表示为:
其中是终端n的静态功率。
由于终端n的计算能力fn有限,子任务可以选择本地执行或卸载到边缘服务器处理。子任务vs是独立且不可分割的,卸载指示变量表示子任务vs在时隙i卸载到边缘服务器处理;否则,/>子任务的处理需要输入数据获取、处理器计算和结果返回三个步骤。其中,输入数据由本设备直接采集或缓存的数据和从前序任务结果获取的数据两部分组成,本发明从实际情况出发,假设边缘服务器端返回计算结果的过程可以忽略,但终端向其后继任务的处理方传输计算结果的过程不能忽略。假设子任务vs计算结果为/>如果前序子任务vq在本地处理,它的计算结果/>需要发送给当前子任务vs对应的终端j或上传到ES。由于前序子任务的计算结果天然是后一个子任务的输入数据的一部分,因此,本发明把前序任务的结果返回过程合并到当前任务的处理过程中进行统一分析表示。
具体来说,每个子任务处理开销由基础开销和依赖开销两部分组成。时隙i的子任务vs如果被本地处理其基础时延开销可以表示为计算量与终端n计算能力之比,以及相应地终端能耗如下:
其中为开关电容值。
如果当前子任务vs被卸载处理基础时延和能耗由其本身的通信和计算过程组成,并可以由-得到具体表达式:
然而,考虑到任务之间的跨终端依赖关系,还会由于传输计算结果产生额外的依赖开销。如果某个前序子任务vq,在之前某一时隙i′本地执行/>相应的依赖开销为:
其中 k′表示为vq的计算结果/>传输分配的子信道,/>表示MTn和MTj之间的D2D通信速率。
综上,根据上述不同的情况,子任务vs=<bs,css>的完成时延和终端能耗表示如下:
本实施例对当前子任务和其前序的卸载结果对应的处理时延和能耗进行了统一表示。
上述表达式中前两项(以任务处理时延为例)是在全部前序子任务都卸载到ES执行的条件下,当前子任务卸载处理和本地计算的相应基础开销,后一项/>是在存在本地计算的前序子任务的条件下,针对当前子任务的处理方式(是否是卸载/>)以及当前子任务与该前序子任务是否归属同一终端(其中异或操作/>在n=j的条件下为0;n≠j时为1)的不同情况组合导致的依赖开销。
考虑一个执行窗口(时隙)内子任务并行处理,时隙i内的任务处理开销表示为各个子任务完成时延的最大值与终端能耗加权和:
其中αD和αE是可以根据不同应用需求灵活设置的时延能耗权重系数,表示执行窗口i内的子任务集合。因此,任务周期τ发布的任务Gτ的时延能耗加权开销可以由各个执行窗口的开销之和表示:
因此,本实施例中系统需要在条件 和/>的约束下,最小化动态MEC系统的长期任务完成时延和终端能耗加权和开销/>
完成上述公式的定义和确定后,完成所有状态信息参数的初始化。
卸载决策单元220用于进行卸载决策,输出动作的选取结果。
其中本实施例采用DDQN算法对每个执行窗口内的子任务进行卸载决策,需要对其空间、动作空间和奖励函数进行具体设计。其中卸载决策单元220具体包括以下子模块:状态信息输入模块、卸载动作选择模块以及动作输出模块。
状态信息输入模块用于输入当前环境中智能体观测到的子任务的状态信息。
子任务vs的状态信息包括自身的任务信息、依赖关系伴随的信息、同一执行窗口内其他子任务的信息三部分:
其中,表示子任务vs对应终端在当前时隙与边缘服务器的的距离,表示执行窗口i内的其他子任务/> 在第l特征维度关于当前任务的影响权重。
动作空间与上述定义的卸载指示变量一致。即/>表示该子任务本地计算;/>表示该子任务卸载至边缘服务器处理。
卸载动作选择模块用于基于ε-贪婪策略进行卸载动作选择。
智能体每轮决策时将在环境中获取的当前上述状态信息作为神经网络的输入,基于ε-贪婪策略,网络对应输出在该状态下每个动作对应的Q值,根据Q值进行卸载动作选择。
其中智能体根据ε-贪婪策略对当前执行窗口的子任务进行卸载动作选择,并在当前环境中的执行相应动作。ε-贪婪策略是指以1-ε的概率选择当前神经网络输出Q值最大的卸载动作;否则,动作将按照随机策略选择,以达到探索与利用的平衡。
动作输出模块用于输出动作选择结果。
环境交互单元230用于根据输出的动作选取结果,进行环境交互。
进行环境交互的过程中,首先基于卸载决策结果为有通信需求和子任务进行子信道分配和发射功率控制,随后根据当前信道状态、终端位置、子任务规模等环境信息和卸载决策与资源分配结果获得本窗口的任务处理开销,最后一个与开销负相关的值以奖励信号的形式反馈给智能体,作为环境对于本次动作选择的评价。
其中环境交互单元230具体包括以下子模块:输入模块、最优发射功率求解模块、子信道分配结果求解模块、奖励信号获取模块以及观测模块。
输入模块用于将输出的动作选取结果作为输入。
最优发射功率求解模块用于基于输出的动作选取结果,通过基于二分法的发射功率控制,求解出给定信道下传输子任务数据的最优发射功率。
发射功率控制子模块的实现是基于推导的关于发射功率的拟凸函数在发射功率范围的约束下进行二分法,即可获得任意给定信道下传输子任务相应数据的最优发射功率。
子信道分配结果求解模块用于根据最优发射功率,通过KM算法求解形如加权二分图匹配的子信道分配结果。
子信道分配结果具体是为每个任务分配的信道变量。
上述基于二分法的发射功率控制,KM算法求解均为现有技术中本领域的常用方法,在此不进行赘述。
奖励信号获取模块用于根据动作选取结果、子信道分配结果和最优发射功率,计算任务处理开销并返回相应的奖励信号。
其中对于同一执行窗口内的状态动作对统一返回一个与本窗口开销相关的值作为即时奖励信号ri。具体来说,它被形式化为本窗口全部子任务的实际处理开销以10为底取对数后的相反数,即:
ri=-log10costi (17)
为了保证统一性,在每个任务图前后各补充一个虚拟入口任务和虚拟出口任务,二者数据量和计算量均为0。执行窗口根据子任务节点到入口任务的最大有向边数目划分。虽然时延能耗开销与相邻时隙之间的具有依赖关系的子任务的卸载决策组合有关,但根据本实施例建立中的任务处理模型,基于给定的相应前序子任务的卸载决策,本执行窗口i内因依赖关系导致的开销可以由独立确定。因此,依次最小化每个执行窗口内的任务处开销,即可优化系统长期的任务完成时延和终端能耗加权开销。
观测模块用于计算完成奖励信号,观测下一执行窗口内的任务状态信息。
响应于完成奖励信号的计算,观测下一执行窗口内的任务状态信息完成环境交互。
神经网络参数训练单元240用于进行神经网络参数训练。
神经网络参数的会在判断达到训练开始条件后进行网络参数的更新,其中神经网络参数训练单元240具体包括以下子模块:存入模块、训练条件判断模块、参数更新模块、参数更新判断模块、替换模块、退出模块。
存入模块用于将本轮的状态、动作、更新的状态和奖励作为一条样本存入经验池。
训练条件判断模块用于判断是否满足开始训练条件。
其中是否满足开始训练的条件具体为,若经验池中样本数目大于指定数量,则开始进行训练,执行参数更新模块;否则,进入退出模块。
参数更新模块用于从经验池中随机选择一批样本,按照进行梯度下降,训练更新MainNet的参数。
其中DDQN的参数更新过程和其中的更新目标为:
其中ωi分别是基于DQN的深度强化学习算法中常用的拟静态目标网络技术中的MainNet和TargetNet参数,用于保证训练的稳定性,η为参数更新的学习率,γ是表征智能体对未来长远奖励的重视程度的折扣因子。
参数更新判断模块用于判断TargetNet参数是否需要更新。
若需要更新,进入替换模块;否则,进入退出模块。
替换模块用于将TargetNet参数替换为当前MainNet的参数。
退出模块用于退出神经网络训练。
最大训练回合数判断单元250判断神经网络参数训练是否达到预设最大训练回合数。
若未达到预设最大训练回合数,训练回合数加1,返回步骤120。若达到预设最大训练回合数,执行输出单元260。
输出单元260用于输出所有结果。
其中判断系统是否达到终止条件,如果已经满足设定的最大训练回合数,则终止训练,在当前的DDQN指导下进行输出任务卸载的动作选择,输出任务卸载、子信道分配和发射功率控制结果以及输出相应的系统开销。
本申请具有以下有益效果:
(1)本申请针对智慧交通、自动驾驶等多用户参与的计算密集、时延敏感型应用场景,通过对用户间的任务依赖关系的合理建模,提供的求解方案能够在满足跨终端的任务相关性的约束下,充分利用部署的边缘服务器的计算能力,减小任务完成时间和终端能量消耗。
(2)本申请采用了深度强化学习技术中的DDQN进行任务卸载决策,能够在没有先验知识的动态场景中适应MEC系统快速响应的需求,并在环境交互环节集成子信道分配和发射功率控制,通过合理的资源分配进一步提升了系统性能。
虽然当前申请参考的示例被描述,其只是为了解释的目的而不是对本申请的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本申请的范围。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法,其特征在于,包括以下步骤:
S1,初始化状态信息;
S2,响应于完成状态信息的初始化,进行卸载决策,输出动作的选取结果;
S3,根据输出的动作选取结果,进行环境交互;
S4,响应于完成环境交互,进行神经网络参数训练;
S5,判断神经网络参数训练是否达到预设最大训练回合数;
若未达到最大训练回合数,训练训练回合数加1,返回步骤S2;
若达到最大训练回合数,执行S6,输出所有结果。
2.如权利要求1所述的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法,其特征在于,初始化状态信息包括,算法要素的设计、初始周期任务请求的执行窗口划分、智能体神经网络参数的随机初始化、系统的各参数定义。
3.如权利要求2所述的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法,其特征在于,进行卸载决策,输出动作的选取结果包括以下子步骤:
输入当前环境中智能体观测到的子任务的状态信息;
根据输入的子任务的状态信息,基于ε-贪婪策略进行卸载动作选择;
输出动作选择结果。
4.如权利要求3所述的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法,其特征在于,子任务vs的状态信息包括自身的任务信息、依赖关系伴随的信息、同一执行窗口内其他子任务的信息三部分:
其中,表示子任务vs对应终端在当前时隙与边缘服务器的的距离,表示执行窗口i内的其他子任务/>在第l特征维度关于当前任务的影响权重。
5.如权利要求4所述的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法,其特征在于,根据输出的动作选取结果,进行环境交互包括以下子步骤:
将输出的动作选取结果作为输入;
基于输出的动作选取结果,通过基于二分法的发射功率控制,求解出给定信道下传输子任务数据的最优发射功率;
根据最优发射功率,通过KM算法求解形如加权二分图匹配的子信道分配结果;
根据动作选取结果、子信道分配结果和最优发射功率,计算任务处理开销并返回相应的奖励信号;
计算完成奖励信号,观测下一执行窗口内的任务状态信息。
6.一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配系统,其特征在于,包括初始化单元、卸载决策单元、环境交互单元、神经网络参数训练单元、最大训练回合数判断单元以及输出单元;
初始化单元用于初始化状态信息;
卸载决策单元用于进行卸载决策,输出动作的选取结果;
环境交互单元用于根据输出的动作选取结果,进行环境交互;
神经网络参数训练单元用于进行神经网络参数训练;
最大训练回合数判断单元用于判断神经网络参数训练是否达到预设最大训练回合数;
输出单元用于若达到最大训练回合数,输出所有结果。
7.如权利要求6所述的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配系统,其特征在于,初始化单元进行状态信息初始化包括,算法要素的设计、初始周期任务请求的执行窗口划分、智能体神经网络参数的随机初始化、系统的各参数定义。
8.如权利要求7所述的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配系统,其特征在于,卸载决策单元进行卸载决策,输出动作的选取结果包括以下子步骤:
输入当前环境中智能体观测到的子任务的状态信息;
根据输入的子任务的状态信息,基于ε-贪婪策略进行卸载动作选择;
输出动作选择结果。
9.如权利要求8所述的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配系统,其特征在于,卸载决策单元中,子任务vs的状态信息包括自身的任务信息、依赖关系伴随的信息、同一执行窗口内其他子任务的信息三部分:
其中,表示子任务vs对应终端在当前时隙与边缘服务器的的距离,表示执行窗口i内的其他子任务/>在第l特征维度关于当前任务的影响权重。
10.如权利要求9所述的移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配系统,其特征在于,环境交互单元根据输出的动作选取结果,进行环境交互包括以下子步骤:
将输出的动作选取结果作为输入;
基于输出的动作选取结果,通过基于二分法的发射功率控制,求解出给定信道下传输子任务数据的最优发射功率;
根据最优发射功率,通过KM算法求解形如加权二分图匹配的子信道分配结果;
根据动作选取结果、子信道分配结果和最优发射功率,计算任务处理开销并返回相应的奖励信号;
计算完成奖励信号,观测下一执行窗口内的任务状态信息。
CN202311026614.2A 2023-08-15 2023-08-15 一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法及其系统 Pending CN117032971A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311026614.2A CN117032971A (zh) 2023-08-15 2023-08-15 一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311026614.2A CN117032971A (zh) 2023-08-15 2023-08-15 一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法及其系统

Publications (1)

Publication Number Publication Date
CN117032971A true CN117032971A (zh) 2023-11-10

Family

ID=88601925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311026614.2A Pending CN117032971A (zh) 2023-08-15 2023-08-15 一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法及其系统

Country Status (1)

Country Link
CN (1) CN117032971A (zh)

Similar Documents

Publication Publication Date Title
CN113950066B (zh) 移动边缘环境下单服务器部分计算卸载方法、系统、设备
Prathiba et al. Federated learning empowered computation offloading and resource management in 6G-V2X
Chen et al. Efficiency and fairness oriented dynamic task offloading in internet of vehicles
Kumar et al. Performance analysis of Bayesian coalition game-based energy-aware virtual machine migration in vehicular mobile cloud
CN111711666B (zh) 一种基于强化学习的车联网云计算资源优化方法
CN113573320B (zh) 边缘网络中基于改进的演员-评论家算法的sfc部署方法
CN114205353B (zh) 一种基于混合动作空间强化学习算法的计算卸载方法
CN113687875B (zh) 一种车联网中车辆任务卸载方法及装置
CN113364630A (zh) 一种服务质量QoS差异化优化方法、装置
CN113993218A (zh) 一种mec架构下基于多智能体drl的协作卸载和资源分配方法
CN116541106B (zh) 计算任务卸载方法、计算设备及存储介质
CN115134242B (zh) 一种基于深度强化学习策略的车载计算任务卸载方法
Huang et al. Toward decentralized and collaborative deep learning inference for intelligent IoT devices
CN109803292A (zh) 一种基于强化学习的多次级用户移动边缘计算的方法
CN114885422A (zh) 一种超密集网络中基于混合接入方式的动态边缘计算卸载方法
CN112672382A (zh) 混合协作计算卸载方法、装置、电子设备及存储介质
CN113573363A (zh) 基于深度强化学习的mec计算卸载与资源分配方法
Hu et al. Dynamic task offloading in MEC-enabled IoT networks: A hybrid DDPG-D3QN approach
Lee et al. Resource allocation in wireless networks with federated learning: Network adaptability and learning acceleration
CN114168328A (zh) 一种基于联邦学习的移动边缘节点计算任务调度方法及其系统
CN117202264A (zh) Mec环境中面向5g网络切片的计算卸载方法
CN116709378A (zh) 车联网中基于联邦强化学习的任务调度与资源分配方法
CN117032971A (zh) 一种移动边缘计算系统中面向用户间依赖关系的任务卸载与资源分配方法及其系统
CN113452625B (zh) 基于深度强化学习的卸载调度与资源分配方法
CN115665869A (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