Pollux improves scheduling performance in deep learning (DL) clusters by adaptively co-optimizing inter-dependent factors both at the per-job level and at the cluster-wide level. Most existing schedulers expect users to specify the number of resources for each job, often leading to inefficient resource use. Some recent schedulers choose job resources for users, but do so without awareness of how DL training can be re-optimized to better utilize the provided resources. Pollux simultaneously considers both aspects. By monitoring the status of each job during training, Pollux models how their goodput (a novel metric we introduce that combines system throughput with statistical efficiency) would change by adding or removing resources. Leveraging these information, Pollux dynamically (re-)assigns resources to improve cluster-wide goodput, while respecting fairness and continually optimizing each DL job to better utilize those resources. In experiments with real DL jobs and with trace-driven simulations, Pollux reduces average job completion times by 37-50% relative to state-of-the-art DL schedulers, even when they are provided with ideal resource and training configurations for every job. Pollux promotes fairness among DL jobs competing for resources based on a more meaningful measure of useful job progress, and reveals a new opportunity for reducing DL cost in cloud environments. Pollux is implemented and publicly available as part of an open-source project at https://github.com/petuum/adaptdl.
翻译:在深层学习(DL)群集中,Pollus通过在每职一级和整个组群一级适应性地共同优化各独立因素,改进了课程排程的绩效。大多数现有调度员期望用户为每项工作具体说明资源数量,这往往导致资源使用效率低下。最近的一些调度员为用户选择了工作资源,但没有意识到如何重新优化DL培训以更好地利用所提供的资源。Pollux同时考虑这两个方面。通过在培训中监测每项工作的状况,Pollux模型其优点(我们引入一种将系统通过产出与统计效率相结合的新指标)会如何通过增加或删除资源而改变。利用这些信息,Pollus动态(重新)指派资源来改进整个组的效益,同时尊重公平并不断优化每项DL工作,以便更好地利用这些资源。在实际的DL工作以及追踪模拟试验中,Pollux将平均完成工作的时间减少37-50 % 相对于最先进的DL调度员来说,即使它们提供理想的资源和培训的云式组合,也会通过增加资源和培训的公平性,使每个工作环境都以降低有用的工作成本。