La integración del administrador de GPU del centro de datos de NVIDIA recopila métricas clave de GPU avanzadas de DCGM, incluidos el uso de bloque de multiprocesador de transmisión (SM), la ocupación de SM, la utilización de canalizaciones de SM, la tasa de tráfico de PCIe y la tasa de tráfico de NVLink. 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 característica 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.
El agente de operaciones recopila métricas de DCGM a través de la biblioteca cliente de NVIDIA go-dcgm
.
Estas métricas solo están disponibles para los sistemas Linux. Las métricas no se recopilan de los modelos de GPU P100 y P4 de NVIDIA.
Requisitos previos
Para recopilar métricas de DCGM, debes hacer lo siguiente:
Instala el Agente de operaciones 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.
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 la telemetría de DCGM y reinician el agente de operaciones:
# Configures Ops Agent to collect telemetry from the app and restart Ops Agent. set -e # Create a back up of the existing file so existing configurations are not lost. sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak # Configure the Ops Agent. sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF metrics: receivers: dcgm: type: dcgm service: pipelines: dcgm: receivers: - dcgm EOF sudo systemctl restart google-cloud-ops-agent
Después de ejecutar estos comandos, puedes comprobar que el agente se reinició. Ejecuta el siguiente comando y verifica que los componentes del agente secundario “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 DCGM, debes crear un receptor para las métricas que produce 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 |
Dirección del servicio de DCGM, con el formato host:port . |
type |
Este valor debe ser dcgm . |
Qué se supervisa
En la siguiente tabla, se proporciona una lista de métricas que el Agente de operaciones recopila del servicio de DCGM. No todas las métricas están disponibles para todos los modelos de GPU. Las métricas no se recopilan de los modelos de GPU P100 y P4 de NVIDIA.
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
.
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 y, luego, instalar el controlador de GPU.
Para obtener más información, consulta Acerca de las métricas gpu
.
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.
- Ingresa 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
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 detiene la creació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.