数据中心光互连网络拓扑可重构研究
2022-02-21郭秉礼杨鸿珍王彦波孟泠宇黄善国
杨 雯,郭秉礼,杨鸿珍,王彦波,范 超,孟泠宇,黄善国
(1. 北京邮电大学 电子工程学院 信息光子学与光通信国家重点实验室,北京 100867;2. 国网浙江省电力有限公司信息通信分公司,杭州 310036)
0 引 言
传统数据中心采用基于电交换技术的网络架构,但随着数据流量需求的不断增大,传统电交换网络已无法满足高效承载高速数据交互的需求[1]。同时,随着部署在数据中心中的应用类型日趋多样化,其流量分布特征差异较大,当网络流量分布特征随时间变化时,其适应性和灵活性差,无法保证网络性能[2]。
光电混合组网技术具备灵活的链路连接特性,这为网络拓扑重构以适配不同应用和服务产生的各种流量分布提供了可能性[3]。对于光电混合互连的数据中心网络,可以由一个集中的软件定义网络(Software Defined Network,SDN)控制器来控制底层电和光交换设备,进而实现流量的精确调度和拓扑重构[4-5]。同时,机器学习(Machine Learning,ML)具备出色的大规模数据自动处理、分类和智能决策能力[6]。在现有ML技术中,深度强化学习(Deep Reinforcement Learning,DRL)将深度学习(Deep Learning,DL)的感知能力和强化学习(Reinforcement Learning,RL)的决策能力相结合,通过与目标系统环境的反复交互,使得学习复杂任务控制策略成为可能。随着SDN相关控制软件框架与基于意图的网络驱动技术的快速演进,使得结合ML等智能化决策机制的网络自动化控制成为可能[7]。
本文提出了一种基于DRL的网络拓扑重构优化策略,在不同的网络流量分布下,可以通过拓扑重构来降低业务的端到端时延。实验结果表明,在75%的流量强度下,与传统基于固定拓扑的网络相比,结合网络拓扑重构优化机制的光电混合网络将平均网络延迟降低了约53.8%,丢包率降低约60.0%。
1 架构介绍
在网络优化方面,目前研究主要集中在使用ML技术来解决路由优化以提升业务端到端时延和丢包等网络性能。传统的路由优化方法[8-9]大都采用蚁群和遗传算法等启发式算法对数据流的路由选择进行优化,然而由于启发式算法仅适用于特定问题,当网络状态改变时,算法的参数需要再调整,从而导致潜在的可扩展性问题。在文献[10]中,Li等人提出了一种基于多ML方法的路径预设计方案,该方案利用合适的聚类算法提取流特征,利用监督学习机制对流量需求进行预测,然后根据不同约束因素的权重,提出了一种基于层次分析法的自适应多路径路由方法;文献[11]在解决动态路由规划问题时,采用深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG) 算法作为策略算法来实现自适应路由,体现了DDPG算法在连续动作空间训练中的有效性,实现了DRL与网络仿真环境的交互。
随着光交换器件和系统控制理论等多方面技术的进步,基于对光交换设备的重新配置可以实现网络物理连接层面的动态重构。与传统只针对路由进行优化的技术相比,根据流量通信模式变化的拓扑重构技术为提升网络性能提供了更加灵活和彻底的解决方案。因此,本文拟研究在数据中心光互连网络中引入DRL Agent的方式来进行拓扑重构,进而优化网络性能。Agent可以通过对网络监控信息的感知与抽象,进行拓扑的重构训练,从而完成预先设定的任务。在DRL算法选择方面,文献[11]验证了DDPG算法在连续动作空间的条件下与网络交互训练的有效性;文献[12]使用DDPG算法将连续的动作空间离散化,解决了推荐系统的大规模离散动作空间训练问题。
由于DDPG算法在连续动作空间中与网络的交互训练在降低网络时延及丢包率方面表现较好,本文设计了一个DRL Agent,采用DDPG算法作为主要算法进行Agent的训练,针对拓扑矩阵的离散性,利用连续动作离散化训练的方式,将动作空间进行离散化处理来与网络进行交互,实现拓扑重构与网络仿真环境的动态交互与连续训练。同时,针对数据中心互连网络的场景,设计了采用光电混合交换框架的可重构数据中心网络架构。图1所示为整体架构及DRL Agent与网络的交互。
图1 可重构数据中心网络整体架构
由图可知,整个系统根据功能分为3层,由下到上分别为DP、CP与KP[13]。
KP通过收集到的网络拓扑和性能信息可以分析发现数据平面的问题所在,并自动修复检测到的问题。通过重新配置光交换设备,可实现不同的互连拓扑,以适应不同业务分布的通信需求[14]。
SDN控制器管理DP的网络连接,同时将DP的实际网络状况,如网络延迟和拓扑等性能信息反馈给KP。KP通过对相关性能数据的分析,触发相应的网络优化流程与策略。同时该KP在所提可重构架构中具有ML的智能决策模块,即DRL Agent。SDN控制器会统计所有接口的流量信息,实时监测队列排队的缓存使用情况,并周期性地收集统计。将收集到的流量信息以矩阵的形式输入到DRL Agent,Agent根据流量的分布情况可生成有效的网络策略,决策出适合的网络拓扑,再将选出的网络拓扑以邻接矩阵的形式传递给CP,即SDN控制器,由SDN控制器实现全局、实时和定制化的网络控制。
架构的底层为实际的网络连接,每个相邻节点相连形成基于电交换的环结构,同时每个节点通过光电转换接口向上与OCS相连,用于电子分组信息与光信号之间的转换。选择好拓扑后,SDN控制器向DP发送拓扑重构信息,由OCS重新配置交叉连接,从而实现网络拓扑的动态改变。本文主要关注DRL Agent与OMNeT++软件仿真环境的训练过程。
2 DRL Agent机制
DRL Agent与网络的交互如图1顶部所示,其由状态、动作和奖励3种信号通过SDN控制器与网络进行交互。具体来说,状态s是指每个时间节点环境的状态,包含了整个拓扑的关键信息,形式为拓扑邻接矩阵的对角矩阵,以列表的形式表示。动作a是指在每个状态s中Agent可以采取的动作,以拓扑邻接矩阵的完整形式表示。另外,定义奖励反馈为r,Agent会根据奖励r反馈优化决策过程,以网络的平均时延作为奖励。Agent的目的是确定最优的行为策略η,即从状态空间到动作空间的映射(η:s→a),以最大化期望的奖励(最小化网络延迟)。可通过使用两个深度神经网络来迭代地改进对这3个信号间关系的了解[15]。
2.1 算法中动作选择策略的分析
在DRL系统中,当下主流的动作选择策略主要有两类:基于价值的策略和基于Actor神经网络进行选择的策略。对于基于价值的策略,策略的决策直接取决于价值函数,价值函数表示了在某个状态下不同动作的价值。而对于价值函数来说,通常采用贪婪的方式进行选择,即选择价值最大的动作。通常情况下,价值函数是一个参数化函数,其将状态和动作作为输入Q(s,a),Q()为价值函数,在选择动作a时需要在动作集合A中对每个动作进行评估,从而得到使得价值最大的动作策略ηQ(s)。但当参数化函数的评估成本很高时,比如在使用深度神经网络(Deep Neural Networks,DNN)的情况下,执行复杂度会随着动作的数量线性增长,使得该方法变得难以处理。
基于Actor的架构避免了在式(1)中对argmax中的每个动作进行Q函数计算来评估所产生的巨大计算成本。Actor通过将策略参数化,从而直接学习策略。这样做的好处是,与基于价值策略相比,拥有更好的收敛性及适用于高维连续动作空间,但缺点是容易收敛到非最优解。另外,因为每次策略的更新不依赖以往的估计,意味着无法充分利用老的信息,因此数据利用率较低,泛化性较弱,不能扩展到以前未见过的动作。所以,基于Actor的方法不能像基于价值的方法那样自然地在动作空间中推广。
降低动作空间的复杂度和对行动进行概括的能力对于提高模型训练的效率和泛化能力来说都是必要的。目前的方法不能同时满足以上两点,这促使我们需要对选择动作策略进行优化和改进。
2.2 动作选择策略的改进
基于对以上两个问题的分析,本文提出了一种新的策略体系结构,这种体系结构避免了评估所有动作的昂贵代价,同时保留了动作的泛化。这种策略建立在演员-评论家(Actor-Critic, AC)框架[15]之上。定义一个有效的行动执行者Actor,并利用Critic来完善Actor的选择,使用DNN作为Actor和Critic函数的逼近器,使用DDPG算法来训练该策略。具体过程如下:
首先通过设计算法得到固定网络规模下所有合法拓扑的集合作为KP训练时的选择动作集A。定义为
图2 动作选择过程
式中,QθQ()为一个由θQ参数化的函数,θ为Q的参数。该算法保留了Actor神经网络进行动作选择相对于基于价值函数策略在动作选择复杂度方面的改进,同时为了解决基于Actor的策略泛化能力弱的问题,在选择动作时加入了K-NN算法进行特征分类。为了避免经K-NN算法分类后可能会有一些特征上相似但Q值很低的动作被选择,增加了一步对选择出的K个动作的价值计算,选择这K个动作中价值最高的动作作为最终动作,整体在不提高复杂度的前提下增强了模型的泛化性。
整体的算法流程如下:
获取环境的状态s;
3 仿真结果与性能分析
3.1 仿真平台设置
本文基于OMNeT++离散事件仿真器和TensorFlow开源ML平台,分别构建了重构网络仿真环境和DRL Agent模型,并对两者进行了联合仿真实验。仿照常见的数据中心光电混合互连网络架构,本文建立了一个14个节点和3个节点度规模的网络拓扑,所有的架顶交换机(Top of Rack, ToR)相邻连接,形成一个固定的环结构,所有的ToR 通过光电转换接口向上与OCS相连,通过重新配置OCS内部交叉连接可以实现拓扑重构,从而满足不同应用的通信需求,如图3所示。其中具体的拓扑配置,即选择的动作,由Agent基于以上动作选择策略进行选择,同时我们在选择动作的过程中增加了一个随机的探索策略,以避免在训练过程中陷入局部最小值,设置回合数为10,每个回合步数为100。
图3 网络拓扑图
3.2 训练参数选择
若Agent每次更新参数时都要与环境互动,就大大降低了模型参数更新的效率,所以经验回放机制被提出。该机制类似于一个有固定空间大小的存储器,把Agent与环境互动所产生的部分结果进行存储,等到了训练阶段时,每一次训练过程都会从该存储器中均匀采样出一批一定数量的样本用于Agent神经网络参数的更新。将所训练的样本数量分为多少个为一组,即batch size,这个值的大小与梯度下降的效率和结果直接相关。
假设训练样本共m个,若设置batch size为1,则每个样本都是一个batch size。若设置batch size为m,则所有样本组成这一个batch size。当设置batch size为m时,梯度下降称为批量梯度下降法,神经网络进行梯度下降时从最远的点开始,每次迭代需要遍历整个训练集,所以需要更大的内存空间;当设置batch size为1时,此时梯度下降称为随机梯度下降法,神经网络进行梯度下降时随机找一个点,每次迭代只处理一个训练数据,所以需要很长的时间来完成训练。
综上,batch size过小时,花费时间多,同时梯度震荡严重,不利于收敛;而batch size过大时,不同batch的梯度方向没有任何变化,容易陷入局部极小值,所以应该对 batch size的大小进行合理选择,从而在收敛时延与收敛时间之间达到一个较好的平衡。设置收敛时延的权重为0.7,收敛时间为0.3,将收敛时延及收敛时间进行归一化处理,加权求和后取相反数,作为最后的训练收益。
因为计算机字符都是以2的指数次幂进行存储的,所以设置batch size时尽量选择16、32、64、128和256 等。图4(a)为设置不同batch size训练得到的收敛时延和收敛时间情况,通过计算得出训练收益最大为-0.677,此时的batch size为64,模型在收敛的时延与时间之间达到了一个较好的平衡。
图4 不同batch size和K值率的训练情况
通常情况下,在K-NN算法中,生成的动作集K的大小是特定于任务的,并且允许在策略质量和速度之间进行一定的权衡。K-NN中的K值选取对算法的结果会产生重大影响。如果选择较小的K值,就相当于用较小领域中的训练实例进行预测,学习近似误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用,与此同时带来的问题是学习的估计误差会增大,即K值的减小意味着整体模型变得复杂,容易发生过拟合;如果选择较大的K值,就相当于用较大领域中的训练实例进行预测,其优点是可以减少学习的估计误差,但缺点是学习的近似误差会增大,这时输入不相似的训练实例也会对预测起作用,使预测发生错误,且K值的增大就意味着整体的模型变得简单。在实际应用中,K值一般取一个比较小的数值。K-NN算法作为选择动作的其中一步,对最终结果会产生间接影响,为了找到更适合重构拓扑模型训练的生成动作集大小,我们使用不同的K值进行训练并进行了效果的比对。图4(b)所示为设置不同K值率(K值占动作集数量的比率值)训练得到的收敛时延和收敛时间情况。由图中数据计算得到最大训练收益为-0.715,此时的K值率为20%,所以可以得出K值的选择在动作集数量的20%左右时可以达到一个策略质量和速度的平衡。
3.3 不同流量强度下的训练结果分析
本文采用占总网络容量25%~100% 4种强度级别的流量进行训练,在参数选择方面,每次训练选择动作集数量的20%作为K值、batch size为64,通过统计训练过程中的平均网络时延和丢包率来评估网络性能,验证策略的有效性。
图5所示为实验中不同流量强度下的平均网络时延和丢包率。由图可知,随着训练步数的增加,DRL Agent有效地降低了网络延迟和丢包率。不同网络流量强度下收敛的速度不同,由统计数据可知,流量越大即网络的复杂性越高,需要收敛的步数越多,大约500步后,不同流量强度下的网络时延和丢包率将收敛到一个稳定的低值,相比于初训练时的网络性能有了大幅度的提升,如图中75%的流量强度下,平均网络延迟从3.25 s下降到1.50 s左右,整体降低了约53.8%,同时丢包率降低约60%。
图5 不同流量强度下的平均网络时延和丢包率
3.4 模型测试
为了测试模型的训练效果,我们分别向训练前与训练后的模型输入不同强度的流量,并记录它们的平均网络延迟,如图6(a)所示。由图可知,训练后模型整体的平均网络时延大小及稳定性都明显优于未训练的模型。
同时,为了评估策略在DRL Agent选择行动时的优势,我们将K-NN算法与随机策略和贪心算法在50%流量强度的情况下进行了比较。每个训练过程设置为500步,共使用了14个不同的流量矩阵。对于K-NN算法和随机策略,我们记录了每个流量下训练收敛的时延。由贪婪算法直接得到每个流量矩阵(Traffic Matrix,TM)下的网络时延。图6(b)为对比结果。实验结果表明,K-NN算法产生的时延总体趋势比随机策略和贪心算法的时延更低、更稳定。
图6 模型性能评估
4 结束语
针对数据中心网络中的链路拓扑固定连接导致的资源分配不合理和网络性能恶化的问题,本文提出并验证了一个完全自动化的DRL Agent,它使用DDPG算法来优化训练过程,通过SDN控制器来提供拓扑配置,通过自动重配网络拓扑使网络延迟达到最小化。同时,本文还设计了一种新的动作选择机制,从原始动作的生成再利用K-NN算法进行分类,最后根据价值择优选取,实现了连续动作空间的离散化。实验证明,通过这种方法使其能够在离散动作空间中有效地学习和行动,面对不同的流量实现了自适应重构拓扑,使网络资源得到了合理的分配,降低了网络的平均延迟和丢包率,达到了优化网络性能的目的。