Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O posicionamento e a otimização eficientes das cargas de trabalho da GPU geralmente exigem visibilidade sobre a utilização e o desempenho dos recursos. As métricas de GPU geridas no AKS (visualização) fornecem a recolha e exposição automatizadas de dados de utilização, memória e desempenho da GPU em conjuntos de nós equipados com GPU NVIDIA. Isso permite que os administradores de plataforma otimizem os recursos de cluster e os desenvolvedores ajustem e depurem cargas de trabalho com instrumentação manual limitada.
Neste artigo, você aprenderá sobre as métricas de GPU coletadas pelo exportador do NVIDIA Data Center GPU Manager (DCGM) com um pool de nós habilitado para GPU totalmente gerenciado (visualização) no Serviço Kubernetes do Azure (AKS).
Important
Os recursos de pré-visualização do AKS estão disponíveis numa base de autosserviço e adesão voluntária. As visualizações prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões de teste do AKS são parcialmente cobertas pelo suporte ao cliente numa base de melhor esforço. Assim sendo, estas funcionalidades não se destinam ao uso em produção. Para obter mais informações, consulte os seguintes artigos de suporte:
Pré-requisitos
- Um cluster AKS com um pool de nós totalmente gerenciado com GPU (visualização) e garantir que as GPUs sejam agendáveis.
- Um exemplo de carga de trabalho de GPU implantada no seu pool de nós.
Limitações
- Atualmente, não há suporte para métricas de GPU gerenciada com o Azure Managed Prometheus ou o Azure Managed Grafana.
Verifique se os componentes gerenciados da GPU estão instalados
Depois de criar o seu pool de nós de GPU NVIDIA gerido (pré-visualização) 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 da GPU
As métricas de utilização da 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 desta métrica deve considerar o tipo de workload: o treinamento de IA normalmente mantém a utilização alta, enquanto a inferência pode ter utilização intermitente devido ao tráfego súbito.
Utilização da memória: mostra a porcentagem de memória da GPU em uso. O alto uso de memória sem alta utilização da GPU pode indicar cargas de trabalho ligadas à memória em que a GPU aguarda as 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.
SM (Streaming Multiprocessor) Efficiency: 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 subutilizados devido ao desequilíbrio da carga de trabalho ou ao design subótimo do kernel. A alta eficiência é ideal para aplicações de computação pesada.
Métricas de memória
Utilização da largura de banda da memória: Reflete quanto da largura de banda da memória teórica está sendo consumida. A alta utilização da largura de banda com baixa utilização de computação pode indicar uma carga de trabalho ligada à memória. Por outro lado, a alta utilização tanto na largura de banda de computação quanto na de memória sugere uma carga de trabalho bem equilibrada.
Erros de memória: controla erros do Código de Correção de Erros (ECC) se estiver ativado. 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 potência
Temperatura da GPU: indica a temperatura de funcionamento da GPU. Temperaturas elevadas sustentadas podem desencadear o estrangulamento térmico, reduzindo o desempenho. A interpretação ideal dessa métrica envolve a observação da temperatura em relação aos limites térmicos e à capacidade de resfriamento da GPU.
Uso de energia: Mostra o consumo de energia instantâneo. Comparar o uso de energia com TDP (Thermal Design Power) ajuda a entender se a GPU está sendo levada aos seus limites. Quedas bruscas de potência podem indicar limitação ou subutilização.
Relógios e métricas de frequência
GPU Clock: A frequência de operação real da GPU. Combinado com a utilização, isso ajuda a determinar se a GPU está com um desempenho inferior ou limitado em relação ao seu potencial.
Memory Clock: Frequência de operação da memória GPU. Cargas de trabalho dependentes de memória podem beneficiar de frequências de memória mais altas; uma incompatibilidade entre a utilização da memória e do processamento pode destacar gargalos.
Métricas PCIe e NVLink
Largura de banda PCIe: Mede a taxa de transferência no barramento PCIe. A baixa utilização com cargas de trabalho pesadas pode sugerir que a comunicação CPU-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: Esta métrica é semelhante à largura de banda PCIe, mas específica para interconexões NVLink e relevante em sistemas multi-GPU para comunicação entre GPUs. O alto uso de NVLink com baixa utilização de SM pode indicar atrasos na sincronização ou na transferência de dados.
Métricas de erro e confiabilidade
Páginas desativadas e erros XID: rastreie erros de memória da GPU e falhas críticas. Ocorrências frequentes sinalizam possíveis falhas de hardware e exigem atenção para cargas de trabalho de longa duração.
Guia de Interpretação
As métricas do DCGM devem sempre ser interpretadas contextualmente com o tipo de sua carga de trabalho no AKS. Idealmente, uma carga de trabalho intensiva em computação deve apresentar alta utilização de GPU e SM, elevado uso de largura de banda de memória, temperaturas estáveis abaixo dos limiares de estrangulamento e consumo de energia próximo, mas ainda abaixo, do TDP.
As cargas de trabalho ligadas à memória podem mostrar alta utilização de memória e largura de banda, mas menor utilização de computação. Anomalias, como a utilização baixa em conjunto com alta temperatura ou consumo de energia, geralmente indicam limitação, programação ineficiente ou gargalos a nível de sistema.
É fundamental monitorar as tendências ao longo do tempo, em vez de instantâneos únicos. Quedas repentinas na utilização ou picos de erros geralmente revelam problemas subjacentes antes que eles afetem as cargas de trabalho de produção. A comparação de métricas em várias GPUs também pode ajudar a identificar valores atípicos ou dispositivos com comportamento incorreto em um cluster. Compreender 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 da GPU
As seguintes métricas NVIDIA DCGM são comumente 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 da GPU (% tempo em que os núcleos da GPU estão ativos) | 0–100% (quanto maior melhor) | Monitor 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–100% | Valores baixos com alto uso de memória indicam uma carga de trabalho ligada à memória |
DCGM_FI_DEV_FB_USED |
Memória Framebuffer usada (bytes) | 0 para memória total | Utilize limites de memória de GPU para pods e rastreie a utilização de memória por pod |
DCGM_FI_DEV_FB_FREE |
Memória GPU livre (bytes) | 0 para memória total | Útil para agendar e evitar erros OOM |
DCGM_FI_DEV_MEMORY_UTIL |
Utilização da memória (%) | 0–100% | Combine com a utilização de GPU/SM para determinar cargas de trabalho ligadas à memória |
DCGM_FI_DEV_MEMORY_CLOCK |
Freqüência do relógio da memória atual (MHz) | 0 a máximo frequência de memória | Valores baixos sob alta utilização de memória podem indicar limitação |
DCGM_FI_DEV_POWER_USAGE |
Utilização instantânea de energia (Watts) | 0 a TDP | Quedas durante a alta utilização podem indicar restrição |
DCGM_FI_DEV_TEMPERATURE |
Temperatura da GPU (°C) | ~30–85°C normal | Alerta sobre temperaturas elevadas sustentadas |
DCGM_FI_DEV_NVLINK_RX |
Utilização da largura de banda de recebimento NVLink (%) | 0–100% | Gargalo de sincronização multi-GPU quando alto com baixa utilização de SM |
DCGM_FI_DEV_XID_ERRORS |
Erros críticos da GPU relatados pelo driver | Tipicamente 0 | É necessária uma investigação imediata; pode impor restrições ao nó do Kubernetes |
Para saber mais sobre o conjunto completo de métricas de GPU, visite a documentação do NVIDIA DCGM Upstream.
Próximos passos
- Acompanhe a integridade do nó da GPU com o NPD (Node Problem Detetor)
- Crie pools de nós de GPU de multi-instância no AKS
- Explore o complemento do operador da cadeia de ferramentas de IA para inferência e ajuste fino de IA