CN113110915A - 移动边缘计算环境中自主学习的服务缓存策略 - Google Patents

移动边缘计算环境中自主学习的服务缓存策略 Download PDF

Info

Publication number
CN113110915A
CN113110915A CN202110367411.4A CN202110367411A CN113110915A CN 113110915 A CN113110915 A CN 113110915A CN 202110367411 A CN202110367411 A CN 202110367411A CN 113110915 A CN113110915 A CN 113110915A
Authority
CN
China
Prior art keywords
service
edge server
caching
cost
virtual machine
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.)
Withdrawn
Application number
CN202110367411.4A
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.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202110367411.4A priority Critical patent/CN113110915A/zh
Publication of CN113110915A publication Critical patent/CN113110915A/zh
Withdrawn legal-status Critical Current

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种移动边缘计算环境中自主学习的服务缓存策略,本发明首先将多服务供应商在资源有限的移动边缘计算环境中的服务缓存问题建模成联合多臂老虎机问题。使用Q‑Learning算法来学习如何协调多主体系统中的缓存决策。将系统中每个主体视为独立的学习者,提出了自主学习的服务缓存策略(ILSCS),其目标是最小化服务供应商的社会成本。并且,将本发明提出的策略与其他策略在不同实验参数下进行对比,证明了本发明所提出的策略的有效性。

Description

移动边缘计算环境中自主学习的服务缓存策略
技术领域
本发明涉及移动边缘计算领域,尤其涉及一种自主学习的服务缓存策略。
背景技术
移动边缘计算(MEC)作为一种新型的计算模型,能够将存储资源和计算资源下沉到网络边缘。不仅能支持边缘服务器与用户之间进行高效的数据传输,还能为用户提供充足的计算资源,大大降低服务的响应时延和移动设备的能耗。但是,由于边缘网络中资源有限,使得针对边缘网络中服务的合理缓存日益重要。由于边缘网络中资源有限,网络服务供应商之间将会对资源进行争抢。需要根据服务缓存后服务的响应时延和服务的缓存成本对服务供应商的服务缓存位置进行决策。
发明内容
为了解决上述问题,本发明提供了一种自主学习的服务缓存策略。
本发明具体采用的技术方案如下:
S1.建立系统模型:
本发明中提出的边缘网络由n个边缘服务器eNB={eNB1,...,eNBi,...,eNBn}和中心云CL组成。对于移动边缘服务器eNBi,可由三元组eNBi=<Ci,Bi,Si>表示,其中Ci表示边缘服务器的计算能力,Bi表示边缘服务器的带宽能力,Si表示边缘服务器的存储能力。
根据大多数云平台的机制,会通过在服务器中创建虚拟机来实现服务供应商之间的资源共享。而且服务器通常会分配一定的带宽资源、计算资源和存储资源给创建出来的虚拟机。本发明考虑每个边缘服务器中创建了m个虚拟机,边缘服务器eNBi中创建的虚拟机集合可以由VMi={VMi,1,...,VMi,j,...,VMi,m}表示。对于虚拟机VMi,j,可用二元组VMi,j=<Ci,j,Bi,j>表示,其中Ci,j表示虚拟机的计算能力,Bi,j表示虚拟机的带宽能力。
S2.建立服务供应商模型:
移动边缘计算网络中存在K个网络服务供应商SP={SP1,...,SPk,...,SPK},每个服务供应商都为用户提供一项服务。供应商所提供的服务集合可以用SE={SE1,...,SEk,...,SEK}表示。对于服务实例SEk,可由二元组SEk=<Wk,Dk>表示,其中Wk表示执行服务的工作负载(MHZ),Dk表示服务的数据尺寸(GB)。
每个服务都将被部署到中心云CL中,并且每个服务都会收到一组用户请求,需要由对应的服务实例进行处理并返回给用户。如果服务供应商将服务实例SEk缓存到边缘服务器中,那么需要服务实例SEk处理的用户请求将会被重定向到缓存其服务实例的边缘服务器中。否则,将由中心云CL中的原始服务实例来满足用户请求。这种将服务实例从中心云缓存至边缘服务器的行为称为服务缓存。
但是,服务缓存会增加服务供应商为用户提供服务的成本。为了降低成本,不同的服务供应商可将其服务缓存至同一个边缘服务器的不同虚拟机中,进行资源共享。此外,若服务供应商在某些时候不使用虚拟机,也可以选择与其他服务供应商共享虚拟机,从而进一步降低服务缓存的成本。
将在同一个边缘服务器中缓存服务实例的所有服务供应商集合称为联盟,并用gi表示在边缘服务器eNBi中的联盟。由于边缘服务器中的存储资源有限,所以联盟中所有服务实例的数据大小之和不能超过边缘服务器的存储空间,即
Figure BDA0003008062830000021
每个服务供应商可申请加入想加入的联盟,由联盟中的代理决定加入请求是否通过,若边缘服务器的存储空间不足,代理也可决定原联盟中成员的去留。同时,根据虚拟机上的资源情况,代理可以为服务供应商选择其服务实例在边缘服务器中缓存的位置。
S3.建立成本模型:边缘服务器为服务供应商缓存服务会产生各种资源使用的成本。具体来说,如果一个边缘服务器上缓存了多个服务实例,那么边缘服务器的使用成本将由缓存服务实例的服务供应商进行分摊。理想情况下,每个服务实例都是独占服务器中的某个虚拟机。但是为了进一步降低成本,服务供应商也可选择与其他服务供应商共享虚拟机。成本模型的建立,具体包含以下子步骤:
S31.定义默认成本:若服务实例独占虚拟机,那么其占用的资源即为虚拟机所能提供的计算资源与带宽资源。用
Figure BDA0003008062830000022
表示服务实例在边缘服务器eNBi上使用单位计算资源的成本,
Figure BDA0003008062830000023
表示服务实例在边缘服务器eNBi上使用单位带宽资源的成本。那么服务实例独占虚拟机VMi,j的使用成本为
Figure BDA0003008062830000024
将其称为默认成本。
S32.定义联盟成本:若服务供应商按照某种规则在边缘服务器中组建成联盟。那么边缘服务器上的计算资源和带宽资源将由联盟中的服务供应商共享。若服务供应商SPk加入联盟gi,并将其服务实例缓存在虚拟机VMi,j上,那么它将付出的使用成本为
Figure BDA0003008062830000031
其中
Figure BDA0003008062830000032
表示联盟中所有服务供应商的默认成本之和,
Figure BDA0003008062830000033
表示使用边缘服务器eNBi的成本。将加入联盟服务供应商所付出的成本称为联盟成本。
S4.建立效用模型:将服务响应时延定义为服务执行时间和数据传输时间之和。由于请求对应服务的用户群体所在位置不同和执行服务所需要的计算资源不同,导致中心云中不同的服务实例处理服务的响应时延不一致。
将由中心云CL中的原始服务实例SEk处理用户请求的服务响应时延表示为
Figure BDA0003008062830000034
对于在边缘服务器中缓存了服务实例的服务供应商,同样由于请求服务的用户群体所在位置的不同和边缘服务器所在位置的不同,使得用户与边缘服务器之间的数据传输时间存在差异,使用
Figure BDA0003008062830000035
表示用户向边缘服务器eNBi请求服务SEk的数据传输时间。
另外,用户请求服务SEk的服务执行时间可由
Figure BDA0003008062830000036
计算得出。为了方便起见,使用
Figure BDA0003008062830000037
表示用户向虚拟机VMi,j请求由服务实例SEk所提供服务的请求时延。由于中心云通常位于偏远地区,用户向边缘服务器中缓存的服务实例请求服务的服务响应时延会远小于向中心云上的原始服务实例请求服务的服务响应时延,即
Figure BDA0003008062830000038
另外,由于请求不同服务的用户群体对于服务响应时延的敏感程度不一致,令vk表示服务供应商SPk对于服务响应时延的重视程度。
基于以上描述,可以得到服务供应商独享虚拟机的的默认效用
Figure BDA0003008062830000039
Figure BDA00030080628300000310
和服务供应商加入联盟获得的合作效用
Figure BDA00030080628300000311
Figure BDA00030080628300000312
虽然服务供应商可能可以争取到使其默认效用达到最大的虚拟机进行服务实例的缓存,但是如果在其他的边缘服务器中,可以通过与其他服务供应商共享虚拟机来获取更大的效用,那么服务供应商可能更愿意将其服务实例缓存至能让其获取更大效用的边缘服务器上。用ui,j,k表示服务供应商加入联盟gi获得的额外效用
Figure BDA00030080628300000313
其中
Figure BDA00030080628300000314
为服务供应商SPk能获取到的最大默认效用。考虑到每个服务供应商在独享虚拟机的情况下有一个默认的资源使用成本ci’,j’,那么pk,l(gi)-vk·di’,j’,k+vk·di,j,k可以体现服务协作的成本,将之称为协作成本,表示为
Figure BDA0003008062830000041
然后将所有服务供应商的协作成本之和表示为社会成本。
S5.自主学习的服务缓存策略:需要定义缓存问题的动作空间和奖励函数,然后详细介绍解决服务缓存问题的ILSCS策略,具体包含以下子步骤:
S51.定义动作空间和奖励函数:将每次学习时,系统的动作a(τ)定义为:a(τ)=(a1(τ),...,ai(τ),...,an(τ),其中ai(τ)=(ai,1,1(τ),...,ai,j,k(τ),...,an,m,K(τ))表示边缘服务器eNBi上服务供应商缓存服务实例的情况。ai,j,k(τ)表示在第τ次学习时,服务实例SEk是否被缓存到边缘服务器eNBi的虚拟机VMi,j上,ai,j,k(τ)=1说明服务SEk在第τ次学习时,被缓存到边缘服务器eNBi的虚拟机VMi,j上;ai,j,k(τ)=0说明服务SEk在第τ次学习时,未被缓存到边缘服务器eNBi的虚拟机VMi,j上。
但是如此简单的定义动作空间没有考虑到动作空间大小的问题,所有边缘服务器的代理对所有服务实例做出的服务缓存动作组合而成的超级动作a(τ),其数量是指数级的。因此,Q-Learning算法需要经过指数级的步数来经历所有动作,从而学习到做出动作得到的Q值,这显然是不可行的。因此需要通过基础动作的预期奖励得到超级动作的预期奖励,将动作空间的大小减少到基础动作空间的大小。本发明中的基础动作也就是ai,j,k(τ),这也意味着只需要学习得到每个边缘服务器的代理对每个服务实例做出的缓存动作的预期奖励。对于Q值的计算,同样需要用基本动作的Q值Qi,j,k(ai,j,k)代替超级动作的Q值Q(a)。更准确来说,Qi,j,k(ai,j,k)被定义为由边缘服务器eNBi的虚拟机VMi,j缓存服务实例SEk得到的平均预期奖励。
Qi,j,k(ai,j,k)具体的更新方程为
Figure BDA0003008062830000042
(Ri,j,k(τ)-Qi,j,k(ai,j,k)),其中Ci,j,k(ai,j,k)表示由边缘服务器eNBi的虚拟机VMi,j缓存服务实例SEk的次数。Ri,j,k(τ)表示在第τ次学习时,边缘服务器eNBi的代理对服务实例SEk做出的缓存动作获得的奖励。并令Qi,j,k=Qi,j,k(1)-Qi,j,k(0)来说明由边缘服务器eNBi的虚拟机VMi,j缓存服务实例SEk得到的平均预期奖励。由于ai,j,k=0时,Ri,j,k(τ)=0,使得Qi,j,k(0)=0,所以Qi,j,k=Qi,j,k(1)。另外,定义奖励函数
Figure BDA0003008062830000043
即所有服务供应商协作成本总和的相反值即社会成本的相反值。
S52.策略实现:基于以上描述,可将求解最优超级动作a*的问题转化为如下问题:
Minimize:
Figure BDA0003008062830000051
Subject to:
Figure BDA0003008062830000052
Figure BDA0003008062830000053
ai,j,k∈{0,1}
为了解决这个NP难问题,本发明选择使用贪婪算法来解决,获取近似最优解。首先计算Qi,j,k/Dk,其中i=1,2,...,n,j=1,2,...,m,k=1,2,...,K。然后按照非递增顺序对Qi,j,k/Dk进行排序,在保证解可行的前提下,根据Qi,j,k/Dk的大小执行相应的服务缓存动作。具体来说,Qi,j,k/Dk对应的服务缓存动作为将服务实例SEk缓存至虚拟机VMi,j中。另外,对于排序后处于后10%的Qi,j,k/Dk,使用epsilon-greedy算法,以ε的概率执行Qi,j,k/Dk所对应的动作,以1-ε的概率为服务供应商随机选择服务实例缓存的位置。最后,为了保证服务供应商尽可能参与联盟以减少资源使用成本,让未加入联盟的服务供应商选择能使其协作成本最小的边缘服务器进行服务缓存。
作为优选,S1所述的边缘服务器个数为50,每台边缘服务器的计算能力在[8000,16000]MHz之间,带宽容量在[100,1000]Mbps之间,存储容量在[200,300]GB之间。边缘服务器中的虚拟机的计算能力在[4000,8000]MHz之间,带宽容量在[10,100]Mbps之间。
作为优选,S2中所述的服务供应商个数为80,每个服务提供商提供的服务数据大小在[30,50]GB之间取值,服务执行所需的计算资源设置为[50,100]MHz,服务提供商对服务请求延迟的重视程度vk取值在[100,150]之间。
作为优选,S3中所述的服务商在边缘服务器中使用单位计算资源和单位带宽资源的成本分别设定为[$0.15,$0.22]和[$0.05,$0.12]。
作为优选,S4中所述的用户从中心云获取服务的服务响应时延设置为50-100ms,缓存服务的边缘服务器与用户之间的传输时延设置为5-20ms。
本发明将多个服务供应商在资源有限的边缘服务器上的服务缓存问题建模为联合多臂老虎机问题,提出了自主学习的服务缓存策略ILSCS。使用Q-Learning算法,使每个边缘服务器自主学习缓存不同服务获取的预期奖励,根据服务缓存获取的奖励值和服务实例的来协调边缘服务器的服务缓存。ILSCS策略的主要目标为最小化服务供应商的社会成本。
附图说明
图1为本发明移动边缘计算环境中自主学习的服务缓存策略的流程图;
图2为移动边缘计算环境下服务缓存的架构图;
图3为自主学习服务缓存策略收敛图;
图4为本发明算法与MDU和MCS算法在服务供应商个数变化下的对比图;
图5为本发明算法与MDU和MCS算法在边缘服务器个数变化下的对比图;
图6为本发明算法与MDU和MCS算法在服务实例大小变化下的对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明进行进一步详细说明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
如图1和图2所示,本发明的一种移动边缘计算环境中的自主学习的服务缓存策略,包括以下步骤:
S1.建立系统模型:本发明中提出的边缘网络由n个边缘服务器eNB={eNB1,...,eNBi,...,eNBn}和中心云CL组成。对于移动边缘服务器eNBi,可由三元组eNBi=<Ci,Bi,Si>表示,其中Ci表示边缘服务器的计算能力,Bi表示边缘服务器的带宽能力,Si表示边缘服务器的存储能力。
根据大多数云平台的机制,会通过在服务器中创建虚拟机来实现服务供应商之间的资源共享。而且服务器通常会分配一定的带宽资源、计算资源和存储资源给创建出来的虚拟机。本发明考虑每个边缘服务器中创建了m个虚拟机,边缘服务器eNBi中创建的虚拟机集合可以由VMi={VMi,1,...,VMi,j,...,VMi,m}表示。对于虚拟机VMi,j,可用二元组VMi,j=<Ci,j,Bi,j>表示,其中Ci,j表示虚拟机的计算能力,Bi,j表示虚拟机的带宽能力。
S2.建立服务供应商模型:移动边缘计算网络中存在K个网络服务供应商SP={SP1,...,SPk,...,SPK},每个服务供应商都为用户提供一项服务。供应商所提供的服务集合可以用SE={SE1,...,SEk,...,SEK}表示。对于服务实例SEk,可由二元组SEk=<Wk,Dk>表示,其中Wk表示执行服务的工作负载(MHZ),Dk表示服务的数据尺寸(GB)。每个服务都将被部署到中心云CL中,并且每个服务都会收到一组用户请求,需要由对应的服务实例进行处理并返回给用户。如果服务供应商将服务实例SEk缓存到边缘服务器中,那么需要服务实例SEk处理的用户请求将会被重定向到缓存其服务实例的边缘服务器中。否则,将由中心云CL中的原始服务实例来满足用户请求。这种将服务实例从中心云缓存至边缘服务器的行为称为服务缓存。但是,服务缓存会增加服务供应商为用户提供服务的成本。为了降低成本,不同的服务供应商可将其服务缓存至同一个边缘服务器的不同虚拟机中,进行资源共享。此外,若服务供应商在某些时候不使用虚拟机,也可以选择与其他服务供应商共享虚拟机,从而进一步降低服务缓存的成本。将在同一个边缘服务器中缓存服务实例的所有服务供应商集合称为联盟,并用gi表示在边缘服务器eNBi中的联盟。由于边缘服务器中的存储资源有限,所以联盟中所有服务实例的数据大小之和不能超过边缘服务器的存储空间,即
Figure BDA0003008062830000071
每个服务供应商可申请加入想加入的联盟,由联盟中的代理决定加入请求是否通过,若边缘服务器的存储空间不足,代理也可决定原联盟中成员的去留。同时,根据虚拟机上的资源情况,代理可以为服务供应商选择其服务实例在边缘服务器中缓存的位置。
S3.建立成本模型:边缘服务器为服务供应商缓存服务会产生各种资源使用的成本。具体来说,如果一个边缘服务器上缓存了多个服务实例,那么边缘服务器的使用成本将由缓存服务实例的服务供应商进行分摊。理想情况下,每个服务实例都是独占服务器中的某个虚拟机。但是为了进一步降低成本,服务供应商也可选择与其他服务供应商共享虚拟机。成本模型的建立,具体包含以下子步骤:
S31.定义默认成本:若服务实例独占虚拟机,那么其占用的资源即为虚拟机所能提供的计算资源与带宽资源。用
Figure BDA0003008062830000072
表示服务实例在边缘服务器eNBi上使用单位计算资源的成本,
Figure BDA0003008062830000073
表示服务实例在边缘服务器eNBi上使用单位带宽资源的成本。那么服务实例独占虚拟机VMi,j的使用成本为
Figure BDA0003008062830000074
将其称为默认成本。
S32.定义联盟成本:若服务供应商按照某种规则在边缘服务器中组建成联盟。那么边缘服务器上的计算资源和带宽资源将由联盟中的服务供应商共享。若服务供应商SPk加入联盟gi,并将其服务实例缓存在虚拟机VMi,j上,那么它将付出的使用成本为
Figure BDA0003008062830000081
其中
Figure BDA0003008062830000082
表示联盟中所有服务供应商的默认成本之和,
Figure BDA0003008062830000083
表示使用边缘服务器eNBi的成本。将加入联盟服务供应商所付出的成本称为联盟成本。
S4.建立效用模型:将服务响应时延定义为服务执行时间和数据传输时间之和。由于请求对应服务的用户群体所在位置不同和执行服务所需要的计算资源不同,导致中心云中不同的服务实例处理服务的响应时延不一致。将由中心云CL中的原始服务实例SEk处理用户请求的服务响应时延表示为
Figure BDA0003008062830000084
对于在边缘服务器中缓存了服务实例的服务供应商,同样由于请求服务的用户群体所在位置的不同和边缘服务器所在位置的不同,使得用户与边缘服务器之间的数据传输时间存在差异,使用
Figure BDA0003008062830000085
表示用户向边缘服务器eNBi请求服务SEk的数据传输时间。另外,用户请求服务SEk的服务执行时间可由
Figure BDA0003008062830000086
计算得出。为了方便起见,使用
Figure BDA0003008062830000087
表示用户向虚拟机VMi,j请求由服务实例SEk所提供服务的请求时延。由于中心云通常位于偏远地区,用户向边缘服务器中缓存的服务实例请求服务的服务响应时延会远小于向中心云上的原始服务实例请求服务的服务响应时延,即
Figure BDA0003008062830000088
另外,由于请求不同服务的用户群体对于服务响应时延的敏感程度不一致,令vk表示服务供应商SPk对于服务响应时延的重视程度。基于以上描述,可以得到服务供应商独享虚拟机的的默认效用
Figure BDA0003008062830000089
Figure BDA00030080628300000810
和服务供应商加入联盟获得的合作效用
Figure BDA00030080628300000811
Figure BDA00030080628300000812
虽然服务供应商可能可以争取到使其默认效用达到最大的虚拟机进行服务实例的缓存,但是如果在其他的边缘服务器中,可以通过与其他服务供应商共享虚拟机来获取更大的效用,那么服务供应商可能更愿意将其服务实例缓存至能让其获取更大效用的边缘服务器上。用ui,j,k表示服务供应商加入联盟gi获得的额外效用
Figure BDA00030080628300000813
其中
Figure BDA00030080628300000814
为服务供应商SPk能获取到的最大默认效用。考虑到每个服务供应商在独享虚拟机的情况下有一个默认的资源使用成本ci’,j’,那么pk,l(gi)-vk·di’,j’,k+vk·di,j,k可以体现服务协作的成本,将之称为协作成本,表示为
Figure BDA00030080628300000815
然后将所有服务供应商的协作成本之和表示为社会成本。
S5.自主学习的服务缓存策略:需要定义缓存问题的动作空间和奖励函数,然后详细介绍解决服务缓存问题的ILSCS策略,具体包含以下子步骤:
S51.定义动作空间和奖励函数:将每次学习时,系统的动作a(τ)定义为:a(τ)=(a1(τ),...,ai(τ),...,an(τ),其中ai(τ)=(ai,1,1(τ),...,ai,j,k(τ),...,an,m,K(τ))表示边缘服务器eNBi上服务供应商缓存服务实例的情况。ai,j,k(τ)表示在第τ次学习时,服务实例SEk是否被缓存到边缘服务器eNBi的虚拟机VMi,j上,ai,j,k(τ)=1说明服务SEk在第τ次学习时,被缓存到边缘服务器eNBi的虚拟机VMi,j上;ai,j,k(τ)=0说明服务SEk在第τ次学习时,未被缓存到边缘服务器eNBi的虚拟机VMi,j上。但是如此简单的定义动作空间没有考虑到动作空间大小的问题,所有边缘服务器的代理对所有服务实例做出的服务缓存动作组合而成的超级动作a(τ),其数量是指数级的。因此,Q-Learning算法需要经过指数级的步数来经历所有动作,从而学习到做出动作得到的Q值,这显然是不可行的。因此需要通过基础动作的预期奖励得到超级动作的预期奖励,将动作空间的大小减少到基础动作空间的大小。本发明中的基础动作也就是ai,j,k(τ),这也意味着只需要学习得到每个边缘服务器的代理对每个服务实例做出的缓存动作的预期奖励。对于Q值的计算,同样需要用基本动作的Q值Qi,j,k(ai,j,k)代替超级动作的Q值Q(a)。更准确来说,Qi,j,k(ai,j,k)被定义为由边缘服务器eNBi的虚拟机VMi,j缓存服务实例SEk得到的平均预期奖励。Qi,j,k(ai,j,k)具体的更新方程为
Figure BDA0003008062830000091
Figure BDA0003008062830000092
其中Ci,j,k(ai,j,k)表示由边缘服务器eNBi的虚拟机VMi,j缓存服务实例SEk的次数。Ri,j,k(τ)表示在第τ次学习时,边缘服务器eNBi的代理对服务实例SEk做出的缓存动作获得的奖励。并令Qi,j,k=Qi,j,k(1)-Qi,j,k(0)来说明由边缘服务器eNBi的虚拟机VMi,j缓存服务实例SEk得到的平均预期奖励。由于ai,j,k=0时,Ri,j,k(τ)=0,使得Qi,j,k(0)=0,所以Qi,j,k=Qi,j,k(1)。另外,定义奖励函数
Figure BDA0003008062830000093
Figure BDA0003008062830000094
即所有服务供应商协作成本总和的相反值即社会成本的相反值。
S52.策略实现:基于以上描述,可将求解最优超级动作a*的问题转化为如下问题:
Minimize:
Figure BDA0003008062830000095
Subject to:
Figure BDA0003008062830000101
Figure BDA0003008062830000102
ai,j,k∈{0,1}
为了解决这个NP难问题,本发明选择使用贪婪算法来解决,获取近似最优解。首先计算Qi,j,k/Dk,其中i=1,2,...,n,j=1,2,...,m,k=1,2,...,K。然后按照非递增顺序对Qi,j,k/Dk进行排序,在保证解可行的前提下,根据Qi,j,k/Dk的大小执行相应的服务缓存动作。具体来说,Qi,j,k/Dk对应的服务缓存动作为将服务实例SEk缓存至虚拟机VMi,j中。另外,对于排序后处于后10%的Qi,j,k/Dk,使用epsilon-greedy算法,以ε的概率执行Qi,j,k/Dk所对应的动作,以1-ε的概率为服务供应商随机选择服务实例缓存的位置。最后,为了保证服务供应商尽可能参与联盟以减少资源使用成本,让未加入联盟的服务供应商选择能使其协作成本最小的边缘服务器进行服务缓存。
实施例
本实施例步骤与具体实施方式相同,在此不再进行赘述。下面就对比算法的实施和实施结果进行展示:
本发明实现了MDU(max default utility)和MCS(max coalition size)两个基线算法。其中MDU算法中服务供应商选择能使其默认效用最大的虚拟机进行服务缓存,MCS算法中服务供应商选择联盟成员最多的边缘服务器进行实例缓存。并将这两个基线算法与ILSCS策略进行对比,并且分别就边缘服务器个数、服务供应商个数和服务实例大小对社会成本的影响进行评估。
图3中显示了ILSCS策略在包含50个边缘服务器的边缘网络中,对80个服务供应商提供的服务进行服务缓存的学习曲线。可以观察到随着学习时间的增加,社会成本逐渐下降并趋于稳定。这一现象表明本发明提出的ILSCS策略可以学习到一个较优的服务缓存策略,使得服务供应商的社会成本降低。
为了研究边缘服务器个数变化对社会成本的影响,将边缘服务器个数分别设置为20、35、50、65、80。图4显示了在边缘服务器个数变化时的社会成本。从图中可以观察到在MDU和ILSCS算法中,随着边缘服务器个数的增加,社会成本呈下降趋势。其原因在于可供服务供应商选择服务缓存的边缘服务器个数增加,服务供应商更有可能选择到性能好或者更适合自己的边缘服务器来进行服务缓存,降低了服务供应商之间资源争抢的可能性。而MCS算法仅根据联盟的规模来选择边缘服务器,边缘服务器的性能等因素并不会影响其选择,所以在图中可以观察到边缘服务器个数的变化与社会成本并无明显联系。此外,还可以观察到ILSCS策略的社会成本优于其他两种算法。
为了研究服务供应商个数变化对社会成本的影响,分别设置服务供应商个数为40、60、80、100和120。图5显示了ILSCS、MDU和MCS三种算法在服务供应商个数变化时的社会成本。可以观察到随着服务供应商的个数增多,社会成本也会随之增大。其主要原因在于社会成本为所有服务供应商协同成本之和,服务供应商个数增多,所有服务供应商的协同成本之和也就随之增大。而且,从图中还可以观察得到,虽然三种算法中的社会成本都呈上升趋势,但是ILSCS算法中社会成本的上升趋势相比于其他两种算法来说较为平缓,这个现象说明ILSCS算法能在服务供应商个数变化时仍能获取到较优的缓存策略使得社会成本相对较低。
为了研究服务实例大小对社会成本的影响,分别设置服务实例大小为30、40、50、60和70GB。图6显示了ILSCS、MDU和MCS算法在服务实例大小变化时的社会成本。从图中可以观察得到,在ILSCS和MCS算法中,社会成本随着服务大小的增加也逐渐增大。其主要原因在于服务大小增加,边缘服务器中能缓存的服务实例数量下降,边缘服务器中的联盟规模减小,联盟中的成员所需要付出的联盟成本也就相应增加,导致社会成本的增大。对于MDU算法,服务大小与社会成本之间没有存在明显联系,其原因在于服务大小的变化主要影响到边缘服务器中联盟的规模,而MDU算法中服务供应商选择边缘服务器时并不考虑边缘服务器中联盟的规模,也就不会使得服务供应商的协作成本随着服务实例大小的变化而变化。

Claims (5)

1.一种移动边缘计算环境中自主学习的服务缓存策略,其特征在于该方法包括以下步骤:
S1.建立系统模型:
设边缘网络由n个边缘服务器eNB={eNB1,...,eNBi,...,eNBn}和中心云CL组成;对于移动边缘服务器eNBi,可由三元组eNBi=<Ci,Bi,Si>表示,其中Ci表示边缘服务器的计算能力,Bi表示边缘服务器的带宽能力,Si表示边缘服务器的存储能力;
考虑每个边缘服务器中创建m个虚拟机,边缘服务器eNBi中创建的虚拟机集合由VMi={VMi,1,...,VMi,j,...,VMi,m}表示;
对于虚拟机VMi,j,可用二元组VMi,j=《Ci,j,Bi,j>表示,其中Ci,j表示虚拟机的计算能力,Bi,j表示虚拟机的带宽能力;
S2.建立服务供应商模型:
设移动边缘计算网络中存在K个网络服务供应商SP={SP1,...,SPk,...,SPK},每个服务供应商都为用户提供一项服务;供应商所提供的服务集合用SE={SE1,...,SEk,...,SEK}表示;对于服务实例SEk,由二元组SEk=〈Wk,Dk>表示,其中Wk表示执行服务的工作负载,Dk表示服务的数据尺寸;
每个服务都部署到中心云CL中,并且每个服务都会收到一组用户请求,需要由对应的服务实例进行处理并返回给用户;如果服务供应商将服务实例SEk缓存到边缘服务器中,那么需要服务实例SEk处理的用户请求将会被重定向到缓存其服务实例的边缘服务器中;否则,将由中心云CL中的原始服务实例来满足用户请求;这种将服务实例从中心云缓存至边缘服务器的行为称为服务缓存;
服务缓存会增加服务供应商为用户提供服务的成本;为了降低成本,不同的服务供应商将其服务缓存至同一个边缘服务器的不同虚拟机中,进行资源共享;此外,若服务供应商在某些时候不使用虚拟机,也可选择与其他服务供应商共享虚拟机,从而进一步降低服务缓存的成本;
将在同一个边缘服务器中缓存服务实例的所有服务供应商集合称为联盟,并用gi表示在边缘服务器eNBi中的联盟;由于边缘服务器中的存储资源有限,所以联盟中所有服务实例的数据大小之和不能超过边缘服务器的存储空间,即
Figure FDA0003008062820000021
每个服务供应商可申请加入想加入的联盟,由联盟中的代理决定加入请求是否通过,若边缘服务器的存储空间不足,代理也可决定原联盟中成员的去留;同时,根据虚拟机上的资源情况,代理可为服务供应商选择其服务实例在边缘服务器中缓存的位置;
S3.建立成本模型:
S31.定义默认成本:若服务实例独占虚拟机,那么其占用的资源即为虚拟机所能提供的计算资源与带宽资源;用
Figure FDA0003008062820000022
表示服务实例在边缘服务器eNBi上使用单位计算资源的成本,
Figure FDA0003008062820000023
表示服务实例在边缘服务器eNBi上使用单位带宽资源的成本;那么服务实例独占虚拟机VMi,j的使用成本为
Figure FDA0003008062820000024
将其称为默认成本;
S32.定义联盟成本:若服务供应商按照某种规则在边缘服务器中组建成联盟;那么边缘服务器上的计算资源和带宽资源将由联盟中的服务供应商共享;若服务供应商SPk加入联盟gi,并将其服务实例缓存在虚拟机VMi,j上,那么它将付出的使用成本为
Figure FDA0003008062820000025
其中
Figure FDA0003008062820000026
表示联盟中所有服务供应商的默认成本之和,
Figure FDA0003008062820000027
表示使用边缘服务器eNBi的成本;将加入联盟服务供应商所付出的成本称为联盟成本;
S4.建立效用模型:
将服务响应时延定义为服务执行时间和数据传输时间之和;由于请求对应服务的用户群体所在位置不同和执行服务所需要的计算资源不同,导致中心云中不同的服务实例处理服务的响应时延不一致;
将由中心云CL中的原始服务实例SEk处理用户请求的服务响应时延表示为
Figure FDA0003008062820000028
对于在边缘服务器中缓存了服务实例的服务供应商,同样由于请求服务的用户群体所在位置的不同和边缘服务器所在位置的不同,使得用户与边缘服务器之间的数据传输时间存在差异,使用
Figure FDA0003008062820000029
表示用户向边缘服务器eNBi请求服务SEk的数据传输时间;
另外,用户请求服务SEk的服务执行时间可由
Figure FDA00030080628200000210
计算得出;为了方便起见,使用
Figure FDA00030080628200000211
表示用户向虚拟机VMi,j请求由服务实例SEk所提供服务的请求时延;由于中心云通常位于偏远地区,用户向边缘服务器中缓存的服务实例请求服务的服务响应时延会远小于向中心云上的原始服务实例请求服务的服务响应时延,即
Figure FDA0003008062820000031
另外,由于请求不同服务的用户群体对于服务响应时延的敏感程度不一致,令vk表示服务供应商SPk对于服务响应时延的重视程度;
基于以上描述,得到服务供应商独享虚拟机的默认效用
Figure FDA0003008062820000032
Figure FDA0003008062820000033
和服务供应商加入联盟获得的合作效用
Figure FDA0003008062820000034
Figure FDA0003008062820000035
用ui,i,k表示服务供应商加入联盟gi获得的额外效用
Figure FDA0003008062820000036
Figure FDA0003008062820000037
其中
Figure FDA0003008062820000038
为服务供应商SPk能获取到的最大默认效用;考虑到每个服务供应商在独享虚拟机的情况下有一个默认的资源使用成本ci’,j’,那么pk,l(gi)-vk·di’,j’,k+vk·di,j,k可以体现服务协作的成本,将之称为协作成本,表示为
Figure FDA0003008062820000039
然后将所有服务供应商的协作成本之和表示为社会成本;
S5.自主学习的服务缓存策略:
S51.定义动作空间和奖励函数:将每次学习时,系统的动作a(τ)定义为:a(τ)=(a1(τ),...,ai(τ),...,an(τ),其中ai(τ)=(ai,1,1(τ),...,ai,j,k(τ),...,an,m,K(τ))表示边缘服务器eNBi上服务供应商缓存服务实例的情况;ai,j,k(τ)表示在第τ次学习时,服务实例SEk是否被缓存到边缘服务器eNBi的虚拟机VMi,j上,ai,j,k(τ)=1说明服务SEk在第τ次学习时,被缓存到边缘服务器eNBi的虚拟机VMi,j上;ai,j,k(τ)=0说明服务SEk在第τ次学习时,未被缓存到边缘服务器eNBi的虚拟机VMi,j上;
通过基础动作的预期奖励得到超级动作的预期奖励,将动作空间的大小减少到基础动作空间的大小;基础动作也就是ai,j,k(τ),这也意味着只需要学习得到每个边缘服务器的代理对每个服务实例做出的缓存动作的预期奖励;对于Q值的计算,同样需要用基本动作的Q值Qi,j,k(ai,j,k)代替超级动作的Q值Q(a);更准确来说,Qi,j,k(ai,j,k)被定义为由边缘服务器eNBi的虚拟机VMi,j缓存服务实例SEk得到的平均预期奖励;
Qi,j,k(ai,j,k)具体的更新方程为
Figure FDA00030080628200000310
(Ri,j,k(τ)-Qi,j,k(ai,j,k)),其中Ci,j,k(ai,j,k)表示由边缘服务器eNBi的虚拟机VMi,j缓存服务实例SEk的次数;Ri,j,k(τ)表示在第τ次学习时,边缘服务器eNBi的代理对服务实例SEk做出的缓存动作获得的奖励;并令Qi,j,k=Qi,j,k(1)-Qi,j,k(0)来说明由边缘服务器eNBi的虚拟机VMi,j缓存服务实例SEk得到的平均预期奖励;由于ai,j,k=0时,Ri,j,k(τ)=0,使得Qi,j,k(0)=0,所以Qi,j,k=Qi,j,k(1);另外,定义奖励函数
Figure FDA0003008062820000041
即所有服务供应商协作成本总和的相反值即社会成本的相反值;
S52.策略实现:将求解最优超级动作a*的问题转化为如下问题:
Figure FDA0003008062820000042
Figure FDA0003008062820000043
Figure FDA0003008062820000044
ai,j,k∈{0,1}
选择使用贪婪算法来获取近似最优解:首先计算Qi,j,k/Dk,其中i=1,2,...,n,j=1,2,...,m,k=1,2,...,K;然后按照非递增顺序对Qi,j,k/Dk进行排序,在保证解可行的前提下,根据Qi,j,k/Dk的大小执行相应的服务缓存动作;具体来说,Qi,j,k/Dk对应的服务缓存动作为将服务实例SEk缓存至虚拟机VMi,j中;另外,对于排序后处于后10%的Qi,j,k/Dk,使用epsilon-greedy算法,以ε的概率执行Qi,j,k/Dk所对应的动作,以1-ε的概率为服务供应商随机选择服务实例缓存的位置;最后,为了保证服务供应商尽可能参与联盟以减少资源使用成本,让未加入联盟的服务供应商选择能使其协作成本最小的边缘服务器进行服务缓存。
2.根据权利要求1所述的一种移动边缘计算环境中自主学习的服务缓存策略,其特征在于S1所述的边缘服务器个数为50,每台边缘服务器的计算能力在[8000,16000]MHz之间,带宽容量在[100,1000]Mbps之间,存储容量在[200,300]GB之间;边缘服务器中的虚拟机的计算能力在[4000,8000]MHz之间,带宽容量在[10,100]Mbps之间。
3.根据权利要求1所述的一种移动边缘计算环境中自主学习的服务缓存策略,其特征在于S2中所述的服务供应商个数为80,每个服务提供商提供的服务数据大小在[30,50]GB之间取值,服务执行所需的计算资源设置为[50,100]MHz,服务提供商对服务请求延迟的重视程度vk取值在[100,150]之间。
4.根据权利要求1所述的一种移动边缘计算环境中自主学习的服务缓存策略,其特征在于S3中所述的服务商在边缘服务器中使用单位计算资源和单位带宽资源的成本分别设定为
Figure FDA0003008062820000051
Figure FDA0003008062820000052
5.根据权利要求1所述的一种移动边缘计算环境中自主学习的服务缓存策略,其特征在于S4中所述的用户从中心云获取服务的服务响应时延设置为50-100ms,缓存服务的边缘服务器与用户之间的传输时延设置为5-20ms。
CN202110367411.4A 2021-04-06 2021-04-06 移动边缘计算环境中自主学习的服务缓存策略 Withdrawn CN113110915A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110367411.4A CN113110915A (zh) 2021-04-06 2021-04-06 移动边缘计算环境中自主学习的服务缓存策略

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110367411.4A CN113110915A (zh) 2021-04-06 2021-04-06 移动边缘计算环境中自主学习的服务缓存策略

Publications (1)

Publication Number Publication Date
CN113110915A true CN113110915A (zh) 2021-07-13

Family

ID=76714105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110367411.4A Withdrawn CN113110915A (zh) 2021-04-06 2021-04-06 移动边缘计算环境中自主学习的服务缓存策略

Country Status (1)

Country Link
CN (1) CN113110915A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172960A (zh) * 2021-11-04 2022-03-11 杭州电子科技大学 基于多智能体强化学习的效用感知的协作服务缓存方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172960A (zh) * 2021-11-04 2022-03-11 杭州电子科技大学 基于多智能体强化学习的效用感知的协作服务缓存方法
CN114172960B (zh) * 2021-11-04 2024-02-02 杭州电子科技大学 基于多智能体强化学习的效用感知的协作服务缓存方法

Similar Documents

Publication Publication Date Title
CN109857546B (zh) 基于Lyapunov优化的多服务器移动边缘计算卸载方法及装置
Jia et al. Double-matching resource allocation strategy in fog computing networks based on cost efficiency
Ndikumana et al. Collaborative cache allocation and computation offloading in mobile edge computing
Lai et al. Quality of experience-aware user allocation in edge computing systems: A potential game
CN107846704A (zh) 一种基于移动边缘计算的资源分配及基站服务部署方法
CN111258762B (zh) 一种动态周期的媒体服务器负载均衡算法
CN108924221A (zh) 分配资源的方法和装置
CN114340016B (zh) 一种电网边缘计算卸载分配方法及系统
WO2018201856A1 (en) System and method for self organizing data center
CN109041130A (zh) 基于移动边缘计算的资源分配方法
US20140189092A1 (en) System and Method for Intelligent Data Center Positioning Mechanism in Cloud Computing
CN113407249B (zh) 一种面向位置隐私保护的任务卸载方法
Li et al. Qoe-deer: A qoe-aware decentralized resource allocation scheme for edge computing
Li et al. Computation offloading and service allocation in mobile edge computing
CN104811466B (zh) 云媒体资源分配的方法及装置
Ramasubbareddy et al. RTTSMCE: a response time aware task scheduling in multi-cloudlet environment
CN113110915A (zh) 移动边缘计算环境中自主学习的服务缓存策略
US11709707B2 (en) Low latency distributed counters for quotas
WO2023116460A1 (zh) 移动边缘计算环境下多用户多任务计算卸载方法及系统
Sutagundar et al. Resource allocation for fog enhanced vehicular services
CN113543160A (zh) 5g切片资源配置方法、装置、计算设备及计算机存储介质
CN113766540B (zh) 低时延的网络内容传输方法、装置、电子设备及介质
CN110971707A (zh) 一种在移动边缘网络中的分布式服务缓存方法
CN113596138B (zh) 一种基于深度强化学习的异构信息中心网络缓存分配方法
CN113613261B (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210713