CN115344395B - 面向异质任务泛化的边缘缓存调度、任务卸载方法和系统 - Google Patents

面向异质任务泛化的边缘缓存调度、任务卸载方法和系统 Download PDF

Info

Publication number
CN115344395B
CN115344395B CN202211272276.6A CN202211272276A CN115344395B CN 115344395 B CN115344395 B CN 115344395B CN 202211272276 A CN202211272276 A CN 202211272276A CN 115344395 B CN115344395 B CN 115344395B
Authority
CN
China
Prior art keywords
task
agent
tasks
representing
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.)
Active
Application number
CN202211272276.6A
Other languages
English (en)
Other versions
CN115344395A (zh
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.)
Intelligent Manufacturing Institute of Hefei University Technology
Original Assignee
Intelligent Manufacturing Institute of Hefei University Technology
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 Intelligent Manufacturing Institute of Hefei University Technology filed Critical Intelligent Manufacturing Institute of Hefei University Technology
Priority to CN202211272276.6A priority Critical patent/CN115344395B/zh
Publication of CN115344395A publication Critical patent/CN115344395A/zh
Application granted granted Critical
Publication of CN115344395B publication Critical patent/CN115344395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出了一种面向异质任务泛化的边缘缓存调度、任务卸载方法和系统。本发明公开了一种面向异质任务泛化的边缘缓存调度方法,首先在不区分智能体的情况下,采用所有智能体共用经验池的方式对基础模型进行训练,然后通过所有基础模型的参数平均获得初始化参数;本发明中以初始化参数为不同智能体对应的决策模型的初始值,然后根据各智能体对应的经验池样本训练决策模型。本发明中,初始化参数的使用,大大提高了决策模型的泛化能力和收敛效率。

Description

面向异质任务泛化的边缘缓存调度、任务卸载方法和系统
技术领域
本发明涉及边缘计算技术和强化学习领域,尤其涉及一种面向异质任务泛化的边缘缓存调度、任务卸载方法和系统。
背景技术
近年来,随着5G时代的到来和互联网设备的普及,万物互联的概念逐渐走进人们的生活,推动了大量时延敏感型的移动应用,如增强现实、实时导航以及自动驾驶等。虽然云技术逐渐成熟,但是随着移动设备的指数性增长,单纯依靠中央云服务器来控制广域网存在时延难以保证的瓶颈,从而难以保证时延敏感型应用的服务质量。因此,移动边缘计算应运而生,成为目前解决上述问题的一种可靠方案。移动边缘计算允许终端用户将自身产生的计算密集型和时延敏感型的计算任务卸载到边缘设备处执行,能大幅减少响应终端用户请求的网络时延,以及服务器资源的损耗,进而能很好地提升终端用户的体验质量。
边缘网络由M个同构的MEC(Mobile Edge Computing,移动边缘计算)设备构成,每个MEC设备配置一个服务器,每个MEC设备直接或间接与远端云服务器连接,远端云服务器缓存空间充足,可以缓存所有服务,MEC设备缓存空间有限,只能选择部分服务进行缓存。边缘网络所有MEC设备共同为终端用户提供服务,每个终端用户选择信道条件最优的MEC设备进行关联并上传任务请求,MEC设备根据任务需求的服务、自身计算资源分配情况等因素将接收到的任务在MEC设备本地卸载,或者迁移到其他缓存有对应服务的设备(协作的MEC设备或者远端云服务器)进行卸载。
终端用户A选择的信道条件最优的MEC设备为MEC设备B时,记作终端用户A为MEC设备B关联的终端用户,MEC设备B为终端用户A关联的MEC设备。每一个MEC设备可关联多个终端用户A;每个终端用户与通信效果最好的MEC设备关联,且只能关联一个MEC设备。MEC设备B协作的MEC设备,指的是与MEC设备B数据通信连接的MEC设备。
边缘缓存技术将云服务器中存储的文件预先缓存到MEC设备上,对无线数据流量起到 “分流”的作用,从而缓解网络拥塞,降低终端用户请求时延,改善终端用户体验。然而,在边缘网络中,MEC设备的缓存空间有限,可能导致缓存命中率低。因此,为了提高缓存命中率,需要随着内容流行度的更新和终端用户请求的更新,设计实时的缓存更新策略,缓存策略是影响缓存效果的关键因素。因此,边缘计算的缓存策略值得研究。
现有的研究中大多独立考虑了计算任务和缓存内容,忽略了任务缓存对任务卸载决策的影响,且没有考虑边缘计算环境的多样性与动态性,在多边缘协作异质任务请求场景下的服务缓存调度策略缺乏深入的研究和探索,面对全新的卸载任务请求时需要重新开始学习缓存策略,泛化性能差,学习效率低。
名词解释:
Gumbel-Softmax Trick:为了能够在模型决策训练的过程中引入一定的随机性常用的一个trick就是Gumbel-Softmax Trick;其核心思想是利用Gumbel分布进行采样,增加模型决策的随机性,使其决策空间更加平滑,同时该采样过程不在计算图中,因此后续求导依然可以进行。Gumbel-Softmax Trick是本领域常用手段和公知常识,不做具体解释。
“卸载”表示英文“offload”的意思,其为本领域内该英文短语的通用翻译词,本申请中的任务指的是计算任务,本申请中的卸载在其他情景中也可能表述为执行,本领域技术人员知道两者含义相同。
发明内容
为了解决上述现有技术中缓存策略泛化性能差,学习效率低的缺陷。
本发明的目的之一提出了一种面向异质任务泛化的边缘缓存调度方法,能够在多边缘协作异质任务请求场景中,拥有更好的泛化性能,面对全新的任务请求,快速学习最优服务缓存策略。
一种面向异质任务泛化的边缘缓存调度方法,适用于全连接边缘网络,全连接边缘网络指的是:边缘网络中任一MEC设备与其余所有MEC设备均协作缓存;
所述边缘缓存调度方法包括以下步骤:
S1、针对多边缘协作场景下服务缓存和计算任务卸载的联合优化需求,设置所述联合优化需求与强化学习两者之间的映射关系问题,建立该问题的Markov模型,将MEC设备作为智能体,设置每个智能体的状态、动作及奖励;
S2、构建与各智能体对应的决策模型,决策模型基于神经网络构建,并结合奖励进行训练;决策模型的输入为对应的智能体在任一时隙上的状态,其输出为智能体的动作;
S3、将同一时隙上各智能体的状态输入对应的决策模型,以获取各智能体的动作;
决策模型的获取包括以下步骤:
选取神经网络模型作为基础模型,基础模型与各智能体一一对应,且所有基础模型共用一个经验池;各基础模型从对应的智能体角度随机学习共用的经验池中的经验池样本以迭代参数,其中不同智能体关联的终端用户的服务请求服从不同分布;当各基础模型的参数迭代均达到设定的第一迭代条件,则对各基础模型的参数求平均值作为初始化参数,即δ’(m,¢)=[δ(1,¢)+δ(2,¢)+…+δ(m,¢)+…+δ(m max ,¢)]/m max 1¢č;其中,č表示基础模型的参数总数量,m max 表示智能体总数量,δ(m,¢)表示智能体m对应的基础模型的第¢个参数,δ’(m,¢)表示智能体m对应的初始化模型的第¢个参数;
将初始化参数代入各基础模型以生成与各智能体对应的初始化模型,各初始化模型设有对应的经验池,各初始化模型从对应的智能体角度学习对应的经验池中的经验池样本以迭代参数,其中不同智能体关联的终端用户的服务请求均服从同一分布;直至初始化模型的参数迭代均达到设定的第二迭代条件,则固定初始化模型参数以获取决策模型。
优选的,上述S1中,智能体m在时隙t的状态定义为:
S(m,t)={P(m,t-1),S(m,t-1),R(m,t-1),O(m,t-1),C(m,t-1),L(m,t-1)}
其中,t≥2,P(m,t-1)表示智能体m在时隙t-1时缓存的服务集合,S(m,t-1)表示时隙t-1时智能体m接收到的任务对应的服务集合,R(m,t-1)表示时隙t-1时智能体m选择加入缓存的服务集合,R(m,2-1)全部元素记为0,O(m,t-1)表示时隙t-1时智能体m迁移到另一个智能体的任务对应的服务集合,C(m,t-1)表示时隙t-1时智能体m迁移到远端云服务器的任务对应的服务集合,L(m,t-1)表示时隙t-1时智能体m的负载情况;所述任务均为计算型任务;
令智能体根据计算资源实际分配情况分为高负载设备和低负载设备两类;若智能体的任一个本地缓存命中任务不满足执行时延限制,则该智能体为高负载设备;反之,该智能体为低负载设备;所述本地缓存命中任务指的是智能体关联的终端用户请求的任务且智能体本地缓存有该任务对应的服务;
若智能体m为高负载设备则L(m,t-1)为1,若智能体m为低负载设备则L(m,t-1)为0。
智能体m在时隙t的动作定义为:
A(m,t)={se(m,t,in),se(m,t,out)}
其中se(m,t,in)为智能体m在时隙t决策加入缓存的服务集合,se(m,t,out)为智能体m在时隙t决策从缓存中移出的服务集合,se(m,t,in)se(m,t,out)满足约束条件:
Figure 384377DEST_PATH_IMAGE001
其中sto(s)表示服务s所占的缓存空间大小,se(m,t,to)为智能体m在时隙t开始时缓存的全部服务集合,S(m,max)表示智能体m的最大服务缓存容量;
所述奖励根据决策模型的优化目标设置,所述优化目标为在任务执行时延限制条件下最小化任务整体执行时延,记作:
Figure 498964DEST_PATH_IMAGE002
其中,D u 表示任务Task(u)的执行时延,M表示智能体集合,M包含全连接边缘网络中所有的智能体;U表示任务集合,U包含同一时隙上各智能体关联的终端用户请求的所有任务;
任务的分配满足以下约束:
Figure 404472DEST_PATH_IMAGE003
其中,P(m,s,t)表示二进制数,智能体m在时隙t上缓存了服务s,则P(m,s,t)为1,反之为0;sto(s)为服务s占用缓存空间大小,S表示服务集合;S(m,max)表示智能体m缓存空间大小,C(m,u)表示智能体m给任务Task(u)分配的计算量,π(m,exe)表示本地执行任务集合;C(m,max)表示智能体m的最大计算量。
优选的,智能体m在时隙
Figure 655325DEST_PATH_IMAGE004
的奖励Re(m,t)设置为:
Figure 371608DEST_PATH_IMAGE005
其中,U(m)表示智能体m关联的终端用户集合,D u 表示任务Task(u)的执行时延;l (u)表示任务Task(u)的执行时延限制。
优选的,所述决策模型的获得,包括以下步骤:
SD1、构建Actor-Critic神经网络作为基础模型,其包括Online-Actor网络、Online-Critic网络、Target-Actor网络和Target-Critic网络;基础模型与智能体数量相等并一一对应,且所有基础模型共用同一个经验池;
通过以下步骤SD2-SD5对各基础模型进行参数更新;
SD2、获取任意智能体的状态S(t),将状态S(t)输入Online-Actor网络,Online-Actor网络输出各动作打分,选取打分最高动作作为智能体的决策动作A(t);智能体执行决策动作A(t)后的状态记作下一个状态S(t+1);结合下一个状态S(t+1)执行任务卸载位置的分配,并根据任务卸载位置的分配结果计算奖励Re(t);构建经验池样本{S(t),A(t),Re(t),S(t+1)};
SD3、设置轮询,一个轮询包含n个时隙;每个时隙均产生各个智能体对应的经验池样本;
SD4、时隙数每达到n的倍数,则进行一次参数更新,即每个轮询进行一次基础模型参数更新,更新方法为:
首先从经验池中随机选择一个经验池样本,将S(t)和A(t)输入Online-Critic网络获得评价值Q;将S(t+1)输入Target-Actor网络,Target-Actor网络输出各动作打分,选取打分最高动作作为智能体的下一个决策动作A(t+1);将S(t+1)和A(t+1)输入Target-Critic网络获得评价值Q’;
将-Q作为损失对Online-Actor网络的参数进行梯度更新,将|Q-Q’|2作为损失对Online-Critic网络的参数进行梯度更新,对Target-Actor网络和Target-Critic网络进行滑动更新;
SD5、设第一迭代条件为轮询数量达到设定数量;当轮询数量达到设定数量,则对各基础模型的参数求平均值作为初始化参数;将初始化参数代入各基础模型以生成与各智能体对应的初始化模型;
通过以下步骤SD6-SD8对初始化模型进行网络更新;
SD6、获取智能体m的状态S(m,t),将状态S(m,t)输入智能体m对应的初始化模型的Online-Actor网络,Online-Actor网络输出各动作打分,选取打分最高动作作为智能体m的决策动作A(m,t);智能体m执行决策动作A(m,t)后的状态记作下一个状态S(m,t+1);结合下一个状态S(m,t+1)执行任务卸载位置的分配,根据任务卸载位置的分配结果计算奖励Re (m,t);构建经验池样本{S(m,t),A(m,t),Re(m,t),S(m,t+1)}存储到智能体m对应的经验池中;
SD7、设置轮询,一个轮询包含n个时隙;每个时隙均产生各个智能体对应的经验池样本;
SD8、时隙数每达到n的倍数,则进行一次参数更新,即每个轮询进行一次初始化模型参数更新,更新方法为:
首先从智能体m对应的经验池中随机选择一个经验池样本{S(m,t),A(m,t),Re(m, t),S(m,t+1)},将S(m,t)A(m,t)输入Online-Critic网络获得评价值Q;将S(m,t+1)输入Target-Actor网络,Target-Actor网络输出各动作打分,选取打分最高动作作为智能体的下一个决策动作A(m,t+1);将S(m,t+1)A(m,t+1)输入Target-Critic网络获得评价值Q’;
结合Q值计算第一损失函数,并根据第一损失函数对Online-Actor网络的参数进行梯度更新,结合QQ’计算第二损失函数,并根据第二损失函数对Online-Critic网络的参数进行梯度更新,对Target-Actor网络和Target-Critic网络进行滑动更新;
SD9、当初始化模型的参数迭代均达到设定的第二迭代条件,则固定初始化模型参数,选择其中的Online-Actor网络加载选择函数以作为决策模型。
优选的,第一损失函数为:Loss1=-Q
第二损失函数为:Loss2=(Q-Re(m,t)-γQ) 2
其中,γ表示折扣因子,γ为手动设置的超参数。
本发明的目的之二提出的一种面向异质任务泛化的任务卸载方法,有利于快速确定边缘网络中各任务的最终卸载位置。
一种面向异质任务泛化的任务卸载方法,适用于全连接边缘网络,用于确定所述全连接边缘网络中各边缘设备接收到的任务的最终执行位置;该任务卸载方法中将边缘设备作为智能体;
定义智能体m本地缓存命中任务集合π(m,can)用于存储智能体的本地缓存命中任务,所述本地缓存命中的任务指的是智能体关联的终端用户请求的任务且该任务对应的服务被该智能体缓存;
定义智能体m接收的协作智能体卸载任务集合π(m,rec)用于存储其他智能体迁移来的任务;
定义智能体m的本地执行任务集合π(m,exe),用于存储智能体m决策由自身执行的任务集合;
定义智能体m的本地迁出任务集合π(m,off),用于存储智能体m决策迁移其他智能体的任务集合;
m∈MM表示全连接边缘网络中所有智能体的集合;
该任务卸载方法包括以下步骤:
SA1、采用上述面向异质任务泛化的边缘缓存调度方法确定全连接边缘网络中各智能体的缓存服务;
SA2、获取各智能体本地执行任务集合π(m,exe)和本地迁出任务集合π(m,off)
针对高负载设备 m,根据以下步骤SB1-SB3获得其本地执行任务集合π(m,exe)和本地迁出任务集合π(m,off)
SB1、获取智能体m的本地缓存命中任务集合π(m,can)中每一个任务Task(u)的最低卸载执行时延D(min,of);
D(min,of)=min{D(coo,temp),D(cl,temp)}
其中,D(coo,temp)表示任务Task(u)在所有候选协作的低负载设备处执行所需的最低卸载执行时延,D(cl,temp)表示任务Task(u)迁移到远端云服务器执行所需的卸载执行时延;
SB2、遍历π(m,can)中的每一个任务Task(u),将D(min,of)>l(u)的任务Task(u)迁移到π(m,exe)中,计算分配给π(m,can)π(m,exe)中每个任务的计算量,进而计算π(m, can)中每个任务的本地执行时延D(u,lo)和计算卸载预估收益值V(u,ear)
D(u,lo)=t(u,m,up)+φ(u)/C(m,u,op)
V(u,ear)=D(u,lo)-D(min,of)
其中,t(u,m,up)表示终端用户u将任务Task(u)迁移到智能体m的上行传输时延,C (m,u,op)表示智能体m为本地每个待执行的任务Task(u)分配的最优计算量,φ(u)表示任务Task(u)的所需计算量;
SB3、依次选择π(m,can)中卸载预估收益值最大的任务迁移到本地迁出任务集合π (m,off)中,直到π(m,can)中的剩余任务和π(m,exe)中的任务均满足任务执行时延限制,此时将π(m,can)中剩余的所有任务全部添加到π(m,exe)中。
针对低负载设备 m
π(m,exe)=π(m,can)π(m,rec)
π(m,off)=π(m,no)
π(m,no)表示智能体m本地未缓存命中任务集合,本地未缓存命中任务指的是本地接收到的任务且本地没有缓存该任务执行所需的服务;π(m,rec)表示智能体m接收的协作智能体卸载任务集合,即其他智能体迁移来的任务集合;
SA3、令智能体m候选协作的智能体的序号集合记作M(m),令c∈M(m)),针对智能体m本地迁出任务集合π(m,off)中的任务Task{u,u∈π(m,off)},遍历智能体
Figure 707911DEST_PATH_IMAGE006
,如果智能体 c满足设定的卸载条件,则将智能体 c添加到Task{u,u∈π(m,off)}的待定卸载位置集合,并计算任务Task{u,u∈π(m,off)}在待定卸载位置集合中各智能体执行所需的执行时延;计算任务Task{u,u∈π(m,off)}迁移至远端云服务器的执行时延;
SA4、将待定卸载位置集合中的各智能体和远端云服务器均记作任务Task{u,u∈π (m,off)}的可卸载位置,选择任务Task{u,u∈π(m,off)}所有可卸载位置中总执行时延最小的位置作为Task{u,u∈π(m,off)}的最终卸载位置,并将Task{u,u∈π(m,off)}迁移至所述最终卸载位置的本地执行任务集合;
SA5、循环执行上述步骤SA3、SA4,直至所有智能体的π(m,off)中的所有任务均确定其卸载位置;
SA3中,所述卸载条件包括:
1)智能体c是低负载设备;
2)s(u)∈se(c,to),其中s(u)表示Task(u)的任务缓存需求,se(c,to)表示 智能体 c的服务缓存集合;
3)添加Task(u)至智能体 c的本地执行任务集合π(c,can)π(c,can)中所有任务的总执行时延均满足其时延限制。
优选的,SB2中,智能体m为本地每个待执行的任务Task(u)分配的最优计算量的计算公式为:
Figure 292476DEST_PATH_IMAGE007
其中,Ψ(1)表示过渡参数,Ψ(1)=π(m,exe)π(m,can);C(m,u,op)表示智能体m为本地每个待执行的任务Task(u)分配的最优计算量,φ(u)表示任务Task(u)的所需计算量,C(m,max)表示智能体m的最大计算量。
优选的,令智能体m关联的终端用户u产生的任务Task(u)迁移到智能体c处的执行时延记作D(u,coo)
D(u,coo)=t(u,m,up)+t(m,c,tr)+φ(u)/C(c,u)
其中,t(u,m,up)表示终端用户将任务Task(u)上传到智能体m的上行传输时延,t (m,c,tr)表示智能体m和智能体c之间的任务数据传输时延,φ(u)表示任务Task(u)的所需计算量,C(c,u)表示智能体c分配给任务Task(u)的计算量,C(c,u)=C(u,c,pre)C(u,c, pre)表示执行任务Task(u)的智能体c中每个任务能够获得的计算量均值。
令智能体m关联的终端用户u产生的任务Task(u)迁移到远端云服务器的执行时延记作D(u,cl);
D(u,cl)=t(u,m,up)+t(u,cl)
其中,t(u,m,up)表示终端用户将任务Task(u)上传到智能体m的上行传输时延,t (u,cl)表示智能体传输任务数据到远端云服务器的传输时延。
本发明的目的之三提出的一种面向异质任务泛化的任务卸载系统,为上述的一种面向异质任务泛化的任务卸载方法提供了载体。
一种面向异质任务泛化的任务卸载系统,包括存储器和处理器,存储器存储有计算机程序,所述计算机程序被执行时用于实现如上述面向异质任务泛化的边缘缓存调度方法,处理器用于执行所述计算机程序以获取全连接边缘网络中各智能体的服务调度,并根据服务调度分配所有终端用户上传任务的最终卸载位置。
一种面向异质任务泛化的任务卸载系统,包括存储器和处理器,存储器存储有计算机程序,处理器用于执行所述计算机程序以实现所述的面向异质任务泛化的任务卸载方法。
本发明的优点在于:
(1)本发明公开了一种面向异质任务泛化的边缘缓存调度方法,首先在不区分智能体的情况下,采用所有智能体共用经验池的方式对基础模型进行训练,然后通过所有基础模型的参数平均获得初始化参数;本发明中以初始化参数为不同智能体对应的决策模型的初始值,然后根据各智能体对应的经验池样本训练决策模型。本发明中,初始化参数的使用,大大提高了决策模型的泛化能力和收敛效率。
(2)边缘网络中,现有技术通常考虑全体终端用户的服务请求均服从同一静态分布;当前的边缘缓存策略中所应用的自主学习模型,当服务请求分布发生变化,就需要重新学习当前分布状态。本发明中,基础模型的训练限制小,效率高,通用性强,且基础模型训练过程中,通过设置不同智能体关联的终端用户的服务请求服从不同分布,使得初始化参数可泛化使用。如此,全连接边缘网络中终端用户的服务请求分布发生改变时,只需要对初始化模型重新训练即可,不需要重新训练基础模型。
(3)本发明中,在对基础模型进行训练时所采用的经验池样本来自于不同智能体关联的终端用户的服务请求服从不同分布的全连接边缘网络,使得基础模型参数迭代过程中可充分适应全连接边缘网络中终端用户服务请求的动态变化,在面对动态异质任务请求时提供强大的泛化能力;克服了每当边缘环境中终端用户任务请求分布随时间变化时,传统强化学习模型需要重新开始学习缓存策略学习效率低的缺陷。本发明中,通过基础模型训练获得初始化参数,使得各智能体对应的决策模型以面向异质任务具有泛化性能的初始化参数作为学习起点,当面对全新的任务请求分布时均能在较少时间内收敛,拥有更快的收敛速度,能够更快地求得最优缓存策略,获得更高的平均奖励,所述平均奖励即为不同智能体的奖励平均值。
(4)本发明在传统的边缘缓存调度方法上提高了全新任务请求时的快速学习能力,综合考虑了协作式多边缘基站场景下的通信模型、服务缓存与任务卸载模型及各种约束条件,初始化模型训练通过多智能体强化学习算法学习并更新边缘基站服务缓存策略,从而实现最小化任务执行时延的目的;基础模型训练通过元学习方法学习具有泛化性能的元参数,使用元参数作为初始化参数进行学习,使本方法面向全新的任务请求时拥有更快的收敛速度,能够更快地求得最优解。
(5)本发明提出的一种面向异质任务泛化的任务卸载方法,在确定了服务缓存的情况下,可快速实现不同智能体关联的所有终端用户上传的任务的最终卸载位置,实现智能体之间的协作,提高卸载效率,降低时延。
(6)本发明提供的一种面向异质任务泛化的任务卸载系统,为上述的面向异质任务泛化的任务卸载方法提供了载体,便于该任务卸载方法的推广。
附图说明
图1为一种面向异质任务泛化的边缘缓存调度方法流程图;
图2为一种面向异质任务泛化的任务卸载方法流程图;
图3为一种决策模型训练流程图;
图4为高负载设备的本地执行任务集合和本地迁出任务集合确定流程图;
图5为实施例中全连接边缘网络拓扑图;
其中,Cloud Server表示远端云服务器;Edge表示智能体;UE表示终端用户;
图6(a)为偏斜因子为0.9的任务分布下,实施例中各种协作缓存决策方法在不同的全新任务请求下的训练收敛过程仿真结果对比图;
图6(b)为偏斜因子为1.1的任务分布下,实施例中各种协作缓存决策方法在不同的全新任务请求下的训练收敛过程仿真结果对比图;
图7为实施例中各种协作缓存决策方法的平均卸载总时延仿真结果对比图;
图8为实施例中各种协作缓存决策方法的平均缓存命中率对比仿真结果图。
具体实施方式
全连接边缘网络的Markov模型
全连接边缘网络指的是:边缘网络中任一MEC设备与其余所有MEC设备均协作缓存,即任意两个MEC设备均可数据通信,全连接边缘网络中某个MEC设备的任务可迁移到远端云服务器卸载,也可迁移到任一个缓存有对应的服务的MEC设备卸载。
本实施方式中为了便于描述,将全连接边缘网络中的MEC设备记作智能体。定义全连接边缘网络中包含的所有智能体的集合为M,定义智能体m关联的终端用户的集合为U (m),终端用户u关联智能体m,则u∈U(m)m∈M。定义远端云服务器中缓存的所有服务的集合为S={1,2,3,…,s,…},s表示服务的序号,服务s所占的缓存空间大小记作sto(s)
将连续时间轴划分为多个分离的等长时隙,MEC设备的服务缓存策略在每个时隙开始时更新。假设每个时隙中终端用户u产生一个计算任务Task(u)={τ(u),φ(u),l(u),s (u)},其中,τ(u)表示任务Task(u)的输入数据大小,φ(u)表示任务Task(u)的所需计算量,l(u)表示任务Task(u)的执行时延限制,s(u)表示任务Task(u)的服务缓存需求,其中s(u) ∈S
定义智能体m的本地缓存命中任务集合π(m,can)用于存储智能体的本地缓存命中任务;所述本地缓存命中任务指的是智能体关联的终端用户请求的任务,且该任务对应的服务被该智能体缓存。
定义智能体m接收的协作智能体卸载任务集合π(m,rec)用于存储其他智能体迁移来的任务。
定义智能体m的本地执行任务集合π(m,exe),用于存储智能体m决策由自身执行的任务集合。
定义智能体m的本地迁出任务集合π(m,off),用于存储智能体m决策迁移其他智能体的任务集合。
令智能体m关联的终端用户u产生的任务Task(u)迁移到智能体c处的执行时延记作D(u,coo)
D(u,coo)=t(u,m,up)+t(m,c,tr)+φ(u)/C(c,u)
其中,t(u,m,up)表示终端用户将任务Task(u)上传到智能体m的上行传输时延,t (m,c,tr)表示智能体m和智能体c之间的任务数据传输时延,φ(u)表示任务Task(u)的所需计算量,C(c,u)表示智能体c分配给任务Task(u)的计算量,C(c,u)=C(u,c,pre)C(u,c, pre)表示执行任务Task(u)的智能体c中每个任务能够获得的计算量均值。
令智能体m关联的终端用户u产生的任务Task(u)迁移到远端云服务器的执行时延记作D(u,cl);
D(u,cl)=t(u,m,up)+t(u,cl)
其中,t(u,m,up)表示终端用户将任务Task(u)上传到智能体m的上行传输时延,t (u,cl)表示智能体传输任务数据到远端云服务器的传输时延。
本实施方式中建立的Markov模型,是为了设置多边缘协作场景下服务缓存和计算任务卸载联合优化、强化学习两者之间的映射关系问题。该Markov模型用于定义每个智能体的状态、动作及奖励。
智能体m在时隙t的状态定义为:
S(m,t)={P(m,t-1),S(m,t-1),R(m,t-1),O(m,t-1),C(m,t-1),L(m,t-1)}
其中,t≥2,P(m,t-1)表示智能体m在时隙t-1时缓存的服务集合,S(m,t-1)表示时隙t-1时智能体m接收到的任务对应的服务集合,R(m,t-1)表示时隙t-1时智能体m选择加入缓存的服务集合,R(m,2-1)全部元素记为0,O(m,t-1)表示时隙t-1时智能体m迁移到另一个智能体的任务对应的服务集合,C(m,t-1)表示时隙t-1时智能体m迁移到远端云服务器的任务对应的服务集合,L(m,t-1)表示时隙t-1时智能体m的负载情况;定义MEC设备根据计算资源实际分配情况分为高负载设备和低负载设备两类;若MEC设备的任一个本地缓存命中任务不满足执行时延限制,则该MEC设备为高负载设备;反之,该MEC设备为低负载设备;若智能体m为高负载设备则L(m,t-1)为1,若智能体m为低负载设备则L(m,t-1)为0。所述任务均为计算型任务。
智能体m在时隙t的动作定义为:
A(m,t)={se(m,t,in),se(m,t,out)}
其中se(m,t,in)为智能体m在时隙t决策加入缓存的服务集合,se(m,t,out)为智能体m在时隙t决策从缓存中移出的服务集合,se(m,t,in)se(m,t,out)满足约束条件:
Figure 790978DEST_PATH_IMAGE001
其中sto(s)表示服务s所占的缓存空间大小,se(m,t,to)为智能体m在时隙t开始时缓存的全部服务集合,S(m,max)表示智能体m的最大服务缓存容量。
所述奖励根据决策模型的优化目标设置,所述优化目标为在任务执行时延限制条件下最小化任务整体执行时延,记作:
Figure 537217DEST_PATH_IMAGE002
其中,D u 表示任务Task(u)的执行时延,U表示任务集合,U包含同一时隙上各智能体关联的终端用户请求的所有任务;
任务的分配满足以下约束:
Figure 236183DEST_PATH_IMAGE003
其中,P(m,s,t)表示二进制数,智能体m在时隙t上缓存了服务s,则P(m,s,t)为1,反之为0;sto(s)为服务s占用缓存空间大小;S表示服务集合,即远端云服务器上缓存的所有服务的集合;S(m,max)表示智能体m的缓存空间大小,C(m,u)表示智能体m给任务Task(u)分配的计算量,π(m,exe)表示本地执行任务集合;C(m,max)表示智能体m的最大计算量。
本实施方式中,智能体m在时隙t的奖励Re(m,t)设置为:
Figure 358860DEST_PATH_IMAGE005
(1)
其中,U(m)表示智能体m关联的终端用户集合,D u 表示任务Task(u)的执行时延;l (u)表示任务Task(u)的执行时延限制。
一种面向异质任务泛化的边缘缓存调度方法
本实施方式提出的一种面向异质任务泛化的边缘缓存调度方法,适用于全连接边缘网络,该边缘缓存调度方法用于分配不同智能体上的服务缓存,以优化整个边缘网络中的任务执行时延,即提高卸载任务的执行效率。
参照图1,本实施方式中的面向异质任务泛化的边缘缓存调度方法,包括以下步骤:
S1、建立如上所述的全连接边缘网络的Markov模型。
S2、构建与各智能体对应的决策模型,决策模型基于神经网络构建,并结合奖励进行训练;决策模型的输入为对应的智能体在任一时隙上的状态,其输出为智能体的动作。
S3、将同一时隙上各智能体的状态输入对应的决策模型,以获取各智能体的动作。
参照图3,决策模型的获得,包括以下步骤:
SD1、构建Actor-Critic神经网络作为基础模型,其包括Online-Actor网络、Online-Critic网络、Target-Actor网络和Target-Critic网络;基础模型与智能体数量相等并一一对应,且所有基础模型共用同一个经验池。
通过以下步骤SD2-SD5对各基础模型进行参数更新。
SD2、获取任意智能体的状态S(t),将状态S(t)输入Online-Actor网络,Online-Actor网络输出各动作打分,选取打分最高动作作为智能体的决策动作A(t);智能体执行决策动作A(t)后的状态记作下一个状态S(t+1);结合下一个状态S(t+1)执行任务卸载位置的分配,并根据任务卸载位置的分配结果计算奖励Re(t);构建经验池样本{S(t),A(t),Re(t),S(t+1)};
具体的,Online-Actor网络的输入为智能体在某一时隙上的状态S(t),其输出为该智能体在该时隙上可能执行的各个动作的概率。Online-Actor网络的输出可记作{Gl (a1),Gl(a2),…,Gl(aǩ),…,Gl(a$)},Gl(aǩ)表示该智能体在状态为S(t)时执行动作的概率,Gl(a1)+Gl(a2)+…+Gl(aǩ)+…+Gl(a$)=1。
令max{Gl(a1),Gl(a2),…,Gl(aǩ),…,Gl(a$)}=Gl(aǩ’),则A(t)=aǩ’,S(t+1)表示智能体在状态为S(t)时执行动作A(t)后的状态。
当全连接边缘网络中各智能体的状态确定,即各智能体缓存的服务确定,此时可根据现有技术确定各个终端用户上传的任务的最终卸载位置,本发明中还提供了一种优化的确定各任务最终卸载位置的方案,在后详述。
当所有任务的最终卸载位置确定后,可结合上述公式(1)计算奖励,值得注意的是,本步骤中的Re(t)即为公式(1)中的Re(m,t),由于基础模型训练过程中,所有基础模型共用一个经验池,故而所有数据状态、动作、奖励和下一个状态均不标注智能体身份。
SD3、设置轮询,一个轮询包含n个时隙;每个时隙均产生各个智能体对应的经验池样本,以便计算各个时隙上各经验样本中的奖励。
SD4、时隙数每达到n的倍数,则进行一次参数更新,即每个轮询进行一次基础模型参数更新,更新方法为:
首先从经验池中随机选择一个经验池样本,将S(t)和A(t)输入Online-Critic网络获得评价值Q;将S(t+1)输入Target-Actor网络,Target-Actor网络输出各动作打分,选取打分最高动作作为智能体的下一个决策动作A(t+1);将S(t+1)和A(t+1)输入Target-Critic网络获得评价值Q’;
将-Q作为损失对Online-Actor网络的参数进行梯度更新,将|Q-Q’|2作为损失对Online-Critic网络的参数进行梯度更新,对Target-Actor网络和Target-Critic网络进行滑动更新。
本步骤中,对Target-Actor网络和Target-Critic网络进行滑动更新时,滑动梯度如下公式(3)所示。
param(target,new)=τ×param(online)+(1-τ)param(target,old) (3)
param(target,new)表示更新后的Target参数,param(target,old)表示更新前的Target参数,param(online)表示当前Online网络的参数,τ表示滑动系数。值得注意的是,param(target,new)param(target,old)表示Target-Critic网络的参数时,param (online)表示Online-Critic网络的参数;param(target,new)param(target,old)表示Target-Actor网络的参数时,param(online)表示Online-Actor网络的参数。
SD5、当达到第一迭代条件,则对各基础模型的参数求平均值作为初始化参数;将初始化参数代入各基础模型以生成与各智能体对应的初始化模型。具体实施时,可设置第一迭代条件为轮询数量达到设定数量。
令第m个基础模型的参数记作{δ(m,1),δ(m,2),…,δ(m,č)};令智能体m对应的初始化模型的参数记作{δ’(m,1),δ’(m,2),…,δ’(m,č)};则:
δ’(m,1)=[δ(1,1)+δ(2,1)+…+δ(m,1)+…+δ(m max ,1)]/m max
δ’(m,2)=[δ(1,2)+δ(2,2)+…+δ(m,2)+…+δ(m max ,2)]/m max
……
δ’(m,č)=[δ(1,č)+δ(2,č)+…+δ(m,č)+…+δ(m max ,č)]/m max
m=1、2、……m max
其中,č表示基础模型的参数总数量,m max 表示智能体总数量。
可见,各智能体的初始化模型是相同的。
通过以下步骤SD6-SD8对初始化模型进行网络更新。
SD6、获取智能体m的状态S(m,t),将状态S(m,t)输入智能体m对应的初始化模型的Online-Actor网络,Online-Actor网络输出各动作打分,选取打分最高动作作为智能体m的决策动作A(m,t);智能体m执行决策动作A(m,t)后的状态记作下一个状态S(m,t+1);结合下一个状态S(m,t+1)执行任务卸载位置的分配,根据任务卸载位置的分配结果计算奖励Re (m,t);构建经验池样本{S(m,t),A(m,t),Re(m,t),S(m,t+1)}存储到智能体m对应的经验池中。
由于初始化模型不再共用经验池,故而,初始化模型产生的经验样本标注身份m进行区分。
SD7、设置轮询,一个轮询包含n个时隙;每个时隙均产生各个智能体对应的经验池样本。
SD8、时隙数每达到n的倍数,则进行一次参数更新,即每个轮询进行一次初始化模型参数更新,更新方法为:
首先从智能体m对应的经验池中随机选择一个经验池样本{S(m,t),A(m,t),Re(m, t),S(m,t+1)},将S(m,t)A(m,t)输入Online-Critic网络获得评价值Q;将S(m,t+1)输入Target-Actor网络,Target-Actor网络输出各动作打分,选取打分最高动作作为智能体的下一个决策动作A(m,t+1);将S(m,t+1)A(m,t+1)输入Target-Critic网络获得评价值Q’。
结合Q值计算第一损失函数Loss1=-Q,并根据第一损失函数对Online-Actor网络的参数进行梯度更新,结合QQ’计算第二损失函数Loss2=(Q-Re(m,t)-γQ) 2 ,并根据第二损失函数对Online-Critic网络的参数进行梯度更新,对Target-Actor网络和Target-Critic网络进行滑动更新。γ表示折扣因子,γ为手动设置的超参数。
具体的,对Target-Actor网络和Target-Critic网络进行滑动更新参照上述公式(3)。
SD9、当初始化模型的参数迭代均达到设定的第二迭代条件,则固定初始化模型参数,选择其中的Online-Actor网络加载选择函数以作为决策模型。具体实施时,可设置第二迭代条件为轮询次数,也可设置为第二损失函数达到目标值。
结合高负载设备和低负载设备的定义可知,低负载设备不仅可以为MEC本地关联的终端用户提供服务外,还可以接收协作的MEC设备迁移过来的任务;而高负载设备需要将部分任务迁移到其他MEC设备或者远端云服务器进行卸载。高负载设备和低负载设备的具体判断条件为:若MEC设备无法满足本地缓存命中任务集合π(m,can)中的所有任务的执行时延限制,则该边缘设备为高负载设备;反之,该MEC设备为低负载设备。
即,当智能体m满足D(u,lo)≤l(u),Ɐu∈U(m);则为低负载设备;反之则为高负载设备。D(u,lo)为任务Task(u)的本地执行时延,即Task(u)在关联的智能体m上的卸载总时延。
获取高负载设备的本地执行任务集合和本地迁出任务集合
参照图4,当智能体m为高负载设备,其本地执行任务集合π(m,exe)和本地迁出任务集合π(m,off)根据以下步骤获得:
SB1、获取智能体m的本地缓存命中任务集合π(m,can)中每一个任务Task(u)的最低卸载执行时延D(min,of);
D(min,of)=min{D(coo,temp),D(cl,temp)};
其中,D(coo,temp)表示任务Task(u)在所有候选协作的低负载设备处执行所需的最低卸载执行时延,即D(coo,temp)D(u,coo)的最小值;即:
Figure 584305DEST_PATH_IMAGE008
D(u,coo)=t(u,m,up)+t(m,c,tr)+φ(u)/C(c,u)
D(cl,temp)表示任务Task(u)迁移到远端云服务器执行所需的卸载执行时延,M m Low 表示智能体m的协作智能体中的低负载设备的集合。
D(cl,temp)=t(u,m,up)+t(u,cl)
其中,t(u,m,up)表示终端用户u将任务Task(u)迁移到智能体m的上行传输时延,t (u,cl)表示智能体m将任务Task(u)迁移到远端云服务器的传输时间。由于任务在远端云服务器上的执行速度极快,故而D(cl,temp)中忽略任务执行时间。
SB2、遍历π(m,can)中的每一个任务Task(u),将D(min,of)>l(u)的任务Task(u)迁移到π(m,exe)中,依据以下公式(2)计算分配给π(m,can)π(m,exe)中每个任务的计算量,进而计算π(m,can)中每个任务的本地执行时延D(u,lo)和计算卸载预估收益值V(u,ear)
Figure 626079DEST_PATH_IMAGE007
(2)
Ψ(1)=π(m,exe)π(m,can)
D(u,lo)=t(u,m,up)+φ(u)/C(m,u,op)
V(u,ear)=D(u,lo)-D(min,of)
其中,Ψ(1)表示过渡参数,t(u,m,up)表示终端用户u将任务Task(u)迁移到关联的智能体m的上行传输时延,C(m,u,op)表示智能体m为本地每个待执行的任务Task(u)分配的最优计算量,φ(u)表示任务Task(u)的所需计算量;C(m,max)表示智能体m的最大计算量。
SB3、依次选择π(m,can)中卸载预估收益值最大的任务迁移到本地迁出任务集合π (m,off)中,直到π(m,can)中的剩余任务和π(m,exe)中的任务均满足任务执行时延限制,此时将π(m,can)中剩余的所有任务全部添加到π(m,exe)中。
获取低负载设备的本地执行任务集合和本地迁出任务集合
当智能体m为低负载设备,其本地执行任务集合π(m,exe)和本地迁出任务集合π (m,off)根据以下公式获得:
π(m,exe)=π(m,can)π(m,rec)
π(m,off)=π(m,no)
π(m,no)表示智能体m本地未缓存命中任务集合,本地未缓存命中任务指的是本地接收到的任务且本地没有缓存该任务执行所需的服务;π(m,rec)表示智能体m接收的协作智能体卸载任务集合,即其他智能体迁移来的任务集合。
一种面向异质任务泛化的任务卸载方法
参照图2,本实施方式提出的一种面向异质任务泛化的任务卸载方法,包括以下步骤:
SA1、采用上述面向异质任务泛化的边缘缓存调度方法确定全连接边缘网络中各智能体的缓存服务;
SA2、获取各智能体本地执行任务集合π(m,exe)和本地迁出任务集合π(m,off)。
本步骤中,在获取智能体m的本地执行任务集合π(m,exe)和本地迁出任务集合记作π(m,off)时,首先要确定智能体m为高负载设备还是低负载设备,然后再执行上述的π(m, exe)π(m,off)的获取方法。
SA3、令智能体m候选协作的智能体的序号集合记作M(m),令c∈M(m)),针对智能体m本地迁出任务集合π(m,off)中的任务Task{u,u∈π(m,off)},遍历智能体
Figure 202554DEST_PATH_IMAGE006
,如果智能体 c满足设定的卸载条件,则将智能体 c添加到Task{u,u∈π(m,off)}的待定卸载位置集合,并计算任务Task{u,u∈π(m,off)}在待定卸载位置集合中各智能体执行所需的执行时延;计算任务Task{u,u∈π(m,off)}迁移至远端云服务器的执行时延;
本步骤中,所述卸载条件包括:
1)智能体c是低负载设备;
2)s(u)∈se(c,to),其中s(u)表示Task(u)的任务缓存需求,se(c,to)表示 智能体 c的服务缓存集合;
3)添加Task(u)至智能体 c的本地执行任务集合π(c,can)π(c,can)中所有任务按照公式(2)重新分配计算资源后所有任务的总执行时延均满足其时延限制。
SA4、将待定卸载位置集合中的各智能体和远端云服务器均记作任务Task{u,u∈π (m,off)}的可卸载位置,选择任务Task{u,u∈π(m,off)}所有可卸载位置中总执行时延最小的位置作为Task{u,u∈π(m,off)}的最终卸载位置,并将Task{u,u∈π(m,off)}迁移至所述最终卸载位置的本地执行任务集合。
SA5、循环执行上述步骤SA3、SA4,直至所有智能体的π(m,off)中的所有任务均确定其卸载位置。
实施例
本实施例中以3个同构MEC设备Edge1、Edge2和Edge3构成的全连接边缘网络为例,每个MEC设备关联有5个终端用户,全连接边缘网络的拓扑图如图5所示,其中,CloudServer表示远端云服务器,UEq-p表示智能体q关联的第p个终端用户,q=1、2、3,p=1、2、3、4、5。
本实施例中首先采用上述的面向异质任务泛化的边缘缓存调度方法调度各MEC设备的服务,然后采用上述的面向异质任务泛化的任务卸载方法确定所有终端用户上传的所有任务的最终卸载位置。
本实施例中,采用齐普夫定律(zipf)表示任务分布,采用不同偏斜因子θ的分布下的任务的收敛速度如图6(a)、图6(b)所示。可见,本发明提供的决策模型满足任意分布的任务,决策模型训练过程中只需要经过30次左右的参数迭代便可收敛,收敛速度极快。
图6(a)和图6(b)中,Meta Parameter表示采用本发明提供的先训练基础模型再训练初始化模型的方法获得的决策模型,Initial Parameter表示采用随机初始化参数的方法获得的决策模型。从图6(a)和图6(b)可知,两种决策模型的收敛速度和收敛后奖励如下表1所示。
表1:两种决策模型的对比
Figure 4288DEST_PATH_IMAGE009
结合图6(a)和图6(b)和上表1可知,本发明中采用基础模型实现初始化参数训练求平均的方法,大大提高了决策模型的收敛速度。
表2:对比例统计表
Figure 818660DEST_PATH_IMAGE010
本实施例中,还分别采用了上表2中的四种方法决策全连接边缘网络中各MEC设备的缓存服务,然后采用本发明提供的面向异质任务泛化的任务卸载方法确定所有终端用户上传的所有任务的最终卸载位置,并计算所有任务的卸载总时延,最终结果如图7所示。可见,本发明提供的决策模型实现的服务缓存调度结果能够实现更好的平均卸载总时延,且任务执行效率远远超过其他三种模型决策的服务缓存调度结果。所述平均卸载总时延为全连接边缘网络中所有任务的卸载总时延的平均值。
本实施例中,还进一步将上述四种方法的智能体平均缓存命中率进行了对比,结果如图8所示,可见任意缓存空间下,采用本发明提供的决策模型的智能体平均缓存命中率远远高出其他三种方法。
以上仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。

Claims (9)

1.一种面向异质任务泛化的边缘缓存调度方法,其特征在于,适用于全连接边缘网络,全连接边缘网络指的是:边缘网络中任一MEC设备与其余所有MEC设备均协作缓存;
所述边缘缓存调度方法包括以下步骤:
S1、针对多边缘协作场景下服务缓存和计算任务卸载的联合优化需求,设置所述联合优化需求与强化学习两者之间的映射关系问题,建立该问题的Markov模型,将MEC设备作为智能体,设置每个智能体的状态、动作及奖励;
S2、构建与各智能体对应的决策模型,决策模型基于神经网络构建,并结合奖励进行训练;决策模型的输入为对应的智能体在任一时隙上的状态,其输出为智能体的动作;
S3、将同一时隙上各智能体的状态输入对应的决策模型,以获取各智能体的动作;
决策模型的获取包括以下步骤:
选取神经网络模型作为基础模型,基础模型与各智能体一一对应,且所有基础模型共用一个经验池;各基础模型从对应的智能体角度随机学习共用的经验池中的经验池样本以迭代参数,其中不同智能体关联的终端用户的服务请求服从不同分布;当各基础模型的参数迭代均达到设定的第一迭代条件,则对各基础模型的参数求平均值作为初始化参数,即δ’(m,¢)=[δ(1,¢)+δ(2,¢)+…+δ(m,¢)+…+δ(m max ,¢)]/m max 1¢č;其中,č表示基础模型的参数总数量,m max 表示智能体总数量,δ(m,¢)表示智能体m对应的基础模型的第¢个参数,δ’(m,¢)表示智能体m对应的初始化模型的第¢个参数;
将初始化参数代入各基础模型以生成与各智能体对应的初始化模型,各初始化模型设有对应的经验池,各初始化模型从对应的智能体角度学习对应的经验池中的经验池样本以迭代参数,其中不同智能体关联的终端用户的服务请求均服从同一分布;直至初始化模型的参数迭代均达到设定的第二迭代条件,则固定初始化模型参数以获取决策模型;
上述S1中,智能体m在时隙t的状态定义为:
S(m,t)={P(m,t-1),S(m,t-1),R(m,t-1),O(m,t-1),C(m,t-1),L(m,t-1)}
其中,t≥2,P(m,t-1)表示智能体m在时隙t-1时缓存的服务集合,S(m,t-1)表示时隙t- 1时智能体m接收到的任务对应的服务集合,R(m,t-1)表示时隙t-1时智能体m选择加入缓存的服务集合,R(m,2-1)全部元素记为0,O(m,t-1)表示时隙t-1时智能体m迁移到另一个智能体的任务对应的服务集合,C(m,t-1)表示时隙t-1时智能体m迁移到远端云服务器的任务对应的服务集合,L(m,t-1)表示时隙t-1时智能体m的负载情况;所述任务均为计算型任务;
令智能体根据计算资源实际分配情况分为高负载设备和低负载设备两类;若智能体的任一个本地缓存命中任务不满足执行时延限制,则该智能体为高负载设备;反之,该智能体为低负载设备;所述本地缓存命中任务指的是智能体关联的终端用户请求的任务且智能体本地缓存有该任务对应的服务;
若智能体m为高负载设备则L(m,t-1)为1,若智能体m为低负载设备则L(m,t-1)为0;
智能体m在时隙t的动作定义为:
A(m,t)={se(m,t,in),se(m,t,out)}
其中se(m,t,in)为智能体m在时隙t决策加入缓存的服务集合,se(m,t,out)为智能体m在时隙t决策从缓存中移出的服务集合,se(m,t,in)se(m,t,out)满足约束条件:
Figure 120693DEST_PATH_IMAGE001
其中sto(s)表示服务s所占的缓存空间大小,se(m,t,to)为智能体m在时隙t开始时缓存的全部服务集合,S(m,max)表示智能体m的最大服务缓存容量;
所述奖励根据决策模型的优化目标设置,所述优化目标为在任务执行时延限制条件下最小化任务整体执行时延,记作:
Figure 568992DEST_PATH_IMAGE002
其中,D u 表示任务Task(u)的执行时延,u表示上传任务Task(u)的终端用户,M表示智能体集合,M包含全连接边缘网络中所有的智能体;U表示任务集合,U包含同一时隙上各智能体关联的终端用户请求的所有任务;
任务的分配满足以下约束:
Figure 614309DEST_PATH_IMAGE003
其中,P(m,s,t)表示二进制数,智能体m在时隙t上缓存了服务s,则P(m,s,t)为1,反之为0;sto(s)为服务s占用缓存空间大小,S表示服务集合;S(m,max)表示智能体m缓存空间大小,C(m,u)表示智能体m给任务Task(u)分配的计算量,π(m,exe)表示本地执行任务集合;C (m,max)表示智能体m的最大计算量。
2.如权利要求1所述的面向异质任务泛化的边缘缓存调度方法,其特征在于,智能体m在时隙
Figure 291409DEST_PATH_IMAGE005
的奖励Re(m,t)设置为:
Figure 371360DEST_PATH_IMAGE006
其中,U(m)表示智能体m关联的终端用户集合,D u 表示任务Task(u)的执行时延;l(u)表示任务Task(u)的执行时延限制。
3.如权利要求1所述的面向异质任务泛化的边缘缓存调度方法,其特征在于,所述决策模型的获得,包括以下步骤:
SD1、构建Actor-Critic神经网络作为基础模型,其包括Online-Actor网络、Online-Critic网络、Target-Actor网络和Target-Critic网络;基础模型与智能体数量相等并一一对应,且所有基础模型共用同一个经验池;
通过以下步骤SD2-SD5对各基础模型进行参数更新;
SD2、获取任意智能体的状态S(t),将状态S(t)输入Online-Actor网络,Online-Actor网络输出各动作打分,选取打分最高动作作为智能体的决策动作A(t);智能体执行决策动作A(t)后的状态记作下一个状态S(t+1);结合下一个状态S(t+1)执行任务卸载位置的分配,并根据任务卸载位置的分配结果计算奖励Re(t);构建经验池样本{S(t),A(t),Re(t),S(t+1)};
SD3、设置轮询,一个轮询包含n个时隙;每个时隙均产生各个智能体对应的经验池样本;
SD4、时隙数每达到n的倍数,则进行一次参数更新,即每个轮询进行一次基础模型参数更新,更新方法为:
首先从经验池中随机选择一个经验池样本,将S(t)和A(t)输入Online-Critic网络获得评价值Q;将S(t+1)输入Target-Actor网络,Target-Actor网络输出各动作打分,选取打分最高动作作为智能体的下一个决策动作A(t+1);将S(t+1)和A(t+1)输入Target-Critic网络获得评价值Q’;
将-Q作为损失对Online-Actor网络的参数进行梯度更新,将|Q-Q’|2作为损失对Online-Critic网络的参数进行梯度更新,对Target-Actor网络和Target-Critic网络进行滑动更新;
SD5、设第一迭代条件为轮询数量达到设定数量;当轮询数量达到设定数量,则对各基础模型的参数求平均值作为初始化参数;将初始化参数代入各基础模型以生成与各智能体对应的初始化模型;
通过以下步骤SD6-SD8对初始化模型进行网络更新;
SD6、获取智能体m的状态S(m,t),将状态S(m,t)输入智能体m对应的初始化模型的Online-Actor网络,Online-Actor网络输出各动作打分,选取打分最高动作作为智能体m的决策动作A(m,t);智能体m执行决策动作A(m,t)后的状态记作下一个状态S(m,t+1);结合下一个状态S(m,t+1)执行任务卸载位置的分配,根据任务卸载位置的分配结果计算奖励Re (m,t);构建经验池样本{S(m,t),A(m,t),Re(m,t),S(m,t+1)}存储到智能体m对应的经验池中;
SD7、设置轮询,一个轮询包含n个时隙;每个时隙均产生各个智能体对应的经验池样本;
SD8、时隙数每达到n的倍数,则进行一次参数更新,即每个轮询进行一次初始化模型参数更新,更新方法为:
首先从智能体m对应的经验池中随机选择一个经验池样本{S(m,t),A(m,t),Re(m,t),S (m,t+1)},将S(m,t)A(m,t)输入Online-Critic网络获得评价值Q;将S(m,t+1)输入Target-Actor网络,Target-Actor网络输出各动作打分,选取打分最高动作作为智能体的下一个决策动作A(m,t+1);将S(m,t+1)A(m,t+1)输入Target-Critic网络获得评价值Q’;
结合Q值计算第一损失函数,并根据第一损失函数对Online-Actor网络的参数进行梯度更新,结合QQ’计算第二损失函数,并根据第二损失函数对Online-Critic网络的参数进行梯度更新,对Target-Actor网络和Target-Critic网络进行滑动更新;
SD9、当初始化模型的参数迭代均达到设定的第二迭代条件,则固定初始化模型参数,选择其中的Online-Actor网络加载选择函数以作为决策模型。
4.如权利要求3所述的面向异质任务泛化的边缘缓存调度方法,其特征在于,第一损失函数为:Loss1=-Q
第二损失函数为:Loss2=(Q-Re(m,t)-γQ) 2
其中,γ表示折扣因子,γ为手动设置的超参数。
5.一种面向异质任务泛化的任务卸载方法,其特征在于,适用于全连接边缘网络,用于确定所述全连接边缘网络中各边缘设备接收到的任务的最终执行位置;该任务卸载方法中将边缘设备作为智能体;
定义智能体m本地缓存命中任务集合π(m,can)用于存储智能体的本地缓存命中任务,所述本地缓存命中任务指的是智能体关联的终端用户请求的任务且该任务对应的服务被该智能体缓存;
定义智能体m接收的协作智能体卸载任务集合π(m,rec)用于存储其他智能体迁移来的任务;
定义智能体m的本地执行任务集合π(m,exe),用于存储智能体m决策由自身执行的任务集合;
定义智能体m的本地迁出任务集合π(m,off),用于存储智能体m决策迁移其他智能体的任务集合;
m∈MM表示全连接边缘网络中所有智能体的集合;
该任务卸载方法包括以下步骤:
SA1、采用上述权利要求1至4任一项所述的面向异质任务泛化的边缘缓存调度方法确定全连接边缘网络中各智能体的缓存服务;
SA2、获取各智能体本地执行任务集合π(m,exe)和本地迁出任务集合π(m,off)
针对高负载设备 m,根据以下步骤SB1-SB3获得其本地执行任务集合π(m,exe)和本地迁出任务集合π(m,off)
SB1、获取智能体m的本地缓存命中任务集合π(m,can)中每一个任务Task(u)的最低卸载执行时延D(min,of)
D(min,of)=min{D(coo,temp),D(cl,temp)}
其中,D(coo,temp)表示任务Task(u)在所有候选协作的低负载设备处执行所需的最低卸载执行时延,D(cl,temp)表示任务Task(u)迁移到远端云服务器执行所需的卸载执行时延;
SB2、遍历π(m,can)中的每一个任务Task(u),将D(min,of)>l(u)的任务Task(u)迁移到π(m,exe)中,计算分配给π(m,can)π(m,exe)中每个任务的计算量,进而计算π(m,can)中每个任务的本地执行时延D(u,lo)和计算卸载预估收益值V(u,ear)
D(u,lo)=t(u,m,up)+φ(u)/C(m,u,op)
V(u,ear)=D(u,lo)-D(min,of)
其中,t(u,m,up)表示终端用户u将任务Task(u)迁移到智能体m的上行传输时延,C(m, u,op)表示智能体m为本地每个待执行的任务Task(u)分配的最优计算量,φ(u)表示任务Task(u)的所需计算量;
SB3、依次选择π(m,can)中卸载预估收益值最大的任务迁移到本地迁出任务集合π(m, off)中,直到π(m,can)中的剩余任务和π(m,exe)中的任务均满足任务执行时延限制,此时将π(m,can)中剩余的所有任务全部添加到π(m,exe)中;
针对低负载设备 m
π(m,exe)=π(m,can)π(m,rec)
π(m,off)=π(m,no)
π(m,no)表示智能体m本地未缓存命中任务集合,本地未缓存命中任务指的是本地接收到的任务且本地没有缓存该任务执行所需的服务;π(m,rec)表示智能体m接收的协作智能体卸载任务集合,即其他智能体迁移来的任务集合;
SA3、令智能体m候选协作的智能体的序号集合记作M(m),令c∈M(m)),针对智能体m本地迁出任务集合π(m,off)中的任务Task{u,u∈π(m,off)},遍历智能体
Figure DEST_PATH_IMAGE007
,如果智能体 c满足设定的卸载条件,则将智能体 c添加到Task{u,u∈π(m,off)}的待定卸载位置集合,并计算任务Task{u,u∈π(m,off)}在待定卸载位置集合中各智能体执行所需的执行时延;计算任务Task{u,u∈π(m,off)}迁移至远端云服务器的执行时延;
SA4、将待定卸载位置集合中的各智能体和远端云服务器均记作任务Task{u,u∈π(m, off)}的可卸载位置,选择任务Task{u,u∈π(m,off)}所有可卸载位置中总执行时延最小的位置作为Task{u,u∈π(m,off)}的最终卸载位置,并将Task{u,u∈π(m,off)}迁移至所述最终卸载位置的本地执行任务集合;
SA5、循环执行上述步骤SA3、SA4,直至所有智能体的π(m,off)中的所有任务均确定其卸载位置;
SA3中,所述卸载条件包括:
1)智能体c是低负载设备;
2)s(u)∈se(c,to),其中s(u)表示Task(u)的任务缓存需求,se(c,to)表示 智能体 c的服务缓存集合;
3)添加Task(u)至智能体 c的本地执行任务集合π(c,can)π(c,can)中所有任务的总执行时延均满足其时延限制。
6.如权利要求5所述的面向异质任务泛化的任务卸载方法,其特征在于,SB2中,智能体m为本地每个待执行的任务Task(u)分配的最优计算量的计算公式为:
Figure 990560DEST_PATH_IMAGE008
其中,Ψ(1)表示过渡参数,Ψ(1)=π(m,exe)π(m,can)C(m,u,op)表示智能体m为本地每个待执行的任务Task(u)分配的最优计算量,φ(u)表示任务Task(u)的所需计算量,C (m,max)表示智能体m的最大计算量。
7.如权利要求5所述的面向异质任务泛化的任务卸载方法,其特征在于,令智能体m关联的终端用户u产生的任务Task(u)迁移到智能体c处的执行时延记作D(u,coo)
D(u,coo)=t(u,m,up)+t(m,c,tr)+φ(u)/C(c,u)
其中,t(u,m,up)表示终端用户将任务Task(u)上传到智能体m的上行传输时延,t(m,c, tr)表示智能体m和智能体c之间的任务数据传输时延,φ(u)表示任务Task(u)的所需计算量,C(c,u)表示智能体c分配给任务Task(u)的计算量,C(c,u)=C(u,c,pre)C(u,c,pre)表示执行任务Task(u)的智能体c中每个任务能够获得的计算量均值;
令智能体m关联的终端用户u产生的任务Task(u)迁移到远端云服务器的执行时延记作D(u,cl);
D(u,cl)=t(u,m,up)+t(u,cl)
其中,t(u,m,up)表示终端用户将任务Task(u)上传到智能体m的上行传输时延,t(u, cl)表示智能体传输任务数据到远端云服务器的传输时延。
8.一种面向异质任务泛化的任务卸载系统,其特征在于,包括存储器和处理器,存储器存储有计算机程序,所述计算机程序被执行时用于实现如权利要求1-4任一项面向异质任务泛化的边缘缓存调度方法,处理器用于执行所述计算机程序以获取全连接边缘网络中各智能体的服务调度,并根据服务调度分配所有终端用户上传任务的最终卸载位置。
9.一种面向异质任务泛化的任务卸载系统,其特征在于,包括存储器和处理器,存储器存储有计算机程序,处理器用于执行所述计算机程序以实现如权利要求5-7任一项所述的面向异质任务泛化的任务卸载方法。
CN202211272276.6A 2022-10-18 2022-10-18 面向异质任务泛化的边缘缓存调度、任务卸载方法和系统 Active CN115344395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211272276.6A CN115344395B (zh) 2022-10-18 2022-10-18 面向异质任务泛化的边缘缓存调度、任务卸载方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211272276.6A CN115344395B (zh) 2022-10-18 2022-10-18 面向异质任务泛化的边缘缓存调度、任务卸载方法和系统

Publications (2)

Publication Number Publication Date
CN115344395A CN115344395A (zh) 2022-11-15
CN115344395B true CN115344395B (zh) 2023-01-24

Family

ID=83956976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211272276.6A Active CN115344395B (zh) 2022-10-18 2022-10-18 面向异质任务泛化的边缘缓存调度、任务卸载方法和系统

Country Status (1)

Country Link
CN (1) CN115344395B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115809147B (zh) * 2023-01-16 2023-04-25 合肥工业大学智能制造技术研究院 多边缘协作缓存调度优化方法、系统及模型训练方法
CN116166406B (zh) * 2023-04-25 2023-06-30 合肥工业大学智能制造技术研究院 个性化边缘卸载调度方法、模型训练方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021247448A1 (en) * 2020-06-01 2021-12-09 Intel Corporation Federated learning optimizations
WO2022045841A1 (en) * 2020-08-27 2022-03-03 Samsung Electronics Co., Ltd. Method and apparatus of supervised learning approach for reducing latency during context switchover in 5g mec
CN114189936A (zh) * 2021-10-30 2022-03-15 中南林业科技大学 一种基于深度强化学习的协作边缘计算任务卸载方法
CN114116047B (zh) * 2021-11-09 2023-11-03 吉林大学 一种基于强化学习的车载计算密集型应用的v2i卸载方法
CN113993218A (zh) * 2021-11-18 2022-01-28 国网福建省电力有限公司经济技术研究院 一种mec架构下基于多智能体drl的协作卸载和资源分配方法

Also Published As

Publication number Publication date
CN115344395A (zh) 2022-11-15

Similar Documents

Publication Publication Date Title
CN115344395B (zh) 面向异质任务泛化的边缘缓存调度、任务卸载方法和系统
CN111031102B (zh) 一种多用户、多任务的移动边缘计算系统中可缓存的任务迁移方法
CN111666149B (zh) 基于深度强化学习的超密边缘计算网络移动性管理方法
CN113950066A (zh) 移动边缘环境下单服务器部分计算卸载方法、系统、设备
CN112105062B (zh) 时敏条件下移动边缘计算网络能耗最小化策略方法
CN113626104B (zh) 边云架构下基于深度强化学习的多目标优化卸载策略
CN111552564A (zh) 基于边缘缓存的任务卸载与资源优化的方法
CN114938381B (zh) 一种基于深度强化学习的d2d-mec卸载方法
CN115809147B (zh) 多边缘协作缓存调度优化方法、系统及模型训练方法
Huang et al. Deadline-aware task offloading with partially-observable deep reinforcement learning for multi-access edge computing
CN113760511B (zh) 一种基于深度确定性策略的车辆边缘计算任务卸载方法
CN114528042A (zh) 基于深度强化学习的节能型自动互联车辆服务卸载方法
Chua et al. Resource allocation for mobile metaverse with the Internet of Vehicles over 6G wireless communications: A deep reinforcement learning approach
CN116233927A (zh) 一种在移动边缘计算中负载感知的计算卸载节能优化方法
Hu et al. Dynamic task offloading in MEC-enabled IoT networks: A hybrid DDPG-D3QN approach
CN111447506B (zh) 云边环境下基于延迟和成本均衡的流媒体内容放置方法
Li et al. Collaborative optimization of edge-cloud computation offloading in internet of vehicles
CN112905315A (zh) 移动边缘计算mec网络中的任务处理方法、装置及设备
CN116137724A (zh) 一种基于移动边缘计算的任务卸载及资源分配方法
CN113141634B (zh) 基于移动边缘计算网络的vr内容缓存方法
CN114828047A (zh) 一种5g移动边缘计算环境中多智能体协同计算卸载方法
CN114980160A (zh) 一种无人机辅助的太赫兹通信网络联合优化方法和装置
Engidayehu et al. Deep Reinforcement Learning-based Task Offloading and Resource Allocation in MEC-enabled Wireless Networks
CN113342529A (zh) 基于强化学习的无小区大规模多天线架构下移动边缘计算卸载方法
Mi et al. Joint caching and transmission in the mobile edge network: An multi-agent learning approach

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