От нуля до GPUaaS, или Как завести в Kubernetes технологии InfiniBand, RDMA и GPUDirect
На рынке мало экспертизы по запуску GPU-стека и InfiniBand именно внутри Kubernetes (обычно их настраивают на "голом железе" / bare-metal), а официальная документация NVIDIA имеет пробелы и в ру-комьюнити готовых кейсов нет. Под капотом я расскажу, как мы запустили GPUaaS (GPU как услуга) для ИИ-команд, которым нужны вычислительные мощности и благодаря этому за 3 месяца с нуля развернули и вывели в продакшен готовый стек для работы с GPU, решили проблему простоя дорогого оборудования и обеспечили команды разработчиков вычислительными мощностями в критически сжатые сроки. Сроки. Запуск базовой инфраструктуры занял всего 3 месяца (вместо стандартных нескольких кварталов). Да, не идеально: за 3 месяца трудно сделать крутую инфру. Но базово все команды уже могли использовать эти технологии. Изоляция команд. Мы настроили виртуальные функции и партиции InfiniBand, с помощью которых команды изолированы друг от друга на уровне видеопамяти и интерфейсов — доступ к чужим ресурсам исключен. Автоматизация. Полностью избавились от рутины. Развертывание ОС автоматизировано через Ansible, а управление квотами и ресурсами — через Argo CD. GPUaaS — это платформа с общим пулом ресурсов и единым способом их получения. Теперь вместо того, чтобы ждать закупки GPU под каждый проект (месяцы ожидания), мы можем выдавать командам мощности из готового пула — on-prem и облако. В этой статье я расскажу про open-source-решения, которые вы можете использовать и перенять для реализации своей инфраструктуры. Бизнес-часть не буду описывать, расскажу про этапы развертывания с точки зрения технической составляющей. Читать далее
