Visão geral da PMU


Este documento descreve o comportamento, o faturamento e as limitações das unidade de monitoramento de desempenho (PMU, na sigla em inglês) no Compute Engine. A PMU está disponível apenas em instâncias de máquina virtual (VM) C4.

A PMU é um componente de hardware no núcleo da CPU que monitora como o processador executa o código. Ao ativar a PMU em uma VM C4, você pode usar o software de monitoramento de desempenho na VM para acessar os contadores de desempenho da PMU. Esses contadores ajudam a identificar e resolver problemas de desempenho no software em execução na VM. Essas informações são úteis para otimizar carga de trabalho com desempenho confidencial, como computação de alto desempenho (HPC) ou para cargas de trabalho de machine learning (ML).

Como a PMU funciona

A PMU é composta por um conjunto de contadores de hardware chamados contadores de monitoramento de desempenho (PMCs, na sigla em inglês). Esses contadores são registros específicos do modelo que contam cada vez que um evento de processador de baixo nível, como um erro de previsão de ramificação ou ausência no cache, ocorre na CPU. É possível ler e configurar PMCs no PMU usando um software de monitoramento de desempenho, como o Intel VTune Profiler.

Por padrão, a PMU fica desativada nas VMs. Para ativá-la, especifique os tipos de eventos de CPU de baixo nível a serem rastreados ativando um dos seguintes tipos de PMU:

  • Arquitetural (ARCHITECTURAL): é possível medir os seguintes eventos de performance de arquitetura:

    • Instruções da ramificação desativadas: o número de instruções da ramificação desativadas. Use esse evento para medir a execução do código e identificar possíveis gargalos de desempenho.

    • A ramificação ausente foi removida: o número de instruções da ramificação que foram previstos incorretamente, fazendo com que o processador trave e descarte as instruções buscadas. Se você vir um número alto para esse evento, poderá otimizar o desempenho da CPU.

    • Instruções desativadas: o número de instruções que a CPU processa corretamente. Use esse evento para medir a capacidade de processamento de instruções da CPU.

    • Slots de cima para baixo: o número de slots disponíveis no pipeline do processador que são usados para executar instruções simultaneamente. Use esse evento para entender com que eficiência seu código está usando o recurso do processador.

    • Ciclos de núcleo não interrompidos: o número de ciclos de núcleo quando a linha de execução não é interrompida, por exemplo, devido ao gerenciamento de energia ou interrupções. Use esse evento para avaliar o uso geral do processador.

    • Ciclos de referência não interrompidos: o número de ciclos de referência em que o núcleo não é interrompido, por exemplo, ao buscar dados ou instruções. O núcleo é interrompido quando executa as instruções HLT ou MWAIT. Os ciclos de referência operam em uma frequência fixa, proporcionando uma referência de tempo estável mesmo mesmo quando a velocidade do processador muda para economizar energia. Use esse evento para medir o tempo gasto em uma tarefa e identificar gargalos de desempenho no código.

  • Padrão (STANDARD): é possível medir todos os eventos do tipo de PMU e quaisquer eventos locais dentro do núcleo da CPU, incluindo eventos de cache de nível 2 (L2).

  • Aprimorado (ENHANCED): você pode medir todos os eventos do tipo de PMU padrão eventos locais fora do núcleo da CPU, incluindo eventos de cache do nível 3 (L3).

Depois de ativar a PMU em uma VM, ela será executada em segundo plano, continuamente de monitorando eventos de desempenho usando PMCs. Você pode configurar limites para PMCs específicos usando seu software de monitoramento de desempenho preferido. Se uma PMC exceder o limite designado, ela notificará o software.

Limitações

As seguintes limitações se aplicam às PMUs:

  • Só é possível ativar a PMU em VMs C4 que especificam o processador escalonável Intel Xeon (Emerald Rapids) de 5ª geração, que as VMs C4 especificam por padrão. Para conferir uma lista completa dos eventos de desempenho compatíveis com essa plataforma de CPU, consulte emeraldrapids_core.json.

  • Só é possível ativar o tipo de PMU otimizado em tipos de máquina C4 com vCPUs 96 ou 192.

Preços

Não há custos associados à ativação ou desativação da PMU em uma VM.

A seguir