En este documento, se describe el comportamiento, la facturación y las limitaciones de la unidad de supervisión de rendimiento (PMU) en Compute Engine. La PMU solo está disponible en instancias de máquina virtual (VM) C4.
La PMU es un componente de hardware dentro del núcleo de la CPU que supervisa cómo el procesador ejecuta el código. Si habilitas la PMU en una VM C4, puedes usar software de supervisión de rendimiento en la VM para acceder a los contadores de rendimiento de la PMU. Estos contadores te ayudan a identificar y abordar los problemas de rendimiento dentro del software que se ejecuta en tu VM. Esta información es útil para optimizar cargas de trabajo sensibles al rendimiento, como cargas de trabajo de computación de alto rendimiento (HPC) o de aprendizaje automático (AA).
Cómo funciona la PMU
La PMU se compone de un conjunto de contadores de hardware llamados contadores de supervisión de rendimiento (PMC). Estos contadores son registros específicos del modelo que cuentan cada vez que se produce un evento de procesador de bajo nivel, como una predicción incorrecta de la rama o una falta de caché, dentro de la CPU. Puedes leer y configurar los PMC en la PMU con software de supervisión de rendimiento, como Intel VTune Profiler.
De forma predeterminada, la PMU está inhabilitada en las VMs. Para habilitarlo, especifica los tipos de eventos de CPU de bajo nivel de los que deseas hacer un seguimiento habilitando uno de los siguientes tipos de PMU:
Arquitectónico (
ARCHITECTURAL
): Puedes medir los siguientes eventos de rendimiento arquitectónico:Instrucciones de ramas retiradas: Es la cantidad de instrucciones de bifurcación retiradas. Usa este evento para medir la ejecución de tu código y también identificar posibles cuellos de botella de rendimiento.
Omisiones de ramas retiradas: Es la cantidad de instrucciones de ramas que se predijeron de forma incorrecta, lo que hace que el procesador se detenga y descarte las instrucciones recuperadas. Si ves un número alto para este evento, es probable que puedas optimizar el rendimiento de la CPU.
Instrucciones retiradas: Es la cantidad de instrucciones que la CPU procesa correctamente. Usa este evento para medir la capacidad de procesamiento de instrucciones de la CPU.
Ranuras de arriba abajo: Es la cantidad de ranuras disponibles dentro de la canalización de un procesador que se usan para ejecutar instrucciones de forma simultánea. Usa este evento para comprender con qué eficiencia tu código usa los recursos del procesador.
Ciclos de núcleo no detenidos: Es la cantidad de ciclos de núcleo cuando el subproceso no está detenido, por ejemplo, debido a la administración de energía o a interrupciones. Usa este evento para evaluar el uso general del procesador.
Ciclos de referencia sin detener: Es la cantidad de ciclos de referencia cuando el núcleo no está detenido, por ejemplo, cuando se recuperan datos o instrucciones. El núcleo se detiene cuando ejecuta las instrucciones
HLT
oMWAIT
. Los ciclos de referencia funcionan a una frecuencia fija, lo que proporciona una referencia de tiempo estable incluso cuando cambia la velocidad del procesador para conservar energía. Usa este evento para medir el tiempo dedicado a una tarea y, así, identificar los cuellos de botella de rendimiento en tu código.
Estándar (
STANDARD
): Puedes medir todos los eventos del tipo de PMU de la arquitectura y cualquier evento local dentro del núcleo de la CPU, incluidos los eventos de caché de nivel 2 (L2).Mejorada (
ENHANCED
): Puedes medir todos los eventos del tipo de PMU estándar, cualquier evento local fuera del núcleo de la CPU, incluidos los eventos de caché de nivel 3 (L3).
Después de habilitar la PMU en una VM, esta se ejecuta en segundo plano y supervisa de forma continua los eventos de rendimiento con PMC. De manera opcional, puedes configurar umbrales para PMC específicos con el software de supervisión de rendimiento que prefieras. Si un PMC supera su umbral designado, la PMU notifica al software.
Limitaciones
Para la PMU, se aplican las siguientes limitaciones:
Solo puedes habilitar la PMU en las VMs C4 que especifiquen el procesador escalable Intel Xeon (Emerald Rapids) de 5ª generación, que las VMs C4 especifican de forma predeterminada. Para obtener una lista completa de los eventos de rendimiento compatibles con esta plataforma de CPU, consulta emeraldrapids_core.json.
Solo puedes habilitar el tipo de PMU mejorado en tipos de máquinas C4 con 96 o 192 CPU virtuales.
Precios
No hay costos asociados con habilitar o inhabilitar la PMU en una VM.
¿Qué sigue?
- Obtén más información para habilitar la PMU en las VMs.