发明内容
有鉴于此,本发明的目的在于提供一种虚拟网络功能智能迁移方法,该方法能够在有效地满足各切片QoS需求以及保持系统队列稳定性的同时,降低基础设施的平均能耗。
为达到上述目的,本发明提供如下技术方案:
一种虚拟网络功能智能迁移方法,在该方法中,在每个离散时隙上,在保证每个切片的最高平均时延约束、节点缓存资源消耗限制以及链路带宽容量限制的前提下,根据各个虚拟网络功能(Virtualized Network Function,VNF)实例的队列状态信息、节点状态信息以及链路状态信息,以最小化通用服务器平均运行能耗为目标,为切片制定最佳的VNF迁移策略并动态地调整网络内节点CPU资源的分配策略;具体包括以下步骤:
S1:在5G网络切片场景下,针对业务流量动态变化的特征,建立VNF实例多队列的时延模型和系统能耗模型,其中所述网络切片i的VNF调度总时延由处理时延和链路传输时延两部分组成,且CPU资源的分配策略影响VNF的处理时延;所述能耗模型主要包含两部分内容:节点处于开启状态时产生的基础能耗和随着VNF实例负载变化产生的运行能耗;
S2:将VNF的迁移和CPU资源的分配建立成基于受限马尔可夫决策过程(Constrained Markov Decision Process,CMDP)的随机优化模型,该模型以最小化通用服务器平均运行能耗为目标,同时受限于各切片平均时延约束以及平均缓存、带宽资源消耗约束;
S3:通过拉格朗日理论将CMDP问题转化为不受限马尔可夫决策过程MDP问题,即将优化目标从找到最优策略转化为寻找最佳的Q函数;
S4:建立基于强化学习框架的VNF智能迁移在线学习方法来近似行为值函数,从而在每个离散的时隙内根据当前系统状态为每个网络切片寻求最佳的VNF迁移策略及CPU资源分配方案。
进一步,在步骤S2中,所述基于CMDP的随机优化模型表示为最小化期望累积折扣回报:
其中:Ψ(t)为时隙t内的VNF迁移的动作向量,Z(t)为时隙t内每个VNF的CPU资源分配动作集合,r(t)为系统在时隙t的状态向量,
为通用服务器平均运行能耗;
所述切片时延约束为:所有的切片端到端时延都需要满足
其中
为切片i的平均端到端时延,τ
i为切片S
i端到端时延约束;
缓存资源消耗约束为:所有节点缓存新到达的数据量应满足
其中
为期望累积折扣缓存资源消耗,χ
h为节点h租用的缓存资源总量;
所述带宽资源消耗约束为:所有链路传输的数据量应满足
其中
为期望累积折扣带宽资源消耗,Δ
h,l为节点h至节点l的链路带宽容量。
在每个离散时隙迁移VNF和动态分配虚拟资源,需要保证系统内所有VNF实例的队列不会随时间的推进而持续增加,进而切片端到端时延持续增大;系统内所有节点缓存内的数据量、链路传输的数据量不会随时间的推进而持续增加。
进一步,在步骤S3中,优化目标转化为获得状态r的最优策略π
*,β,且满足
其中所述最优策略π
*,β包括VNF迁移策略和CPU资源的分配方案,所述Q
*,β(r,a)为最优行动值函数,所述a为动作向量,所述r为系统状态向量。
进一步,在步骤S4中,利用深度Q学习(DQN)训练函数fap来近似Q值的分布,该方法把状态r作为输入,然后经过神经网络分析后对应输出每一个动作的Q值,其主要过程是在Q网络的基础上增加一个目标Q网络(fixedQ-targets)来计算目标Q值,这两个网络结构相同但参数不同,通过最小化Q网络和目标Q网络之间的损失函数来优化权重w,来实现网络预测性能的提升。所述网络的更新方式为:目标Q网络在一段时间内才会更新一次,而Q网络在每次迭代过程之后都会更新。
进一步,价值函数近似的具体步骤为:
1)初始化经验回放池、Q网络、目标Q网络、拉格朗日乘子;
2)使用ε-greedy策略生成行动a
t,即随机选择一个概率p,若p≥ε,则计算VNF迁移及CPU资源分配策略
否则选择一个随机的行动
3)执行行动at,获得拉格朗日回报,并观察下一时刻状态,将经验样本存入经验回放池;
4)从经验回放池中随机抽取一组经验样本,利用目标Q网络计算目标Q值,并利用梯度下降法对权重进行更新;
5)每隔时间长度Tq更新目标Q网络;
6)利用随机次梯度法在线更新所述拉格朗日乘子;
7)经过数次迭代后,判断是否满足收敛条件;
8)如果当前所述的VNF迁移和CPU资源分配策略满足收敛条件,则将所述VNF迁移和CPU资源分配策略通知给所述虚拟网络调度器以及资源管理实体;
9)按照各所述VNF迁移和CPU资源分配策略,所述每个节点VNF实例按照所述队列更新方式更新所述缓存队列大小,并等待下一个调度时隙。
进一步,在每个调度时隙上,给定所述每个节点VNF实例的队列状态,系统的节点状态和链路状态,计算所述最优的VNF迁移与资源分配方案,具体步骤为:
1)监测当前时隙t下的全局状态,将当前状态r(t)作为Q网络的输入;
2)如果节点或链路在时隙t失效,为了提高网络的可靠性,系统在对相应的VNF进行迁移的基础上,选择最优的VNF迁移策略
对能耗与时延进行优化;
4)等待下一个调度时隙t+1。
本发明的有益效果在于:本发明在每个离散调度时隙上根据当前的系统状态对VNF进行迁移并调整CPU资源的分配方式,既可以充分利用CPU资源,又可以满足切片平均端到端时延的要求。另外,将不同种类型SFC的VNF部署过程模拟成M/M/1排队过程,实现了VNF实例的共享,基于CMDP理论建立的随机优化模型以最小化通用服务器平均运行能耗为目标,在节约系统平均能耗的同时有效地保持系统的稳定性。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
具体实施方式
在本发明提供的一种虚拟网络功能智能迁移方法在每个离散时隙上,在保证每个切片的最高平均时延约束、节点缓存资源消耗限制以及链路带宽容量限制的前提下,根据各个VNF实例的队列状态信息、节点状态信息以及链路状态信息,以最小化通用服务器平均运行能耗为目标,为切片制定最佳的VNF迁移策略并动态地调整网络内节点CPU资源的分配策略;
具体来说,所述的VNF智能迁移方法包括以下步骤:
S1:在5G网络切片场景下,针对业务流量动态变化的特征,建立VNF实例多队列的时延模型和系统能耗模型;
S2:将VNF的迁移和CPU资源的分配建立成基于受限马尔可夫决策过程(Constrained Markov Decision Process,CMDP)的随机优化模型,该模型以最小化通用服务器平均运行能耗为目标,同时受限于各切片平均时延约束以及平均缓存、带宽资源消耗约束;
S3:通过拉格朗日理论将CMDP问题转化为不受限的MDP问题,即将优化目标从找到最优策略转化为寻找最佳的Q函数;
S4:建立一种基于强化学习框架的VNF智能迁移在线学习方法来近似行为值函数,从而在每个离散的时隙内根据当前系统状态为每个网络切片寻求最佳的VNF迁移策略及CPU资源分配方案。
VNF实例多队列的时延模型:
所述网络切片i的VNF调度总时延由处理时延和链路传输时延两部分组成,其中CPU资源的分配策略影响VNF的处理时延,按照函数式:
计算数据流在VNFf
ij的产生的处理时延,其中所述
为节点h的VNF实例
的数据包达到过程的均值,所述Q
h,j表示节点h的VNF实例
当前的队列长度大小,所述
为数据包大小的均值,所述
为
的服务速率,所述B(h,f
ij)表示VNFf
ij∈F是否部署在节点h。
按照函数式:
计算数据流在传输过程中产生的链路传输时延,其中所述σ
ij为网络切片i调度VNFf
j∈F的期望平均次数σ
ij,所述P(f
p|f
j,i)表示用户请求切片S
i的数据流在VNFf
j被处理后传输至VNFf
p的比例,所述δ(h,l)表示两个节点之间的数据传输时延,所述B(h,f
ij)表示VNFf
ij∈F是否部署在节点h。
VNF实例队列信息具体为:
按照函数式:
计算各VNF实例在每个调度时隙上更新的缓存队列大小,其中所述Q
h,j(t+1)为节点h的VNF实例
在下一个调度时隙开始时的队列长度大小,所述Q
h,j(t)为节点h的VNF实例
在当前调度时隙开始时的队列长度大小,所述
为节点h的VNF实例
在当前调度时隙开始时新到达的总数据量,所述
为节点h的VNF实例
在当前调度时隙开始时的服务速率。
所述能耗模型为:
优化的能耗模型主要包含两部分内容:节点处于开启状态时产生的基础能耗和随着VNF实例负载变化产生的运行能耗。具体可以表示为
其中所述
表示在时刻t节点h处于开启的状态,否则为0,所述u
h∈(0,1)为节点h恒定功耗百分比,所述P
h表示节点h的CPU资源均被占用产生的最大能耗,所述ρ
h为负载密度。
所述基于CMDP的随机优化模型可以表示为:
其中所述Ψ(t)为时隙t内的VNF迁移的动作向量,所述Z(t)为时隙t内每个VNF的CPU资源分配动作集合,所述r(t)为系统在时隙t的状态向量,所述γ为折扣因子。
所述切片时延约束为:所有的切片端到端时延都需要满足
其中所述的
为切片i的平均端到端时延,τ
i为切片S
i端到端时延约束;
所述的缓存资源消耗约束为:所有节点缓存新到达的数据量应满足
其中所述
为期望累积折扣缓存资源消耗,所述χ
h为节点h租用的缓存资源总量;
所述的带宽资源消耗约束为:所有链路传输的数据量应满足
其中所述
为期望累积折扣带宽资源消耗,所述Δ
h,l为节点h至节点l的链路带宽容量;
所述最优行动值函数可以表示为:
因此优化目标转化为获得状态r的最优策略π
*,β,且满足
其中所述最优动作π
*,β包括VNF迁移策略和CPU资源的分配方案,
其中所述Q
*,β(r,a)为最优行动值函数,所述g
β(r,a)为拉格朗日回报,所述
为状态转移概率,所述V
*,β(r')为最优状态值函数,所述β为拉格朗日乘子,所述a为动作向量,所述r为系统状态向量,所述γ为折扣因子,所述r'表示下一时隙的状态。
所述基于强化学习的价值函数近似的具体步骤为:
初始化:经验回放池,Q网络,目标Q网络,拉格朗日乘子;
使用ε-greedy策略生成行动at;
执行行动at,获得拉格朗日回报,并观察下一时刻状态,将经验样本存入经验回放池;
从经验回放池中随机抽取一组经验样本,利用目标Q网络计算目标Q值,并利用梯度下降法对权重进行更新;
每隔时间长度Tq更新目标Q网络;
利用随机次梯度法在线更新所述拉格朗日乘子;
经过数次迭代后,判断是否满足收敛条件;
如果当前所述的VNF迁移和CPU资源分配策略满足收敛条件,则将所述VNF迁移和CPU资源分配策略通知给所述虚拟网络调度器以及资源管理实体;
按照各所述VNF迁移和CPU资源分配策略,所述每个节点VNF实例按照所述队列更新方式更新所述缓存队列大小,并等待下一个调度时隙;
所述权重w的更新,具体为:
利用损失函数的梯度并基于梯度下降优化法,可以对权重进行训练,其更新过程可以用函数式表示为:
其中所述
表示损失函数的梯度,所述α为学习率,所述G为损失函数,所述W为权重。
所述计算最优的VNF迁移与资源分配方案,具体步骤为:
监测当前时隙t下的全局状态,将当前状态r(t)作为Q网络的输入;
如果节点或链路在时隙t失效,为了提高网络的可靠性,系统在对相应的VNF进行迁移的基础上,选择最优的VNF迁移策略
对能耗与时延进行优化;
下面结合附图对本发明的具体实施例进行详细说明。
参见图1,图1为本发明中的系统场景示意图,其包含三层,应用层主要负责为每个切片请求提供有序的VNF集合来处理到达的数据流,基础设施层中云服务器提供包含计算资源、缓存资源、带宽资源等多种类型的虚拟网络资源,虚拟化层根据虚拟网络用户的业务状态,QoS需求等实现VNF的动态迁移、虚拟网络资源的灵活分配。其中基于DQN的性能分析模块的评估结果若为当前的VNF部署方式无法满足各个切片的QoS需求,虚拟网络调度器则根据当前队列状态和底层节点状态决定VNF的迁移策略以达到性能优化的目的;资源管理实体在SFC完成部署后为各个虚拟网络功能模块分配最佳的虚拟资源量;节点链路状态监测实体的作用是观察各节点及链路的实时状态。
参见图2,图2为本发明中的虚拟网络功能迁移流程图,步骤如下:
步骤201:建立全连接型虚拟网络拓扑结构,生成不同类型的网络切片及实现该切片业务的服务功能链组成;
步骤202:初始化设置系统各参数,包括Q网络、目标Q网络、时间因子Tmax等,特别地,令时间指示t=0,且系统内所有VNF实例缓存的队列为0;
步骤203:收集全局VNF实例队列状态信息,网络节点、链路状态信息;
步骤204:将全局状态信息作为DQN网络的输入,根据最优行动值函数公式:
计算最优策略π
*,β,且满足
其中所述最优动作π
*,β包括VNF迁移策略和CPU资源的分配方案,
其中所述Q
*,β(r,a)为最优行动值函数,所述g
β(r,a)为拉格朗日回报,所述
为状态转移概率,所述V
*,β(r')为最优状态值函数,所述β为拉格朗日乘子,所述a为动作向量,所述r为系统状态向量,所述γ为折扣因子,所述r'表示下一时隙的状态;
步骤205:判断损失函数是否超出门限,即是否满足收敛条件,若不满足,则继续跳转到步骤206,否则执行步骤207;
步骤206:训练DQN网络,利用公式:
即损失函数的梯度并基于梯度下降优化法,对权重进行训练,其中所述
表示损失函数的梯度,α为学习率,所述G为损失函数,所述W为权重;
步骤207:利用随机次梯度法在线更新所述拉格朗日乘子的值;
步骤208:判断更新后拉格朗日乘子的值与前一次迭代的值的差值是否小于预定门限值,若不满足,则继续跳转到步骤203,否则执行步骤209;
步骤209:将VNF迁移及CPU资源分配决策通知给虚拟网络调度器和资源管理实体,基于最优行动执行VNF的迁移,并进行CPU资源的分配,并根据函数式:
计算各VNF实例在每个调度时隙上更新的缓存队列大小,
其中所述Q
h,j(t+1)为节点h的VNF实例
在下一个调度时隙开始时的队列长度大小,所述Q
h,j(t)为节点h的VNF实例
在当前调度时隙开始时的队列长度大小,所述
为节点h的VNF实例
在当前调度时隙开始时新到达的总数据量,所述
为节点h的VNF实例
在当前调度时隙开始时的服务速率;
步骤210:判断调度时隙是否达到最大的时隙值Tmax,若不满足,则跳转到步骤203,否则算法结束。
参见图3,图3为本发明中基于DQN的虚拟网络功能智能迁移在线学习架构图,由于在强化学习中,得到的观测数据是有序的,为了保证数据的独立性,DQN网络运用经验回放池(experience replay)存放每次迭代的数据样本,并采用随机的方式从经验回放池中抽取一部分数据用于网络参数的更新,以此来打破数据间的关联。同时,DQN在Q网络的基础上增加了一个目标Q网络(fixed Q-targets)来计算目标Q值,这两个网络结构相同但参数不同,为了提高网络预测的性能,权重函数需要反复的学习与训练以拟合复杂的环境特征,即通过最小化Q网络和目标Q网络之间的损失函数来优化权重w,从而在每个时隙根据当前的全局状态制定最优的VNF迁移及CPU资源分配方案。
参见图4,图4为本发明中的虚拟网络功能迁移策略选择流程图,步骤如下:
步骤401:初始化设置系统各参数,包括Q网络、目标Q网络、时间因子Tmax等,特别地,令时间指示t=0,且系统内所有VNF实例缓存的队列为0;
步骤402:收集全局VNF实例队列状态信息,网络节点、链路状态信息,并将全局状态信息作为DQN网络的输入;
步骤403:判断节点或链路是否失效,若是,则继续跳转到步骤404,否则执行步骤405;
步骤404:将部署在该节点或由该链路传输数据流的VNF作为待迁移VNF;
步骤405:通过公式:
计算最优的VNF迁移策略及CPU资源分配策略,
其中所述rt为时隙t的系统状态向量,所述w为DQN网络的权重;
步骤406:执行最优行动并更新队列;
步骤407:判断调度时隙是否达到最大的时隙值Tmax,若不满足,则跳转到步骤402,否则算法结束。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。