Swing: Short-cutting Rings for Higher Bandwidth Allreduce

NSDI 2024
2024年01月17日
  • 简介
    本文介绍了一个名为Swing的新算法,它可以改善在分布式系统中运行的工作负载中allreduce集合操作的性能。其中一个影响其性能的因素是通信节点之间的距离,尤其是在类似于环形网的网络上,距离越远意味着多个消息会在同一链接上转发,从而降低了allreduce带宽。环形网广泛用于针对机器学习工作负载进行优化的系统上(例如Google TPU和Amazon Trainium设备),以及一些Top500超级计算机上。Swing算法通过在环形网方向之间摆动,保持通信节点之间的低距离来提高环形网上的allreduce性能。我们的分析和实验评估表明,Swing算法在不同类型的环形网和类似环形网的拓扑结构上,无论其形状和大小,对于大小在32B到128MiB之间的向量,都比现有的allreduce算法表现优异,性能提高了最多3倍。
  • 作者讲解
  • 图表
  • 解决问题
    Swing算法旨在解决在分布式系统中,allreduce集体操作的性能问题,特别是在torus网络中通信节点之间的距离对其性能的影响。
  • 关键思路
    Swing算法通过在torus方向之间摆动来保持通信节点之间的距离较小,从而提高allreduce的性能。
  • 其它亮点
    Swing算法在32B到128MiB的向量上优于现有的allreduce算法,无论torus和类似torus的拓扑结构的形状和大小如何。实验结果表明,Swing算法的性能比现有算法提高了最多3倍。
  • 相关研究
    与Swing算法相关的研究包括分布式系统中的allreduce算法研究,以及torus网络拓扑结构的优化研究。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问