La integración de NVIDIA Data Center GPU Manager recoge métricas avanzadas clave de la GPU de DCGM. El agente de operaciones se puede configurar para recoger uno de los dos conjuntos de métricas diferentes seleccionando la versión del receptor dcgm
:
- La versión 2 del receptor
dcgm
proporciona un conjunto de métricas seleccionado para monitorizar el rendimiento y el estado de las GPUs conectadas a una instancia de VM determinada. - La versión 1 del receptor
dcgm
proporciona un conjunto de métricas de creación de perfiles que se pueden usar junto con las métricas de GPU predeterminadas. Para obtener información sobre el objetivo y la interpretación de estas métricas, consulte Métricas de perfil en la descripción general de la función DCGM.
Para obtener más información sobre NVIDIA Data Center GPU Manager, consulta la documentación de DCGM. Esta integración es compatible con las versiones de DCGM de la 3.1 a la 3.3.9.
Estas métricas solo están disponibles en sistemas Linux. Las métricas de creación de perfiles no se recogen de los modelos de GPU NVIDIA P100 y P4.
Requisitos previos
Para recoger métricas de NVIDIA DCGM, debe hacer lo siguiente:
Instala el Agente de operaciones.
- Métricas de la versión 1: versión 2.38.0 o posterior del agente de operaciones. Solo la versión 2.38.0 del agente de operaciones o las versiones 2.41.0 y posteriores son compatibles con la monitorización de GPU. No instales las versiones 2.39.0 y 2.40.0 del agente de operaciones en máquinas virtuales con GPUs conectadas. Para obtener más información, consulta El agente falla y el informe menciona a NVIDIA.
- Métricas de la versión 2: versión 2.51.0 o posterior del agente de operaciones.
Instalar DCGM y verificar la instalación
Debes instalar DCGM versión 3.1 a 3.3.9 y asegurarte de que se ejecute como servicio con privilegios. Para instalar DCGM, consulta la sección Instalación de la documentación de DCGM.
Para verificar que DCGM se está ejecutando correctamente, haz lo siguiente:
Para comprobar el estado del servicio DCGM, ejecuta el siguiente comando:
sudo service nvidia-dcgm status
Si el servicio se está ejecutando, el servicio
nvidia-dcgm
se mostrará comoactive (running)
. La salida es similar a la siguiente:● 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
Para comprobar que se han encontrado los dispositivos de GPU, ejecuta el siguiente comando:
dcgmi discovery --list
Si se encuentran dispositivos, el resultado será similar al siguiente:
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 el agente de operaciones para DCGM
Sigue la guía para configurar el agente de Ops, añade los elementos necesarios para recoger telemetría de tu servicio DCGM y reinicia el agente.
Configuración de ejemplo
Los siguientes comandos crean la configuración para recoger e ingerir las métricas de la versión 2 del receptor de NVIDIA DCGM:
Si solo quiere recoger métricas de creación de perfiles de DCGM, sustituya el valor del campo receiver_version
por 1
. También puedes eliminar la entrada de receiver_version
por completo. La versión predeterminada es 1
.
No puedes usar ambas versiones al mismo tiempo.
Para que estos cambios se apliquen, debes reiniciar el agente de Ops:
- Para reiniciar el agente, ejecuta el siguiente comando en tu instancia:
sudo systemctl restart google-cloud-ops-agent
- Para confirmar que el agente se ha reiniciado, ejecuta el siguiente comando y verifica que los componentes "Metrics Agent" y "Logging Agent" se han iniciado:
sudo systemctl status "google-cloud-ops-agent*"
Si aparece un mensaje de error como "Unable to connect to DCGM daemon at
localhost:5555 on libdcgm.so not Found; Is the DCGM daemon running?", es probable que hayas instalado la versión 4.0 del servicio DGCM. El nombre de la biblioteca compartida de DCGM se ha cambiado a libdgcdm.so.4
, que el receptor de DCGM del agente de operaciones no reconoce. Debes usar la versión 3.1 a 3.3.9 de DCGM.
Si usas una cuenta de servicio personalizada en lugar de la cuenta de servicio predeterminada de Compute Engine o tienes una máquina virtual de Compute Engine muy antigua, es posible que tengas que autorizar el agente de operaciones.
Configurar recogida de métricas
Para ingerir métricas de NVIDIA DCGM, debes crear un receptor para las métricas que genera NVIDIA DCGM y, a continuación, crear una canalización para el nuevo receptor.
Este receptor no admite el uso de varias instancias en la configuración, por ejemplo, para monitorizar varios endpoints. Todas estas instancias escriben en la misma serie temporal y Cloud Monitoring no tiene forma de distinguirlas.
Para configurar un receptor de sus métricas de dcgm
, especifique los siguientes campos:
Campo | Predeterminado | Descripción |
---|---|---|
collection_interval |
60s |
Una duración, como 30s o 5m . |
endpoint |
localhost:5555 |
Dirección del servicio DCGM, con el formato host:port . |
receiver_version |
1 |
1 o 2. La versión 2 tiene muchas más métricas disponibles. |
type |
Este valor debe ser dcgm . |
Qué se monitoriza
En las siguientes tablas se enumeran las métricas que recoge el agente de Ops de la instancia de NVIDIA DGCM. No todas las métricas están disponibles para todos los modelos de GPU. Las métricas de creación de perfiles no se recogen de los modelos de GPU NVIDIA P100 y P4.
Métricas de la versión 1
Las siguientes métricas se recogen mediante la versión 1 del receptor dcgm
.
Tipo de métrica | |
---|---|
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
|
† No disponible en los modelos de GPU P100 y P4.
‡ En el nivel 4, no se admite el valor pipe
fp64
.
Métricas de la versión 2
Las siguientes métricas se recogen mediante la versión 2 del receptor dcgm
.
Tipo de métrica | |
---|---|
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
|
† En P100 y P4, solo se admiten los valores violation
power
, thermal
y sync_boost
.
‡ No disponible en los modelos de GPU P100 y P4.
§ En el nivel 4, no se admite el valor pipe
fp64
.
Métricas de GPU
Además, la configuración integrada del Agente de operaciones también recoge agent.googleapis.com/gpu
métricas, que
proporciona la
biblioteca de gestión (NVML) de NVIDIA.
No necesitas ninguna configuración adicional en el agente de operaciones para recoger estas métricas, pero debes
crear tu máquina virtual con GPUs conectadas y
instalar el controlador de la GPU. Para obtener más información, consulta el artículo Acerca de las métricas de gpu
. Las métricas de la versión 1 del receptor dcgm
se han diseñado para complementar estas métricas predeterminadas, mientras que las métricas de la versión 2 del receptor dcgm
se han creado para que sean independientes.
Verificar la configuración
En esta sección se describe cómo verificar que ha configurado correctamente el receptor NVIDIA DCGM. El agente de Ops puede tardar uno o dos minutos en empezar a recoger datos de telemetría.
Para verificar que las métricas de NVIDIA DCGM se envían a Cloud Monitoring, haz lo siguiente:
-
En la Google Cloud consola, ve a la página leaderboard Explorador de métricas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.
- En la barra de herramientas del panel de creación de consultas, selecciona el botón cuyo nombre sea code MQL o code PromQL.
- Verifica que PromQL esté seleccionado en el interruptor Idioma. El interruptor de idioma se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.
- En el caso de las métricas de la versión 1, introduce la siguiente consulta en el editor y, a continuación, haz clic en Ejecutar consulta:
{"workload.googleapis.com/dcgm.gpu.profiling.sm_utilization", monitored_resource="gce_instance"}
- En el caso de las métricas de la versión 2, introduzca la siguiente consulta en el editor y, a continuación, haga clic en Ejecutar:
{"workload.googleapis.com/gpu.dcgm.sm.utilization", monitored_resource="gce_instance"}
Ver panel de control
Para ver las métricas de NVIDIA DCGM, debe tener configurado un gráfico o un panel de control. La integración de NVIDIA DCGM incluye uno o varios paneles de control. Los paneles de control se instalan automáticamente después de configurar la integración y cuando el agente de Ops ha empezado a recoger datos de métricas.
También puedes ver vistas previas estáticas de los paneles de control sin instalar la integración.
Para ver un panel de control instalado, siga estos pasos:
-
En la Google Cloud consola, ve a la página
Paneles de control:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.
- Seleccione la pestaña Lista de paneles de control y, a continuación, elija la categoría Integraciones.
- Haga clic en el nombre del panel de control que quiera ver.
Si has configurado una integración, pero el panel de control no se ha instalado, comprueba que el agente de operaciones se esté ejecutando. Si no hay datos de métricas para un gráfico del panel de control, no se podrá instalar el panel. Una vez que el agente de Ops empiece a recoger métricas, se instalará el panel de control.
Para ver una vista previa estática del panel de control, siga estos pasos:
-
En la Google Cloud consola, ve a la página
Integraciones:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.
- Haz clic en el filtro de plataforma de implementación Compute Engine.
- Busca la entrada de NVIDIA DCGM y haz clic en Ver detalles.
- Seleccione la pestaña Paneles para ver una vista previa estática. Si el panel de control está instalado, puedes acceder a él haciendo clic en Ver panel de control.
Para obtener más información sobre los paneles de control de Cloud Monitoring, consulta Paneles de control y gráficos.
Para obtener más información sobre cómo usar la página Integraciones, consulta el artículo Gestionar integraciones.
Limitaciones de DCGM y pausa de la creación de perfiles
El uso simultáneo de DCGM puede entrar en conflicto con el uso de otras herramientas para desarrolladores de NVIDIA, como Nsight Systems o Nsight Compute. Esta limitación se aplica a las GPUs NVIDIA A100 y anteriores. Para obtener más información, consulta Frecuencia de muestreo de creación de perfiles en la descripción general de la función DCGM.
Si necesitas usar herramientas como Nsight Systems sin que se produzcan interrupciones significativas, puedes pausar o reanudar temporalmente la recogida de métricas con los siguientes comandos:
dcgmi profile --pause dcgmi profile --resume
Cuando se pausa la creación de perfiles, no se emiten desde la VM ninguna de las métricas de DCGM que recoge el agente de operaciones.
Siguientes pasos
Para ver una guía sobre cómo usar Ansible para instalar el Agente de operaciones, configurar una aplicación de terceros e instalar un panel de control de ejemplo, consulta el vídeo Instalar el Agente de operaciones para solucionar problemas con aplicaciones de terceros.