在 Linux 内核邮件列表LKML的历史中很少有一场讨论能像 2021 年关于dma_buf_pin的争论那样集结了 NVIDIA、AMD、Intel、Mellanox 以及 DRM 子系统的所有顶级维护者。这场对话不仅决定了 EFA 网卡与 Habanalabs AI 加速器如何通信更定义了高性能计算HPC与通用操作系统General Purpose OS在 AI 时代的权力边界。一、 背景EFA 与 Habanalabs 的“握手”难题故事始于 Amazon EFA 网卡的工程师 Gal Pressman 提交的一个补丁。他希望通过dma-buf框架让网卡直接访问 Habanalabs AI 加速器的显存P2P DMA。矛盾点在于RDMA 网卡要求内存物理地址固定Pinned否则数据传输中内存一旦挪窝硬件就会崩盘。通用 GPU 驱动如 AMD/Intel要求内存可移动Evictable以便进行显存碎片整理或处理多个应用的显示需求。二、 核心博弈四方势力的哲学碰撞1. 稳健派Christian König (AMD) Dave Airlie (DRM 掌门人)核心观点Pin 是“毒药”安全性与隔离性高于一切。Christian 和 Dave 极力反对在 API 层面允许无限制的dma_buf_pin。他们的理由是系统稳定性一旦内存被 Pin 住内核就失去了调度的灵活性。如果一个恶意进程锁死了所有显存整个 GPU 甚至操作系统都会因为-ENOMEM内存不足而崩溃。反“企业思维”Dave 辛辣地讽刺道“不考虑多用户并发是典型的‘企业思维’。”内核必须保护普通桌面用户不能为了 AI 服务器的性能就毁掉系统的通用性。2. 性能派John Hubbard (NVIDIA)核心观点性能是第一生产力API 不应预设限制。John 代表 NVIDIA 捍卫了高性能路径搬运代价如果为了安全强制将 Pin 住的显存搬到系统内存P2P 的带宽优势将荡然无存。中立性他要求dma_buf_pinAPI 保持中立。驱动可以决定是否搬运但 API 不能强制要求搬运。3. 实用主义Jason Gunthorpe (RDMA/VFIO 维护者)核心观点机制与策略分离GPU 并不特殊。Jason 提出了一个降维打击的逻辑现成工具内核早就有ulimit用户限额来管理内存锁定。既然能管好系统内存为什么管不好显存打脸 ODP他指出 ODP按需分页虽然优雅但性能损耗大、硬件支持少在可预见的未来Pin 依然是高性能计算的刚需。4. 极致狂热派Oded Gabbay (Habanalabs/Intel AI)核心观点AI 芯片不是 GPU它是性能怪兽。Oded 的发言揭示了 AI 训练的冷酷现实单用户独占在 128 颗 AI 芯片组成的集群里不存在“多用户竞争”。芯片存在的唯一目的就是锁死所有 HBM显存跑任务。拒绝限制他认为在 AI 领域任何限制内存锁定的“旋钮Knob”都是对性能的阻碍。三、 技术定论三权分立的 P2P 架构经过多轮火星四溅的辩论社区最终达成了一套“求同存异”的方案这成为了今天 Linux 处理异构计算的基石1. 驱动自治原则内核不再强制规定pin操作必须搬运内存。计算卡如 Gaudi/NVIDIA 计算模式可以在显存内原地锁定支持最高速的 P2P。通用 GPU如 AMD APU可以继续执行“Pin 就搬家”的策略确保显示输出的稳定性。2. 管理权下放引入或复用ulimit和cgroups。内核提供机制Mechanism允许 Pin。管理员决定策略Policy通过配额限制谁能 Pin、能 Pin 多少。3. ODP 是未来Pin 是现实社区承认 ODP 是解决内存动态移动的最优雅方案长远目标但在硬件普及和性能优化完成前dma_buf_pin将作为高性能 P2P 的标准路径被长期支持。四、 总结对我们的启示这场讨论向我们展示了 Linux 内核是如何在极致性能、硬件局限与架构纯粹性之间走钢丝的没有 Jason 的坚持高性能 P2P 可能会因为过于死板的 API 语义而胎死腹中。没有 Christian 的挑战Linux 可能会因为过度放权给硬件驱动而变得脆弱不堪。
深度:Linux 内核顶级大咖的博弈——性能、安全与 AI 时代的 P2P DMA 宪章
在 Linux 内核邮件列表LKML的历史中很少有一场讨论能像 2021 年关于dma_buf_pin的争论那样集结了 NVIDIA、AMD、Intel、Mellanox 以及 DRM 子系统的所有顶级维护者。这场对话不仅决定了 EFA 网卡与 Habanalabs AI 加速器如何通信更定义了高性能计算HPC与通用操作系统General Purpose OS在 AI 时代的权力边界。一、 背景EFA 与 Habanalabs 的“握手”难题故事始于 Amazon EFA 网卡的工程师 Gal Pressman 提交的一个补丁。他希望通过dma-buf框架让网卡直接访问 Habanalabs AI 加速器的显存P2P DMA。矛盾点在于RDMA 网卡要求内存物理地址固定Pinned否则数据传输中内存一旦挪窝硬件就会崩盘。通用 GPU 驱动如 AMD/Intel要求内存可移动Evictable以便进行显存碎片整理或处理多个应用的显示需求。二、 核心博弈四方势力的哲学碰撞1. 稳健派Christian König (AMD) Dave Airlie (DRM 掌门人)核心观点Pin 是“毒药”安全性与隔离性高于一切。Christian 和 Dave 极力反对在 API 层面允许无限制的dma_buf_pin。他们的理由是系统稳定性一旦内存被 Pin 住内核就失去了调度的灵活性。如果一个恶意进程锁死了所有显存整个 GPU 甚至操作系统都会因为-ENOMEM内存不足而崩溃。反“企业思维”Dave 辛辣地讽刺道“不考虑多用户并发是典型的‘企业思维’。”内核必须保护普通桌面用户不能为了 AI 服务器的性能就毁掉系统的通用性。2. 性能派John Hubbard (NVIDIA)核心观点性能是第一生产力API 不应预设限制。John 代表 NVIDIA 捍卫了高性能路径搬运代价如果为了安全强制将 Pin 住的显存搬到系统内存P2P 的带宽优势将荡然无存。中立性他要求dma_buf_pinAPI 保持中立。驱动可以决定是否搬运但 API 不能强制要求搬运。3. 实用主义Jason Gunthorpe (RDMA/VFIO 维护者)核心观点机制与策略分离GPU 并不特殊。Jason 提出了一个降维打击的逻辑现成工具内核早就有ulimit用户限额来管理内存锁定。既然能管好系统内存为什么管不好显存打脸 ODP他指出 ODP按需分页虽然优雅但性能损耗大、硬件支持少在可预见的未来Pin 依然是高性能计算的刚需。4. 极致狂热派Oded Gabbay (Habanalabs/Intel AI)核心观点AI 芯片不是 GPU它是性能怪兽。Oded 的发言揭示了 AI 训练的冷酷现实单用户独占在 128 颗 AI 芯片组成的集群里不存在“多用户竞争”。芯片存在的唯一目的就是锁死所有 HBM显存跑任务。拒绝限制他认为在 AI 领域任何限制内存锁定的“旋钮Knob”都是对性能的阻碍。三、 技术定论三权分立的 P2P 架构经过多轮火星四溅的辩论社区最终达成了一套“求同存异”的方案这成为了今天 Linux 处理异构计算的基石1. 驱动自治原则内核不再强制规定pin操作必须搬运内存。计算卡如 Gaudi/NVIDIA 计算模式可以在显存内原地锁定支持最高速的 P2P。通用 GPU如 AMD APU可以继续执行“Pin 就搬家”的策略确保显示输出的稳定性。2. 管理权下放引入或复用ulimit和cgroups。内核提供机制Mechanism允许 Pin。管理员决定策略Policy通过配额限制谁能 Pin、能 Pin 多少。3. ODP 是未来Pin 是现实社区承认 ODP 是解决内存动态移动的最优雅方案长远目标但在硬件普及和性能优化完成前dma_buf_pin将作为高性能 P2P 的标准路径被长期支持。四、 总结对我们的启示这场讨论向我们展示了 Linux 内核是如何在极致性能、硬件局限与架构纯粹性之间走钢丝的没有 Jason 的坚持高性能 P2P 可能会因为过于死板的 API 语义而胎死腹中。没有 Christian 的挑战Linux 可能会因为过度放权给硬件驱动而变得脆弱不堪。