Panoramica della PMU


Questo documento descrive il comportamento, la fatturazione e le limitazioni dell'unità di monitoraggio delle prestazioni (PMU) in Compute Engine. La PMU è disponibile solo sulle istanze di macchine virtuali (VM) C4.

La PMU è un componente hardware all'interno del core della CPU che monitora il modo in cui il processore esegue il codice. Se attivi la PMU in una VM C4, puoi utilizzare il software di monitoraggio delle prestazioni sulla VM per accedere ai contatori delle prestazioni della PMU. Questi contatori ti aiutano a identificare e risolvere i problemi di prestazioni all'interno del software in esecuzione sulla VM. Queste informazioni sono utili per ottimizzare i carichi di lavoro sensibili alle prestazioni, come quelli di computing ad alte prestazioni (HPC) o di machine learning (ML).

Come funziona la PMU

La PMU è composta da un insieme di contatori hardware chiamati contatori di monitoraggio delle prestazioni (PMC). Questi contatori sono registri specifici del modello che conteggiano ogni volta che nella CPU si verifica un evento del processore a basso livello, come una predizione errata del ramo o una fallimento della cache. Puoi leggere e configurare i PMC nella PMU utilizzando un software di monitoraggio delle prestazioni come Intel VTune Profiler.

Per impostazione predefinita, la PMU è disabilitata nelle VM. Per attivarla, specifica i tipi di eventi CPU a basso livello da monitorare attivando uno dei seguenti tipi di PMU:

  • Architettural (ARCHITECTURAL): puoi misurare i seguenti eventi di rendimento dell'architettura:

    • Istruzioni di ramo ritirate: il numero di istruzioni di ramo ritirate. Utilizza questo evento per misurare l'esecuzione del codice e identificare potenziali colli di bottiglia del rendimento.

    • Mancate di branch ritirate: il numero di istruzioni di branch con predizione errata che hanno causato l'arresto del processore e l'eliminazione delle istruzioni recuperate. Se vedi un numero elevato per questo evento, probabilmente puoi ottimizzare le prestazioni della CPU.

    • Istruzioni ritirate: il numero di istruzioni elaborate correttamente dalla CPU. Utilizza questo evento per misurare il throughput delle istruzioni della CPU.

    • Slot dall'alto verso il basso: il numero di slot disponibili all'interno della pipeline di un processore utilizzati per eseguire contemporaneamente le istruzioni. Utilizza questo evento per capire con quanta efficienza il tuo codice utilizza le risorse del processore.

    • Cicli del core non interrotti: il numero di cicli del core quando il thread non è interrotti, ad esempio a causa della gestione dell'alimentazione o delle interruzioni. Utilizza questo evento per valutare l'utilizzo complessivo del processore.

    • Cicli di riferimento non interrotti: il numero di cicli di riferimento quando il nucleo non è fermo, ad esempio durante il recupero di dati o istruzioni. Il core viene interrotto quando esegue le istruzioni HLT o MWAIT. I cicli di riferimento funzionano a una frequenza fissa, fornendo un riferimento temporale stabile anche quando la velocità del processore cambia per risparmiare energia. Utilizza questo evento per misurare il tempo impiegato per un'attività e identificare i colli di bottiglia delle prestazioni nel codice.

  • Standard (STANDARD): puoi misurare tutti gli eventi del tipo di PMU di architettura e tutti gli eventi locali all'interno del core della CPU, inclusi gli eventi della cache di livello 2 (L2).

  • Migliorata (ENHANCED): puoi misurare tutti gli eventi del tipo PMU standard, nonché eventuali eventi locali al di fuori del core della CPU, inclusi gli eventi della cache di livello 3 (L3).

Dopo aver attivato la PMU in una VM, questa viene eseguita in background e monitora continuamente gli eventi relativi al rendimento utilizzando i PMC. Facoltativamente, puoi configurare le soglie per PMC specifiche utilizzando il software di monitoraggio delle prestazioni che preferisci. Se un PMC supera la soglia designata, la PMU invia una notifica al software.

Limitazioni

Per la PMU si applicano le seguenti limitazioni:

  • Puoi attivare la PMU solo nelle VM C4 che specificano il processore scalabile Intel Xeon (Emerald Rapids) di 5ª generazione, che le VM C4 specificano per impostazione predefinita. Per un elenco completo degli eventi relativi alle prestazioni supportati per questa piattaforma CPU, consulta emeraldrapids_core.json.

  • Puoi attivare il tipo PMU avanzato solo nei tipi di macchine C4 con 96 o 192 vCPU.

Prezzi

L'attivazione o la disattivazione della PMU in una VM non comporta costi.

Passaggi successivi