硬件选型入门:服务器CPU、网卡、交换机与时钟同步

做低延迟交易系统,硬件选型是地基。地基没打好,上层软件优化得再好也白搭。今天咱们聊聊最核心的几个硬件选型问题:CPU怎么挑、网卡选哪个、交换机用什么、时钟怎么同步。

我入行那会儿,大家还在纠结CPU主频够不够高。现在呢?问题更复杂了——高频还是多核?Solarflare还是Mellanox?Arista还是Cisco?嗯,咱们一个一个拆开说。

服务器CPU:高频 vs 多核

先说CPU。低延迟场景下,CPU选型有个核心矛盾:要高频还是多核?

我个人习惯,先看业务场景。如果你的策略是高频交易,比如做市商那种,每秒要处理成千上万笔订单,那高频CPU是首选。为什么?因为单线程延迟是关键。你想想看,一个订单从网卡到应用层,再到策略引擎,最后发出去,这条路径上任何一点卡顿都会增加延迟。高频CPU能把这个路径跑得更快。

反过来,如果你的策略是统计套利或者机器学习模型,需要同时处理大量数据,那多核CPU更合适。多核可以并行处理,吞吐量上去了,但单线程延迟可能会高一些。

我遇到过一家量化团队,他们一开始买了32核的AMD EPYC,觉得核心多就是好。结果跑高频策略时,延迟比隔壁用Intel Xeon W系列的高了30%。后来一查,问题出在CPU的睿频策略和缓存延迟上。嗯,这里要注意:高频CPU的缓存延迟通常更低,这对低延迟应用很关键。

核心建议:

  • 高频交易:选Intel Xeon W系列或AMD Ryzen Threadripper Pro,主频5GHz以上
  • 量化计算:选AMD EPYC或Intel Xeon Scalable,核心数32+
  • 混合场景:考虑Intel Xeon Platinum,平衡高频和多核

避坑指南:我曾经帮一个客户选型,他们非要买最新款的CPU。结果发现新CPU的睿频策略不稳定,导致延迟抖动很大。后来我建议他们用上一代旗舰款,反而更稳。所以,别盲目追新,稳定才是低延迟的王道。

网卡选型:Solarflare vs Mellanox

网卡是低延迟系统的另一个关键点。市面上主流的两家:Solarflare(现在叫Xilinx)和Mellanox(现在叫NVIDIA)。

Solarflare的强项是低延迟和精准时间戳。他们的网卡内置了硬件时间戳引擎,配合PTP协议,可以实现纳秒级的时钟同步。我做过一个测试,Solarflare X2522网卡在开启硬件时间戳后,延迟抖动从微秒级降到了纳秒级。说白了,就是稳得一批。

Mellanox的强项是吞吐量和RDMA。他们的ConnectX系列网卡支持RoCEv2和InfiniBand,适合需要高吞吐量的场景。比如做市商需要同时处理多个交易所的数据流,Mellanox的网卡能扛得住。

怎么选?我个人习惯:

  • 如果主要做高频交易,对延迟敏感,选Solarflare
  • 如果需要高吞吐量,或者要用RDMA,选Mellanox
  • 如果预算有限,可以考虑Intel的XXV710,性价比不错

注意:网卡的固件版本很重要。我遇到过一家公司,买了Solarflare网卡,但固件版本太旧,导致硬件时间戳功能不稳定。升级固件后问题解决。所以,拿到网卡第一件事就是升级固件。

交换机选型:Arista vs Cisco

交换机这块,Arista和Cisco是两大巨头。但低延迟场景下,Arista更受欢迎。

为什么?因为Arista的交换机延迟更低。他们的7150系列,延迟能做到500纳秒以内。Cisco的Nexus系列也不错,但延迟通常在1微秒左右。别小看这500纳秒的差距,在高频交易中,这可能是胜负手。

我做过一个对比测试:用Arista 7150和Cisco Nexus 93180YC-FX3,在相同配置下跑订单流。结果Arista的平均延迟比Cisco低了40%。嗯,差距很明显。

但Cisco也有优势:生态成熟,运维工具多。如果你的团队运维能力一般,Cisco可能更省心。

特性 Arista Cisco
延迟 500ns-1μs 1-3μs
吞吐量
运维工具 一般 丰富
价格 较高

个人经验:如果预算充足,我建议用Arista做核心交换机,Cisco做边缘交换机。这样既保证了核心链路的低延迟,又利用了Cisco的运维优势。

时钟同步硬件:PTP

时钟同步是低延迟系统里最容易忽略的环节。没有精准的时钟同步,你的延迟数据就是一堆废纸。

PTP(Precision Time Protocol)是目前的主流方案。它能在局域网内实现纳秒级的时钟同步。硬件上,你需要一个PTP Grandmaster时钟,比如Meinberg或Oscilloquartz的产品。

我建议的部署方案:

  • Grandmaster时钟:放在机房的中心位置,通过GPS或北斗接收卫星信号
  • 边界时钟:每个机柜放一个,接收Grandmaster的信号,再分发给机柜内的设备
  • 透明时钟:交换机内置,用于修正网络传输中的延迟

我曾经帮一个客户部署PTP,结果发现他们的交换机不支持透明时钟。后来换了Arista的交换机,问题才解决。所以,买交换机前一定要确认是否支持PTP透明时钟。

关键配置:

# PTP Grandmaster配置示例
ptp:
  domain: 0
  priority1: 128
  priority2: 128
  clockClass: 6
  clockAccuracy: 0xFE
  offsetScaledLogVariance: 0xFFFF

注意:PTP的精度受网络负载影响。如果网络流量大,延迟抖动会增加。建议为PTP流量单独划分VLAN,或者使用专用网络。

知识体系总览

下面这张图总结了本章的核心逻辑。你可以看到,从CPU到网卡,再到交换机和时钟同步,每个环节都环环相扣。

低延迟交易网络硬件选型知识体系 服务器CPU 高频 vs 多核 网卡 Solarflare vs Mellanox 交换机 Arista vs Cisco 时钟同步 PTP硬件 核心逻辑:延迟 vs 吞吐量 高频交易 → 低延迟优先 → 高频CPU + Solarflare网卡 + Arista交换机 量化计算 → 高吞吐量优先 → 多核CPU + Mellanox网卡 + Cisco交换机 混合场景 → 平衡延迟和吞吐量 → Intel Xeon Platinum + 混合网卡 时钟同步是基础,所有设备都需要PTP支持 选型时考虑:延迟、吞吐量、稳定性、预算

好了,硬件选型入门就聊到这儿。记住一句话:没有最好的硬件,只有最适合你业务的硬件。下一章咱们聊聊网络拓扑设计,到时候见。

专注资料整理