一种基于可编程数据平面的网内神经计算系统技术方案

技术编号:34734247 阅读:11 留言:0更新日期:2022-08-31 18:24
本发明专利技术涉及计算机技术领域,具体涉及一种基于可编程数据平面的网内神经计算系统。该系统包括:获取模块用于获取本交换机上用于与其他交换机相连的端口;确定模块用于在所述本交换机启动并初始化之后,收到相邻端发送的数据包,并确定数据包类型;权重更新模块用于基于所述数据包类型和应用在数据平面上的推理算法,更新本交换机的权值。本发明专利技术基于P4在可编程数据平面上结合机器学习的模型方法实现流量的路由优化。同时为了降低CPU的负荷,采用智能网卡/DPU引入P4可编程数据平面可以支持用户更灵活的配置。其中智能网卡/DPU旨在为CPU卸载网络及存储的处理资源,同时可以支持更灵活的数据平面更改。活的数据平面更改。活的数据平面更改。

【技术实现步骤摘要】
一种基于可编程数据平面的网内神经计算系统


[0001]本专利技术涉及计算机
,尤其涉及一种基于可编程数据平面的网内神经计算系统。

技术介绍

[0002]在传统的网络基础架构中,流量的可靠性传输对数据中心网络提出了更高的健壮性、服务质量(QoS)、时延等方面的要求,并且网络中产生的复杂多元通信流量呈指数级增长。
[0003]然而当前集中式基础架构中的控制和管理主要部署在终端主机或远程控制器上,需要不断从网络中收集大量的异构数据分析推断网络特征,造成了过多的通信与计算开销,进而表现出笨拙和迟缓的网络动态响应,无法为互联网实现业务的多样化服务请求,提供QoS保障。在未来海量数据流量的应用场景下现有的网络架构渐渐暴露其自身的不足之处。

技术实现思路

[0004]针对传统的网络基础架构存在的不足问题,本专利技术提供了一种基于可编程数据平面的网内神经计算系统,从根本上改变可编程数据平面只能进行启发式计算的现状,实现网内神经计算机制,不需要把将要分析的数据发送到控制平面的运行学习算法来完成。
[0005]为实现上述目的,本专利技术实施例提供了如下的技术方案:
[0006]第一方面,在本专利技术提供的一个实施例中,提供了一种基于可编程数据平面的网内神经计算系统,包括:
[0007]获取模块,用于获取本交换机上用于与其他交换机相连的端口;
[0008]确定模块,用于在所述本交换机启动并初始化之后,收到相邻端发送的数据包,并确定数据包类型;
[0009]权重更新模块,用于基于所述数据包类型和应用在数据平面上的推理算法,更新本交换机的权值。
[0010]作为本专利技术的进一步方案,所述获取模块用于获取本交换机上用于与其他交换机相连的Tfit端口。
[0011]作为本专利技术的进一步方案,所述基于可编程数据平面的网内神经计算系统中还包括网关,所述网关为一对数据平面交换机及所述数据平面交换机的控制器,其中,所述控制器与交换机并置或托管在同一域内的不同设备中。
[0012]作为本专利技术的进一步方案,所述数据平面交换机包括数据平面开关,所述数据平面开关用于解析数据包中包含的不同协议的头文件,并根据所述头文件的字段确定所述数据包的转发或阻止的对象。
[0013]作为本专利技术的进一步方案,所述数据平面交换机还用于使用流级特征执行转发决策,采用字符串表示不同类型的特征,通过给定网关支持的一组功能,将固定序列连接以获
得一维矢量,其中,在所述数据平面交换机中,向量的每个元素均采用二进制,向量表示为x0,表征数据包分类的输入。
[0014]作为本专利技术的进一步方案,在对数据包处理时,在每个网关处找到相对应的一个函数y=f
n
(x0),其中,y为一个表示数据包类型预测的一维二进制矢量。
[0015]作为本专利技术的进一步方案,所述基于可编程数据平面的网内神经计算系统中,每个网关独立在所述网关的数据平面中执行函数y。
[0016]作为本专利技术的进一步方案,所述权重更新模块中,采用二维向量表示第l层的神经元权重,用x
l
‑1表示第l层的输入,则第l层的输出为:
[0017][0018]其中,n表示网关。
[0019]作为本专利技术的进一步方案,所述基于可编程数据平面的网内神经计算系统中,对数据包进行处理时,训练神经网络以获得最佳权重,其中,训练神经网络以获得最佳权重的方法,包括:
[0020]在网关n的控制器中存储W
n
并进行后向传播,使数据平面进行二进制前向传播。
[0021]作为本专利技术的进一步方案,在网关n的控制器训练时,包括步骤:
[0022]步骤S1、确定X
n
,Y
n
,分别代表在交换机n中训练的一批输入和标签;
[0023]步骤S2、确定权值,为控制平面中的实值权重,为数据平面中的实值权重;
[0024]步骤S3、确定输出,为每个域内的权重更新值以及学习率η;
[0025]步骤S4、在一个域内执行前向传播,位于当前层时,遍历该层的所有卷积核;
[0026]步骤S5、当对神经网络的所有层处理完成后,更新学习率。
[0027]作为本专利技术的进一步方案,在步骤S4中,每层的滤波器k,得到和执行前向传播BinaryForward(X,W
1t
,W
1b,2
)输出Y值,执行反向传播BinaryBackward(L(X,Y),W
1t
)输出当前域的局部权重更新值W;在步骤S4中执行前向传播处理持续到神经网络的第L层。
[0028]作为本专利技术的进一步方案,在步骤S4中,当在n域内时,
[0029]此时k值为第l层第k个滤波器;
[0030][0031][0032]在步骤S5中,当对神经网络的所有层处理完成后,更新学习率,即η
t+1
=UpdateLearningrate(η
t
,t)。
[0033]作为本专利技术的进一步方案,所述基于可编程数据平面的网内神经计算系统中,在交换机内的进行推理时,包括以下步骤:
[0034]步骤S11、确定输入;输入x0为二进制输入样本和权值W为L层的权值;
[0035]步骤S12、确定输出;y值为计算结果;
[0036]步骤S13、对神经网络第一层进行处理操作,此时的输入x1应为
[0037]步骤S14、对神经网络第二层进行处理,此时x2为sign(XnorDotProduct(x1,W
1b
)),其中,x1为第二层经过处理后;
[0038]步骤S15、对于其余层的处理如上述处理即可,即当进行到第L层此时应对y值进行输出,即输出值y值为
[0039]第二方面,在本专利技术提供的又一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现基于可编程数据平面的网内神经计算系统中网内神经计算的步骤。
[0040]第三方面,在本专利技术提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述基于可编程数据平面的网内神经计算系统中网内神经计算的步骤。
[0041]本专利技术提供的技术方案,具有如下有益效果:
[0042]本专利技术提供了一种基于可编程数据平面的网内神经计算系统,考虑到P4语言当前支持运算的限制,利用构建二值化神经网络模型(XNOR

Net)部署到数据平面来保证路由优化;通过构建该转发模型,可以使得数据到达其处理目的地之前,在网络中运行数据包处理方法,不仅将减少网络流的处理负载,还将更高的保证Qos需求。
[0043]因此,本专利技术提供了一种基于可编程数据平面的网内神经计算系统,是基于P4在可编程数据平面上结合机器学习的模型方法实现流量的路由优化。同时为了降低CPU的负荷,采用智能本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于可编程数据平面的网内神经计算系统,其特征在于,包括:获取模块,用于获取本交换机上用于与其他交换机相连的端口;确定模块,用于在所述本交换机启动并初始化之后,收到相邻端发送的数据包,并确定数据包类型;权重更新模块,用于基于所述数据包类型和应用在数据平面上的推理算法,更新本交换机的权值。2.如权利要求1所述的基于可编程数据平面的网内神经计算系统,其特征在于,所述基于可编程数据平面的网内神经计算系统中还包括网关,所述网关为一对数据平面交换机及所述数据平面交换机的控制器,其中,所述控制器与交换机并置或托管在同一域内的不同设备中。3.如权利要求2所述的基于可编程数据平面的网内神经计算系统,其特征在于,所述数据平面交换机包括数据平面开关,所述数据平面开关用于解析数据包中包含的不同协议的头文件,并根据所述头文件的字段确定所述数据包的转发或阻止的对象。4.如权利要求3所述的基于可编程数据平面的网内神经计算系统,其特征在于,所述数据平面交换机包括数据平面开关,所述数据平面开关用于解析数据包中包含的不同协议的头文件,并根据所述头文件的字段确定所述数据包的转发或阻止的对象。5.如权利要求4所述的基于可编程数据平面的网内神经计算系统,其特征在于,所述数据平面交换机还用于使用流级特征执行转发决策,采用字符串表示不同类型的特征,通过给定网关支持的一组功能,将固定序列连接以获得一维矢量,其中,在所述数据平面交换机中,向量的每个元素均采用二进制,向量表示为x0,表征数据包分类的输入。6.如权利要求1

5任一项所述的基于可编程数据平面的网内神经计算系统,其特征在于,在对数据包处理时,在每个网关处找到相对应的一个函数y=f
n
(x0),其中,y为一个表示数据包类型预测的一维二进制矢量,其中,每个网关独立在所述网关的数据平面中执行函数y。7.如权利要求6所述的基于可编程数据平面的网内神经计算系统,其特征在于,所述权重更新模块中,采用二维向量表示第l层的神经元权重,用x
l

【专利技术属性】
技术研发人员:刘亚志吴倩倩杨志刚李伟
申请(专利权)人:华北理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1