Descripción general de la PMU

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 C4 o C4A, 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 denominados contadores de supervisión del 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 errónea de una rama o un error 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 que se deben hacer un seguimiento habilitando uno de los siguientes tipos de PMU:

  • Arquitectónicos (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, así, identificar posibles cuellos de botella en el 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 el rendimiento de instrucciones de la CPU.

    • Ranuras de arriba hacia 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 del núcleo sin detener: Es la cantidad de ciclos del núcleo cuando el subproceso no se detiene, 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 se detiene, por ejemplo, cuando se recuperan datos o instrucciones. El núcleo se detiene cuando ejecuta las instrucciones HLT o MWAIT. Los ciclos de referencia operan a una frecuencia fija, lo que proporciona una referencia de tiempo estable incluso cuando la velocidad del procesador cambia para conservar energía. Usa este evento para medir el tiempo dedicado a una tarea y, así, identificar los cuellos de botella en el rendimiento de tu código.

  • Estándar (STANDARD): Puedes medir todos los eventos del tipo de 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 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 los PMC. De manera opcional, puedes configurar umbrales para los PMC específicos con el software de supervisión del rendimiento que prefieras. Si un PMC supera el 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 Serie de máquinas compatible 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 usan 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.

¿Qué sigue?