Closed msyhu closed 3 years ago
딥러닝은 수백만의 반복으로 이루어지며, 각각의 반복에서는 mini-batch 라고 불리는 몇 개의 샘플을 처리한다. 딥러닝 과정을 간단히 서술하고 있다. 크게 3가지로 본 논문에서는 말하고 있다.
큰 회사에서는 multi-tenant 환경이 기본이라고 하는데, 이런 환경에서는 GPU oversubscribe 되는 경우도 있기 때문에 이걸 대비해야 한다고 말하고 싶은 듯 하다.
1주동안 heterogeneity 한 GPU 클러스터의 GPU 사용률, GPU 메모리 사용률을 추적해본 결과, 오직 10% 정도의 GPU만 80% 이상의 GPU Utilization 율을 보였다.
gang-scheduling 이란 모든 필요한 GPU가 모일 때까지 job이 시작하지 않는 것을 말한다. 이 때 요구되는 GPU가 많을수록 waiting time 또한 길어진다.
DL job 도중에도 사용하는 리소스 양이 천차만별이다. 이러한 현상은 필요한 자원을 예측하는 것을 힘들게 한다. 따라서 가장 많이 쓸 때를 기준으로 자원을 할당해야 하는데, 이는 결국 GPU Underutilization 의 원인이 된다.
본 논문에서는 Mini-Batch 단위로 딥러닝 작업을 관찰한 결과 몇 가지 사실을 발견했다.
Local Scheduler가 GPU Memory와 Computation 을 어떻게 다루는지에 대한 내용이다.
There is an inherent tension between providing fairness(e.g., to ensure SLAs of DL jobs with guaranteed resources) and achieving high resource utilization (e.g., GPU utilization), because of the constant fluctuation in both the load on a cluster and the resource needs of a job.
클러스터에 대한 load 와 DL job의 리소스 요구 모두 변동성이 크기 때문에, fairness(보장된 리소스로 DL 작업의 SLA를 보장하는 것)과 high resource utilization(GPU 활용률) 사이에는 trade-off가 존재한다.
Antman은 계층적으로 2개의 스케줄러로 구성되어 있다.
어떤 내용의 논문인가요? 👋
Abstract (요약) 🕵🏻♂️
Efficiently scheduling deep learning jobs on large-scale GPU clusters is crucial for job performance, system throughput, and hardware utilization. It is getting ever more challenging as deep learning workloads become more complex. This paper presents AntMan, a deep learning infrastructure that co-designs cluster schedulers with deep learning frameworks and has been deployed in production at Alibaba to manage tens of thousands of daily deep learning jobs across thousands of GPUs. AntMan accommodates the fluctuating resource demands of deep learning training jobs. As such, it utilizes the spare GPU resources to co-execute multiple jobs on a shared GPU. AntMan exploits unique characteristics of deep learning training to introduce dynamic scaling mechanisms for memory and computation within the deep learning frameworks. This allows fine-grained coordination between jobs and prevents job interference. Evaluations show that AntMan improves the overall GPU memory utilization by 42% and computation utilization by 34% in our multi-tenant cluster without compromising fairness, presenting a new approach to efficiently utilizing GPUs at scale.
이 논문을 읽어서 무엇을 배울 수 있는지 알려주세요! 🤔
레퍼런스의 URL을 알려주세요! 🔗
https://www.usenix.org/system/files/osdi20-xiao.pdf
오픈소스가 있다면 주소를 써 주세요!
https://github.com/alibaba/GPU-scheduler-for-deep-learning