Panoramica della PMU


Questo documento spiega il comportamento, la fatturazione e le limitazioni dell'unità di monitoraggio del rendimento (PMU) in Compute Engine. Per scoprire come attivare la PMU in un'istanza di macchina virtuale (VM) C4A o C4, consulta Attivare la PMU nelle VM.

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 C4A o C4, puoi accedere ai contatori delle prestazioni nella PMU utilizzando un software di monitoraggio delle prestazioni. Questo approccio consente di ottimizzare i carichi di lavoro sensibili alle prestazioni, come quelli di computing ad alte prestazioni (HPC) o di machine learning (ML), aiutandoti a identificare e risolvere i colli di bottiglia delle prestazioni nelle tue applicazioni.

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 mancata corrispondenza 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 monitorando continuamente gli eventi relativi alle prestazioni 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

La PMU presenta le seguenti limitazioni:

  • Puoi attivare la PMU solo nelle seguenti piattaforme CPU:

    Piattaforma CPU Serie di macchine supportate Eventi sul rendimento supportati
    Processore Google Axion™ C4A Guida alla PMU di Arm Neoverse V2
    Processore Intel Xeon scalabile (Emerald Rapids) di 5a generazione C4 emeraldrapids_core.json
  • Puoi attivare il tipo PMU avanzato solo nelle VM che utilizzano un tipo di macchina C4 con 96 o 192 vCPU.

Prezzi

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

Passaggi successivi