En este documento, se explica el comportamiento, la facturación y las limitaciones de la unidad de supervisión de rendimiento (PMU) en Compute Engine. Para obtener información sobre cómo habilitar la PMU en una instancia de máquina virtual (VM) de C4A o C4, consulta Habilita la PMU en las VMs.
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 C4A o C4, puedes acceder a los contadores de rendimiento en la PMU con software de supervisión de rendimiento. Este enfoque te permite optimizar las cargas de trabajo sensibles al rendimiento, como las cargas de trabajo de computación de alto rendimiento (HPC) o de aprendizaje automático (AA), ya que te ayuda a identificar y abordar los cuellos de botella de rendimiento en tus aplicaciones.
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 la eficiencia con la que 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 preservar la 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
La PMU tiene las siguientes limitaciones:
Solo puedes habilitar la PMU en las siguientes plataformas de CPU:
Plataforma de CPU Series de máquinas compatibles Eventos de rendimiento admitidos Procesador Google Axion™ C4A Guía de la PMU de Arm Neoverse V2 Procesador escalable Intel Xeon (Emerald Rapids) de 5a generación C4 emeraldrapids_core.json Puedes habilitar el tipo de PMU mejorado solo en VMs que usen un tipo de máquina C4 con 96 o 192 CPU virtuales.
Precios
No hay costos asociados con habilitar o inhabilitar la PMU en una VM.