本发明公开了一种基于深度强化学习的端到端网络切片资源分配算法,能够应用到5g网络中对含有多种业务的场景进行资源分配。该发明属于通信网络技术领域。
背景技术:
5g网络将支持大量来自垂直行业的多样化业务场景,例如智能安防、高清视频、智能家居、自动驾驶和增强现实等,这些业务场景通常具有不同的通信需求。传统移动通信网络主要用来服务单一的移动宽带业务,无法适应未来5g多样化的业务场景。如果为每种业务场景都建设一个专有的物理网络必然会导致网络运维复杂、成本昂贵以及可扩展性差等问题。因此,为应对在一个物理网络上同时支持多种具有不同性能要求的业务场景,满足差异化服务对网络的不同需求,网络切片技术应运而生。
每个网络切片逻辑上都是一个独立的端到端网络,由一组网络功能及相应资源组成,针对特定的业务场景优化,提供端到端的按需定制服务。为了保证端到端正常通信,在接入侧必须进行无线资源的分配,在满足用户qos前提下使得更多用户能够接入网络。传统的资源分配方法通常只考虑接入侧的性能进行分配。但是对于切片而言只有保证整个端到端的链路走通才算成功接入。因此对于5g网络切片中的资源分配必须联合考虑接入侧和核心侧的影响。
近几年来,深度强化学习迎来了研究的高潮,比如打败了人类为其高手的阿尔法狗。深度强化学习由强化学习和深度神经网络组成,该领域的研究着重于解决一系列在过去无法由机器解决的决策制定问题。深度强化学习在健康、机器人、智能电网、金融等领域,提出了新的应用。那么对于无线网络而言,能否利用它进行一些资源分配的决策呢?这是一个值得思考的问题。
因此,本发明提出了基于深度强化学习实现端到端网络切片资源分配的框架。综合考虑接入侧和核心侧影响,智能动态协调资源分配,从而提高系统容量。
技术实现要素:
技术问题:本发明的目的是针对5g多业务下的网络切片场景,提出一种基于深度强化学习的端到端网络切片资源分配算法,从端到端的角度协调各个切片资源分配。保证整个系统端到端接入用户数量。
技术方案:本发明提出了一种基于深度强化学习的端到端网络切片资源分配算法,该方法包括如下步骤:
1.端到端切片系统模型及无线资源初始化
a.端到端模型之接入网
整个端到端模型由接入侧和核心侧两部分组成,接入侧主要为用户选择基站,核心侧则进行用户服务链的映射,从用户到基站再到核心侧的链路整个构成一条端到端通信链路,如图1所示。
在接入侧考虑上行链路蜂窝网络,假设网络具有完善的同步系统和信道估计,在网络中,所有基站统一用n={1,2,....,|n|},切片表示为m={1,2,....,|m|},所有用户表示为u={1,2,....|u|},切片m下的所有用户表示为um,切片m下的具体一个用户表示为um,基站的传输功率表示为pn,系统总带宽为b,被分为l份,则频率域每个rb的带宽为bl,时间域分为调度帧,每个调度帧由t个子帧组成,每个子帧的长度为δt,则一个最小的资源块表示为
假设用户um占用基站n的一个rb,
用户对于基站的选择具有优先级排序,优先选择能够获得
对于时延约束型的用户,将其看作一个排队论的模型,假设用户的数据包到达速率为λu,数据包的长度为lu比特,则在利用nt个rb传输时,算出此时的平均时延为
需要满足时延
b.无线资源初始化
计算每个用户连接不同基站的
初始化切片m分得资源am
则切片分配给基站的带宽资源计算如下:
初始化无线资源分配完成后,将利用初始分配的无线资源实现用户端到端的资源分配。
c.端到端模型之核心网链路映射
接入侧用户选择完基站,核心侧需要进行服务链的映射,用户才能实现端到端成功接入。用户选定了基站,便明确了用户所在切片的初始虚拟机。每个虚拟机都承载着特定功能的vnf,对于每种切片而言,它所需要的vnf是确定的,并按照一定顺序排列。这种特定顺序排列的vnf链路称作服务功能链如图2所示。
表1服务链符号定义
当一个用户的sfc请求来临时,需要为服务链中的每一个vnf找到一个物理虚拟机承载,并满足虚拟节点的容量需求和虚拟链路的带宽需求。每个用户服务链的初始vm就是hn,m即f0映射的位置就是hn,m。
y1,j=1,当
对于速率约束型切片要保证带宽需求,带宽需求表示为接入侧需要的rb数量nnum,延迟约束切片延迟按需设定,速率约束型将q2设置一个较大正整数,
d.问题建模
整个端到端切片问题介绍完毕,需要利用初始化分配的无线资源进行用户链路端到端的匹配,确定用户连接哪个基站,核心侧走哪条链路,使整个系统的接入率达到最大。将整个端到端的问题命名为问题p1,p1的目标和约束如下:
以上问题需要求解用户基站的选择即xu,n,核心侧节点映射
2.基于深度强化学习的端到端切片资源动态调整
控制器在初始化资源分配方案确定后能够根据分配的资源求解p1得到此时系统的最大接入率,但是这种分配并不一定是最优的,因此接下来需要利用dqn网络进行资源动态调整,得到最优的资源分配方案,求解最优方案下的接入率。
a.dqn网络中重要参数设计
状态:s=(rm,sm)rm表示切片m中接入侧成功接入的概率大小,sm表示成功实现端到端接入的用户相对接入侧成功接入的用户的比值。用户能否实现端到端成功接入受两方面的影响,一方面是接入侧资源是否足够,第二方面是核心侧节点和链路资源是否足够。定义sm如下,sm值较大则表示接入侧接入的用户在核心侧都能找合适链路接入,较小则表示用户无法接入受核心侧影响较大。
行为:定义为切片的资源增加或是减少的百分比,是一组离散的小数,其中负数表示分配给切片m资源增加,0表示切片资源不变,正数则表示资源增加。
a=[-10%,-8%,-6%,-4%,-2%,0,2%,4%,6%,8%,10%]
奖励:奖励定义为系统总的接入率
q值的更新:采取贝尔曼等式进行q值更新,其中γ∈[0,1]表示折扣因子,表达式如下:
下一个状态:动作执行完后切片资源更新为
资源更新:执行完动作首先需要进行切片级资源更新如下
所有切片按照上式进行切片资源调整,调整的结果可能超过系统总资源,需要将资源在此基础上进行归一化如下,这样便保证资源总和保持不变。
切片级资源更新完成就需要将切片资源再反馈到各基站上,同样定义切片m用户在基站n的相对接入成功率如下式
则当切片资源增加时,更新后切片分配到各基站的无线资源如下式
至此执行完动作之后切片级和基站级的资源更新就完成了,利用分得的资源带入最优化问题p1,将资源分配到用户,并实现整个端到端的用户资源分配。得到奖励函数,和下一时刻
q网络结构:本发明的q网咯为一个前向反馈的神经网络,网络的输入为切片的状态,输出为各种动作选择下的状态动作对q值。
b.dqn动态调整资源算法描述
1)初始化dqn网络的参数,基站用户信息,核心侧拓扑信息;
2)根据(6)、(7)计算初始资源分配am,n代入p1求解得到端到端映射结果,代入(10)、(11)得到dqn初始状态rm,sm;
3)利用贪心策略选择一个行为at;
4)根据(14)-(17)更新下一个时刻的资源分配
5)将
6)如果存储资源次数达到迷你资源池的倍数,从经验池中选取迷你资源池大小的数据对dqn网络的当前值q网络进行训练和参数更新;
7)训练次数达到某个时间周期,则将当前值q网络复制给目标值网络;
8)对步骤2-7进行迭代,一直到网络收敛。
以上利用dqn对网络资源进行更新的过程,需要利用问题p1求解出每种资源分配方案下系统的接入率作为每种状态动作对的奖励。
3.dqn中奖励值的求解
对于dqn奖励值的计算就是问题p1的求解,这是一个0-1规划问题,并且存在多个变量。无法利用最优化的方法求解出其最优解,本文将其解耦成接入侧和核心侧两个子问题。使得两个子问题用户容量最大。
a.接入侧子问题
对于接入侧,切片无线资源确定时,切片之间具有隔离性。因此接入侧的目标函数和约束可以解耦为两个切片单独的目标函数和约束。速率约束型切片表示如下,时延约束型只需将速率约束改为时延约束。解耦的接入侧问题p2如下:
上述子问题属于np-hard问题,本发明采取动态背包算法进行求解:
1)输入切片分配给基站的资源am,n,基站和用户位置信息;
2)对于所有的基站采取0-1背包算法选定基站接入用户;
3)被多个基站选择的用户,选择需要nnum最少的基站接入;
4)没有接入的用户重复步骤2,3,一直到基站没有资源或用户全部接入。
以上动态资源分配过程让用户在接入侧选择合适的基站,接入更多用户。
b.核心侧子问题
接入侧确定用户接入基站后,在核心侧需要对每条服务链进行映射使得用户容量最大,这样p1才能完全求解。每种切片的服务链映射也是相互隔离的,因此核心侧对每一种切片可以解耦成子问题p3如下:
上述问题无法采取最优化的方法求解,为了快速求解上述问题,并得到一个较优解,设计以下启发式算法,求解过程如下:
1)输入接入侧用户基站选择结果,核心侧网络拓扑信息;
2)对于速率约束切片,按照带宽要求对服务链进行排序,对于时延约束切片,按照时延要求对服务链进行排序,得到每种切片的服务链集;
3)每条服务链映射前,先将网络拓扑图中不满足带宽要求的边去掉;
4)服务链映射采取逐个点映射,初始点由用户选择的基站确定,对于速率约束切片根据公式:
5)对于时延约束切片根据公式:
6)服务链映射结束,判断时延是否满足要求,满足则映射成功;
7)按照步骤4-7依次对每类切片按照服务链集的顺序进行服务链映射。一直到服务链映射完成;
8)计算成功完成端到端服务链映射的用户总人数。
评估函数中vi′∈v′指含有下一功能的所有候选节点,hopi是使用dijkstra算法计算的到候选节点的最短跳数。delayi是使用dijkstra算法计算到候选节点的最短时延,bi表示最短跳数的剩余平均带宽,reci表示候选节点剩余功能数量。
对于速率约束型考虑最短路径并且平均剩余带宽大,同样节点剩余资源多,对于时延约束型主要考虑链路时延最短,且节点剩余资源多,这样做的目的也就是为了达到方便后面链路接入,节点资源能够达到一定程度的均衡,使得接入用户数最多。至此问题p1就解决了,dqn网络的奖励值求得了,整个dqn网络便能进行训练,利用训练好的网络实现资源动态分配,整个流程如图3所示。
本发明相比现有技术,具有以下有益效果:
1.本发明提出基于深度强化学习的端到端网络切片资源分配算法,能够做到动态实时的进行无线资源分配的更新和服务链路的映射。
2.本发明考虑无线资源分配时不仅考虑了对接入侧的影响也考虑了核心侧的影响。从整个端到端网络切片的角度出发考虑无线虚拟资源的分配。
3.本发明考虑速率约束型切片和延迟约束型切片,对于不同类型的切片采取不同算法进行sfc映射,使得整个端到端的用户接入率最大。
附图说明
图1是端到端网络切片模型
图2是核心侧服务链映射系统模型
图3基于深度强化学习的端到端网络切片资源分配模型
具体实施方式
本发明设计了一种基于深度强化学习的端到端网络切片资源分配算法,该方法综合考虑接入侧和核心侧,动态合理分配资源,旨在提高系统的接入率。为了求得最佳的资源分配策略,利用深度强化学习对环境中影响接入率的因素进行训练,得到网络模型。为了求解在无线资源分配确定下接入率的值,针对接入侧和核心侧设计算法进行端到端资源映射映射,有了这些前提,从而能够利用训练好的网络对动态变化的环境进行合理资源分配。具体实施方法如下:
1.端到端模型及无线资源初始化
a.端到端模型接入侧相关计算
在接入侧考虑上行链路蜂窝网络,假设网络具有完善的同步系统和信道估计,考虑每个用户选择性的接入一个基站。每个用户属于一种类型的切片,本文考虑速率约束型和时延约束型两种类型的切片。对于速率约束型的切片,最低速率表示为
用户um占用基站n的一个rb,
用户优先选择能够获得
对于时延约束型的用户,将其看作一个排队论的模型,假设用户的数据包到达速率为λu,数据包的长度为lu比特,用nt个rb传输时,算出此时平均时延为
计算满足时延
b.无线资源初始化
计算每个用户连接不同基站的
初始化切片m分得资源am
切片分配给基站的带宽资源计算如下:
初始化资源分配完成后,利用初始分配的无线资源实现用户端到端的映射。
c.端到端模型核心网
接入侧用户选择完基站,核心侧需要进行服务链的映射,用户才能实现端到端成功接入。用户选定了基站,便明确了用户所在切片的初始虚拟机。每个用户对应的服务链的初始vm都是hn,m,f0映射的位置就是hn,m表示为:
y1,j=1,当
对于每条服务链需要为每一个vnf找到一个物理虚拟机承载,并满足虚拟节点的容量需求和虚拟链路的带宽需求,将带宽需求对应为接入侧需要的rb数量即nnum,速率约束型的延迟设为一个较大的正整数,延迟约束型切片按需设定。
d.问题建模
整个端到端切片问题介绍完毕,要想知道如何分配资源系统接入率最高,就必须先求得资源分配确定时,用户如何进行基站选择和核心侧链路映射能使得系统接入率最大。将该问题命名为p1,目标和约束如下:
该问题求解的是资源分配确定时,如何进行端到端资源映射,但是本发明的最终目的是要实现资源的动态变化,因此该问题的求解是前提。
2.基于深度强化学习的端到端网络切片资源调整
控制器在初始化资源分配方案确定后求解问题p1得到此时系统的最大接入率,但是这种分配并不一定是最优的,因此接下来需要利用dqn网络进行资源动态调整,得到最优的资源分配方案。
a.dqn网络中重要参数设计
状态:s=(rm,sm),rm表示切片m中接入侧成功接入的概率大小,sm表示成功实现端到端接入的用户相对接入侧成功接入的用户的比值。
行为:定义为切片的资源增加或是减少的百分比,负数表示分配给切片m资源增加,0表示切片资源不变,正数则表示资源增加。
a=[-10%,-8%,-6%,-4%,-2%,0,2%,4%,6%,8%,10%]
奖励:奖励定义为系统总的接入率
q值的更新:采取贝尔曼等式进行q值更新,其中γ∈[0,1]表示折扣因子,表达式如下:
下一个状态:动作执行完后切片资源更新为
资源更新:切片级资源更新如下
按照上式进行切片资源调整,可能超过系统总资源,将资源进行归一化如下:
切片级资源更新完成就需要将切片资源再反馈到各基站上,同样定义切片m用户在基站n的相对接入成功率如下式
则更新后切片分配到各基站的无线资源如下式
至此执行动作后切片级和基站级的资源更新就完成了,将am,n带入问题p1求解整个端到端的资源映射。得到奖励函数,和下一时刻
q网络结构:本发明的q网咯设置为一个前向反馈的神经网络,网络的输入为切片的状态,输出为各种动作选择下的状态动作对q值。
b.基于深度强化学习的端到端网络切片资源分配算法描述
1)初始化dqn网络的参数,基站用户信息,核心侧拓扑信息;
2)根据(6)、(7)计算初始资源分配am,n代入p1求解得到端到端映射结果,代入(10)、(11)得到dqn初始状态rm,sm;
3)利用贪心策略选择一个行为at(上标t表示t时刻);
4)根据(14)-(17)更新下一个时刻的资源分配
5)将
6)如果存储资源次数达到迷你资源池的倍数,从经验池中选取迷你资源池大小的数据对dqn网络的当前值q网络进行训练和参数更新;
7)训练次数达到某个时间周期,则将当前值q网络复制给目标值网络;
8)对步骤2-7进行迭代,一直到网络收敛。
以上利用深度强化学习对网络资源分配进行调整,需要利用问题p1求解出每种资源分配方案下系统的接入率作为每种状态动作对的奖励。
3.dqn中奖励值的求解
对于dqn奖励值的计算就是问题p1的求解,这是一个0-1规划问题,并且存在多个变量。无法利用最优化的方法求解出其最优解,本文将其解耦成接入侧和核心侧两个子问题。使得两个子问题用户容量最大。
a.接入侧子问题
对于接入侧而言,切片无线资源确定时,切片之间便具有隔离性,相互之间互不影响。因此对于接入侧的目标函数和约束可以解耦为两个切片单独的目标函数和约束,对于速率约束型切片表示如下,对于时延约束型只需要将速率约束改为时延约束。对于速率约束型切片nnum等于nv,对于延迟约束切片nnum=nt。解耦出来的接入侧问题p2如下所示:
上述子问题的求解属于np-hard问题,本发明采取动态背包算法进行求解,求解过程描述如下:
1)输入切片分配给基站的资源am,n,基站和用户位置信息;
2)对于所有的基站采取0-1背包算法选定基站接入用户;
3)被多个基站选择的用户,选择需要nnum最少的基站接入;
4)对于剩下没有接入的用户重复步骤2,3一直到基站没有资源或用户全部接入。
以上动态资源分配过程能够为每个用户在接入侧选择合适的基站,使得接入更多用户。
b.核心侧子问题
接入侧确定用户接入基站后,在核心侧需要对每条服务链进行映射使得用户容量最大,这样p1才能完全求解。每种切片的服务链映射也是相互隔离的,因此核心侧对每一种切片可以解耦成子问题p3如下:
为了快速求解上述问题得到一个较优解,设计以下启发式算法:
1)输入接入侧用户基站选择结果,核心侧网络拓扑信息;
2)对于速率约束切片,按照带宽要求对服务链进行排序,对于时延约束切片,按照时延要求对服务链进行排序,得到每种切片的服务链集;
3)每条服务链映射前,先将网络拓扑图中不满足带宽要求的边去掉;
4)服务链映射采取逐个点映射,初始点由用户选择的基站确定,对于速率约束切片根据公式:
5)对于时延约束切片根据公式:
6)服务链映射结束,判断时延是否满足要求,满足则映射成功;
7)按照步骤4-7依次对每类切片按照服务链集的顺序进行服务链映射;一直到服务链映射完成;
8)计算成功完成端到端服务链映射的用户总人数。
评估函数中vi′∈v′指含有下一功能的所有候选节点,hopi是使用dijkstra算法计算的到候选节点的最短跳数。delayi是使用dijkstra算法计算到候选节点的最短时延,bi表示最短跳数的剩余平均带宽,reci表示候选节点剩余功能数量。
至此问题p1就解决了,dqn网络每次训练的奖励值便得到了,整个dqn网络便可以训练,训练好的网络便可以对资源进行动态分配。