服务器专题 | 第35期:数据走哪条路,接口说了算

服务器 · · 九羲科技

第35期 | 数据走哪条路,接口说了算

机房里摆着两台配置几乎一样的服务器:同样的 CPU,同样的内存,一台装 SATA 固态,一台装 NVMe 固态。跑同一个数据库,慢的那台不是盘不行,是路窄了。单队列、32 条命令的老路,跑在能并行几万个请求的闪存上,就像拿乡间小道去走集装箱车队。

这还只是机箱里的事。真正的变化发生在 2016 年:NVMe 把盘从 SATA 的小道上搬出来之后,有人问了一句——能不能把这条路拉长,拉到网络另一头去?这一问,问出了 NVMe-oF(NVMe over Fabrics),也问出了存储行业这十年的主线:数据住哪、算力住哪,接口说了算。

· · ·

一、单队列与六万多个队列:AHCI 的出身写在骨头里

AHCI(Advanced Host Controller Interface)是 SATA 时代的产物,骨子里为机械盘而生。盘片要转,磁头要动,一次 IO 的延迟以毫秒计——队列做深了没有意义。所以 AHCI 只给了一条队列、32 条命令,这个设计从 SATA 固态出现那天起就没变过1。

闪存没有磁头。NAND 颗粒天生并行,控制器里几十个通道同时开工,AHCI 的单条小道立刻成了瓶颈。2011 年发布的 NVMe 1.0 干脆换了一套语言:最多 65535 个队列、每个队列最多 65536 条命令,多核 CPU 可以一核一队列,各走各的路,不用抢同一把锁1。从 1 对 32,到 65535 对 65536——这不是快一点,是换了一种并行观。

账要算细。一次 IO 走下来,AHCI 要吃掉约 7–8 万条 CPU 指令,NVMe 约 3.4 万条2;4K 随机读的典型延迟,SATA 固态约 100–200 微秒,本地 NVMe 约 20–70 微秒,机械盘则是 5–10 毫秒3。带宽一栏更直观:SATA III 的 6Gb/s 折合约 600MB/s,而一条 PCIe 4.0 x4 的理论带宽约 8GB/s——十几倍的差距,接口先天就写好了。

图:AHCI 与 NVMe 关键指标对比(程序绘制;队列与命令数见规范,延迟为厂商资料典型值)

二、把 PCIe 拉长:2016 年的那次"出走"

NVMe 解决了机箱里的问题,但盘还住在机箱里。2016 年 6 月 9 日,NVM Express 组织发布了 NVMe over Fabrics 1.0 规范4:把 NVMe 的命令搬到网络上跑,让远程的盘用起来像本地盘。

规范发布时立的目标很克制:跨网络,只增加不超过 10 微秒的延迟5。10 微秒是什么概念?本地 NVMe 一次随机读也要 20–70 微秒3——也就是说,设计者希望你把盘搬到机柜另一头、甚至机房另一头,应用几乎感觉不到。

路有三条,各有各的脾气。RDMA(InfiniBand、RoCE、iWARP)走硬件旁路,延迟约 80–150 微秒3;NVMe/FC 走光纤通道,老存储人的熟人;NVMe/TCP 最有意思——2018 年技术提案获批6,跑在普通以太网上,不用专用网卡,代价是延迟约 300–500 微秒3。2021 年,NVMe 2.0 把整套 Fabrics 能力并入基准规范7,三条路都成了"正室"。

图:NVMe-oF 演进时间线与三条传输路径(程序绘制)

三、接口之争的终局:数据不动,路要选对

把三节连起来看,接口每次换代,争的从来不是带宽数字。SATA 时代,数据住在机箱里,算力和存储是连体婴;NVMe-oF 时代,数据住进了网络,盘可以放在共享池子里,算力来找数据——EBOF(全闪机柜)就是这个思路长出来的硬件形态。变的是归属关系:以前是盘跟着服务器走,现在是服务器按需去"借"盘。

所以选型不是快慢题,是归属题。延迟敏感、单机就能吃满的负载,本地 NVMe 仍是正解;要弹性、要共享、要跨机架调度的,走 Fabrics。而 NVMe/TCP 真正的意义不在性能那一栏——300 多微秒当然不如 RDMA 快——在于它把入场券发给了所有人:不用换网卡、不用学新网络,普通以太网就能把闪存池搭起来。中小规模的数据中心第一次有了玩存储解耦的资格。

放在这个背景里看,买盘那一栏的差价就多了一层意思。SATA 固态和 NVMe 固态差的不只是标价:差的是队列深度、是延迟数量级、是这台机器未来三年能不能跟上。接口选型本身就是一笔时间的账——路选对了,盘才跑得起来;路选错了,再快的盘也只能在小道上排队。

觉 然 小 注

路是数据的命。接口每一次换代,都是在重新回答一个老问题:数据住哪,算力住哪。

NVMe-oF 把"不超过 10 微秒"写进目标那天,远程和本地的边界就开始模糊了。下一台服务器,也许没有盘——这句话现在听着像玩笑,十年后再看,未必。

· · ·

作者:小羲

九羲科技|重构服务器 · 硬盘 · 私有 AI 落地解决方案

系列目录
第33期 | 企业级 SSD 的风向
第34期 | 排到 2028 年的机械盘
第35期 | 数据走哪条路,接口说了算

下一篇|第36期:数据中心、算力中心、智算中心 —— 三个词,不是一个层级

引用与出处

[1] bit-tech. Making Sense of Next-Gen SSDs, 2015-12-01.(转引 AHCI/NVMe 队列数与设计渊源,属二手转引). https://www.bit-tech.net/reviews/tech/storage/making-sense-of-next-gen-ssds/6/

[2] Enterprise Tech Journal, 2018 Issue 3.(转引自刊载的 AHCI 与 NVMe 指令路径对比数据,属二手转引). https://mydigitalpublication.com/publication/?i=513513&p=53&view=issueViewer

[3] simplyblock. NVMe Latency: Typical Numbers and What Drives Them.(厂商资料典型值口径,属二手转引). https://simplyblock.io/glossary/nvme-latency/

[4] NVM Express, Inc. NVM Express over Fabrics Specification Released. Press release, 2016-06-09. https://nvmexpress.org/nvm-express-over-fabrics-specification-released/

[5] 2016 年 NVMe-oF 规范发布说明材料(经镜像存档转引设计目标,属二手转引). https://sup1oir19c1y9vvro.vcheetah.top/wp-content/uploads/NVMe_Over_Fabrics.pdf

[6] NVM Express. NVMe over TCP Transport: Enabling NVMe Adoption for the Masses, 2022-10-25. https://nvmexpress.org/nvme-over-tcp-transport-enabling-nvme-adoption-for-the-masses/

[7] NVM Express. NVMe over Fabrics (oF) Specification (historical reference only).(转引 oF 1.0/1.1 与 NVMe 2.0 合并信息,属二手转引). https://nvmexpress.org/specification/nvme-of-specification/?ref=news.itsfoss.com

九羲服务器AI落地群活码

扫码加入九羲服务器AI落地群

文章、视频等内容为九羲科技原创,转载请注明出处

合作 | 联系我们:jx@jiuxii.cn

文末装饰图

脚踏实地 行知合一

互相成就 拥抱未来

← 返回资讯中心