4. Analysis of Large-Scale Multi-Tenant GPU Clusters for DNN Training Workloads
-
出处:2019 USENIX-TAC 大规模多租户GPU集群对DNN训练工作负载的分析
-
主要工作:描述了Microsoft中一个多租户GPU集群两个月的工作负载特征,研究影响多租户集群上DNN训练工作负载的集群利用率的三个问题:
- 队列调度和局部性约束对队列的影响。
- 局部性对GPU利用率的影响。
- 训练期间的故障问题。
-
介绍GPU集群Philly:
① 传入作业和排队:用户可指定GPU数量,调度器跟踪集群中所有空闲GPU,调度时首先考虑机架,然后考虑机架中可用GPU最多的服务器。
②作业放置和利用:将小作业打包到更少的服务器中来避免资源碎片。一旦作业被安排运行,它的GPU就不会与其他作业共享。
③训练进度和完成情况:有三种可能情况:passed:已完成;killed:被用户终止;unsuccessful:不成功。
- 工具:Apache-Yarn, 是一种新的Hadoop资源管理器,是一个通用资源管理系统 和调度平台,可以为上层应用提供统一的资源管理和调度。
- 展望:
- 局部性优先:缺乏局部性会影响利用率和作业运行时间。等待有限的时间来查看是否可以实现局部性,如果不能,则使用局部性宽松的可用资源来调度作业( 从而减少用户的排队时间)。
- 减轻干扰:将不同小作业放在专用服务器上,而不是打包到单个服务器,从而减少这些作业之间的干扰,但会增加碎片化。所以要支持作业迁移以对集群进行碎片整理。
- 改进故障处理:大量作业失败是由于代码或配置中的用户错误造成,语法检查可以放置许多错误,并且可以通过运行训练的第一次迭代来捕获一些运行时错误。