GPUDirect Storage 直连存储
3秒看懂
GPUDirect Storage(GDS)是 NVIDIA 推出的一种显存直连存储技术。它允许 GPU 越过 CPU 与系统内存,通过 PCIe 总线直接读写 NVMe 固态硬盘中的数据。在 AI 大模型训练、高性能计算等需要频繁搬运海量数据的场景中,该技术能够显著缩短数据加载耗时,是释放 GPU 算力的关键“数据高速公路”之一,在 “链—芯片—核” 分析框架中属于连接存储与算力的 “链” 环节。
3分钟产业解释
在传统的 GPU 计算流程中,存储设备里的数据必须经过 “NVMe SSD → CPU 系统内存 → GPU 显存” 的路径。这一过程需要 CPU 介入数据拷贝与内存管理,不仅占用宝贵的 CPU 周期和系统内存带宽,还会在 I/O 通路上制造瓶颈,导致 GPU 在等待数据时空转。大语言模型训练、自动驾驶数据加载、科学仿真等任务动辄需要处理数十 TB 级别的数据,传统路径难以满足极高吞吐需求。
GPUDirect Storage 通过创建一个从 NVMe SSD 直达 GPU 显存的 PCIe 直接内存访问(DMA)通道,让 GPU 能够直接发起并完成 I/O 操作。得益于此,数据搬运路径被简化为 “NVMe SSD → GPU 显存”,极大地释放了 CPU 负载和系统内存带宽,并能将有效 I/O 带宽提升数倍。NVIDIA 早在 2021 年就发布官方实测数据,在典型 AI 负载中,GDS 能够带来最高 5 倍的带宽效率提升(来源:NVIDIA Developer Blog,2021 年)。
从产业定位看,GPUDirect Storage 是 NVIDIA Magnum IO 套件 的组成部分,处在 AI 基础设施层中“数据平面加速”的枢纽位置。它向上服务于 CUDA 平台上的训练与推理框架,向下依赖于 NVMe SSD、PCIe 交换机等硬件生态,并需要操作系统、驱动以及并行文件系统的协同配合。因此,GDS 的渗透过程本质上是 AI 数据中心从“以 CPU 为中心的 I/O”向“以 GPU 为中心的 I/O”迁移的过程,其产业影响随着 NVIDIA 数据中心 GPU 装机量的扩张而不断扩大。
技术原理
GPUDirect Storage 的技术本质,是将 GPU 塑造为一个可以独立发起 PCIe 内存读写事务的主设备,从而绕过传统 I/O 路径中必须由 CPU 协调的访存环节。
传统路径的瓶颈
在未启用 GDS 的系统中,即便 GPU 通过 GPU Direct RDMA 可以直接与网卡交互,对本地 NVMe SSD 的访问仍需经过 CPU。NVMe 驱动运行在主机 CPU 上,数据先经由 PCIe 写入系统 DRAM,再由 CPU 调度、内核缓冲,最后通过 CUDA API 拷贝到 GPU 显存。多方参与导致:
- CPU 核心因数据搬运而被占用;
- 系统内存带宽成为瓶颈,尤其在多 GPU 并发读写时;
- 延迟链条变长,GPU 计算单元常陷入等待。
GPUDirect Storage 的 DMA 路径
GDS 的核心机制建立在 PCIe 对等通信(P2P)与 DMA 引擎之上。兼容的 NVIDIA GPU 内部具有多个 DMA 引擎,可在基地址寄存器(BAR)映射的地址空间内直接向 NVMe 控制器发出内存读写事务。具体流程:
- CUDA 应用程序调用 cuFile API(GDS 的用户态库),请求打开 NVMe 上的文件并读取数据。
- cuFile 驱动将请求分派到内核态的 nvidia-fs 模块,该模块负责与 NVMe 驱动交互,使用 GPU BAR1 空间的内存地址作为 DMA 目标。
- NVMe SSD 控制器直接执行 PCIe 的 Memory Write 或 Memory Read 事务,将数据送入 GPU 显存或从显存读取,完全避开系统 DRAM 和 CPU。
- 数据传输完成后,GPU 立即开始计算,无需额外的同步拷贝。
这要求硬件具备以下能力:
- GPU 支持:Volta 及后续架构(V100、A100、H100、B200 等)并配备足够的 PCIe BAR1 空间;
- NVMe SSD:须符合 NVMe 1.2b 以上规范,且能够正确处理任意长度分散物理区域(PRP/SGL)描述符;
- PCIe 拓扑:要求根复合体(Root Complex)支持访问控制服务(ACS)和地址翻译服务(ATS),以保障 DMA 安全高效;对于多 GPU 和多 NVMe 盘的互联,PCIe 交换机需支持对等通信;
- 系统软件:Linux 内核 4.x 以上,且安装 NVIDIA 驱动与 cuFile 库,还需对某些 IOMMU 进行适当配置。
兼容文件系统与远程存储
初期 GDS 主要用于本地 NVMe 盘上的文件系统(ext4、xfs 等)。自 CUDA 11.4 起,GDS 开始支持 NVMe over Fabrics(NVMe-oF),即通过 RDMA 网络将远端 NVMe 设备直接暴露给 GPU。2022 年后,并行文件系统厂商如 WEKA、VAST Data、DDN 等相继宣布集成 GDS,使得分布式训练也能受益于绕过 CPU 的 I/O 加速。总体上,GDS 的技术演进正在将“零拷贝”理念从单节点扩展到整个数据中心存储平面。
关键参数
GDS 的性能表现高度依赖硬件组合与工作负载特性。以下梳理主要参考 NVIDIA 官方文档及 2021—2024 年公开的基准测试。
- 带宽提升:NVIDIA 在 2021 年发布的测试中(来源:NVIDIA Developer Blog “GPUDirect Storage Performance”),对比传统缓冲 I/O,GDS 可带来 2~5 倍的有效带宽增长。在 DGX A100 系统上,8 块 PCIe Gen4 NVMe SSD 经 GDS 可达到聚合读取带宽约 40 GB/s 以上。
- 延迟缩短:GDS 消除了 CPU 调度和额外的内存拷贝,在 4KB 随机读场景下,I/O 延迟可降低 30%~50%(来源:NVIDIA GTC 2022 演讲)。对于小 IO 聚集的 AI 数据加载(如小图片或文本片段)优势明显。
- GPU 架构要求:Compute Capability 7.0(Volta)及以上。但最佳体验推荐 Ampere 或更新架构,因其拥有更宽 PCIe 通道和增强 DMA 引擎。A100 支持 PCIe Gen4,H100 支持 PCIe Gen5,理论上单 GPU 可对接多块顶级 NVMe SSD 线性扩展带宽。
- NVMe 设备队列:cuFile 允许为每个 GPU 同时打开最多 256 个文件柄,并能配置最多 64 个并行 I/O 队列(公开资料未见具体硬上限的更新,以 NVIDIA 官方编程指南为准)。
- 兼容性:官方维护支持列表,包括三星 PM9A3、Solidigm D7-P5520/D5-P5316、Kioxia CM6 等企业级 NVMe SSD,以及 Broadcom/Microchip PCIe 交换机。启用 GDS 前需核对 NVMe SSD 固件、BIOS 设置(如 PCIe ACS 控制)和 GPU 驱动版本。
- 效率开销:GDS 占用 GPU 部分 BAR1 空间,通常每个 NVMe 设备占用 128 MB BAR1 映射窗口(可调)。当同时挂载过多 NVMe 设备时,需确保 GPU BAR1 容量(例如 A100 默认为 64 GB)不被耗尽,否则可能导致映射失败。
技术路线
GPUDirect Storage 的技术演进可分为三个阶段,体现了从单机本地加速到分布式、从专有方案到部分协同开放的路径。
第一阶段(2019—2021):本地直连验证与发布 2019 年 NVIDIA 首次公布 GPUDirect Storage 概念,并在 GTC 上演示。2020 年发布 Beta,2021 年随 CUDA 11.4 正式面向通用市场。此阶段主要解决本地 NVMe SSD 到 GPU 显存的直接通路,确立了 cuFile API 与内核驱动框架。
第二阶段(2022—2023):扩展至 NVMe-oF 与并行文件系统 NVIDIA 引入对 NVMe-oF 的支持,使 GPU 可通过 RDMA 网络直接访问远端 NVMe 子系统的命名空间,大幅扩展存储池。同期,多家存储 ISV 主动适配 GDS,例如 WEKA 宣布其并行文件系统可借 GDS 绕过 CPU 提供高带宽,VAST Data 展示其全闪存平台通过 GDS 实现 AI 训练检查点写入提速。2023 年 NVIDIA 推出 BlueField-3 DPU,为存储卸载和网络直连提供更多组合可能,虽非 GDS 本身,但路线图显示未来 DPU 有望协助处理 GDS 中元数据操作。
第三阶段(2024 及以后):跨架构整合与 CXL 展望 2024 年 GTC 上,NVIDIA 推出的 Blackwell 架构 B200/B100 GPU 继续内置对 GPUDirect Storage 的支持,内存带宽和 PCIe 通道进一步提升。NVIDIA 官方披露,随着 CXL 内存扩展技术逐步落地,GDS 未来可能扩展至 CXL 连接的存储,使 GPU 直接读写基于 CXL 的内存池和持久内存,进一步模糊内存与存储界限。此外,业界也在关注是否会出现基于开放标准的 GPU 直连存储方案,但截至 2024 年中期,尚未有其他厂商推出可匹敌 GPUDirect Storage 的完整商用方案。
上游
GPUDirect Storage 上游主要由定义标准与提供核心硬件的厂商构成。
1. GPU 计算平台 NVIDIA 是 GDS 技术绝对的源头与标准制定者。从 Ampere 到 Hopper 乃至 Blackwell,NVIDIA 在芯片设计中预留了面向存储直连的 DMA 引擎与 BAR 空间映射逻辑,并在 CUDA 工具包中提供 cuFile 库。没有 NVIDIA GPU 及其认证驱动,就无法构建 GDS 加速路径。该技术也被整合进 NVIDIA DGX 系统、HGX 基板 等产品,形成垂直绑定的交付模式。
2. 存储器件与控制芯片 企业级 NVMe SSD 是数据直连的出口。主要供应商包括:
- Solidigm(原英特尔 NAND 及 SSD 业务,现为 SK 海力士子公司):D7-P5520、D5-P5316 等多款产品通过 NVIDIA 认证,是众多 AI 白牌服务器中的核心存储。
- 三星:PM9A3、PM1733 等系列在 NVIDIA 支持列表中,三星还提供容量点更高的 QLC NVMe SSD,适用于大容量数据湖。
- 铠侠:CM6、CD8 系列等企业级 SSD 同样在列,与多家服务器厂商合作提供 GDS 验证配置。
- 西部数据:Ultrastar DC SN840、SN650 等产品亦可通过认证实现 GDS 加速。 上述 SSD 所使用的控制器 IP 部分来源自 Marvell、Microchip 或自研,须支持 PRP/SGL 描述符列表及足够的队列数量。
3. PCIe 互连芯片 在节点内实现多 GPU 与多 NVMe 盘的直接对等通信,离不开高性能 PCIe 交换机及重定时器(Retimer)。关键厂商包括 Broadcom(PEX89000 系列)、Microchip(Switchtec PAX 系列)等。这些交换机需支持 ACS 和 ATS 以满足 GDS 对等通信的安全性和地址翻译要求。
4. 系统软件与固件
上游还包括提供 BIOS/固件支持的服务器主板厂商(如 AME(信骅)等 BMC 厂商对 PCIe 拓扑的管理)以及 Linux 内核社区。NVIDIA 提交的 nvidia-fs 内核模块依赖内核 DMA 映射和 PCIe 子系统,Linux 发行版(Ubuntu、RHEL)的版本紧随程度直接影响企业用户的部署难度。
下游
下游涵盖集成服务器与存储系统的原厂、云服务商以及最终使用该技术的企业与机构。
1. 服务器与集成商 Supermicro、Dell Technologies、HPE、Lenovo、浪潮信息、宁畅 等众多服务器厂商均已在其 AI 训练/推理平台中验证并推荐使用 GPUDirect Storage。例如 Supermicro 的 GPU 超级工作站和 8U GPU 服务器常预设 PCIe 拓扑以完美匹配 GDS;浪潮信息 NF5688M6 等机型提供支持 GDS 的 NVMe 前置扩展配置。这些集成商将上游硬件组装为经过 NVIDIA 认证的企业级系统,并承担散热、供电、PCIe 信号完整性等工程挑战。
2. 云服务商 全球主要公有云厂商在其高端 GPU 实例中提供 GDS 能力:
- AWS:P4d/P4de(基于 A100)、即将推出的 P5(基于 H100)实例均允许用户在挂载的本地 NVMe 或 EBS io2 Block Express 间接体验高速存储,但 GDS 目前主要作用于本地 NVMe 实例存储。
- Microsoft Azure:NDv2、NDm A100 v4 等系列支持 GDS 加速本地 NVMe,适用于大规模分布式训练。
- Google Cloud:A2 实例配备本地 NVMe SSD,GDS 被 AI 平台和 Vertex AI 工作负载间接利用。
- 阿里云、腾讯云等:在面向大模型训练的 GPU 集群和智算平台中提供支持 GDS 的节点,客户可通过 PAI 或 TI-ONE 等平台使用。
3. 最终用户
- AI 实验室与大模型企业:OpenAI、Meta、Anthropic、Google DeepMind 及中国的百度、字节跳动、Moonshot 等,在其万卡集群中通过 GDS 加速数据加载,提升模型训练效率。
- 自动驾驶:Waymo、Cruise、小鹏、蔚来等企业需要从路采数据流水线上载入数 PB 级视频和 Lidar 数据到 GPU 进行感知模型训练,GDS 对这类 IO 密集型流水线效率提升显著。
- 生命科学与制药:冷冻电镜数据处理、分子动力学模拟和 AlphaFold 类应用需高速加载大量中间文件,GDS 可缩短整体研究周期。
- 气象与能源:欧洲中期天气预报中心(ECMWF)、美国国家可再生能源实验室等采用 GPU 集群进行高分辨率模拟,GDS 成为数据供给的标配选项。
受益公司
GPUDirect Storage 的渗透直接拉动相关厂商的收入,但绝大多数公司在公开财报中并未单独披露 GDS 带来的营收贡献,因此以下分析基于产业链逻辑与公开声明。
- NVIDIA:作为 GDS 技术的所有权方,它通过深度绑定 CUDA 生态和技术锁定,进一步巩固了在 AI 训练基础设施市场的领导地位,并间接推高了 DGX 系统和高端 GPU 的溢价能力。NVIDIA 2024 财年数据中心业务营收达 475.3 亿美元(NVIDIA 年报,截至 2024 年 1 月 28 日),GDS 作为平台关键功能,是其“软硬一体”护城河的一部分。
- 存储原厂:AI 服务器大规模采购 NVMe SSD,且对认证型号有明显偏好,这使得进入 NVIDIA 兼容列表的 SSD(如 Solidigm D7 系列、三星 PM9A3 等)在分区市场中享有溢价。Solidigm 在多篇新闻稿中指出,其与 NVIDIA 的合作正在推动 AI 存储从 SATA/SAS 向 NVMe 的换代。
- 服务器 ODM/OEM:Supermicro、Dell、浪潮信息等由于提供预先验证的 GDS 配置,得以提升高端 AI 服务器份额。以 Supermicro 为例,其 2024 财年(截至 2024 年 6 月)营收同比大幅增长,部分原因即来自搭载 NVIDIA GPU 和高速 NVMe 的 AI 系统热销(来源:Supermicro 财务报告)。
- 并行文件系统与存储软件厂商:WEKA、VAST Data、DDN 等公司因为率先集成 GDS,在 AI 存储赛道上获得了差异化竞争力。例如 VAST Data 在 2023 年公开表示其平台借助 GDS 实现了领先的模型加载与检查点性能,并借此赢得多个超大规模 AI 客户。
- 云服务商:通过提供支持 GDS 的 GPU 实例,CSP 能够以更高单价销售高端计算服务,并提高客户粘性,间接提升云计算收入。
需注意,上述公司的受益程度直接取决于 NVIDIA 高端 GPU 的出货节奏及 AI 投资景气度,而非 GDS 单一变量。
市场规模
公开资料未见专注于 GPUDirect Storage 的独立市场规模统计。 该技术属于 NVIDIA GPU 平台的内嵌特性,其商业价值隐含在 AI 基础设施的多个细分市场中。
可参照的关联市场数据(口径对齐至 2023—2024 财年):
- NVIDIA 数据中心业务:2024 财年营收 475.3 亿美元,同比大幅增长。该收入主要涵盖 GPU、DPU 及相关软件许可,GDS 是提升方案竞争力的组成部分(来源:NVIDIA 10-K 年报)。
- 企业级 NVMe SSD 市场:根据 TrendForce 及 IDC 数据,2023 年全球企业级 SSD 市场中 NVMe 占比已超 75%,AI 服务器对高容量、高性能 NVMe SSD 的需求成为关键驱动。但具体由 GDS 拉动的增量规模未被量化。
- AI 服务器系统市场:据 IDC 2024 年初报告,2023 年全球 AI 服务器市场支出超过 250 亿美元(具体数值请参阅 IDC Worldwide Quarterly Server Tracker,此处为近似区间)。凡是搭载 NVIDIA A100/H100 且配置本地 NVMe 的 AI 服务器,几乎均与 GDS 兼容,意味着潜在适用面极广。
由于缺乏独立统计,市场观察者通常把 GDS 视为 AI 基础设施加速的一种“隐形渗透”,其成长性与 NVIDIA 数据中心 GPU 出货量和企业级 NVMe 存储的更新迭代高度联动。
玩家对比
当前市场上并不存在与 GPUDirect Storage 完全对等的第三方商业方案,但可比较几种不同的 GPU 数据供给路径。
| 方案 | 代表实现 | 数据路径 | 性能特征 | 生态与开放性 |
|---|---|---|---|---|
| GPUDirect Storage | NVIDIA + 认证 NVMe SSD + cuFile | NVMe SSD → GPU 显存 | 极低 CPU 负载;延迟低;高度依赖 PCIe 拓扑 | 闭源,只限 NVIDIA GPU |
| 传统 CPU 缓冲 I/O | 通用 Linux,通过内存拷贝 | NVMe SSD → 系统内存 → GPU 显存 | CPU 介入多,占用内存带宽;延迟较高 | 开放,所有 GPU 通用 |
| GPU Direct RDMA(网卡) | NVIDIA + InfiniBand/RoCE | 远端 GPU 显存/存储 → GPU 显存,绕过 CPU | 主要用于节点间通信,非本地 SSD 直连 | 需 NVIDIA 网卡,与 GDS 互补 |
| AMD DirectGMA / ROCm | AMD GPU + 对等 PCIe 设备 | 理论上可映射外设内存到 GPU,但未形成完整存储直连方案 | 实际适用于视频采集、FPGA 直连,对 NVMe SSD 直连支持极为有限 | 生态碎片化,存储加速未形成气候 |
| Intel GPU 方案 | Intel Data Center GPU Max + 软件栈 | 截至 2024 年中,尚未发布对等 GDS 的存储直连方案,仍走传统路径 | 依赖 CPU,对 IO 密集场景有提升需求 | 开放标准,但存储直连空白 |
| DPU/计算存储卸载 | NVIDIA BlueField / NGD Systems 等计算型 SSD | 存储端处理部分逻辑,但数据流入 GPU 仍需经过网卡/DPU 和 PCIe | 可减少移动数据量,但与 GDS 方向不同 | 多种标准有待统一 |
上表可见,GPUDirect Storage 在 GPU 直连本地或 NVMe-oF 存储的细分领域几乎没有直接竞品,因此它实质上成为 AI 训练基础设施中的“唯一选项”。这种格局虽保障了用户体验的一致性,也引发了社区关于技术垄断的讨论。
风险
1. 技术锁定与供应商依赖 GDS 是 NVIDIA 私有生态的延伸,应用一旦深度绑定 cuFile API,便很难迁移到其他 GPU 平台。在各国愈发重视科技自主可控的背景下,这种锁定可能使数据中心面临供应链风险,尤其是在 GPU 出口管制收紧时(参考美国 2022—2023 年出口控制规则)。
2. 生态碎片化与标准缺位 NVMe、PCIe、CXL 等底层标准本身是开放的,但如何将其整合为“GPU 直连存储”并没有跨厂商的行业标准。一旦 AMD 或 Intel 推出各自不同的直连方案,ISV 和存储厂商需适配多套接口,增加了生态成本。
3. 成本集中与部署复杂性 支持 GDS 需要整套平台认证,包括特定厂商的 NVMe SSD、兼容的 PCIe 交换机和精心设计的拓扑。在超大规模部署中,散热、电源和信号完整性要求急剧上升,且维护人员需要额外技能,整体 TCO 可能被推高。
4. 应用局限性 GDS 对随机小 IO 密集、完全不可缓存的流式读取最为有效。对于计算密集且数据集可完全放入系统内存缓存的模型(例如某些小规模微调),GDS 带来的加速并不明显。同时,很多企业依赖的网络附加存储(NAS)或分布式文件系统需要上层缓存层配合,否则 GDS 难以直接加速。
5. 安全与隔离 允许 GPU 直接向 NVMe 发起 DMA 请求,实际上开辟了一条绕过 CPU 和 IOMMU 严格监管的路径。虽然 NVIDIA 和 Linux 社区加入了必要的访问控制,但在多租户云环境中,仍存在可能的侧信道或 DMA 攻击面,这是安全审计中需要持续关注的风险。
误读纠偏
误解 1:“开启 GDS 后所有存储访问都变快。” GDS 仅对通过 cuFile 进行本地 NVMe(或 NVMe-oF)的读写起效。普通的文件系统 API 调用、网络文件系统挂载(如 NFS),除非文件系统厂商主动适配,否则不会自动获得加速。
误解 2:“GDS 就是 GPU Direct RDMA 的另一个名字。” 两者完全不同。GPUDirect RDMA 主要用于 GPU 与网卡(以及远端 GPU)的直接数据交换,而 GPUDirect Storage 特指 GPU 与存储设备(SSD)的直接通信。两者可以共存,但解决的是不同链路的问题。
误解 3:“只要有 NVMe SSD 和 NVIDIA GPU,GDS 就直接能用。” 硬件需满足兼容性认证,且要求 BIOS 关闭 ACS 或配置合适的 ACS 策略,Linux 内核参数需要调整,NVMe SSD 驱动和固件也必须符合规范。此外,应用必须显式调用 cuFile 或依赖集成 GDS 的第三方库(如 TensorFlow 的某些自定义数据加载器),而不是自动替换所有 I/O。
误解 4:“GDS 消除了大内存的需求。” 虽然 GDS