CN107749801B - 一种基于种群增量学习算法的虚拟网络功能放置方法 - Google Patents
一种基于种群增量学习算法的虚拟网络功能放置方法 Download PDFInfo
- Publication number
- CN107749801B CN107749801B CN201710900689.7A CN201710900689A CN107749801B CN 107749801 B CN107749801 B CN 107749801B CN 201710900689 A CN201710900689 A CN 201710900689A CN 107749801 B CN107749801 B CN 107749801B
- Authority
- CN
- China
- Prior art keywords
- individual
- population
- node
- algorithm
- chain
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于种群增量学习算法的虚拟网络功能放置方法。在给定网络拓扑上通过运用基于种群的增量学习算法,以最小化服务时延为优化目标,计算出一种满足实际部署要求的虚拟网络功能放置方案。本发明的主要特征包括二级编码方式、对非法个体进行修复操作、求个体适应度时采用弗洛伊德算法、通过保存全局精英集合指导概率向量的更新以及变异操作改变概率向量等。本发明在解决VNF‑P问题上应用了PBIL算法,仿真实验与数据分析表明,相比于遗传算法,本发明的方法在算法性能上和效率上都具有显著优势,能获得使服务时延更小的解,证明了本发明的可行性和高效性。
Description
技术领域
本发明涉及一种基于种群增量学习算法的虚拟网络功能放置方法,属于网络传输技术与虚拟化技术领域。
背景技术
近年来,用户对通信服务的请求变得越来越多样化和动态化。考虑到物联网(Internet of Things,IoT)的实现,这一趋势在未来会变得更加明显。以前,通信服务提供商一直在利用由专用硬件实现的网络功能,如防火墙和入侵检测系统来提供服务。然而,通过硬件解决方案来处理通信服务的多样化变得越来越困难,因为这需要消耗大量的资本成本和运营成本用于增加和维护新的通信服务。
网络功能虚拟化(Network Functions Virtualization,NFV)是欧洲电信标准协会在2012年首次提出的新型网络架构。NFV能有效解决上述困难。NFV是电信广域网基础设施向虚拟化和商品化过渡的一种有效的途径。NFV的基本思想是将网络功能与专用硬件资源分开。这些网络功能在虚拟机上运行的软件(称为虚拟网络功能)中实现,而虚拟机运行在通用物理资源上。NFV可以动态地改变网络功能的部署位置。
NFV中一个需要解决的问题是服务功能链(Service Function Chaining,SFC)的部署问题。服务功能链是一系列有顺序约束的需要被虚拟化的网络功能(virtualizednetwork functions,VNF)的集合,如何动态连接虚拟化的网络功能,如防火墙、深度包检测(Deep Packet Inspection,DPI)、网络地址转换(Network Address Translation,NAT)等,并将其合理地部署,这个过程是响应服务请求的关键。许多研究人员对该问题进行了研究,我们称之为虚拟网络功能放置(VNF Placement)问题,简称VNF-P问题。VNF-P问题可以看作是设备选址问题的一个实例,这个问题是一个NP-hard问题。对于该类问题,我们很难得到它的最优解,一般我们采用进化算法来求得它的近似最优解。目前该问题多采用遗传算法(Genetic Algorithm,GA)进行求解。
基于种群的增量学习(Population-Based Incremental Learning,PBIL)算法是一种分布估计算法(Estimation of Distribution Algorithm,EDA)。PBIL算法将进化过程视为学习过程,用进化所获得的知识——概率向量来指导产生后代。这种操作使得后代的产生更具有方向性,因此能获得更快的收敛速度以及更优的效果。
发明内容
本发明的目的是采用PBIL算法解决VNF-P问题,以获得到更优的优化效果。
实现本发明目的的技术方案如下:
一种基于种群增量学习算法的虚拟网络功能放置方法,在网络服务请求到达时,找到一种虚拟网络功能的放置位置,使获得的服务功能链在进行服务时所产生的链路时延与节点处理时延之和最小;其特征在于,包括:
步骤1:读取原始拓扑G=(V,E),V表示拓扑中节点集合,每个节点包含相应的坐标信息,V中任意两个直接连通的节点间存在一条链路,E表示链路集合;通过V中节点的坐标信息计算E中任一链路的链路时延;以链路时延和节点处理时延作为算法的输入参数;
步骤2:根据网络服务请求,获得待求的服务功能链中所有虚拟网络功能的顺序;每一个服务功能都可以部署在拓扑中满足约束条件的节点上;
步骤3:初始化基于种群的增量学习算法的相关参数,包括设置种群规模为N,种群中每个个体为一长度为K的二进制串;设置算法的最大迭代次数MaxGen;初始化大小均为M的精英集合B和全局精英集合GE;全局精英集合GE中用于更新概率向量P的个体数为Q;其中,N、K、M、Q、MaxGen均为正整数;设迭代次数τ=0;
步骤4:初始化概率向量P={pi|i=1,2,…,K},pi为0到1之间的实数,表示个体中第i位取1的概率;
步骤5:对概率向量P进行取样,生成一个种群,并对种群中非法个体进行修复操作;所述种群中有N个个体,每个个体代表虚拟网络功能放置问题的一个解,每个解表示一种服务功能链在网络中的可行放置位置;
步骤6:计算所述种群中N个个体的适应度值集合F,F={fi|i=1,2,…,N},fi为第i个个体的适应度值;每个个体的适应度值为该个体指定的所有链路时延与所有节点处理时延之和;如果该个体中存在指定的两个节点之间未直接连接,则求得这两个未直接连接节点的最短路径,并以该最短路径中所有链路时延之和,加上该个体中其它链路时延与节点处理时延,作为该个体的适应度值;
步骤7:根据适应度值,找到所述种群中最优的M个个体,0<M<N,作为当前种群的精英集合Β,记作Β={β1,β2,…,βM};用精英集合Β指导更新全局精英集合GE,记作GE={ge1,ge2,…,geM};更新后的全局精英集合GE为当前最优的M个个体的集合;
步骤8:随机选取全局精英集合GE中的Q个个体,1<Q<M,用于更新概率向量P;
步骤9:以变异概率Pmutation对概率向量P的每一位pi进行变异操作;设置τ=τ+1;
步骤10:若迭代次数τ<MaxGen,则转到步骤5;否则输出当前适应度值最优的个体为最优解。
进一步的技术方案,所述步骤5中对种群中非法个体进行修复操作的方法为:将每个个体等分成多个二进制段,在可以表示个体的二进制段中,有一部分二进制段是合法的,其它二进制段是非法的,含有非法二进制段的个体为非法个体;对于非法个体中的非法二进制段,从对应的合法的二进制段按等概率选择一个去替换非法的二进制段,使非法个体修复为合法个体。
进一步的技术方案,所述步骤6中求得两个未直接连接节点的最短路径,采用弗洛伊德算法。
与现有技术相比,本发明的有益效果:本发明在解决VNF-P问题上应用了PBIL算法,优化结果优于目前已提出的GA。利用本发明,在符合节点部署所需的条件下,尽可能地减少了时延,对于网络的通信与传输来说,意义重大。
附图说明
本发明将参照附图的方式说明,其中:
图1为本发明使用的PBIL算法的流程图;
图2为本发明与GA在场景一下所用的拓扑图;
图3为本发明与GA在场景一下的历史最优适应度对比图;
图4为本发明与GA在场景一下的历代平均适应度对比图;
图5为本发明与GA在场景二下的历史最优适应度对比图;
图6为本发明与GA在场景二下的历代平均适应度对比图;
图7为本发明与GA在场景三下的历史最优适应度对比图;
图8为本发明与GA在场景三下的历代平均适应度对比图;
图9为本发明与GA在场景四下的历史最优适应度对比图;
图10为本发明与GA在场景四下的历代平均适应度对比图。
具体实施方式
本发明采用PBIL算法来解决VNF-P问题,其主要处理流程见附图1所示。
1、首先介绍一下VNF-P问题。随着NFV技术的提出与发展,网络运营商开始使用NFV技术实现网络服务。网络服务的实现需要部署一系列有顺序约束的网元功能集合,从而实现所需要的功能服务,该功能服务集合被称为服务功能链。在该集合中,不同的虚拟网络功能,具有不同的功能表现,需要根据一定的部署策略在底层网络中选择部署位置与服务路径,该问题即为VNF-P问题。一个底层物理网络可以表示为一个无向有权拓扑图G,G=(V,E)。其中,V代表拓扑上的节点集合,E代表拓扑上的链路集合。节点数表示为|V|,链路数表示为|E|。每个节点包含有经度和纬度的坐标。假设V中任意两个节点,节点x和节点y,如果x与y间由一条链路直接相连,我们用δx,y(x,y∈V)表示节点x与节点y相连的链路,则有δx,y∈E。直接相连的节点x和节点y在通信时会产生链路时延,我们可以通过公式求得Ldelay(δx,y),如公式(1)所示:
其中,
a=(Latx-Laty)·π/180° (3)
b=(Lonx-Lony)·π/180° (4)
Rax=Latx·π/180° (5)
Ray=Laty·π/180° (6)
其中ER为地球半径,ξ为信号在介质中的传输速度,考虑到传输过程中的损耗,我们将其设为2/3倍的光速。假设<Lonx,Latx>和<Lony,Laty>分别为节点x和节点y的经度和纬度的坐标值。
任一服务功能链S可表示为一组有序的VNF,记作S={s1,s2,…,sΦ},其中Φ表示服务功能链中VNF的数量。表示其中任意一种VNF,每一个VNF都可选择在某一节点集合中的任一节点进行部署。设可以部署sφ的节点集合为记作 其中Ω表示中的节点数量,表示该集合中的任意一个节点。假设集合中每一个可部署节点都有足够的物理资源为VNF提供服务,我们根据对服务功能链S进行部署。
当某一种网络服务请求Request产生时,根据网络的情况,我们将该网络服务所需的服务功能链SR部署在相应的拓扑位置上。部署成功后,得到的包含部署节点的服务路径表示为Path(SR)。该路径包含节点以及节点之间的链路。服务功能链经过服务路径Path(SR)进行通信,通过部署了VNF的节点αφ时,会产生节点处理时延,我们记作Ndelay(αφ),其中而信息流通过非VNF节点时,由于其转发时延很小,所以我们忽略不计;当通过连接x与y的链路δx,y时,会产生链路时延Ldelay(δx,y)。本发明利用PBIL算法,为服务功能链找到合适的部署位置,以服务功能链上的所有节点处理时延和链路时延之和最小为优化目标。在满足节点部署所需的条件下,优化的目标为:
Minimize:
Subject to:
2、本发明实现其发明目的的具体手段是:
1)一种基于种群增量学习算法的虚拟网络功能放置方法,在网络服务请求到达时,找到一种虚拟网络功能的放置位置,使获得的服务功能链在进行服务时所产生的链路时延与节点处理时延之和最小。具体处理包括以下步骤:
步骤1:读取原始拓扑G=(V,E),V表示拓扑中节点集合,每个节点包含相应的坐标信息,V中任意两个直接连通的节点间存在一条链路,E表示链路集合;通过V中节点的坐标信息计算E中任一链路的链路时延;以链路时延和节点处理时延作为算法的输入参数;
步骤2:根据网络服务请求,获得待求的服务功能链中所有虚拟网络功能的顺序;每一个服务功能都可以部署在拓扑中满足约束条件的节点上;
步骤3:初始化基于种群的增量学习算法的相关参数,包括设置种群规模为N,种群中每个个体为一长度为K的二进制串;设置算法的最大迭代次数MaxGen;初始化大小均为M的精英集合B和全局精英集合GE;全局精英集合GE中用于更新概率向量P的个体数为Q;其中,N、K、M、Q、MaxGen均为正整数;设迭代次数τ=0;
步骤4:初始化概率向量P={pi|i=1,2,…,K},pi为0到1之间的实数,表示个体中第i位取1的概率;
步骤5:对概率向量P进行取样,生成一个种群,并对种群中非法个体进行修复操作;所述种群中有N个个体,每个个体代表虚拟网络功能放置问题的一个解,每个解表示一种服务功能链在网络中的可行放置位置;
步骤6:计算所述种群中N个个体的适应度值集合F,F={fi|i=1,2,…,N},fi为第i个个体的适应度值;每个个体的适应度值为该个体指定的所有链路时延与所有节点处理时延之和;如果该个体中存在指定的两个节点之间未直接连接,则求得这两个未直接连接节点的最短路径,并以该最短路径中所有链路时延之和,加上该个体中其它链路时延与节点处理时延,作为该个体的适应度值;
步骤7:根据适应度值,找到所述种群中最优的M个个体,0<M<N,作为当前种群的精英集合Β,记作Β={β1,β2,…,βM};用精英集合Β指导更新全局精英集合GE,记作GE={ge1,ge2,…,geM};更新后的全局精英集合GE为当前最优的M个个体的集合;
步骤8:随机选取全局精英集合GE中的Q个个体,1<Q<M,用于更新概率向量P;
步骤9:以变异概率Pmutation对概率向量P的每一位pi进行变异操作;设置τ=τ+1;
步骤10:若迭代次数τ<MaxGen,则转到步骤5;否则输出当前适应度值最优的个体为最优解。
2)实际处理过程中:
步骤5中生成种群,我们采用的编码方式如下:首先,根据概率向量P取样生成长度为K的二进制串,每一个二进制串为一个个体,该方式为二进制编码;由于步骤6中,评估每个个体的适应度值时要求每个个体的编码方式为整数编码,所以在二进制编码实现之后,我们要将由二进制编码表示的个体再表示为整数编码。我们称该编码方式为二级编码方式。由于二级编码方式的原因,二进制编码必须可以正常表示为对应的整数编码。为了防止出现非法的二进制编码,在生成二进制编码的种群后,算法对种群中非法个体进行修复操作,使种群的个体均为合法解,以进行二进制编码表示为整数编码的操作。
设服务功能链中的VNF的个数为Φ,第φ个VNF(即sφ)的可部署节点集合中候选节点数为Ωφ(φ=1,2,…,Φ),则该VNF所对应的候选节点的索引号(例如中γφω的索引ω)可由位二进制串表示,其中表示向上取整操作符。因此,将服务功能链S中每一个VNF的索引号的二进制编码按sφ在S中的顺序依次放置,则形成一个长度为的二进制编码串,即VNF-P问题的一个解。也就是说,该二进制编码串可分成Φ段,第φ段二进制串为sφ所对应的候选节点的索引号(非负整数),亦即对应γφω中的ω。而整数编码的个体长度为Φ,第φ(φ=1,2,…,Φ)位表示可以部署sφ的节点集合中的第ω个节点的编号γφω。
长度为的二进制串可以表示从0到共个整数中的任意一个。而该二进制串对应的整数是从0到Ωφ-1共Ωφ个整数中的任意一个。由于所以,二进制串的前Ωφ种表示方式可以对应表示0到Ωφ-1中的任意一个整数,这Ωφ种表示方式为合法的表示方式;而二进制串的的其他种表示方式均为非法的表示方式。在取样生成个体时,如果出现了这种非法表示方式中的任何一种,我们就要对其进行修复操作。具体修复操作如下:按等概率选择Ωφ种合法二进制串中的一种表示方式去替换个体第φ段中长度为的二进制串的非法的表示方式。
例如在本发明中,假设服务功能链中的第一个VNF允许放置的候选节点数Ω1为6,所以我们用长度为3的二进制串表示0到5这六个整数,这6个整数表示6个索引。长度为3的二进制串可以用000,001,010,011,100,101这6种表示方式表示0到5,而110与111这两个二进制串为非法编码。因此,当我们用概率向量P取样生成种群后,若种群中长度为K的个体第1段生成了110或111的二进制串,我们采用修复操作,将000或111修复:按照等概率选取000,001,010,011,100,101中的一个,去替换000或111,替换后,非法索引即可转换为合法索引。
3)实际处理过程中:
步骤6中在评估适应度值的时候,需要求得指定的两个节点之间的链路时延,若这两个节点没有直接相连,本发明采用弗洛伊德算法(Floyd-Warshall Algorithm)求得两个节点之间的最短路径。弗洛伊德算法是一种利用动态规划的思想寻找给定的加权无向图中任意两个节点之间最短路径的算法,使用该算法可以快速找到任意两个节点之间的最短路径。
4)实际处理过程中:
步骤7中引入精英集合与全局精英集合,将精英集合记作Β={β1,β2,…,βM},将全局精英集合记作GE={ge1,ge2,…,geM},两个集合都是按照解的质量从好到差排序(解的质量由适应度值评价)。全局精英集合由第一代生成的种群的精英集合初始化,之后,每一代生成的精英集合都将与全局精英集合进行比较,首先将这一代的精英集合中最优解β1,与全局精英集合中最差解geM进行比较,若β1比geM质量差,那说明精英集合的所有解均比geM差,此时不必更新全局精英集合;若β1比geM质量好,则用β1替换geM,然后将全局精英集合按照解的质量从好到差重新排序。之后将精英集合中β2再与排序后的全局精英集合中最差解ge’M进行比较,重复上述比较过程,直到精英集合中不再有可以更新全局精英集合的解。由此可见,全局精英集合将历代种群中最好的若干个解(即精英解)保留了下来,该集合用于指引算法在解空间中的搜索方向。
5)实际处理过程中:
步骤8中随机选取了全局精英集合中的Q个个体来更新概率向量P。由于每个个体都可以表示为长度为K的二进制串,我们将Q个个体按位求平均值,求得的值记作Θ,Θ={θ1,θ2,…,θK},其中,θi,i=1,2,…,K,为Q个个体的第i位的平均值。将学习因子记作LR。对于概率向量P的每一位pi(i=1,2,…,K),更新公式如下:
pi=pi·(1-LR)+θi·LR,i=1,2,…,K (11)
6)实际处理过程中:
步骤9中,我们通过变异操作,对概率向量P进行变异。变异的影响因子记作MS,变异方向影响因子记作MD。对于概率向量P的每一位pi(i=1,2,…,K),在符合变异概率Pmutation的前提下,我们按照等概率将MD赋值为1或者0,即有50%的概率MD为1,50%的概率MD为0。之后对pi进行变异。更新公式如下:
pi=pi·(1-MS)+MD·MS,i=1,2,…,K (12)
具体实施例:
下面结合附图2来说明服务功能链放置的过程。在场景一中,我们使用附图2表示的拓扑AttMpls,该拓扑中有25个节点,57条链路。在一个网络服务所需的服务功能链中,VNF个数设为5个,假设第φ个VNF表示为sφ(1≤φ≤5)。假设该服务功能链中的每一个VNF有6个可部署节点,可部署节点的位置为γφω(1≤φ≤5,1≤ω≤6)。其中:
s1对应的6个节点编号为{5,7,10,13,23,25};
s2对应的6个节点编号为{3,12,15,17,22,23};
s3对应的6个节点编号为{1,3,6,20,22,24};
s4对应的6个节点编号为{1,7,12,16,19,24};
s5对应的6个节点编号为{2,5,6,14,18,21}。
则一次成功的服务功能链放置可能的示例如下:
γ12→γ25→γ34→γ41→γ52
这一次服务功能链的放置结果对应着的是由五个节点构成的一条路径(在该路径中相邻的两个节点在拓扑图中有可能并不直接相连),记作路径1:
7→22→20→1→5
接着我们将拓扑作为一个无向有权图,链路时延作为该图的链路上的权值,按照路径1中节点的连接顺序,寻找到路径1中相邻两个节点之间的最短路径,生成一条包含路径1中的五个节点的新路径,该新路径称为服务路径。服务功能链经过服务路径进行通信,经过部署了VNF的节点时会产生节点处理时延,经过链路时会产生链路时延,将节点处理时延与链路时延相加,该值即为我们所需优化的目标。
下面详细说明本发明在场景一中的具体实施方式。
在场景一中,算法读取拓扑AttMpls,通过节点的坐标和链路来计算每条链路的时延Ldelay(δx,y)。由于需要进行仿真,算法随机生成了服务功能,以及每个VNF可部署的节点位置。算法也随机生成了VNF在可部署的节点αφ上处理所需的节点处理时延Ndelay(αφ)。即:
random[0,1]表示0到1之间的随机实数。
初始化算法相关的参数,概率向量P的每一位pi初始化为0.5。根据概率向量P取样生成长度为K的二进制串:对于概率向量的每一位pi(i=1,2,…,K),我们生成一个[0,1]间的随机数ψ,并与其进行比较,如果pi大于ψ,则个体的第i位取1,否则取0。种群中的N个个体均由取样概率向量P生成。
二进制串的长度K是根据相应的场景下服务功能链的相关参数确定的。在场景一中,服务功能链中的VNF的数量Φ设为5,而每一个VNF可以部署的节点数Ω均设为6,6个节点对应着0到5这6个索引,我们用长度为的二进制串来表示选节点的索引。二进制串中包含5个VNF的选中的节点索引,所以K的值表示为K为15。即长度为K的二进制串表示一个个体,每三位连续二进制串对应一个整数,该整数表示可以部署sφ的节点集合的一个索引,即对应γφω中的ω。得到二进制编码的个体后,由于我们需要将它转化为整数编码,所以必须要进行修复操作。修复操作的具体实施在上述2)中已经详述。二进制编码的个体均合法后,将其转化为对应的整数编码的个体,求得该个体对应的5个节点,即该个体对应的解。对种群进行评估适应度值F={f1,f2,…,fN}。在评估适应度值阶段,采用弗洛伊德算法求得服务功能链SR中任意相邻两个VNF节点间的最短路径subpath(si,si+1)(i=1,2,…,Φ-1)。通过路径合并,获得服务路径Path(SR)={subpath(si,si+1)|i=1,2,…,Φ-1},从而可依公式(8)求得相关个体的适应度值。
求得该种群中的每一个个体的适应度值后,取得适应度值最优的前M个个体,作为该种群的精英集合,用当前的精英集合去更新全局精英集合。这样全局精英集合将历代种群中最好的几个个体保留了下来,该集合对概率向量P指导性较强。具体的更新方式在上述4)中已经详述。
接下来是对概率向量P的更新和变异。在更新概率向量P中,我们随机选取了全局精英集合中的Q个个体更新概率向量P,我们对Q个个体按位取平均值,按照更新概率的公式来更新概率向量P;在变异概率向量P中,我们在符合变异概率Pmutation的前提下,对概率向量P进行变异。更新和变异概率向量P的公式在上述5)和6)中已经详述。更新概率向量P,使得由概率向量P取样生成的个体向着更优的方向进化,而变异概率向量P则使得由概率向量P取样生成的个体有着更广阔的解空间搜索能力,不会陷入局部搜索和早熟。
对概率向量P完成更新和变异操作之后,从取样生成新种群开始进行下一次循环,直到达到了规定的循环迭代次数之后,结束算法。
实施例
为了验证本发明采用PBIL算法解决VNF-P问题的方法的可行性和高效性,我们进行了仿真实验,并与GA进行了算法性能比较。下面是一些相关介绍。
(1)参数设置:
本发明随机生成了服务功能,以及每个VNF可部署的节点位置。根据拓扑中的节点的坐标和链路来计算链路时延Ldelay(δx,y),随机生成了VNF在可部署的节点αφ上处理所需的节点处理时延Ndelay(αφ)。这三个参数在GA和PBIL中均作为算法的输入参数。
PBIL中概率向量P的每一位初始化为0.5,学习因子LR初始化为0.1,概率向量P的每一位的变异概率Pmutation初始化为0.02,变异的影响因子MS初始化为0.05,精英集合和全局精英集合的个数M初始化为10,选取作为更新概率向量P的精英个数Q初始化为5,种群数量N初始化为40,最大运行代数MaxGen初始化为200。
GA中种群数量N初始化为40,最大运行代数MaxGen初始化为200,交叉概率Pc初始化为0.7,变异概率Pm初始化为0.09。
(2)拓扑设置:
本发明采用了四个拓扑,分别是AttMpls,Xspedius,Uunet,Surfnet。这四个拓扑取自The Internet Topology Zoo(网址:http://www.topology-zoo.org/)。具体的拓扑信息如表1。
表1:本实施例所使用的网络拓扑图的参数表
(3)场景设置:
本发明设计了四个场景,四个场景信息如下:
a)场景一使用拓扑AttMpls,服务功能链中的VNF个数Φ设为5个,每个VNF允许放置的候选节点数Ω为6。
b)场景二使用拓扑Xspedius,服务功能链中的VNF个数Φ设为6个,每个VNF允许放置的候选节点数Ω为6。
c)场景三使用拓扑Uunet,服务功能链中的VNF个数Φ设为7个,每个VNF允许放置的候选节点数Ω为6。
d)场景四使用拓扑Surfnet,服务功能链中的VNF个数Φ设为8个,每个VNF允许放置的候选节点数Ω为6。
(4)性能指标:
本发明比较的性能指标如下:
a)历史最优适应度(Best Fitness):算法每运行一代,根据对种群的适应度评估,可以得到种群中适应度最优的一个值,如果当代最优值比上一代更好,则保留,否则仍保留上一代的最优值,这样在运行规定代数后,每一代都对应着一个最优值,即为历史最优适应度。我们将算法运行30次,对每次求得的历史最优适应度取平均值,得到最终的历史最优适应度。
b)历代平均适应度(Average Fitness):算法每运行一代,我们将当代的种群的适应度值求得平均并记录下来,这样在运行规定代数后,每一代都对应着一个平均值,即为历代平均适应度。我们将算法运行30次,对每次求得的历代平均适应度取平均值,得到最终的历代平均适应度。
c)平均值(Mean):算法独立运行30次的最优适应度的平均值。
d)方差(Standard Deviation,SD):算法独立运行30次的最优适应度的方差。
e)平均计算时间(Average Computational Time,ACT):算法运行30次的平均时间花销,此指标体现了算法的时间复杂度。
(5)结果比较:
附图3-10为GA与本发明的结果对比图,从图中我们可以看到,对比历史最优适应度曲线,本发明收敛速度比GA更快,得到的最优适应度比GA更优;对比历代平均适应度曲线,本发明前期种群平均解高于GA,说明算法在前期种群的多样性高,全局搜索能力强,后期本发明的平均解低于GA,说明算法在后期种群的解的质量高。综合而言,本发明更具有优势。
表2为仿真实验结果对照表,表中用加黑的方式将两种算法中更优的结果标出。从表中数据我们可以看出,比较Mean,SD,ACT这三个指标,本发明均优于GA,这表明了本发明在求解VNF-P问题上的可行性和高效性。
表2:本实施例的实验结果对照表
Claims (3)
1.一种基于种群增量学习算法的虚拟网络功能放置方法,在网络服务请求到达时,找到一种虚拟网络功能的放置位置,使获得的服务功能链在进行服务时所产生的链路时延与节点处理时延之和最小;其特征在于,包括:
步骤1:读取原始拓扑G=(V,E),V表示拓扑中节点集合,每个节点包含相应的坐标信息,V中任意两个直接连通的节点间存在一条链路,E表示链路集合;通过V中节点的坐标信息计算E中任一链路的链路时延;以链路时延和节点处理时延作为算法的输入参数;
步骤2:根据网络服务请求,获得待求的服务功能链中所有虚拟网络功能的顺序;每一个服务功能都可以部署在拓扑中满足约束条件的节点上;
步骤3:初始化基于种群的增量学习算法的相关参数,包括设置种群规模为N,种群中每个个体为一长度为K的二进制串;设置算法的最大迭代次数MaxGen;初始化大小均为M的精英集合B和全局精英集合GE;全局精英集合GE中用于更新概率向量P的个体数为Q;其中,N、K、M、Q、MaxGen均为正整数;设迭代次数τ=0;
步骤4:初始化概率向量P={pi|i=1,2,…,K},pi为0到1之间的实数,表示个体中第i位取1的概率;
步骤5:对概率向量P进行取样,生成一个种群,并对种群中非法个体进行修复操作;所述种群中有N个个体,每个个体代表虚拟网络功能放置问题的一个解,每个解表示一种服务功能链在网络中的可行放置位置;
步骤6:计算所述种群中N个个体的适应度值集合F,F={fi|i=1,2,…,N},fi为第i个个体的适应度值;每个个体的适应度值为该个体指定的所有链路时延与所有节点处理时延之和;如果该个体中存在指定的两个节点之间未直接连接,则求得这两个未直接连接节点的最短路径,并以该最短路径中所有链路时延之和,加上该个体中其它链路时延与节点处理时延,作为该个体的适应度值;
步骤7:根据适应度值,找到所述种群中最优的M个个体,0<M<N,作为当前种群的精英集合Β,记作Β={β1,β2,…,βM};用精英集合Β指导更新全局精英集合GE,记作GE={ge1,ge2,…,geM};更新后的全局精英集合GE为当前最优的M个个体的集合;
步骤8:随机选取全局精英集合GE中的Q个个体,1<Q<M,用于更新概率向量P;
步骤9:以变异概率Pmutation对概率向量P的每一位pi进行变异操作;设置τ=τ+1;
步骤10:若迭代次数τ<MaxGen,则转到步骤5;否则输出当前适应度值最优的个体为最优解。
2.根据权利要求1所述的一种基于种群增量学习算法的虚拟网络功能放置方法,其特征在于,所述步骤5中对种群中非法个体进行修复操作的方法为:将每个个体等分成多个二进制段,在可以表示个体的二进制段中,有一部分二进制段是合法的,其它二进制段是非法的,含有非法二进制段的个体为非法个体;对于非法个体中的非法二进制段,从对应的合法的二进制段按等概率选择一个去替换非法的二进制段,使非法个体修复为合法个体。
3.根据权利要求1所述的一种基于种群增量学习算法的虚拟网络功能放置方法,其特征在于,所述步骤6中求得两个未直接连接节点的最短路径,采用弗洛伊德算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710900689.7A CN107749801B (zh) | 2017-09-28 | 2017-09-28 | 一种基于种群增量学习算法的虚拟网络功能放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710900689.7A CN107749801B (zh) | 2017-09-28 | 2017-09-28 | 一种基于种群增量学习算法的虚拟网络功能放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107749801A CN107749801A (zh) | 2018-03-02 |
CN107749801B true CN107749801B (zh) | 2019-09-06 |
Family
ID=61254653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710900689.7A Expired - Fee Related CN107749801B (zh) | 2017-09-28 | 2017-09-28 | 一种基于种群增量学习算法的虚拟网络功能放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107749801B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756932B (zh) * | 2018-12-27 | 2022-03-01 | 南京大学 | 一种5g蜂窝核心网场景下的网络功能的两级部署方法 |
CN110365526B (zh) * | 2019-07-09 | 2022-01-11 | 国网江苏省电力有限公司南京供电分公司 | 一种面向节能和QoS保障的VNF部署方法及系统 |
CN112187510B (zh) * | 2020-08-26 | 2021-09-14 | 中国科学院信息工程研究所 | 一种基于遗传算法的虚拟网络功能放置方法及电子装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242956A (zh) * | 2015-09-15 | 2016-01-13 | 中国人民解放军信息工程大学 | 虚拟功能服务链部署系统及其部署方法 |
EP3078163A1 (en) * | 2013-12-06 | 2016-10-12 | Telefonaktiebolaget LM Ericsson (publ) | A method and system of service placement for service chaining |
KR20170079887A (ko) * | 2015-12-31 | 2017-07-10 | 서강대학교산학협력단 | 클라우드 환경에서 네트워크 기능 가상화의 서비스 기능 체이닝을 위한 가상 네트워크 기능 배치 및 재구성 방법 |
CN107124303A (zh) * | 2017-04-19 | 2017-09-01 | 电子科技大学 | 低传输时延的服务链优化方法 |
CN107124306A (zh) * | 2017-04-24 | 2017-09-01 | 电子科技大学 | 网络功能虚拟化环境下的内容交付网络服务器优化部署方法 |
-
2017
- 2017-09-28 CN CN201710900689.7A patent/CN107749801B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3078163A1 (en) * | 2013-12-06 | 2016-10-12 | Telefonaktiebolaget LM Ericsson (publ) | A method and system of service placement for service chaining |
CN105242956A (zh) * | 2015-09-15 | 2016-01-13 | 中国人民解放军信息工程大学 | 虚拟功能服务链部署系统及其部署方法 |
KR20170079887A (ko) * | 2015-12-31 | 2017-07-10 | 서강대학교산학협력단 | 클라우드 환경에서 네트워크 기능 가상화의 서비스 기능 체이닝을 위한 가상 네트워크 기능 배치 및 재구성 방법 |
CN107124303A (zh) * | 2017-04-19 | 2017-09-01 | 电子科技大学 | 低传输时延的服务链优化方法 |
CN107124306A (zh) * | 2017-04-24 | 2017-09-01 | 电子科技大学 | 网络功能虚拟化环境下的内容交付网络服务器优化部署方法 |
Non-Patent Citations (4)
Title |
---|
A population based incremental learning for delay constrained network coding resource minimization.;Huanlai Xing et al;《Proceeding EvoApplications"11 Proceedings of the 2011 international conference on Applications of evolutionary computation - Volume Part II》;20110429;51-60页 |
Towards optimal outsourcing of service function chain across multiple clouds.;Huan Chen et al.;《2016 IEEE International Conference on Communications (ICC)》;20160527;1-7页 |
VNF-P: A model for efficient placement of virtualized network functions.;Hendrik Moens et al.;《10th International Conference on Network and Service Management (CNSM) and Workshop》;20141121;1-6页 |
一种改进的种群增量学习算法求解带软时间窗的车辆路径优化问题.;谢勇 等.;《南京理工大学学报(自然科学版)》;20160413;第40卷(第1期);110-116页 |
Also Published As
Publication number | Publication date |
---|---|
CN107749801A (zh) | 2018-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Papadopoulos et al. | Network mapping by replaying hyperbolic growth | |
CN111147307B (zh) | 基于深度强化学习的服务功能链可靠部署方法 | |
Ahn et al. | A genetic algorithm for shortest path routing problem and the sizing of populations | |
CN107749801B (zh) | 一种基于种群增量学习算法的虚拟网络功能放置方法 | |
CN110460465B (zh) | 面向移动边缘计算的服务功能链部署方法 | |
CN110995858A (zh) | 一种基于深度q网络的边缘网络请求调度决策方法 | |
Yu et al. | A multi-modal route planning approach with an improved genetic algorithm | |
US20120254465A1 (en) | Method and system for improved routing | |
CN112585585A (zh) | 基于可扩展遗传算法的虚拟化系统的虚拟网络功能的联合放置和链接 | |
WO2022116957A1 (zh) | 算法模型及路径的确定方法、电子设备、sdn控制器和介质 | |
CN110032682B (zh) | 一种信息推荐列表生成方法、装置及设备 | |
CN112083933A (zh) | 一种基于强化学习的服务功能链部署方法 | |
Gen et al. | A spanning tree-based genetic algorithm for bicriteria topological network design | |
CN113708972A (zh) | 一种服务功能链部署方法、装置、电子设备及存储介质 | |
EP3224990A1 (en) | Optimizing a network topology to satisfy predicted growth | |
CN107092812B (zh) | 一种在ppi网络中基于遗传算法识别关键蛋白质的方法 | |
CN109951392B (zh) | 一种基于深度学习的中大型网络智能路由选择方法 | |
KR20090103188A (ko) | 다개체 유전자 알고리즘을 이용한 라우팅 경로 검색 방법및 그에 따른 센서 네트워크 | |
Sahoo et al. | Optimal controller selection in software defined network using a greedy-SA algorithm | |
CN110175942B (zh) | 一种基于学习依赖关系的学习序列生成方法 | |
CN113193999B (zh) | 一种基于深度确定性策略梯度的虚拟网络映射方法 | |
CN111131028B (zh) | 基于度约束最小生成树的域间路由恢复方法 | |
CN116151381A (zh) | 量子电路处理方法、装置及电子设备 | |
WO2016083845A1 (en) | Determining bandwidth requirements for network services | |
CN110070177A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190906 Termination date: 20210928 |
|
CF01 | Termination of patent right due to non-payment of annual fee |