基于FPGA‑CPU混合架构的高速信息交互系统技术方案

技术编号:16755499 阅读:48 留言:0更新日期:2017-12-09 02:03
一种基于FPGA‑CPU混合架构的高速信息交互系统,包括:FPGA模块、中央控制模块和交互终端,其中:FPGA模块和中央控制模块通过PCIe接口进行数据通讯,中央控制模块接收筛选外部的多路TCP需求数据,并存储历史需求数据,生成历史数据分价表并进行维护;FPGA管理维护实时需求数据生成的实时数据分价表,并根据交互终端的触发调用历史数据分价表和实时数据分价表执行相应的操作指令,进行快速决策、组单,生成交互指令,通过交互终端实现信息交互;实时数据分价表采用硬件双调排序方法进行内容排序,历史数据分价表采用平衡树方法进行内容排序;本发明专利技术将FPGA和CPU交互的延时控制在较优延时内,采用灵活、有效的通讯方式,发挥FPGA和CPU各自的处理特点,从而提升混合架构系统的加速比。

High speed information interactive system based on hybrid architecture of CPU FPGA

A high-speed information exchange system, FPGA CPU based on hybrid architecture include: FPGA module, central control module and interactive terminal, including: FPGA module and central control module for data communication through the PCIe interface, the central control of multi-channel TCP data receiving external demand selection module, and stores the historical demand data, historical data to generate price table FPGA management and maintenance; maintenance of real-time data demand data generated by the price table, and according to the interactive terminal call history data trigger a price list and the price of real-time data table to perform the corresponding operation instructions, fast decision-making, single group, generation of interactive instruction, information interaction is realized through interactive terminal; real-time data price list by hardware bitonic sort method content sorting, history data price list by the balance tree method of the present invention content ranking; The delay of FPGA and CPU interaction is controlled in the best time delay, and flexible and effective communication mode is applied to give full play to the processing characteristics of FPGA and CPU, so as to enhance the speedup of hybrid architecture system.

【技术实现步骤摘要】
基于FPGA-CPU混合架构的高速信息交互系统
本专利技术涉及的是一种金融交互领域的技术,具体是一种基于FPGA-CPU混合架构的高速信息交互系统。
技术介绍
FPGA(FieldProgrammableLogicArray,可编程逻辑阵列)技术是一项成熟的应用技术,其与金融业务相结合的Fintech技术正逐步成为行业焦点。FPGA擅长专业数据处理,功耗低,计算能力强、密度高;金融交互领域以程序化交互、高频交互等为代表,对系统的实时处理性能要求很高。FPGA应用在金融数据的处理带来计算速度上的提升,能有效提高策略响应速度和报单成功率。理想的处理模式是:所有数据通过FPGA网卡流入计算卡,经过业务逻辑单元处理后,经由FPGA网卡发送出去,以实现数据流板进板出的设计。但是,当前国内交互所对使用FPGA接入的方式要求严格,禁止绕过交互系统API(ApplicationProgramInterface,应用程序接口)的认证而直连交易所获取行情或者进行交易。因此,业界应用较多的模式是:FPGA通过PCIe(PeripheralComponentInterfaceExpress,高速总线和接口标准)接口与CPU(CenterProcessingUnit,中央处理器)进行通讯,通过调用软件API来完成组包,FPGA更多承担的是一种类高速网卡式的快速通道,逻辑处理功能有限。另外一个难以突破的技术瓶颈是,各大FPGA厂商提供的PCIe硬核普遍关注数据吞吐量,虽然具有一定普适性,适合大批量流式数据集中存储和传输,但是对少量数据的快传欠缺考虑,特别是在DMA方式传输下需要等待数据准备完成,导致PCIe接口易成为系统加速的瓶颈。
技术实现思路
本专利技术针对现有技术读取速度慢,数据传递效率低下的缺陷,提出一种基于FPGA-CPU混合架构的高速信息交互系统,分别通过CPU存储历史需求数据和非核心需求数据、通过FPGA存储实时需求数据,两者通过PCIe接口和大实时数据分价表交互协议进行数据通讯,控制交互延时,提升交互效率,从而发挥FPGA和CPU各自的优势,解决金融领域中应用加速的问题。本专利技术是通过以下技术方案实现的:本专利技术包括:现场可编程门阵列(FPGA)模块、中央控制模块和交互终端,其中:FPGA模块和中央控制模块通过PCIe接口进行数据通讯,中央控制模块接收筛选外部的多路TCP需求数据,并存储历史需求数据,生成分价表(历史数据分价表)并进行维护;FPGA模块管理维护实时需求数据生成的分价表(实时数据分价表),并根据交互终端的触发调用历史数据分价表和实时数据分价表执行相应的操作指令,进行快速决策、组单,生成交互指令,通过交互终端实现信息交互。所述的FPGA模块通过万兆高速网卡与外界通讯。所述的交互终端进行联合需求处理与交互。所述的FPGA模块包括:需求数据管理模块、交互策略管理模块和快速封装报单模块,其中:需求数据管理模块维护交互数据请求的实时需求信息,交互策略管理模块对历史需求数据进行分析与处理,持续轮询当前交互数据请求的需求是否触发既定策略,在满足策略条件时根据实时需求信息速向快速封装报单模块发送报单参数,快速封装报单模块在收到有效参数后,立即将参数填入固定位置,使用指定的协议格式对外发送交互数据请求报单信息。所述的交互数据请求包括但不限于各类合约,所述的分价表在此处为实时需求数据和历史需求数据的统称,为某一合约下由一系列买单和卖单构成的严格按照价格档位进行区分的有序金融表,能够显示当前时刻不同价位对应的买单和卖单的数量。所述的实时数据分价表位于需求数据管理模块,操作指令集合于实时数据分价表中。所述的操作指令包括但不限于:插入(INSERT)、删除(DELETE)、选择(SELECT)和排序(SORT)指令,各指令能够在现场可编程门阵列模块的数个时钟周期内完成。所述的实时数据分价表调用操作指令通过大实时数据分价表交互协议对历史数据分价表中对应的分价表进行插入(INSERT)、删除(DELETE)、选择(SELECT)操作,必要时查询历史需求数据。所述的实时数据分价表采用硬件双调排序方法进行内容排序。所述的历史数据分价表采用平衡树方法进行内容排序。所述的快速决策、组单是指:当交互数据请求满足预设规则时,触发相应的报单操作;FPGA将通过(价格,数量)元组对应到指定的交互数据请求上,封装成API认可的数据包对外发送相关指令。技术效果与现有技术相比,本专利技术虽然同样经过PCIe通道进行数据交互,但中央控制模块主要作为初始化和快速需求获取通道,报单逻辑直接由FPGA模块发送,提升了处理效率;同时,本专利技术针对定长数据自主设计双端(FPGA模块端和中央控制模块端)数据交互协议,采用特定的数据指令和方法,将两者交互的延时控制在较优延时内,减少了通讯字节数,提高了通讯效率。附图说明图1为本专利技术示意图;图2为历史数据分价表和实时数据分价表排序方法示意图;图3为16个元素的硬件双调排序方法示意图;图4为静态分价表设计结构示意图;图5为实施例数据流向示意图。具体实施方式如图1所示,本实施例为高速信息交易系统,包括:FPGA模块、中央控制模块、多个接口和交易终端,其中:FPGA模块和中央控制模块通过PCIe3.0接口进行数据通讯,中央控制模块控制FPGA模块的启动、监控和结束等操作;中央控制模块接收外部的多路行情数据,筛选出最快的一路,生成分价表(历史数据分价表)并对当天甚至更长时期的分价表进行维护;FPGA管理维护实时行情数据生成的分价表(实时数据分价表),并根据交易终端的触发调用历史数据分价表和实时数据分价表执行相应的操作指令,进行快速组单、报单,生成交易指令,通过交易终端实现信息交易。所述的FPGA模块通过板上的40G网络接口经由万兆网络发送交易指令,中央控制模块通过主机接口(10G网络接口)经由万兆网络接收多路实时行情信息。所述的中央控制模块主要由多路行情数据处理模块构成,同时负责接收多路连接到交易所行情前置的行情信息,从中比较选择出最快的一路行情,维护当日接收到的所有历史行情数据,形成一张历史数据分价表。所述的分价表在此处为实时行情数据和历史行情数据的统称,为某一合约下由一系列买单和卖单构成的严格按照价格档位进行区分的有序金融表,能够显示当前时刻不同价位对应的买单和卖单的数量;常用的有5档深度分价表和10档深度分价表。本实施例的历史数据分价表为10000深度分价表,存储当日所有行情数据;实时数据分价表为5档深度分价表,存储实时行情数据。所述的分价表的每一个档位为(价格,数量)元组,每一个合约根据其不同的最小变动价位,在当日涨跌幅10%的限制下存在的合理价格数据约10000种。历史数据分价表存储当日乃至策略所及的历史时刻的分价表,当日的实时行情数据一般存放在内存中,内存容量通常为1~128GB,读取速度为1~50GB/s;历史行情数据存放于数据库中,存储于主存储器中,主存储器容量为1~3TB,读取速度通常为1~1000MB/s。实时数据分价表存储历史数据分价表中最新买卖的最优档数分价表,位于FPGA模块上的高速缓存BRAM中,BRAM容量为3MB,读取速度为1~10TB/s。所述的实时数据分价表设计有两种方法:一是静态分价表,如图4所示本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201710651034.html" title="基于FPGA‑CPU混合架构的高速信息交互系统原文来自X技术">基于FPGA‑CPU混合架构的高速信息交互系统</a>

【技术保护点】
一种基于FPGA‑CPU混合架构的高速信息交互系统,其特征在于,包括:FPGA模块、中央控制模块和交互终端,其中:FPGA模块和中央控制模块通过PCIe接口进行数据通讯,中央控制模块接收筛选外部的多路TCP需求数据,并存储历史需求数据,生成分价表,即历史数据分价表并进行维护;FPGA管理维护实时需求数据生成的分价表,即实时数据分价表,并根据交互终端的触发调用历史数据分价表和实时数据分价表执行相应的操作指令,进行快速决策、组单,生成交互指令,通过交互终端实现信息交互;所述的FPGA模块包括:需求数据管理模块、交互策略管理模块和快速封装报单模块,其中:需求数据管理模块维护交互数据请求的实时需求信息,交互策略管理模块对历史需求数据进行分析与处理,持续轮询当前交互数据请求的需求是否触发既定策略,在满足策略条件时根据实时需求信息速向快速封装报单模块发送报单参数,快速封装报单模块在收到有效参数后,立即将参数填入固定位置,使用指定的协议格式对外发送交互数据请求报单信息;所述的快速组单、报单是指:当交互数据请求满足预设规则时,触发相应的报单操作;FPGA将通过(价格,数量)元组对应到指定的交互数据请求上,封装成API认可的数据包对外发送相关指令。...

【技术特征摘要】
1.一种基于FPGA-CPU混合架构的高速信息交互系统,其特征在于,包括:FPGA模块、中央控制模块和交互终端,其中:FPGA模块和中央控制模块通过PCIe接口进行数据通讯,中央控制模块接收筛选外部的多路TCP需求数据,并存储历史需求数据,生成分价表,即历史数据分价表并进行维护;FPGA管理维护实时需求数据生成的分价表,即实时数据分价表,并根据交互终端的触发调用历史数据分价表和实时数据分价表执行相应的操作指令,进行快速决策、组单,生成交互指令,通过交互终端实现信息交互;所述的FPGA模块包括:需求数据管理模块、交互策略管理模块和快速封装报单模块,其中:需求数据管理模块维护交互数据请求的实时需求信息,交互策略管理模块对历史需求数据进行分析与处理,持续轮询当前交互数据请求的需求是否触发既定策略,在满足策略条件时根据实时需求信息速向快速封装报单模块发送报单参数,快速封装报单模块在收到有效参数后,立即将参数填入固定位置,使用指定的协议格式对外发送交互数据请...

【专利技术属性】
技术研发人员:章庆高剑阙志强朱恺韩兴车延辙
申请(专利权)人:上海金融期货信息技术有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1