CN110633493A - 一种基于Intel FPGA的OpenCL交易数据处理的方法 - Google Patents
一种基于Intel FPGA的OpenCL交易数据处理的方法 Download PDFInfo
- Publication number
- CN110633493A CN110633493A CN201910721805.8A CN201910721805A CN110633493A CN 110633493 A CN110633493 A CN 110633493A CN 201910721805 A CN201910721805 A CN 201910721805A CN 110633493 A CN110633493 A CN 110633493A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- data
- opencl
- module
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及数据处理技术领域,尤其涉及一种基于Intel FPGA的OpenCL交易数据处理的方法,包括以下步骤:接收网络数据;根据提前设置的特征值对所述网络数据初步筛选,处理提取交易数据;对接收的交易数据进一步精确筛选,提取交易数据特征字段;所将处理完毕的交易数据特征字段集发送到相关存储位置;OpenCL提取所述相关存储位置的交易数据特征集交付数据处理平台汇总。本发明实施例一种基于Intel FPGA的OpenCL交易数据处理的方法,FPGA设备通过对接收的网络数据处理提取交易数据,对交易数据快速计算处理,提高处理数据效率,保障交易的高性能处理。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于Intel FPGA的OpenCL交易数据处理的方法及系统。
背景技术
随着现代电子技术的飞速发展,处理器的运算速度越来越快,在数据中心使用FPGA(Field-Programmable Gate Array,以下简称FPGA)进行算法加速,已经成为非常常用的一种方法。FPGA拥有丰富的逻辑资源、算法模块和嵌入式硬核模块,以全数据流的形式进行处理,使用硬件以空间上并行的方法提升算法速度。OpenCL(Open ComputingLanguage,以下简称OpenCL)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器。
FPGA执行程序采用类C/C++风格的OpenCL语言开发,因开发简便,修改灵活,在高频数据交易结构中得到广泛应用,现有的数据交易结构,一种是如图1所示,通过OpenCL来做交易处理加速,CPU端使用OpenCL host主程序,FPGA端使用OpenCL kernel算法处理,基于OpenCL通道进行数据交互;另一种是如图2所示,采用FPGA开发来进行交易处理加速,FPGA端分为2个模块,一个是IO处理模块,负责和高速网口等进行通信和处理,另外一个是算法处理模块,负责并行数据的处理,2个模块都是基于Verilog这类HDL语言进行开发。
现有技术存在以下不足:
1、将FPGA设备作为一个类似于GPU的硬件算法加速器,而不能使用FPGA的硬件IO特性;交易系统的数据源主要是高速网络,如果不使用FPGA的自带网络通道,还需要CPU来接收网络数据并设置给OpenCL kernel来处理,数据搬移环节增多,处理数据效率低。
2、采用FPGA开发方法来进行,IO处理模块负责和PCIE核相关的处理,以及高速IO通信,算法处理模块只用负责进行交易相关的数据加速处理;虽然这个方式处理数据效率会很高,性能快,不足之处在于开发方法使用Verilog进行硬件开发、仿真,效率较低、周期较长,维护和移植的工作量也很高,不利于交易处理算法的更新迭代,且实现的算法很难移植到其他系统上。
发明内容
针对现有技术存在的不足,本发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的方法和系统,通过在FPGA里面设计BSP模块和RTL模块,提高处理数据效率,保障交易的高性能处理。
一方面,本发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的方法,包括以下步骤:
S1,接收网络数据;
S2,提前设置的特征值对所述网络数据初步筛选,处理提取交易数据;
S3,对接收的交易数据进一步精确筛选,提取交易数据特征字段;
S4,将处理完毕的交易数据特征字段集发送到相关存储位置;
S5,OpenCL提取所述相关存储位置的交易数据特征集交付数据管理平台汇总。
其中,步骤S1接收所述网络数据包括交易数据和非交易数据。
其中,步骤S2包括将接收的所述网络数据处理成符合算法输入要求的数据。
其中,步骤S5所述数据管理平台设置所述交易数据特征值。
另一方面,本发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的系统,FPGA设备内包括RTL模块、BSP模块和OpenCL kernel算法处理模块;
所述RTL模块:基于所述BSP模块的硬件I/O处理,收发高速网络数据,具体包括,对所述网络数据初步筛选,处理提取交易数据发送给OpenCL kernel算法处理模块;
所述BSP模块:对FPGA设备底层板级硬件抽象;
所述OpenCL kernel算法处理模块:对所述交易数据进一步精确筛选,提取交易数据特征字段,将处理完毕的交易数据特征字段集发送到相关存储位置;OpenCL提取所述相关存储位置的交易数据特征集交付数据管理平台汇总。
其中,所述RTL模块接收所述网络数据包括交易数据和非交易数据。
其中,所述RTL模块将接收的所述网络数据处理成符合所述BSP模块算法输入要求的数据。
其中,所述数据处理平台设置所述RTL模块上交易数据特征值。
本发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的方法及系统,通过在FPGA里面设计BSP模块和RTL模块,提高处理数据效率,保障交易的高性能处理。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一现有技术整体结构示意图;
图2为另一现有技术整体结构示意图;
图3为本发明实施例方法流程示意图;
图4为本发明实施例整体结构示意图;
图5为本发明实施例通信结构示意图;
图6为本发明实施例BSP模块结构示意图;
附图标记:
OpenCL-201 CPU-2 BSP模块-101 RTL模块-102
OpenCL kernel-103 FPG设备-1 数据管理平台-202。
具体实施方式
以下结合附图对本发明实施例的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图3为本发明实施例方法流程示意图,如图3所示,本发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的方法,包括以下步骤:
S1,接收网络数据;
S2,提前设置的特征值对所述网络数据初步筛选,处理提取交易数据;设置特征值,如网络数据包类型、通道、端口等信息来提取交易数据;
S3,对接收的交易数据进一步精确筛选,提取交易数据特征字段;交易数据特征字段提取,比如订单和行情的应用数据字段;
S4,将处理完毕的交易数据特征字段集发送到相关存储位置;
S5,OpenCL提取所述相关存储位置的交易数据特征集交付数据管理平台汇总。
本发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的方法,通过接收网络数据,对网络数据进行筛选,提取交易数据,对提取交易数据加速计算处理,提取提取交易数据特征字段,提高处理数据效率,保障交易的高性能处理。
进一步地,步骤S1接收网络数据包括交易数据和非交易数据;非交易数据,如tcp协议的arp icmp等其他数据包,不需要进行加速算法处理,直接由常规网络处理,具体地使用传统的操作系统内核中的网络驱动通道和数据管理平台处理。
进一步地,步骤S2包括将接收的所述网络数据处理成符合算法输入要求的数据;具体地,接收到的网络数据都是未经处理的原始网络数据,需要对原始网络数据处理成符合算法输入要求的数据。
进一步地,步骤S5所述数据管理平台设置所述交易数据特征值。
本发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的方法,通过接收网络数据,对网络数据进行筛选,提取交易数据,对提取交易数据加速计算处理,提取提取交易数据特征字段,提高处理数据效率,保障交易的高性能处理。
图4为本发明实施例整体结构示意图;图5为本发明实施例通信结构示意图;如图4、图5所示,本发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的系统,FPGA设备1内包括RTL模块102(寄存器转换级电路Register Transfer Level,以下简称RTL)、BSP模块101(板级支持包Board Support Package,以下简称BSP)和OpenCL kernel算法处理模块103;
RTL模块102:基于BSP模块101的硬件I/O处理,收发高速网络数据,具体包括,根据提前设置的特征值对网络数据初步筛选,处理提取交易数据发送给OpenCL kernel算法处理模块103;具体地,RTL模块102的职责是接收高速网络数据并进行初筛,提取交易数据,并将交易数据通过FPGA设备1内部FIFO交付给OpenCL kernel算法处理模块103,实现方式是在OpenCL kernel算法处理模块103中直接调用RTL模块102的接口;基于BSP模块101的硬件I/O处理,能够收发高速网络数据,OpenCL kernel算法处理模块103可以直接从RTL模块102获取交易数据进行加速算法处理,减少数据搬移缓解,提高处理数据效率;
所述BSP模块101:对FPGA设备1底层板级硬件抽象,实现所述OpenCL kernel算法处理模块(103)在所述FPGA设备1上运作;
所述OpenCL kernel算法处理模块103对所述交易数据进一步精确筛选,提取交易数据特征字段,将处理完毕的交易数据特征字段集发送到相关存储位置;OpenCL201提取所述相关存储位置的交易数据特征集交付数据管理平台202汇总;具体地,OpenCL kernel算法处理模块103处理完毕的数据传输到FPGA设备1抽象出来的GlobalMemory中,如果数据量大,也可以传递到DDR中;CPU2端的OpenCL201提取所述相关存储位置的交易数据特征集交付给CPU2端数据管理平台202汇总。
进一步地,RTL模块102接收所述网络数据包括交易数据和非交易数据;RTL模块102将接收的所述网络数据处理成符合所述BSP模块101算法输入要求的数据;数据处理平台202设置RTL模块102上交易数据特征值。
发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的方法及系统,BSP模块和RTL模块之间通过FPGA设备内部总线互连,带宽高,延迟低,能及时进行数据的计算处理,保障交易的高性能处理。
基于上述实施例,图6为本发明实施例BSP模块结构示意图,如图6所示,基于OpenCL kernel算法处理模块用高级语言设计,通过专用编译器能编译成可在FPGA设备中实现硬件电路功能的可执行文件;该电路功能实现依赖于一系列外围设备和内外接口连接;FPGA设备的主要外围器件包括Pcie 3.0、10G SFP+光口、40G QSFP+光口、DDR4SDRAM、QDRII+SRAM、Flash等外部存储器,还有用于控制和Flash接口转换的CPLD。FPGA设备整体功能是由2个分区构成,一个是包含访问控制所有外围设备和内部总线互连的接口逻辑,一个就是用高级语言设计的OpenCL kernel算法处理模块。设计需先实现接口逻辑功能,因为OpenCL的可执行文件是通过接口电路里的pcie cvp功能配置给FPGA中的分区;设计好的接口逻辑分区文件存放于Flash中,上电就能直接加载实现所有内外接口功能,然后软件通过cvp将OpenCL kernel算法处理模块可执行文件下载至FPGA另一分区,实现整个硬件功能。FPGA中的OpenCL kernel算法处理模块通过内部总线和外围设备及内部模块通信;具体来说,OpenCL kernel算法处理模块和3个模块进行通信,分别是通过pcie和CPU端软件进行数据交互的主机接口,和用硬件描述语言实现RTL功能的I/0处理模块,以及用于数据缓存的内外存储器访问接口;OpenCL kernel算法处理模块通过专用的kernel Interface接口转换模块连接主机接口,也通过通过该接口实现和I/O处理模块的数据交换。kernelInterface的主从接口都是是标准的Avalon-MM接口,其中Slave接口同时接主机接口和I/0处理模块的Master接口,实现两路数据的总线复用;kernel Interface的Master接口连接OpenCL kernel算法处理模块的Slave接口,实现复用的两路总线对同一从模块的访问操作;OpenCL kernel算法处理模块的Master接口和pcie dma的Master接口都连接至存储器访问控制的Slave接口,通过总线复用实现对内外存储器的访问。
本发明实施例提供一种基于Intel FPGA的OpenCL交易数据处理的系统,通过使用BSP模块底层抽象技术,能够使的OpenCL基于这个BSP模块在FPGA上正常运作,OpenCL程序可以更好的在基于CPU/GPU/FPGA架构上进行移植,通用性更好。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于Intel FPGA的OpenCL交易数据处理的方法,其特征在于,包括以下步骤:
S1,接收网络数据;
S2,提前设置的特征值对所述网络数据初步筛选,处理提取交易数据;
S3,对接收的交易数据进一步精确筛选,提取交易数据特征字段;
S4,将处理完毕的交易数据特征字段集发送到相关存储位置;
S5,OpenCL提取所述相关存储位置的交易数据特征集交付数据管理平台汇总。
2.根据权利要求1所述一种基于Intel FPGA的OpenCL交易数据处理的方法,其特征在于,步骤S1接收所述网络数据包括交易数据和非交易数据。
3.根据权利要求1所述一种基于Intel FPGA的OpenCL交易数据处理的方法,其特征在于,步骤S2包括将接收的所述网络数据处理成符合算法输入要求的数据。
4.根据权利要求1所述的一种基于Intel FPGA的OpenCL交易数据处理的方法,其特征在于,步骤S5所述数据管理平台设置所述交易数据特征值。
5.一种基于Intel FPGA的OpenCL交易数据处理的系统,其特征在于,FPGA设备(1)内包括RTL模块(102)、BSP模块(101)和OpenCL kernel算法处理模块(103);
所述RTL模块(102):基于所述BSP模块(101)的硬件I/O处理,收发高速网络数据,具体包括,对所述网络数据初步筛选,处理提取交易数据发送给OpenCL kernel算法处理模块(103);
所述BSP模块:对FPGA设备底层板级硬件抽象;
所述OpenCL kernel算法处理模块(103):对所述交易数据进一步精确筛选,提取交易数据特征字段,将处理完毕的交易数据特征字段集发送到相关存储位置;OpenCL(202)提取所述相关存储位置的交易数据特征集交付数据管理平台(201)汇总。
6.根据权利要求5所述的一种基于Intel FPGA的OpenCL交易数据处理的系统,其特征在于,所述RTL模块(102)接收所述网络数据包括交易数据和非交易数据。
7.根据权利要求5所述的一种基于Intel FPGA的OpenCL交易数据处理的系统,其特征在于,所述RTL模块(102)将接收的所述网络数据处理成符合所述BSP模块(101)算法输入要求的数据。
8.根据权利要求5所述的一种基于Intel FPGA的OpenCL交易数据处理的系统,其特征在于,所述数据处理平台(202)设置所述RTL模块(102)上交易数据特征值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721805.8A CN110633493A (zh) | 2019-08-06 | 2019-08-06 | 一种基于Intel FPGA的OpenCL交易数据处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721805.8A CN110633493A (zh) | 2019-08-06 | 2019-08-06 | 一种基于Intel FPGA的OpenCL交易数据处理的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110633493A true CN110633493A (zh) | 2019-12-31 |
Family
ID=68969283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910721805.8A Pending CN110633493A (zh) | 2019-08-06 | 2019-08-06 | 一种基于Intel FPGA的OpenCL交易数据处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110633493A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650499A (zh) * | 2020-12-29 | 2021-04-13 | 国泰君安证券股份有限公司 | 基于OpenCL平台实现对交易所level-2 FAST行情的硬件解码处理的系统 |
-
2019
- 2019-08-06 CN CN201910721805.8A patent/CN110633493A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650499A (zh) * | 2020-12-29 | 2021-04-13 | 国泰君安证券股份有限公司 | 基于OpenCL平台实现对交易所level-2 FAST行情的硬件解码处理的系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940279B2 (en) | Processor apparatus with programmable multi port serial communication interconnections | |
US9842075B1 (en) | Presenting multiple endpoints from an enhanced PCI express endpoint device | |
US9996484B1 (en) | Hardware acceleration for software emulation of PCI express compliant devices | |
US11886931B2 (en) | Inter-node execution of configuration files on reconfigurable processors using network interface controller (NIC) buffers | |
US7480747B2 (en) | Method and apparatus to reduce latency and improve throughput of input/output data in a processor | |
CN104820657A (zh) | 一种基于嵌入式异构多核处理器上的核间通信方法及并行编程模型 | |
US9330002B2 (en) | Multi-core interconnect in a network processor | |
CN112347721B (zh) | 基于fpga实现数据处理加速的系统及其加速方法 | |
US11182264B1 (en) | Intra-node buffer-based streaming for reconfigurable processor-as-a-service (RPaaS) | |
CN115033188B (zh) | 一种基于zns固态硬盘的存储硬件加速模块系统 | |
US11467992B1 (en) | Memory access operation in distributed computing system | |
CN111262917A (zh) | 一种基于fpga云平台的远端数据搬移装置和方法 | |
CN112988647A (zh) | 一种TileLink总线到AXI4总线转换系统及方法 | |
CN106844263B (zh) | 一种基于可配置的多处理器计算机系统及实现方法 | |
US11409685B1 (en) | Data synchronization operation at distributed computing system | |
CN110633493A (zh) | 一种基于Intel FPGA的OpenCL交易数据处理的方法 | |
US11354258B1 (en) | Control plane operation at distributed computing system | |
US11496418B1 (en) | Packet-based and time-multiplexed network-on-chip | |
Shim et al. | Design and implementation of initial OpenSHMEM on PCIe NTB based cloud computing | |
US7953908B2 (en) | High throughput pipelined data path | |
US20210334264A1 (en) | System, method, and program for increasing efficiency of database queries | |
CN111722930B (zh) | 一种数据预处理系统 | |
US10261817B2 (en) | System on a chip and method for a controller supported virtual machine monitor | |
Khazraee et al. | Shire: Making FPGA-accelerated Middlebox Development More Pleasant | |
US11907144B1 (en) | Early semaphore update |
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 |