← Журнал · · Разбор
KAI Scheduler - нативный планировщик K8S от Nvidia
Что то зачастились посты на этой неделе, а ведь есть чем поделиться!
Добрались руки потрогать и пощупать KAI Scheduler. Nvidia выложила в open source скедулер, который используется в их enterprise Run.AI платформе.
Вкратце - он неплохо решает проблему скедулинга ворклоудов на GPU ресурсы при задачах обучения. Как он это делает?
Пройдемся по сущностям:
⌛️Queues- сущность, где мы можем определить квоты на ресурсы. Очень удобно, если мы хотим ограничить конкретным ворклоудам запуск на ограниченном количестве ресурсов. Есть у вас команда - делаем к ним лейбл с указанием имени очереди. Если привысят квоты на аллоцирования GPU, Pod не запустится.
📈Elastic Workload - ворклоуд с встроенным HPA. В целом большего описания и не требуется.
🚀Workload Priority - четыре класса приоритетов. Показывают, какие ворклоуды можно прерывать для аллоцирования более важных процессов.
🤝GPU sharing - можно указывать фракции GPU, например 0.5. Да, k8s не позволит вам запустить в этом случае больше 2 подов на 1 GPU, но это по сути time slicing, так что контроля за памятью на уровне k8s не будет. Запустил 2 VLLM с фракциями по 0.5, соответсвенно каждый забрал полностью GPU и произошел OOM. Придется ограничивать память на уровне апликейшена.
Больше всего мне зашли механизмы квотирования в очередях. Остальое больше применимо к трейнингу, не для инференса. Также есть проект Volcano от китайцев, но в целом это примерно тоже самое.