真正限制人工智能的,不是算力,而是谁拥有内存的主权
Hatched by Kevin Di
Aug 21, 2026
1 min read
0 views
95%
一台机器里的两个世界
为什么一块 GPU 的计算能力已经如此惊人,训练一个模型却仍然可能被网络、总线和内存拖慢?更令人不安的是:数据中心里最昂贵的设备,往往不是在计算,而是在等待数据抵达。
这个问题不能只用“带宽不够”来解释。带宽只是表面现象,真正的矛盾是:计算资源和数据资源分属不同的权力中心,而它们之间的交通规则并不由计算任务决定。
在单机内部,NVLink 3.0 的带宽可以达到 600GB/s。多机之间即使使用 400Gb/s 或 200Gb/s 网络,换算之后也只是几十 GB/s,而且还要经过协议栈、交换设备、网卡、内存访问和拓扑路径。对于一个需要频繁交换参数、激活值或梯度的人工智能任务来说,这不是简单的速度差,而是两个数量级不同的世界。
可以把它想象成一座工厂。GPU 是高速生产线,内部物料输送速度极快。可是当某种原料必须从隔壁工厂运来时,运输系统却从高速传送带变成了拥堵的公路。生产线越快,等待越显眼。计算能力的增长,反而会放大互联体系的缺陷。
因此,人工智能基础设施的核心竞争,不只是制造更强的处理器,而是决定数据能否以足够低的成本、足够短的路径、足够少的中间人抵达计算单元。
总线从来不只是技术,它也是权力
很多人把 PCIe 看作一种中性的接口标准,仿佛它只是设备之间共同遵守的插座规格。但接口的演进速度、权限分配和一致性模型,实际上会决定哪些设备能够成为系统的中心。
如果 CPU 仍然是所有数据交互的必经之路,那么 CPU 就不仅是一个处理器,还是整个系统的交通警察、内存管理员和地址空间裁判。任何加速器、SSD 或网络设备想要交换数据,都必须向它申请路径。这样的架构在早期非常合理,因为 CPU 是系统中最通用、最成熟的控制中心。但当 GPU 开始承担大规模计算时,旧秩序就出现了结构性冲突。
CUDA 从一开始就没有把 GPU 设计成 CPU 的被动附属品。GPU 拥有自己的私有内存,计算任务可以在 GPU 内部完成调度与内存分配。CPU 不再是每一个细节的管理者,而是在旁边出现了一个功能相对完整的“独立王国”。这与以 CPU 为中心的计算模型有本质区别。
于是,传统总线的限制变得格外尖锐。假设 GPU 内部可以以极高速度处理数据,但每次都要把数据送回 CPU,再从 CPU 转发出去,那么 GPU 的并行能力越强,CPU 这一道关口就越像收费站。系统的瓶颈不在某个芯片的峰值性能,而在于谁有权直接访问谁的内存。
NVIDIA 推出 NVLink,并持续发展 GPU Direct,本质上就是在争取这种直接访问权。GPU 之间可以通过专用互联交换数据,设备之间可以利用 PCIe peer to peer 进行直通,SSD 和网络设备也可以尝试绕过 CPU。这些技术的共同目标,不是让某个接口的数字更大,而是减少不必要的中转。
这揭示了一个经常被忽视的规律:所谓系统性能,常常取决于必须经过多少个“主人”。 数据每经过一个主控设备,就要面对一次地址转换、权限检查、缓存协调、协议处理和资源竞争。所谓旁路,真正旁路的不是某个芯片,而是中间的治理层。
速度差距背后的真正问题:内存主权
把问题进一步抽象,可以得到一个比“带宽”更有解释力的概念:内存主权。
内存主权指的是,一个计算单元是否能够直接、稳定且低成本地访问它所需要的数据,并决定数据放在哪里、何时迁移、如何保持一致。没有内存主权的加速器,即使拥有强大的算力,也可能只是一个等待数据的附属设备。
这个概念可以解释许多看似分散的技术现象。
第一,为什么 GPU 需要私有显存?因为通用内存的带宽、延迟和访问方式无法满足大规模并行计算。GPU 必须拥有自己的高速数据空间,才能让数千个线程持续工作。
第二,为什么需要 pin memory?因为普通主机内存可能被操作系统重新映射或换出,设备若要直接访问,就需要一种更稳定的地址承诺。所谓固定内存,本质上是 CPU 向设备让渡一部分内存管理权。
第三,为什么 GPU Direct 和 RDMA 如此重要?因为如果数据从存储设备进入 CPU 内存,再复制到 GPU,再从 GPU 复制到网络设备,每一次复制都意味着带宽消耗和延迟积累。直通技术试图让数据在设备之间直接流动,减少 CPU 作为中转站的存在感。
第四,为什么 CXL 的一致性设计值得警惕?它看起来像是对现有 PCIe 生态的自然扩展,但其关键选择是坚持以主机 CPU 为中心,并要求设备之间的数据交互通过主机内存完成。这种设计的优点是容易接入已有系统,能够利用成熟的设备和交换机生态,软件改造成本也相对可控。
但它同时意味着一种架构上的选择:一致性被优先定义为主机中心的一致性,而不是设备之间的自由协作。 设备可以更方便地接入系统,却未必更自由地建立自己的数据通道。
这不是说 CXL 必然不好,而是说任何互联协议都在回答一个政治问题:谁是系统的中心?谁掌握地址空间?谁负责一致性?谁可以绕过谁?技术规范只是把这些权力关系写成了工程规则。
最好的架构,不是消灭中心,而是让中心可以被选择
一个更有启发性的参照,是由 Power9、NVLink 和 GPU 共同构成的系统。在这种设计中,多个芯片可以拥有全球地址视图,并接近全一致地协作。GPU 不再只是拥有一块孤立显存的加速卡,CPU 和 GPU 可以相互访问对方的地址空间,程序甚至可以根据任务需要选择在 CPU 或 GPU 上执行,而不必把内存位置视为不可逾越的边界。
这带来的变化不只是编程便利,而是系统抽象的改变。
传统模型要求程序员先做出一系列地理决策:数据在哪块内存?哪个设备拥有它?什么时候复制?复制之后谁负责更新?如果数据在 CPU 和 GPU 之间移动,程序员还要承担同步和一致性的复杂性。计算逻辑被硬生生切成了多个区域,数据移动成为显式的工程负担。
更深层的模型则试图把“数据在哪里”和“计算在哪里”分离开来。一个 kernel 可以在 CPU 或 GPU 上执行,数据也可以位于不同的内存中,系统负责提供统一的地址和一致性语义。这样一来,程序员可以围绕任务本身进行优化,而不是围绕设备边界写程序。
当然,这种自由并不是免费的。全局地址、一致性协议、缓存管理和芯片间互联都需要复杂的硬件设计。为了协调 NVLink 与内部 SMP,系统还需要额外的管理模块。架构越自由,维护这种自由的成本越高。
所以真正的问题不是“CPU 中心”还是“GPU 中心”,而是能否建立一种可选择的中心性。在控制流复杂、分支多、操作系统参与度高的任务中,CPU 可能是更好的中心。在大规模矩阵运算中,GPU 可能更适合主导数据流。在训练集群中,网络设备和存储设备也可能需要直接参与数据交换。
理想的系统不是让所有设备平等地争夺一切,而是让任务能够根据数据流特征动态选择中心,并在不必要时绕过中心。
下一代计算机的关键,不是把所有设备做成同一种设备,而是让数据不必为了服从设备等级而反复搬家。
从追逐峰值带宽,转向设计数据的自由度
这对人工智能基础设施的设计有什么实际含义?首先,不能只看芯片峰值算力,也不能只看网卡标称带宽。更重要的是观察一次真实数据流需要穿越多少层边界。
可以建立一个简单的“数据摩擦”模型:
数据摩擦 = 复制次数 × 路径长度 × 一致性成本 × 等待概率
复制次数越多,浪费的带宽越多。路径越长,延迟越高。参与一致性的主体越多,协调成本越大。共享资源越拥堵,理论带宽转化为有效带宽的比例越低。
例如,一批训练数据从 SSD 进入 GPU,可能经历以下路径:SSD 到主机内存,主机内存到 GPU 显存,GPU 计算结果回到主机内存,再由网卡发送到其他节点。若能通过直接存储访问、设备间直通和 RDMA 减少中间步骤,系统即使不增加任何 GPU,也可能获得显著收益。
其次,拓扑必须成为软件可见的设计变量。两块 GPU 之间的距离、是否共享 NVLink、是否跨 NUMA 节点、是否需要经过 PCIe 交换机,都会影响实际性能。一个调度器如果只知道“这台服务器有八块 GPU”,却不知道 GPU 之间的连接关系,就像物流系统只知道仓库数量,却不知道道路是否相通。
再次,评估互联技术时要区分三种带宽:峰值带宽、可持续带宽和任务有效带宽。峰值带宽是广告数字,可持续带宽反映硬件在长时间传输中的能力,而任务有效带宽还要扣除协议、同步、竞争、复制和等待带来的损失。人工智能任务真正关心的是最后一种。
最后,架构选择必须考虑生态的锁定效应。一个协议越兼容现有设备,越容易快速普及;但它也可能把旧的中心性带入新的系统。一个专用互联越接近理想的数据流,越可能获得高性能;但它也可能因为需要特殊主板、特殊芯片和特殊软件而难以扩展。
这不是简单的开放与封闭之争,而是两种不同的时间尺度:通用接口优化的是生态的即时扩张,专用互联优化的是系统的长期效率。真正成熟的设计,往往需要在二者之间建立分层结构,而不是幻想一种接口解决所有问题。
Key Takeaways
- 不要只问设备有多少算力,要问数据抵达设备需要经过多少次复制和中转。 优化路径,通常比继续堆叠峰值性能更快见效。
- 把内存主权纳入架构评估。 重点检查 GPU、SSD、网卡和其他加速器是否能够直接访问所需数据,以及这种访问是否需要 CPU 介入。
- 将拓扑信息交给调度器和应用。 识别 NVLink、PCIe 交换机、NUMA 和跨节点路径,避免把高通信量任务放在物理距离最远的设备之间。
- 区分峰值带宽与任务有效带宽。 用真实工作负载测量复制、同步、协议和拥塞之后的结果,不要让标称数字替代系统测试。
- 警惕接口的隐含中心性。 每一次一致性规则和地址空间设计,都会决定谁拥有数据、谁负责协调,以及哪些设备能够绕过谁。
人工智能时代最容易被误解的事实是:算力越强,计算机就越像一台更快的机器。实际上,算力增长正在把计算机变成一张更加复杂的数据流网络。处理器只是节点,内存是领土,互联协议则是边界和道路。
因此,未来最有价值的系统设计,未必是让某个节点拥有绝对中心地位,而是让数据可以在必要时拥有更大的迁徙自由。谁能减少无意义的搬运,谁能让设备在适当的时候直接协作,谁能把一致性成本控制在真正需要的地方,谁就更接近下一代计算的核心。
真正的性能革命,往往不是让工厂生产得更快,而是让原料不再被迫绕路。
Sources
Hatch New Ideas with Glasp AI 🐣
Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)
Start Hatching 🐣