← Журнал · · Разбор

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 от китайцев, но в целом это примерно тоже самое.

Оригинал в Telegram ↗

↑↓ выбор · Enter открыть · Esc закрыть