CN112291118A - 一种基于fpga的多核数据处理装置及方法 - Google Patents
一种基于fpga的多核数据处理装置及方法 Download PDFInfo
- Publication number
- CN112291118A CN112291118A CN202011556848.4A CN202011556848A CN112291118A CN 112291118 A CN112291118 A CN 112291118A CN 202011556848 A CN202011556848 A CN 202011556848A CN 112291118 A CN112291118 A CN 112291118A
- Authority
- CN
- China
- Prior art keywords
- core
- data
- fpga
- core processor
- data processing
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Stored Programmes (AREA)
Abstract
本发明一种基于FPGA的多核数据处理装置及方法,涉及数据加速处理技术领域,具体而言,是一种基于FPGA的多核数据过滤、识别等业务定制化处理设备。其内部结构包括多核处理器、FPGA模块、光纤连接器和以太网交换芯片;所述多核处理器内部采用对称PowerPC核心,根据性能要求能集成双核与四核,PowerPC核心的寄存器与对应的二级缓存容量相同;所述多核处理器内部通过计算适配元器件连接缓存设备,同时集成时钟管理、线程调度管理等内置器件;所述多核处理器与FPGA模块通过LBC接口以及DMA接口连接;以太网交换芯片的一端与多核处理器相连;所述FPGA模块和以太网交换芯片的另一端分别与光纤连接器连接。
Description
技术领域
本发明一种基于FPGA的多核数据处理装置及方法,涉及数据加速处理技术领域,具体而言,是一种基于FPGA的多核数据过滤、识别等业务定制化处理设备。
背景技术
采用多种方式的DPI(Deep Packet Inspection-基于数据包的深度检测)应用加速,包括零拷贝丢包数据捕获、大批量动态规则下的数据分类与过滤、基于流的应用识别与特征过滤、大容量字符串内容特征匹配、完整网络访问日志上报、负载均衡多队列分发等多方面,极大降低传统DPI业务模型中主机的处理压力,提高了系统整体性能,进而为网络安全、流量监测、业务分析、信令检测等多种业务逻辑领域提供有效加速处理方案。
当前主流数据处理装置的处理器多为单核结构,在实时处理过程中即使采用多进程或多任务来对不同来源的数据进行处理,微观上都是通过调度分时以串行方式实现宏观并行状态。当前,随着网络数据终端的爆发式增长和通讯资费的成本下调,促使流量的大幅快速递增,可预见的将来,随着5G的普及,此种状况尤为突出,甚至会出现超记录的流量汇聚现象。因此,传输数据量大,处理复杂度高,这样就得占用大量处理器资源,进而导致其他待处理数据处理响应不及时,一般的解决方案都是横向扩展处理器个数,但随之而来的是需要相应增加大量外围电路,进而造成装置的功耗增加,成本上升。还有一种处理方式是采用多核处理器来增强处理能力,与前一种方案相比,该方案有功耗增加有限,电路面积几乎不变进而成本增加有限的优点,但是缺点是需要工艺技术的提升并能做到内部通讯有序的“并行”能力,这对材料工程来说是一种挑战。
当前报文处理的数据流向收包是从网卡到内存(中断拷贝)再到处理器,发包从处理器到内存再到网卡(中断拷贝),这种方式在大数据量传输时增加处理器的介入时长,造成吞吐量瓶颈不易解决,只能提升硬件本身的性能参数,非长远合理方式,一种解决方案是采用DMA方式,当数据到网卡时不采用拷贝方式,而是直接映射内存方式,以减少内存复制次数,提升吞吐量,同时依据多核特性映射内存可以分区以交给不同的处理器核心进行处理,以发挥并行优势。当然这同时带来了二次开发的难度,需要不同核心间配合以解决数据同步问题,否则系统稳定性不容乐观。
发明内容
本发明的目的是针对上述不足之处,提供一种基于FPGA的多核数据处理装置及方法,能解决上述实时大数据量问题而提供一种多核处理器与网卡结合可编程逻辑控制器(由FPGA实现)的数据处理装置,以实现网卡能够线速且灵活处理数据的能力。
本发明通过以下技术方案来实现上述目的:
一种基于FPGA的多核数据处理装置,其内部结构包括多核处理器、FPGA模块(现场可编程逻辑门阵列)、光纤连接器和以太网交换芯片;所述多核处理器内部采用对称PowerPC核心,根据性能要求能集成双核与四核;PowerPC核心的寄存器与对应的二级缓存容量相同;所述多核处理器内部通过计算适配元器件连接缓存设备,同时集成时钟管理、线程调度管理等内置器件;所述多核处理器与FPGA模块通过LBC接口以及DMA接口连接;以太网交换芯片的一端与多核处理器相连;所述FPGA模块和以太网交换芯片的另一端分别与光纤连接器连接。
进一步的,所述多核处理器分别与以太网交换芯片和光电转换设备的光电转换模块连接以实现直管数据,中间无其他数据转发装置;光电转换模块与光纤连接器相连。
FPGA模块通过光电转换模块与光纤连接器相连。
多核处理器还分别与RAM存储器以及DDR3内存相连。
所述多核处理器可采用Cavium芯片。
基于FPGA的多核数据处理装置的数据处理方法,包括如下步骤:
S1、网络数据包通过网卡直接传入多核处理器进行下一步处理;
S2、多核处理器接收到步骤S1的网络数据包,对数据包进行解封装、解协议栈等处理,并对网络数据包进行初步过滤,然后将数据传入到FPGA模块进行下一步处理;
S3、FPGA模块对步骤S2传入的数据进行规则匹配和打标后进行数据识别解析,然后传输给其他业务进行下一步处理。
在步骤S3中,所述规则匹配支持多样化匹配,如可根据服务器IP匹配、服务器端口匹配等,也可以在现有技术上通过DPI技术来对报文进行深层检测,结合自身学习积累过程,将客户偏好结合规则设置,通过引流分类等来识别应用。
在步骤S3中,FPGA模块对步骤S2传入的数据经过规则匹配和打标后进行数据识别解析,能够单独对识别成功结果进行规则下放(例如是否继续上传至应用层等),也能对所有识别结果进行规则处理(例如成功率、成分统计等)。为增加灵活扩展,也可以在现有技术上增加动态的轮转机制,即将规则配置进行定期(或者不定期事件触发)的更新及备份,以灵活应对不同的场景需要和定制化需求。
本发明与现有技术相比,具有以下有益效果:
本发明工作中,网络数据包通过网卡直接传入多核处理器,将网络数据包进行解封装、解协议栈等处理后,传入FPGA模块进行规则匹配并打标后传输给其他业务处理设备。一般对于同类数据成分场景下,针对特定协议栈数据采用固定偏移字节数的方式以利用多核能力实现并行处理的目标。因此本发明在提升实时网络流量处理能力的前提下,向可定制化的业务数据处理需求方向扩展,相较于传统数据处理装置,本装置的成本和功耗增幅不明显,但处理性能大幅提升,且更加灵活,电压更稳定。
附图说明
以下将结合附图对本发明作进一步说明:
图1是本发明装置的整体结构原理框图;
图2是本发明装置中网卡接收报文传输到处理器功能图;
图3是本发明装置中处理器传输到网卡发送报文功能图;
图4是本发明装置中FPGA模块数据处理原理图;
图5是本发明装置所实现的软件开发框架层次结构图;
图6是本发明装置关于识别过滤HTTP符合特征报文数据流程图。
具体实施方式
为了更清楚地描述本发明实施案例中所涉及到的构建装置以及连线布局,下面结合附图和具体实施例,对本发明作详细说明。
图1展示了本发明装置的整体模块原理,本发明基于FPGA的多核数据处理装置,其内部结构包括多核处理器、FPGA模块、光纤连接器和以太网交换芯片;所述多核处理器内部采用对称PowerPC核心,根据性能要求能集成双核与四核;PowerPC核心的寄存器与对应的二级缓存容量相同;所述多核处理器内部通过计算适配元器件连接缓存设备,同时集成时钟管理、线程调度管理等内置器件;所述多核处理器与FPGA模块通过LBC接口以及DMA接口连接;所述FPGA模块和以太网交换芯片的另一端分别与光纤连接器连接。
在本实施例中,多核处理器采用Cavium芯片;网络数据包通过网卡直接传入多核处理器,将网络数据包进行解封装、解协议栈等处理后,传入FPGA模块进行规则匹配并打标后传输给其他业务处理设备。一般对于同类数据成分场景下,针对特定协议栈数据采用固定偏移字节数的方式以利用多核能力实现并行处理的目标。
图2是本发明关于网卡接收报文传输到处理器功能图,具体数据流向如图所示:以太网数据通过网卡,进入CPU缓存,然后被CPU进行相关处理。
图3是本发明中处理器传输到网卡发送报文功能图。具体数据流向如图所示:CPU对缓存数据进行相关处理之后交给网卡进行下一步处理。
图4是本发明FPGA模块数据处理原理图,描述FPGA模块数据处理相关功能,主要功能包括规则生效和规则打标等数据匹配处理。规则分为数据过滤规则和特征识别规则等。网络流量通过光纤接口连接器传递给以太网芯片触发处理器中断事件,通过DMA方式映射数据内容,再通过DMA方式映射给FPGA模块。FPGA模块接收到数据之后将数据进行规则过滤匹配和详细数据特征识别规则处理。
所述规则过滤匹配支持多样化匹配,如根据服务器IP匹配、服务器端口匹配等。将符合规则的数据进行下一步处理,不符合规则的数据则不进行处理。
详细数据特征识别规则处理可根据具体的关键词或者固定特征串等来识别报文数据,比如通过POST和GET关键词识别HTTP报文并打上HTTP标签,用以标记已识别成功,否则标记识别失败。所述详细数据特征识别规则处理能够单独对识别成功结果进行规则下放(例如是否继续上传至应用层等),也能对所有识别结果进行规则处理(例如成功率、成分统计等)。为增加灵活扩展,可以在现有技术上增加动态的轮转机制,即将规则配置进行定期(或者不定期事件触发)的更新,以灵活应对不同的场景需要和定制化需求。
进一步的,可以在现有技术上增加DPI的介入以增强安全防护和自我积累学习的能力,通过DPI技术来对报文进行深层检测,结合自身学习积累过程,将客户偏好结合规则设置,通过引流分类等来识别应用。本发明FPGA采用Xilinx Artix7系列芯片。
图5是本发明所实现的软件开发框架层次结构图;数据软件层对数据进行解析,控制层将数据进行转换,应用层将数据封装进行展示。
图6是本发明关于识别过滤HTTP符合特征报文数据流程图。过滤特征数据时,先解析数据包协议栈信息,对承载于指定协议(如IPV4、IPV6)的数据进行数据包解析,解析时可根据对应协议特征来判断是否是所需数据,对于HTTP数据,通过解析HTTP头部特征(如HTTP方法为POST、GET等,Content-Type消息类型判断等)来识别过滤出符合HTTP特征的报文数据。
实施案例1:
采用一种基于FPGA与多核结合数据处理装置,来进行数据过滤的基础流程。首先网络流量通过光纤接口连接器传递给以太网芯片触发处理器中断事件,通过DMA方式映射数据内容,再通过DMA方式映射给FPGA模块,进而调用FPGA模块的业务处理逻辑用以判断报文数据成分是否包含特征标记,一般同类数据成分场景下,针对特定协议栈数据采用固定偏移字节数的方式以利用多核能力实现并行处理的目标,如ETH-IPv4—TCP-HTTP协议栈结构,可以分网络层(此处IPv4)之上(TCP-HTTP)和之下(ETH-IPv4)两部分交给两个核心分别处理,进行业务判断,例如数据过滤、特征识别、状态判断、属性分类以及成分校验等。回归本例中,指定符合HTTP的规则比如存在POST和GET关键词,则进行TCP上层数据内容遍历,发现POST或者GET(可以采用多模算法以适配选型要求)关键词则打上HTTP标签,用以标记已识别成功,否则标记识别失败,可以单对识别成功结果进行规则下放(是否继续上传至应用层等),也可以对所有识别结果进行规则处理(成功率、成分统计等)。为增加灵活扩展,可以在现有基础上增加动态的轮转机制,即将规则配置进行定期(或者不定期事件触发)的更新,以灵活应对不同的场景需要和定制化需求。
实施案例2:
本实施案例与实施案例1的区别在于:增加DPI的介入以增强安全防护和自我积累学习的能力。在实际使用中根据不同客户的需求级别,采用传统的五元组已经无法精准控制数据流的准确分配,这就需要有DPI技术来对报文进行深层检测,结合自学习的积累过程,将客户偏好结合规则设置,最后通过流分类引擎,深度报文检测DPI引擎以及内置的多核芯片,多核网络接口卡可检测识别的应用种类不可估量,理论来说只要存储足够,可以无限扩展。处理流程既可以通过流分类引擎检测固定特性应用,也可以利用DPI引擎和处理器对报文进行深度排查。基于固定特性表的应用识别主要通过目的端口号和协议来识别应用,流分类引擎具有表查找功能;基于特征的应用识别通过DPI引擎来检查特征时,在需要处理器干预或做后期处理时,可以将报文送至内部处理器核做进一步判别处理,也可以送至任意外部主处理器做进一步操作。在使用建立识别的基础上,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
Claims (8)
1.一种基于FPGA的多核数据处理装置,其特征在于:其内部结构包括多核处理器、FPGA模块、光纤连接器和以太网交换芯片;所述多核处理器内部采用对称PowerPC核心,根据性能要求能集成双核与四核,PowerPC核心的寄存器与对应的二级缓存容量相同;所述多核处理器内部通过计算适配元器件连接缓存设备,同时集成时钟管理和线程调度管理内置器件;所述多核处理器与FPGA模块通过LBC接口以及DMA接口连接;以太网交换芯片的一端与多核处理器相连;所述FPGA模块和以太网交换芯片的另一端分别与光纤连接器连接。
2.根据权利要求1所述的基于FPGA的多核数据处理装置,其特征在于:所述多核处理器分别与以太网交换芯片和光电转换设备的光电转换模块连接以实现直管数据,中间无其他数据转发装置;所述光电转换模块与光纤连接器相连。
3.根据权利要求2所述的基于FPGA的多核数据处理装置,其特征在于:FPGA模块通过光电转换模块与光纤连接器相连。
4.根据权利要求3所述的基于FPGA的多核数据处理装置,其特征在于:多核处理器还分别与RAM存储器以及DDR3内存相连。
5.根据权利要求1所述的基于FPGA的多核数据处理装置,其特征在于:所述多核处理器采用Cavium芯片。
6.一种权利要求1所述的基于FPGA的多核数据处理装置的数据处理方法,其特征在于,包括如下步骤:
S1、网络数据包通过网卡直接传入多核处理器进行下一步处理;
S2、多核处理器接收到步骤S1的网络数据包,对数据包进行解封装、解协议栈处理,并对网络数据包进行初步过滤,然后将数据传入到FPGA模块进行下一步处理;
S3、FPGA模块对步骤S2传入的数据进行规则匹配和打标后进行数据识别解析,然后传输给其他业务进行下一步处理。
7.根据权利要求6所述的基于FPGA的多核数据处理装置的数据处理方法,其特征在于,在步骤S3中,所述规则匹配能根据服务器IP匹配、服务器端口匹配,也能在现有技术上通过DPI技术对报文进行深层检测,结合自身学习积累过程,将客户偏好结合规则设置,通过引流分类来识别应用。
8.根据权利要求6所述的基于FPGA的多核数据处理装置的数据处理方法,其特征在于,在步骤S3中,FPGA模块对步骤S2传入的数据经过规则匹配和打标后进行数据识别解析,能够单独对识别成功结果进行规则下放,对所有识别结果进行规则处理,也能在现有技术上增加动态的轮转机制,即将规则配置进行定期或者不定期事件触发的更新及备份。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011556848.4A CN112291118A (zh) | 2020-12-25 | 2020-12-25 | 一种基于fpga的多核数据处理装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011556848.4A CN112291118A (zh) | 2020-12-25 | 2020-12-25 | 一种基于fpga的多核数据处理装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112291118A true CN112291118A (zh) | 2021-01-29 |
Family
ID=74426279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011556848.4A Pending CN112291118A (zh) | 2020-12-25 | 2020-12-25 | 一种基于fpga的多核数据处理装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112291118A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827053A (zh) * | 2022-06-21 | 2022-07-29 | 中国人民解放军国防科技大学 | 一种芯粒化网络处理器架构 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180198840A1 (en) * | 2017-01-08 | 2018-07-12 | International Business Machines Corporation | Address space management with respect to a coherent accelerator processor interface architecture |
CN209055883U (zh) * | 2018-12-27 | 2019-07-02 | 成都能通科技有限公司 | 一种基于多核powerpc处理器的非对称数据处理装置 |
CN110086787A (zh) * | 2019-04-15 | 2019-08-02 | 杭州迪普信息技术有限公司 | 报文识别方法、装置、电子设备及机器可读存储介质 |
-
2020
- 2020-12-25 CN CN202011556848.4A patent/CN112291118A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180198840A1 (en) * | 2017-01-08 | 2018-07-12 | International Business Machines Corporation | Address space management with respect to a coherent accelerator processor interface architecture |
CN209055883U (zh) * | 2018-12-27 | 2019-07-02 | 成都能通科技有限公司 | 一种基于多核powerpc处理器的非对称数据处理装置 |
CN110086787A (zh) * | 2019-04-15 | 2019-08-02 | 杭州迪普信息技术有限公司 | 报文识别方法、装置、电子设备及机器可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827053A (zh) * | 2022-06-21 | 2022-07-29 | 中国人民解放军国防科技大学 | 一种芯粒化网络处理器架构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108200086B (zh) | 一种高速网络数据包过滤装置 | |
CN112243205A (zh) | 一种基于物联网的多协议融合处理方法 | |
CN1394034A (zh) | 综合网管设备日志管理系统 | |
CN113542263B (zh) | 防火墙策略迁移方法及装置 | |
CN107172780A (zh) | 一种助航灯控制系统 | |
CN113111115A (zh) | 一种数据信息管理系统及其方法 | |
CN100481812C (zh) | 基于应用的流量控制方法及进行应用流量控制的网络设备 | |
CN206962832U (zh) | 基于fpga高性能采集卡的网络数据审计系统 | |
CN112291118A (zh) | 一种基于fpga的多核数据处理装置及方法 | |
CN101340370B (zh) | 链路选择方法和链路选择装置 | |
CN112835775A (zh) | 模拟网络通讯方法、装置及继电保护装置仿真测试系统 | |
CN110708209B (zh) | 虚拟机流量采集方法、装置、电子设备及存储介质 | |
CN111641659A (zh) | 一种交换机的中央处理器防攻击的方法、装置、设备及存储介质 | |
CN107196879A (zh) | Udp报文的处理方法、装置以及网络转发装置 | |
CN104217314A (zh) | 路由信息抓取方法和装置 | |
CN115033407B (zh) | 一种适用于云计算的采集识别流量的系统和方法 | |
CN111856999B (zh) | 基于智能光网络设备的多终端设备管理方法及系统 | |
CN102523139B (zh) | 高速网络协议深度检测装置及检测方法 | |
CN207283172U (zh) | 无功补偿控制组网系统 | |
CN111782322A (zh) | 基于云桌面服务器的内外网消息通讯服务器及系统 | |
CN113572700A (zh) | 流量检测方法、系统、装置及计算机可读存储介质 | |
CN102098218B (zh) | 基于以太网组播的系统保活方法 | |
CN107707484A (zh) | 一种基于区分链路标识的报文负荷均分结构及方法 | |
CN109547483A (zh) | 用于公共场所ap设备的审计系统及方法 | |
CN209250664U (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210129 |