{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/optimus-an-efficient-dynamic-resource","title":"Optimus: An Efficient Dynamic Resource Scheduler for Deep Learning Clusters","arxiv_id":null,"date":"2018-04-26","proceeding":"EuroSys 2018 4","authors":["Yanghua Peng"],"abstract":"Deep learning workloads are common in today’s production clusters due to the proliferation of deep learning-driven AI services\r\n(e.g., speech recognition, machine translation). A deep learning\r\ntraining job is resource-intensive and time-consuming. Efficient\r\nresource scheduling is the key to the maximal performance of a\r\ndeep learning cluster. Existing cluster schedulers are largely not tailored to deep learning jobs, and typically specifying a fixed amount\r\nof resources for each job, prohibiting high resource efficiency and\r\njob performance. This paper proposes Optimus, a customized job\r\nscheduler for deep learning clusters, which minimizes job training\r\ntime based on online resource-performance models. Optimus uses\r\nonline fitting to predict model convergence during training and\r\nsets up performance models to accurately estimate training speed\r\nas a function of allocated resources in each job. Based on the models,\r\na simple yet effective method is designed and used for dynamically\r\nallocating resources and placing deep learning tasks to minimize\r\njob completion time. We implement Optimus on top of Kubernetes,\r\na cluster manager for container orchestration, and experiment on a\r\ndeep learning cluster with 7 CPU servers and 6 GPU servers, run\u0002ning 9 training jobs using the MXNet framework. Results show that\r\nOptimus outperforms representative cluster schedulers by about\r\n139% and 63% in terms of job completion time and makespan, respectively","url_abs":"https://dl.acm.org/doi/abs/10.1145/3190508.3190517","url_pdf":"https://dl.acm.org/doi/abs/10.1145/3190508.3190517","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"optimus-an-efficient-dynamic-resource","repo_url":"https://github.com/pengyanghua/optimus","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mxnet","reach":null}],"tasks":[{"task_slug":null,"task_name":"CPU"},{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"machine-translation","task_name":"Machine Translation"},{"task_slug":"scheduling","task_name":"Scheduling"},{"task_slug":"speech-recognition","task_name":"Speech Recognition"},{"task_slug":"speech-recognition-1","task_name":"speech-recognition"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}