CN110134493B - 一种基于资源碎片避免的服务功能链部署算法 - Google Patents

一种基于资源碎片避免的服务功能链部署算法 Download PDF

Info

Publication number
CN110134493B
CN110134493B CN201910367967.6A CN201910367967A CN110134493B CN 110134493 B CN110134493 B CN 110134493B CN 201910367967 A CN201910367967 A CN 201910367967A CN 110134493 B CN110134493 B CN 110134493B
Authority
CN
China
Prior art keywords
physical
resource
link
nodes
virtual
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.)
Expired - Fee Related
Application number
CN201910367967.6A
Other languages
English (en)
Other versions
CN110134493A (zh
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.)
Xian University of Posts and Telecommunications
Original Assignee
Xian University of Posts and Telecommunications
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 Xian University of Posts and Telecommunications filed Critical Xian University of Posts and Telecommunications
Priority to CN201910367967.6A priority Critical patent/CN110134493B/zh
Publication of CN110134493A publication Critical patent/CN110134493A/zh
Application granted granted Critical
Publication of CN110134493B publication Critical patent/CN110134493B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于资源碎片避免的服务功能链部署算法,使用资源碎片度度量底层网络物理节点和链路的资源碎片状态,并将资源碎片度最小化作为优化目标;将遗传算法中个体染色体的适应度函数值作为空间解好坏的标准,使用融合模拟退火的遗传算法完成虚拟网络功能的映射;使用改进的迪杰斯特拉算法完成虚拟链路的映射。本发明在减少底层网络资源碎片的产生以提高物理资源的利用率,同时提高SFC的映射成功率。

Description

一种基于资源碎片避免的服务功能链部署算法
技术领域
本发明涉及一种SFC部署算法,具体涉及一种基于资源碎片避免的服务功能链部署算法。
背景技术
随着网络和计算技术的快速发展,各种新颖的硬件设备和应用软件层出不穷,用户对更加多样化和高数据率的服务需求持续增加,网络运营商必须扩大提供服务的数量和种类以应对网络用户规模的不断增大。因此,电信运营商必须持续地购买,存储和操作新的物理设备来满足服务需求,这不仅要求操作和管理该设备的技术人员具有娴熟的技能和快速的适应能力,而且通过不断增加新的设备来部署新的网络功能大大增加了运营商的资金支出(Capital Expenditure,CAPEX)和运营成本支出(Operating Expenditure,OPEX)。
网络服务(Network Service,NS)的传统部署需要根据中间件编排引导数据流量通过一组固定的专用设备,每个中间件设备根据自己提供的功能类型来对数据进行相应的处理。然而,传统的服务部署仍然存在着灵活性和扩展性较差等缺陷,当某些设备发生故障时无法将当前的网络功能迁移到其它设备上,随着时间的推移在不断变化的网络条件下改变这些硬件的位置变得非常昂贵且不切实际。此外,尽管需要更多新的网络功能但很难引入新服务,因为每个服务都嵌入在特定的路由器或交换机中。如果要实现一系列服务功能,就必须重新设计一个用于分配路由器和交换机的系统。更糟糕的是,为每个特定功能部署特定硬件是昂贵且不灵活的。
网络功能虚拟化是一种将网络功能的软件实现与底层硬件分离的新型网络体系架构。欧洲电信标准协会(European Telecommunications Standards Institute,ETSI)正在联合37个全球主要服务提供商将其标准化。在NFV中,利用标准IT虚拟化技术将所有当前的网络功能整合到可位于网络任何位置的大容量服务器,交换机和存储设备中,这意味着可以将网络功能如防火墙作为普通软件的实例发送到电信运营商。这样,给定的服务可以分解为一组虚拟网络功能,然后可以在一个或多个行业标准物理服务器上运行的软件中实现,也可以在不同的网络位置重新定位和实例化VNF(例如,旨在引入针对给定地理位置的客户的服务),而且不一定需要购买和安装新硬件。总之,使用NFV技术提供网络服务主要存在以下三方面的优势:
(1)软硬件解耦:通过虚拟化技术实现网络功能使软硬件得以分离,软件与硬件不再相互依赖彼此可独立发展,这允许两者的开发与维护可以保持不同的时间周期。
(2)网络功能的灵活部署:由于软件与硬件不再紧耦合,传统专用的硬件设备被通用服务器所取代,因此当需要部署新的服务时只需要在服务器上部署新的虚拟网络功能即可。此外,当物理节点发生故障时,可以将网络功能迁移部署到其它物理节点上,并且重新设置网络功能之间的连接。这种方式使得服务部署更加灵活,更加动态。
(3)动态扩展:将网络功能解耦为为可实例化的软件组件,可以以更灵活、更动态的方式扩展实际的VNF性能,并且可以实现更细粒度的流量控制。
在NFV生态系统中,网络服务通过定义以下因素来构建和部署在NFV中:VNF的数量,它们在链中的各自顺序以及网络功能拟化基础设施(Network FunctionVirtulization Infrastructure,NFVI)中的服务功能链的分配。部署NFV的主要挑战之一是实现网络服务的快速可扩展、动态组合和分配。然而,由于服务提供需要一组VNF,所以在NFV中实现有效的服务协调和管理便遇到了两个挑战:1)如何为确定的服务需求组合VNF;2)如何有效地将服务中的VNF分配和调度到底层网络(Substrate Network,SN)上。因此,寻找一种高效的SFC构建和映射的策略,将能够显著降低运营商的资金投入,并且能够根据实际需求部署特殊的服务实例,根据实时请求动态迁移、复制和删除,提高网络的灵活性和可扩展性以及提高底层物理网络资源的利用率。
服务功能链的编排实质上是NFV资源分配(Network Function VirtualizationResource Allocation,NFV-RA)。编排器进行资源分配主要包括三个阶段:服务功能链的构建、服务功能链的映射和虚拟网络功能调度。服务功能链的映射阶段主要考虑节点和链路的虚拟资源分配,它是一种优化问题并且已经被证明是NP-hard问题。在完成服务功能链的映射之后,一些剩余的物理资源可能会碎片化,导致底层网络中一部分物理节点和链路过载而其余部分却是空闲状态,甚至产生即使有足够的物理资源但是一些SFC请求仍然会被拒绝的现象。
经典的遗传算法是模拟达尔文的自然选择学说和自然界生物进化过程的一种计算模型,它将要解决的问题模拟成一个生物进化的过程。它采用简单的编码技术来表示各种复杂的结构,并通过对一组编码表示进行简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索的方向。遗传算法中的每一个染色体都对应问题的一个解,一组染色体则构成一个种群。从初始种群出发,采用相应的选择策略在当前种群中选择个体,使用杂交和变异来产生下一代种群,并逐步淘汰掉适应度函数值低的解,增加适应度函数值高的解。这样进化N代后就很有可能会进化出适应度函数值很高,直到满足期望的终止条件为止。
遗传算法是一种自适应全局优化概率搜索算法,能够有效地解决组合优化问题。但是遗传算法的杂交和遗传算子都是在一定概率的条件下,随机地、没有指导地迭代搜索;因此它们在为群体中的个体提供进化机会的同时,也不可避免地产生了退化的可能。由于不能保持群体的多样性,而容易出现早熟收敛的现象。
发明内容
本发明的目的在于提供一种基于资源碎片避免的服务功能链部署算法。
为实现上述目的,本发明采用如下的技术方案:
一种基于资源碎片避免的服务功能链部署算法,包括如下步骤:
1)采用资源碎片度度量底层网络物理节点和链路的资源碎片状态,并将资源碎片度最小化作为优化目标;
2)将遗传算法中个体染色体的适应度函数值作为空间解好坏的标准,使用融合模拟退火的遗传算法完成虚拟网络功能的映射;
3)采用改进的迪杰斯特拉算法完成虚拟链路的映射。
本发明进一步的改进在于,步骤1)中,优化目标的目标函数通过以下过程得到:
1.1)底层网络用带权无向图Gs(Ns,Es)来表示,其中Ns代表底层网络物理节点的集合,Es代表物理链路的集合;如果物理节点n∈Ns与m∈Ns之间存在端到端的连接则说明存在物理链路enm∈Es;用CS(n)表示物理节点n可用的计算资源也即部署在节点n上的虚拟机可用资源之和,BS(enm)表示物理链路enm可用的带宽资源;用|NS|和|ES|分别表示物理节点和物理链路的数目;
1.2)服务功能链请求用有向图Gv(Nv,Ev)来表示,其中Nv表示服务功能链的VNF节点集合,Ev表示服务功能链的虚拟链路集合;enm∈Ev表示VNF n∈Nv到VNF m∈Nv的一条虚拟链路;用Cv(n)表示虚拟节点n的计算资源需求,Bv(enm)表示虚拟链路enm的带宽资源需求;用|Nv|和|Ev|分别用来表示虚拟节点和虚拟链路的数目;
定义
Figure BDA0002048862620000051
表示物理节点ni∈Ns的CPU计算资源剩余率,
Figure BDA0002048862620000052
表示物理链路ej∈Es的带宽资源剩余率,
Figure BDA0002048862620000053
分别用来表示VNF n'∈Nv是否已经被映射到物理节点ni∈Ns和虚拟链路e'∈Ev是否已经被映射到物理链路ej∈Es
Figure BDA0002048862620000054
Figure BDA0002048862620000055
定义
Figure BDA0002048862620000056
表示物理节点ni∈Ns的相邻节点数,
Figure BDA0002048862620000057
表示物理链路e'∈Ev的相邻链路数,
Figure BDA0002048862620000058
表示两物理节点ni和nj之间链路的剩余带宽资源率,
Figure BDA0002048862620000059
表示两物理链路ei与ej相交节点的剩余计算资源率;
定义物理节点的连通性影响矢量λn如下:
Figure BDA00020488626200000510
定义邻接矩阵Me表示链路与相邻节点的连通能力,邻接矩阵Me如(4)式所示;由(3)式和(4)式得到物理节点的连通矢量kn,如(5)式所示;
Figure BDA00020488626200000511
kn=λn*Me (5)
(5)式中物理节点的连通矢量
Figure BDA0002048862620000061
定义Mn表示物理节点与相邻链路的连通能力:
Figure BDA0002048862620000062
进一步得到物理链路的连通矢量ke表达式如下:
ke=λe*Mn (7)
上式中
Figure BDA0002048862620000063
定义物理节点的连通矢量kn、物理链路的连通矢量ke表示物理节点和链路的RFD矢量,由物理节点ni的资源碎片度
Figure BDA0002048862620000064
和物理链路ei的资源碎片度
Figure BDA0002048862620000065
得物理节点ni和链路ei的RFD表达式如下;
Figure BDA0002048862620000066
Figure BDA0002048862620000067
1.3)在满足部署约束的条件下,使底层网络产生的资源碎片最小化,由资源碎片度得到目标函数如(10)式所示,式中Rs(ni)、Rs(ej)分别为物理节点ni的剩余计算资源、物理链路ej的剩余带宽资源:
Figure BDA0002048862620000068
约束条件:
底层网络需要满足虚拟节点的计算资源以及虚拟链路的带宽资源需求:
Figure BDA0002048862620000069
Figure BDA00020488626200000610
服务功能链中的每个VNF只能被映射一次:
Figure BDA0002048862620000071
为了满足流量守恒约束以确保服务功能链的连续性,得到链路映射约束条件:
Figure BDA0002048862620000072
本发明进一步的改进在于,步骤1.3)中,对于某一物理节点ni∈Ns,当其相邻节点和链路的剩余资源率都为0时,该节点的连通值将达到最低值为0。
本发明进一步的改进在于,步骤2)的具体过程如下:
(1)初始化进化代数g,初始温度T0,温度衰减参数α,每个温度T值的迭代次数L,随机选择初始种群中的个体染色体作为初始节点,同时映射相邻节点之间的虚拟链路,将初始解按目标函数进行适应度函数值计算,得到父代种群的适应度函数值fold
(2)通过交叉操作和变异操作生成子代种群,并得到子代种群的适应度函数值fnew
(3)将子代种群与父代种群中的个体进行比较,计算增量Δf=fnew-fold
(4)根据模拟退火算法的Metropolis准则,若Δf<0则接受子代种群的个体,并以子代种群的个体替代父代种群中对应的旧个体,否则以概率exp(-Δf/T)接受子代种群的个体;
(5)进化代数g=g+1,若达到最大迭代次数L,则进行步骤(6),若没有则返回到步骤(2);
(6)若温度T值未达到最低温度Tmin,则令T=αT,重置迭代数并返回到步骤(2);若温度T值达到最低温度Tmin,则输出最优解,根据最优解完成虚拟网络功能的映射。
本发明进一步的改进在于,步骤(1)中,染色体X={X1,X2,...Xj,...Xn}表示服务功能链请求当中共包含n个VNF,基因Xi表示第j个VNF部署在第Xj个物理节点上,该物理节点需要满足VNF计算资源需求。
本发明进一步的改进在于,步骤(2)中,交叉操作的过程如下:
采用自适应的交叉概率公式,设fmax表示最差个体的适应度值,
Figure BDA0002048862620000081
代表所有个体的平均适应度值,k1<k2且都为常数,即交叉概率Pc
Figure BDA0002048862620000082
根据交叉概率Pc进行单点交叉算子操作,随机选择两个SFC的部署序列,在部署序列中随机选择某个物理节点的位置作为交叉点,根据交叉点的位置交换两个部署序列的第一部分或者第二部分构造新的部署方案,若新的部署方案满足节点映射约束则接受,否则抛弃重新选择个体进行交叉操作。
本发明进一步的改进在于,步骤(2)中,变异操作的过程如下:
采用多点变异的方式作为变异算子,在已经存在的SFC部署序列中随机选择若干位置作为变异点,每个变异点根据变异概率Pm决定是否用VNF待选物理节点集合中的其他物理节点进行替换,从而产生新的部署方案。
本发明进一步的改进在于,变异概率Pm同样采用自适应的计算方式,计算公式如下:
Figure BDA0002048862620000083
上式中f′为变异个体的适应度值,k3<k4且都为常数。
本发明进一步的改进在于,步骤3)的具体过程为:将物理链路剩余带宽资源的倒数作为权值计算,对于倒数和相同的物理路径,则选择跳数最小的物理路径进行虚拟链路映射。
与现有技术相比,本发明具有的有益效果:
传统的遗传算法容易出现早熟收敛现象,因此本发明使用模拟退火算法对遗传算法进行改进,扩大遗传算法的搜索领域,避免其陷入局部最优。模拟退火算法思想来源于固体退火原理,虽然它也是一种贪心策略,但是在搜索的过程中引入了随机因素,当得到的新解的适应度值更优时则接受,如果新解的适应度值更差时则以一定的概率接受,因此有可能跳出局部最优而获得全局最优解。仿真结果表明,与现有的部署算法相比,本发明所提算法可以有效的减少底层网络资源碎片的产生,并提高服务功能链的请求接受率以及物理资源的利用率,同时提高SFC的映射成功率,更能适应大规模网络场景。
进一步的,针对现有的多数服务功能链部署方案没有考虑底层网络会产生资源碎片的问题,本发明使用资源碎片度的概念去度量物理节点和链路的资源碎片状态,并以资源碎片度最小化为优化目标,设计了一种基于遗传模拟退火算法的启发式服务功能链部署方案,以达到有效的减少底层网络资源碎片产生的效果,实现资源的高效利用并提高服务功能链的请求接受率。
进一步的,服务功能链的部署已经被证明是NP-Hard问题,通过线性规划求解时间复杂度过高,不能应用于实际网络规模较大的场景,多数情况下是通过启发式或元启发式方案求解。由于传统的遗传算法容易出现早熟收敛现象,因此发明提出基于遗传模拟退火的启发式服务功能链部署方案,使用模拟退火算法对遗传算法进行改进,扩大遗传算法的搜索领域,避免其陷入局部最优。
附图说明
图1为基于资源碎片避免的SFC部署算法流程图。
图2为不同服务请求强度下三种算法的请求接受率对比曲线。
图3为不同服务请求强度下三种算法的物理节点RFD值对比曲线。
图4为不同服务请求强度下三种算法的物理链路RFD值对比曲线。
具体实施方式
下面结合附图及实施例对本发明做进一步详细描述。
参见图1,本发明基于资源碎片避免的SFC部署算法步骤:
1)使用资源碎片度度量底层网络物理节点和链路的资源碎片状态,并将资源碎片度最小化作为优化目标;
2)将遗传算法中个体染色体的适应度函数值作为空间解好坏的标准,适应度函数值越高(或越低)解向量越好,在迭代后适应度值最高(或最低)代表该个体为全局最优解。同时引入模拟退火算法改进传统遗传算法容易陷入局部最优的缺陷,使用融合模拟退火的遗传算法完成虚拟网络功能的映射;
3)使用改进的迪杰斯特拉算法完成虚拟链路的映射,将物理链路剩余带宽资源的倒数作为权值计算,对于倒数和相同的物理路径,则选择跳数最小的进行虚拟链路映射。
本发明具体的步骤如下:
(1)底层网络
底层网络用带权无向图Gs(Ns,Es)来表示,其中Ns代表底层网络物理节点的集合,Es代表物理链路的集合。每个物理节点可以部署多个不同类型的虚拟机,不同类型的虚拟机支持不同类型的VNF部署。如果物理节点n∈Ns与m∈Ns之间存在端到端的连接则说明存在物理链路enm∈Es。用CS(n)表示物理节点n可用的计算资源也即部署在节点n上的虚拟机可用资源之和,BS(enm)表示物理链路enm可用的带宽资源。同时用|NS|和|ES|分别表示物理节点和物理链路的数目。
(2)服务功能链请求
服务功能链请求用有向图Gv(Nv,Ev)来表示,其中Nv表示服务功能链的VNF节点集合,Ev表示服务功能链的虚拟链路集合。enm∈Ev表示VNF n∈Nv到VNF m∈Nv的一条虚拟链路。用Cv(n)表示虚拟节点n的计算资源需求,Bv(enm)表示虚拟链路enm的带宽资源需求。同时用|Nv|和|Ev|分别用来表示虚拟节点和虚拟链路的数目。
(3)定义资源碎片度
本发明使用资源碎片度的概念去度量物理节点和链路的资源碎片状态,对于某一物理节点(或链路)的连通性由相邻节点或链路的剩余资源率决定。通过对节点和链路连通性的进一步分析可以得到相应的RFD表达式。
1)定义
Figure BDA0002048862620000111
表示物理节点ni∈Ns的CPU计算资源剩余率,
Figure BDA0002048862620000112
表示物理链路ej∈Es的带宽资源剩余率,
Figure BDA0002048862620000113
分别用来表示VNF n'∈Nv是否已经被映射到物理节点ni∈Ns和虚拟链路e'∈Ev是否已经被映射到物理链路ej∈Es
Figure BDA0002048862620000114
Figure BDA0002048862620000115
2)定义
Figure BDA0002048862620000116
表示物理节点ni∈Ns的相邻节点数,
Figure BDA0002048862620000117
表示物理链路e'∈Ev的相邻链路数,
Figure BDA0002048862620000118
表示两物理节点ni和nj之间链路的剩余带宽资源率,
Figure BDA0002048862620000119
表示两物理链路ei与ej相交节点的剩余计算资源率。
定义物理节点的连通性影响矢量λn如下:
Figure BDA0002048862620000121
定义邻接矩阵Me表示链路与相邻节点的连通能力,邻接矩阵Me如(4)式所示。由(3)式和(4)式可以得到物理节点的连通矢量kn如(5)式所示。对于某一物理节点ni∈Ns当其相邻节点和链路的剩余资源率都为0时,该节点的连通值将达到最低值为0。
Figure BDA0002048862620000122
kn=λn*Me (5)
(5)式中
Figure BDA0002048862620000123
类似情况可定义Mn表示物理节点与相邻链路的连通能力:
Figure BDA0002048862620000124
进一步可得物理链路的连通矢量ke表达式如下:
ke=λe*Mn (7)
上式中
Figure BDA0002048862620000125
定义物理节点的连通矢量kn、物理链路的连通矢量ke表示物理节点和链路的RFD矢量,由节点的资源碎片度rn和链路的资源碎片度re可得物理节点ni和链路ei的RFD表达式如下;
Figure BDA0002048862620000126
Figure BDA0002048862620000127
由物理节点和链路的RFD的表达式可以发现当随着相邻节点或者链路的剩余资源率的降低,物理节点或者链路的RFD逐渐增大,其取值范围为0到1。
(4)确定目标函数及条件约束
1)目标函数:算法优化的主要目标是在满足部署约束的条件下,使底层网络产生的资源碎片最小化。由资源碎片度的定义可以得到目标函数如(10)式所示,式中Rs(ni)、Rs(ej)分别为物理节点ni的剩余计算资源、物理链路ej的剩余带宽资源:
Figure BDA0002048862620000131
2)约束条件:
底层网络需要满足虚拟节点的计算资源以及虚拟链路的带宽资源需求:
Figure BDA0002048862620000132
Figure BDA0002048862620000133
服务功能链中的每个VNF只能被映射一次:
Figure BDA0002048862620000134
为了满足流量守恒约束以确保服务功能链的连续性,可得到链路映射约束条件:
Figure BDA0002048862620000135
(5)遗传参数设计
1)染色体编码与初始种群:采用自然数编码,染色体X={X1,X2,...Xj,...Xn}表示服务功能链请求当中共包含n个VNF,基因Xj表示第j个VNF部署在第Xj个物理节点上,该物理节点需要满足VNF计算资源需求。
例如当某次服务功能链请求当中包含5个VNF,物理节点数量为10,编码将产生一个长度为5的序列。设序列为{1,2,2,5,8},服务功能链中的VNF在满足依赖性的情况下依次部署在编码序列对应的物理节点上。初始种群通过随机的方式产生,对于每一个VNF使用广度优先搜索遍历底层网络产生待选物理节点集合,集合中的物理节点需要满足VNF的计算资源需求,再随机选择集合中的物理节点构造初始种群。
2)选择:采用比例选择算子的方式,每个个体的生存概率由该个体的适应度值占种群所有个体适应度值之和的比例来确定。由于本发明的适应度函数值是要求越小越优,因此可以得到选择概率计算公式:
Figure BDA0002048862620000141
上式中Fi表示个体i对应的选择概率,fi表示个体i对应的适应度函数值,M为种群规模的大小。适应度函数值越小表示VNF的部署方案越优。
3)交叉:本发明选用单点交叉的策略。交叉概率Pc的合理选择对遗传算法的收敛性有着重要的影响。采用自适应的交叉概率公式,设fmax表示最差个体的适应度值,
Figure BDA0002048862620000142
代表所有个体的平均适应度值,k1<k2且都为常数,即:
Figure BDA0002048862620000143
根据交叉概率Pc进行单点交叉算子操作,随机选择两个SFC的部署序列,在部署序列中随机选择某个物理节点的位置作为交叉点,根据交叉点的位置交换两个部署序列的第一部分或者第二部分构造新的部署方案,若新的部署方案满足节点映射约束则接受否则抛弃重新选择个体进行交叉操作。
4)变异:采用多点变异的方式作为变异算子,在已经存在的SFC部署序列中随机选择若干位置作为变异点,每个变异点根据变异概率Pm决定是否用VNF待选物理节点集合中的其他物理节点进行替换,从而产生新的部署方案。变异概率Pm的合理选择对遗传算法的收敛性影响与交叉概率类似,取值过小不易产生新的个体而过大则变成纯粹的随机搜索。因此变异概率Pm同样采用自适应的计算方式,计算公式如下:
Figure BDA0002048862620000151
上式中f'为变异个体的适应度值,k3<k4且都为常数。
(6)模拟退火参数设计
1)初始温度及退温:初始温度T0一般设置的足够大,避免算法陷入局部最优,退温函数通常以tk=αtk-1的指数形式衰减,其中系数α为略小于1的值,通过调节α可以控制降温的快慢,每个温度下最大循环次数为gmax
2)状态接收规则:将新种群的个体与父代中的个体进行比较,并由Metropolis接受准则确定是否接受新的个体,接受概率P表达式如下所示:
Figure BDA0002048862620000152
上式中Δf=fnew-fold,exp为自然指数,T为温度参数值,判断子代种群个体适应度值是否低于父代种群个体的适应度值,若低于则接受子代个体并替换对应的父代个体;否则产生一个[0,1]之间的随机数,随机数值小于exp(-Δf/T)则接受新个体否则拒绝。
(7)虚拟链路映射
种群中的个体代表了VNF的部署结果。对于虚拟链路的映射,构建满足带宽约束和流量守恒约束的物理路径集合,在集合中使用改进的迪杰斯特拉算法(Dijkstra)选择资源充足并且物理节点跳数较小的路径。如果用物理链路的剩余带宽资源作为权值计算,将会导致算法选择剩余带宽资源较低而不是资源充足的路径,这种选择机制会破坏底层网络带宽资源的均衡性,加重资源碎片的产生。因此将物理链路剩余带宽资源的倒数作为权值计算,对于倒数和相同的物理路径,则选择跳数最小的进行虚拟链路映射。
具体的,确定目标函数和约束条件后,参见图1,进行如下步骤:
(1)初始化进化代数g,初始温度T0,温度衰减参数α,每个温度T值的迭代次数L,随机选择初始种群中的个体染色体作为初始节点部署方案,同时映射相邻节点之间的虚拟链路,将初始解按目标函数进行适应度函数值计算,得到父代种群的适应度函数值fold
(2)通过交叉操作和变异操作生成子代种群,并得到子代种群的适应度函数值fnew
(3)将子代种群与父代种群中的个体进行比较,计算增量Δf=fnew-fold
(4)根据模拟退火算法的Metropolis准则,若Δf<0则接受子代种群的个体,并以子代种群的个体替代父代种群中对应的旧个体,否则以概率exp(-Δf/T)接受子代种群的个体;
(5)进化代数g=g+1,若达到最大迭代次数L,则进行步骤(6),若没有则返回到步骤(2);
(6)若温度T值未达到最低温度Tmin,则令T=αT,重置迭代数并返回到步骤(2);若温度T值达到最低温度Tmin,则输出最优解,根据最优解完成虚拟网络功能的映射。
使用改进的迪杰斯特拉算法完成虚拟链路的映射:将物理链路剩余带宽资源的倒数作为权值计算,对于倒数和相同的物理路径,则选择跳数最小的物理路径进行虚拟链路映射。从而完成最优的服务功能链部署。
下面为仿真实施例:
本发明主要采用服务请求接受率,物理节点和链路的RFD值及算法执行时间作为验证算法的性能评价指标,并与传统的遗传算法(GA)和Viterbi算法进行比较分析。
参见图2,表示固定SFC请求大小为5的情况下,服务请求接受率随着请求强度增大的变化情况。由图可知当服务请求强度大于100时,本发明算法的请求接受率分别比GA算法和Viterbi算法平均要高10%和20%以上。三种算法都是基于启发式的部署策略,能够应对大规模的网络场景,但是随着服务请求强度的逐渐增大底层物理资源逐渐减少,算法请求接受率都呈下降趋势。由于在仿真实验中将本发明算法与GA算法的优化目标都设为最小化RFD值,相比于Viterbi算法资源利用效率更高,而本发明提出的改进遗传算法能够更加有效的减少底层物理资源碎片的产生,资源利用率进一步得到提高,因此请求接受率高于其他两种算法
参见图3和图4,表示固定SFC请求大小为5的情况下,RFD值随着服务请求强度增大的变化情况。由于基于Viterbi算法的部署方案并没有考虑到底层物理资源碎片产生的情况,因此随着请求到达强度增加产生的资源碎片最多。传统的遗传算法具有容易陷入早熟收敛的缺陷,因此本发明提出融合模拟退火的遗传算法,根据Metropolis接受准则以一定的概率接受较差的解,避免算法陷入局部最优,并且利用改进的迪杰斯特拉算法选择虚拟链路的映射路径,即使两种算法都以最小化资源碎片为优化目标,本发明的算法也能够更加有效的降低SFC部署时底层网络产生的资源碎片。
本发明主要用来求解当前网络功能虚拟化(Network Function Virtualization,NFV)环境下服务功能链(Service Function Chain,SFC)的构建和映射问题。NFV通过将传统的网络功能以软件的形式实现,使得网络功能的部署与传统的专用硬件分离。服务的提供要求数据流量由一组有序的网络功能序列来处理,而这样的一组网络功能序列也被成为服务功能链。因此,寻找一种高效的SFC构建和映射的策略,是NFV的一个研究热点。针对现有的多数服务功能链部署方案没有考虑底层网络会产生资源碎片的问题,本发明使用资源碎片度的概念去度量物理节点和链路的资源碎片状态,并以资源碎片度最小化为优化目标,设计了一种基于遗传模拟退火算法的启发式服务功能链部署方案,以达到有效的减少底层网络资源碎片产生的效果,实现资源的高效利用并提高服务功能链的请求接受率。
服务功能链的部署已经被证明是NP-Hard问题,通过线性规划求解时间复杂度过高,不能应用于实际网络规模较大的场景,多数情况下是通过启发式或元启发式方案求解。由于传统的遗传算法容易出现早熟收敛现象,因此发明提出基于遗传模拟退火的启发式服务功能链部署方案,使用模拟退火算法对遗传算法进行改进,扩大遗传算法的搜索领域,避免其陷入局部最优。
本发明针对现有的多数服务功能链部署方案没有考虑底层网络会产生资源碎片的情况,以经典的遗传算法为基础,提出了资源碎片度的概念去度量物理节点和链路的资源碎片状态,并以资源碎片度最小化为优化目标,对传统遗传算法的染色体编码、交叉、变异操作进行了重新定义,设计了一种改进遗传模拟退火算法的启发式服务功能链部署方案,该方案基于资源碎片避免的算法来求解NFV环境中服务功能链的部署问题,可以有效的减少底层网络资源碎片的产生,并提高服务功能链的请求接受率。

Claims (8)

1.一种基于资源碎片避免的服务功能链部署算法,其特征在于,包括如下步骤:
1)采用资源碎片度度量底层网络物理节点和链路的资源碎片状态,并将资源碎片度最小化作为优化目标;
2)将遗传算法中个体染色体的适应度函数值作为空间解好坏的标准,使用融合模拟退火的遗传算法完成虚拟网络功能的映射;
3)采用改进的迪杰斯特拉算法完成虚拟链路的映射;
其中,步骤1)中,优化目标的目标函数通过以下过程得到:
1.1)底层网络用带权无向图Gs(Ns,Es)来表示,其中Ns代表底层网络物理节点的集合,Es代表物理链路的集合;如果物理节点n∈Ns与m∈Ns之间存在端到端的连接则说明存在物理链路enm∈Es;用CS(n)表示物理节点n可用的计算资源也即部署在节点n上的虚拟机可用资源之和,BS(enm)表示物理链路enm可用的带宽资源;用|NS|和|ES|分别表示物理节点和物理链路的数目;
1.2)服务功能链请求用有向图Gv(Nv,Ev)来表示,其中Nv表示服务功能链的VNF节点集合,Ev表示服务功能链的虚拟链路集合;enm∈Ev表示VNF n∈Nv到VNFm∈Nv的一条虚拟链路;用Cv(n)表示虚拟节点n的计算资源需求,Bv(enm)表示虚拟链路enm的带宽资源需求;用|Nv|和|Ev|分别用来表示虚拟节点和虚拟链路的数目;
定义
Figure FDA0003790970530000011
表示物理节点ni∈Ns的CPU计算资源剩余率,
Figure FDA0003790970530000012
表示物理链路ej∈Es的带宽资源剩余率,
Figure FDA0003790970530000013
分别用来表示VNFn'∈Nv是否已经被映射到物理节点ni∈Ns和虚拟链路e'∈Ev是否已经被映射到物理链路ej∈Es
Figure FDA0003790970530000021
Figure FDA0003790970530000022
定义
Figure FDA0003790970530000023
表示物理节点ni∈Ns的相邻节点数,
Figure FDA0003790970530000024
表示物理链路e'∈Ev的相邻链路数,
Figure FDA0003790970530000025
表示两物理节点ni和nj之间链路的剩余带宽资源率,
Figure FDA0003790970530000026
表示两物理链路ei与ej相交节点的剩余计算资源率;
定义物理节点的连通性影响矢量λn如下:
Figure FDA0003790970530000027
定义邻接矩阵Me表示链路与相邻节点的连通能力,邻接矩阵Me如(4)式所示;由(3)式和(4)式得到物理节点的连通矢量kn,如(5)式所示;
Figure FDA0003790970530000028
kn=λn*Me (5)
(5)式中物理节点的连通矢量
Figure FDA0003790970530000029
定义Mn表示物理节点与相邻链路的连通能力:
Figure FDA00037909705300000210
进一步得到物理链路的连通矢量ke表达式如下:
ke=λe*Mn (7)
上式中
Figure FDA0003790970530000031
定义物理节点的连通矢量kn、物理链路的连通矢量ke表示物理节点和链路的RFD矢量,由物理节点ni的资源碎片度
Figure FDA0003790970530000032
和物理链路ei的资源碎片度
Figure FDA0003790970530000033
得物理节点ni和链路ei的RFD表达式如下;
Figure FDA0003790970530000034
Figure FDA0003790970530000035
1.3)在满足部署约束的条件下,使底层网络产生的资源碎片最小化,由资源碎片度得到目标函数如(10)式所示,式中Rs(ni)、Rs(ej)分别为物理节点ni的剩余计算资源、物理链路ej的剩余带宽资源:
Figure FDA0003790970530000036
约束条件:
底层网络需要满足虚拟节点的计算资源以及虚拟链路的带宽资源需求:
Figure FDA0003790970530000037
Figure FDA0003790970530000038
服务功能链中的每个VNF只能被映射一次:
Figure FDA0003790970530000039
为了满足流量守恒约束以确保服务功能链的连续性,得到链路映射约束条件:
Figure FDA00037909705300000310
2.根据权利要求1所述的一种基于资源碎片避免的服务功能链部署算法,其特征在于:步骤1.3)中,对于某一物理节点ni∈Ns,当其相邻节点和链路的剩余资源率都为0时,该节点的连通值将达到最低值为0。
3.根据权利要求1所述的一种基于资源碎片避免的服务功能链部署算法,其特征在于:步骤2)的具体过程如下:
(1)初始化进化代数g,初始温度T0,温度衰减参数α,每个温度T值的迭代次数L,随机选择初始种群中的个体染色体作为初始节点,同时映射相邻节点之间的虚拟链路,将初始解按目标函数进行适应度函数值计算,得到父代种群的适应度函数值fold
(2)通过交叉操作和变异操作生成子代种群,并得到子代种群的适应度函数值fnew
(3)将子代种群与父代种群中的个体进行比较,计算增量Δf=fnew-fold
(4)根据模拟退火算法的Metropolis准则,若Δf<0则接受子代种群的个体,并以子代种群的个体替代父代种群中对应的旧个体,否则以概率exp(-Δf/T)接受子代种群的个体;
(5)进化代数g=g+1,若达到最大迭代次数L,则进行步骤(6),若没有则返回到步骤(2);
(6)若温度T值未达到最低温度Tmin,则令T=αT,重置迭代数并返回到步骤(2);若温度T值达到最低温度Tmin,则输出最优解,根据最优解完成虚拟网络功能的映射。
4.根据权利要求3所述的一种基于资源碎片避免的服务功能链部署算法,其特征在于:步骤(1)中,染色体X={X1,X2,...Xj,...Xn}表示服务功能链请求当中共包含n个VNF,基因Xj表示第j个VNF部署在第Xj个物理节点上,该物理节点需要满足VNF计算资源需求。
5.根据权利要求3所述的一种基于资源碎片避免的服务功能链部署算法,其特征在于:步骤(2)中,交叉操作的过程如下:
采用自适应的交叉概率公式,设fmax表示最差个体的适应度值,
Figure FDA0003790970530000051
代表所有个体的平均适应度值,k1<k2且都为常数,即交叉概率Pc
Figure FDA0003790970530000052
根据交叉概率Pc进行单点交叉算子操作,随机选择两个SFC的部署序列,在部署序列中随机选择某个物理节点的位置作为交叉点,根据交叉点的位置交换两个部署序列的第一部分或者第二部分构造新的部署方案,若新的部署方案满足节点映射约束则接受,否则抛弃重新选择个体进行交叉操作。
6.根据权利要求3所述的一种基于资源碎片避免的服务功能链部署算法,其特征在于:步骤(2)中,变异操作的过程如下:
采用多点变异的方式作为变异算子,在已经存在的SFC部署序列中随机选择若干位置作为变异点,每个变异点根据变异概率Pm决定是否用VNF待选物理节点集合中的其他物理节点进行替换,从而产生新的部署方案。
7.根据权利要求6所述的一种基于资源碎片避免的服务功能链部署算法,其特征在于:变异概率Pm同样采用自适应的计算方式,计算公式如下:
Figure FDA0003790970530000053
上式中f'为变异个体的适应度值,k3<k4且都为常数。
8.根据权利要求1所述的一种基于资源碎片避免的服务功能链部署算法,其特征在于:步骤3)的具体过程为:将物理链路剩余带宽资源的倒数作为权值计算,对于倒数和相同的物理路径,则选择跳数最小的物理路径进行虚拟链路映射。
CN201910367967.6A 2019-05-05 2019-05-05 一种基于资源碎片避免的服务功能链部署算法 Expired - Fee Related CN110134493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910367967.6A CN110134493B (zh) 2019-05-05 2019-05-05 一种基于资源碎片避免的服务功能链部署算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910367967.6A CN110134493B (zh) 2019-05-05 2019-05-05 一种基于资源碎片避免的服务功能链部署算法

Publications (2)

Publication Number Publication Date
CN110134493A CN110134493A (zh) 2019-08-16
CN110134493B true CN110134493B (zh) 2023-01-10

Family

ID=67576215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910367967.6A Expired - Fee Related CN110134493B (zh) 2019-05-05 2019-05-05 一种基于资源碎片避免的服务功能链部署算法

Country Status (1)

Country Link
CN (1) CN110134493B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995470A (zh) * 2019-11-14 2020-04-10 国网河北省电力有限公司雄安新区供电公司 基于区块链的网络功能分配方法及装置
CN114364027A (zh) * 2020-09-28 2022-04-15 中国移动通信集团河北有限公司 5g网络切片的分配处理方法、装置及计算设备
CN112738820B (zh) * 2020-12-22 2023-04-11 国网北京市电力公司 一种服务功能链的动态部署方法、装置及计算机设备
CN112910693B (zh) * 2021-01-20 2022-07-08 福州大学 基于vnf并置影响分析的sfc部署方法
CN113037811B (zh) * 2021-02-24 2022-07-12 中国联合网络通信集团有限公司 部署策略选择方法及装置
CN113032096B (zh) * 2021-03-17 2023-03-31 西安电子科技大学 一种基于节点重要性与用户需求双感知的sfc映射方法
CN113535381B (zh) * 2021-06-08 2023-09-08 广西综合交通大数据研究院 基于改进遗传算法的服务功能链映射方法、装置及设备
CN113794748B (zh) * 2021-08-03 2022-07-12 华中科技大学 一种性能感知的服务功能链智能部署方法及装置
CN113708972B (zh) * 2021-08-31 2022-06-28 广东工业大学 一种服务功能链部署方法、装置、电子设备及存储介质
CN113904923B (zh) * 2021-09-27 2023-08-22 重庆电子工程职业学院 一种基于软件定义网络的服务功能链联合优化方法
CN115086175B (zh) * 2022-04-26 2023-06-30 北京邮电大学 资源优化的方法及装置
CN115842744B (zh) * 2023-02-21 2023-07-14 中移动信息技术有限公司 节点部署方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322333A (zh) * 2017-12-28 2018-07-24 广东电网有限责任公司电力调度控制中心 一种基于遗传算法的虚拟网络功能的放置方法
CN109582985A (zh) * 2017-09-29 2019-04-05 魏莹 一种改进的遗传退火的片上网络映射方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582985A (zh) * 2017-09-29 2019-04-05 魏莹 一种改进的遗传退火的片上网络映射方法
CN108322333A (zh) * 2017-12-28 2018-07-24 广东电网有限责任公司电力调度控制中心 一种基于遗传算法的虚拟网络功能的放置方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Service Function Chain Mapping with Resource Fragmentation Avoidance;Zhikai Zhu et al.;《GLOBECOM2017-2017IEEE Global Communications Conference》;20180115;1-6页 *
运营商网络中面向资源碎片优化的网络服务链构建策略;陈卓等;《电子与信息学报》;20180430;第40卷(第4期);全文 *

Also Published As

Publication number Publication date
CN110134493A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110134493B (zh) 一种基于资源碎片避免的服务功能链部署算法
CN108260169B (zh) 一种基于QoS保障的服务功能链动态部署方法
Cui et al. A novel offloading scheduling method for mobile application in mobile edge computing
US9740534B2 (en) System for controlling resources, control pattern generation apparatus, control apparatus, method for controlling resources and program
Chitra et al. A nondominated sorting genetic algorithm solution for shortest path routing problem in computer networks
Reis et al. A biased random‐key genetic algorithm for OSPF and DEFT routing to minimize network congestion
CN111130858A (zh) 一种sd-wan场景下的动态多目标虚拟网络映射方法
Doan et al. SAP: Subchain-aware NFV service placement in mobile edge cloud
CN113285832B (zh) 基于nsga-ii的电力多模态网络资源优化分配方法
CN109067920A (zh) 一种用于服务器内容更新的负载均衡及路由方法
Ren et al. A new scheme for IoT service function chains orchestration in SDN-IoT network systems
CN113596868A (zh) 基于sdn和nfv的5g网络切片资源管理机制
Lin et al. Column generation based service function chaining embedding in multi-domain networks
Quintero et al. Evolutionary approach to optimize the assignment of cells to switches in personal communication networks
CN114466407B (zh) 一种基于粒子群遗传的网络切片编排算法
CN111885493A (zh) 一种基于改进布谷鸟搜索算法的微云部署方法
Sapkota et al. Multi‐Controller Placement Optimization Using Naked Mole‐Rat Algorithm over Software‐Defined Networking Environment
Nguyen et al. Efficient virtual network embedding with node ranking and intelligent link mapping
Bu et al. Towards delay-optimized and resource-efficient network function dynamic deployment for VNF service chaining
Ibrahim et al. A modified genetic algorithm for controller placement problem in SDN distributed network
Shirmarz et al. A novel flow routing algorithm based on non-dominated ranking and crowd distance sorting to improve the performance in SDN
Zhou et al. Resource-aware virtual network parallel embedding based on genetic algorithm
Alqarni et al. ODM-BCSA: An offloading decision-making framework based on binary cuckoo search algorithm for mobile edge computing
Ahmed et al. A genetic approach for gateway placement in wireless mesh networks
Huang et al. An efficient joint node and link mapping approach based on genetic algorithm for network virtualization

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20230110