CPU, GPU И RAM

GPU в Kubernetes: как планировать CPU, RAM и ускорители вместе

В этом материале
ГЛАВНОЕ ЗА МИНУТУ

GPU-планирование не отменяет учёт CPU и системной памяти. Проверяйте весь набор ресурсов и готовность модели; наличие свободного ускорителя ещё не означает готовность подходящего узла.

В кластере может отображаться свободный GPU, а модельный процесс всё равно не запускаться. Причина бывает в системной памяти, CPU, ограничениях узла или ещё неготовом окружении. Для владельца оборудования важно описать весь сервер, а финансовому партнёру — не считать кластерную ёмкость простой суммой карт.

Разделите виды ресурсов

Kubernetes документирует планирование GPU через поддерживаемые механизмы устройств. CPU и память контейнеров имеют собственные requests и limits.

Это разные ресурсы одного задания. Системная RAM не является VRAM, а число виртуальных CPU не должно автоматически трактоваться как число физических ядер хоста.

До запуска запишите модель GPU, нужную память хоста, CPU, хранение и ограничения размещения. Утверждение «требуется одна карта» не описывает достаточную конфигурацию задания.

Проверьте условный конфликт

Предположим, GPU доступен, но другие процессы заняли нужную RAM. Добавление ещё одной карты в такой узел может не увеличить число запускаемых моделей. Сначала нужно понять, какой совместный набор ресурсов требуется каждой реплике.

Для пилота сохраните паспорт задания и попробуйте его на выделенном узле. Затем добавьте согласованную фоновую нагрузку. Сравните ожидание размещения, запуск и устойчивую работу.

Отдельно фиксируйте, на каком этапе возникла проблема. Ожидание планировщика, ошибка загрузки весов и отказ уже работающего API требуют разных действий.

Различайте запуск контейнера и готовность модели

Созданный процесс может ещё получать файлы, подготавливать память или прогреваться. Передавать ему пользовательский поток нужно по согласованному признаку готовности, а не только факту существования контейнера.

Проверьте перезапуск после обычного обслуживания и потерю одного компонента. Запишите, когда реплика действительно возвращается к обработке. Для GPU-модели этот интервал может включать больше операций, чем для небольшого веб-приложения.

Проверка готовности не заменяет контроля качества ответа. Если модель загружена неверно, живой endpoint может оставаться непригодным для задачи.

Учтите неоднородность узлов

Разные GPU, архитектуры CPU и размеры памяти могут требовать разных условий размещения. Не направляйте одну конфигурацию на любой узел только потому, что общее число ускорителей достаточно.

Укажите допустимые варианты и проверьте каждый, прежде чем считать их взаимозаменяемыми. Для машины владельца добавьте расписание и порядок вывода из работы.

Совместное использование GPU также требует отдельной модели распределения. Его нельзя вывести из стандартной записи количества устройств без настроек и проверки ограничений.

Для пробного отчёта полезна последовательность событий одного задания: ожидание, назначенный узел, подготовка среды, готовность и завершение. Она позволит владельцу понять, где именно находился его ресурс, без доступа к содержимому чужих запросов и без путаницы разных видов простоя.

Критерии готовности к размещению

Мы не заявляем, что любое предложенное оборудование уже подключается к готовому кластеру.

Для подготовки полезны RAM и VRAM, разделение GPU и контейнеры против VM.

← Все материалы