분산 AI 학습은 GPU 간 높은 대역폭과 낮은 지연시간을 요구하며, 모든 파드가 동시에 시작되어야 한다. Kubernetes 기본 스케줄러는 파드를 독립적으로 개별 배치하기 때문에 이러한 요구를 충족하지 못한다.
토폴로지 인지 스케줄링(TAS)은 파드를 물리적 클러스터 토폴로지에 맞게 배치해 GPU 간 통신 지연을 최소화한다. 갱 스케줄링은 모든 파드가 동시에 실행되도록 조율해 GPU 자원이 유휴 상태로 남는 것을 방지한다.
Kueue는 토폴로지 라벨을 기반으로 파드 배치를 제어하고, Coscheduling 플러그인은 파드 그룹 단위로 스케줄링을 관리한다. 이 두 기술은 Kubernetes의 기본 스케줄러 기능을 보완하여 AI 학습 워크로드에 적합한 스케줄링을 가능하게 한다.
스케줄링 상태와 배치 효과는 Kueue와 Coscheduling의 메트릭 및 Kubernetes 리소스 상태를 통해 모니터링할 수 있다. 또한, GPU 및 네트워크 텔레메트리를 활용해 실제 하드웨어 성능과 배치의 적합성을 검증한다.
Kubernetes는 v1.35부터 갱 스케줄링과 토폴로지 인지 스케줄링 기능을 점진적으로 도입 중이나, 아직 Kueue와 Coscheduling의 기능을 완전히 대체하지는 못한다. 따라서 현재는 이들 오픈소스 컴포넌트가 분산 AI 학습 스케줄링의 주된 해결책이다.
출처: CNCF
