PMU-Übersicht


In diesem Dokument werden das Verhalten, die Abrechnung und die Einschränkungen der Leistungsüberwachungseinheit (PMU) in der Compute Engine beschrieben. Die PMU ist nur auf C4-VM-Instanzen verfügbar.

Die PMU ist eine Hardwarekomponente im CPU-Kern, die überwacht, wie der Prozessor Code ausführt. Wenn Sie die PMU in einer C4-VM aktivieren, können Sie mithilfe von Leistungsüberwachungssoftware auf der VM auf die Leistungszähler der PMU zugreifen. Anhand dieser Zähler können Sie Leistungsprobleme in der Software erkennen und beheben, die auf Ihrer VM ausgeführt wird. Diese Informationen sind hilfreich, um leistungskritische Arbeitslasten wie Hochleistungs-Computing (HPC) oder maschinelles Lernen (ML) zu optimieren.

Funktionsweise der PMU

Die PMU besteht aus einer Reihe von Hardwarezählern, die als Leistungsüberwachungszähler (PMCs) bezeichnet werden. Diese Zähler sind modellspezifische Register, die jedes Mal gezählt werden, wenn ein Low-Level-Prozessorereignis wie eine falsche Verzweigungsvorhersage oder ein Cache-Miss innerhalb der CPU auftritt. Sie können PMCs in der PMU mithilfe von Leistungsüberwachungssoftware wie Intel VTune Profiler lesen und konfigurieren.

Standardmäßig ist die PMU in VMs deaktiviert. Wenn Sie diese Funktion aktivieren möchten, geben Sie die Arten von Low-Level-CPU-Ereignissen an, die erfasst werden sollen. Aktivieren Sie dazu einen der folgenden PMU-Typen:

  • Architektur (ARCHITECTURAL): Sie können die folgenden Architekturleistungsereignisse erfassen:

    • Nicht mehr verwendete Branch-Anweisungen: Die Anzahl der nicht mehr verwendeten Branch-Anweisungen. Verwenden Sie dieses Ereignis, um die Ausführung Ihres Codes zu messen und potenzielle Leistungsengpässe zu identifizieren.

    • Abzweigfehler, die nicht ausgeführt wurden: Die Anzahl der Abzweigvorhersagen, die falsch waren, wodurch der Prozessor angehalten und abgerufene Anweisungen verworfen wurden. Wenn für dieses Ereignis eine hohe Zahl angezeigt wird, können Sie die CPU-Leistung wahrscheinlich optimieren.

    • Nicht ausgeführte Anweisungen: Die Anzahl der Anweisungen, die die CPU erfolgreich verarbeitet hat. Mit diesem Ereignis können Sie den Instruktionsdurchsatz der CPU messen.

    • Top-Down-Slots: Die Anzahl der verfügbaren Slots in der Pipeline eines Prozessors, die zum gleichzeitigen Ausführen von Anweisungen verwendet werden. Anhand dieses Ereignisses können Sie nachvollziehen, wie effizient Ihr Code die Ressourcen des Prozessors nutzt.

    • Nicht angehaltene Kernzyklen: Die Anzahl der Kernzyklen, wenn der Thread nicht angehalten wird, z. B. aufgrund von Energieverwaltung oder Unterbrechungen. Anhand dieses Ereignisses können Sie die Gesamtnutzung des Prozessors bewerten.

    • Nicht angehaltene Referenzzyklen: Die Anzahl der Referenzzyklen, wenn der Kern nicht angehalten wird, z. B. beim Abrufen von Daten oder Anweisungen. Der Kern wird angehalten, wenn er die Anweisungen HLT oder MWAIT ausführt. Referenzzyklen laufen mit einer festen Frequenz und bieten eine stabile Zeitreferenz, auch wenn sich die Geschwindigkeit des Prozessors ändert, um Energie zu sparen. Mit diesem Ereignis können Sie die für eine Aufgabe aufgewendete Zeit messen und Leistungsengpässe in Ihrem Code identifizieren.

  • Standard (STANDARD): Sie können alle Ereignisse vom Typ „Architectural PMU“ und alle lokalen Ereignisse innerhalb des CPU-Kerns erfassen, einschließlich L2-Cache-Ereignisse.

  • Erweitert (ENHANCED): Sie können alle Ereignisse vom Typ „Standard-PMU“ und alle lokalen Ereignisse außerhalb des CPU-Kerns erfassen, einschließlich L3-Cache-Ereignisse.

Nachdem Sie die PMU in einer VM aktiviert haben, wird sie im Hintergrund ausgeführt und überwacht kontinuierlich Leistungsereignisse mithilfe von PMCs. Optional können Sie mit Ihrer bevorzugten Software zur Leistungsüberwachung Schwellenwerte für bestimmte PMCs konfigurieren. Wenn ein PMC den festgelegten Grenzwert überschreitet, benachrichtigt die PMU die Software.

Beschränkungen

Für die PMU gelten die folgenden Einschränkungen:

  • Sie können die PMU nur in C4-VMs aktivieren, für die der skalierbare Intel Xeon-Prozessor der 5. Generation (Emerald Rapids) angegeben ist, was bei C4-VMs standardmäßig der Fall ist. Eine vollständige Liste der unterstützten Leistungsereignisse für diese CPU-Plattform finden Sie unter emeraldrapids_core.json.

  • Sie können den erweiterten PMU-Typ nur in C4-Maschinentypen mit 96 oder 192 vCPUs aktivieren.

Preise

Für die Aktivierung oder Deaktivierung der PMU in einer VM fallen keine Kosten an.

Nächste Schritte