CN112422448A - Fpga加速卡网络数据传输方法及相关组件 - Google Patents

Fpga加速卡网络数据传输方法及相关组件 Download PDF

Info

Publication number
CN112422448A
CN112422448A CN202010850410.0A CN202010850410A CN112422448A CN 112422448 A CN112422448 A CN 112422448A CN 202010850410 A CN202010850410 A CN 202010850410A CN 112422448 A CN112422448 A CN 112422448A
Authority
CN
China
Prior art keywords
data
network
data packet
data packets
accelerator card
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
Application number
CN202010850410.0A
Other languages
English (en)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010850410.0A priority Critical patent/CN112422448A/zh
Publication of CN112422448A publication Critical patent/CN112422448A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了提供一种FPGA加速卡网络数据传输方法,该方法利用FPGA加速卡的可编程能力,在发送侧进行发送聚合,将小数据包聚合发送,可以减少发送的数据包数量,这样可以减少接收端的网卡中断数量,同时提高接收端网卡DMA Ring Buffer的利用率,降低网络负荷,从而可以提升接收服务器的数据接收效率,同时,该方法充分利用现有系统的资源优化,利用FPGA加速卡的可编程特性,不需要增加硬件方面的资金投入,可以实现降低网络架设使用成本的同时保障网络应用中的高效网络数据传输。本申请还提供了FPGA加速卡网络数据传输装置、设备及一种可读存储介质,具有上述有益效果。

Description

FPGA加速卡网络数据传输方法及相关组件
技术领域
本申请涉及电子技术领域,特别涉及FPGA加速卡网络数据传输方法、 装置、设备及一种可读存储介质。
背景技术
近年来FPGA(现场可编程门阵列,一种可编程的硬件电路)产品不断迭 代发展,FPGA加速卡(FPGA产品,可用来可编程并行计算并自带性能网络 功能)具有强大的并行计算能力,可为计算平台提供异构计算力,同时其自 带网络通信功能,也可提供高带宽、低延迟的网络通信能力,因此,FPGA加 速卡在数据中心、视频与图像处理、计算存储、数据库与数据分析、金融技 术、高性能计算以及网络加速等领域的应用越来越广。
在网络应用中存在着普通的服务器,也有服务器需要增强计算能力安装 了FPGA加速卡,拥有FPGA加速卡的服务器,提升了自身的并行计算能力, 同时可利用FPGA加速卡自带的10-100G光纤通讯接口提供的高带宽,低延迟 的网络通信能力与其他服务器进行通信。服务器加装FPGA加速卡后,其自身 性能得到了极大的提高,服务网络整体的业务服务能力也得到了提升。
基于FPGA加速卡的网络应用中存在着混合的联网方式。有的服务器之间 通过网络通信,有的则直接连接通信,每个服务器节点有不同的角色分工, 互相之间存在大量的数据通信,如图1所示。一般情况下,该服务网络都可胜 任业务服务支撑。但是,某些业务存在特殊性,在某些时间范围内瞬时会有 高吞吐量的小包数据,普通服务器面对高吞吐量小包数据时存在性能问题, 造成数据包丢失。例如FPGA加速卡在金融领域的应用中,9:15——9:30开盘 前(或15:00收盘前)由于是集合竞价的关键时间点,行情小包数据量最大。 带FPGA加速卡的服务器(行情解析结点A),FPGA加速卡直接对行情数据解 析,其相较于软件解析性能提升了100倍,这样极大加快了行情解析速度。行 情解析结点A瞬间生成大量解析后行情数据,其数据包中存在大量100字节左 右的短包,发给接收服务器(行情接收结点B),行情接收结点B必须接收到 所有数据并做处理。但是由于此时性能不足的问题,行情接收结点B常常会有 数据包丢失。
拥有FPGA加速卡的服务器通信能力很强,但网络能力的提升不是单节点 的事情,涉及到通信链路上的每一个环节。当普通服务器的通信能力没有得 到升级时,其必将在此时成为整个通信链路上的瓶颈。当数据包量突然迸发, 特别是瞬时小包数据量突然增加时,整体链路都需要高性能处理高吞吐量数 据。如果网络中的普通服务器出现通信性能方面的问题,可能导致行情数据 包的丢失,浪费FPGA加速卡带来的加速功能及高带宽,低延迟的网络通信能 力,同时也影响(金融)业务服务水平。
现有的技术方案,在硬件上可以采用高性能网络infiniband、专用的高性 能网卡mellanox、solarflare、或者普通服务器也使用FPGA加速卡来提升网 络及普通服务器的通信能力,但是从经济成本的角度出发,高价格的高性能 网络、专用的高性能网卡或全部使用FPGA加速卡对于网络架设使用成本太 高,而且因为某些时候的网络负荷并不高,只有个别时候存在高吞吐量的情 况,大量的资金投入和换装会造成资金的浪费。
因此,如何在降低网络架设使用成本的同时,保证网络应用中高效的网 络通信能力,是本领域技术人员急需解决的问题。
发明内容
本申请的目的是提供FPGA加速卡网络数据传输方法,该方法下网络架设 使用成本低,且可以保障网络应用中高效网络数据传输;本申请的另一目的 是提供FPGA加速卡网络数据传输装置、设备及一种可读存储介质。
为解决上述技术问题,本申请提供一种FPGA加速卡网络数据传输方法, 包括:
FPGA加速卡服务器确定待传输的若干数据包;
解析所述数据包,确定所述数据包的特征信息;
根据各所述数据包间所述特征信息的相关性对所述数据包进行聚合处 理,得到聚合数据包;其中,所述聚合数据包的数量少于所述待传输的数据 包的数量;
将所述聚合数据包发送至接收服务器。
可选地,根据各所述数据包间所述特征信息的相关性将所述数据包进行 聚合处理,得到聚合数据包,包括:
根据所述特征信息,将品种类型相同且发送时间相连的所述数据包进行 聚合处理,得到聚合数据包。
可选地,在将品种类型相同且发送时间相连的所述数据包进行聚合处理 之后,还包括:
判断聚合处理后的数据包大小是否超过网络最大MTU;
若否,将所述聚合处理后的数据包作为所述聚合数据包。
可选地,在将所述聚合数据包发送至接收服务器之后,还包括:
所述接收服务器采用原始套接字提取所述聚合数据包中的数据。
可选地,在将所述聚合数据包发送至接收服务器之后,还包括:
所述接收服务器将网卡Ring Buffer中RX设置为最大值。
可选地,在将所述聚合数据包发送至接收服务器之后,还包括:
所述接收服务器根据数据包处理能力进行内核参数优化。
可选地,所述接收服务器根据数据包处理能力进行内核参数优化,包括:
所述接收服务器根据数据包处理能力对net.core.dev_weight以及net.core.netdev_budget参数进行优化。
本申请还提供了一种FPGA加速卡网络数据传输装置,该装置应用于 FPGA加速卡服务器,该装置包括:
数据包确定单元,用于确定待传输的若干数据包;
数据包解析单元,用于解析所述数据包,确定所述数据包的特征信息;
数据包聚合单元,用于根据各所述数据包间所述特征信息的相关性对所 述数据包进行聚合处理,得到聚合数据包;其中,所述聚合数据包的数量少 于所述待传输的数据包的数量;
聚合发送单元,用于将所述聚合数据包发送至接收服务器。
本申请还提供了一种FPGA加速卡网络数据传输设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的FPGA加速卡网络数据 传输方法的步骤。
本申请还提供了一种可读存储介质,所述可读存储介质上存储有程序, 所述程序被处理器执行时实现所述的FPGA加速卡网络数据传输方法的步骤。
本申请所提供的FPGA加速卡网络数据传输方法中利用FPGA加速卡的 可编程能力,在发送侧进行发送聚合,将小数据包聚合发送,可以减少发送 的数据包数量,这样可以减少接收端的网卡中断数量,同时提高接收端网卡 DMA Ring Buffer的利用率,降低网络负荷,从而可以提升接收服务器的数据 接收效率,同时,该方法充分利用现有系统的资源优化,利用FPGA加速卡 的可编程特性,不需要增加硬件方面的资金投入,可以实现降低网络架设使 用成本的同时保障网络应用中的高效网络数据传输。
本申请还提供了FPGA加速卡网络数据传输装置、设备及一种可读存储介 质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不 付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种基于FPGA技术的服务网络结构示意图;
图2为本申请实施例提供的一种网卡DMA Ring Buffer的数据占用示意 图;
图3为本申请实施例提供的一种FPGA加速卡网络数据传输方法的流程 图;
图4为本申请实施例提供的一种某时时间序列行情数据包示意图;
图5为本申请实施例提供的一种FPGA加速卡聚合后的数据包示意图;
图6为本申请实施例提供的一种从recvfrom方式到类似旁路优化实现示意 图;
图7为本申请实施例提供的一种FPGA加速卡网络数据传输装置的结构框 图;
图8为本申请实施例提供的一种FPGA加速卡网络数据传输设备的结构示 意图。
具体实施方式
本申请的核心是提供FPGA加速卡网络数据传输方法,该方法下网络架设 使用成本低,且可以保障网络应用中高效网络数据传输;本申请的另一核心 是提供FPGA加速卡网络数据传输装置、设备及一种可读存储介质。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申 请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都属于本申请保护的范围。
在某些业务的特殊时段,FPGA加速卡会瞬时发送大量小包数据。其他业 务时间段,FPGA加速卡发送数据量较平稳。面对瞬时的高吞吐量小数据包, 接收端服务器会不堪重负,大量的网卡中断,而且在网卡接收数据时,每个 很小的数据包会占用一个标准DMA(Direct Memory Access,直接存储器访问) Ring Buffer(循环缓冲区),网卡DMA RingBuffer的数据占用示意图如下图 2所示。这样很浪费Ring Buffer空间,Ring Buffer很快会被小数据包消耗掉。 当后续数据包需要Ring Buffer的时候,则存在Ring Buffer已满,同时协议栈来 不及处理之前数据,Ring Buffer得不到释放的情况,网卡只能丢弃新数据的情 况。
为解决该种情况,本申请提供一种FPGA加速卡网络数据传输方法,请参 考图3,图3为本实施例提供的FPGA加速卡网络数据传输方法的流程图,该方 法主要包括以下步骤:
步骤s110、FPGA加速卡服务器确定待传输的若干数据包;
步骤s120、解析数据包,确定数据包的特征信息;
申请人研究发现业务数据包中存在内在规律,比如某证券的行情解析数 据,本身有聚集性且相互独立,某个时间序列一簇数据包中都是该证券品种。 例如某时间序列逐笔委托数据包,如图4所示。该时间段存在12个小数据包, 但是先后涉及到3个证券品种,A,B,C,首先A品种有4个数据包,接着B品 种有3个数据包,最后C品种有5个数据包。
为确定存在关联的数据包,需要解析数据包,确定数据包的特征信息, 具体的特征信息中包含的信息种类不做限定,比如可以包括数据的品种类型、 发送时间以及数据包大小等。特征信息的确定与下述步骤中相关性的判断相 关,比如相关性判断中若根据数据类型进行判断,则获取的特征信息中需包 含数据类型信息,依次类推。由于本实施例中对于具体的相关性评判标准不 做限定,相应地,对于本步骤中确定的特征信息中具体包含的信息种类也不 做限定。
步骤s130、根据各数据包间特征信息的相关性对数据包进行聚合处理, 得到聚合数据包;其中,聚合数据包的数量少于待传输的数据包的数量;
根据各数据包间特征信息的相关性,将相关性高的数据包进行聚合处理。 本实施例中对于具体的相关性评判标准不做限定,可选地,可以以品种类型 与发送时间作为评判标准,则相应地,根据各数据包间特征信息的相关性将 数据包进行聚合处理,得到聚合数据包的过程具体可以为:根据特征信息, 将品种类型相同且发送时间相连的数据包进行聚合处理,得到聚合数据包。
以图4所示的数据包为例,该时间段存在12个小数据包,但是先后涉及 到3个证券品种,A,B,C,A品种有4个数据包,B品种有3个数据包, C品种有5个数据包,将该时间段下相同品种的数据包聚合处理,则12个待 传输数据包聚合后的数据包变为3个数据包,如图5所示,聚合数据包的数 量远少于待传输的数据包的数量,从而减少了待发送的数据包的数量。
而进一步地,为保证网络数据包的正常传输,避免出现由于数据包过大 导致的传输阻滞的情况,可选地,在将品种类型相同且发送时间相连的数据 包进行聚合处理之后,还可以进一步判断聚合处理后的数据包大小是否超过 网络最大MTU;若否,将聚合处理后的数据包作为聚合数据包。若是,本实 施例中不做限定,可以将聚合数据包进行拆分处理,或重新对数据包进行聚 合处理,可以根据实际使用需要进行设定。
本实施例中提供的相关性评判原则,利用FPGA加速卡的可编程能力, 调用FPGA加速卡在发送侧可以按照品种类型相同,时间相连,且聚合不超 过网络最大MTU的原则进行发送聚合(图4中的12个待传输数据包聚合后 的数据包变为3个数据包,且每个数据包不超过MTU),在发送数据前添加 发送聚合IP,即可大幅减少发送的小包数据量,如图示由之前12包变为3包, 降低了网络负荷,也减少接收端的网卡中断数量,同时可以提高接收端网卡DMA Ring Buffer的利用率。对于相关性评判标准本实施例中仅以上述标准为 例进行介绍,其他基于应用场景下的数据包设置的评判标准的实现均可参照 本实施例的介绍,在此不再赘述。
需要说明的是,目前常用的网卡加速技术有LRO技术(Large ReceiveOffloading),在网络接收端网卡硬件可以将某些小数据包合并成大数据包。 TSO技术(TCPSegmentation Offload),在网络发送端,不用协议栈软件实现 tcp分片,利用网卡的硬件特性实现分片操作。这些技术都是利用网卡硬件特 性,实现网络优化及加速。而由于部分传输的数据有品种聚集性,其天然有 小包合并大包的优势,本实施例中提供的FPGA加速卡的优化方案是在发送 侧进行聚合,而非传统LROLarge Receive Offload,通过将接收到的多个TCP 数据聚合成一个大的数据包,然后传递给网络协议栈处理)技术(应用于接 收端),可以减少接收端的网卡中断数量,同时可以提高接收端网卡DMA Ring Buffer的利用率,提升传输效率。
步骤s140、将聚合数据包发送至接收服务器。
将聚合数据包发送至接收服务器,本实施例中对于接收服务器的服务器 种类不做限定,可以为普通服务器,也可以为FPGA加速卡服务器,不管接收 服务器是对应于哪种类型的服务器,本实施例提供的传输方法中均可以提高 接收服务器的接收效率,提升传输速率。
聚合数据包发送的具体执行过程可以参照相关技术的实现方式,本实施 例对此不再赘述。
为加深理解,本实施例中介绍一种股票数据包的一种具体传输过程,其 他数据类型下的数据传输均可参照下述介绍,在此不再赘述。例如,FPGA加 速卡服务器(行情解析结点)在市场集合竞价阶段,会解析出大量的短包数 据,例如所有股票的即时逐笔委托数据。该逐笔委托数据帧是100字节左右的 的短数据,包含时间,代码,通道,价格,数量,买卖方向,交易标志等信 息。在FPGA数据发送的时候,通过增加FPGA可编程小模块,尝试将同一证券代码的数据合并,每次合并后的数据不超过该网络的MTU(最大传输单元 MaximumTransmission Unit),合并后发送。接收的普通服务器接收这些合并 数据时,相较合并以前,降低了网络上数据量,减少了接收端网卡中断数量 消耗,提高了DMA Ring buffer的利用率
基于上述介绍,本实施例中介绍的FPGA加速卡网络数据传输方法中利 用FPGA加速卡的可编程能力,在发送侧进行发送聚合,将小数据包聚合发 送,可以减少发送的数据包数量,这样可以减少接收端的网卡中断数量,同 时提高接收端网卡DMA Ring Buffer的利用率,降低网络负荷,从而可以提升 接收服务器的数据接收效率,同时,该方法充分利用现有系统的资源优化, 利用FPGA加速卡的可编程特性,不需要增加硬件方面的资金投入,可以实 现降低网络架设使用成本的同时保障网络应用中的高效网络数据传输。
基于上述实施例,在网络数据传输过程中,除了可以在FPGA加速卡服 务器(发送端服务器)进行传输优化外,还可以对于接收端服务器进行接收 优化,本实施例中提出一种接收端优化传输方案,具体包括对于接收端应用 软件优化以及网卡、内核参数的优化。
可选地,在将聚合数据包发送至接收服务器之后,接收服务器可以采用 原始套接字提取聚合数据包中的数据。
目前,在接收端服务器的应用软件原本采用通用socket API进行网络数 据的接收,该方式下需要经过完整的TCP/IP协议的内存拷贝,实现效率低。 本实施例中在接收端服务器的应用软件进行优化,提出在数据提取中采用原 始套接字,实现数据包快速嗅探。利用Packet mmap——Linux上的API,直 接将网络数据存放内存并映射到应用程序中访问,减少了传统网络应用程序 的内存拷贝,而且该内存区域可以自定义大小(根据行情数据大小定制总大 小和每条数据的大小),可以缓冲更多的数据。应用程序旁路了Linux协议栈 的部分耗时处理。从原来Recvfrom某个套接字,到优化方案,应用程序代 码微调即可,如图6所示。这样加快了接收端的数据接收能力,快速处理。 应用程序在运行时,也可绑定在某个CPU core上减少进程上下文切换,本实 施例对此不做限定。
以上提供了一种接收端应用软件优化数据传输的方案,该方案通过实现 数据包快速嗅探,减少内存拷贝,可以提升应用程序的接收数据能力。以下 介绍一种接收端网卡以及内核参数的优化数据传输方案,该方案中对于用户 程序变动较小,无需采用复杂的编程框架重构代码,且可以优化传输。
可选地,在将聚合数据包发送至接收服务器之后,接收服务器可以将网 卡RingBuffer中RX设置为最大值。通常网卡都可以设置其Ring Buffer,增加 RX值后可以减少丢弃,提升传输性能。例如目前RX值为512,指接收当前 值,可以将其修改为接收最大值(目前为4096)。
可选地,在将聚合数据包发送至接收服务器之后,接收服务器还可以根 据数据包处理能力进行内核参数优化。对接收端内核参数优化后减少数据包 的丢弃,提升传输性能。而内核参数中包含若干项,本实施例中对于具体的 优化项不做限定,可选地,接收服务器可以根据数据包处理能力对 net.core.dev_weight以及net.core.netdev_budget参数进行优化,比如sysctl w net.core.dev_weight=xx;sysctl w net.core.netdev_budget=xx。
其中,net.core.dev_weight指每个CPU一次NAPI中断能够处理网络包数 量的最大值,net.core.netdev_budget指每次软中断处理的网络包个数。具体可 以设置sysctl wnet.core.dev_weight=256(项目中的经验值),sysctl w net.core.netdev_budget=1000(项目中的经验值),本实施例中以经验值设定 为例,也可以设置为其他数值,在此不做限定。
请参考图7,图7为本实施例提供的FPGA加速卡网络数据传输装置的结 构框图;该装置应用于FPGA加速卡服务器,该装置主要包括:数据包确定 单元110、数据包解析单元120、数据包聚合单元130以及聚合发送单元140。 本实施例提供的FPGA加速卡网络数据传输装置可与上述FPGA加速卡网络 数据传输方法相互对照。
其中,数据包确定单元110主要用于确定待传输的若干数据包;
数据包解析单元120主要用于解析数据包,确定数据包的特征信息;
数据包聚合单元130主要用于根据各数据包间特征信息的相关性对数据 包进行聚合处理,得到聚合数据包;其中,聚合数据包的数量少于待传输的 数据包的数量;
聚合发送单元140主要用于将聚合数据包发送至接收服务器。
本实施例提供一种FPGA加速卡网络数据传输设备,主要包括:存储器 以及处理器。
其中,存储器用于存储程序;
处理器用于执行程序时实现如上述实施例介绍的FPGA加速卡网络数据 传输方法的步骤,具体可参照上述FPGA加速卡网络数据传输方法的介绍。
请参考图8,为本实施例提供的FPGA加速卡网络数据传输设备的结构示 意图,该FPGA加速卡网络数据传输设备可因配置或性能不同而产生比较大的 差异,可以包括一个或一个以上处理器(central processing units,CPU)322 (例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程 序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中, 存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的 程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数 据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与 存储介质330通信,在FPGA加速卡网络数据传输设备301上执行存储介质330 中的一系列指令操作。
FPGA加速卡网络数据传输设备301还可以包括一个或一个以上电源326, 一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358, 和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM, UnixTM,LinuxTM,FreeBSDTM等等。
上面图1所描述的FPGA加速卡网络数据传输方法中的步骤可以由本实施 例介绍的FPGA加速卡网络数据传输设备的结构实现。
本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行 时实现如上述实施例介绍的FPGA加速卡网络数据传输方法的步骤,具体可参 照上述实施例中对FPGA加速卡网络数据传输方法的介绍。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁 碟或者光盘等各种可存储程序代码的可读存储介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是 与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对 于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的 比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示 例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现, 为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性 地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定 的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、 处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存 储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编 程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任 意其它形式的存储介质中。
以上对本申请所提供的FPGA加速卡网络数据传输方法、装置、设备及可 读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施 方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核 心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请 原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落 入本申请权利要求的保护范围内。

Claims (10)

1.一种FPGA加速卡网络数据传输方法,其特征在于,包括:
FPGA加速卡服务器确定待传输的若干数据包;
解析所述数据包,确定所述数据包的特征信息;
根据各所述数据包间所述特征信息的相关性对所述数据包进行聚合处理,得到聚合数据包;其中,所述聚合数据包的数量少于所述待传输的数据包的数量;
将所述聚合数据包发送至接收服务器。
2.如权利要求1所述的FPGA加速卡网络数据传输方法,其特征在于,根据各所述数据包间所述特征信息的相关性将所述数据包进行聚合处理,得到聚合数据包,包括:
根据所述特征信息,将品种类型相同且发送时间相连的所述数据包进行聚合处理,得到聚合数据包。
3.如权利要求2所述的FPGA加速卡网络数据传输方法,其特征在于,在将品种类型相同且发送时间相连的所述数据包进行聚合处理之后,还包括:
判断聚合处理后的数据包大小是否超过网络最大MTU;
若否,将所述聚合处理后的数据包作为所述聚合数据包。
4.如权利要求1所述的FPGA加速卡网络数据传输方法,其特征在于,在将所述聚合数据包发送至接收服务器之后,还包括:
所述接收服务器采用原始套接字提取所述聚合数据包中的数据。
5.如权利要求1所述的FPGA加速卡网络数据传输方法,其特征在于,在将所述聚合数据包发送至接收服务器之后,还包括:
所述接收服务器将网卡Ring Buffer中RX设置为最大值。
6.如权利要求1所述的FPGA加速卡网络数据传输方法,其特征在于,在将所述聚合数据包发送至接收服务器之后,还包括:
所述接收服务器根据数据包处理能力进行内核参数优化。
7.如权利要求6所述的FPGA加速卡网络数据传输方法,其特征在于,所述接收服务器根据数据包处理能力进行内核参数优化,包括:
所述接收服务器根据数据包处理能力对net.core.dev_weight以及net.core.netdev_budget参数进行优化。
8.一种FPGA加速卡网络数据传输装置,其特征在于,该装置应用于FPGA加速卡服务器,该装置包括:
数据包确定单元,用于确定待传输的若干数据包;
数据包解析单元,用于解析所述数据包,确定所述数据包的特征信息;
数据包聚合单元,用于根据各所述数据包间所述特征信息的相关性对所述数据包进行聚合处理,得到聚合数据包;其中,所述聚合数据包的数量少于所述待传输的数据包的数量;
聚合发送单元,用于将所述聚合数据包发送至接收服务器。
9.一种FPGA加速卡网络数据传输设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的FPGA加速卡网络数据传输方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至7任一项所述的FPGA加速卡网络数据传输方法的步骤。
CN202010850410.0A 2020-08-21 2020-08-21 Fpga加速卡网络数据传输方法及相关组件 Withdrawn CN112422448A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010850410.0A CN112422448A (zh) 2020-08-21 2020-08-21 Fpga加速卡网络数据传输方法及相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010850410.0A CN112422448A (zh) 2020-08-21 2020-08-21 Fpga加速卡网络数据传输方法及相关组件

Publications (1)

Publication Number Publication Date
CN112422448A true CN112422448A (zh) 2021-02-26

Family

ID=74854097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010850410.0A Withdrawn CN112422448A (zh) 2020-08-21 2020-08-21 Fpga加速卡网络数据传输方法及相关组件

Country Status (1)

Country Link
CN (1) CN112422448A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419780A (zh) * 2021-05-08 2021-09-21 中国科学院声学研究所 一种基于fpga加速卡的dpdk驱动系统
CN115499338A (zh) * 2022-11-15 2022-12-20 阿里云计算有限公司 数据处理方法、设备、介质及云网络观测系统
WO2023179741A1 (zh) * 2022-03-24 2023-09-28 华为技术有限公司 一种计算系统以及数据传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843841A (zh) * 2016-03-07 2016-08-10 青岛理工大学 一种小文件存储方法和系统
CN108710639A (zh) * 2018-04-17 2018-10-26 桂林电子科技大学 一种基于Ceph的海量小文件存取优化方法
CN110300081A (zh) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 一种数据传输的方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843841A (zh) * 2016-03-07 2016-08-10 青岛理工大学 一种小文件存储方法和系统
CN110300081A (zh) * 2018-03-21 2019-10-01 大唐移动通信设备有限公司 一种数据传输的方法和设备
CN108710639A (zh) * 2018-04-17 2018-10-26 桂林电子科技大学 一种基于Ceph的海量小文件存取优化方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419780A (zh) * 2021-05-08 2021-09-21 中国科学院声学研究所 一种基于fpga加速卡的dpdk驱动系统
CN113419780B (zh) * 2021-05-08 2023-05-12 中国科学院声学研究所 一种基于fpga加速卡的dpdk驱动系统
WO2023179741A1 (zh) * 2022-03-24 2023-09-28 华为技术有限公司 一种计算系统以及数据传输方法
CN115499338A (zh) * 2022-11-15 2022-12-20 阿里云计算有限公司 数据处理方法、设备、介质及云网络观测系统
CN115499338B (zh) * 2022-11-15 2023-09-29 阿里云计算有限公司 数据处理方法、设备、介质及云网络观测系统

Similar Documents

Publication Publication Date Title
CN112422448A (zh) Fpga加速卡网络数据传输方法及相关组件
CN107196870B (zh) 一种基于dpdk的流量动态负载均衡方法
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN107592345B (zh) 交易限流装置、方法及交易系统
CN110896373A (zh) 用于动态选择虚拟交换的资源的技术
US9807189B2 (en) Data transfer device and data transfer system using adaptive compression algorithm
CN106972985B (zh) 加速dpi设备数据处理与转发的方法和dpi设备
Salah et al. Performance evaluation comparison of Snort NIDS under Linux and Windows Server
CN113259415B (zh) 一种网络报文处理方法、装置及网络服务器
CN111506434B (zh) 一种任务处理方法、装置及计算机可读存储介质
CN109525495B (zh) 一种数据处理装置、方法和fpga板卡
CN111163018A (zh) 网络设备及其降低传输时延的方法
CN112241331A (zh) 一种基于深度神经网络的移动Web任务动态迁移方法
CN111538572A (zh) 任务处理方法、装置、调度服务器及介质
CN112073327B (zh) 一种抗拥塞的软件分流方法、装置及存储介质
KR101537996B1 (ko) 트래픽 상황에 따른 cpu와 gpu간의 로드 밸런스를 가지는 침입 탐지 장치 및 방법
US9298652B2 (en) Moderated completion signaling
CN114489963A (zh) 人工智能应用任务的管理方法、系统、设备及存储介质
US20230029796A1 (en) Stateful service processing method and apparatus
CN109783202A (zh) 事件处理方法、系统、设备和存储介质
CN117097679A (zh) 一种网络中断的聚合方法、装置及网络通信设备
CN107659511B (zh) 一种过载控制方法、主机和存储介质以及程序产品
US20220283876A1 (en) Dynamic resource allocation for efficient parallel processing of data stream slices
Fuentes et al. Characterizing the communication demands of the graph500 benchmark on a commodity cluster
CN112019589B (zh) 一种多层级负载均衡数据包处理方法

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: 20210226

WW01 Invention patent application withdrawn after publication