为高性能FPGA平台选择最佳存储器
扫描二维码
随时随地手机看文章
在演算法交易领域的最新进展是导入一些更低延迟的解决方案,其中最佳的方式是使用FPGA搭建的客制硬体。这些FPGA硬体可说是硬编码ASIC的极致性能和CPU的灵活度之间的桥梁,提供大量的资源且可加以配置,使其得以较软体解决方案更大幅缩短往返交易延迟。
高性能运算对于许多应用至关重要。在其中一些最竞争的应用领域,开发人员经常能为其嵌入式系统问题找到解决方案。例如,高频交易(HFT)是一种演算交易的形式,其交易量占美国证券交易量的绝大部份。高频交易使用机器学习演算法处理市场资料、拟定策略,以及在几微秒的时间内执行订单。
为了获得每次交易中哪怕只有几分之一美分的利润,高频交易员以很高的交易量短期进出交易所。使用HFT演算法的系统持续监测价格波动情况,以利于调整短线交易策略。由于这是非常短期的交易策略,HFT企业无需耗费大量资本、累积头寸或隔夜持有其投资组合。目前,高频交易量占美国证券交易量的75%。
在21世纪初,HFT交易侧重于优质的演算法和交易策略。现在,由于最普及的几种系统仅存在几秒的延迟,决胜的关键不再是速度,而是策略。到了2010 年,由于演算法的进展已不足以获得交易优势,为了战胜彼此,参与者开始缩短tick-to-trade的交易延迟,从而使交易时间缩短至数微秒。
在次毫秒级买卖交易订单的刺激下,HFT平台开始了一场竞争激烈的速度竞赛,以便将市场资料的往返延迟缩短至微秒级。由于仅仅几奈秒的差别往往带来巨大的‘潜伏套利’竞争优势(或称为‘抢先交易’),交易企业一直在寻找更快的交易伺服器。
采用软体途径处理订单
传统上,HFT交易一向使用软体工具。这些工具利用了高性能运算系统,能够高效地执行复杂的交易策略(图1)。这些系统中的作业系统核心控制对其CPU和记忆体资源的存取,而应用堆叠则负责处理所有的交易策略,由网路介面卡(NIC)连接系统至证券交易所。
图1:采用软体途径处理订单的配置(来源:Cypress)
然而,这种配置存在交易延迟的缺点:
标准NIC并未专为处理TCP/IP和专用交易协定进行最佳化,而且无法板载处理市场资料馈送
主系统和乙太网路(Ethernet)卡之间的PCI Express汇流排会增加数微秒的延迟
核心OS原生的基于中断途径就会导致较长的延迟
这些解决方案基于共享记忆体资源的多核心处理器。在处理来自证券交易所的资料馈送时时,确定性延迟至关重要,存取共用记忆体绝不是一个最佳方式
在演算法交易领域的最新进展是导入了一些更低延迟的解决方案,其中最佳的方式是使用现场可程式逻辑闸阵列(FPGA)搭建的客制硬体。这些设备可说是硬编码ASIC的极致性能和CPU灵活度之间的桥梁。透过FPGA提供大量的资源且可加以配置,使其得以较软体解决方案更大幅缩短往返交易延迟。
采用FPGA途径处理订单
除了灵活之外,FPGA还可以进行编程设计,以便自行处理资料撷取、风险评估与订单处理等关键任务。这种自给自足的特性使其较软体演算法更快、更可靠。让基于FPGA的解决方案能够大幅提升电子交易性能的关键因素是:它们能让过去由软体处理的过程直接在FPGA上进行。
图2:采用FPGA途径处理订单的配置
相较于软体演算法,FGPA的配置具有这些优势,原因就在于以下的功能被分流到FPGA:
处理TCP/IP讯息
解码FAST或类似的交易专用协定,以及撷取相关资料
进行交易决策,而不至于导致任何基于核心的中断延迟
透过管理FPGA中的订单簿(order book)和交易记录以降低风险
凭藉着这些优势,基于FPGA的解决方案能够提供超低延迟的资料馈送处理功能,以及更快的订单执行和风险评估速度。它们还能实现最高的每瓦功耗性能,尽可能地降低能耗和热量要求。FPGA解决方案的另一个优势是透过扩展部署‘FPGA现场’配置的能力。
组成基于FPGA途径关键之一在于巧妙地整合4倍资料率(QDR)记忆体,实现确定性记忆体存取速率以及经过最佳化的VHDL程式码。在FPGA的记忆体中需要维护的两个最重要资料集是用于维护订单簿的证券资讯和用于分析风险的资料与时间戳记。二者均对快取记忆体提出了不同的要求。资料封包的资料与时间戳记对于保存交易决策的准确记录、重现过去的事件非常重要。这些记录所需的精密度达数十奈秒,这使得记忆体延迟(即为记忆体提供位址以及从资料汇流排取得资料之间的时间延迟)更加至关重要。
另一个资料集-订单簿-是所有订单的资料库,包含交易系统需要维护的符号和价格。这个资料库通常根据交易客户感兴趣的证券而包含所有金融工具的一部份。订单簿必须根据从客户而来的资讯同步进行更新与存取。订单簿中的相关资料与从交易所收到的资料进行比较,然后再根据交易演算法做出买、卖或保留金融工具的决策。
由于来自证券交易所的输入资料串流并不是以确定顺序方式接收的,因此,执行交易策略的记忆体存取也是随机的,以小量资料的丛发进行,并以最低延迟获取资料。以记忆体术语来说,执行这种随机存取的能力是由一种名为随机交易率(RTR)的指标衡量的。RTR表示记忆体在一定时间内可支援的随机读取或写入作业次数,其衡量指标是:交易次数/秒的倍数(例如MT/s或GT/s)。在大多数记忆体中,随机存取时间是由周期延迟(tRC)定义。最大的RTR约为tRC的倒数(1/tRC)。
快取记忆体的选择经常限制基于FPGA的硬体能力。大多数的FPGA只采用传统基于DRAM的记忆体,因为它们具备成本优势,而且密度较高。但是,这些记忆体极其缓慢,而且容易发生软错误。考虑到这些系统每秒的交易量,我们不能牺牲速度和可靠性。
从纯技术的角度探讨两种运用最广泛的DRAM:同步DRAM(SDRAM)和低延迟DRAM(RLDRAM)。过去10年来,SDRAM的tRC并没有很大变化(将来可能也不会),一直维持在48ns左右,对应21 MT/s RTR,其它基于DRAM的记忆体设计则以牺牲密度改进了tRC。例如,RLDRAM 3的tRC为8ns,对应于125MT/s RTR。基本上,DRAM是为那些依序存取确定性运算演算法而最佳化的,但高频交易并非采用这样的方式。[!--empirenews.page--]
一个更好的选择是同步 SRAM。虽然基于DRAM的记忆体具备较高的记忆体容量,但它们无法满足交易平台使用快取记忆体的延迟和性能要求。数十年来,SRAM一直是大多数高性能应用的首选记忆体。基于SRAM的解决方案可能比一般基于DRAM的解决方案更快高达24倍。
在SRAM中,QDR系列SRAM的性能比任何类型的记忆体都要高。QDR SRAM是专为突发和随机存取而设计的。藉由一个读写专用埠,QDR记忆体是订单簿管理等读写均衡作业的理想选择。例如赛普拉斯半导体(Cypress Semiconductor)最新推出的QDR SRAM——QDR-IV,更进一步提供了两个双向埠。当读写作业不均衡时,例如当查询TCP/IP处理和资料串流处理等操作时,采用QDR-IV将会非常高效。
下表比较各种核心记忆体技术采用的解决方案:
表1:各种核心记忆体技术方案的特性比较
QDR-IV记忆体的RTR为2132MT/s,延迟为7.5ns。考虑到随机存取性能对于FPGA解决方案的重要性,这些记忆体有助于大幅缩短交易的总延迟。该款SRAM较高的作业频率和双埠作业特性,可为那些要求严苛的网路环境搭建超低延迟的资料封包缓冲区。此外,QDR-IV无与伦比的RTR可加快需要即时查询或其它资料结构的客制应用。而DRAM则更适合储存资料大量的资料记录资讯,而高性能的SRAM可与其配合作业,储存延迟关键型路径的运算查询或缓存资料。
各种记忆体的RTR性能比较
图3:各种记忆体技术的RTR比较 (来源:Cypress)
除了RTR和延迟优势之外,很多SRAM还包含一系列新的特性,例如可实现高可靠性的错误纠正码(ECC)、晶片上终端(ODT)以及可提高讯号完整性的偏斜校正(De-skew)训练。
有鉴于几奈秒所能带来的竞争优势,在打造一个基于FPGA的客制化解决方案时,所采用的记忆体类型也是一项关键因素。由于QDR记忆体所具备的固有优势,很多FPGA厂商正为其最新一代基于FPGA的高性能交易解决方案导入QDR记忆体。相较于那些使用传统记忆体解决方案的交易员,采用这些FPGA的交易员拥有先发制人的优势。QDR记忆体还获得了Altera、Xilinx等业界主要FPGA供应商的支持。Altera最新发布的Arria 10 FPGA即可支援QDR-IV。预计Xilinx等者很快也会宣布在其产品中提供类似的支援。