低时延网络构建 / 何志东,佘鹏飞

发布于 2019-02-13 作者 吕惠东方 1799次 浏览 版块 开发者交流

来源:《交易技术前沿》总第三十三期文章(2018年12月)
作者:何志东 / 华锐分布式技术实验室、佘鹏飞 / 上交所技术公司
时间:2019年2月1日

摘要 :
低时延网络技术是交易技术中重要环节,本文围绕低时延网络的设计思路、关键影响因素等进行阐述,提出解决思路和建议方法,希望能为行业机构建设时延网络提供一些参考。自底向上构建低时延的交易系统,首先需要构建低时延网络基础设施,低时延网络在国外证券交易所以及大型券商的核心系统都已有成的应用,也让系统的整体性能获得了很好的基础设施支撑。本文就如何构建低时的网络给出了明确的方案思路,也希望抛砖引玉,与同行共同探讨低时延网络的设思路,促进行业技术升级发展。

关键词 :
低时延 ;交易系统 ;证券交易 ;以太网 ;InfiniBand

1引言

近年来,金融和资本市场通过业务和技术双轮驱动持续高速发展,全球交易所趋向集中整合和互联互通,交易产品和业务多元化创新。信息技术创新日新月异,推动交易系统不断更新换代,交易系统由集中式转向分布式是国内证券行业交易技术发展的趋势。

证券交易系统的交易竞价原则是价格优先、时间优先,即同等价格下,先到先得。目前国内主流券商的集中交易系统委托上行时延从几十毫秒级到上百毫秒不等,面对日益激烈的竞争需求,新一代分布式架构的交易系统已经向百微秒级的时延迈进,时延大小是衡量交易系统性能最重要的指标。

如何构建证券期货经营机构到交易所的端到端低时延网络,成为一个热门的话题。本文就低时延网络技术及构建方案进行阐述,供相互探讨。

2低时延网络

全球交易所是以微秒级时延来进行度量和竞争的。为满足市场要求,采用先进的高性能网络设备和技术,构建高可靠、低时延、高吞吐网络的需求日益迫切。

每年 6 月和 11 月,Top500 Super-computer网站 [1] 公布超级计算机世界 500 强名单、性能指标、技术架构等,其中网络互联技术作为高性能网络技术的太网(252个系统),然后是 InfiniBand(135 个系统),自定义互连(64 个系统)和 Intel Omni-Path(43 个系统)。各种技术占比情况见图 1 :

* 图1 TOP 500超级计算机网络互连技术(2018年11月)*

对 2016 年至 2018 年 Top500 超级计算机的网络互联技术变化趋势进行统计,得出如下图 2的折线图 :

图2 TOP500超级计算机网络互联网技术(2016年-2018年)

通过分析,可以得出高性能网络技术的应用和发展趋势 :
1、以太网和 InfiniBand 是两种主要的网络协议,万兆以太网是最广泛使用的系统互联技术;
2、近两年来,随着融合以太网技术快速发展及以太网带宽大幅提升,以太网的份额逐渐扩大至 51%,快接近InfiniBand份额的 2 倍 ;
3、Intel 主推 Omni-Path 高性能计算架构,提供交换机、管理软件、HFI 卡、线缆等一体化解决方案。Omni-Path 作为 InfiniBand 在超算高性能网络领域的主要挑战者,从 2016 年 11 月至今,采用 Omni-Path 的系统数量呈现平缓上升的趋势,目前总体占比为 9%。

2.1以太网

以太网在 70 年代初期推出,以简单、易用、经济、易扩展等优势得到普遍应用。至今 40 多年的时间里,以太网技术和协议仍在持续演进发展,满足当今高性能网络融合创新的需求。近年来,为满足云计算、统一存储等多样业务,新型以太网通过 DCB、VXLAN、FCoE 等技术,丰富存储和虚拟化支持能力 ;通过RoCE[2]、拥塞控制优化、流控管理优化等技术,大幅降低网络转发时延。以太网带宽从早期的10M速率提升到10G/ 25G/ 40G/ 50G/ 100G,近期以太网带宽进一步提升到 400G,满足超大规模数据中心和云计算等带宽密集型需求。

高性能以太网络技术的快速发展,使得国内、外主要发达市场的交易所积极投入资源升级更新网络基础设施,如纽约证券交易所 (NYSE)、纳斯达克证券交易所 (NASDAQ)、伦敦证券交易所(LSE)、东京证券交易所 (TSE)、香港证券交易所(HKEX) 均采用万兆以太网,并提供万兆的托管机房接入。

2.2 InfiniBand

InfiniBand 在 1999 年首次提出,是一个为大规模、低时延的高性能服务器集群而设计的网络技术,通过大带宽链路实现服务器、存储设备互联。其特点一是超大带宽的连接。带宽支持56Gb/s、100Gb/s 及 200Gb/s ;二是极低的网络时延。InfiniBand 在可比数据速率下具有比以太网更低的时延 ;三是可靠无损的网络。基于链路层的流控机制和先进的拥塞控制机制防止拥塞和丢包 ;四是完全的 CPU 卸载功能。基于硬件的传输协议实现高可靠、无丢包的网络数据传输。通过远程直接内存存取 (RDMA) 和内核旁路技术,可以直接对远程节点间预分配内存读和写,无需涉及操作系统内核、无需数据多次复制,大幅降低 CPU 工作负载和网络时延。五是卓越的可扩展性和灵活性。一个子网可以支持48,000个节点,一个网络即可支撑大规模服务器的部署。

一套完整的 InfiniBand 系统由服务器、交换机、子网管理器、主机通道适配器 (HCA) 组成。高性能服务器集群最广泛使用的网络架构为胖树(Fat-Tree),非阻塞网络下,该架构可以达到大规模服务器的最优性能。典型的胖树架构如下图示:

图3 胖树架构示意图

部分交易系统的内部通信为了达到最小的时延,核心网络采用 InfiniBand,其他网络采用以太网,如德国证券交易所和新加坡交易所的交易系统内网采用 InfiniBand,德国证券交易所的 T7交易系统 6.1 版本委托回报回路时延少于 52us,新加坡交易所的平均订单回报时延为 90us。

3构建低时延网络

系统端到端时延主要由网络设备转发时延、网络连线的传输时延、网卡数据收发时延、操作系统处理时延、中间件处理时延及业务处理时延等构成。网络时延由网络设备转发时延、网络连线的传输时延和网卡数据收发时延组成,构建低时延网络,就需要在以上各个环节降低时延损耗。

3.1 转发时延压缩

随着行业低时延、高性能交易场景及数据中心托管业务发展的需求,对网络设备的性能提出了更苛刻的要求。无论数据包大小和流量类型,所有网络端口之间应提供稳定的低时延传输,并保持足够低的时延抖动。2012 年 9 月,思科公司发布了自研芯片和算法的 Nexus3548 交换机,正常路径转发时延为 250 纳秒,抖动在 5 纳秒左右。2013 年,Metamako 公司发布了超低时延的、可配置的一层交换机 MetaConnect,时延仅为 4 纳秒,如此低的时延速度意味着使用者可以获得最大的竞争优势。2014 年,Exablaze 公司发布 ExaLINK Fusion 交换机,通过精简功能和协议并集成 Xilinx Ultrascale FPGA,二层转发时延为 110 纳秒,一层交换时延为 5 纳秒。Arista、Juniper、华为等网络厂商大部分采用 Broadcom、Intel 的商用 ASIC 芯片解决方案,根据官网的数据,Arista 7150s-52 的时延为 380 纳秒,Juniper的 QFX 5110 的时延为 550 纳秒。Mellanox 采用自研的 Spectrum 芯片,以太网交换机 SN2410 的时延为 300 纳秒,InfiniBand SX6036 FDR(56Gb/s) 交换机的时延为 200 纳秒,InfiniBand SB7800 EDR(100Gb/s) 交换机的时延为 90 纳秒。从上面的数据可以看到,低时延网络设备的制胜高地竞争异常激烈,超低时延交换机的转发时延已经慢慢接近光传输速度的物理极限。实际上,业务处理时延和系统开销远大于网络设备时延,网络设备的转发时延、性能表现等指标可作为一个对比参考项。尤其是在核心交易系统,我们首先应该关注高可用网络架构以及网络在复杂故障场景下的表现,其次才是尽可能地降低时延。

3.2 网络架构简化

传统的大型数据中心的网络架构,通常分为核心层、汇聚层、接入层,随着云数据中心、分布式计算快速兴起,数据中心内的服务器交互流量激增,数据流向模型由南北向变成东西向。传统的网络架构是为了南北向流量设计,已不能满足高性能、低时延分布式系统部署的要求。目前,构建低时延网络架构的方法是尽量简化传统网络的层数,减少数据经过网络设备的次数,将传统集中交换、垂直的网络架构变为水平的、易扩展的分布式架构。根据服务器的数量进行分类,交换机按 48个接入端口计算,一个数据中心小于 40 台服务器的低时延网络架构通常只有一层(核心层),两台交换机互联既作为核心交换机,也作为接入交换机。交换机之间运行 M-LAG 或 vPC 或堆叠,确保不产生环路。同数据中心 1 跳网络可达,跨数据中心 2 跳网络可达,网络架构如图 4 示。

图4 小规模服务器低时延网络架构

一个数据中心多于 40 台服务器的低时延网络架构通常有两层(核心层、接入层),两台交换机互联作为核心交换机,其余交换机作为接入交换机。核心交换机之间运行 M-LAG 或堆叠,确保不产生环路。同数据中心 1 跳网络可达,跨数据中心 4 跳网络可达,网络架构如图 5 示。

图5 大规模服务器低时延网络架构

3.3 传输时延优化

网络传输时延是数据在网络链路传输时产生的延迟,网络传输时延与系统部署位置、长途线路的长度及传输介质密切相关,选择最短路径和最佳质量的链路,可确保最小化链路的网络传输时延。为便于市场参与者能灵活、快速接入,交易所提供托管机房、数据专线甚至互联网等多种接入方式。技术基础设施和系统部署的位置就近接入交易所,在交易所托管机房部署系统可有效缩短网络接入时延,有利于构建点对点直连交易所的快速交易通道。为保证公平性,交易所在托管机房提供几乎完全等长的布线、及统一带宽的接入端口。市场参与者为获得最小的网络通讯时延,应建设低时延的局域网,同城跨数据中心的通讯尽量采用高速光纤链路进行通讯,通讯链路上尽可能少使用中继器、连接器、防火墙、路由器等设备。

3.4 低时延万兆网卡

低时延网络设备转发时延是百纳秒级的,在同一数据中心内部网络连线的传输时延也是百纳秒级的,相比之下,网卡数据收发时延则占据了主要的比重。下表是几个主流系列网卡的时延参考值 :
表 1 主流系列网卡时延参考值

 备注 :以上测试结果采用标准 X86 PC Server 测试,主频 3.0GHz

即使是同为万兆网卡,不同系列网卡的性能差距甚远,低时延万兆的传输时延是普通万兆网卡的一半。网卡收发数据时延占如此高的比重,因此在构建低时延网络过程中,选择低时延万兆网卡非常有必要。

串行化时延是指一个数据帧或信元被一个接收者接收并开始处理的时间。串行时延与传输速率成反比,速率越高,接收数据帧的时间越短。提升网络接入带宽是减少串行时延的最有效办法,低时延网络建议最低的接入带宽为 10G,推荐采用 25G 或更高的接入带宽。

现阶段 , 大多数数据中心基于 10G 以太网规划和建设。随着 25G 交换机和网卡的成本大幅降低,目前 25G 的总体拥有成本基本接近于 10G,网络布线不需要变动便可直接升级演进到 25G带宽。根据 Dell,Oro Group 预测 :随着支持 25G的网络交换机和网卡不断增加,更多的云用户或大型企业升级到 25G。2019 年至 2020 年,25 G将成为云和企业服务器的主流速度,25 G 端口的出货量预计将在 2021 年达到峰值。

华锐分布式技术实验室联合上交所技术公司低时延技术实验室,使用 Qperf 对某主流品牌低时延万兆网卡在 10G 和 25G 模式进行TCP、UDP时延基准测试,分析对比结果显示:25G各种不同数据包长的 TCP 和 UDP 时延,均低于10G 的时延。

时延结果如图 6、图 7 示 :

图 6 低时延万兆卡 10G&25G TCP 单向时延对比图


图 7 低时延万兆卡 10G&25G UDP 单向时延对比图

进一步分析发现,即使网卡端口占用带宽远未达到 10Gb/s 的水平(如百兆 b/s 的流量带宽),以上测试结果仍然成立。为进一步分析带宽对应用系统的性能影响,实验室使用华锐的 ATP 交易系统在同一个测试环境,基于网卡的不同带宽模式进行测试,结果表明,系统时延降低超过20% 的,应用的处理性能也得到了提升。

 ### 3.6 网卡加速

网卡作为服务器的一个重要部件,网卡的性能好坏会直接影响系统总体性能。通过网卡加速技术,可以大幅有效减少系统总体时延。近年来,以太网不断融合创新,发展推出 RoCE 协议。RoCE 在数据链路层支持标准以太网协议,在网络层上支持 IP 协议 ;也无需改变数据中心的原有基础设施,节省大量成本 ;还使得大带宽以太网的性能快速向 InfiniBand 靠拢。

除了 RoCE 的网卡加速技术,行业比较常用的是 Onload 加速技术,Onload 提供的高性能POSIX 兼容网络堆栈,可显着减少网络时延、提高吞吐量和降低 CPU 利用率。Onload 提供标准的 BSD 应用程序编程接口支持以太网网络协议,最终用户不需要对应用程序进行修改。 Onload技术通过内核旁路、减少数据复制次数等技术将传统的内核堆栈约 7us 的时延降低至不到 2us。

 ### 3.7 网卡加速

传统的以太网络采用的是尽力而为的转发模式,它对时延、丢包率等性能不提供任何保证。当网络中出现多台服务器同时与一台服务器通讯的时候,往往会造成网络数据的拥塞甚至丢包。网络拥塞丢包导致重传,增加网络时延,严重时会让业务性能也受到影响。减少或者避免网络拥塞和丢包现在通用的解决方案是:PFC(Priority-Based Flow Control ) 和ECN(Explicit Congestion Notification ) 的流控技术。PFC 可以对链路上队列的流量进行控制,并在交换机入口出现拥塞时对上游设备流量进行反压。ECN 技术可以实现端到端的拥塞控制,在交换机出口拥塞时,对数据包做 ECN 标记,并让流量发送端降低发送速率。通过在网络中组合部署 PFC、ECN 功能来实现无损传输保障,确保网络保持低时延运行。

4总结

低时延网络技术是低时延技术的重要组成部分,也是未来网络技术发展的重要分支,在国内外核心金融机构核心金融系统的普及应用也预示着低时延网络技术在证券行业的发展前景。本文就如何构建低时延的网络给出了明确的构建方案,也希望抛砖引玉,与同行共同探讨低时延网络的建设思路,促进行业技术升级发展。本文也是低时延技术系列文章的第一篇,下一篇将会探讨低时延网络的度量方案及测试方法。

参考文献 :
[1] Top 500 supercomputer site[ER/OL]. 
https://www.top500.org
[2] https://community.mellanox.com/s/article/rdma-roce-solutions
 
作者介绍 :
何志东,hezhidong@archforce.com.cn,华锐分布式技术实验室主任,具有丰富的交易系统、消息总线和高可靠架构设计与开发经验,目前主管华锐分布式技术实验室,对分布式系统架构、高性能计算基础设施、低时延技术、系统性能调优等领域有深入研究。

收藏
分享
暂无回复