一种基于迁移A-C学习的服务功能链部署方法
技术领域
本发明属于移动通信技术领域,涉及一种基于迁移演员评论家(Actor-Critic)学习的服务功能链(Service Function Chain,SFC)部署方法。
背景技术
为了应对接入终端数目、种类和业务量的爆炸式增长,5G网络需要能够同时支持大量来自垂直行业的多样化的业务应用场景,从而满足差异化服务对网络吞吐量、时延、连接数目以及可靠性等指标的不同需求。若仍采用传统通信网中的单一物理网络同时为多种应用场景提供服务的方式,会出现网络管理效率不理想、资源利用率低,且网络框架异常复杂等问题。针对这些问题,提出了网络切片技术。网络切片是指基于软件定义网络(Software Defined Network,SDN)和网络功能虚拟化(Network FunctionVirtualization,NFV)技术,将一个完整的物理网络切割成为多个独立的逻辑虚拟网络,每个虚拟网络都有其相适应的应用场景。更加具体来说,网络切片由5G网络中部署在通用基础设施上的各种虚拟网络功能(Virtual Network Function,VNF)动态组合而成,且具有定制的网络架构和协议,是一个针对不同业务需求提供定制化服务且独立运维的端到端网络。
考虑一个切片网络中包含有若干条相同服务类型的服务功能链(ServiceFunction Chain,SFC),每条SFC由若干有序VNF组成。为了满足用户切片请求的不同需求,需要完成SFC在基础设施上的部署,具体来说可以分为VNF放置和物理资源分配两个方面。系统需要根据用户需求和相关约束,合理地选择VNF放置方式并为VNF分配CPU、内存、带宽等底层物理资源。
目前,现有技术中存在如下缺点:首先,现有的SFC部署方案大多数都是以成本最小化为目标,将端到端时延作为约束条件,而实际上为了进一步提升用户的体验,如何在资源约束的前提下满足网络服务请求并降低时延,也是SFC部署不容忽略的问题。其次,SFC部署系统场景在核心网(Core Packet Network,EPC)一侧,无法支持已经得到业界广泛认可的基于集中式单元/分布式单元(Centralized Unit/Distributed Unit,CU/DU)的两级云无线接入网(Cloud-Radio Access Network,C-RAN)架构。再者,部署过程缺乏与网络环境的实时交互,即忽略了实际网络中动态随机变化的业务到达和队列积压情况,如果不及时针对当前环境对部署方案进行调整,系统端到端时延会显著增加。最后,所提SFC部署算法只针对某一特定的网络参数配置,即SFC数目、业务数据包到达率等设置固定,一旦这些参数发生变化,其求解策略将无法适应新网络,需要对算法本身进行调整。因此,如何在基于CU/DU的5G C-RAN架构下,合理动态地选择VNF放置方式并进行资源分配,从而最小化系统端到端时延是非常值得研究的内容。
发明内容
有鉴于此,本发明的目的在于提供一种基于迁移演员评论家(Actor-Critic)学习的服务功能链(Service Function Chain,SFC)部署方法,该方法在基于CU/DU的C-RAN场景的上行条件下,能够根据随机动态变化的SFC业务数据包到达率和队列积压长度,自适应动态调整各切片的SFC部署方式,减小且稳定队列积压,优化系统端到端时延,并提高资源利用率。
为达到上述目的,本发明提供如下技术方案:
一种基于迁移A-C学习的服务功能链部署方法,该方法包括以下步骤:
S1:针对5G网络切片环境下由于业务请求的随机性和未知性导致的资源分配不合理从而引起的系统高时延问题,建立基于虚拟网络功能(Virtual Network Function,VNF)放置、计算资源、物理链路带宽资源和前传网络带宽资源联合分配的系统端到端时延最小化服务功能链(Service Function Chain,SFC)部署的网络模型;
S2:将已建立的时延最小化模型转化为具有连续状态和动作空间的离散时间马尔科夫决策过程(Markov Decision Process,MDP);
S3:针对该MDP中状态、动作空间连续,且转移概率未知,采用A-C学习与环境进行不断交互动态调整SFC部署策略,优化系统端到端时延;
S4:针对同一系统在不同时段SFC的部署任务不尽相同,为实现并加速该A-C学习方法在相似目标任务中的收敛过程,采用迁移A-C学习实现利用源任务中学习到的SFC部署知识快速寻找目标任务的部署策略。
进一步,在步骤S1中,所述SFC部署的网络模型为:虚拟网络拓扑基于集中式单元/分布式单元(Centralized Unit/Distributed Unit,CU/DU)的两级云无线接入网(Cloud-Radio Access Network,C-RAN)架构,用带权无向图G={N,L}表示,其中,设备节点集N由DU池节点集ND与CU池节点集NC组成,物理链路集L由DU池链路集LD、CU池链路集LC和前传网络LNGFI构成;
设备节点nu的计算资源容量为链路lv的带宽资源容量为系统中的切片集合为K,Mk代表切片k中的SFC集合;由于一个切片中包含有多条相同服务类型的SFC,切片k的第m条SFC定义为SFCm,其在时隙t的队列长度为qk,m(t),并满足0≤qk,m(t)≤qmax,其中qmax代表最大队列长度。
进一步,在步骤S1中,SFC部署的过程分为两个阶段:第1阶段每个切片选择VNF放置方式,即确定VNF在DU、CU池的分布情况;第2阶段根据每个切片的放置方式分别为DU池、CU池的各个VNF进行资源分配,包括每个VNF映射到物理节点后的计算资源分配,虚拟链路映射到物理链路后的带宽资源分配,以及SFC处于DU末端VNF的前传网络带宽资源分配,处于CU末端的VNF不考虑分配带宽资源。
进一步,在步骤S1中,将VNF放置、各类资源分配与系统中的各类时延建立关联性,具体包括:设备处理时延τ1(t)与计算资源分配密切相关;链路传输时延τ2(t)由池内物理链路传输时延和前传网络传输时延构成,与物理链路带宽资源和前传网络带宽资源分配密切相关;SFC在DU侧的排队时延τ3(t)由队列长度和数据包到达率决定;因此传输切片数据包的总平均端到端时延为:则优化目标为:min{τ}。
进一步,在步骤S2中,将所述时延最小化模型转化为具有连续状态和动作空间的马尔科夫决策过程(MarkovDecisionProcess,MDP)具体包括:
MDP定义为一个多元组其中是状态空间,是动作空间,是转移概率,是奖励函数;状态空间由系统内全部SFC的队列长度及其数据包到达率共同决定,动作空间是SFC的部署过程,包括VNF放置方式的选择和资源分配,转移概率为在一个状态采取某个部署动作后转移到下一个状态的概率:其中,为时隙t的系统状态,为时隙t的部署动作,f为状态转移概率密度函数。奖励函数为采取某个动作部署SFC后的系统端到端时延:Rt=-(τ1(t)+τ2(t)+τ3(t))。此外,由于队列长度、数据包到达率以及资源分配都是连续动态变化的,因此,所述MDP具有连续的状态空间和动作空间。
进一步,在步骤S3中,无需先验知识且能适应连续状态和动作空间的A-C学习方法,它结合了强化学习中的策略方案和值函数方案,在学习连续随机策略方面具有良好的收敛性;采用A-C学习与环境进行不断交互动态调整SFC部署策略,将其与所述MDP结合,将SFC部署目标转化为:寻找一个策略π,最大化目标函数:
其中,Qπ(s,a)=E{Rt+βQπ(st+1,at+1)};动作a(t)来自于一个随机策略π(a|s)=Pr(a(t)=a|s(t)=s),它代表了从状态到采取动作概率的映射,即对于当前的队列长度和数据包到达率,选择某种VNF放置方式和资源分配方案的概率。
进一步,在步骤S4中,一个A-C学习任务最终的策略πθ(s,a)=Pr(a|s,θ),代表在状态s下选择动作a的概率,但是这样的一个学习策略是适应当前环境和部署任务的,考虑将该部署策略的参数知识θ=(θ1,θ2,...θn)T迁移到其他相似目标学习任务上,使得目标任务能够较快收敛而不是从零开始学习,基于此,采用一种新的策略更新方法,整体策略分为本地策略和外来策略其中,本地策略为当前学习任务中根据环境状态生成的随机策略,外来策略为其他相似任务中生成的随机策略,为迁移率,为迁移率因子,即有当t→∞,ζ(t)→0。
本发明的有益效果在于:本发明在基于DU/CU的5GC-RAN场景下部署SFC时,综合考虑随机动态变化的数据包到达率和队列积压长度,通过迁移A-C学习算法与环境交互调整SFC部署策略,优化系统端到端时延并提高资源利用率。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为可应用本发明场景示意图;
图2为本发明中的接入网VNF部署方式;
图3为本发明中迁移A-C学习框架图;
图4为本发明中基于迁移A-C学习的SFC部署算法流程示意图。
具体实施方式
下面对本发明的具体实施例进行详细说明。
在本发明中,基于迁移A-C学习的SFC部署方法包括以下步骤:
S1:针对5G网络切片环境下由于业务请求的随机性和未知性导致的资源分配不合理从而引起的系统高时延问题,建立基于虚拟网络功能(Virtual Network Function,VNF)放置、计算资源、链路带宽资源和前传网络资源联合分配的系统端到端时延最小化模型;
S2:将已建立的时延最小化模型转化为具有连续状态和动作空间的离散时间马尔科夫决策过程(Markov Decision Process,MDP);
S3:考虑该MDP中状态、动作空间连续,且转移概率未知,采用A-C学习算法与环境进行不断交互动态调整SFC部署策略,优化系统端到端时延;
S4:考虑同一系统中在不同时段SFC的部署任务不尽相同,如在目标任务中需部署的SFC条数较少但是业务数据包到达率普遍更高。为了实现并加速该A-C算法在相似目标任务中的收敛过程,引入迁移学习的思想,采用迁移A-C学习算法实现利用源任务中学习到的SFC部署知识快速寻找目标任务的部署策略。
具体来说,在步骤S1中,所述5G接入网切片的SFC部署的网络模型为:
用带权无向图G={N,L}来表示基础设施网络,其中,N=ND∪NC={n1,n2,...,nU}代表整个基础设施网络的设备节点集,由DU池节点集ND与CU池节点集NC组成。L=LD∪LC∪LN={l1,l2,...,lV}代表基础设施网络的物理链路集L,由DU池链路集LD、CU池链路集LC和前传网络LNGFI构成。服务器节点nu的计算资源容量为链路lv的带宽资源容量为lv.head和lv.tail代表连接lv的两个相邻物理节点。此外,系统中的切片集合为K,一个切片中通常包含有多条SFC,Mk代表切片k中的SFC集合。最后,考虑用户切片请求数据流可以在DU池侧进行缓存,即每条SFC在DU池侧存在一个队列。切片k的SFCm在时隙t的队列长度为qk,m(t),并满足0≤qk,m(t)≤qmax,其中qmax代表最大队列长度。
在C-RAN架构下,存在CU池和DU池,接入网的SFC可以灵活的在CU池和DU池里部署VNF,不同的VNF放置方式影响后续的资源分配,因此接入网SFC部署过程的第一阶段为每一个切片选择合适的接入网VNF放置方式,确定在DU池和CU池的VNF数目;第二阶段是为SFC的VNF在对应的资源池里分配计算资源和带宽资源,其中SFC中处在DU末端的VNF需要分配前传网络带宽资源将数据从DU传到CU。具体定义如下:
切片k的SFCm在时隙t的计算资源分配方式定义为:其中,Fm,k是切片k的SFCm的VNF集合,代表第j个VNF可以实例化的物理节点集合。代表切片k的SFCm的第j个VNF放置在物理节点nu上,代表第j个VNF所分配的计算资源。
切片k的SFCm在时隙t的链路带宽资源分配方式定义为:其中,代表切片k的SFCm的第j个VNF映射到链路lv上向下一个VNF发送数据,代表SFCm的第j个VNF在链路lv分配的带宽资源,Fm',k代表不包括DU池和CU池末端VNF的集合。另外表示前传网络为其分配的带宽资源。
在步骤S1中,需要建立系统各类时延与VNF放置和资源分配的关联性,其时延包括物理设备上的处理时延τ1(t)、链路传输时延τ2(t)以及SFC在DU侧的排队时延τ3(t)。有:
其中,代表切片k的SFCm的第j个VNF放置在物理节点nu上,代表第j个VNF所分配的计算资源。令Jk,m=(ak,m(t),wk,m(t))切片k的SFCm的计算处理任务,其中ak,m(t)为时隙t到达的数据包个数,wk,m(t)为完成该项任务所需的CPUcycles。不同类型切片的SFC任务处理单位比特数据所需的CPUcycles也存在差异,设为xk,则有
其中,代表切片k的SFCm的第j个VNF映射到链路lv上向下一个VNF发送数据,代表SFCm的第j个VNF在链路lv分配的带宽资源,表示前传网络为其分配的带宽资源。
其中,qk,m(t+1)=max{qk,m(t)+ak,m(t)-dk,m(t),0},dk,m(t)=vk,m(t)·Ts代表在时隙t内处理的数据包数目,为平均包处理速率,代表每条SFC的第一个VNF的数据处理速率就是该条链路的服务速率。
因此,所述以最小化系统平均端到端时延为目标完成VNF放置、计算资源、链路带宽资源和前传网络资源联合分配指采用如下目标函数:
其中,
在步骤S2中,所述VNF放置以及资源分配过程建立为一个具有连续状态和动作空间的离散时间MDP模型。MDP定义为一个多元组其中s是状态空间,是动作空间,是转移概率,是奖励函数。
状态空间
为时隙t的系统状态,定义为:
其中,qk,m(t),λk,m(t)分别代表切片k的SFCm的队列积压长度和数据包到达率。
动作空间
为时隙t执行动作,定义为:
其中,为切片k所选择的VNF放置方式,分别代表切片k的SFCm在时隙t的计算资源和带宽资源分配方式。
转移概率P
由于所定义状态集中每一个元素都是连续的,即处于一个特定状态的概率为零。因此,采用积分形式定义在状态s(t)下,采取动作转移至状态s(t+1)的概率为:
其中,f为状态转移概率密度函数。
回报函数R
在状态s(t)执行动作a(t)后,即完成当前时隙的SFC部署,系统会得到一个立即回报Rt:
Rt=-(τ1(t)+τ2(t)+τ3(t))
所述MDP中的状态和动作空间连续,因此假设动作a(t)来自于一个随机策略π(a|s)=Pr(a(t)=a|s(t)=s),它代表了从状态到采取动作概率的映射。当学习过程收敛时,在特定状态下选择特定动作的机率比其他动作大得多,即当环境处于某个队列长度和数据包到达率状态时,系统能够根据策略能够选择特定的VNF放置方式和资源分配方案。从长远来看,整个系统的平均时延趋于最优。解决MDP的方法有很多,比如动态规划,但是这些方法很大程度上都依赖于环境动态变化的先验知识,然而要提前精确获知未来系统的队列长度和数据包到达率很困难,因此采用无需先验知识的A-C学习方法来解决MDP问题,其随机策策略通过与环境交互学习得到。
在步骤S3中,所述基于A-C学习的SFC部署算法,结合步骤S2建立的MDP过程,转化得到A-C学习的目标,即寻找一个策略π,最大化下述目标函数:
然后,在演员过程中采用参数向量θ=(θ1,θ2,...θn)T构建随机参数化策略,计算策略梯度并根据环境中的队列长度和数据包到达情况生成SFC部署动作。而后,评论家过程中根据执行部署动作后从环境中获得的时延奖励对当前策略进行评判,通过时间差分(TemporalDifference,TD)误差更新值函数。在评论家完成值函数近似和参数更新后,演员使用评论家的输出更新其策略,以选择所获奖励更多的动作。评论家的输出与TD误差成正比,这个误差即代表当前状态执行某一动作后的结果是比预期好还是坏,从而对演员和评论家部分进行相应调整,以最大限度减少误差。其中,演员过程中,目标函数J(πθ)的局部最大值通过梯度上升法得到,对参数的策略梯度更新表示为评论家过程中,采用梯度下降法近似真实值函数并在梯度方向上不断更新近似值:δt=Rt+1+βQω(s(t+1),a(t+1))-Qω(s(t),a(t)),Δω=εc,tδtΨ(s,a)。
在步骤S4中,所述基于迁移A-C学习的SFC部署算法,在步骤S3所述A-C算法中引入迁移学习的思想,考虑利用源任务学习到的SFC部署策略知识来快速寻找目标任务中时延最优的SFC部署策略。一个A-C学习任务的最终策略πθ(s,a)=Pr(a|s,θ),代表在状态s下选择动作a的概率,这样的一个学习策略是适应当前环境和部署任务的,现在考虑将该部署策略的参数知识θ=(θ1,θ2,...θn)T迁移到其他相似目标学习任务上,使得目标任务能够较快收敛而不是从零开始学习。基于以上考虑,提出了一种新的策略更新方式:
即整体策略分为本地策略和外来策略其中,为迁移率,为迁移率因子,即当t→∞,ζ(t)→0。学习回合刚开始阶段,外来策略在整体策略中占主导地位。外来策略的存在促使系统选择某个动作,它可能是源任务中状态s的最优动作。而随着时间的推移,迁移的外来策略对整体策略的影响逐渐减小。系统不仅可以利用在源任务中学习到的经验知识,而且可以逐渐消除外来策略的负影响。
图1是可应用本发明实施的场景示意图。首先,在NFV框架下,网络中的各协议层功能可在通用服务器上被虚拟化为不同的VNF,并共享网络基础设施资源。其次,5GC-RAN架构采用DU和CU独立部署的方式,通常一个虚拟DU或CU中包含有一个或多个VNF。针对不同的NS服务,系统可为其实例化多种虚拟DUs和CUs,从而形成DU池和CU池,两者之间通过下一代前传网络接口(NextGenerationFronthaulInterface,NGFI)进行数据传输。如:用户终端产生一系列网络切片请求,每个切片中可能包含有多条SFC,代表来自不同用户的同一类型的网络业务请求。系统将对当前时隙内的多条SFC进行灵活的VNF放置。如图1所示,在上行条件下,切片1将VNF1和VNF2实例化在DU池中,而切片2和切片3只将VNF1实例化在DU池,其他VNF均放置在CU池中。同一系统中采用不同的VNF放置方式可以更合理地分配底层物理网络的资源,适应当前的队列状态以及业务数据包到达情况,有效地降低端到端时延从而提升用户体验。
图2是本发明中的接入网VNF部署方式。在上行条件下的C-RAN架构中,接入网侧的SFC可以灵活在CU和DU上部署VNF,所以接入网VNF有多种部署方式。接入网切片一旦选择某种VNF放置方式,即意味着SFC部署在CU池和DU池的VNF数量确定,基于此,再进行VNF放置节点的选择以及DU池、CU池的计算资源和链路资源分配。此外,根据3GPP不同的VNF放置方式对SFC在DU池和CU池之间的最大可容忍NGFI传输时延要求不同,具体来说方式1的最大可容忍时延为10ms,方式2、3为1.5—10ms,方式4约为100us,方式5约为几百微秒,方式6、7、8为250us,因此放置方式还会影响SFC的NGFI带宽资源分配。
图3是本发明中迁移A-C学习框架图。首先对于传统A-C学习,它结合了策略方案和值函数方案,算法框架如图3(a)所示。A-C算法包括三个部分:演员、评论家和环境。其中演员用来定义随机参数化策略,并根据环境中的队列长度和数据包到达情况生成SFC部署动作,而后评论家根据执行部署动作后从环境中获得的时延奖励对当前策略进行评判,并通过TD误差更新值函数。在评论家部分完成值函数近似和参数更新后,演员使用评论家的输出更新其策略,以选择所获奖励更多的动作。评论家的输出与TD误差成正比,这个误差即代表当前状态执行某一动作后的结果是比预期好还是坏,从而对演员和评论家部分进行相应调整,以最大限度减少误差。进一步,考虑一个系统中不同时段的SFC部署任务不尽相同,如目标任务中的整体SFC到达率高于源任务,因此源任务学习到的部署策略不能完全适用于目标任务,需要重新进行训练寻找适合目标任务的部署策略。如图3(b)所示,为了加速A-C学习在该相似环境和学习任务的收敛过程,将源任务中学习的部署策略参数知识作为外来策略,再与本地随机策略结合形成迁移A-C学习中的整体策略,进行策略梯度更新。
图4是本发明中基于迁移A-C学习的SFC部署算法流程。步骤如下:
步骤401:生成DU池和CU池的物理网络拓扑,节点的计算资源和链路的带宽资源随机分布;同时生成多个不同类型的切片网络;
步骤402:输入高斯策略πθ(s,a)~N(μ(s),σ2),梯度状态分布dπ(s),演员学习率εa,t和评论家学习率εc,t,折扣因子β
步骤403:若设置学习回合未结束,执行下述步骤:
步骤404:初始化策略参数向量θt,状态-动作值函数参数向量ωt,状态值函数参数向量υt,初始状态s0~dπ(s),本地策略外来迁移策略
步骤405:若该学习回合的设置步数还未结束,执行下述步骤:
步骤406:结合外来策略和本地策略得到整体策略,遵循整体策略πθ(s,a)选择动作a(t),更新环境状态s(t+1),得到立即时延奖励Rt=-τ(t);
步骤407:执行评论家过程,计算相容特征,相容值函数近似,计算TD误差;
步骤408:更新评论家参数ωt,υt;
步骤409:执行演员过程,计算优势函数,重写策略梯度;
步骤410:更新演员参数θt。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。