CN109828940A - 一种智能网卡及数据处理系统和方法 - Google Patents
一种智能网卡及数据处理系统和方法 Download PDFInfo
- Publication number
- CN109828940A CN109828940A CN201910099399.6A CN201910099399A CN109828940A CN 109828940 A CN109828940 A CN 109828940A CN 201910099399 A CN201910099399 A CN 201910099399A CN 109828940 A CN109828940 A CN 109828940A
- Authority
- CN
- China
- Prior art keywords
- data
- gpu
- network adapter
- intelligent network
- cpu
- 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.)
- Withdrawn
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种智能网卡及数据处理系统和方法,一种智能网卡,包括FPGA芯片,在智能网卡的FPGA芯片上增加一组NVLink接口,NVLink接口与设于智能网卡内的NVLink电缆接口连接器相连。一种数据处理系统,包括GPU和CPU,智能网卡的NVLink电缆接口连接器通过外部电缆与GPU的NVLink接口相连,GPU通过PCIE接口与CPU相连,CPU通过PCIE接口与智能网卡相连。本发明在智能网卡和GPU之间建立NVLink通道,实现网卡接收数据直接发往GPU运算,和GPU运算后的数据直接经网卡对外发送,在特定业务下减少了CPU的参与,增加了CPU的和服务器的利用效率。
Description
技术领域
本发明涉及一种智能网卡及数据处理系统和方法。
背景技术
Smart NIC即智能网卡,其核心是通过FPGA(现场可编程门阵列)协助CPU处理网络负载,编程网络接口功能,具有以下特征:
通过FPGA本地化编程支持数据面和控制面功能定制,协助CPU处理网络负载;
支持快速转发数据并基于网络数据包、应用程序套接字等智能映射到到相关应用程序;
支持检测和管理网络流量。
GPU就是能够从硬件上支持几何处理的显示芯片。GPU具有如下特点:
1、提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算。
2、更高的浮点运算能力。浮点运算能力是关系到处理器的多媒体、3D图形处理的一个重要指标。
GPU加速计算是指同时利用图形处理器,加快科学、分析、工程、消费和企业应用程序的运行速度,将应用程序计算密集部分的工作负载转移到GPU。
NVLink,是英伟达(NVIDIA)开发并推出的一种总线及其通信协议。NVLink采用点对点结构、串列传输,用于中央处理器(CPU)与图形处理器(GPU)之间的连接,也可用于多个图形处理器之间的相互连接。
如图1所示,当前智能网卡和GPU之间没有直接相连的通道,各自通过PCIE接口与CPU相连。从智能网卡输入的数据需要经过CPU后才能转交至GPU处理。
发明内容
本发明要解决的技术问题是提出一种智能网卡及数据处理系统和方法,目的在于增加智能网卡至GPU之间的物理通道,将超出智能网卡处理能力的密集计算数据可以直接传递至GPU处理,例如网络上的视频处理等相关业务,或者把经GPU处理后可以直接发送至网络接口的数据绕过CPU,以便增强这些场景下的智能网卡+GPU的处理效率并减小延迟,减少CPU的资源消耗以及PCIE带宽的占用,提升服务器整体性能。
为了解决上述技术问题,本发明一方面提供了一种智能网卡,包括FPGA芯片,在智能网卡的FPGA芯片上增加一组NVLink接口,NVLink接口与设于智能网卡内的NVLink电缆接口连接器相连。
本发明另一发面还提供了一种数据处理系统,包括GPU和CPU,智能网卡的NVLink电缆接口连接器通过外部电缆与GPU的NVLink接口相连,GPU通过PCIE接口与CPU相连,CPU通过PCIE接口与智能网卡相连。
本发明另一发面还提供了一种数据处理方法,包括以下步骤:
数据首次从网络接口发送到智能网卡,智能网卡发送给CPU;
CPU对数据进行识别,若是数据需要先交由GPU处理,则转交GPU进行处理,GPU处理后数据返回CPU;
对该类数据进行备案,再有此类数据,则智能网卡直接转发到GPU处理。
进一步地,所述转交GPU进行处理具体包括:CPU将数据和处理规则通过GPU的PCIE接口转交GPU处理。
进一步地,所述对该类数据进行备案,再有此类数据,则智能网卡直接转发到GPU处理这一步骤具体包括:
CPU建立该类数据的转发规则,并下发到智能网卡,CPU对GPU下发该类数据处理规则,智能网卡再收到数据时,判断是否符合需转发至GPU的类别特征,若是符合,则直接通过NVLink接口转发至GPU处理,若是不符合,发给CPU处理。
进一步地,所述GPU处理后数据返回CPU后还包括:
若处理后的数据可以直接封装为网络报文向外发送,则CPU将处理的结果组装成网络报文通过网卡的PCIE总线发给智能网卡;
智能网卡按网络报文格式发送至外部网络接口;
对此类经GPU处理后可以直接封装为网络报文向外发送的数据进行记录,再有此类数据时,GPU将处理后的数据直接通过NVLink接口发至智能网卡,由智能网卡对外发送。
进一步地,所述再有此类数据时,GPU将处理结果直接通过NVLink接口发至智能网卡这一步骤具体包括:
CPU对GPU建立此类数据的处理规则,再有此类数据时处理结果直接通过NVLink接口发至智能网卡;
CPU对智能网卡建立此类数据的处理规则,智能网卡从NVLink接口收到此类数据处理结果时,按既定网络报文格式做封装,并发送至外部网络接口;
GPU接收到的数据,检查是否是需要直接交由网卡发送的数据,若不是按正常处理流程做处理,处理结果返回至CPU,如果是此类数据,GPU将处理的结果直接通过NVLink接口发至智能网卡进行对外发送。
本发明一种智能网卡及数据处理系统和方法,本发明在智能网卡和GPU之间建立NVLink通道,实现网卡接收数据直接发往GPU运算,和GPU运算后的数据直接经网卡对外发送,在特定业务下减少了CPU的参与,增加了CPU的和服务器的利用效率。
附图说明
图1是现有智能网卡的结构图;
图2是本发明数据处理系统的结构图;
图3是本发明处理方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图2所示,本发明实施例的一种智能网卡,包括FPGA芯片,在智能网卡的FPGA芯片上增加一组NVLink接口,NVLink接口与设于智能网卡内的NVLink电缆接口连接器相连。
在FPGA智能网卡硬件设计时,提前预留好NVLink电缆接口连接器,将FPGA的NVLink接口在板内连至NVLink电缆接口连接器上。
本发明另一发面还提供了一种数据处理系统,包括GPU和CPU,智能网卡的NVLink电缆接口连接器通过外部电缆与GPU的NVLink接口相连,GPU通过PCIE接口与CPU相连,CPU通过PCIE接口与智能网卡相连。
其中GPU模块自带NVLink电缆接口;FPGA作为可编程逻辑器件,可以通过逻辑编写出NVLink接口。
如图3所示,本发明另一发面还提供了一种数据处理方法,包括以下步骤:
S1、数据首次从网络接口发送到智能网卡,智能网卡发送给CPU;
S2、CPU对数据进行识别,若是数据需要先交由GPU处理,则转交GPU进行处理,GPU处理后数据返回CPU;
S3、对该类数据进行备案,再有此类数据,则智能网卡直接转发到GPU处理。
作为优选地实施方式,所述转交GPU进行处理具体包括:CPU将数据和处理规则通过GPU的PCIE接口转交GPU处理。
作为优选地实施方式,所述对该类数据进行备案,再有此类数据,则智能网卡直接转发到GPU处理这一步骤具体包括:
CPU建立该类数据的转发规则,并下发到智能网卡,CPU对GPU下发该类数据处理规则,智能网卡再收到数据时,判断是否符合需转发至GPU的类别特征,若是符合,则直接通过NVLink接口转发至GPU处理,若是不符合,发给CPU处理。
作为优选地实施方式,所述GPU处理后数据返回CPU后还包括:
若处理后的数据可以直接封装为网络报文向外发送,则CPU将处理的结果组装成网络报文通过网卡的PCIE总线发给智能网卡;
智能网卡按网络报文格式发送至外部网络接口;
对此类经GPU处理后可以直接封装为网络报文向外发送的数据进行记录,再有此类数据时,GPU将处理后的数据直接通过NVLink接口发至智能网卡,由智能网卡对外发送。
作为优选地实施方式,所述再有此类数据时,GPU将处理结果直接通过NVLink接口发至智能网卡这一步骤具体包括:
CPU对GPU建立此类数据的处理规则,再有此类数据时处理结果直接通过NVLink接口发至智能网卡;
CPU对智能网卡建立此类数据的处理规则,智能网卡从NVLink接口收到此类数据处理结果时,按既定网络报文格式做封装,并发送至外部网络接口;
GPU接收到的数据,检查是否是需要直接交由网卡发送的数据,若不是按正常处理流程做处理,处理结果返回至CPU,如果是此类数据,GPU将处理的结果直接通过NVLink接口发至智能网卡进行对外发送。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
Claims (7)
1.一种智能网卡,包括FPGA芯片,其特征在于:在智能网卡的FPGA芯片上增加一组NVLink接口,NVLink接口与设于智能网卡内的NVLink电缆接口连接器相连。
2.一种应用权利要求1所述的智能网卡的数据处理系统,包括GPU和CPU,其特征在于:智能网卡的NVLink电缆接口连接器通过外部电缆与GPU的NVLink接口相连,GPU通过PCIE接口与CPU相连,CPU通过PCIE接口与智能网卡相连。
3.一种数据处理方法,其特征在于,包括以下步骤:
数据首次从网络接口发送到智能网卡,智能网卡发送给CPU;
CPU对数据进行识别,若是数据需要先交由GPU处理,则转交GPU进行处理,GPU处理后数据返回CPU;
对该类数据进行备案,再有此类数据,则智能网卡直接转发到GPU处理。
4.如权利要求3所述的一种数据处理方法,其特征在于,所述转交GPU进行处理具体包括:CPU将数据和处理规则通过GPU的PCIE接口转交GPU处理。
5.如权利要求3所述的一种数据处理方法,其特征在于,所述对该类数据进行备案,再有此类数据,则智能网卡直接转发到GPU处理这一步骤具体包括:
CPU建立该类数据的转发规则,并下发到智能网卡,CPU对GPU下发该类数据处理规则,智能网卡再收到数据时,判断是否符合需转发至GPU的类别特征,若是符合,则直接通过NVLink接口转发至GPU处理,若是不符合,发给CPU处理。
6.如权利要求3所述的一种数据处理方法,其特征在于,所述GPU处理后数据返回CPU后还包括:
若处理后的数据可以直接封装为网络报文向外发送,则CPU将处理的结果组装成网络报文通过网卡的PCIE总线发给智能网卡;
智能网卡按网络报文格式发送至外部网络接口;
对此类经GPU处理后可以直接封装为网络报文向外发送的数据进行记录,再有此类数据时,GPU将处理后的数据直接通过NVLink接口发至智能网卡,由智能网卡对外发送。
7.如权利要求3所述的一种数据处理方法,其特征在于,所述再有此类数据时,GPU将处理结果直接通过NVLink接口发至智能网卡这一步骤具体包括:
CPU对GPU建立此类数据的处理规则,再有此类数据时处理结果直接通过NVLink接口发至智能网卡;
CPU对智能网卡建立此类数据的处理规则,智能网卡从NVLink接口收到此类数据处理结果时,按既定网络报文格式做封装,并发送至外部网络接口;
GPU接收到的数据,检查是否是需要直接交由网卡发送的数据,若不是按正常处理流程做处理,处理结果返回至CPU,如果是此类数据,GPU将处理的结果直接通过NVLink接口发至智能网卡进行对外发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910099399.6A CN109828940A (zh) | 2019-01-31 | 2019-01-31 | 一种智能网卡及数据处理系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910099399.6A CN109828940A (zh) | 2019-01-31 | 2019-01-31 | 一种智能网卡及数据处理系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109828940A true CN109828940A (zh) | 2019-05-31 |
Family
ID=66862023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910099399.6A Withdrawn CN109828940A (zh) | 2019-01-31 | 2019-01-31 | 一种智能网卡及数据处理系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828940A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166341A (zh) * | 2019-07-01 | 2019-08-23 | 联想(北京)有限公司 | 一种服务器、服务器集群及通信方法 |
CN110765064A (zh) * | 2019-10-18 | 2020-02-07 | 山东浪潮人工智能研究院有限公司 | 一种异构计算架构的边缘端图像处理系统及方法 |
CN111107061A (zh) * | 2019-11-30 | 2020-05-05 | 浪潮(北京)电子信息产业有限公司 | 一种智能网卡及其通讯方法 |
WO2020258917A1 (zh) * | 2019-06-28 | 2020-12-30 | 华为技术有限公司 | 一种数据交换芯片及服务器 |
CN113626368A (zh) * | 2021-06-30 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种人工智能的数据处理方法及相关装置 |
CN113688093A (zh) * | 2021-08-24 | 2021-11-23 | 中电科申泰信息科技有限公司 | 一种基于以太网控制器的智能网卡 |
CN113923061A (zh) * | 2021-10-26 | 2022-01-11 | 浙江大学 | 基于智能网卡的gpu网络通信方法、智能网卡、介质、设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200128A (zh) * | 2013-04-01 | 2013-07-10 | 华为技术有限公司 | 一种网络包处理的方法、装置和系统 |
US20160292115A1 (en) * | 2015-03-30 | 2016-10-06 | Integrated Device Technology, Inc. | Methods and Apparatus for IO, Processing and Memory Bandwidth Optimization for Analytics Systems |
US20170116142A1 (en) * | 2015-10-27 | 2017-04-27 | International Business Machines Corporation | Suspend and resume in a time shared coprocessor |
CN107102957A (zh) * | 2016-02-22 | 2017-08-29 | 深圳市知穹科技有限公司 | 一种基于gpu与nic之间的内存高速直接交换的方法及系统 |
CN107124286A (zh) * | 2016-02-24 | 2017-09-01 | 深圳市知穹科技有限公司 | 一种海量数据高速处理、交互的系统及方法 |
CN107135257A (zh) * | 2017-04-28 | 2017-09-05 | 东方网力科技股份有限公司 | 一种节点集群中任务分配的方法、节点和系统 |
US20170346792A1 (en) * | 2016-05-26 | 2017-11-30 | Mark Nataros | System and method for kernel level video operations |
CN108255773A (zh) * | 2017-12-07 | 2018-07-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种智能计算异构多核处理方法与平台 |
-
2019
- 2019-01-31 CN CN201910099399.6A patent/CN109828940A/zh not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200128A (zh) * | 2013-04-01 | 2013-07-10 | 华为技术有限公司 | 一种网络包处理的方法、装置和系统 |
US20160292115A1 (en) * | 2015-03-30 | 2016-10-06 | Integrated Device Technology, Inc. | Methods and Apparatus for IO, Processing and Memory Bandwidth Optimization for Analytics Systems |
US20170116142A1 (en) * | 2015-10-27 | 2017-04-27 | International Business Machines Corporation | Suspend and resume in a time shared coprocessor |
CN107102957A (zh) * | 2016-02-22 | 2017-08-29 | 深圳市知穹科技有限公司 | 一种基于gpu与nic之间的内存高速直接交换的方法及系统 |
CN107124286A (zh) * | 2016-02-24 | 2017-09-01 | 深圳市知穹科技有限公司 | 一种海量数据高速处理、交互的系统及方法 |
US20170346792A1 (en) * | 2016-05-26 | 2017-11-30 | Mark Nataros | System and method for kernel level video operations |
CN107135257A (zh) * | 2017-04-28 | 2017-09-05 | 东方网力科技股份有限公司 | 一种节点集群中任务分配的方法、节点和系统 |
CN108255773A (zh) * | 2017-12-07 | 2018-07-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种智能计算异构多核处理方法与平台 |
Non-Patent Citations (1)
Title |
---|
陈云海: "Nvidia GPU核心架构技术演进分析", 《广东通信技术》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020258917A1 (zh) * | 2019-06-28 | 2020-12-30 | 华为技术有限公司 | 一种数据交换芯片及服务器 |
CN110166341A (zh) * | 2019-07-01 | 2019-08-23 | 联想(北京)有限公司 | 一种服务器、服务器集群及通信方法 |
CN110166341B (zh) * | 2019-07-01 | 2021-08-17 | 联想(北京)有限公司 | 一种服务器、服务器集群及通信方法 |
CN110765064A (zh) * | 2019-10-18 | 2020-02-07 | 山东浪潮人工智能研究院有限公司 | 一种异构计算架构的边缘端图像处理系统及方法 |
CN110765064B (zh) * | 2019-10-18 | 2022-08-23 | 山东浪潮科学研究院有限公司 | 一种异构计算架构的边缘端图像处理系统及方法 |
CN111107061A (zh) * | 2019-11-30 | 2020-05-05 | 浪潮(北京)电子信息产业有限公司 | 一种智能网卡及其通讯方法 |
CN113626368A (zh) * | 2021-06-30 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种人工智能的数据处理方法及相关装置 |
CN113626368B (zh) * | 2021-06-30 | 2023-07-25 | 苏州浪潮智能科技有限公司 | 一种人工智能的数据处理方法及相关装置 |
CN113688093A (zh) * | 2021-08-24 | 2021-11-23 | 中电科申泰信息科技有限公司 | 一种基于以太网控制器的智能网卡 |
CN113923061A (zh) * | 2021-10-26 | 2022-01-11 | 浙江大学 | 基于智能网卡的gpu网络通信方法、智能网卡、介质、设备 |
CN113923061B (zh) * | 2021-10-26 | 2023-03-24 | 浙江大学 | 基于智能网卡的gpu网络通信方法、智能网卡、介质、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828940A (zh) | 一种智能网卡及数据处理系统和方法 | |
CN104216865B (zh) | 映射和化简运算加速系统及方法 | |
CN111459665A (zh) | 一种分布式边缘计算系统及分布式边缘计算方法 | |
US10178163B2 (en) | Server-processor hybrid system for processing data | |
CN113965628B (zh) | 消息调度方法、服务器和存储介质 | |
CN106686091A (zh) | 一种虚拟通道控制方法及系统 | |
CN102724132A (zh) | 一种提高tcp连接复用处理效率的方法及装置 | |
CN107222715A (zh) | 一种远程播放视频的方法、装置及计算机可读存储介质 | |
JP2013533555A5 (zh) | ||
CN107172048A (zh) | 一种基于smb协议的多通道实现方法及装置 | |
CN102761545B (zh) | 服务处理方法、服务处理器及服务处理系统 | |
CN114466226A (zh) | 带宽时长占比确定方法、装置、设备和计算机可读介质 | |
CN109800035B (zh) | 一种算法集成服务框架系统 | |
CN116346959A (zh) | 一种dpu场景弹性网卡高效实现方法及装置 | |
CN116012215A (zh) | 商业卫星算力可扩展综合方法 | |
CN112148663A (zh) | 一种数据交换芯片及服务器 | |
CN105471718A (zh) | 一种全双工消息队列的实现方法 | |
CN108289165A (zh) | 一种基于手机控制相机的实现方法、装置及终端设备 | |
CN115250276A (zh) | 分布式系统及数据处理的方法和装置 | |
CN104994093A (zh) | 一种服务负载均衡方法及系统 | |
CN104702663A (zh) | 云处理装置和方法 | |
CN117041147B (zh) | 智能网卡设备、主机设备和方法及系统 | |
CN115994022A (zh) | 算法服务的调用方法、装置、电子设备和存储介质 | |
CN116910108A (zh) | 端侧数据的处理方法、装置、设备和计算机可读存储介质 | |
CN116346792A (zh) | 基于mqtt协议的视频图像数据传输方法及装置 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190531 |
|
WW01 | Invention patent application withdrawn after publication |