CN114979033A - 一种基于可编程数据平面的网内神经计算*** - Google Patents

一种基于可编程数据平面的网内神经计算*** Download PDF

Info

Publication number
CN114979033A
CN114979033A CN202210663168.5A CN202210663168A CN114979033A CN 114979033 A CN114979033 A CN 114979033A CN 202210663168 A CN202210663168 A CN 202210663168A CN 114979033 A CN114979033 A CN 114979033A
Authority
CN
China
Prior art keywords
data plane
switch
computing system
programmable data
layer
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.)
Granted
Application number
CN202210663168.5A
Other languages
English (en)
Other versions
CN114979033B (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.)
North China University of Science and Technology
Original Assignee
North China University of Science and Technology
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 North China University of Science and Technology filed Critical North China University of Science and Technology
Priority to CN202210663168.5A priority Critical patent/CN114979033B/zh
Publication of CN114979033A publication Critical patent/CN114979033A/zh
Application granted granted Critical
Publication of CN114979033B publication Critical patent/CN114979033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及计算机技术领域,具体涉及一种基于可编程数据平面的网内神经计算***。该***包括:获取模块用于获取本交换机上用于与其他交换机相连的端口;确定模块用于在所述本交换机启动并初始化之后,收到相邻端发送的数据包,并确定数据包类型;权重更新模块用于基于所述数据包类型和应用在数据平面上的推理算法,更新本交换机的权值。本发明基于P4在可编程数据平面上结合机器学***面可以支持用户更灵活的配置。其中智能网卡/DPU旨在为CPU卸载网络及存储的处理资源,同时可以支持更灵活的数据平面更改。

Description

一种基于可编程数据平面的网内神经计算***
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于可编程数据平面的网内神经计算***。
背景技术
在传统的网络基础架构中,流量的可靠性传输对数据中心网络提出了更高的健壮性、服务质量(QoS)、时延等方面的要求,并且网络中产生的复杂多元通信流量呈指数级增长。
然而当前集中式基础架构中的控制和管理主要部署在终端主机或远程控制器上,需要不断从网络中收集大量的异构数据分析推断网络特征,造成了过多的通信与计算开销,进而表现出笨拙和迟缓的网络动态响应,无法为互联网实现业务的多样化服务请求,提供QoS保障。在未来海量数据流量的应用场景下现有的网络架构渐渐暴露其自身的不足之处。
发明内容
针对传统的网络基础架构存在的不足问题,本发明提供了一种基于可编程数据平面的网内神经计算***,从根本上改变可编程数据平面只能进行启发式计算的现状,实现网内神经计算机制,不需要把将要分析的数据发送到控制平面的运行学习算法来完成。
为实现上述目的,本发明实施例提供了如下的技术方案:
第一方面,在本发明提供的一个实施例中,提供了一种基于可编程数据平面的网内神经计算***,包括:
获取模块,用于获取本交换机上用于与其他交换机相连的端口;
确定模块,用于在所述本交换机启动并初始化之后,收到相邻端发送的数据包,并确定数据包类型;
权重更新模块,用于基于所述数据包类型和应用在数据平面上的推理算法,更新本交换机的权值。
作为本发明的进一步方案,所述获取模块用于获取本交换机上用于与其他交换机相连的Tfit端口。
作为本发明的进一步方案,所述基于可编程数据平面的网内神经计算***中还包括网关,所述网关为一对数据平面交换机及所述数据平面交换机的控制器,其中,所述控制器与交换机并置或托管在同一域内的不同设备中。
作为本发明的进一步方案,所述数据平面交换机包括数据平面开关,所述数据平面开关用于解析数据包中包含的不同协议的头文件,并根据所述头文件的字段确定所述数据包的转发或阻止的对象。
作为本发明的进一步方案,所述数据平面交换机还用于使用流级特征执行转发决策,采用字符串表示不同类型的特征,通过给定网关支持的一组功能,将固定序列连接以获得一维矢量,其中,在所述数据平面交换机中,向量的每个元素均采用二进制,向量表示为x0,表征数据包分类的输入。
作为本发明的进一步方案,在对数据包处理时,在每个网关处找到相对应的一个函数y=fn(x0),其中,y为一个表示数据包类型预测的一维二进制矢量。
作为本发明的进一步方案,所述基于可编程数据平面的网内神经计算***中,每个网关独立在所述网关的数据平面中执行函数y。
作为本发明的进一步方案,所述权重更新模块中,采用二维向量
Figure BDA0003691871380000022
表示第l层的神经元权重,用xl-1表示第l层的输入,则第l层的输出为:
Figure BDA0003691871380000021
其中,n表示网关。
作为本发明的进一步方案,所述基于可编程数据平面的网内神经计算***中,对数据包进行处理时,训练神经网络以获得最佳权重,其中,训练神经网络以获得最佳权重的方法,包括:
在网关n的控制器中存储Wn并进行后向传播,使数据平面进行二进制前向传播。
作为本发明的进一步方案,在网关n的控制器训练时,包括步骤:
步骤S1、确定Xn,Yn,分别代表在交换机n中训练的一批输入和标签;
步骤S2、确定权值,
Figure BDA0003691871380000032
为控制平面中的实值权重,
Figure BDA0003691871380000033
为数据平面中的实值权重;
步骤S3、确定输出,
Figure BDA0003691871380000034
为每个域内的权重更新值以及学习率η;
步骤S4、在一个域内执行前向传播,位于当前层时,遍历该层的所有卷积核;
步骤S5、当对神经网络的所有层处理完成后,更新学习率。
作为本发明的进一步方案,在步骤S4中,每层的滤波器k,得到
Figure BDA0003691871380000035
Figure BDA0003691871380000036
执行前向传播BinaryForward(X,W1 t,W1 b,2)输出Y值,执行反向传播BinaryBackward(L(X,Y),W1 t)输出当前域的局部权重更新值W;在步骤S4中执行前向传播处理持续到神经网络的第L层。
作为本发明的进一步方案,在步骤S4中,当在n域内时,
Figure BDA0003691871380000031
Figure BDA0003691871380000037
此时k值为第l层第k个滤波器;
Figure BDA0003691871380000038
Figure BDA0003691871380000039
在步骤S5中,当对神经网络的所有层处理完成后,更新学习率,即ηt+1=UpdateLearningrate(ηt,t)。
作为本发明的进一步方案,所述基于可编程数据平面的网内神经计算***中,在交换机内的进行推理时,包括以下步骤:
步骤S11、确定输入;输入x0为二进制输入样本和权值W为L层的权值;
步骤S12、确定输出;y值为计算结果;
步骤S13、对神经网络第一层进行处理操作,此时的输入x1应为
Figure BDA0003691871380000041
步骤S14、对神经网络第二层进行处理,此时x2为sign(XnorDotProduct(x1,W1 b)),其中,x1为第二层经过处理后;
步骤S15、对于其余层的处理如上述处理即可,即当进行到第L层
Figure BDA0003691871380000042
此时应对y值进行输出,即输出值y值为
Figure BDA0003691871380000043
第二方面,在本发明提供的又一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现基于可编程数据平面的网内神经计算***中网内神经计算的步骤。
第三方面,在本发明提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述基于可编程数据平面的网内神经计算***中网内神经计算的步骤。
本发明提供的技术方案,具有如下有益效果:
本发明提供了一种基于可编程数据平面的网内神经计算***,考虑到P4语言当前支持运算的限制,利用构建二值化神经网络模型(XNOR-Net)部署到数据平面来保证路由优化;通过构建该转发模型,可以使得数据到达其处理目的地之前,在网络中运行数据包处理方法,不仅将减少网络流的处理负载,还将更高的保证Qos需求。
因此,本发明提供了一种基于可编程数据平面的网内神经计算***,是基于P4在可编程数据平面上结合机器学***面可以支持用户更灵活的配置。其中智能网卡/DPU旨在为CPU卸载网络及存储的处理资源,同时可以支持更灵活的数据平面更改。
本发明的这些方面或其余方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。在附图中:
图1为本发明实施例的一种基于可编程数据平面的网内神经计算***的***框图。
图2为本发明一个实施例的一种基于可编程数据平面的网内神经计算***中网内神经计算的网络结构示意图。
图3为本发明一个实施例的计算机设备的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明示例性实施例中的附图,对本发明示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其余实施例,都属于本发明保护的范围。
由于传统的网络基础架构中,当前集中式基础架构中的控制和管理主要部署在终端主机或远程控制器上,需要不断从网络中收集大量的异构数据分析推断网络特征,造成了过多的通信与计算开销,进而表现出笨拙和迟缓的网络动态响应,无法为互联网实现业务的多样化服务请求,提供QoS保障。
传统的网络基础架构存在的不足问题,本发明提供的一种基于可编程数据平面的网内神经计算***,基于P4在可编程数据平面上结合机器学***面可以支持用户更灵活的配置。其中智能网卡/DPU旨在为CPU卸载网络及存储的处理资源,同时可以支持更灵活的数据平面更改。
因此,本申请针对传统的网络基础架构,从根本上改变可编程数据平面只能进行启发式计算的现状,实现网内神经计算机制,这不需要把将要分析的数据发送到控制平面的运行学***面来保证路由优化。通过构建该转发模型,可以使得数据到达其处理目的地之前,在网络中运行数据包处理方法,不仅将减少网络流的处理负载,还将更高的保证Qos需求。
需要特别说明的是,在本领域中,网关数据平面,即:可编程交换机。网关数据平面是指具有可编程性的分组转发设备,例如启用P4的交换机,SmartNICs和FPGA。二值化神经网络部署在每个网关的数据平面中,用于对传入数据包进行处理操作。数据平面从传入数据包的头文件中提取某些位作为神经网络的输入,并且通过一系列逐位操作获取二进制输出。在此推理过程之后,网关对流量执行普通分组转发,可以实现线速数据包处理。
在本领域中,网关控制平面,即:控制器。每个网关由具有通用CPU或GPU的单独边缘控制器管理。控制器可以本地部署在网关中或同一域内的另一个主机中。控制器维护具有与数据平面中相同结构的神经网络,在这里注意的是,不同之处在于权重和激活功能不是二值化的。该神经网络用于通过使用由数据平面收集的新网络迹线执行向后传播来随时间重新训练分类算法。控制器还保留API向数据平面写入权重值。
具体地,下面结合附图,对本申请实施例作进一步阐述。
参见图1所示,本发明的一个实施例提供一种基于可编程数据平面的网内神经计算***,该***包括获取模块100、确定模块200以及权重更新模块300。其中,所述获取模块100用于获取本交换机上用于与其他交换机相连的端口;所述确定模块200用于在所述本交换机启动并初始化之后,收到相邻端发送的数据包,并确定数据包类型;所述权重更新模块300用于基于所述数据包类型和应用在数据平面上的推理算法,更新本交换机的权值。
在本申请的一个实施例中,所述获取模块100用于获取本交换机上用于与其他交换机相连的Tfit端口。
在本申请的一个实施例中,参见图1和图2所示,所述基于可编程数据平面的网内神经计算***中还包括网关,所述网关为一对数据平面交换机及所述数据平面交换机的控制器,其中,所述控制器与交换机并置或托管在同一域内的不同设备中,获取本交换机上用于与其他交换机相连的端口。
在本申请的一个实施例中,所述数据平面交换机包括数据平面开关,所述数据平面开关用于解析数据包中包含的不同协议的头文件,并根据所述头文件的字段确定所述数据包的转发或阻止的对象。
在本申请的实施例中,数据平面开关能够解析数据包中包含的不同协议的头文件,并根据特定的头文件字段确定数据包应该在哪里转发(或阻止),这可以被视为数据包级别的功能。
在本申请的一个实施例中,所述数据平面交换机还用于使用流级特征执行转发决策,采用字符串表示不同类型的特征,通过给定网关支持的一组功能,将固定序列连接以获得一维矢量,其中,在所述数据平面交换机中,向量的每个元素均采用二进制,向量表示为x0,表征数据包分类的输入。
在本申请的实施例中,交换机还可以使用流级特征(例如流的数据包/字节计数)来做出适当的转发决策。用字符串表示这两种类型的特征很简单。因此,给定网关支持的一组功能,可以将它们与固定序列连接起来以获得一维矢量。向量的每个元素都是二进制的,将这个向量表示为x0,它是数据包分类的输入。
在本申请的一个实施例中,在对数据包处理时,在每个网关处找到相对应的一个函数y=fn(x0),其中,y为一个表示数据包类型预测的一维二进制矢量。
每个网关独立地在其数据平面中执行y,而无需其控制器或其他域的网关的帮助,在本申请的一个实施例中,所述基于可编程数据平面的网内神经计算***中,每个网关独立在所述网关的数据平面中执行函数y。其中,考虑到P4的运算,更具体地说,考虑一个具有完全连接的层的神经网络。
在本申请的一个实施例中,所述权重更新模块300中,采用二维向量
Figure BDA0003691871380000081
表示第l层的神经元权重,用xl-1表示第l层的输入,则第l层的输出为:
Figure BDA0003691871380000082
其中,n表示网关。
如果xl-1和W1 b都是二进制向量,这个操作就相当于两个比特串的XNOR的汉明权重。
为了高精度地对数据包进行处理,需要训练神经网络以获得最佳权重。在网关n的控制器中存储Wn并进行后向传播,只让数据平面进行二进制前向传播。除了这种一次性的训练,数据平面也有可能将传入数据包的推理结果实时报告给它的控制器,这样就可以随着时间的推移,在控制器中再次进行训练,以提高训练效果和后续路由优化的准确性。
在本申请的一个实施例中,所述基于可编程数据平面的网内神经计算***中,对数据包进行处理时,训练神经网络以获得最佳权重,其中,训练神经网络以获得最佳权重的方法,包括:
在网关n的控制器中存储Wn并进行后向传播,使数据平面进行二进制前向传播。
在网关n的控制器训练时,包括步骤:
步骤S1、确定Xn,Yn,分别代表在交换机n中训练的一批输入和标签;
步骤S2、确定权值,
Figure BDA0003691871380000091
为控制平面中的实值权重,
Figure BDA0003691871380000092
为数据平面中的实值权重;
步骤S3、确定输出,
Figure BDA0003691871380000093
为每个域内的权重更新值以及学习率η;
步骤S4、在一个域内执行前向传播,位于当前层时,遍历该层的所有卷积核;
在本申请的实施例中,在步骤S4中,每层的滤波器k,得到
Figure BDA0003691871380000094
Figure BDA0003691871380000095
执行前向传播BinaryForward(X,W1 t,W1 b,2)输出Y值,执行反向传播BinaryBackward(L(X,Y),W1 t)输出当前域的局部权重更新值W;在步骤S4中执行前向传播处理持续到神经网络的第L层。
步骤S5、当对神经网络的所有层处理完成后,更新学习率,即ηt+1=UpdateLearningrate(ηt,t)。
其中,η为学习率;此时是对η学习率进行更新。
在本申请的实施例中,(在一个域内,即n=1时)执行前向传播,位于当前层时,遍历该层的所有卷积核。每层的滤波器k,得到
Figure BDA0003691871380000096
Figure BDA0003691871380000097
就可以近似约等于原来的权重Wlk了,执行前向传播BinaryForward(X,W1 t,W1 b,2)输出Y值,执行反向传播BinaryBackward(L(X,Y),W1 t)输出当前域的局部权重更新值W。该处理一直持续到神经网络的第L层。
在本申请的实施例中,
Figure BDA0003691871380000098
为最优尺度因子α通过将权重各元素取绝对值再取平均值来得到,其中,α默认为正数;
Figure BDA0003691871380000099
为二值权重滤波器,即取原权重W的sign函数得到,其中,l>0。
需要注意的是,虽然二值化神经网络在数据平面中的推理时效率很高,但由于不能从二进制函数计算梯度,因此无法直接训练神经网络。它保留由Wn表示的实值权重。当通过正向传播计算损失函数时,使用二进制权重。但是,在下一步的向后传播过程中,将计算实值梯度并将其应用于权重更新。也就是说最后一层的NN权重未二值化。
因此,当在n域内:
Figure BDA0003691871380000101
Figure BDA0003691871380000102
此时k值为第l层第k个滤波器。
Figure BDA0003691871380000103
Figure BDA0003691871380000104
在本申请的实施例中,Wn为反向传播时权重的更新值。通过需要根据已知的二值化后的权值梯度,加上学习速率,对实数型权值进行更新。
在本申请的一个实施例中,所述基于可编程数据平面的网内神经计算***中,在交换机内的进行推理时,包括以下步骤:
步骤S11、确定输入;输入x0为二进制输入样本和权值W为L层的权值;
步骤S12、确定输出;y值为计算结果;
步骤S13、对神经网络第一层进行处理操作,此时的输入x1应为
Figure BDA0003691871380000105
其中,x0为第一层数据包输入,一维向量;
Figure BDA0003691871380000106
指此时第一层的权重。
步骤S14、对神经网络第二层进行处理,此时x2为sign(XnorDotProduct(x1,W1 b)),其中,x1为第二层经过处理后;
步骤S15、对于其余层的处理如上述处理即可,即当进行到第L层
Figure BDA0003691871380000107
此时应对y值进行输出,即输出值y值为
Figure BDA0003691871380000108
其中,xL-1为第L层数据包输入,一维向量,
Figure BDA0003691871380000109
为此时第L层的权重。
在一个实施例中,在本发明的实施例中还提供了一种计算机设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述的基于可编程数据平面的网内神经计算方法,该处理器执行指令时实现上述基于可编程数据平面的网内神经计算***中网内神经计算的步骤。
如图3所示,在本发明的实施例中提供了一种计算机设备1000,该计算机设备1000包括存储器1001和处理器1002,存储器1001中存储有计算机程序,该处理器1002被配置为用于执行所述存储器1001中存储的计算机程序。所述存储器1001用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器1002执行以实现上述基于可编程数据平面的网内神经计算***中网内神经计算的步骤。
在本发明的一个实施例中还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述基于可编程数据平面的网内神经计算***中网内神经计算的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。
综上所述,本发明提供了一种基于可编程数据平面的网内神经计算***,考虑到P4语言当前支持运算的限制,利用构建二值化神经网络模型(XNOR-Net)部署到数据平面来保证路由优化;通过构建该转发模型,可以使得数据到达其处理目的地之前,在网络中运行数据包处理方法,不仅将减少网络流的处理负载,还将更高的保证Qos需求。本发明提供了一种基于可编程数据平面的网内神经计算***,是基于P4在可编程数据平面上结合机器学***面可以支持用户更灵活的配置。其中智能网卡/DPU旨在为CPU卸载网络及存储的处理资源,同时可以支持更灵活的数据平面更改。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于可编程数据平面的网内神经计算***,其特征在于,包括:
获取模块,用于获取本交换机上用于与其他交换机相连的端口;
确定模块,用于在所述本交换机启动并初始化之后,收到相邻端发送的数据包,并确定数据包类型;
权重更新模块,用于基于所述数据包类型和应用在数据平面上的推理算法,更新本交换机的权值。
2.如权利要求1所述的基于可编程数据平面的网内神经计算***,其特征在于,所述基于可编程数据平面的网内神经计算***中还包括网关,所述网关为一对数据平面交换机及所述数据平面交换机的控制器,其中,所述控制器与交换机并置或托管在同一域内的不同设备中。
3.如权利要求2所述的基于可编程数据平面的网内神经计算***,其特征在于,所述数据平面交换机包括数据平面开关,所述数据平面开关用于解析数据包中包含的不同协议的头文件,并根据所述头文件的字段确定所述数据包的转发或阻止的对象。
4.如权利要求3所述的基于可编程数据平面的网内神经计算***,其特征在于,所述数据平面交换机包括数据平面开关,所述数据平面开关用于解析数据包中包含的不同协议的头文件,并根据所述头文件的字段确定所述数据包的转发或阻止的对象。
5.如权利要求4所述的基于可编程数据平面的网内神经计算***,其特征在于,所述数据平面交换机还用于使用流级特征执行转发决策,采用字符串表示不同类型的特征,通过给定网关支持的一组功能,将固定序列连接以获得一维矢量,其中,在所述数据平面交换机中,向量的每个元素均采用二进制,向量表示为x0,表征数据包分类的输入。
6.如权利要求1-5任一项所述的基于可编程数据平面的网内神经计算***,其特征在于,在对数据包处理时,在每个网关处找到相对应的一个函数y=fn(x0),其中,y为一个表示数据包类型预测的一维二进制矢量,其中,每个网关独立在所述网关的数据平面中执行函数y。
7.如权利要求6所述的基于可编程数据平面的网内神经计算***,其特征在于,所述权重更新模块中,采用二维向量
Figure FDA0003691871370000021
表示第l层的神经元权重,用xl-1表示第l层的输入,则第l层的输出为:
Figure FDA0003691871370000022
其中,n表示网关。
8.如权利要求7所述的基于可编程数据平面的网内神经计算***,其特征在于,所述基于可编程数据平面的网内神经计算***中,对数据包进行处理时,训练神经网络以获得最佳权重,其中,训练神经网络以获得最佳权重的方法,包括:在网关n的控制器中存储Wn并进行后向传播,使数据平面进行二进制前向传播;
在网关n的控制器训练时,包括步骤:
步骤S1、确定Xn,Yn,分别代表在交换机n中训练的一批输入和标签;
步骤S2、确定权值,
Figure FDA0003691871370000023
为控制平面中的实值权重,
Figure FDA0003691871370000024
为数据平面中的实值权重;
步骤S3、确定输出,
Figure FDA0003691871370000025
为每个域内的权重更新值以及学习率η;
步骤S4、在一个域内执行前向传播,位于当前层时,遍历该层的所有卷积核;
步骤S5、当对神经网络的所有层处理完成后,更新学习率。
9.如权利要求8所述的基于可编程数据平面的网内神经计算***,其特征在于,在步骤S4中,当在n域内时,
Figure FDA0003691871370000026
Figure FDA0003691871370000027
此时k值为第l层第k个滤波器;
Figure FDA0003691871370000028
Figure FDA0003691871370000029
在步骤S5中,当对神经网络的所有层处理完成后,更新学习率,即ηt+1=UpdateLearningrate(ηt,t)。
10.如权利要求9所述的基于可编程数据平面的网内神经计算***,其特征在于,所述基于可编程数据平面的网内神经计算***中,在交换机内的进行推理时,包括以下步骤:
步骤S11、确定输入;输入x0为二进制输入样本和权值W为L层的权值;
步骤S12、确定输出;y值为计算结果;
步骤S13、对神经网络第一层进行处理操作,此时的输入x1应为
Figure FDA0003691871370000031
步骤S14、对神经网络第二层进行处理,此时x2为sign(XnorDotProduct(x1,W1 b)),其中,x1为第二层经过处理后;
步骤S15、对于其余层的处理如上述处理即可,即当进行到第L层
Figure FDA0003691871370000032
此时应对y值进行输出,即输出值y值为
Figure FDA0003691871370000033
CN202210663168.5A 2022-06-13 2022-06-13 一种基于可编程数据平面的网内神经计算*** Active CN114979033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210663168.5A CN114979033B (zh) 2022-06-13 2022-06-13 一种基于可编程数据平面的网内神经计算***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210663168.5A CN114979033B (zh) 2022-06-13 2022-06-13 一种基于可编程数据平面的网内神经计算***

Publications (2)

Publication Number Publication Date
CN114979033A true CN114979033A (zh) 2022-08-30
CN114979033B CN114979033B (zh) 2023-05-09

Family

ID=82961954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210663168.5A Active CN114979033B (zh) 2022-06-13 2022-06-13 一种基于可编程数据平面的网内神经计算***

Country Status (1)

Country Link
CN (1) CN114979033B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117808051A (zh) * 2024-01-23 2024-04-02 暨南大学 一种基于可编程数据平面的时序任务预测方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627941A (en) * 1992-08-28 1997-05-06 Hitachi, Ltd. Method of configuring a neural network and a diagnosis/control system using the neural network
CN104158753A (zh) * 2014-06-12 2014-11-19 南京工程学院 基于软件定义网络的动态流调度方法及***
CN109218230A (zh) * 2017-06-30 2019-01-15 英特尔公司 用于平衡跨多级网络交换机的输入端口的吞吐量的技术
US10192327B1 (en) * 2016-02-04 2019-01-29 Google Llc Image compression with recurrent neural networks
CN110782030A (zh) * 2019-09-16 2020-02-11 平安科技(深圳)有限公司 深度学习权值更新方法、***、计算机设备及存储介质
CN113114534A (zh) * 2021-04-08 2021-07-13 苏煜程 一种基于神经网络的混合网络模糊测试工具
CN113271213A (zh) * 2021-05-10 2021-08-17 南京工业大学 一种基于sdn的计费网络出口路由选择方法
CN113572697A (zh) * 2021-07-20 2021-10-29 电子科技大学 一种基于图卷积神经网络与深度强化学习的负载均衡方法
CN114124828A (zh) * 2022-01-27 2022-03-01 广东省新一代通信与网络创新研究院 一种基于可编程交换机的机器学习方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627941A (en) * 1992-08-28 1997-05-06 Hitachi, Ltd. Method of configuring a neural network and a diagnosis/control system using the neural network
CN104158753A (zh) * 2014-06-12 2014-11-19 南京工程学院 基于软件定义网络的动态流调度方法及***
US10192327B1 (en) * 2016-02-04 2019-01-29 Google Llc Image compression with recurrent neural networks
CN109218230A (zh) * 2017-06-30 2019-01-15 英特尔公司 用于平衡跨多级网络交换机的输入端口的吞吐量的技术
CN110782030A (zh) * 2019-09-16 2020-02-11 平安科技(深圳)有限公司 深度学习权值更新方法、***、计算机设备及存储介质
CN113114534A (zh) * 2021-04-08 2021-07-13 苏煜程 一种基于神经网络的混合网络模糊测试工具
CN113271213A (zh) * 2021-05-10 2021-08-17 南京工业大学 一种基于sdn的计费网络出口路由选择方法
CN113572697A (zh) * 2021-07-20 2021-10-29 电子科技大学 一种基于图卷积神经网络与深度强化学习的负载均衡方法
CN114124828A (zh) * 2022-01-27 2022-03-01 广东省新一代通信与网络创新研究院 一种基于可编程交换机的机器学习方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PIOTR WAIS: "《Influence of fin thickness and winglet orientation on mass and thermal efficiency of cross-flow heat exchanger》" *
张晓龙: "《基于可编程交换机的物联网故障检测研究》" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117808051A (zh) * 2024-01-23 2024-04-02 暨南大学 一种基于可编程数据平面的时序任务预测方法
CN117808051B (zh) * 2024-01-23 2024-06-21 暨南大学 一种基于可编程数据平面的时序任务预测方法

Also Published As

Publication number Publication date
CN114979033B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
Kfoury et al. An exhaustive survey on p4 programmable data plane switches: Taxonomy, applications, challenges, and future trends
CN105049359B (zh) 用于分布式路由表查找的分布式路由器的入口计算节点和机器可读介质
KR101371858B1 (ko) 복수의 데이터를 프로세싱하기 위한 방법 및 통신 패킷들을 스위칭하기 위한 스위칭 디바이스
CN109684087B (zh) 运算方法、装置及相关产品
EP3069484A1 (en) Shortening of service paths in service chains in a communications network
WO1990000842A1 (en) Adaptive routing system
CN111865781B (zh) 用于路径优化的方法、设备和计算机程序产品
WO2022116957A1 (zh) 算法模型及路径的确定方法、电子设备、sdn控制器和介质
JP2003508954A (ja) ネットワーク・スイッチ及びコンポーネント及び操作方法
CN112532530B (zh) 一种拥塞通知信息调整的方法及设备
CN108111335A (zh) 一种调度和链接虚拟网络功能的方法及***
CN107113282A (zh) 一种抽取数据报文的方法及装置
CN111800501B (zh) 处理业务请求的方法及装置、存储介质、电子设备
WO2019161758A1 (en) Service function chaining congestion tracking
US20170207993A1 (en) Bidirectional constrained path search
CN112636991B (zh) 一种基于中介中心度的多类vnf部署方法
CN114979033A (zh) 一种基于可编程数据平面的网内神经计算***
CN107204998A (zh) 处理数据的方法和装置
WO2017133587A1 (zh) 用于通信网络中的流量工程的方法和控制器
Segal et al. Constrained in-network computing with low congestion in datacenter networks
Wei et al. Drl-deploy: adaptive service function chains deployment with deep reinforcement learning
US20230246972A1 (en) Parallel and tiered network traffic classification
US20180316593A9 (en) Shortest path routing in single-channel networks with aggregating and non-aggregating nodes
CN112333102A (zh) 基于知识图谱的软件定义网络路由选择方法和***
Ohta et al. Implementation and experimental evaluation of the rebalancing algorithm for folded Clos networks

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