当前位置: 首页 > news >正文

ACCL和NCCL对比

阿里云的ACCL(Alibaba Cloud Collective Communication Library)是一个高性能的集合通信库,主要用于大规模分布式深度学习训练场景中的GPU间通信。它并非从零构建,而是在NVIDIA NCCL(NVIDIA Collective Communications Library)的基础上进行了深度优化和扩展,以更好地适应阿里云的硬件基础设施、网络环境和大规模训练需求。

以下是ACCL在NCCL基础上所做的主要工作和改进的详细总结与归纳:

一、核心定位与目标

ACCL的目标是在阿里云的异构基础设施上,提供比标准NCCL更高性能、更强稳定性、更好可扩展性和更优资源利用率的集合通信能力。它继承了NCCL在GPU通信领域的成熟设计,同时针对云环境的特点进行了定制化增强。


二、主要改进与增强方向

1. 网络栈深度优化与多协议支持

  • RDMA/ROCE支持增强

    • NCCL原生支持InfiniBand和RoCE(RDMA over Converged Ethernet),但在大规模云部署中,网络拓扑复杂,延迟和带宽波动较大。
    • ACCL对RoCE协议栈进行了深度调优,包括拥塞控制算法、PFC(Priority Flow Control)配置、DCQCN参数优化等,显著降低了长距离通信延迟,提升了高负载下的稳定性。
    • 在阿里云自研的高性能网络(如HCCN,High-Performance Cloud Computing Network)上,ACCL能更好地利用底层RDMA能力。
  • 融合以太网(Ethernet)与RDMA的混合通信路径

    • 在非RDMA或混合网络环境中,ACCL引入了基于TCP/UDP的高效通信路径,并结合零拷贝技术、用户态协议栈(如基于DPDK或eBPF)减少内核开销。
    • 实现了自适应通信路径选择,根据网络类型、拓扑、负载动态选择最优通信协议。

2. 拓扑感知与智能路由

  • 云环境拓扑感知

    • NCCL依赖于PCIe/CPU拓扑进行通信路径选择,但在云环境中,跨节点通信可能涉及复杂的虚拟化层、NUMA、SR-IOV、VPC网络等。
    • ACCL集成了阿里云的物理与逻辑拓扑信息,能够更精确地感知GPU之间的实际通信成本(如跨NUMA、跨Socket、跨机架、跨AZ等),从而优化AllReduce、AllGather等操作的通信树或环结构。
  • 动态拓扑调整

    • 支持运行时拓扑探测与动态调整,应对虚拟机迁移、网络波动等云环境常见问题。

3. 大规模集群下的可扩展性优化

  • 分层通信算法(Hierarchical Collectives)

    • 在数千卡甚至上万卡的训练场景中,ACCL采用更高效的分层AllReduce、AllGather等算法。
    • 例如:在节点内使用NCCL的ring或tree算法,在节点间采用基于参数服务器或分组通信的优化策略,减少跨节点通信开销。
  • 通信压缩与稀疏化支持(可选)

    • 虽然NCCL主要处理全量通信,ACCL可集成梯度压缩、稀疏通信等高级功能(通过插件或扩展接口),在特定场景下降低通信量。

4. 与阿里云基础设施深度集成

  • 与神龙架构(X-Dragon)协同优化

    • 神龙架构提供高性能虚拟化底座,ACCL利用其低延迟、高带宽的vSwitch和虚拟化I/O能力,减少通信路径中的虚拟化开销。
  • 与PAI平台(Platform for AI)无缝集成

    • ACCL作为阿里云PAI平台的底层通信库,与训练框架(如TensorFlow、PyTorch)、调度系统(如Kubernetes + Volcano)深度集成,支持自动配置、性能监控、故障诊断。
  • 支持多种硬件组合

    • 不仅支持NVIDIA GPU,还针对阿里云自研的含光NPU、倚天CPU等异构计算单元进行适配,提供统一的集合通信接口。

5. 性能监控与诊断能力增强

  • 细粒度性能 profiling

    • ACCL提供了比NCCL更详细的通信性能指标,如各阶段延迟、带宽利用率、重传次数、拥塞事件等,便于定位性能瓶颈。
  • 故障自愈与降级机制

    • 在网络抖动或节点异常时,ACCL支持通信路径切换、重试、降级到备用协议,提升训练任务的鲁棒性。

6. API兼容性与易用性

  • NCCL API 兼容

    • ACCL完全兼容NCCL的C/C++ API,用户无需修改代码即可替换NCCL,实现“无缝迁移”。
    • 同时提供扩展API,支持更高级的控制(如指定通信后端、设置QoS策略等)。
  • 自动配置与调优

    • 提供智能配置工具,根据集群规模、网络类型、GPU型号自动选择最优参数(如nthreads, max_rings, chunk_size等),降低用户调优门槛。

三、典型应用场景

  • 大规模语言模型(LLM)训练:如通义千问系列模型,在数千GPU上进行高效AllReduce。
  • 多租户AI训练集群:在共享资源环境下,通过QoS控制和隔离机制保障通信性能。
  • 跨地域/跨AZ训练:利用ACCL的广域网优化能力,支持地理分布式的协同训练。

四、总结对比(ACCL vs NCCL)

特性NCCLACCL
基础通信 PCIe, NVLink, InfiniBand, RoCE 在NCCL基础上增强RoCE、支持混合网络
拓扑感知 本地PCIe/CPU拓扑 云环境全局拓扑(物理+逻辑)
可扩展性 支持数百到数千卡 针对万卡级优化,分层通信
网络适应性 固定协议栈 自适应协议选择(RDMA/TCP/UDP)
云集成 通用 深度集成阿里云神龙、PAI、VPC等
监控诊断 基础性能计数 细粒度profiling与故障自愈
API兼容 标准API 兼容NCCL API + 扩展接口
易用性 需手动调优 提供自动配置与优化工具

五、结论

ACCL并非简单地“替代”NCCL,而是在NCCL的坚实基础上,针对阿里云的大规模、多租户、异构化、虚拟化的AI训练场景,进行系统性增强和定制化优化。它通过:

  • 网络协议栈优化
  • 拓扑感知与智能路由
  • 大规模可扩展性设计
  • 与云基础设施深度集成
  • 增强的监控与运维能力

实现了在阿里云环境下更高性能、更强稳定性和更好用户体验的集合通信能力,是支撑阿里云大模型训练的核心底层技术之一。

http://www.hskmm.com/?act=detail&tid=35929

相关文章:

  • 凌晨 2 点的朋友圈,她靠微擎实现了 “带娃赚钱两不误”
  • git pull中有 merge功能解释
  • 先收藏系列 工业相机的八问八答!
  • 2025年信息流代运营服务商权威推荐榜:专业投放策略与高转化效果深度解析,助力品牌精准营销
  • DeepSeek-MOE原理讲解
  • npm---查看镜像和更换镜像
  • 博弈树
  • 在一台机器上搭建一体化 Ceph 存储集群
  • byte,short,int,Long,char数据类型复习
  • 垃圾回收器总览
  • 软件工程第三次作业——结对项目
  • 2025年硅锰合金厂家推荐排行榜,硅锰合金颗粒,硅锰合金粉,高纯度硅锰合金材料源头厂家深度解析
  • PyCharm下载安装教程及激活步骤(附安装包)超详细保姆级教程
  • Windows下利用 Python OCR 识别电子发票(增值税专用发票)(使用 GhostScript 和 Tesseract )
  • 垃圾回收算法
  • 2025年臭氧检测仪厂家权威推荐榜:在线式/固定式/便携式/手持式/工业臭氧检测仪专业选购指南
  • 2025年拖鞋机厂家权威推荐榜:酒店拖鞋生产线,全自动拖鞋机,一次性拖鞋机,酒店一次性拖鞋机器专业选购指南
  • 生成式 AI 重构内容创作:从辅助工具到智能工厂 - 实践
  • 2025年不锈钢酸洗钝化液厂家推荐排行榜:环保型不锈钢清洗钝化液,不锈钢管酸洗钝化处理,不锈钢清洗剂专业选购指南
  • 达梦8加密函数是什么怎么调用,达梦数据库加密算法
  • 基于Windows,Docker用法
  • 厨房电子秤方案:厨房秤常规的功能有那些?
  • npx和npm exec有什么区别
  • MySQL 死锁 怎么处理?
  • MyBatis 的 @SelectProvider 是一个强大的注解,用于动态生成 SQL 语句
  • 跨境客服系统如何保障国际数据传输安全?
  • 物联网短信收发速成:10分钟用SMS库上手实战
  • 2025年耳机插座厂家权威推荐榜:DC防水耳机插座,专业防水防尘设计,耐用稳定性能卓越之选
  • 2025年10月18日,工信部人才交流中心PostgreSQL认证考试完成!
  • 2025年CNC加工厂家权威推荐榜:CNC精密加工/加工中心CNC/cnc电脑锣加工/铝板cnc加工/精密CNC加工源头企业综合评测