Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эффективное размещение и оптимизация рабочих нагрузок GPU часто требуют видимости использования ресурсов и производительности. Управляемые метрики GPU в AKS (предварительная версия) обеспечивают автоматическую сбор и экспозицию данных об использовании GPU, памяти и производительности в пулах узлов с поддержкой GPU NVIDIA. Это позволяет администраторам платформы оптимизировать ресурсы кластера, а разработчикам — настраивать и отлаживать рабочие нагрузки с минимальным ручным участием.
В этой статье вы узнаете о метриках GPU, собираемых с помощью экспортёра NVIDIA Data Center GPU Manager (DCGM) с полностью управляемым пулом узлов с поддержкой GPU (предварительная версия) в Службе Azure Kubernetes (AKS).
Это важно
Предварительные версии функций AKS доступны на условиях самообслуживания и добровольного выбора. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии AKS сопровождаются частичной поддержкой клиентов на основе принципа лучших усилий. Как таковые, эти функции не предназначены для использования в производстве. Для получения дополнительной информации ознакомьтесь со следующими статьями поддержки:
Предпосылки
- Кластер AKS с полностью управляемым пулом узлов с поддержкой GPU (предварительная версия) и убедитесь, что GPU можно планировать.
- Образец рабочей нагрузки для GPU, развернутой в вашем пуле узлов.
Ограничения
- Метрики управляемого GPU в настоящее время не поддерживаются в Azure Managed Prometheus или Azure Managed Grafana.
Убедитесь, что установлены управляемые компоненты GPU
После создания управляемого пула узлов NVIDIA GPU (предварительная версия) следуя этим инструкциям, убедитесь, что компоненты программного обеспечения GPU были установлены с помощью команды az aks nodepool show:
az aks nodepool show \
--resource-group <resource-group-name> \
--cluster-name <cluster-name> \
--name <node-pool-name> \
Выходные данные должны содержать следующие значения:
...
...
"gpuInstanceProfile": …
"gpuProfile": {
"driver": "Install"
},
...
...
Общие сведения о метриках GPU
Метрики использования GPU
Метрики использования GPU показывают процент времени активной обработки ядер GPU. Высокие значения указывают на то, что GPU используется в значительной степени, что обычно желательно для рабочих нагрузок, таких как обучение или обработка данных. Интерпретация этой метрики должна учитывать тип рабочей нагрузки: обучение искусственного интеллекта обычно обеспечивает высокий уровень использования, а вывод может иметь временное использование из-за интенсивного трафика.
Использование памяти. Показывает процент используемой памяти GPU. Высокая загрузка памяти без высокой загрузки GPU может указывать на рабочие нагрузки, связанные с памятью, когда GPU ожидает передачи памяти. Низкое использование памяти при небольшой загрузке может указывать на то, что рабочая нагрузка слишком мала, чтобы полностью задействовать GPU.
Эффективность SM (Многопроцессор потоковой передачи): измеряет эффективность, с которой используются ядра GPU. Низкая эффективность SM означает, что ядра неактивны или недоиспользуются из-за дисбаланса рабочей нагрузки или неоптимального проектирования ядра. Высокая эффективность идеально подходит для вычислительных приложений.
Метрики памяти
Использование пропускной способности памяти: отражает объем используемой теоретический пропускной способности памяти. Высокая пропускная способность при низком использовании вычислительных ресурсов может указывать на рабочую нагрузку, связанную с памятью. И наоборот, высокая загрузка как в вычислительной, так и в пропускной способности памяти предполагает хорошо сбалансированную рабочую нагрузку.
Ошибки памяти: отслеживание ошибок ECC (код исправления ошибок) при включении. Большое количество ошибок может указывать на снижение оборудования или тепловые проблемы и отслеживаться для надежности.
Метрики температуры и питания
Температура GPU: указывает операционную температуру GPU. Устойчивые высокие температуры могут вызвать тепловое ограничение, приводящее к снижению производительности. Идеальная интерпретация этой метрики включает в себя наблюдение за температурой относительно тепловых ограничений GPU и емкости охлаждения.
Power Usage: показывает мгновенное потребление энергии. Сравнение степени использования электроэнергии с TDP (Тепловая проектная мощность) помогает понять, является ли GPU загруженным до предела. Внезапные падения мощности могут указывать на регулирование или недоиспользование.
Метрики часов и частоты
Частота GPU: фактическая рабочая частота GPU. В сочетании с данными об использовании, это помогает определить, снижает ли GPU свою производительность или работает хуже в сравнении с его возможностями.
Часы памяти: частота работы памяти GPU. Рабочие нагрузки, связанные с памятью, могут извлечь выгоду из более высокой частоты памяти. Несоответствие между использованием памяти и вычислительными ресурсами может обнаружить узкие места.
Метрики PCIe и NVLink
Пропускная способность PCIe: измеряет пропускную способность по шине PCIe. Низкое использование ресурсов при тяжелых рабочих нагрузках может указывать на то, что взаимодействие CPU-GPU не является узким местом. Высокая загрузка может указывать на ограничения передачи данных, влияющие на производительность.
Пропускная способность NVLink: эта метрика аналогична пропускной способности PCIe, но связана с межсоединениями NVLink и релевантна в системах с несколькими GPU для обмена данными между GPU. Высокая загрузка NVLink с низким уровнем использования SM может указывать на задержки синхронизации или передачи данных.
Метрики ошибок и надежности
Устаревшие страницы и ошибки XID: отслеживание ошибок памяти GPU и критических сбоев. Повторяющиеся случаи сигнализируют о потенциальных сбоях оборудования и требуют внимания при длительных рабочих загрузках.
Руководство по интерпретации
Метрики DCGM всегда должны интерпретироваться контекстно с типом рабочей нагрузки в AKS. Высоконагруженные вычислительные задачи должны в идеале демонстрировать высокую загрузку GPU и SM, высокую пропускную способность памяти, стабильную температуру ниже порога троттлинга и энергопотребление, приближающееся к, но остающееся ниже TDP.
Рабочие нагрузки, связанные с памятью, могут отображать высокую загрузку памяти и пропускную способность, но более низкую загрузку вычислительных ресурсов. Аномалии, такие как низкая загрузка с высокой температурой или потреблением электроэнергии, часто указывают на регулирование, неэффективное планирование или узкие места на уровне системы.
Мониторинг тенденций с течением времени, а не отдельных моментальных снимков является критически важным. Внезапные спады использования или пики ошибок часто показывают базовые проблемы, прежде чем они влияют на рабочие нагрузки. Сравнение метрик между несколькими GPU также может помочь определить выпады или неправильное поведение устройств в кластере. Понимание этих метрик в сочетании, а не изоляции, обеспечивает наиболее четкое представление о эффективности GPU и производительности рабочей нагрузки.
Распространенные метрики GPU
Следующие метрики NVIDIA DCGM обычно оцениваются для производительности пулов узлов GPU в Kubernetes:
| Имя метрики GPU | Meaning | Типичный диапазон или индикатор | Совет по использованию |
|---|---|---|---|
DCGM_FI_DEV_GPU_UTIL |
Использование GPU (% времени активности ядер GPU) | 0–100% (выше — лучше) | Отслеживайте на уровне каждого узла и пода; низкие значения могут указывать на узкие места ЦП или ввода-вывода. |
DCGM_FI_DEV_SM_UTIL |
Эффективность мультипроцессора потоковой передачи (% активные ядра) | 0–100% | Низкие значения с высоким потреблением памяти указывают на рабочую нагрузку, связанную с памятью |
DCGM_FI_DEV_FB_USED |
Используемая память Framebuffer (байт) | От 0 до общего объёма памяти | Используйте ограничения памяти GPU для pod и отслеживайте использование памяти каждого pod |
DCGM_FI_DEV_FB_FREE |
Бесплатная память GPU (байты) | От 0 до общей памяти | Полезно для планирования и предотвращения ошибок OOM |
DCGM_FI_DEV_MEMORY_UTIL |
Использование памяти (в %) | 0–100% | Комбинируйте с использованием GPU и SM, чтобы определить рабочие нагрузки, ограниченные памятью. |
DCGM_FI_DEV_MEMORY_CLOCK |
Текущая частота часов памяти (МГц) | 0 до максимальной частоты памяти | Низкие показатели при высокой нагрузке на память могут указывать на снижение производительности. |
DCGM_FI_DEV_POWER_USAGE |
Мгновенное использование электроэнергии (Уоттс) | От 0 до TDP | Падение производительности во время высокой нагрузки может указывать на ограничение пропускной способности. |
DCGM_FI_DEV_TEMPERATURE |
Температура GPU (°C) | ~30–85°C нормально | Оповещение о устойчивых высоких температурах |
DCGM_FI_DEV_NVLINK_RX |
Использование пропускной способности приёма NVLink (%) | 0–100% | Узкие места синхронизации с несколькими GPU при низком использовании SM |
DCGM_FI_DEV_XID_ERRORS |
Критические ошибки GPU, сообщаемые драйвером | Обычно 0 | Требуется немедленное расследование; может запятнать узел в Kubernetes |
Чтобы узнать о полном наборе метрик GPU, см. документацию Upstream NVIDIA DCGM.
Дальнейшие действия
- Отслеживание работоспособности узла GPU с помощью детектора проблем с узлами (NPD)
- Создание пулов узлов с многоэкземплярными GPU в AKS
- Изучите надстройку оператора цепочки инструментов ИИ для инференции и тонкой настройки