25、硬件选型与部署:服务器配置、网卡选择、FPGA加速、托管机房
做市商系统跑起来,说到底就是跟时间赛跑。你策略再牛,算法再精,硬件跟不上,一切都是白搭。我见过太多团队,软件层面优化到极致,结果换了一块网卡,延迟直接砍半。嗯,这章咱们就聊聊硬件的那些事儿。
服务器配置:别光看核心数
很多人选服务器,上来就问「多少核」。其实对于做市商系统,单核性能比核心数更重要。为什么?因为我们的交易逻辑大多是串行的,你没法把一条指令拆成32份让32个核同时跑。
我个人习惯,CPU选高频的,比如Intel的Xeon Gold系列,主频能上4.0GHz以上的。内存呢?64GB起步,但别盲目堆。我记得有个项目,团队买了512GB内存,结果利用率不到10%,纯属浪费。
- CPU:高频 > 多核,推荐 Intel Xeon Gold 或 AMD EPYC 高频版
- 内存:64GB-128GB 足够,重点是低延迟(DDR5 或更高)
- 硬盘:NVMe SSD 做系统盘,数据盘用 RAID 0 或 10
- 散热:必须上液冷或强力风冷,降频是延迟的大敌
网卡选择:10G 只是起点
网卡这东西,很多人觉得「能用就行」。但做市商系统里,网卡就是你的命门。10G 网卡?那是入门级。现在主流做市商都在用 25G 甚至 100G 的网卡。
为什么?因为行情数据量太大了。一个交易所的深度数据,每秒可能产生几万条更新。10G 网卡在峰值时很容易丢包。丢一个包,你的策略就可能错过一次交易机会。
我建议重点关注 Solarflare 和 Mellanox 这两个牌子。它们有硬件时间戳功能,能帮你精确测量网络延迟。我曾经在一个项目中,换了 Solarflare 的 X2522 网卡,延迟从 10 微秒降到了 3 微秒。效果立竿见影。
| 网卡型号 | 速率 | 延迟(典型值) | 适用场景 |
|---|---|---|---|
| Intel X710-DA2 | 10G | 5-8 μs | 入门级、回测环境 |
| Solarflare X2522 | 25G | 2-3 μs | 生产环境、高频交易 |
| Mellanox ConnectX-6 | 100G | 1-2 μs | 顶级做市商、FPGA 配合 |
FPGA 加速:从软件到硬件的跨越
FPGA 这东西,说白了就是把你的逻辑烧录到芯片里,用硬件电路去跑。速度比 CPU 快几个数量级。但代价是开发难度大,调试麻烦。
做市商系统里,FPGA 主要用在两个地方:
- 行情解析: 交易所发来的二进制行情,FPGA 可以直接解析,不用经过 CPU。延迟从微秒级降到纳秒级。
- 订单路由: 把订单发送逻辑也放到 FPGA 里,省去操作系统和网络协议栈的开销。
我个人建议,如果你的团队没有 FPGA 开发经验,别轻易尝试。外包给专业的 FPGA 公司,比如 Xilinx 或 Intel 的合作伙伴,反而更划算。我见过一个团队自己招人搞 FPGA,搞了两年,延迟没降下来,bug 倒是一堆。
- 逻辑单元:至少 100K 以上,否则放不下行情解析逻辑
- 内存:DDR4 或 HBM,用于缓存行情数据
- 接口:支持 PCIe Gen3 x8 以上,否则带宽不够
- 开发工具:Vivado 或 Quartus,选你熟悉的
托管机房:离交易所越近越好
托管机房,说白了就是把你的服务器放到交易所的机房里。为什么?因为物理距离决定了光速延迟。光在光纤里跑,每公里大约 5 微秒。你离交易所远 10 公里,来回就是 100 微秒的延迟。这在做市商领域,足以让你亏掉底裤。
我建议,优先选择交易所官方合作的托管机房。比如 CME 的 Aurora 数据中心,或者 Binance 的托管服务。这些机房有专门的网络接入点,延迟最低。
另外,托管机房的电力和冷却也很重要。我记得有一次,托管机房空调坏了,服务器温度飙到 80 度,直接降频。那天的交易延迟比平时高了 30%。嗯,从那以后,我每次选机房都会问清楚:有没有备用发电机?冷却系统是 N+1 冗余吗?
知识体系总览
下面这张图,帮你理清硬件选型与部署的核心逻辑。从服务器到网卡,再到 FPGA 和托管机房,每一步都环环相扣。
硬件选型这事儿,没有标准答案。每个交易所、每个策略、每个团队都不一样。但核心原则就一条:用最少的钱,买最低的延迟。别盲目追求高端,也别在关键地方省钱。嗯,希望这章能帮你少走一些弯路。