A integração do NVIDIA Data Center GPU Manager recolhe métricas avançadas importantes da GPU do DCGM. Pode configurar o agente de operações para recolher um de dois conjuntos diferentes de métricas selecionando a versão do recetor dcgm
:
- A versão 2 do recetor
dcgm
oferece um conjunto de métricas organizado para monitorizar o desempenho e o estado das GPUs anexadas a uma determinada instância de VM. - A versão 1 do recetor fornece um conjunto de métricas de criação de perfis destinadas a serem usadas em combinação com as métricas de GPU predefinidas.
dcgm
Para ver informações sobre a finalidade e a interpretação destas métricas, consulte o artigo Métricas de criação de perfis na vista geral da funcionalidade DCGM.
Para mais informações sobre o NVIDIA Data Center GPU Manager, consulte a documentação do DCGM. Esta integração é compatível com a versão 3.1 a 3.3.9 do DCGM.
Estas métricas só estão disponíveis para sistemas Linux. As métricas de criação de perfis não são recolhidas dos modelos de GPU NVIDIA P100 e P4.
Pré-requisitos
Para recolher métricas do NVIDIA DCGM, tem de fazer o seguinte:
-
- Métricas da versão 1: versão 2.38.0 ou superior do agente de operações. Apenas a versão 2.38.0 do Ops Agent ou as versões 2.41.0 ou superiores são compatíveis com a monitorização de GPUs. Não instale as versões 2.39.0 e 2.40.0 do agente de operações em VMs com GPUs anexadas. Para mais informações, consulte o artigo O agente falha e o relatório menciona a NVIDIA.
- Métricas da versão 2: versão 2.51.0 ou superior do agente de operações.
Instale o DCGM e valide a instalação
Tem de instalar a versão 3.1 a 3.3.9 do DCGM e garantir que é executado como um serviço privilegiado. Para instalar o DCGM, consulte a secção Instalação na documentação do DCGM.
Para verificar se o DCGM está a ser executado corretamente, faça o seguinte:
Verifique o estado 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
é apresentado comoactive (running)
. O resultado é semelhante ao seguinte:● 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 GPU são encontrados executando o seguinte comando:
dcgmi discovery --list
Se forem encontrados dispositivos, o resultado é semelhante ao seguinte:
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 | +--------+----------------------------------------------------------------------+
Configure o agente Ops para o DCGM
Seguindo o guia para Configurar o agente Ops, adicione os elementos necessários para recolher telemetria do seu serviço DCGM e reinicie o agente.
Exemplo de configuração
Os comandos seguintes criam a configuração para recolher e carregar as métricas da versão 2 do recetor para o NVIDIA DCGM:
Se quiser recolher apenas métricas de criação de perfis do DCGM, substitua o valor do campo receiver_version
por 1
. Também pode remover a entrada receiver_version
por completo. A versão predefinida é 1
.
Não pode usar ambas as versões em simultâneo.
Para que estas alterações entrem em vigor, tem de reiniciar o agente de operações:
- Para reiniciar o agente, execute o seguinte comando na sua instância:
sudo systemctl restart google-cloud-ops-agent
- Para confirmar que o agente foi reiniciado, execute o seguinte comando e
verifique se os componentes "Agente de métricas" e "Agente de registo" foram iniciados:
sudo systemctl status "google-cloud-ops-agent*"
Se receber uma mensagem de erro como "Não é possível estabelecer ligação ao daemon DCGM em localhost:5555 no libdcgm.so não encontrado; o daemon DCGM está em execução?", provavelmente instalou a versão 4.0 do serviço DGCM. O nome da biblioteca partilhada DCGM foi mudado para libdgcdm.so.4
, que o recetor DCGM do agente de operações não reconhece. Tem de usar a versão 3.1 a 3.3.9 do DCGM.
Se estiver a usar uma conta de serviço personalizada em vez da conta de serviço do Compute Engine predefinida ou se tiver uma VM do Compute Engine muito antiga, pode ter de autorizar o agente de operações.
Configure a recolha de métricas
Para carregar métricas do NVIDIA DCGM, tem de criar um recetor para as métricas produzidas pelo NVIDIA DCGM e, em seguida, criar um pipeline para o novo recetor.
Este recetor não suporta a utilização de várias instâncias na configuração, por exemplo, para monitorizar vários pontos finais. Todas essas instâncias escrevem na mesma série cronológica e o Cloud Monitoring não tem forma de as distinguir.
Para configurar um destinatário para as suas métricas dcgm
, especifique os seguintes campos:
Campo | Predefinição | Descrição |
---|---|---|
collection_interval |
60s |
Uma duração, como 30s ou 5m . |
endpoint |
localhost:5555 |
Morada do serviço DCGM, formatada como host:port . |
receiver_version |
1 |
1 ou 2. A versão 2 tem muito mais métricas disponíveis. |
type |
Este valor tem de ser dcgm . |
O que é monitorizado
As tabelas seguintes apresentam listas de métricas que o agente de operações recolhe da instância do NVIDIA DGCM. Nem todas as métricas estão disponíveis para todos os modelos de GPU. As métricas de criação de perfis não são recolhidas dos modelos de GPU NVIDIA P100 e P4.
Métricas da versão 1
As seguintes métricas são recolhidas através da versão 1 do recetor dcgm
.
Tipo de métrica | |
---|---|
Tipo, Tipo Recursos monitorizados |
Etiquetas |
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 o nível 4, o valor pipe
fp64
não é suportado.
Métricas da versão 2
As seguintes métricas são recolhidas através da versão 2 do recetor dcgm
.
Tipo de métrica | |
---|---|
Tipo, Tipo Recursos monitorizados |
Etiquetas |
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 são suportados os valores violation
power
, thermal
e sync_boost
.
‡ Não disponível nos modelos de GPU P100 e P4.
§ Para L4, o valor pipe
fp64
não é suportado.
Métricas de GPU
Além disso, a configuração integrada do agente de operações também recolhe agent.googleapis.com/gpu
métricas, que
são comunicadas pela NVIDIA
Management Library (NVML).
Não precisa de nenhuma configuração adicional no agente de operações para recolher estas métricas, mas tem de
criar a sua VM com GPUs anexadas e
instalar o controlador de GPU. Para mais informações, consulte o artigo
Acerca das
gpu
métricas. As métricas da versão 1 do recetor foram concebidas para complementar estas métricas predefinidas, enquanto as métricas da versão 2 do recetor destinam-se a ser autónomas.dcgm
dcgm
Valide a configuração
Esta secção descreve como verificar se configurou corretamente o recetor NVIDIA DCGM. O agente de operações pode demorar um ou dois minutos a começar a recolher telemetria.
Para verificar se as métricas do NVIDIA DCGM estão a ser enviadas para o Cloud Monitoring, faça o seguinte:
-
Na Google Cloud consola, aceda à página leaderboard Explorador de métricas:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na barra de ferramentas do painel do criador de consultas, selecione o botão cujo nome é code MQL ou code PromQL.
- Verifique se a opção PromQL está selecionada no botão Idioma. O botão para alternar o idioma encontra-se na mesma barra de ferramentas que lhe permite formatar a consulta.
- Para métricas da v1, introduza a seguinte consulta no editor e, de seguida,
clique em Executar consulta:
{"workload.googleapis.com/dcgm.gpu.profiling.sm_utilization", monitored_resource="gce_instance"}
- Para métricas da v2, introduza a seguinte consulta no editor e, de seguida,
clique em Executar:
{"workload.googleapis.com/gpu.dcgm.sm.utilization", monitored_resource="gce_instance"}
Ver o painel de controlo
Para ver as métricas do NVIDIA DCGM, tem de ter um gráfico ou um painel de controlo configurado. A integração do NVIDIA DCGM inclui um ou mais painéis de controlo para si. Todos os painéis de controlo são instalados automaticamente depois de configurar a integração e o agente de operações começar a recolher dados de métricas.
Também pode ver pré-visualizações estáticas de painéis de controlo sem instalar a integração.
Para ver um painel de controlo instalado, faça o seguinte:
-
Na Google Cloud consola, aceda à página
Painéis de controlo:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Selecione o separador Lista de painéis de controlo e, de seguida, escolha a categoria Integrações.
- Clique no nome do painel de controlo que quer ver.
Se configurou uma integração, mas o painel de controlo não foi instalado, verifique se o agente de operações está em execução. Quando não existem dados de métricas para um gráfico no painel de controlo, a instalação do painel de controlo falha. Depois de o agente de operações começar a recolher métricas, o painel de controlo é instalado para si.
Para ver uma pré-visualização estática do painel de controlo, faça o seguinte:
-
Na Google Cloud consola, aceda à página
Integrações:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Clique no filtro da plataforma de implementação Compute Engine.
- Localize a entrada para NVIDIA DCGM e clique em Ver detalhes.
- Selecione o separador Painéis de controlo para ver uma pré-visualização estática. Se o painel de controlo estiver instalado, pode navegar até ele clicando em Ver painel de controlo.
Para mais informações acerca dos painéis de controlo no Cloud Monitoring, consulte o artigo Painéis de controlo e gráficos.
Para mais informações sobre como usar a página Integrações, consulte o artigo Gerir integrações.
Limitações do DCGM e pausa da criação de perfis
A utilização simultânea do DCGM pode entrar em conflito com a utilização de algumas outras ferramentas de programador da NVIDIA, como o Nsight Systems ou o Nsight Compute. Esta limitação aplica-se às GPUs NVIDIA A100 e anteriores. Para mais informações, consulte Taxa de amostragem de criação de perfis na vista geral da funcionalidade DCGM.
Quando precisa de usar ferramentas como o Nsight Systems sem interrupções significativas, pode pausar ou retomar temporariamente a recolha de métricas através dos seguintes comandos:
dcgmi profile --pause dcgmi profile --resume
Quando a criação de perfis está em pausa, nenhuma das métricas do DCGM que o agente de operações recolhe é emitida a partir da VM.
O que se segue?
Para ver um passo a passo sobre como usar o Ansible para instalar o agente de operações, configurar uma aplicação de terceiros e instalar um painel de controlo de exemplo, consulte o vídeo Instale o agente de operações para resolver problemas de aplicações de terceiros.