La integración del administrador de GPU del centro de datos de NVIDIA recopila métricas clave de GPU avanzadas de DCGM. El agente de operaciones se puede configurar para recopilar uno de 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 seleccionadas para supervisar 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 generación de perfiles diseñadas para usarse en combinación con las métricas de GPU predeterminadas. Para obtener información sobre el propósito y la interpretación de estas métricas, consulta Métricas de creación de perfiles en la descripción general de la función de DCGM.
Para obtener más información sobre el administrador de GPU del centro de datos de NVIDIA, consulta la documentación de DCGM. Esta integración es compatible con la versión 3.1 y posteriores de DCGM.
Estas métricas solo están disponibles para los sistemas Linux. Las métricas de generación de perfiles no se recopilan de los modelos de GPU NVIDIA P100 y P4.
Requisitos previos
Para recopilar métricas de NVIDIA DCGM, debes hacer lo siguiente:
Instala el Agente de operaciones
- Métricas de la versión 1: Agente de operaciones versión 2.38.0 o posterior Solo la versión 2.38.0 o las versiones 2.41.0 o posteriores del Agente de operaciones son compatibles con la supervisión de GPU. No instales las versiones 2.39.0 y 2.40.0 del agente de operaciones en las VMs con GPU conectadas. Para obtener más información, consulta El agente falla y se informa que se menciona NVIDIA.
- Métricas de la versión 2: Agente de operaciones versión 2.51.0 o posterior
Instala DCGM y verifica la instalación
Debes instalar una versión 3.1 y posterior de DCGM y asegurarte de que se ejecute como un servicio privilegiado. Para instalar DCGM, consulta Instalación en la documentación del DCGM.
Para verificar que el DCGM se ejecute de forma correcta, haga lo siguiente:
Verifica el estado del servicio de DCGM a través de la ejecución del siguiente comando:
sudo service nvidia-dcgm status
Si el servicio está en ejecución, el servicio
nvidia-dcgm
aparece comoactive (running)
. El resultado se ve de la manera 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
Ejecuta el siguiente comando para verificar que se encuentren los dispositivos de GPU:
dcgmi discovery --list
Si se encuentran dispositivos, el resultado es 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 | +--------+----------------------------------------------------------------------+
Configura el Agente de operaciones para DCGM
A través de la guía Configura el Agente de operaciones, agrega los elementos necesarios para recopilar la telemetría de tu servicio de DCGM y reinicia el agente.
Configuración de ejemplo
Los siguientes comandos crean la configuración para recopilar y transferir las métricas de la versión 2 del receptor para NVIDIA DCGM y reiniciar el agente de operaciones:
Si deseas recopilar solo métricas de perfil de DCGM, reemplaza el valor del campo receiver_version
por 1
. También puedes quitar por completo la entrada receiver_version
. La versión predeterminada es 1
.
No puedes usar ambas versiones al mismo tiempo.
Después de ejecutar estos comandos, puedes comprobar que el agente se reinició. Ejecuta el siguiente comando y verifica que los componentes del subagente “Agente de métricas” y “Agente de Logging” aparezcan como “activos (en ejecución)”:
sudo systemctl status google-cloud-ops-agent"*"
Si usas una cuenta de servicio personalizada en lugar de la cuenta de servicio de Compute Engine predeterminada, o si tienes una VM de Compute Engine muy antigua, es posible que debas autorizar el Agente de operaciones.
Configura la recopilación de métricas
Para transferir métricas desde NVIDIA DCGM, debes crear un receptor para las métricas que produce NVIDIA DCGM y, luego, crear una canalización destinada al receptor nuevo.
Este receptor no admite el uso de varias instancias en la configuración, por ejemplo, para supervisar varios extremos. Todas estas instancias escriben en las mismas series temporales, y Cloud Monitoring no tiene forma de distinguirlas.
Para configurar un receptor para las métricas de dcgm
, especifica los siguientes campos:
Campo | Predeterminado | Descripción |
---|---|---|
collection_interval |
60s |
Un valor de duración de tiempo, como 30s o 5m . |
endpoint |
localhost:5555 |
Es la dirección del servicio de DCGM, con el formato host:port . |
receiver_version |
1 |
Puede ser 1 o 2. La versión 2 tiene muchas más métricas disponibles. |
type |
Este valor debe ser dcgm . |
Qué se supervisa
En las siguientes tablas, se proporcionan listas de métricas que el agente de operaciones recopila de la instancia de DGCM de NVIDIA. No todas las métricas están disponibles para todos los modelos de GPU. Las métricas de generación de perfiles no se recopilan de los modelos de GPU NVIDIA P100 y P4.
Métricas de la versión 1
Las siguientes métricas se recopilan con la versión 1 del receptor dcgm
.
Tipo de métrica | |
---|---|
Categoría, tipo Recursos supervisados |
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.
‡ Para L4, no se admite el valor pipe
fp64
.
Métricas de la versión 2
Las siguientes métricas se recopilan con la versión 2 del receptor dcgm
.
Tipo de métrica | |
---|---|
Categoría, tipo Recursos supervisados |
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 y P4, solo se admiten los valores violation
power
, thermal
y sync_boost
.
‡ No disponible en los modelos de GPU P100 y P4.
§ Para L4, no se admite el valor pipe
fp64
.
Métricas de GPU
Además, la configuración integrada del agente de operaciones también recopila métricas de agent.googleapis.com/gpu
, que informa la
Biblioteca de administración de NVIDIA (NVML).
No necesitas ninguna configuración adicional en el agente de operaciones para recopilar estas métricas, pero debes
crear una VM con GPUs conectadas e
instalar el controlador de GPU. Para obtener más información, consulta Acerca de las métricas gpu
. Las métricas de la versión 1 del receptor dcgm
están diseñadas para complementar estas métricas predeterminadas, mientras que las métricas de la versión 2 del receptor dcgm
están diseñadas para ser independientes.
Verifica la configuración
En esta sección, se describe cómo verificar de forma correcta que hayas configurado el receptor de NVIDIA DCGM. El agente de operaciones puede tardar uno o dos minutos en comenzar a recopilar telemetría.
Para verificar que las métricas de NVIDIA DCGM se envíen a Cloud Monitoring, haz lo siguiente:
-
En la consola de Google Cloud, 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 cuyo subtítulo es Monitoring.
- En la barra de herramientas del panel del compilador de consultas, selecciona el botón cuyo nombre sea codeMQL o codePromQL.
- Verifica que MQL esté seleccionado en el botón de activación Lenguaje. El botón de activación de lenguaje se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.
- Para las métricas de v1, escribe la siguiente consulta en el editor y, luego,
haz clic en Ejecutar consulta:
fetch gce_instance | metric 'workload.googleapis.com/dcgm.gpu.profiling.sm_utilization' | every 1m
- Para las métricas de v2, escribe la siguiente consulta en el editor y, luego,
haz clic en Ejecutar:
fetch gce_instance | metric 'workload.googleapis.com/gpu.dcgm.sm.utilization' | every 1m
Ver panel
Para ver tus métricas de NVIDIA DCGM, debes tener configurado un gráfico o un panel. La integración de NVIDIA DCGM incluye uno o más paneles. Cualquier panel se instala de forma automática después de que configuras la integración y de que el agente de operaciones comienza a recopilar datos de métricas.
También puedes ver vistas previas estáticas de los paneles sin instalar la integración.
Para ver un panel instalado, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Paneles.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- Selecciona la pestaña Lista de paneles y, luego, la categoría Integraciones.
- Haz clic en el nombre del panel que quiera ver.
Si configuraste una integración, pero el panel no se instaló, verifica que el agente de operaciones se esté ejecutando. Cuando no hay datos de métricas para un gráfico en el panel, la instalación del panel falla. Una vez que el agente de operaciones comienza a recopilar métricas, el panel se instalará por ti.
Para obtener una vista previa estática del panel, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página Integraciones:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- Haz clic en el filtro de la plataforma de implementación Compute Engine.
- Ubica la entrada de DCGM de NVIDIA y haz clic en Ver detalles.
- Selecciona la pestaña Paneles para ver una vista previa estática. Si el panel está instalado, haz clic en Ver panel para navegar a él.
Para obtener más información de los paneles en Cloud Monitoring, consulta Paneles y gráficos.
Para obtener más información sobre el uso de la página Integraciones, consulta Administra integraciones.
Limitaciones del DCGM y pausa de la generación de perfiles
El uso simultáneo de DCGM puede entrar en conflicto con el uso de alguna otra herramienta 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 Tasa de muestreo del perfilado en la descripción general de las funciones de DCGM.
Cuando necesites usar herramientas como Nsight Systems sin interrupciones significativas, puedes pausar o reanudar de forma temporal la recopilación de métricas a través de los siguientes comandos:
dcgmi profile --pause dcgmi profile --resume
Cuando se pausa la generación de perfiles, ninguna de las métricas de DCGM que recopila el Agente de operaciones se emite desde la VM.
¿Qué sigue?
Para obtener una explicación sobre cómo usar Ansible para instalar el Agente de operaciones, configurar una aplicación de terceros y, luego, instalar un panel de muestra, consulta el video Instala el Agente de operaciones para solucionar problemas de apps de terceros.