VCCL

3个月前发布 189 00

VCCL 是一款面向 GPU 的集合通信库,提供 all-reduce、all-gather、reduce、broadcast、reduce-scatter 以及通用 send/recv 通信原语。兼容 PCIe、NVLink、NVSwitch,并支持通过 InfiniBand Verbs 或 TCP/IP 套接字进行跨节点通信;适配单机...

所在地:
中国
收录时间:
2025-09-22
其他站点:

由基流科技联合东南大学、上海创智学院、北京航空航天大学、清华大学、智普AI及中国联通研究院共同研发,VCCL(Virtualized Collective Communication Library)是一款专为现代 GPU 训练集群设计的高性能集合通信库

VCCL

它支持主流集合通信原语,包括 all-reduceall-gatherreducebroadcastreduce-scatter,以及通用的 send/recv 接口,兼容 PCIe、NVLink 和 NVSwitch 架构,可通过 InfiniBand Verbs 或 TCP/IP 套接字实现跨节点通信,适用于单机或多机环境下的多进程(如 MPI)或单进程应用。

基于长期在千亿参数级大模型训练场景中的实践经验,团队针对现有通信库(如 NCCL)在效率、可用性与可观测性方面的瓶颈,提出了系统性优化方案。VCCL 以三大核心能力——高效率、高可用、高可视——重新定义了分布式 GPU 间的通信体验。

为什么需要新的通信库?

在实际的大规模 LLM 训练中,我们发现传统通信库存在三类典型问题:

  1. P2P 调度效率低:GPU 上大量 SM 资源被用于通信任务调度,影响计算吞吐;
  2. 容错能力弱:网卡端口或交换机瞬时故障易导致训练中断,恢复成本高;
  3. 缺乏细粒度监控手段:难以捕捉毫秒甚至微秒级的通信抖动,调优困难。

这些问题直接影响训练稳定性与算力利用率。为此,我们开发了 VCCL,目标是构建一个更贴近生产需求的通信基础设施。

注:本文所述 VCCL 前身为 ICCL(Infrawaves Collective Communication Library),现统一命名为 VCCL,代码已开源并在多个生产集群稳定运行数月。

核心技术特性

1. 高效率:DPDK-Like 的 P2P 调度机制

受 DPDK 在用户态网络数据面优化的启发,VCCL 将部分通信调度逻辑从 GPU 卸载至 CPU 线程处理,形成“类 DPDK”的点对点通信路径。

传统模式的问题:

  • CUDA 运行时需预留约 20 个 SM 执行通信控制(以 H800 为例);
  • 数据通路涉及多次内存拷贝和内核态切换,带来延迟开销。

VCCL 的解决方案:

  • 利用 CPU 多线程接管 P2P 操作的发起与管理;
  • 结合零拷贝技术和页锁定内存(pinned memory),减少数据移动;
  • 实现全局工作流负载均衡(Pipeline Parallelism-aware Scheduling),降低 GPU 等待时间。

效果验证:在千亿参数 Dense 模型训练中,整网算力利用率相比当前主流方案提升约 2%(可复现实验环境,详见示例文档)。这意味着相同硬件条件下,单位时间内完成更多迭代。

当前版本暂未支持运行时容错与遥测热更新,相关功能正在开发中。

2. 高可用:轻量级链路容错机制

频繁发生的 NIC(网络接口卡)端口异常是训练中断的主要诱因之一。VCCL 引入主备队列对(Primary-Backup QP)机制,在不显著增加资源开销的前提下提升系统韧性。

工作机制:

  • 每条通信链路预创建主 QP 与备用 QP;
  • 监控底层 RDMA 链路状态,检测到失败后自动切换至备用路径;
  • 故障恢复后支持无感切回主路径,无需重启训练任务。

实际表现:

  • 在模拟 NIC Down 场景下,整体训练中断率下降超过 50%;
  • 故障期间仍可维持 76.6% 的原始通信吞吐,有效防止梯度同步崩溃。

该机制尤其适用于部署密度高、网络拓扑复杂的超大规模集群。

3. 高可视:微秒级流量观测能力

调试分布式训练性能瓶颈时,传统工具往往只能提供秒级统计,无法捕获瞬态拥塞或短时丢包事件。

VCCL 内建基于滑动窗口的 Flow Telemetry 模块,利用 RDMA 工作请求(WR)与完成通知(WC)的时间戳信息,实现 O(µs) 精度的通信行为追踪。

功能特点:

  • 支持 per-rank、per-link 的实时带宽与延迟监测;
  • 可识别突发性背压(backpressure)、队头阻塞(head-of-line blocking)等现象;
  • 输出结构化指标,便于集成进现有运维平台。

这一能力显著提升了研发人员对通信性能的洞察力,加速问题定位与参数调优。

性能对比与实测结果

我们在多个生产级训练集群中部署 VCCL,并与 NCCL 进行横向对比测试,关键指标如下:

指标提升幅度
P2P 吞吐量+23.4%
P2P 延迟-28.5%
端到端训练吞吐量+6.02%
故障恢复成功率>99%
链路切换耗时<50ms

特别是在 All-to-All 类型通信密集的 MoE 架构训练中,VCCL 表现出更强的扩展性优势。

此外,VCCL 完全兼容主流框架(PyTorch、DeepSpeed、Megatron-LM),仅需少量配置即可接入现有训练流程。

开源进展与未来规划

目前,VCCL 已完成核心模块开发并在 GitHub 开源,欢迎社区贡献与反馈。

下一步重点方向包括:

  • 支持动态拓扑感知调度
  • 增强 telemetry 数据聚合与可视化
  • 实现异构设备间(如不同代 GPU)的自适应通信策略
  • 探索与 RDMA 自适应路由(Adaptive Routing)的深度协同

数据统计

相关导航

暂无评论

none
暂无评论...