基于FPGA微秒级实时金融指数行情计算

1 技术背景

 中国金融市场已经是全球最大的金融市场之一,随着市场规模的不断扩大,金融市场的功能发挥日益明显,服务相关产业和国民经济的能力不断提高。金融交易系统(例如股票交易系统)具有交易时间相对集中、交易指令和数据密集的特点,对交易系统处理速度具有很高的要求。近年来,资本市场的快速发展和算法交易技术(尤其是高频交易)在全世界范围内的应用,使得交易所在低交易延时领域面临着巨大的技术挑战。

    交易所对于交易系统延时测量监控需求也越来越迫切,同时对于大规模数据密集型计算的实时性要求也越来越高。对于交易系统及环节的高精度延时测量,达到近实时的分析性能基本可以准确快速的监测股票交易系统性能和状态,但对于大规模实时交易数据分析,则需要达到更快的处理速度,实时性要求更高,直接关系到交易系统的服务质量(QoS)。传统的软件技术或以软件为核心的软硬件加速技术难以满足微秒级实时分析和实时响应的要求,采用FPGA专用硬件结构实现大规模数据密集型计算的并行加速称为提高交易系统服务质量的迫切需求。

2技术方案

 针对金融网络数据处理的技术研究而言,国外已经预言或实现了很多相关硬件加速和并行计算的FPGA实现,其中Altera公司2008年面向蒙特卡罗算法(QMC)的FPGA加速模型建立,对价格衍生证券的实时精确估计判断做出了很大的促进作用。此外,2009年英国帝国理工学院和英国金融加速解决方案供应商Celoxica合作,提出实现了一种叫“低延迟交易数据反馈计算模型”。针对现在越来越大的交易市场的变化数据(甚至超过gigabit),他们为投资者提供了网络传输数据分析的FPGA加速处理方案,利用FGPA的可配置特点,可选择地实现对交易数据的压缩,过滤,筛选。其性能优越,每秒最多处理高达3.5M条信息,处理延迟也控制在微秒量级上。不但激活了投资者的投资热情,同时也极大促进了金融市场流动性。

基于FPGA的硬件以太网协议跨层解析在数据分析获取过程中,以太网的协议解析占据了很大的时间比例。如果采用一般的软件解包方法,时间一般延迟包括每一网络层的解包时间和中间数据的传输时间,时间延迟可达毫秒级甚至更高。考虑到降低整个系统的数据传输延迟,进而提升处理性能,提出以下解决方案。 

使用FPGA集成的可配置IP核。FPGA的IP核基于硬件原理实现,在数据传输延迟和网络数据解包能力上都大大优于传统的软件处理过程,而且极大缩短了开发周期,其可靠性,可配置性,通用性都相当出色。适合在项目的中前期作为数据输入的模拟测试。但是具体面向此项目IP核也会有自身的冗余,在MAC层不能进行自定义的协议解析,总的延迟大约在几十微秒至几百微秒。

针对本应用设计基于跨层解析的以太网数据分析模型,由于套利计算的数据源的包格式固定,封装简单,而且属于旁路数据,完全可以自行设计针对本应用的专用数据解析功能部分,方案优势和创新点在于在MAC层跨层解析数据以及包过滤,数据接收与解析时间重叠。采用状态机逐层进行包过滤,在有限机器周期内便可获得需要计算的数据,时间延迟可控制在微秒级。 

基于FPGA的硬件以太网协议跨层解析能够降低传统软件协议栈的数据包处理固有延迟(可能占据整个延迟的80%以上开销),大大提高数据获取和预处理效率。

基于 FPGA 的千兆 TCP 硬协议栈,实现 TCP 与 FIFO 之间的数据连接,内部集成了千兆以太网 MAC 层,ARP 处理,TCP 处理等功能。RGMII 接口,直接连接 PHY 芯片,10/100/1000M 自适应。自动迅速的 ARP 响应。

硬逻辑的 TCP 协议栈,具有 listen 功能,可接受 1 个 TCP 连接,完整的三次握手建立

 连接(syn)、数据快速重传、保活(keepalive)、窗口调整、被动关闭(fin)等功能。 可设置 MAC 地址,IP 地址,端口号,超时时间,以用于实时性高的场合可配置的缓冲区大小,以满足不同成本和性能的应用。硬逻辑的 TCP 协议栈数据输入和数据输出为 FIFO 接口,使用独立的时钟。适用于 xilinx 的 FPGA,spartan-3 系列,spartan-6 系列,virtex-4/5/6/7 系列不同配置的性能。

基于FPGA微秒级实时金融指数行情计算_第1张图片

    

下图为系统结构图,主要由数据接收模块、股票信息并行处理模块、数据发送模块组成。数据接收模块主要负责协议包的跨层解析以及包过滤。股票信息并行处理模块是整个系统的算法核心,采用高速并行方式分析股票信息,计算相关指数,并通过数据发送模块快速发布。在股票信息并行处理模块中,算法定向单元负责调度下层的异构逻辑块,异构逻辑块通过同构逻辑晶格完成最基础的数据计算。在股票信息并行处理模块中,将所有的数据存储于FPGA内部的分布式RAM中,突破了IO传输的瓶颈。

 

基于FPGA微秒级实时金融指数行情计算_第2张图片

FPGA计算系统结构图

3 基于XCKU040的万兆网络硬件方案   

基于Xilinx UltraScale Kintex系列FPGA  XCKU040-FFVA1156-2-I架构,支持PCIE Gen3 x8模式的高速信号处理板卡,搭配两路40G QSFP+接口,两组64-bit DDR4,每组容量8Gbyte,可稳定运行在2400MT/s。板卡具有自控上电顺序,BPI模式快速程序加载,支持板内/板外两种系统时钟接入模式等特点,设计满足工业级要求。本

基于FPGA微秒级实时金融指数行情计算_第3张图片

图 2:信号处理平台原理框图

处理板技术指标 

  •  KU040外挂两簇DDR4,数据位宽64-bit,每组容量8GByte,可稳定运行在2400MT/s;
  •  KU040外挂一片BPI x16 NorFlash,容量1Gb,用于系统配置程序存储;
  •  KU040外挂一片QSPI x4 NorFlash,容量512Mb,可用于参数存储;
  •  KU040加载模式为BPI模式;
  •  KU040外接两路QSFP+,支持40Gbps传输速率;
  •  KU040支持PCIE Gen3 x8模式,传输速率最高可达5000Mbyte/s;
  •  板卡预留一组用户自定义接口,支持16对LVDS接口,32个LVCOMS33信号;
  •  板卡留有一组UART转Mini-USB接口,支持115200波特率;
  •  板卡留有留有一对SMA接口的差分触发信号接口,连接至KU040时钟管脚;
  •  板卡留有外部系统时钟接口;
  •  板卡留有10个用户自定义LED灯;
  •  板卡留有一组4位用户自定义拨码开关;

4 基于XCKU115的万兆网络硬件方案  

  PCIe加速板卡使用Xilinx FPGA-XCKU115为可编程的数据中心应用加速,支2路QSFP+光纤接口数据传输速率可达40Gbps,2路SFP+接口,数据传输速率可达10Gbps;PCIe支持Gen3 x8/16,4个DDR4接口、3个72bit和1个64bit速率为2400MT/s,板上配备可编程的配置FLASH;PCIe加速板卡可用于视频处理,机器学习,高性能计算,网络加速等应用。

基于FPGA微秒级实时金融指数行情计算_第4张图片

二、处理板技术指标 

•  标准PCI-E接口,支持PCI-E 8x,支持PCI-E 3.0。
•  前面板引出2路QSFP+光模块,高设计速度40Gbps。

•  前面板引出2路SFP+光模块,高设计速度10Gbps。

•  前面板1路外触发输入。

•  支持四组64bit,4GB的DDR4。

•  标准JTAG接口。
•  支持BPI模式快速加载。
•  器件支持商业级,工业级。

 

你可能感兴趣的:(2019,微秒级实时金融指数行情,金融网络数据处理,股票信息并行处理模块,数据发送模块,PCIe加速板)