首页 / 资讯中心 / 文章详情

051、RDMA在金融交易中的应用:低延迟订单路由

051、RDMA在金融交易中的应用:低延迟订单路由 ★ FEATURED ARTICLE
RDMA在金融交易中的应用:低延迟订单路由从一次诡异的丢包说起去年帮一家量化私募调试交易系统,遇到个让人抓狂的问题。他们的FPGA加速卡已经能处理纳秒级行情解析,但订单路由到交易所的链路偶尔会出现微秒级的抖动。团队排查了三天,从网卡固件版本到交换机队列配置全查了一遍,最后发现是RDMA的WR(Work Request)提交顺序出了问题——某个线程在发送订单时,错误地复用了上一个已完成WR的缓冲区,导致订单数据被覆盖。这个坑让我意识到,金融交易场景下的RDMA开发,和普通数据中心网络完全是两码事。今天这篇笔记,就聊聊RDMA在订单路由中的实战要点,重点说那些文档里不会写、但线上一定会踩的坑。订单路由的延迟构成:别被“零拷贝”忽悠了很多人一听到RDMA就想到“零拷贝”,觉得延迟能降到微秒级。但金融交易订单路由的延迟,远不止网络传输这一项。一个典型的订单从策略生成到抵达交易所,延迟构成大致是:策略计算:50-200纳秒(FPGA或GPU)内存拷贝:100-500纳秒(如果用了传统socket)协议栈处理:1-5微秒(TCP/IP)网卡硬件排队:500纳秒-2微秒物理链路传输:每公里约5微秒(光纤)RDMA能砍掉的主要是协议栈处理和内存拷贝这两块,但网卡硬件排队和物理链路传输是绕不开的。所以别指望RDMA能把延迟压到纳秒级,实际能稳定在1-3微秒就已经是顶尖水平了。我见过有人把RDMA延迟吹到几百纳秒,那是在实验
阅读完成 · 觉得有帮助?
咨询建站