Procedimientos recomendados de observabilidad de GPU para Azure Kubernetes Service (AKS)

En este artículo se proporcionan procedimientos recomendados para supervisar e interpretar las señales de GPU en Azure Kubernetes Service (AKS). En lugar de examinar las métricas de GPU de NVIDIA de forma aislada, correlaciona las señales entre el uso, la memoria y el contexto de la carga de trabajo para mejorar el rendimiento a largo plazo y la eficiencia de los nodos.

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:

Descripción del uso de GPU frente a la saturación

No trate la métrica DCGM_FI_DEV_GPU_UTIL NVIDIA DCGM como una puntuación de eficiencia directa. DCGM_FI_DEV_GPU_UTIL solo indica la frecuencia con la que los kernels están activos, por lo que no indica si la carga de trabajo es eficiente en el cálculo. Para obtener instrucciones más precisas, debe correlacionar las señales de uso en lugar de leerlas de forma independiente. Compare DCGM_FI_DEV_GPU_UTIL con DCGM_FI_PROF_SM_ACTIVE y, a continuación, compare DCGM_FI_PROF_SM_ACTIVE con DCGM_FI_PROF_DRAM_ACTIVE para identificar si su cuello de botella es la proceso, la memoria o la sobrecarga de lanzamiento y sincronización.

Un valor alto de DCGM_FI_DEV_GPU_UTIL con un valor bajo de DCGM_FI_PROF_SM_ACTIVE suele indicar sobrecarga de lanzamiento, bloqueos de sincronización o contienda de memoria. Un valor alto de DCGM_FI_PROF_SM_ACTIVE con un valor bajo de DCGM_FI_PROF_DRAM_ACTIVE es más coherente con un comportamiento limitado por la proceso. Valores más altos DCGM_FI_PROF_DRAM_ACTIVE con valores más bajos DCGM_FI_PROF_SM_ACTIVE suele indicar una ejecución limitada por memoria.

Nota:

DCGM_FI_PROF_SM_ACTIVE y DCGM_FI_PROF_DRAM_ACTIVE son campos de generación de perfiles DCGM y pueden no aparecer de forma predeterminada para todos los tipos de arquitectura de GPU de NVIDIA que se ofrecen en tamaños de máquina virtual (VM) de Azure.

Este enfoque que da prioridad a la correlación le ayuda a evitar el escalado horizontal cuando el problema de fondo podría ser la eficiencia del kernel o los patrones de acceso a la memoria. Para obtener una semántica detallada de métricas, consulte la guía de usuario de NVIDIA DCGM.

Uso de la presión de memoria como señal de programación principal

Si la memoria se aproxima repetidamente a umbrales fuera de memoria, trate ese patrón como un indicador temprano de inestabilidad. Kubernetes no dispone de una señal nativa de presión sobre la memoria de la GPU, por lo que el agotamiento de la VRAM suele manifestarse únicamente a través de la eliminación de contenedores por falta de memoria (OOM) y la interrupción de los pods, a menudo mucho después de que la telemetría de DCGM haya mostrado la tendencia.

Automatización de acciones de ciclo de vida de nodos desde señales de estado de GPU

Esta práctica es especialmente importante para los grupos de nodos de GPU de AKS de larga duración en los que el envejecimiento del host puede variar entre nodos.

Alineación de señales de observabilidad con decisiones de escalado

Para el escalado vertical, cree un nuevo grupo de nodos en una SKU de máquina virtual de Azure habilitada para GPU diferente y migre las cargas de trabajo cuando las restricciones de energía o térmicas limiten el rendimiento, por ejemplo, cuando DCGM_FI_DEV_POWER_USAGE permanece cerca del límite mientras DCGM_FI_PROF_SM_ACTIVE se mantiene plano a pesar de la demanda.

Separar las directivas de observabilidad de MIG y no MIG

Cuando MIG está habilitado, el ámbito de cada métrica cambia, por lo que se deben interpretar las señales de manera diferente.

Publicar métricas de eficiencia de GPU sensibles a los costos

Optimice la visibilidad de los costos, no solo el rendimiento. Una métrica derivada de alto valor para los equipos de la plataforma de AKS es los segundos de GPU utilizados frente a los segundos de GPU asignados. Utiliza la telemetría de DCGM y las uniones de contexto de Kubernetes para publicar esta métrica por espacio de nombres y clase de carga de trabajo, y luego revísala a lo largo del tiempo como un KPI compartido para los equipos de plataforma y finanzas. Este enfoque define una fuente común de verdad para las decisiones de optimización y ayuda a evitar que la asignación excesiva se oculte mediante promedios de uso agregado.

Pasos siguientes