A integração do NVIDIA Data Center GPU Manager coleta as principais métricas avançadas
de GPU do DCGM. O agente de operações pode ser configurado para coletar um dos dois
conjuntos diferentes de métricas selecionando a versão do receptor dcgm
:
- A versão 2 do receptor
dcgm
fornece um conjunto de métricas selecionadas para monitorar o desempenho e o estado das GPUs anexadas a uma determinada instância de VM. - A versão 1 do receptor
dcgm
fornece um conjunto de métricas de criação de perfil que devem ser usadas em combinação com as métricas padrão de GPU. Para informações sobre a finalidade e a interpretação dessas métricas, consulte Como criar perfis de métricas na visão geral do recurso DCGM.
Para mais informações sobre o Gerenciador de GPUs do NVIDIA Data Center, consulte a documentação do DCGM. Essa integração é compatível com o DCGM versão 3.1 e posterior.
Essas métricas estão disponíveis apenas para sistemas Linux. As métricas de perfil não são coletadas dos modelos de GPU NVIDIA P100 e P4.
Pré-requisitos
Para coletar as métricas do NVIDIA DCGM, faça o seguinte:
Instalar o Agente de operações.
- Métricas da versão 1: Agente de operações versão 2.38.0 ou mais recente. Somente o Agente de operações versão 2.38.0 ou 2.41.0 ou mais recente é compatível com o monitoramento da GPU. Não instale as versões 2.39.0 e 2.40.0 do Agente de operações em VMs com GPUs anexadas. Para ver mais informações, consulte Falhas do agente e relatórios menciona a NVIDIA.
- Métricas da versão 2: Agente de operações versão 2.51.0 ou mais recente.
Instalar o DCGM e verificar a instalação
É necessário instalar um DCGM versão 3.1 e posterior e garantir que ele seja executado como um serviço privilegiado. Para instalar o DCGM, consulte Instalação na documentação do DCGM.
Para verificar se o DCGM está sendo executado corretamente, faça o seguinte:
Verifique o status do serviço DCGM executando o seguinte comando:
sudo service nvidia-dcgm status
Se o serviço estiver em execução, o serviço
nvidia-dcgm
será listado comoactive (running)
. A saída será assim:● nvidia-dcgm.service - NVIDIA DCGM service Loaded: loaded (/usr/lib/systemd/system/nvidia-dcgm.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2023-01-07 15:24:29 UTC; 3s ago Main PID: 24388 (nv-hostengine) Tasks: 7 (limit: 14745) CGroup: /system.slice/nvidia-dcgm.service └─24388 /usr/bin/nv-hostengine -n --service-account nvidia-dcgm
Verifique se os dispositivos da GPU são encontrados executando o seguinte comando:
dcgmi discovery --list
Se forem encontrados dispositivos, a saída será semelhante a esta:
1 GPU found. +--------+----------------------------------------------------------------------+ | GPU ID | Device Information | +--------+----------------------------------------------------------------------+ | 0 | Name: NVIDIA A100-SXM4-40GB | | | PCI Bus ID: 00000000:00:04.0 | | | Device UUID: GPU-a2d9f5c7-87d3-7d57-3277-e091ad1ba957 | +--------+----------------------------------------------------------------------+
Configurar o agente de operações para o DCGM
Seguindo o guia Como configurar o agente de operações, adicione os elementos necessários para coletar a telemetria do serviço DCGM e reiniciar o agente.
Exemplo de configuração
Os comandos a seguir criam a configuração para coletar e ingerir as métricas da versão 2 do receptor para o DCGM da NVIDIA e reiniciar o agente de operações:
Se você quiser coletar apenas as métricas de perfil do DCGM, substitua o valor do
campo receiver_version
por 1
. Também é possível remover a entrada receiver_version
por completo. A versão padrão é 1
.
Não é possível usar as duas versões ao mesmo tempo.
Depois de executar esses comandos, verifique se o agente foi reiniciado. Execute o comando a seguir e verifique se os componentes do subagente "Agente de métrica" e "Agente de geração de registros" estão listados como "ativo (em execução)":
sudo systemctl status google-cloud-ops-agent"*"
Se você estiver usando uma conta de serviço personalizada em vez da conta de serviço padrão do Compute Engine ou se tiver uma VM muito antiga do Compute Engine, talvez seja necessário autorizar o agente de operações.
Configurar a coleta de métricas
Para ingerir métricas do NVIDIA DCGM, é preciso criar um receptor para as métricas produzidas pelo NVIDIA DCGM e, em seguida, criar um pipeline para o novo receptor.
Esse receptor não aceita o uso de várias instâncias na configuração, por exemplo, para monitorar vários endpoints. Todas essas instâncias gravam na mesma série temporal, e o Cloud Monitoring não tem como diferenciá-las.
Para configurar um receptor para suas
métricas do dcgm
, especifique os campos
a seguir:
Campo | Padrão | Descrição |
---|---|---|
collection_interval |
60s |
Um valor de time.Duration, como 30s ou 5m . |
endpoint |
localhost:5555 |
Endereço do serviço DCGM, formatado como host:port . |
receiver_version |
1 |
1 ou 2. A versão 2 tem muito mais métricas disponíveis. |
type |
Este valor precisa ser dcgm . |
O que é monitorado?
As tabelas a seguir fornecem listas de métricas que o agente de operações coleta da instância do DGCM da NVIDIA. Nem todas as métricas estão disponíveis para todos os modelos de GPU. As métricas de perfil não são coletadas dos modelos de GPU NVIDIA P100 e P4.
Métricas da versão 1
As métricas a seguir são coletadas usando a versão 1 do receptor dcgm
.
Tipo de métrica | |
---|---|
Tipo, tipo Recursos monitorados |
Rótulos |
workload.googleapis.com/dcgm.gpu.profiling.dram_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.nvlink_traffic_rate †
|
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pcie_traffic_rate †
|
|
GAUGE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.pipe_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model pipe ‡uuid
|
workload.googleapis.com/dcgm.gpu.profiling.sm_occupancy †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/dcgm.gpu.profiling.sm_utilization †
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
† Não disponível nos modelos de GPU P100 e P4.
‡ Para L4, o valor pipe
fp64
não é compatível.
Métricas da versão 2
As métricas a seguir são coletadas usando a versão 2 do receptor dcgm
.
Tipo de métrica | |
---|---|
Tipo, tipo Recursos monitorados |
Rótulos |
workload.googleapis.com/gpu.dcgm.clock.frequency
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.clock.throttle_duration.time
|
|
CUMULATIVE , DOUBLE gce_instance |
gpu_number model uuid violation †
|
workload.googleapis.com/gpu.dcgm.codec.decoder.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.codec.encoder.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.ecc_errors
|
|
CUMULATIVE , INT64 gce_instance |
error_type gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.energy_consumption
|
|
CUMULATIVE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.memory.bandwidth_utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.memory.bytes_used
|
|
GAUGE , INT64 gce_instance |
gpu_number model state uuid
|
workload.googleapis.com/gpu.dcgm.nvlink.io ‡
|
|
CUMULATIVE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.pcie.io ‡
|
|
CUMULATIVE , INT64 gce_instance |
direction gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.pipe.utilization ‡
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model pipe §uuid
|
workload.googleapis.com/gpu.dcgm.sm.utilization ‡
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.temperature
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
workload.googleapis.com/gpu.dcgm.utilization
|
|
GAUGE , DOUBLE gce_instance |
gpu_number model uuid
|
† Para P100 e P4, apenas os valores violation
power
, thermal
e sync_boost
são aceitos.
‡ Não disponível nos modelos de GPU P100 e P4.
§ Para L4, o valor pipe
fp64
não é compatível.
Métricas da GPU
Além disso, a configuração integrada do agente de operações
também coleta métricas
agent.googleapis.com/gpu
, que
são informadas pela
biblioteca de gerenciamento
da NVIDIA (NVML).
Nenhuma ação adicional é necessária no Agente de operações para coletar essas métricas, mas é necessário
criar sua VM com GPUs anexadas e instalar o driver da GPU. Para mais informações, consulte Sobre as métricas gpu
. As métricas da versão 1 do receptor dcgm
são
projetadas para complementar essas métricas padrão, enquanto as métricas da versão 2 do receptor dcgm
são independentes.
Verificar a configuração
Nesta seção, descrevemos como verificar se você configurou corretamente o receptor NVIDIA DCGM. Pode levar um ou dois minutos para que o agente de operações comece a coletar telemetria.
Para verificar se as métricas do NVIDIA DCGM estão sendo enviadas para o Cloud Monitoring, faça o seguinte:
-
No console do Google Cloud, acesse a página do leaderboard Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do painel do criador de consultas, selecione o botão code MQL ou code PromQL.
- Verifique se MQL está selecionado na opção de ativar/desativar MQL. A alternância de idiomas está na mesma barra de ferramentas que permite formatar sua consulta.
- Para métricas da v1, insira a seguinte consulta no editor e
clique em Executar:
fetch gce_instance | metric 'workload.googleapis.com/dcgm.gpu.profiling.sm_utilization' | every 1m
- Para métricas da v2, insira a seguinte consulta no editor e
clique em Executar:
fetch gce_instance | metric 'workload.googleapis.com/gpu.dcgm.sm.utilization' | every 1m
Ver painel
Para visualizar as métricas do NVIDIA DCGM, é necessário ter um gráfico ou um painel configurado. A integração com o NVIDIA DCGM inclui um ou mais painéis. Todos os painéis são instalados automaticamente depois que você configura a integração e o Agente de operações começa a coletar dados de métricas.
Também é possível ver visualizações estáticas de painéis sem instalar a integração.
Para ver um painel instalado, faça o seguinte:
-
No console do Google Cloud, acesse a página Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Selecione a guia Lista de painéis e escolha a categoria Integrações.
- Clique no nome do painel que você quer visualizar.
Se você configurou uma integração, mas o painel não foi instalado, verifique se o agente de operações está em execução. Quando não há dados de métricas para um gráfico no painel, a instalação do painel falha. Depois que o Agente de operações começar a coletar métricas, o painel será instalado para você.
Para acessar uma visualização estática do painel, faça o seguinte:
-
No console do Google Cloud, acesse a página Integrações:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Clique no filtro de plataforma de implantação do Compute Engine.
- Localize a entrada do NVIDIA DCGM e clique em Conferir detalhes.
- Selecione a guia Painéis para uma visualização estática. Se o painel estiver instalado, navegue até ele clicando em Ver painel.
Para mais informações sobre painéis no Cloud Monitoring, consulte Painéis e gráficos.
Para mais informações sobre como usar a página Integrações, consulte Gerenciar integrações.
Limitações do DCGM e pausa da criação de perfil
O uso simultâneo do DCGM pode entrar em conflito com algumas outras ferramentas de desenvolvedor da NVIDIA, como Nsight Systems ou Nsight Compute. Essa limitação se aplica à NVIDIA A100 e a GPUs anteriores. Para mais informações, consulte Como criar o perfil da taxa de amostragem na modificação do recurso DCGM.
Quando você precisar usar ferramentas como o Nsight Systems sem interrupções significativas, é possível pausar ou retomar temporariamente a coleta de métricas usando os seguintes comandos:
dcgmi profile --pause dcgmi profile --resume
Quando a criação de perfil é pausada, nenhuma das métricas DCGM que o agente de operações coleta é emitida da VM.
A seguir
Para ver um tutorial sobre como usar o Ansible para instalar o agente de operações, configurar um aplicativo de terceiros e instalar um painel de amostra, consulte o vídeo Instalação do agente de operações para resolver problemas de aplicativos de terceiros.