Облачная платформаAdvanced

CCE AI Suite (NVIDIA GPU)

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Введение

Дополнение CCE AI Suite (NVIDIA GPU) помогает использовать и управлять GPU в ваших кластерах. Оно поддерживает доступ к GPU в контейнерах и помогает эффективно запускать и поддерживать вычислительно‑интенсивные нагрузки на основе GPU в облачно‑нативных средах. С этим дополнением как стандартные, так и Turbo кластеры CCE могут выполнять планирование GPU, автоматически устанавливать драйверы, управлять средами выполнения и мониторить производительность. Это обеспечивает полную поддержку GPU‑нагрузок на протяжении всего их жизненного цикла. Чтобы запускать узлы GPU в кластере, необходимо установить это дополнение.

Как работает nvidia-gpu-device-plugin

nvidia-gpu-device-plugin является одним из основных компонентов CCE AI Suite (NVIDIA GPU). Как мост между платформой контейнеров и аппаратным обеспечением GPU, nvidia-gpu-device-plugin абстрагирует физические GPU в ресурсы, которые могут быть обнаружены и запланированы платформой контейнеров. Это решает проблемы распределения и использования GPU в контейнеризованных средах.

Этот компонент работает как DaemonSet, чтобы GPU на каждом узле могли быть обнаружены kubelet и переданы в Kubernetes. Для использования GPU на узлах достаточно указать запросы ресурсов GPU в спецификациях pod. kubelet самостоятельно не обнаруживает GPU‑устройства. Вместо этого он полагается на nvidia-gpu-device-plugin для регистрации и передачи информации о GPU. nvidia-gpu-device-plugin запускается на каждом узле с GPU и использует протокол gRPC для связи с kubelet Device Plugin Manager и завершения регистрации. Ниже показан рабочий процесс.

Рисунок 1 Отчетность о ресурсах GPU и их состояние


  1. Отправка запроса регистрации: nvidia-gpu-device-plugin отправляет запрос регистрации kubelet в качестве клиента вместе с:
    • Имя устройства (nvidia.com/gpu): определяет тип аппаратного ресурса, управляемого дополнением, который kubelet может идентифицировать и планировать.
    • Unix socket: обеспечивает локальное gRPC‑соединение между компонентом и kubelet, чтобы kubelet мог корректно вызывать нужные сервисы.
    • API version: указывает версию протокола Device Plugin API. Это гарантирует совместимость протоколов связи обеих сторон.
  2. Запуск сервиса: после регистрации nvidia-gpu-device-plugin запускает gRPC‑сервер для предоставления сервисов внешним системам. gRPC‑сервер обрабатывает запросы kubelet, включая запросы списка устройств, отчёты о состоянии здоровья и распределение ресурсов. Адрес прослушивания (путь Unix socket) gRPC‑сервера и поддерживаемая версия Device Plugin API были переданы kubelet во время регистрации. Это гарантирует, что kubelet сможет корректно устанавливать соединения и вызывать нужные API на основе информации о регистрации.
  3. Мониторинг состояния: после запуска gRPC‑сервера kubelet устанавливает постоянное соединение с nvidia-gpu-device-plugin через API ListAndWatch для непрерывного отслеживания идентификаторов устройств и их состояния. Если устройство становится неисправным, nvidia-gpu-device-plugin передаёт ошибку kubelet через это соединение.
  4. Отчётность информации: kubelet интегрирует данные об устройствах в статусы узлов и передаёт детали ресурсов, такие как количество устройств, в Kubernetes API server. Планировщик (kube-scheduler или Volcano) использует эти детали для принятия решений о планировании.
  5. Постоянное хранилище: CCE сохраняет информацию об устройствах GPU (например, количество и статус), переданную узлами, в etcd для обеспечения сохранности ресурсов на уровне кластера. Это гарантирует, что данные GPU сохраняются после сбоя или перезапуска компонента кластера и предоставляет согласованные источники данных для таких компонентов, как планировщик и контроллер, обеспечивая надёжность планирования и управления ресурсами.

Ограничения

  • Загружаемый драйвер должен быть файлом .run.
  • Поддерживаются только драйверы NVIDIA Tesla, а не драйверы GRID.
  • При установке или переустановке дополнения убедитесь, что адрес загрузки драйвера корректен и доступен. CCE не проверяет действительность адреса.
  • Это дополнение только позволяет загрузить драйвер и выполнить скрипт установки. Состояние дополнения лишь показывает, как работает дополнение, а не то, установлен ли драйвер успешно.
  • CCE не гарантирует совместимость версии драйвера GPU и версии библиотеки CUDA вашего приложения. Необходимо проверять совместимость самостоятельно.
  • Если в пользовательском образе ОС установлен драйвер GPU, CCE не может гарантировать совместимость драйвера GPU с другими компонентами GPU, например, компонентами мониторинга, используемыми в CCE.

Установка дополнения

  1. Войдите в CCE console и нажмите название кластера, чтобы открыть консоль кластера.
  2. В панели навигации выберите Add-ons. В правой панели найдите дополнение CCE AI Suite (NVIDIA GPU) и нажмите Install.
  3. Определите, включить ли Use DCGM-Exporter to Observe DCGM Metrics. После включения этой функции DCGM-Exporter будет развернут на узле GPU.

    Notice

    Если версия дополнения 2.7.40 или новее, DCGM-Exporter может быть развернут. DCGM-Exporter сохраняет возможности сообщества и не поддерживает режим совместного использования или виртуализацию GPU.

  4. Настройте параметры дополнения.

    Table 1 Add-on parameters

    Parameter

    Описание

    Драйвер кластера по умолчанию

    Все узлы GPU в кластере используют один и тот же драйвер. Вы можете выбрать подходящую версию драйвера GPU или настроить ссылку на драйвер и ввести ссылку для загрузки драйвера NVIDIA.

    ПРИМЕЧАНИЕ:
    • Если ссылка для загрузки является интернет‑адресом, например, https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run, привяжите EIP к каждому узлу GPU. Подробную информацию о том, как получить ссылку на драйвер, см. Obtaining a Driver Link from the Internet.
    • Если ссылка для загрузки является URL OBS, привязывать EIP к узлам GPU не требуется. Подробную информацию о том, как получить ссылку на драйвер, см. Obtaining a Driver Link from the OBS Link.
    • Убедитесь, что версия драйвера NVIDIA соответствует узлам GPU.
    • Если версия драйвера изменена, перезапустите узлы, чтобы применить изменения.

    Note

    После установки дополнения вы можете настроить виртуализацию GPU и драйверы пула узлов на вкладке Heterogeneous Resources в Settings.

  5. Нажмите Install.

    Note

    Если дополнение удалено, новые GPU‑pod'ы, запланированные на узлы, не смогут работать корректно, однако уже работающие GPU‑pod'ы на узлах не будут затронуты.

Проверка дополнения

После установки дополнения выполните команду nvidia-smi на узле GPU и в контейнере, который планирует ресурсы GPU, чтобы проверить доступность устройства GPU и драйвера.

  • Узел GPU:
    • Если версия дополнения старше 2.0.0, выполните следующую команду:
      cd /opt/cloud/cce/nvidia/bin && ./nvidia-smi
    • Если версия add-on 2.0.0 или более поздняя, выполните следующую команду:
      cd /usr/local/nvidia/bin && ./nvidia-smi
  • Pod:
    • Если версия кластера v1.27 или более ранняя, выполните следующую команду:
      cd /usr/local/nvidia/bin && ./nvidia-smi
    • Если версия кластера v1.28 или более поздняя, выполните следующую команду:
      cd /usr/bin && ./nvidia-smi

Если возвращена информация о GPU, устройство доступно и add-on установлен.

Управление add-on

После установки add-on вы можете при необходимости выполнять его обновление или откат. Перед обновлением или откатом add-on CCE AI Suite (NVIDIA GPU) убедитесь, что на узле GPU не запущены рабочие нагрузки виртуализации GPU. Если на узле GPU есть рабочие нагрузки виртуализации GPU, при обновлении или откате add-on необходимо выполнить drain узла GPU.

Поддерживаемые GPU‑драйверы

Notice
  • Список поддерживаемых GPU‑драйверов применим только к CCE AI Suite (NVIDIA GPU) версии 1.2.28 и новее.
  • Чтобы использовать новейший GPU‑драйвер, обновите ваш CCE AI Suite (NVIDIA GPU) до последней версии.
  • Совместимость ОС, GPU‑драйверов и моделей GPU, перечисленных в Table 2, протестирована и подтверждена. Для обеспечения высокой производительности и стабильности используйте эти GPU‑драйверы. Если развертывание производится в непроверенной среде, проведите полные тесты в соответствии с окружением, чтобы гарантировать совместимость и стабильность.
  • NVIDIA более не предоставляет обновления или исправления безопасности для GPU‑драйверов, достигших конца срока службы (EOL). Подробности см. в Driver Lifecycle. Например, ветка Production Branch (PB) обеспечивает поддержку в течение одного года с даты выпуска, а ветка Long-Term Support Branch (LTSB) — три года.

    Согласно этой политике, CCE не предоставляет техническую поддержку GPU‑драйверов, достигших EOL, включая установку и обновление драйверов. Следующие драйверы достигли EOL: 510.47.03, 470.141.03 и 470.57.02.

  • При установке GPU‑драйвера на Ubuntu и CentOS обратите внимание на версию ОС. Подробности см. в Table 3. Дополнительную информацию см. в NVIDIA Driver Documentation.
Table 2 Поддерживаемые GPU‑драйверы

GPU Model

Supported Cluster Type

Specification

OS

OS

OS

HCE OS 2.0

Ubuntu 22.04

CentOS Linux release 7.6

Tesla T4

CCE standard cluster

g6

pi2

580.126.20

570.86.15

535.216.03

535.161.08

535.54.03

510.47.03

470.57.02

580.126.20

570.86.15

535.216.03

535.161.08

535.54.03

535.216.03

535.161.08

535.54.03

510.47.03

470.141.03

470.57.02

Tesla V100

CCE standard cluster

p2s

p2vs

p2v

580.126.20

570.86.15

535.216.03

535.161.08

535.54.03

510.47.03

470.57.02

580.126.20

570.86.15

535.216.03

535.161.08

535.54.03

535.216.03

535.161.08

535.54.03

510.47.03

470.141.03

470.57.02

Table 3 Сопоставление версий драйверов GPU и версий ОС

Версия драйвера

Ubuntu 22.04

CentOS Linux release 7.6

570.86.15

Ubuntu 22.04.z LTS (where z ≤ 5)

Не поддерживается

535.216.03

Ubuntu 22.04.z LTS (where z ≤ 4)

CentOS 7.y (where y ≤ 9)

535.161.08

Ubuntu 22.04.z LTS (where z ≤ 3)

CentOS 7.y (where y ≤ 9)

535.54.03

Ubuntu 22.04.z LTS (where z ≤ 2)

CentOS 7.y (where y ≤ 9)

510.47.03

Не поддерживается

CentOS 7.y (где y ≤ 9)

470.141.03

Не поддерживается

CentOS 7.y (где y ≤ 9)

470.57.02

Не поддерживается

CentOS 7.y (где y ≤ 9)

Получение ссылки на драйвер из Интернета

  1. Войдите в CCE console и нажмите название кластера, чтобы открыть консоль кластера.
  2. Создайте узел. В области Specifications выберите флейвор GPU‑узла. Модели GPU отображаются в нижней части области.

  1. Перейдите на NVIDIA driver download page и найдите информацию о драйвере. Операционная система должна быть Linux 64-bit.

    Рисунок 2 Выбор параметров


  2. После подтверждения информации о драйвере нажмите Find. На отображённой странице найдите драйвер для загрузки и нажмите View.

    Рисунок 3 Просмотр информации о драйвере


  3. Нажмите Download и скопируйте ссылку для загрузки.

    Рисунок 4 Получение ссылки


Получение ссылки драйвера из ссылки OBS

  1. Загрузите драйвер в OBS и установите для файла драйвера публичный доступ на чтение

    Note

    При перезапуске узла драйвер будет загружен и установлен повторно. Убедитесь, что ссылка OBS bucket драйвера действительна

  2. В списке bucket выберите имя bucket, чтобы перейти на страницу Objects
  3. Нажмите имя целевого объекта и скопируйте ссылку драйвера на вкладке Basic Information

Компоненты

Table 4 Дополнительные компоненты

Component

Description

Resource Type

nvidia-driver-installer

Рабочая нагрузка для установки драйвера NVIDIA GPU на узле, использующая ресурсы только во время установки (после установки ресурсы больше не потребляются)

DaemonSet

nvidia-gpu-device-plugin

Плагин устройства Kubernetes, предоставляющий гетерогенные вычисления NVIDIA GPU для контейнеров

DaemonSet

nvidia-operator

Компонент, предоставляющий возможности управления узлами NVIDIA GPU для кластеров

Deployment

Полезные ссылки

  • CCE AI Suite (NVIDIA GPU) предоставляет метрики мониторинга GPU. Для получения подробной информации о метриках GPU см. GPU Metrics.