菲数科技利用 FA728Q 加速卡加速了低延迟交易 (LLT) 应用

菲数科技利用英特尔® Stratix® 10 FPGA 和开源 Open FPGA Stack (OFS) 基础设施开发出高性能 FPGA 加速卡。

概述

  • 基于 FPGA 的 FA728Q 加速卡现已上市,这是一款搭载英特尔® Stratix® 10 FPGA 且基于 PCIe* 的高性能加速卡。

  • 菲数使用 OFS 基本基础设施来加速自定义 FPGA 接口管理器 (FIM) 的开发,该接口管理器采用集成式 TCP/IP 分载引擎。

  • 对于 LLT 等时间关键型网络应用,FA728Q 加速卡的 TCP 传输延迟低于 100 纳秒。

author-image

作者

菲数标志要点综述

LLT 和其他时间敏感型应用是 FPGA 加速的理想用例。为满足该市场的需求,菲数科技开发出基于 FPGA 的 FA728Q 加速卡。FA728Q 加速平台为最终用户提供了强大的 FPGA 资源、丰富的存储容量和易于使用的接口。为加速、简化并标准化加速板的开发,菲数科技采用了 OFS 基础设施,该基础设施提供了强大的方法,支持以“量身定制”方式加速开发 FPGA 解决方案。利用 OFS 基础设施,菲数科技可将其 TCP/IP 分载引擎集成到开源基础 FIM(通常称为 FPGA “shell”)中。

背景和挑战

LLT 是一种现代化做法,即以电子方式执行金融证券交易,并尽可能缩短订单录入和订单执行之间的时间延迟。大型投资银行、对冲基金和其他金融机构通常采用这一方法。过去,交易均以手动方式进行,而非电子方式,交易的执行时间从数秒到数分钟不等。但是,随着硬件和相应软件技术的进步,系统可编程为根据某些市场信号和动向自动作出买入或卖出决策,从而将交易执行时间缩短到几毫秒。近年来,随着基于 FPGA 加速产品的更广泛普及,交易时间进一步缩短到微秒级或亚微秒级。

与此同时,LLT 系统越来越依赖于每家交易公司特定交易策略所独有的复杂交易算法模型来进行订单簿交互。解决方案需要通用处理器和专用协处理器计算,以满足交易机构的功耗和性能要求,例如在异构计算中。FPGA 非常适合实施量身定制的交易算法;但是,随着 FPGA 家族的改进和演变,对这种硬件加速设备进行编程可能十分耗时,且难以进行迁移。

菲数科技是一家总部位于中国的公司,该公司正跃跃欲试,力求满足数据中心异构加速和高性能计算方面的需求,包括 LLT 细分市场。他们将基于 FPGA 的硬件加速器平台、FPGA 加速知识产权 (IP) 功能和基于 FPGA 的平台设计服务推向市场。

解决方案

为满足 LLT 应用的低延迟、标准化和可移植要求,菲数科技开发了 FA728Q 加速卡,该卡可将集成式 TCP/IP 分载引擎实例化。为此,菲数科技修改了 OFS 开源版本中提供的基础 FIM。由于采用了可组合架构和“量身定制”方法,OFS 可支持他们将算法轻松移植到 FA728Q 加速卡,同时,仅需最低程度的修改,即可利用所提供的其余基础设施,包括 OFS 软件驱动程序和库。

采用 toe 解决方案的 OFS 在 fa728q 上实施的结构图
图 1。采用 TCP/IP 分载引擎 (TOE) 解决方案的 OFS 在 FA728Q 上实施

 

OFS 是一个开源硬件和软件基础设施,可提供快速启动基于 FPGA 的自定义主板或工作负载开发所需的所有关键设计、软件和基础设施组件。OFS 基础设施由 FIM(通常称为“shell”)和加速器功能单元 (AFU) 区域组成,其中 AFU 是一个用于工作负载开发的指定区域。借助 OFS,FPGA 主板或 FIM 开发人员可以利用开源基础设施或基础 FIM,根据目标应用或目标行业为其主板快速开发量身定制的 FIM。OFS 还附带了 oneAPI Accelerator Support Package (ASP),可用于提取 FPGA 硬件和设计流程。OFS 可节省开发人员的时间,提高 FPGA 各代间的可移植性,采用行业标准接口,并使用 oneAPI 提供可选的高层次设计流程。

FA728Q 加速卡现已推出,这是一款基于 PCIe 的高端 FPGA 加速板,可提供 32 GB 板载 DDR4 内存和三个 QSFP28 插槽,每个接口的速度可高达 100 GbE。FA728Q 加速卡还在 OFS 基础设施中采用了 oneAPI,从而客户可在 RTL 中实施其内核,或将 CPU/GPU 中的算法迁移到高级设计语言,包括 C/C++。英特尔 oneAPI Base Toolkit 还有助于将内核合成到 FPGA 资源并进行优化,从而进一步缩短上市时间。

此外,菲数科技已开始在基于英特尔® Agilex™ FPGA 的主板上进行开发,包括采用英特尔 Agilex 7 FPGA I 系列的 FA927S 卡和采用英特尔 Agilex 7 FPGA F 系列的 FA925E 卡。

FA927S 卡采用高达 116 Gbps 的高收发器速率和 PCIe 5.0 x16,并支持 Compute Express Link (CXL)。其面向带宽密集型应用,现已可用于基于 RTL 的开发。FA927S 卡将于 2024 年第一季度支持 OFS。

另一方面,FA925E 卡提供四个 8 GB 内存条和四个 4 GB DDR4 内存条,板载内存总容量为 48 GB。它专为具有较高外部内存容量和较高带宽要求的应用而设计。该卡全面支持 OFS,并将于 2023 年年底上市。 参见表 1,对三款加速卡进行比较。

表 1.比较表

 

FA728Q 板

FA728Q

FA927S 板

FA927S

FA925E 板

FA925E

功率 215 瓦 200 W 150 瓦
散热要求 有源/无源(可选) 有源/无源(可选) 有源/无源(可选)
外形 3/4 长、全高、双插槽 PCIe 半长、全高、双插槽 PCIe 3/4 长、全高、双插槽 PCIe
网络接口 三个 QSFP28 端口:3 x 100 GbE / 40 GbE 双 QSFP28 端口:2 x 100 GbE / 40 GbE 双 QSFP28 端口 2 x 100 GbE / 40 GbE
内存接口 4 x 8 GB DDR4,2,400 MHz,带 ECC 4 x 8 GB DDR4,2,400 MHz,带 ECC 4 x 8 GB 和 4 x 4 GB DDR4,2,400 MHz,带 ECC
PCIe 接口 - 5.0 x16 -
扩展接口 - 2 x8 纤薄 SAS 接口,用于 PCIe 4.0 扩展 -
管理端口 微型 USB 微型 USB 微型 USB
FPGA 设备 1SX280HN2F43E2VG AGIB027R29A1E2VR3 AGFB027R25A2E2V

结果

菲数科技在 FA728Q 卡上实施的分载引擎 IP 功能在延迟和性能方面进行了优化,以满足 LLT 要求。在加速模式下,TCP 传输延迟小于 100 纳秒,确保时间关键型网络应用中稳定、低延迟的连接。表 2. 显示针对各种连接测得的延迟时间。表 3. 显示高带宽 PCIe 3.0 x16 和 DDR 接口。

规范 价值
最大 TCP/UDP 连接数 TCP 为 63,UDP 为 63
TCP TX 延迟(加速模式) 15 个时钟
TCP TX 延迟(非加速模式) 46 个时钟
TCP RX 延迟 32 个时钟
UDP TX 延迟 针对 512 字节数据包为 42 个时钟,针对 128 字节数据包为 18 个时钟
UDP RX 延迟 23 个时钟
oneAPI 内核的环回延迟 18 个时钟

表 2.TCP/IP 分载引擎 (TOE) 规格

注:

1.一个时钟周期为 6.4 纳秒

2.TX 延迟从数据包 EOP 下降边缘一直计数到 XGMII TXC 中出现有效数据

3.RX 延迟从数据包 SOP 一直计数到 XGMII RXC 中出现有效数据

数据路径 带宽
主机写入内存 针对 8,192-KB 块为 8,287.68 MBps
主机读取内存 针对 8,192-KB 块为 8,241.19 MBps
内核写入内存 针对 4,096-MB 块为 16,909.6 MBps
内核读取内存 针对 4,096-MB 块为 17,340.3 MBps

表 3.每个接口提供的带宽

ofs 平台中高带宽数据路径的结构图
图 2.OFS 平台中的高带宽数据路径

 

OFS 帮助我们更加轻松、快速地为客户搭建所需的加速平台,从软件 API 驱动程序到作为全套设备的底层硬件。

Cheng Ailian,菲数科技有限公司

如何开始利用 OFS 进行 FPGA 加速

FPGA 开发人员可以借助 FA728Q 加速卡和启用 OFS 的主板,利用开源文档和源代码开始构建自定义工作负载。

下表概述了开发人员如何使用菲数科技加速板开始基于 FPGA 的工作负载开发。

利用 FPGA 加速优化您的工作负载
第 1 步:选择主板 查看菲数科技推出的启用 OFS 的主板,即 FA728Q 加速卡
第 2 步:评估 OFS 开源资源

菲数科技将提供相应版本的 OFS 技术文档。

第 3 步:访问开源硬件和软件代码

菲数科技将提供相应的 OFS 软件和硬件代码。这是其 OFS 基础代码的特定发行版(由英特尔提供)。

第 4 步:利用 RTL 或 C/C++ 开发工作负载(使用 oneAPI)

遵循 OFS RTL 流程

OFS 支持 oneAPI 内核的计算。利用 oneAPI 开发流程并使用 C/C++ 构建 FPGA 工作负载。