NIXL 通信库解析

GitHub:https://github.com/ai-dynamo/nixl

1. 背景

  1. 在大规模分布式推理系统中,使用 模型并行(如 Tensor Parallelism、Pipeline Parallelism、MoE expert parallelism)时,KV cache 和中间激活信息需要在多个 GPU/节点之间频繁传输,这些技术依赖于节点间和节点内、低延迟、高吞吐量的通信;

  2. Prefill(预填充)阶段和 Decode(解码)阶段的 GPU 运行在不同设备上,它们之间也需要高效传输 KV Cache。



2. NIXL 是什么?

NVIDIA Inference Transfer Library (NIXL) 是 NVIDIA 提供的一个专门为推理优化的通信库,目标是 高吞吐、低延迟,并 屏蔽底层硬件差异

在一个复杂的分布式系统中,设备可能使用不同类型的内存网络NIXL 的优势

  1. 将所有存储都抽象为 "memory segments"(内存段),不管底层是 HBM、DRAM、SSD、对象存储,它都统一视为“内存的一部分”,实现 透明传输和调用;

  2. 抽象了底层差异,提供统一的接口,支持不同的网络协议(如 NVLink、InfiniBand、RoCE、Ethernet)

  3. 可以在 GPU、主存、文件系统、远程存储之间高效移动数据

总结:NIXL 是专为大规模推理系统设计的数据传输库,支持在异构内存和存储之间高效、低延迟、非阻塞的数据移动,具备跨设备、跨协议、跨存储层的抽象能力。



补充:存储技术可以按照数据保存的持久性分为两大类:

存储技术
│
├─ 易失性存储 (断电数据丢失)
│ ├─ SRAM (静态随机存取存储器)
│ └─ DRAM 家族 (动态随机存取存储器)
│ ├─ 传统DRAM
│ ├─ SDRAM (同步动态随机存取存储器)
│ ├─ DDR SDRAM (双倍数据率SDRAM)
│ │ ├─ DDR1/2/3/4/5
│ │ └─ LPDDR (低功耗DDR)
│ └─ HBM (高带宽内存)
│
└─ 非易失性存储 (断电数据保留)
├─ ROM 家族 (只读存储器)
│ ├─ 掩膜ROM
│ ├─ PROM (可编程ROM)
│ ├─ EPROM (可擦除可编程ROM)
│ └─ EEPROM (电可擦除可编程ROM)
│
├─ Flash 家族
│ ├─ NOR Flash
│ └─ NAND Flash
│
└─ 新型非易失存储
├─ eMMC (嵌入式多媒体卡)
├─ SSD (固态硬盘)
└─ UFS (通用闪存存储)

3. NIXL 架构

  1. 用户通过 NIXL API 发起 Post Request,请求处理完后,通过该 API 返回 Request Completion
  2. NIXL Core 包含 Metadata(元数据) 和 Memory(数据缓冲区)
  3. Backend API 提供与各种后端的通信接口,支持 UCX、GDS、S3、Custom Backend
    1. UCX(Unified Communication X),跨节点 GPU/GPU 通信,支持 RDMA、InfiniBand、RoCE
    2. GDS(GPUDirect Storage),是 NVIDIA 提出的 GPU ↔ 存储设备 之间的 直接数据通路,绕过 CPU 和主存,零拷贝,低延迟
    3. S3(Simple Storage Service),云对象存储,可访问云/远程对象数据
  4. 数据从 NIXL Core 中的 Memory 发出给各种异构存储设备:DRAM、HBM、File(本地或远程文件系统)、Obj(Object Storage)对象存储系统



NIXL 特点总结:

  • 统一通信 API:跨不同网络协议(如 InfiniBand、RoCE、NVLink)和存储类型,提供统一的接口

  • 支持异构内存和存储:无需关心数据当前在哪里(HBM、DRAM、SSD、对象存储等),NIXL 负责调度和高效传输

  • 高吞吐、低延迟:支持 非阻塞非连续(non-contiguous) 的内存传输,实现 KV cache 的快速传输

style="display: none !important;">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值