728x90
앞서 우리는 GPU를 나누는 기술(MIG)까지 살펴봤습니다.
이제는 나눈 GPU들을 언제, 어떻게 동시에 실행할 것인가라는 문제가 남습니다.
특히 분산 학습처럼 여러 GPU가 한 덩어리로 묶여 움직이는 워크로드에서는, 단순한 스케줄링 방식으로는 성능이 제대로 나오지 않습니다.
이럴 때 중요한 개념이 바로 Gang Scheduling과 Elastic Scheduling입니다.
✅ Gang Scheduling이란?
Gang Scheduling은 여러 개의 GPU 리소스가 동시에 확보되어야만 Job을 실행하는 스케줄링 방식입니다.
즉, GPU 4개가 필요한 Job이라면, 4개가 다 준비될 때까지 대기하고, 확보되면 모두 동시에 실행됩니다.
- 동기 실행 보장: 분산 학습에서 필수
- 부분 실행 방지: 일부 노드만 먼저 실행되어 시간 낭비되는 상황 방지
- 자원 사용률 희생: 자원을 묶어서 기다리므로 클러스터 전체 사용률은 떨어질 수 있음
✅ Elastic Scheduling이란?
Elastic Scheduling은 할당 가능한 리소스 양에 따라 Job의 크기를 유연하게 조정하는 방식입니다.
예를 들어 GPU가 8개 필요했던 Job이지만, 현재 4개만 가능하다면 일단 4개로 시작하고, 나중에 자원이 생기면 확장합니다.
- 자원 상황에 유연하게 대응
- 학습 코드가 Elastic Strategy를 지원해야 함 (예: Elastic Horovod)
- 추론 서비스, 실험적 학습 작업에 적합
✅ 비교 요약
| 항목 | Gang Scheduling | Elastic Scheduling |
| 실행 조건 | 모든 자원이 동시에 준비될 때만 실행 | 자원이 부분적으로 있어도 실행 가능 |
| 장점 | 정확한 병렬 처리 보장, 성능 예측 용이 | 높은 자원 활용률, 빠른 실험 가능 |
| 단점 | 대기 시간이 길 수 있음 | 결과 일관성 저하 위험, 코드 유연성 필요 |
| 적용 예 | GPT 학습, AllReduce 기반 분산 학습 | 미니 모델 테스트, 튜닝 작업 |
✅ 실무 적용 사례
- Gang Scheduling
- Kubernetes에서는 Volcano Scheduler, Kube-Batch 등 사용
- PodGroup을 정의하고, 해당 그룹 전체가 Ready 상태가 될 때까지 대기
- Slurm에서는 --exclusive, --nodes, --ntasks 옵션 등으로 구현
- Meta/Google의 대형 학습 파이프라인에 필수
- Elastic Scheduling
- Elastic Horovod, DeepSpeed, PyTorch FSDP 등이 지원
- 클러스터에서 GPU 수가 유동적인 환경(Spot 인스턴스, AutoScaling 등)에 적합
- 자원 낭비 없이 최대한 활용하고자 할 때 사용
✅ 스케줄링이 중요한 이유
- 여러 GPU가 필요한 Job을 제때 실행하지 못하면 병렬성이 무너짐
- 동시에 시작하지 않으면 AllReduce 같은 동기 연산이 꼬여 학습 품질 저하
- 다중 테넌시 환경에서의 리소스 충돌 최소화를 위해 정교한 스케줄링 필요
- 스케줄링 정책이 좋지 않으면 GPU가 놀거나, Job이 무한 대기하게 됨
✅ 마무리
Gang Scheduling과 Elastic Scheduling은 단순한 “먼저 오는 작업 먼저 실행”이 아닌,
AI 학습 워크로드의 특성을 반영한 고급 스케줄링 전략입니다.
클러스터 운영자는 이 두 전략을 상황에 따라 적절히 혼합 적용하여
모델의 정확도, 자원의 효율성, 전체 비용을 최적화할 수 있어야 합니다.
728x90
'HPC & GPU Engineering > Platform Essentials' 카테고리의 다른 글
| 📘 고성능 AI 컴퓨팅 인프라 용어 사전 (8) – Utilization Optimization & QoS (1) | 2025.08.03 |
|---|---|
| 📘 고성능 AI 컴퓨팅 인프라 용어 사전 (7) – Inference Scheduling & VM Orchestration (2) | 2025.08.03 |
| 📘 고성능 AI 컴퓨팅 인프라 용어 사전 (5) – MIG (Multi-Instance GPU) (1) | 2025.08.03 |
| 📘 고성능 AI 컴퓨팅 인프라 용어 사전 (4) – Distributed Training & Parameter Synchronization (1) | 2025.08.03 |
| 📘 고성능 AI 컴퓨팅 인프라 용어 사전 (3) – NVLink & GPU Fabric (0) | 2025.08.03 |