Compartilhar via


Saiba mais sobre as métricas de GPU da NVIDIA para otimizar o desempenho e a utilização da GPU no AKS (Serviço de Kubernetes do Azure)

O posicionamento eficiente e a otimização de cargas de trabalho de GPU geralmente exigem visibilidade da utilização e do desempenho dos recursos. As métricas de GPU gerenciadas no AKS (versão prévia) fornecem coleta automatizada e exposição de dados de utilização, memória e desempenho da GPU em pools de nós habilitados para GPU da NVIDIA. Isso permite que os administradores de plataforma otimizem os recursos de cluster e que os desenvolvedores ajustem e depurem cargas de trabalho com uma quantidade limitada de instrumentação manual.

Neste artigo, você aprenderá sobre as métricas de GPU coletadas pelo exportador do DCGM ( NVIDIA Data Center GPU Manager) com um pool de nós totalmente gerenciado habilitado para GPU (versão prévia) no AKS (Serviço de Kubernetes do Azure).

Importante

As funcionalidades em versão preliminar do AKS estão disponíveis de forma optativa e por autoatendimento. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:

Pré-requisitos

Limitações

Verificar se os componentes de GPU gerenciados estão instalados

Depois de criar o pool de nós de GPU NVIDIA gerenciado (versão prévia) seguindo estas instruções, confirme se os componentes de software da GPU foram instalados com o comando az aks nodepool show:

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

Sua saída deve incluir os seguintes valores:

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

Noções básicas sobre métricas de GPU

Métricas de utilização de GPU

As métricas de utilização de GPU mostram a porcentagem de tempo em que os núcleos da GPU estão processando ativamente o trabalho. Valores altos indicam que a GPU é muito usada, o que geralmente é desejável para cargas de trabalho, como treinamento ou processamento de dados. A interpretação dessa métrica deve considerar o tipo de carga de trabalho: o treinamento de IA normalmente mantém a utilização alta, enquanto a inferência pode ter utilização ocasional devido ao tráfego irregular.

Utilização de Memória: mostra o percentual de memória de GPU em uso. O alto uso de memória sem alta utilização de GPU pode indicar cargas de trabalho associadas à memória em que a GPU aguarda em transferências de memória. O baixo uso de memória com baixa utilização pode sugerir que a carga de trabalho é muito pequena para aproveitar totalmente a GPU.

Eficiência de SM (Multiprocessador de Streaming): mede a eficiência com que os núcleos da GPU são usados. Uma baixa eficiência de SM indica que os núcleos estão ociosos ou mal utilizados devido ao desequilíbrio de balanceamento de carga ou ao design de kernel subótimo. A alta eficiência é ideal para aplicativos de computação pesada.

Métricas de memória

Utilização de largura de banda de memória: reflete quanto da largura de banda de memória teórica está sendo consumida. A alta utilização de largura de banda com baixa utilização de computação pode indicar uma carga de trabalho associada à memória. Por outro lado, a alta utilização tanto do processamento quanto da largura de banda de memória sugere uma carga de trabalho bem equilibrada.

Erros de memória: monitora erros de ECC (Error-Correcting Code) se habilitado. Um alto número de erros pode indicar degradação de hardware ou problemas térmicos e deve ser monitorado quanto à confiabilidade.

Métricas de temperatura e energia

Temperatura da GPU: indica a temperatura operacional da GPU. Altas temperaturas sustentadas podem desencadear limitação térmica, reduzindo o desempenho. A interpretação ideal dessa métrica envolve observar a temperatura em relação aos limites térmicos e à capacidade de resfriamento da GPU.

Uso de energia: mostra o consumo instantâneo de energia. Comparar o uso de energia com o TDP (Energia de Design Térmico) ajuda a entender se a GPU está sendo enviada para seus limites. Quedas repentinas de potência podem indicar limitação ou subutilização.

Relógios e Métricas de Frequência

Relógio de GPU: a frequência operacional real da GPU. Combinado com a utilização, isso ajuda a determinar se a GPU está em modo de limitação ou está apresentando desempenho inferior ao seu potencial.

Relógio de Memória: Frequência operacional da memória de GPU. Cargas de trabalho associadas à memória podem se beneficiar de frequências de memória mais altas; uma incompatibilidade entre a memória e o uso do processamento pode realçar gargalos.

Largura de banda pcie: mede a taxa de transferência sobre o barramento PCIe. A baixa utilização com cargas de trabalho pesadas pode sugerir que a comunicação entre CPU e GPU não é um gargalo. A alta utilização pode apontar para limitações de transferência de dados que afetam o desempenho.

Largura de banda NVLink: essa métrica é semelhante à largura de banda PCIe, mas específica para interconexões NVLink e relevante em sistemas de várias GPUs para comunicação entre GPUs. O alto uso do NVLink com baixa utilização de SM pode indicar atrasos de sincronização ou transferência de dados.

Métricas de erro e confiabilidade

Páginas retiradas e erros XID: acompanhe erros de memória de GPU e falhas críticas. Ocorrências frequentes sinalizam possíveis falhas de hardware e exigem atenção para cargas de trabalho de longa execução.

Diretrizes de interpretação

As métricas de DCGM sempre devem ser interpretadas contextualmente com o tipo de carga de trabalho no AKS. Uma carga de trabalho com alto uso intensivo de computação deve, idealmente, mostrar alta utilização de GPU e SM, alto uso de largura de banda de memória, temperaturas estáveis abaixo dos limites de limitação e extração de energia perto, mas abaixo do TDP.

Cargas de trabalho associadas à memória podem mostrar alta utilização de memória e largura de banda, mas menor utilização de computação. Anomalias como baixa utilização com alta temperatura ou consumo excessivo de energia geralmente indicam estrangulamento, agendamento ineficiente ou gargalos no nível do sistema.

Monitorar tendências ao longo do tempo em vez de instantâneos únicos é fundamental. Quedas repentinas na utilização ou picos de erros geralmente revelam problemas subjacentes antes de afetarem as cargas de trabalho de produção. Comparar métricas entre várias GPUs também pode ajudar a identificar exceções ou dispositivos com comportamento inadequado em um cluster. Entender essas métricas em combinação, em vez de isolamento, fornece a visão mais clara sobre a eficiência da GPU e o desempenho da carga de trabalho.

Métricas comuns de GPU

As seguintes métricas do NVIDIA DCGM são normalmente avaliadas quanto ao desempenho de pools de nós de GPU no Kubernetes:

Nome da métrica da GPU Meaning Intervalo/indicador típico Dica de uso
DCGM_FI_DEV_GPU_UTIL Utilização de GPU (% tempo em que os núcleos de GPU estão ativos) 0 a 100% (superior é melhor) Monitorar por nó e por pod; valores baixos podem indicar gargalos de CPU ou de entrada/saída
DCGM_FI_DEV_SM_UTIL Eficiência do multiprocessador de streaming (% núcleos ativos) 0 a 100% Valores baixos com alto uso de memória indicam uma carga de trabalho associada à memória
DCGM_FI_DEV_FB_USED Memória do framebuffer usada (bytes) 0 para memória total Usar limites de memória de GPU do pod e acompanhar o uso de memória de cada pod.
DCGM_FI_DEV_FB_FREE Memória de GPU gratuita (bytes) 0 para memória total Útil para agendar e evitar erros de OOM
DCGM_FI_DEV_MEMORY_UTIL Utilização da memória (%) 0 a 100% Combinar com a utilização de GPU/SM para determinar cargas de trabalho associadas à memória
DCGM_FI_DEV_MEMORY_CLOCK Frequência do relógio de memória atual (MHz) Relógio de memória de 0 a máximo Valores baixos sob alta utilização de memória podem indicar limitação
DCGM_FI_DEV_POWER_USAGE Uso instantâneo de energia (Watts) 0 para TDP Quedas durante a alta utilização podem indicar limitação
DCGM_FI_DEV_TEMPERATURE Temperatura da GPU (°C) ~ 30 a 85 °C normal Alerta sobre altas temperaturas sustentadas
DCGM_FI_DEV_NVLINK_RX NVLink recebe utilização de largura de banda (%) 0 a 100% Gargalo de sincronização de várias GPUs se for alto com baixa utilização de SM
DCGM_FI_DEV_XID_ERRORS Erros críticos da GPU reportados pelo driver Normalmente 0 Investigação imediata necessária; pode manchar nó no Kubernetes

Para saber mais sobre o conjunto completo de métricas de GPU, visite a documentação NVIDIA DCGM Upstream.

Próximas etapas