Compartir a través de


Obtenga información sobre las métricas de GPU de NVIDIA para optimizar el rendimiento y el uso de GPU en Azure Kubernetes Service (AKS)

La ubicación y la optimización eficaces de las cargas de trabajo de GPU a menudo requieren visibilidad sobre el uso y el rendimiento de los recursos. Las métricas de GPU administradas en AKS (versión preliminar) proporcionan recopilación automatizada y exposición de datos de uso, memoria y rendimiento de GPU en grupos de nodos habilitados para GPU nvidia. Esto permite a los administradores de plataforma optimizar los recursos del clúster y los desarrolladores para optimizar y depurar cargas de trabajo con instrumentación manual limitada.

En este artículo, obtendrá información sobre las métricas de GPU recopiladas por el exportador de NVIDIA Data Center GPU Manager (DCGM) con un grupo de nodos habilitado para GPU totalmente administrado (versión preliminar) en Azure Kubernetes Service (AKS).

Importante

Las características en versión preliminar de AKS están disponibles a elección del usuario y en régimen de autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS cuentan con soporte parcial por parte del servicio al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

Prerrequisitos

Limitaciones

Comprobación de que los componentes de GPU administrados están instalados

Después de crear el grupo de nodos de GPU de NVIDIA administrado (versión preliminar) siguiendo estas instrucciones, confirme que los componentes de software de GPU se instalaron con el comando az aks nodepool show :

az aks nodepool show \
    --resource-group <resource-group-name> \
    --cluster-name <cluster-name> \
    --name <node-pool-name> \

La salida debe incluir los siguientes valores:

...
...
"gpuInstanceProfile": …
    "gpuProfile": {
      "driver": "Install"
    },
...
...

Descripción de las métricas de GPU

Métricas de uso de GPU

Las métricas de uso de GPU muestran el porcentaje de tiempo que los núcleos de la GPU están procesando activamente el trabajo. Los valores altos indican que la GPU se usa en gran medida, lo que suele ser deseable para cargas de trabajo como el entrenamiento o el procesamiento de datos. La interpretación de esta métrica debe tener en cuenta el tipo de carga de trabajo: el entrenamiento de IA normalmente mantiene la utilización alta, mientras que la inferencia puede tener una utilización intermitente debido al tráfico irregular.

Uso de memoria: muestra el porcentaje de memoria de GPU en uso. Un uso elevado de memoria sin un uso elevado de GPU puede indicar cargas de trabajo enlazadas a memoria en las que la GPU espera las transferencias de memoria. Un uso bajo de memoria con un uso bajo puede sugerir que la carga de trabajo es demasiado pequeña para aprovechar completamente la GPU.

Sm (multiprocesador de streaming): mide la eficiencia con la que se usan los núcleos de la GPU. Una baja eficiencia de SM indica que los núcleos están inactivos o infrautilizados debido al desequilibrio de la carga de trabajo o al diseño de kernel poco óptimo. La alta eficiencia es ideal para aplicaciones de proceso intensivo.

Métricas de memoria

Uso del ancho de banda de memoria: refleja la cantidad de ancho de banda de memoria teórica que se consume. Un uso elevado del ancho de banda con un uso de proceso bajo puede indicar una carga de trabajo enlazada a memoria. Por el contrario, un uso elevado en el ancho de banda de proceso y memoria sugiere una carga de trabajo bien equilibrada.

Errores de memoria: realiza un seguimiento de los errores ECC (Error-Correcting Code) si está habilitado. Un gran número de errores puede indicar problemas térmicos o degradación del hardware y debe supervisarse para lograr confiabilidad.

Métricas de temperatura y energía

Temperatura de GPU: indica la temperatura de funcionamiento de la GPU. Las temperaturas altas sostenidas pueden desencadenar el estrangulamiento térmico, reduciendo el rendimiento. La interpretación ideal de esta métrica implica observar la temperatura en relación con los límites térmicos y la capacidad de refrigeración de la GPU.

Uso de energía: muestra el consumo instantáneo de energía. Comparar el uso de energía con la TDP (potencia de diseño térmico) ayuda a comprender si la GPU está siendo llevada a sus límites. Los descensos repentinos en la potencia pueden indicar limitación o infrautilización.

Relojes y métricas de frecuencia

Reloj de GPU: la frecuencia de funcionamiento real de la GPU. En combinación con el uso, esto ayuda a determinar si la GPU está limitando o presentando déficit de rendimiento con respecto a su potencial.

Reloj de memoria: frecuencia de funcionamiento de la memoria gpu. Las cargas de trabajo enlazadas a memoria pueden beneficiarse de mayores frecuencias de memoria; una falta de coincidencia entre la memoria y la utilización de procesamiento puede resaltar cuellos de botella.

Ancho de banda PCIe: mide el rendimiento a través del bus PCIe. Un uso bajo con cargas de trabajo pesadas puede sugerir que la comunicación entre CPU y GPU no es un cuello de botella. Un uso elevado podría apuntar a las limitaciones de transferencia de datos que afectan al rendimiento.

Ancho de banda nvLink: esta métrica es similar al ancho de banda PCIe, pero específico de las interconexiones NVLink y relevantes en los sistemas de varias GPU para la comunicación entre GPU. El uso elevado de NVLink con un uso bajo de SM puede indicar retrasos de sincronización o transferencia de datos.

Métricas de error y confiabilidad

Páginas retiradas y errores XID: seguimiento de errores de memoria de GPU y errores críticos. Las repeticiones frecuentes indican posibles errores de hardware y requieren atención para cargas de trabajo de larga duración.

Guía de interpretación

Las métricas DCGM siempre deben interpretarse en contexto con el tipo de carga de trabajo en AKS. Una carga de trabajo computacionalmente muy intensiva debería mostrar idealmente un uso elevado de GPU y SM, un uso elevado del ancho de banda de memoria, temperaturas estables por debajo de los umbrales de limitación y el consumo de energía cerca, pero por debajo del TDP.

Las cargas de trabajo enlazadas a memoria pueden mostrar un uso elevado de memoria y ancho de banda, pero un menor uso de proceso. Anomalías como bajo uso con alta temperatura o consumo de energía a menudo indican limitación, planificación ineficiente o cuellos de botella a nivel del sistema.

La supervisión de las tendencias a lo largo del tiempo en lugar de las instantáneas únicas es fundamental. Las caídas repentinas en el uso o los picos de errores suelen revelar problemas subyacentes antes de que afecten a las cargas de trabajo de producción. La comparación de métricas entre varias GPU también puede ayudar a identificar valores atípicos o dispositivos de comportamiento erróneo en un clúster. Comprender estas métricas en combinación, en lugar de aislamiento, proporciona la información más clara sobre la eficiencia de GPU y el rendimiento de la carga de trabajo.

Métricas comunes de GPU

Las siguientes métricas de NVIDIA DCGM se evalúan normalmente para el rendimiento de los grupos de nodos de GPU en Kubernetes:

Nombre de la métrica de GPU Meaning Intervalo o indicador típicos Sugerencia de uso
DCGM_FI_DEV_GPU_UTIL Uso de GPU (% tiempo que los núcleos de GPU están activos) 0–100% (mayor es mejor) Supervisar por nodo y por pod; los valores bajos podrían indicar cuellos de botella de E/S o CPU.
DCGM_FI_DEV_SM_UTIL Eficiencia de multiprocesador de streaming (% núcleos activos) 0–100% Los valores bajos con un uso elevado de memoria indican una carga de trabajo enlazada a memoria
DCGM_FI_DEV_FB_USED Memoria framebuffer usada (bytes) De 0 a la memoria total Uso de límites de memoria de GPU de pod y seguimiento del uso de memoria por pod
DCGM_FI_DEV_FB_FREE Memoria de GPU libre (bytes) 0 al memoria total Útil para programar y evitar errores de OOM
DCGM_FI_DEV_MEMORY_UTIL Uso de memoria (%) 0–100% Combinación con el uso de GPU/SM para determinar las cargas de trabajo enlazadas a memoria
DCGM_FI_DEV_MEMORY_CLOCK Frecuencia del reloj de memoria actual (MHz) 0 al reloj de memoria máximo Los valores bajos en un uso elevado de memoria pueden indicar limitación
DCGM_FI_DEV_POWER_USAGE Uso instantáneo de energía (Watts) De 0 a TDP Las caídas durante un uso elevado pueden indicar limitación
DCGM_FI_DEV_TEMPERATURE Temperatura de GPU (°C) ~30–85°C normal Alerta sobre temperaturas altas sostenidas
DCGM_FI_DEV_NVLINK_RX Uso del ancho de banda de recepción de NVLink (%) 0–100% Cuello de botella de sincronización de varias GPU si es alto con un uso bajo de SM
DCGM_FI_DEV_XID_ERRORS Errores críticos de GPU notificados por el controlador Normalmente 0 Se requiere una investigación inmediata; puede no tolerar el nodo en Kubernetes

Para obtener información sobre el conjunto completo de métricas de GPU, visite la documentación original de NVIDIA DCGM.

Pasos siguientes