En este documento se explica el comportamiento, la facturación y las limitaciones de la unidad de monitorización del rendimiento (PMU) en Compute Engine. Para saber cómo habilitar la PMU en una instancia de máquina virtual (VM) C4A o C4, consulta Habilitar la PMU en VMs.
La PMU es un componente de hardware del núcleo de la CPU que monitoriza cómo ejecuta el procesador el código. Si habilitas la PMU en una máquina virtual C4A o C4, puedes acceder a los contadores de rendimiento de la PMU mediante software de monitorización del rendimiento. Este enfoque te permite optimizar las cargas de trabajo sensibles al rendimiento, como las de computación de alto rendimiento (HPC) o aprendizaje automático (ML), ya que te ayuda a identificar y solucionar los cuellos de botella del rendimiento en tus aplicaciones.
Cómo funciona la PMU
La PMU se compone de un conjunto de contadores de hardware denominados contadores de monitorización del rendimiento (PMCs). 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 errónea de una bifurcación o un fallo de caché, en la CPU. Puedes leer y configurar los PMCs en la PMU con software de monitorización del 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 que quieras monitorizar habilitando uno de los siguientes tipos de PMU:
Arquitectura (
ARCHITECTURAL
): puedes medir los siguientes eventos de rendimiento de la arquitectura:Instrucciones de ramificación retiradas: número de instrucciones de ramificación retiradas. Usa este evento para medir la ejecución de tu código e identificar posibles cuellos de botella en el rendimiento.
Errores de predicción de ramificación retirados: número de instrucciones de ramificación que se han predicho incorrectamente, lo que ha provocado que el procesador se detenga y descarte las instrucciones obtenidas. Si ve un número elevado en este evento, probablemente pueda optimizar el rendimiento de la CPU.
Instrucciones retiradas: número de instrucciones que la CPU procesa correctamente. Usa este evento para medir el rendimiento de las instrucciones de la CPU.
Ranuras de arriba abajo: número de ranuras disponibles en la canalización de un procesador que se usan para ejecutar instrucciones simultáneamente. Usa este evento para saber con qué eficiencia usa tu código los recursos del procesador.
Ciclos de núcleo sin detener: número de ciclos de núcleo cuando el subproceso no se detiene, por ejemplo, debido a la gestión de energía o a interrupciones. Usa este evento para evaluar el uso general del procesador.
Ciclos de referencia no detenidos: número de ciclos de referencia cuando el núcleo no está detenido (por ejemplo, al obtener 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 la velocidad del procesador cambia para ahorrar energía. Usa este evento para medir el tiempo dedicado a una tarea e identificar cuellos de botella en el rendimiento de tu código.
Estándar (
STANDARD
): puedes medir todos los eventos del tipo PMU de arquitectura y cualquier evento local dentro del núcleo de la CPU, incluidos los eventos de caché de nivel 2 (L2).Mejorado (
ENHANCED
): puedes medir todos los eventos del tipo 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 monitoriza continuamente los eventos de rendimiento mediante los PMCs. También puedes configurar umbrales para PMCs específicos con el software de monitorización del rendimiento que prefieras. Si un PMC supera el umbral designado, la PMU lo notificará 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 admitidas Eventos de rendimiento admitidos Procesador Google Axion™ C4A Guía de PMU de Arm Neoverse V2 Procesador escalable Intel Xeon (Emerald Rapids) de 5.ª generación C4 emeraldrapids_core.json Solo puedes habilitar el tipo de PMU mejorado en las VMs que usen un tipo de máquina C4 con 96 o 192 vCPUs.
Precios
No se aplican cargos por habilitar o inhabilitar la PMU en una máquina virtual.