[논문 리뷰] MuxFlow: Efficient and Safe GPU Sharing in Large-Scale Production Deep Learning Clusters
MuxFlow는 회사X의 20,000+ GPU 클러스터에서 실제 운영 중인 생산 준비 완료된 GPU 클러스터 시스템으로, 혼합된 온라인 및 오프라인 딥러닝 워크로드에서 GPU의 효율적이고 안전한 공간 공유를 가능하게 한다. 이중 성능 보호 메커니즘, 혼합 오류 처리 전략, 매칭 기반 스케줄링과 함께 동적 SM 할당을 통합함으로써 MuxFlow는 실제 운영 환경에서 GPU 활용도를 26%에서 76%로 향상시켰다.
Large-scale GPU clusters are widely-used to speed up both latency-critical (online) and best-effort (offline) deep learning (DL) workloads. However, most DL clusters either dedicate each GPU to one workload or share workloads in time, leading to very low GPU resource utilization. We present MuxFlow, the first production cluster system that supports efficient and safe space-sharing for DL workloads. NVIDIA MPS provides an opportunity to share multiple workloads in space on widely-deployed NVIDIA GPUs, but it cannot guarantee the performance and safety of online workloads. MuxFlow introduces a two-level protection mechanism for memory and computation to guarantee the performance of online workloads. Based on our practical error analysis, we design a mixed error-handling mechanism to guarantee the safety of online workloads. MuxFlow further proposes dynamic streaming multiprocessor (SM) allocation and matching-based scheduling to improve the efficiency of offline workloads. MuxFlow has been deployed at CompanyX's clusters with more than 20,000 GPUs. The deployment results indicate that MuxFlow substantially improves the GPU utilization from 26$\%$ to 76$\%$, SM activity from 16$\%$ to 33$\%$, and GPU memory from 42$\%$ to 48$\%$.
연구 동기 및 목표
- 대규모 딥러닝 클러스터에서 GPU가 단일 워크로드에 전용 또는 시간 공유되면서 자원이 낭비되는 문제를 해결하기 위해, GPU 활용도를 높이고자 한다.
- NVIDIA MPS를 통해 GPU의 공간 공유를 가능하게 하되, 지연 민감도가 높은 온라인 워크로드의 성능 격리 보장을 위해 설계하고자 한다.
- 특히 쿠버네티스 환경에서 컨테이너 신호(예: SIGINT 및 SIGTERM)로 인한 오류 전파를 최소화함으로써 온라인 워크로드의 안정성을 확보하고자 한다.
- 딥러닝 기반 간섭 예측과 이분할 매칭 기반의 지능형 워크로드 쌍화를 통해 오프라인 워크로드의 효율성을 향상시키고, 동적 스트리밍 멀티프로세서(SM) 할당을 통해 자원 활용도를 높이고자 한다.
- 기존 인프라에 최소한의 변경으로 실제 클러스터 환경에 구현 가능한 실용적이고 생산 수준의 시스템을 구축하여 성능, 안전성, 자원 활용도 간의 균형을 확보하고자 한다.
제안 방법
- 오프라인 워크로드의 자원 소비를 제한하기 위해 GPU 메모리 및 커널 실행 빈도에 대한 워크로드 단위 제한을 적용하는 런타임 메커니즘인 xCUDA를 도입한다.
- 성능 저하 위험을 감지하기 위해 다차원 메트릭을 사용하는 GPU 수준의 SysMonitor를 활용하며, 필요에 따라 오프라인 워크로드를 강제로 종료시킨다.
- SIGINT/SIGTERM 신호(오류 전파의 99%를 차지함)를 감지하고 안정적으로 처리하는 혼합 오류 처리 메커니즘을 도입하며, 특수 케이스 오류의 경우 CUDA 컨텍스트를 재설정한다.
- 온라인 워크로드의 영향을 최소화하기 위해 오프라인 워크로드가 사용하는 SM 비율을 동적으로 조정하는 동적 SM 할당 기법을 제안한다.
- 오프라인 워크로드 쌍화 문제를 최대 가중 이분할 매칭 문제로 모델링하며, 간섭을 예측하기 위해 딥러닝 기반 예측기와 KM 알고리즘을 활용해 최적의 쌍을 도출한다.
- 모든 구성 요소를 통합하여 회사X의 실제 생산 환경에 구현된 종합적인 클러스터 시스템을 개발하였으며, 기존 인프라에 최소한의 변경으로 수천 개의 GPU를 지원한다.
실험 결과
연구 질문
- RQ1저지연 온라인 워크로드의 성능을 해치지 않으면서 대규모 실사용 환경의 딥러닝 클러스터에서 GPU 공간 공유를 안전하고 효율적으로 구현할 수 있는 방법은 무엇인가?
- RQ2공유 GPU 환경에서 오프라인 워크로드로의 오류 전파를 효과적으로 방지할 수 있는 메커니즘은 무엇인가?
- RQ3동적 SM 할당은 온라인 워크로드의 성능을 유지하면서도 GPU 자원 활용도를 어떻게 향상시킬 수 있는가?
- RQ4공유 GPU 클러스터에서 전체 효율성을 극대화하기 위해 오프라인 워크로드를 온라인 워크로드와 최적의 전략으로 쌍화하는 방법은 무엇인가?
- RQ5기존 GPU 가상화 프리미티브(NVIDIA MPS 등)를 활용하여 공간 공유, 성능 격리, 안전 보장 기능을 통합한 실용적이고 생산 수준의 시스템을 구축할 수 있는가?
주요 결과
- MuxFlow는 20,000+ GPU를 보유한 실제 클러스터에서 GPU 활용도를 26%에서 76%로 향상시켜 자원 효율성을 크게 향상시켰다.
- SM 활동률이 16%에서 33%로 상승하여, 혼합 워크로드 환경에서 GPU 계산 유닛의 활용도가 향상됨을 보여주었다.
- GPU 메모리 활용도가 42%에서 48%로 향상되어 혼합 워크로드 간 효과적인 메모리 관리가 이루어졌음을 입증하였다.
- 혼합 오류 처리 메커니즘이 SIGINT/SIGTERM 신호로 인한 오류 전파의 99%를 성공적으로 완화하였으며, 이는 컨테이너 종료 시 주로 발생하는 오류였다.
- 딥러닝 기반 간섭 예측을 통한 매칭 기반 스케줄링이 높은 효율성을 보였으며, 온라인 워크로드의 성능 저하를 최소화하였다.
- 동적 SM 할당을 통해 온라인 및 오프라인 워크로드 간 자원 사용이 상호 보완적으로 이루어져, 온라인 지연에 미치는 영향을 최소화하면서도 오프라인 작업이 빈도 있는 GPU 용량을 효율적으로 활용할 수 있었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.