kai-scheduler/KAI-Scheduler
KAI Scheduler is an open source Kubernetes Native scheduler for AI workloads at large scale
해결하는 문제
KAI Scheduler는 대규모 Kubernetes 클러스터에서 GPU 리소스를 효율적으로 할당하는 문제를 해결합니다. 리소스 분할을 방지하고, 소규모 인터랙티브 작업부터 대규모 분산 학습 및 추론 작업에 이르기까지 AI 및 머신러닝 워크로드가 고가의 하드웨어에 공정하게 접근할 수 있도록 보장합니다.
작동 방식
kube-batch를 기반으로 구축된 KAI Scheduler는 여러 고급 스케줄링 전략을 사용하여 GPU 배치를 최적화합니다:
- 리소스 관리: 계층적 큐와 주도적 리소스 공정성(DRF)을 사용하여 할당량을 관리하고 팀 간 공정한 분배를 보장합니다.
- 배치 최적화: 분할을 최소화하기 위한 Bin Packing과 하드웨어의 물리적 레이아웃을 기반으로 워크로드를 배치하는 Topology-Aware Scheduling(TAS)을 활용하여 성능을 향상시킵니다.
- 워크로드 처리: 그룹 내 모든 포드가 동시에 시작되도록 보장하는 "Gang Scheduling"과 정의된 범위 내에서 확장 가능한 Elastic Workloads를 지원합니다.
- 하드웨어 통합: NVIDIA GB200/GB300 GPU와 같은 벤더 고유 하드웨어를 지원하기 위해 Kubernetes Dynamic Resource Allocation(DRA)과 통합됩니다.
대상 사용자
클라우드 및 온프레미스 환경에서 작동해야 하는 대규모 GPU 클러스터(수천 대의 노드 가능)를 관리하는 Kubernetes 클러스터 관리자 및 ML 엔지니어를 위한 것입니다.
주요 특징
- 트포로지 인식 스케줄링: 분리형 서빙 아키텍처에 최적화된 배치를 제공합니다.
- 시간 기반 공정 분배: 과거 사용량을 고려하여 장기적인 공정성을 보장합니다.
- GPU 공유: 여러 워크로드가 GPU를 공유하여 활용도를 극대화합니다.
- 계층적 PodGroups: 에이전트 기반 파이프라인을 위한 복잡한 다단계 간 스케줄링을 지원합니다.
- KubeRay 통합: Kubernetes 상에서 Ray 워크로드에 대한 네이티브 지원이 제공됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트