1.基于多智能体强化学习的效用感知的协作服务缓存方法,其特征在于,该方法包括以下步骤:S1.建立系统模型:
设边缘系统由n个边缘服务器组成,这些边缘服务器通过局域网连接,形成一个连接图G(eNB,E);其中eNB={eNB1,...,eNBi,...,eNBn}表示n个边缘服务器的集合,这些边缘服务器通过核心网络连接到远端云;E={e(eNBi,eNBj)|eNBi,eNBj∈eNB}表示边的集合;若e(eNBi,eNBj)=1,表示边缘服务器eNBi和eNBj之间有一条直连的边;每个边缘服务器eNBi的本地存储能力表示为Pi;
定义服务供应商提供的服务项集合为 每个服务项 的大小为Df;边缘服务器之间可以共享缓存的服务项,当移动用户所需的服务项没有在本地边缘服务器上缓存时,则可从其他缓存该服务项的边缘服务器上获取;如果所需的服务项没有缓存在任何边缘服务器,或者从边缘服务器获取所需服务项的时延比从远端云获取的时延长,那么从远端云获取服务项;
边缘系统采用离散时间模型,将一个时间段在逻辑上划分为多个连续相等的时间片;
这些时间片索引的集合用 来表示,每个时间片的大小为Tslot;在任意时间片τ内,不同类型的服务项请求分别到达不同的边缘服务器;假设在任意边缘服务器eNBi上,请求的到达过程服从参数为λi的泊松分布,其中参数λi=E(ai(τ));A(τ)=(a1(τ),...,ai(τ),...,an(τ))表示在时间片τ内到达n个边缘服务器的请求数;
设 表示在时间片τ内边缘服务器eNBi请求服务项 的次数,它是一个独立同分布的随机变量,其平均值为 表示在时间
片τ内n个边缘服务器请求服务项 的次数;每个边缘服务器eNBi对不同类型服务项的请求服从参数为γi的Zipf分布;
S2.建立多智能体联合多臂老虎机问题:
将每个边缘服务器eNBi作为一个多臂老虎机,与系统环境进行交互;每个服务项作为多臂老虎机的一根拉杆;在每个时间片τ中,边缘服务器eNBi是否缓存服务项 作为是否选中拉杆 的动作 如果 表示边缘服务器eNBi需要在时间片τ缓存服务项f;每个边缘服务器eNBi可以同时缓存多个服务项;
在时间片τ内,边缘服务器eNBi对每个服务项 的缓存动作被作为边缘服务器eNBi的超级动作;每个边缘服务器eNBi的超级动作表示为在每个时间片τ,边缘服务器eNBi上缓存的所有服务项大小之和不能超过边缘服务器的存储能力Pi,该约束条件表示为在时间片τ内,n个边缘服务器对服务项 的缓存动作作为一个联合动作在时间片τ内,n个边缘服务器对所有服务项的缓存动作作为联合超级动作μ(τ)=[μ1(τ),μ2(τ),…,μi(τ),…,μn(τ)];
S3.定义效用函数:
将效用函数定义为服务时延减少和服务成本的加权和;在时间片τ中,边缘系统做出联合超级动作μ(τ)的总效用表示为U(μ(τ))=ω1Δ(μ(τ))‑ω′2C(μ(τ));其中ω1和ω′2分别是服务时延减少和服务成本的权重系数,Δ(μ(τ))表示在时间片τ中服务时延减少,C(μ(τ))表示在时间片τ中的服务成本;
S31.计算服务时延减少:
当请求的服务项 在本地边缘服务器eNBi上没有缓存时,则从其他边缘服务器或远端云获取;在时间片τ中,边缘服务器eNBi获取服务项 的服务时延表示为:其中 表示在时
间片τ‑1中服务项 是否被缓存在边缘服务器eNBi上;当 时,表示在时间片τ‑1中,服务项f没有被缓存在边缘服务器eNBi上; 表示在时间片τ中边缘服务器eNBi获得服务项f的最小时延; 表示边缘服务器eNBi从边缘服务器eNBj获取服务项f的传输时延; 表示边缘服务器eNBi从远端云获取服务项f的传输时延;
f
在时间片τ中,所有边缘服务器选择联合动作μ的服务时延减少表示为选择联合超级动作μ(τ)的总服务时延减少表示为Δ
f
(μ(τ))=∑f∈FΔ ;
S32.计算服务成本:
服务成本由服务缓存成本、服务迁移成本和QoS惩罚成本组成;服务缓存成本是衡量在每个时间片租用边缘服务器的存储资源所产生的开销;服务迁移成本是衡量从远端云或其他边缘服务器获取服务的开销;QoS惩罚成本是由于服务响应时延超过了限制时间而产生的;
f f f
在时间片τ中,所有边缘服务器选择联合动作μ (τ)的服务成本为C(μ (τ));C(μ (τ))被f f f f f f定义为Csg(μ (τ))、Cmg(μ (τ))和Cpl(μ (τ))的加权和,C(μ (τ))=ω2Csg(μ (τ))+ω3Cmg(μf f f f f(τ))+ω4Cpl(μ (τ)),其中Csg(μ (τ))、Cmg(μ (τ))和Cpl(μ (τ))分别表示联合动作μ (τ)的服务缓存成本、服务迁移成本和QoS惩罚成本;
在时间片τ中,所有边缘服务器选择联合超级动作μ(τ)的总服务成本为C(μ(τ))=∑f∈fFC(μ(τ));
S321.计算服务缓存成本:
f f
所有边缘服务器选择联合动作μ (τ)的服务缓存成本Csg(μ (τ))通过计算,其中csg是租用边缘服务器存储资源的单位成本;
S322.计算服务迁移成本:
ccs和css分别表示从云到边缘服务器和边缘服务器之间数据传输的单位成本;在时间片τ中,当边缘服务器eNBi从其他边缘服务器获取所需服务项 的传输时延高于远端云,边缘服务器eNBi将直接从远端云获取服务项 请求的服务项来源被表示为:其中 表示边缘服务器eNBi从其他边缘服务器eNBj获取所需服务项 否f
则,边缘服务器eNBi从远端云获取所需的服务项 所有边缘服务器选择联合动作μ(τ)的服务迁移成本为
S323.计算QoS惩罚成本:
获取服务项的时延约束为Lmax;当边缘服务器eNBi获取所需服务项 的时延大于Lmax时,边缘服务器eNBi将受到服务质量惩罚;使用 表示边缘服务器eNBi在获取所需服务项 时是否受到服务质量惩罚;cp表示服务质量惩罚的单位成本;
f
所有边缘服务器选择联合动作μ (τ)的服务质量惩罚成本为其中
S4.将协作服务缓存问题表述如下:
Maximize:U(μ(τ))
Subject to:
采用无状态的Q‑learning算法求解上述问题。
2.根据权利要求1所述的基于多智能体强化学习的效用感知的协作服务缓存方法,其特征在于:所述无状态的Q‑learning算法求解协作服务缓存问题,具体是:步骤1:在时间片τ,边缘服务器eNBi观察到n个边缘服务器选择联合动作(μ1f,...,μif,...,μnf),计算联合动作的 值其中Nif(μ1f,...,μif,...,μnf)表示n个边缘服务器选择联合动作(μ1f,...,μif,...,μnf)的次数;
步骤2:每个边缘服务器eNBi假设其他边缘服务器eNBj以概率Prijf(μjf)=Nijf(μjf)/T选择基础动作μjf,其中Nijf(μjf)表示边缘服务器eNBi选择动作μjf被边缘服务器eNBj观察到的次数;边缘服务器eNBi评估其他边缘服务器选择联合动作(μ1f,...,μ(i‑1)f,μ(i+1)f,...,μnf)的概率为 边缘服务器eNBi选择基础动作μif的 值 为:
步骤3:调整基础动作μif的 值为
其中 γ是ZipF分布参数,Df是0‑1背包问题的重量;
步骤4:将调整后的 值 输入到(α,β)‑approximation oracle,转化该问题为一个利益为 即步骤5:采用贪婪算法求解0‑1背包问题的可行解 将其作为(α,β)‑approximation oracle的输出。
3.根据权利要求1所述的基于多智能体强化学习的效用感知的协作服务缓存方法,其特征在于:S1边缘网络由8个边缘服务器组成,每台边缘服务器的存储容量在[20,60]GB之间;服务项个数为30,服务项大小在[10,30]GB之间;服务请求到达速率服从均值为100的泊松分布,边缘服务器的ZipF分布参数为0.7。
4.根据权利要求1所述的基于多智能体强化学习的效用感知的协作服务缓存方法,其特征在于:S3中任何两个边缘服务器之间的传输速率在[200,500]MB/s范围内变化;从远端云到边缘服务器传输服务项目的核心网络带宽是160Mbps;在边缘服务器上租用存储资源的单位成本为0.04;从远端云到边缘服务器的数据迁移的单位成本为0.08;边缘服务器之间的数据迁移的单位成本为0.05;服务时延减少、服务缓存成本、服务迁移成本和QoS惩罚成本的权重分别为ω1=0.003,ω2=10,ω3=1,ω4=0.2。