← Журнал · · Разбор
Альтернативный шеринг GPU




Всем привет! Прошло уже полтора года с моей первой статьи про шеринг GPU, где я рассказывал про MIG, MPS, Timeslicing и как их готовить. Сейчас MIG является у многих стандартом деления видеокарт, так как доступен из коробки и имеет отличную изоляцию на уровне железа!
Но мы не стоим на метсе, выпускают все больше и больше интересных инструментов для шеринга GPU. Предлагаю ознакомиться в этом посте с альтернативными способами деления видеокарт)
📌Взломанный k8s-vGPU-scheduler или Hami-Project
7-8 апреля был на DevOps Conf, послушал интересный доклад про использования vGPU. Да, по факту эта штука лицензионная - нужно платить Nvidia за использование. Но покапавшись в исходниках nvidia библиотек ребята из cloud.ru сумели реализовать этот подход у себя без покупки лицензий. И в итоге оказалось, что китайцы были немного впереди и выложили их идею в open source под названием project-HAMi. Проект под эгидой CNCF между прочим! Спасибо ребятам, что поделились этой находкой в своем докладе!
На первом скриншоте показано, как происходит изоляция ресурсов при объявлении их в манифесте. Делении видеокарты либо через vGPU (как на 2 скриншоте), либо через dynamic-mig. Еще и красивый дашбордик сделали.
📌Dynamic Resource Allocation
DRA в целом меняет подход аллоцирования GPU ресурсов для подов.
Теперь мы заранее объявляем ресурсы GPU, описываем их и используем как атач в наших манифестах - тем самым мы можем одну и ту же GPU использовать для нескольких подов (смотри 3 скриншот). Сама реализация доступна здесь. С версии k8s 1.32 должен быть динамический MIG, но я еще не проверял.
📌KAI-Scheduler от Nvidia
Нативный планировщик Kubernetes от Nvidia с открытым исходным кодом для больших AI workloads. Мы также можем задать объем vRAM для конкретного пода или даже 0.5 GPU (смотри скриншот 4).
Но судя по этому issue - под капотом обычный timeslicing. И если у вас на одной видеокарте 3 пода используют 0.5 GPU - видимо произойдет OOM 🔥
Вот такой небольшой обзор получился, возможно он когда-нибудь перерастет в новую статью! Всем хорошего дня!