Cassini_Network-Aware Job Schedulingin Machine Learning Clusters
这篇论文介绍了CASSINI,一种用于机器学习(ML)集群的网络感知作业调度器。
研究背景
- 背景介绍:
这篇文章的研究背景是深度学习数据集和模型规模的不断增长,对高效GPU集群的需求日益增加。分布式机器学习训练工作负载的通信开销占据了训练迭代时间的很大一部分,而现有的ML调度器往往忽略了ML训练作业的通信模式。 - 研究问题:
该问题的研究目标是开发一种简单而有效的方法,能够在网络链路中高效地放置多个ML作业,同时最小化网络拥塞的可能性。 - 相关工作:
该问题的研究相关工作包括Gandiva、Themis、Pollux、Tiresias、Shockwave和Optimus等调度器,这些调度器通过智能调度技术减少通信开销,但未考虑不同训练作业之间的通信模式交错。
研究方法
这篇论文提出了CASSINI,一种网络感知的作业调度方法。具体来说:
- 几何抽象:
CASSINI引入了一种新颖的几何抽象,考虑不同作业的通信模式。通过使用亲和图找到一系列时间偏移值来调整一组作业的通信阶段,使得共享同一网络链路的作业的通信模式相互交错。 - 亲和图:
CASSINI使用一个二分亲和图,其顶点是作业和链路的子集。亲和图的边表示一个作业正在遍历一个链路。通过亲和图,CASSINI找到所有作业的唯一时间偏移值,同时保持它们在所有链路上的兼容性。 - 优化公式:
CASSINI使用优化公式来确定旋转角度,使得共享链路的作业的带宽需求最小化。公式如下:
其中,Cl 是链路的总容量。
实验设计
- 实验设置:
作者构建了一个包含24台服务器的测试平台,每台服务器配备一个NVIDIA A100 GPU和一个50 Gbps RDMA NIC。实验使用了13种代表性的DNN模型,包括VGG11、VGG16、VGG19、ResNet50、WideResNet101、BERT、RoBERTa、XLM、CamemBERT、GPT-1、GPT-2、GPT-3和DLRM。 - 并行化策略:
使用数据并行训练VGG、ResNet和BERT家族的模型,使用混合数据/模型并行训练DLRM和GPT家族的模型。
结果与分析
- 性能提升:
实验结果表明,与现有的ML调度器相比,CASSINI在平均和尾部完成时间上分别提高了1.6倍和2.5倍。此外,CASSINI减少了集群中ECN标记的数据包数量多达33倍。 - 减少拥塞:
CASSINI通过减少网络拥塞,显著提高了训练迭代时间。实验显示,CASSINI在动态负载下,平均和99th百分位尾迭代时间分别提高了1.5倍和2.2倍。
结论
CASSINI是一种简单而有效的方法,能够与现有的集群调度器集成,以适应多个ML作业的网络需求。通过引入兼容性评分指标,CASSINI在多个实验中展示了其在减少训练时间和网络拥塞方面的有效性。研究表明,CASSINI在平均和尾部完成时间上分别提高了1.6倍和2.5倍,并减少了ECN标记的数据包数量多达33倍。
这篇论文通过创新的几何抽象和亲和图方法,为ML集群中的作业调度提供了一个新的解决方案。