Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
- Un clúster de AKS con un grupo de nodos habilitado para GPU totalmente administrado (versión preliminar) y garantizar que las GPU sean susceptibles de ser programadas.
- Una carga de trabajo de GPU de ejemplo implementada en el grupo de nodos.
Limitaciones
- Las métricas de GPU administradas no se admiten actualmente con Azure Managed Prometheus o Azure Managed Grafana.
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.
Métricas de PCIe y NVLink
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
- Realiza un seguimiento del estado de salud del nodo de GPU con el Detector de problemas de nodo (NPD)
- Creación de grupos de nodos de GPU de varias instancias en AKS
- Descubre el Complemento del operador de cadena de herramientas de IA para la inferencia de IA y ajuste preciso