Skip to main content
QUICK REVIEW

[论文解读] Blink: Fast and Generic Collectives for Distributed ML

Guanhua Wang, Shivaram Venkataraman|arXiv (Cornell University)|Oct 11, 2019
Stochastic Gradient Optimization Techniques被引用 20
一句话总结

Blink 是一个高性能、拓扑感知的分布式机器学习集体通信库,通过生成 spanning tree packing 来动态构建最优通信原语,以最大化异构 GPU 互连(如 NVLink 和 PCIe)的链路利用率。与 NCCL 相比,它在异构或部分分配的 GPU 环境中,可实现高达 8 倍的模型同步速度提升,并将端到端训练时间减少最多 40%。

ABSTRACT

Model parameter synchronization across GPUs introduces high overheads for data-parallel training at scale. Existing parameter synchronization protocols cannot effectively leverage available network resources in the face of ever increasing hardware heterogeneity. To address this, we propose Blink, a collective communication library that dynamically generates optimal communication primitives by packing spanning trees. We propose techniques to minimize the number of trees generated and extend Blink to leverage heterogeneous communication channels for faster data transfers. Evaluations show that compared to the state-of-the-art (NCCL), Blink can achieve up to 8x faster model synchronization, and reduce end-to-end training time for image classification tasks by up to 40%.

研究动机与目标

  • 解决由于硬件异构性和部分 GPU 分配导致的大规模数据并行 DNN 训练中日益严重的通信瓶颈问题。
  • 克服基于环形协议(如 NCCL)的局限性,这些协议因依赖环中最慢的链路而无法充分利用高带宽链路(如 NVLink)。
  • 在多 GPU 服务器和动态集群调度环境中,实现对异构互连(NVLink、PCIe)的最优利用。
  • 设计一种通用、可扩展且自适应的通信库,可在无需预先知晓拓扑信息的情况下支持多种网络拓扑。
  • 通过最大化链路利用率并减少分布式深度学习工作负载中的同步开销,最小化端到端训练时间。

提出的方法

  • 通过打包生成 spanning tree 来动态构建通信原语,以最大化异构 GPU 互连(NVLink 和 PCIe)的链路利用率。
  • 使用一种最小化 spanning tree 数量的树打包算法,同时确保所有 GPU 之间的全连通性与负载均衡。
  • 将通信网络建模为加权图,其中边的权重代表带宽,并应用优化方法选择能够最大化聚合吞吐量的树。
  • 通过为更快的链路(如 NVLink 相较于 PCIe)分配更高优先级的通信路径,扩展框架以支持异构通道。
  • 支持节点内和节点间通信,能够自动适应不同的网络拓扑和部分 GPU 分配情况。
  • 通过轻量级 API 与现有深度学习框架集成,透明地加速 AllReduce 和 Broadcast 等集体操作。

实验结果

研究问题

  • RQ1通信库能否在实时环境中动态生成充分利用异构 GPU 互连(如 NVLink 和 PCIe)的最优通信模式?
  • RQ2与基于环形的协议(如 NCCL)相比,Blink 的生成树打包方法在端到端训练速度和链路利用率方面表现如何?
  • RQ3在拓扑异构性常见的部分分配 GPU 集群中,Blink 能在多大程度上减少同步开销?
  • RQ4Blink 在具有不同节点间带宽的多节点 DGX 系统中如何扩展?
  • RQ5Blink 是否能在无需手动调优的情况下,在不同硬件代际(如 DGX-1P 与 DGX-1V)之间保持高性能?

主要发现

  • 在多 GPU 异构环境中,Blink 相较于 NCCL 实现了高达 8 倍的模型同步速度提升。
  • 在图像分类训练工作负载中,Blink 相较于 NCCL 将端到端训练时间减少了最多 40%。
  • Blink 通过动态打包 spanning tree 实现了接近最优的链路利用率,避免了基于环形协议的带宽瓶颈。
  • 即使在基于环形协议被迫使用较慢链路(如 PCIe)的情况下,Blink 仍能通过优先使用 NVLink 等高速链路保持高吞吐量。
  • 在多 DGX-1 配置中,Blink 随着节点间带宽的增加而表现出良好的可扩展性,优于受节点内 PCIe 带宽限制的 NCCL。
  • 随着节点间带宽的提升,Blink 的性能优势愈发显著,表明其在未来的高带宽集群中具有强大潜力。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。