Repolode
Project-HAMi

Project-HAMi/HAMi

Middleware для Kubernetes, который делит GPU и другие AI-ускорители между подами по памяти и вычислительным ресурсам и учитывает устройства при планировании.

Звёзды
4,896
Форки
872
Открытые issues
33
Последний коммит
8 часов назад

Что это?

HAMi (Heterogeneous AI Computing Virtualization Middleware, ранее k8s-vGPU-scheduler) позволяет платформенным командам распределять дорогие GPU и другие AI-ускорители между нагрузками в Kubernetes. Подам можно выделить часть устройства по объёму памяти или числу ядер через стандартные лимиты ресурсов Kubernetes, поэтому менять код приложений не нужно.

В состав входят mutating webhook, расширение планировщика, плагины устройств и компоненты виртуализации внутри контейнеров. При планировании поддерживаются политики binpack, spread, topology-aware, mutex и NUMA; экземпляры NVIDIA MIG можно создавать и освобождать динамически. Среди поддерживаемых платформ — NVIDIA, AMD, Huawei Ascend, Cambricon, Hygon, Iluvatar, Kunlunxin, MetaX, Moore Threads и другие.

Установка выполняется через Helm; доступны дополнительные реплики планировщика для высокой доступности, метрики Prometheus и сопутствующий WebUI. Проект имеет статус CNCF Incubating.

Ключевые возможности

  • 01Делит GPU по лимитам памяти и числа ядер, используя стандартные запросы ресурсов Kubernetes.
  • 02Планирует поды с политиками binpack, spread, topology-aware, mutex и NUMA.
  • 03Поддерживает NVIDIA MIG с динамическим управлением экземплярами.
  • 04Поддерживает ускорители разных производителей, включая Ascend, Cambricon, Hygon и MetaX.
  • 05Предоставляет метрики Prometheus, WebUI и дашборды Grafana.

Сценарии использования

  • Повышение утилизации GPU в общих AI-кластерах Kubernetes.
  • Запуск многопользовательских сред для ноутбуков, обучения и инференса на общем пуле ускорителей.
  • Создание частных облачных AI-платформ с квотами на выделение устройств.
  • Управление кластерами с ускорителями разных производителей в рамках единого процесса планирования.

Быстрый старт

  1. 1

    Добавьте метки GPU-узлам, чтобы HAMi мог ими управлять

    kubectl label nodes <node-name> gpu=on
  2. 2

    Добавьте Helm-репозиторий HAMi

    helm repo add hami-charts https://project-hami.github.io/HAMi/
  3. 3

    Установите HAMi с помощью Helm в kube-system

    helm install hami hami-charts/hami -n kube-system
  4. 4

    Убедитесь, что hami-device-plugin и hami-scheduler находятся в состоянии Running

    kubectl get pods -n kube-system

Что важно знать

  • Требуется кластер Kubernetes с Helm. Для использования варианта с NVIDIA также необходимы драйвер NVIDIA и инструментарий для контейнеров.
  • Для эффективного использования на узлах кластера должно быть установлено ускорительное оборудование.

Темы

Частые вопросы

Что такое HAMi?
Middleware для Kubernetes, который делит GPU и другие AI-ускорители между подами по памяти и вычислительным ресурсам и учитывает устройства при планировании. HAMi (Heterogeneous AI Computing Virtualization Middleware, ранее k8s-vGPU-scheduler) позволяет платформенным командам распределять дорогие GPU и другие AI-ускорители между нагрузками в Kubernetes. Подам можно выделить часть устройства по объёму памяти или числу ядер через стандартные лимиты ресурсов Kubernetes, поэтому менять код приложений не нужно.
HAMi можно использовать бесплатно? Какая у него лицензия?
HAMi распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
HAMi всё ещё поддерживается?
Активно поддерживается. Последний коммит в HAMi — 21 окт. 2026 г..
Для чего можно использовать HAMi?
Повышение утилизации GPU в общих AI-кластерах Kubernetes. Запуск многопользовательских сред для ноутбуков, обучения и инференса на общем пуле ускорителей. Создание частных облачных AI-платформ с квотами на выделение устройств. Управление кластерами с ускорителями разных производителей в рамках единого процесса планирования.
Как установить HAMi?
Добавьте метки GPU-узлам, чтобы HAMi мог ими управлять: kubectl label nodes <node-name> gpu=on Добавьте Helm-репозиторий HAMi: helm repo add hami-charts https://project-hami.github.io/HAMi/ Установите HAMi с помощью Helm в kube-system: helm install hami hami-charts/hami -n kube-system Убедитесь, что hami-device-plugin и hami-scheduler находятся в состоянии Running: kubectl get pods -n kube-system
Где скачать HAMi?
Исходный код и инструкции по установке — на GitHub: https://github.com/Project-HAMi/HAMi

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты