高频交易中的网络连接和网络技术编辑:盛立金融软件开发(杭州)有限公司在高频交易中,你永远希望比你的竞争对手快。如果你能比你的竞争对手更快对市场行情做出响应,更早地得到成交,你就能比你的竞争对手获得更多的利润。在之前的“高频交易的技术与设备”中,我们把加速分为电脑内和电脑外的加速,并且主要介绍了电脑内的加速,这期主要谈谈电脑外的加速。正如前面所讲到的,做高频交易的公司把服务器放到交易所撮合引擎服务器所在的数据中心里(co-location),就是为了追求更低的延迟。但是当越来越多的公司都这样做的时候,仅仅做到co-location已经无法做到比竞争对手更快了。于是,在每个交易公司,如何减少系统中的延迟,使交易数据从策略所在的电脑到交易所的交易引擎的达到双向最快,就成为了一个非常重要的工作,这就是现在在华尔街常被提到的“RacetoZero”(向0延迟的竞争)。而在这个竞争中,电脑外的加速扮演了非常重要的角色。这里我们又可以把电脑外的加速分为两部分,一为到交易所的网络的线路连接,二为公司交易内网的布置。下面很多地方用Nasdaq作为例子,主要因为Nasdaq在交易技术做的最好,数据也最全,其他交易所也基本类似.首先,我们来讲讲不同的到交易所的线路网络。目前在美国的交易所co-location服务一般提供的网络连接是1G和10G以太网,Nasdaq也在今年推出40G以太网连接。一般来讲,更高的带宽对延迟会有直接的影响,特别是在交易环境中容易出现的如单个消息相对大,消息速率相对高,网络有拥塞和突发流量等情况下,高带宽能够保证系统的延迟低而且稳定。据估计,对于co-location的用户,40G的网络连接相对于10G的网络连接,能使往返延迟(roundtriplatency)减少7个微妙(microsecond),这对于高频交易的用户来说,是相当可观的。下表中是Nasdaq提供的其1G,10G连接的延迟数据:(数据基于Nasdaq的co-location用户数据,延迟均为往返延迟,以微秒为单位)WeekofAugust6,2012Average(LatencyinMicroseconds)99%(LatencyinMicroseconds)99.9%(LatencyinMicroseconds)OUCH-10G(下单延迟)5195142OUCH-1G(下单延迟)82126170ITCH-10G(行情接收延迟)446582ITCH-1G(行情接收延迟)77102120对于最新的40G以太网连接,Nasdaq号称下单到反馈(order-to-ack)往返延迟能在40个微秒以内。从以上的数据中不难发现,高带宽不但能带来更低的延迟,而且还能提供一个非常重要的特性,那就是延迟的稳定性。这个并不难理解,对于数据的传输,有一个无法避免的延迟——传输延迟(transmissiondelay),它是指将数据包的所有比特推送到网线上所需的时间,而这个时间是与连接的带宽成反比的。高带宽能够保证在有大量数据需要传输的时候,数据等待传输到网线的时间更短,因为单位时间能够被传输的比特数更多,这就保证了即使在网络有突发流量的情况下,也能获得尽量低的延迟。而对于高频交易来说,这一点非常重要,因为数据最高的时候往往也是市场动荡最多的时候,也正是交易盈利机会最多的时候。交易所的线路接到公司内网后,下面的工作就是内网的布置了。一般现在都是用10G以上的以太网。除了以太网,另外一种网络结构InfiniBand以其更高速,更低延迟的特性也在交易系统中越来越流行。当然,更高速和更低延迟并不是绝对的,而是在某些特定的应用中才能体现出来。这个是由于InfiniBand的架构本身所决定的,比如,InfiniBand的帧是基于16bit的本地地址,而以太网是用48bit的全球唯一的物理地址,根本来讲,InfiniBand是一个I/O技术,而不是网络技术。InfiniBand的另外一个优势是在可扩展性上,对于某些需要多个节点之间频繁进行消息传递的应用,比如超级计算中经常用到的消息传递接口(MPI)技术,InfiniBand相对于以太网能够提高整体的吞吐量,减少延迟,并且保证随节点增加系统整体处理能力的有效扩展。但InfiniBand也有他的不足之处,比如价格相对昂贵,需要特殊的硬件,还有与已有以太网设备兼容性问题等。而且目前为止也少有交易所提供InfiniBand的连接,所以InfiniBand通常用在高频交易公司的内部网络,像有名的高频交易商Getco。与此同时,以太网也在引入一些最初只有InfiniBand才支持的功能,这也导致以太网的性能越来越接近InfiniBand。比如,RDMA(远程直接内存访问)技术——能够使集群中的节点之间通过网络设备对对方机器的内存进行直接访问,既减少延迟,也节省了节点上的CPU资源,而RoCE(RDMAoverConvergedEthernet)技术,实现了基于以太网的RDMA(远程直接内存访问),将以前InfiniBand才拥有的低延迟也赋予了以太网。当然,InfiniBand在现有的和其路线图上的标准,与相对的以太网技术比,在延迟和吞吐量上,还是有优势的。由于兼容性和成本的原因,许多公司采取混合模式,把最需要速度的部分网络用40G的Infiniband或以太网,而其他部分网络用一般的10G。另外一些网络技术,比如光纤通道(FibreChannel)等主要用于访问存储设备的网络技术,也在整个系统中占有重要的地位。对于存储设备的访问,以太网也支持类似FCoE(FibreChanneloverEthernet),iSCSI(InternetSmallComputerSystemInterface)等技术,以允许基于以太网的存储设备访问,由于本次话题主要着重于主机之间的通信,在此就不做详细讨论了。对于存储设备和存储网络,如果大家有兴趣,我们今后可以单独讨论。其次,我们来讲讲网络设备。网络设备的性能会对系统的整体延迟产生直接影响。主要的网络设备包括路由器,交换机以及服务器上的I/O接口卡或网卡,而通常对系统延迟产生较直接影响的是交换机和网卡。对于交换机,我们以10G以太网交换机为例,目前比较常规的交换机,比如Dell,Juniper,Cisco等公司的交换机产品,能提供的端口到端口延迟约为700纳秒(nanosecond),另外一些比较专注低延迟的交换机产品,比如Arista和Mellanox公司的交换机,可以提供低于500纳秒的延迟,其中Mellanox号称能提供250纳秒的延迟。在一些极端的应用情况下,还有支持更低延迟的交换机产品存在,比如最近出现的Zeptonics公司,他们提供的交换机能支持到130纳秒的延迟性能,他们的一层交换机(Layer1switch)甚至做到5纳秒的延迟,但是这都是在只能支持某些特定应用的前提下,主要是基于交易网络端口和端口之间的通讯基本不多,而主要以通过一个特定端口连到交易所的通讯为主。而这些性能对于高频交易的用户来说,是非常有吸引力的,因为高频交易系统在某些特定应用中是不需要复杂的交换功能的。大家千万不要小看了这几百个纳秒的延迟差别,当系统中节点数量多,且相互交换消息频繁时,每次来回所节省的延迟,加起来的效果是非常明显的,所以好的交换机设备和好的网络架构,对于高频交易公司是很重要的。同样的道理,服务器网卡对于系统的延迟性能也非常重要。目前一些比较高端的1G和10G以太网卡集成了TOE(TCPOffloadEnigne)技术,这是由于在网络中的数据到达服务器之后,服务器端的操作系统(OS)需要对数据进行TCP/IP协议解析,这个过程耗时,而且会占用大量的主机CPU资源(处理1Gbps的TCP/IP协议数据需要占用大约1GHz的CPU),在网卡上支持协议的解析之后,一方面可以利用特定硬件的处理能力获得更低的延迟,另一方面可以节省CPU资源用于处理运行于主机上的高频交易程序。这些高端的网络接口卡,通常也能够支持前面提到的RoCE,FCoE等技术。目前较为著名的提供类似网卡的公司包括Solarflare,Mellanox,Chelsio等。当然,类似的,也有支持InfiniBand技术的网络接口卡。总而言之,如何针对自己的应用设计好的网络架构,选择正确的网络设备,对于高频交易公司非常重要,因为正如我们一开始说到的,速度,将直接影响收益。从成本的角度来说,这个基本上是个花钱的活,谁花的起钱用最快的连接,用最好的路由器,交换机和网卡,就能够做到最快的电脑外的加速。以Nasdaqco-location的连结为例,10G的连接是每月5000美元,而40G的是每月15000美元。一分钱一分货,现在设立一个好的高频交易的网络价格越来越高,这也让进入高频交易的门坎越来越高。(盛立金融软件:LouisLiu柳峰)转载请注明出处,欢迎通过以下方式访问:博客:微博: