本发明涉及弹性光网络和云-雾通信的技术领域,尤其涉及一种云-雾弹性光网络中的深度强化学习流量疏导方法,当弹性光网络作为雾节点和云数据中心的通信设施时,使用深度强化学习进行业务疏导。
背景技术:
云计算把所有的数据集运输到同一个中心进行分析、存储和处理,擅长提供各种服务,但是随着全球物联网设备的爆炸式增长,这些设备产生的海量数据不适合全部通过云计算进行处理,同时冗余的传输过程会造成延迟过高,给当前的通信网带来了巨大的挑战。为了满足物联网大量低延迟计算的需求,弥补传统云计算的不足,雾计算应运而生,它的模式是设置众多的“雾节点”,将数据、数据处理和应用程序集中在网络边缘的设备中,这样能够让运算处理速度更快,更高效得出运算结果,所以雾计算成为处理数据的最佳候选,其优点是低延迟、高安全性、较好的用户体验和较高的功耗效率。
弹性光网络(elasticopticalnetwork,eon)是一种很有前途的用于雾节点和云数据中心之间通信的网络基础设施,将底层物理网络中的资源抽象到云-雾计算的资源池中,在对虚拟网络进行资源分配和管理,能够提供灵活、高效的服务。为了充分利用这种灵活性,同时使底层物理资源得到充分利用,流量疏导方法应运而生,它可以通过现有的光路灵活地将多个细粒度的ip流量汇聚到光层中,根据业务请求带宽灵活地分配频谱。特别是随着可切片光应答器、可切片光放大器等基片器件的发展,流量疏导可以实现更高的功耗效率。
流量疏导将不同的带宽请求引导到相同的波长,以节省资源和能源。总能耗主要由三部分组成:ip端口、收发器和放大器,首先对这三部分的能耗进行建模:
ip端口:认为400gbps的基础能耗为560w,总的端口能耗用eipt(w)表示。
光收发器:能耗取决于业务请求的线速度,对于每一个线速率单位,能耗为1.683w(参数η=1.683w/gbps),计算公式如下:
其中,tr表示传输速率,nopt是光收发器的数量,
光放大器:每个光放大器的基础能耗μ=100w,额外的能耗取决于业务请求的线速度。对于40gbps和100gbps,额外的能耗分别为25w和50w。光放大器的能耗计算公式如下所示:
其中,θ是额外的能源消耗,nopr是光放大器的数量。
因此,总的能耗计算公式为:etg(w)=eipt(w) eopt(w) eopr(w)(5)。
现有的研究中只应用固定的流量疏导策略或依赖于手动提取特征的简单策略,无法实现真正的自适应流量疏导策略。同时,深度强化学习(deepreinforcementlearning,drl)在解决大规模任务时的有效性也得到了验证。
技术实现要素:
针对现有物联网中海量数据通过云计算处理延迟较高,弹性光网络能耗较大的技术问题,本发明提出一种云-雾弹性光网络中的深度强化学习流量疏导方法,采用卷积神经网络(convolutionalneuralnetwork,cnn)自动获取特征,通过强化学习与环境进行交互,并对流量疏导进行评分以优化其过程。
为了达到上述目的,本发明的技术方案是这样实现的:一种云-雾弹性光网络中的深度强化学习流量疏导方法,其步骤如下:
步骤一:对于一个业务请求r=(s,d,t),通过最短路径算法计算业务请求r的最短路径;将业务请求r的业务路径和按波长切片的网络拓扑转换为图片的形式;其中,s和d分别代表源节点和目的节点,t代表业务请求r的带宽需求;
步骤二:用卷积神经网络提取步骤一中所有图片的特征,并用softmax分类器进行分类,根据分类结果将业务请求分配到相应的波长;
步骤三:如果分配到的波长有可用资源,那么该业务请求成功分配,如果没有可用资源,根据首次适应方法遍历所有的波长对业务请求r进行分配,根据减少的能耗得到一个奖励值;
步骤四:每一个业务请求分配完成后,利用强化学习算法对步骤三进行评价,生成一个value值,并更新拓扑的网络状态,生成下一个业务请求的最短路径拓扑图;
步骤五:重复步骤一-步骤四,每当至少三个业务请求分配完成后,根据网络状态、动作、奖励值和value值来更新卷积神经网络。
所述步骤一中从源节点s到目的节点d的每条链路的带宽资源按照波长分为5部分,当业务请求来临时,选择分配到任一波长,只改变当前波长的状态,即把该业务请求分配到当前的波长,改变相应位置的端口、收发器、放大器和带宽占用的情况。
所述业务路径和按波长切片的网络拓扑转换为图片的形式的方法是:根据节点位置和链路的连通情况画出节点和链路,根据端口、收发器和放大器的占用情况用不同颜色和大小的点分别画出;按波长切片的网络拓扑的其中一个波长的图片为:首先根据给定的网络节点的坐标,用黑色的实心圆点画出节点;然后根据给定的链路的连通情况和当前波长的网络拓扑中所有链路上带宽的占用情况用不同的颜色画出链路;最后用较小的圆点表示端口和收发器,用较大的圆点表示放大器,同样地根据不同的占用情况用不同的颜色画出;业务路径的拓扑图用相同的方法画出。
所述步骤二中卷积神经网络采用的是轻量型卷积神经网络mobilenetv3,轻量型卷积神经网络mobilenetv3把标准的卷积层分解为深度卷积和点卷积的形式:第一层卷积层的卷积核为3、步长为2、填充为1;第二层是15层的输入输出通道、卷积核、步长都已经确定的block层;第三层的卷积核为1、步长为1;第四层是卷积核为7的平均池化层;经过两层1×1的卷积层降维。
将轻量型卷积神经网络mobilenetv3提取到的特征输入softmax分类器得到动作的概率分布,概率分布越高,选择动作对应的波长的几率就越大。
所述轻量型卷积神经网络mobilentv3的激活函数为:
所述步骤三中可用资源为在该波长的网络拓扑中,当前业务请求对应位置的端口、收发器、放大器和带宽有空闲资源;所述首次适应方法按照波长的编号遍历所有的波长,寻找第一个有可用资源的波长进行分配;根据所分配到的波长对网络能耗造成的影响计算得到一个奖励值。
所述步骤四中强化学习算法采用的是actor-critic算法,actor-critic算法包括actor网络和critic网络,actor网络和critic网络共用一个神经网络,actor网络负责把业务疏导到正确的部分,critic网络用来评判动作的质量,得到value值;所述拓扑的网络状态表示的是轻量型卷积神经网络mobilenetv3提取的网络特征,动作表示的是选择的波长,奖励值对应每一个业务疏导的结果,业务进入拓扑网络后占用的资源越少,奖励值越大。
所述步骤四中根据业务请求的分配情况更新拓扑的网络状态,即对改变的波长重新画图,其它波长的拓扑图保持不变,并用步骤一的方法画出下一个业务请求的拓扑图。
所述步骤五中更新卷积神经网络的方法为:通过计算出总的损失更新卷积神经网络:
lt=lv·cv la e·ce,
其中,ri表示总奖励值,v(s,θ)表示值函数,s表示网络状态,θ表示网络参数,lv是总奖励值和值函数的均方误差,la是策略函数和总奖励值与值函数的差的交叉熵;e为熵、评价动作的可能性差异;lt表示总损失,cv和ce分别表示值损失和熵的系数;
通过梯度下降法更新网络参数θ。
本发明的有益效果:对于一个静态的点到点业务请求,将业务和按波长切割后的网络拓扑转换为图片的形式;通过提取图片的特征把业务分配到某一波长,如果该波长上有可用资源,那么成功分配,如果无可用资源,则遍历所有波长直到能够成功分配该业务;每一次成功分配,根据降低的能耗的多少都可以得到一个奖励值,通过强化学习不断地更新网络;本发明把每一个业务和网络的每一个波长转换成图片,用不同的大小、形状和颜色表示不同位置端口、收发器和放大器的占用情况,用不同颜色的线代表链路带宽的占用情况,采用卷积神经网络自动提取网络拓扑的有效特征;为了使流量疏导更加智能化,本发明采用强化学习的方法将所有的业务成功分配并使总体能耗较少。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程示意图。
图2为本发明转换后的网络拓扑图,其中,(a)为按波长切片的其中一波长的网络拓扑图,(b)为业务拓扑图。
图3为算法核心部分的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种云-雾弹性光网络中的深度强化学习流量疏导方法,其步骤为:
步骤一:对于一个业务请求r=(s,d,t),s和d分别代表源节点和目的节点,t代表该业务的带宽需求,通过最短路径算法(dijkstrashortestpath,dsp)计算业务请求r的最短路径。然后将业务路径和按波长切片的网络拓扑转换为图片的形式。
把弹性光网络中每条链路的带宽资源按照波长分为5部分,它们的初始状态是一样的,当业务请求来临时,可以选择分配到任一波长,只改变当前波长的状态,即把该业务分配到当前的波长,改变相应位置的端口、收发器、放大器和带宽占用的情况。如图2所示,在描述nsfnet(美国国家科学基金网)网络时,用黑色的圆点表示节点,用11种不同颜色的线来表示链路上带宽使用的不同,节点附近的彩色的点分别表示端口、收发器和放大器。每个随机生成的业务包含源节点、目的节点和所需要占用的带宽,用dsp算法计算出源节点和目的节点间的最短路径。
所述按波长切片的网络拓扑和业务路径转换为图片的形式的方法是:首先根据节点位置和链路的连通情况画出节点和链路,然后根据端口、收发器和放大器的占用情况用不同颜色和大小的点分别画出。
如图2所示,在描述nsfnet(美国国家科学基金网)网络时,图2(a)表示按波长切片的网络拓扑的其中一个波长的图,首先根据给定的网络节点的坐标,用黑色的实心圆点画出节点,然后根据给定的链路的连通情况和当前波长的网络拓扑中所有链路上带宽的占用情况用不同的颜色画出链路。最后用较小的圆点表示端口和收发器,用较大的圆点表示放大器,同样地根据不同的占用情况用不同的颜色画出。对于业务拓扑图来说,用相同的方法画出。
步骤二:用卷积神经网络提取所有图片的特征,并用softmax分类器进行分类,决定将该业务请求分配到哪一个波长。
所述步骤二中卷积神经网络采用的是轻量型卷积神经网络mobilenetv3,把标准的卷积层分解为深度卷积和点卷积的形式,大大提升了运算速度。如图3所示,将5个波长的网络拓扑图和业务拓扑图输入轻量型卷积神经网络mobilenetv3,该卷积神经网络的第一层卷积层的卷积核为3、步长为2、填充为1;然后是15层的输入输出通道、卷积核、步长都已经确定的block层。此时输出的维度为7×7×160,下一层的卷积核为1、步长为1。然后是卷积核为7的平均池化层,最后经过两层1×1的卷积层降维。需要注意的是最后一层没有激活函数,因为降维后激活函数的存在会破坏提取到的特征。然后将提取到的特征输入softmax分类器得到动作的概率分布,概率分布越高,选择动作对应的波长的几率就越大。
使用
步骤三:如果分配到的波长有可用资源,即检测到在该波长的网络拓扑中,当前业务请求对应位置的端口、收发器、放大器和带宽有空闲资源,那么该业务成功分配,如果没有可用资源,根据首次适应(firstfit,ff)的方法遍历所有的波长对业务请求r进行分配。最后,无论一个业务请求r用什么方法进行分配,都会根据减少的能耗得到一个奖励值。
对于此方法决定的波长,如果该波长上的端口、收发器、放大器和带宽均有空闲资源,就可以对当前的业务请求r进行分配,即把在当前波长中业务请求r对应的位置占用对应的端口、收发器、放大器和带宽资源。如果有一个无法满足需求,那么采用ff方法,即按照波长的编号遍历所有的波长,寻找第一个有可用资源的波长进行分配。最后,根据所分配到的波长对网络能耗造成的影响按照表1得到一个奖励值(reward)。
表1计算奖励值的对应表
步骤四:每一个业务分配完成后,利用强化学习算法对步骤三的行为进行评价,生成一个value值,并更新拓扑网络的状态,生成下一个业务请求的最短路径拓扑图。
本发明的强化学习算法采用的是actor-critic(ac)算法,actor-critic算法包括actor网络和critic网络,强化学习算法的actor网络和critic网络共用一个神经网络,actor网络负责把业务疏导到正确的部分从而减少网络能耗,critic网络被用来评判动作的质量。网络状态表示的是轻量型卷积神经网络mobilenetv3提取的网络特征,动作表示的是选择的波长,奖励值对应每一个业务疏导的结果,业务进入拓扑网络后占用的资源越少,奖励值越大,否则奖励值越小甚至是惩罚。value值是critic网络对相应的动作做出的评价。
每一个业务请求分配完成后,要对当前选择的动作做出评价,提取到的特征输入critic网络会得到一个value值,为后面网络更新做准备。并根据业务的分配情况更新拓扑网络状态,即对改变的波长重新画图,其它波长的拓扑图保持不变,并用步骤一所述同样的方法画出下一个业务请求的拓扑图。
步骤五:重复步骤一-四,每当五个业务请求分配完成后,根据网络状态、动作、奖励值和value值来更新神经网络。
下面就是具体的更新方法:可以根据公式(7)、(8)、(9)计算出总的损失从而更新网络:
lt=lv·cv la e·ce(9)
其中,ri表示总奖励值,v(s,θ)表示值函数,s表示网络状态,θ表示网络参数,lv是总奖励值和值函数的均方误差,la是策略函数和总奖励值与值函数的差的交叉熵,最后通过梯度下降法更新网络参数θ。引入熵e是为了评价动作的可能性差异,当熵e收敛到一定的值时,说明学习到了一个较好的策略,能够高效节能地疏导所有的业务。lt表示总损失,cv、ce分别表示值损失和熵的系数,默认为0.5和0.01。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,其步骤如下:
步骤一:对于一个业务请求r=(s,d,t),通过最短路径算法计算业务请求r的最短路径;将业务请求r的业务路径和按波长切片的网络拓扑转换为图片的形式;其中,s和d分别代表源节点和目的节点,t代表业务请求r的带宽需求;
步骤二:用卷积神经网络提取步骤一中所有图片的特征,并用softmax分类器进行分类,根据分类结果将业务请求分配到相应的波长;
步骤三:如果分配到的波长有可用资源,那么该业务请求成功分配,如果没有可用资源,根据首次适应方法遍历所有的波长对业务请求r进行分配,根据减少的能耗得到一个奖励值;
步骤四:每一个业务请求分配完成后,利用强化学习算法对步骤三进行评价,生成一个value值,并更新拓扑的网络状态,生成下一个业务请求的最短路径拓扑图;
步骤五:重复步骤一-步骤四,每当至少三个业务请求分配完成后,根据网络状态、动作、奖励值和value值来更新卷积神经网络。
2.根据权利要求1所述的云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,所述步骤一中从源节点s到目的节点d的每条链路的带宽资源按照波长分为5部分,当业务请求来临时,选择分配到任一波长,只改变当前波长的状态,即把该业务请求分配到当前的波长,改变相应位置的端口、收发器、放大器和带宽占用的情况。
3.根据权利要求2所述的云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,所述业务路径和按波长切片的网络拓扑转换为图片的形式的方法是:根据节点位置和链路的连通情况画出节点和链路,根据端口、收发器和放大器的占用情况用不同颜色和大小的点分别画出;按波长切片的网络拓扑的其中一个波长的图片为:首先根据给定的网络节点的坐标,用黑色的实心圆点画出节点;然后根据给定的链路的连通情况和当前波长的网络拓扑中所有链路上带宽的占用情况用不同的颜色画出链路;最后用较小的圆点表示端口和收发器,用较大的圆点表示放大器,同样地根据不同的占用情况用不同的颜色画出;业务路径的拓扑图用相同的方法画出。
4.根据权利要求1或3所述的云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,所述步骤二中卷积神经网络采用的是轻量型卷积神经网络mobilenetv3,轻量型卷积神经网络mobilenetv3把标准的卷积层分解为深度卷积和点卷积的形式:第一层卷积层的卷积核为3、步长为2、填充为1;第二层是15层的输入输出通道、卷积核、步长都已经确定的block层;第三层的卷积核为1、步长为1;第四层是卷积核为7的平均池化层;经过两层1×1的卷积层降维。
5.根据权利要求4所述的云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,将轻量型卷积神经网络mobilenetv3提取到的特征输入softmax分类器得到动作的概率分布,概率分布越高,选择动作对应的波长的几率就越大。
6.根据权利要求4所述的云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,所述轻量型卷积神经网络mobilentv3的激活函数为:
7.根据权利要求1、4或5中任意一项所述的云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,所述步骤三中可用资源为在该波长的网络拓扑中,当前业务请求对应位置的端口、收发器、放大器和带宽有空闲资源;所述首次适应方法按照波长的编号遍历所有的波长,寻找第一个有可用资源的波长进行分配;根据所分配到的波长对网络能耗造成的影响计算得到一个奖励值。
8.根据权利要求7所述的云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,所述步骤四中强化学习算法采用的是actor-critic算法,actor-critic算法包括actor网络和critic网络,actor网络和critic网络共用一个神经网络,actor网络负责把业务疏导到正确的部分,critic网络用来评判动作的质量,得到value值;所述拓扑的网络状态表示的是轻量型卷积神经网络mobilenetv3提取的网络特征,动作表示的是选择的波长,奖励值对应每一个业务疏导的结果,业务进入拓扑网络后占用的资源越少,奖励值越大。
9.根据权利要求8所述的云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,所述步骤四中根据业务请求的分配情况更新拓扑的网络状态,即对改变的波长重新画图,其它波长的拓扑图保持不变,并用步骤一的方法画出下一个业务请求的拓扑图。
10.根据权利要求1、8或9中任意一项所述的云-雾弹性光网络中的深度强化学习流量疏导方法,其特征在于,所述步骤五中更新卷积神经网络的方法为:通过计算出总的损失更新卷积神经网络:
lt=lv·cv la e·ce,
其中,ri表示总奖励值,v(s,θ)表示值函数,s表示网络状态,θ表示网络参数,lv是总奖励值和值函数的均方误差,la是策略函数和总奖励值与值函数的差的交叉熵;e为熵、评价动作的可能性差异;lt表示总损失,cv和ce分别表示值损失和熵的系数;
通过梯度下降法更新网络参数θ。
技术总结