Logo image
Dragon: A dynamic scheduling and scaling controller for managing distributed deep learning jobs in Kubernetes cluster
Conference paper

Dragon: A dynamic scheduling and scaling controller for managing distributed deep learning jobs in Kubernetes cluster

Chan-Yi Lin, Ting-An Yeh and Jerry Chou
CLOSER 2019 - Proceedings of the 9th International Conference on Cloud Computing and Services Science, pp.569-577
2019

Abstract

Autoscaling Deep Learning Deep Learning Job Scheduling Resource Orchestration Computer Science (miscellaneous) Computer Science Applications
With the fast growing trend in deep learning driven AI services over the past decade, deep learning, especially the resource-intensive and time-consuming training jobs, have become one of the main workload in today’s production clusters. However, due to the complex workload characteristics of deep learning, and the dynamic natural of shared resource environment, managing the resource allocation and execution lifecycle of distributed training jobs in cluster can be challenging. This work aims to address these issues by developing and implementing a scheduling and scaling controller to dynamically manage distributed training jobs on a Kubernetes (K8S) cluster, which is a broadly used platform for managing containerized workloads and services. The objectives of our proposed approach is to enhance K8S with three capabilities: (1) Task dependency aware gang scheduling to avoid idle resources. (2) Locality aware task placement to minimize communication overhead. (3) Load aware job scaling to improve cost efficiency. Our approach is evaluated by real testbed and simulator using a set of TensorFlow jobs. Comparing to the default K8S scheduler, our approach successfully improved resource utilization by 20% ∼ 30% and reduced job elapsed time by over 65%.

Metrics

1 Record Views

Details

Logo image