Gang scheduling and topology-aware placement for AI training in Kubernetes
Artigo explica por que o scheduler padrão do Kubernetes falha em treinos distribuídos e defende gang scheduling e topology-aware placement para garantir colocação coordenada dos pods.
O Kubernetes scheduler padrão coloca pods individualmente, mas treinos distribuídos exigem duas garantias que esse modelo não oferece: colocação com largura de banda inter-GPU adequada e início simultâneo de todos os pods. Sem isso, comunicação sensível à latência domina cada passo, reduzindo throughput e deixando GPUs ocupadas porém subutilizadas.
A solução proposta é combinar topology-aware scheduling e gang scheduling: TAS agrupa nós em domínios topológicos (host, rack, bloco) com base em labels e força colocação dos pods dentro de um domínio que satisfaça requisitos de banda; gang scheduling garante que todos os pods do job comecem juntos, evitando alocação parcial. Ferramentas como Kueue e o plugin Coscheduling implementam essas abordagens — aplique labels de topologia, adote schedulers/plugins compatíveis e valide colocação em clusters com aceleradores antes do deploy.
Quadrinho 1 de 2
- #cloud-native
- #kubernetes
- #gang-scheduling
- #distributed-training


