Présentation de la PMU

Ce document explique le comportement, la facturation et les limites de l'unité de surveillance des performances (PMU, Performance Monitoring Unit) dans Compute Engine. Pour savoir comment activer la PMU dans une instance de machine virtuelle (VM) C4A ou C4, consultez Activer la PMU dans les VM.

La PMU est un composant matériel du cœur du processeur qui surveille la façon dont le processeur exécute le code. En activant la PMU dans une VM C4A ou C4, vous pouvez accéder aux compteurs de performances de la PMU à l'aide d'un logiciel de surveillance des performances. Cette approche vous permet d'optimiser les charges de travail sensibles aux performances, telles que les charges de travail de calcul hautes performances (HPC) ou de machine learning (ML), en vous aidant à identifier et à résoudre les goulots d'étranglement des performances dans vos applications.

Fonctionnement de l'unité de gestion de l'alimentation

La PMU est composée d'un ensemble de compteurs matériels appelés compteurs de surveillance des performances (PMC, Performance Monitoring Counters). Ces compteurs sont des registres spécifiques au modèle qui comptabilisent chaque fois qu'un événement de processeur de bas niveau, tel qu'une prédiction de branchement incorrecte ou un échec de cache, se produit dans le processeur. Vous pouvez lire et configurer les PMC dans la PMU à l'aide d'un logiciel de surveillance des performances tel que Intel VTune Profiler.

Par défaut, la PMU est désactivée dans les VM. Pour l'activer, spécifiez les types d'événements de processeur de bas niveau à suivre en activant l'un des types de PMU suivants :

  • Architecture (ARCHITECTURAL) : vous pouvez mesurer les événements de performances d'architecture suivants :

    • Instructions de branche supprimées : nombre d'instructions de branche supprimées. Utilisez cet événement pour mesurer l'exécution de votre code et identifier les éventuels goulots d'étranglement des performances.

    • Branches manquées supprimées : nombre d'instructions de branchement mal prédites, ce qui a entraîné un blocage du processeur et l'abandon des instructions extraites. Si ce nombre est élevé, vous pouvez probablement optimiser les performances du processeur.

    • Instructions supprimées : nombre d'instructions traitées avec succès par le processeur. Utilisez cet événement pour mesurer le débit d'instructions du processeur.

    • Emplacements de haut en bas : nombre d'emplacements disponibles dans le pipeline d'un processeur qui sont utilisés pour exécuter simultanément des instructions. Utilisez cet événement pour comprendre l'efficacité avec laquelle votre code utilise les ressources du processeur.

    • Cycles de cœur non arrêtés : nombre de cycles de cœur lorsque le thread n'est pas interrompu, par exemple en raison d'une gestion de l'alimentation ou d'interruptions. Utilisez cet événement pour évaluer l'utilisation globale du processeur.

    • Cycles de référence non arrêtés : nombre de cycles de référence lorsque le cœur n'est pas arrêté, par exemple lors de la récupération de données ou d'instructions. Le cœur est arrêté lorsqu'il exécute les instructions HLT ou MWAIT. Les cycles de référence fonctionnent à une fréquence fixe, ce qui fournit une référence temporelle stable même lorsque la vitesse du processeur change pour économiser de l'énergie. Utilisez cet événement pour mesurer le temps passé sur une tâche et identifier les goulots d'étranglement des performances dans votre code.

  • Standard (STANDARD) : vous pouvez mesurer tous les événements du type de PMU "Architecture" et tous les événements locaux à l'intérieur du cœur du processeur, y compris les événements de cache de niveau 2 (L2).

  • Amélioré (ENHANCED) : vous pouvez mesurer tous les événements du type PMU standard, tous les événements locaux en dehors du cœur du processeur, y compris les événements du cache de niveau 3 (L3).

Une fois que vous avez activé la PMU dans une VM, elle s'exécute en arrière-plan et surveille en permanence les événements de performances à l'aide de PMC. Vous pouvez éventuellement configurer des seuils pour des PMC spécifiques à l'aide du logiciel de surveillance des performances de votre choix. Si un PMC dépasse son seuil désigné, la PMU en informe le logiciel.

Limites

La PMU présente les limites suivantes :

  • Vous ne pouvez activer la PMU que dans les plates-formes de processeur suivantes :

    Plate-forme du processeur Séries de machines compatibles Événements de performances acceptés
    Processeur Google Axion™ C4A Guide PMU Arm Neoverse V2
    Processeur évolutif Intel Xeon (Emerald Rapids) de 5e génération C4 emeraldrapids_core.json
  • Vous ne pouvez activer le type de PMU amélioré que dans les VM qui utilisent un type de machine C4 avec 96 ou 192 vCPU.

Tarifs

L'activation ou la désactivation de l'unité de gestion de l'alimentation dans une VM n'engendre aucuns frais.

Étapes suivantes