Monitorar VMs da TPU
Neste guia, explicamos como usar o Cloud Monitoring para monitorar as VMs da TPU. O Cloud Monitoring coleta automaticamente métricas e registros da TPU e da VM host. Esses dados podem ser usados para monitorar a integridade da TPU e do Compute Engine.
Com as métricas, é possível monitorar uma quantidade numérica ao longo do tempo, como a utilização da CPU, o uso da rede ou a duração da inatividade de um TensorCore. Os registros capturam eventos em um momento específico. As entradas de registro são gravadas pelo próprio código, pelos serviços doGoogle Cloud , por aplicativos de terceiros e pela infraestrutura doGoogle Cloud . Também é possível gerar métricas com base nos dados presentes em uma entrada de registro criando uma métrica com base em registros. Também é possível definir políticas de alertas com base em valores de métricas ou entradas de registro.
Para monitorar TPUs, também é possível usar o Capacity Planner (pré-lançamento). Com o Capacity Planner, você pode conferir os dados de previsão e de uso de TPU do projeto, da pasta ou da organização. Esses dados são atualizados a cada 24 horas e podem ser usados para analisar tendências de uso e planejar necessidades futuras de capacidade. Para mais informações, consulte Visão geral do Capacity Planner.
Acessar métricas da TPU
O Compute Engine gera dois tipos de métricas de TPU: métricas de ambiente de execução de TPU e métricas de infraestrutura de VM de TPU. É possível acessar as métricas de duas maneiras:
Biblioteca de monitoramento de TPUs: receba métricas de ambiente de execução de TPU do SDK LibTPU usando a biblioteca de monitoramento de TPUs. Isso permite que seus aplicativos recebam telemetria em tempo real de dentro do ambiente de convidado. Para mais informações, consulte Biblioteca de monitoramento de TPU.
Coletor de telemetria de IA: receba métricas de tempo de execução e de infraestrutura de VM com o coletor de telemetria de IA. O coletor de telemetria de IA é executado na VM de TPU e permite acessar métricas pelo Cloud Monitoring ou pelo seu próprio pipeline de monitoramento baseado no Prometheus. Para mais informações, consulte Coletor de telemetria de IA.
Métricas de TPU
As métricas doGoogle Cloud para o Cloud TPU são geradas automaticamente pelas VMs do Compute Engine e pelo ambiente de execução do Cloud TPU. As métricas nas tabelas a seguir são geradas por VMs do Compute Engine. Para uma lista completa de métricas geradas pelo Compute Engine, consulte Métricas do Compute Engine.
As strings "tipo de métrica" nesta tabela precisam ser prefixadas com
compute.googleapis.com/. Esse prefixo foi omitido das entradas na
tabela. Ao consultar um rótulo, use o prefixo metric.labels. Por exemplo,
metric.labels.LABEL="VALUE".
Disponibilidade geral (GA)
| Tipo de métrica Etapa do lançamento (níveis da hierarquia de recursos) Nome de exibição |
|
|---|---|
| Classe, Tipo, Unidade Recursos monitorados |
Descrição Rótulos |
instance/tpu/active_chips
GA
(projeto)
Contagem de chips de TPU ativos |
|
GAUGE, INT64, 1
gce_instance |
A contagem atual de chips que estão sendo utilizados ativamente (ou seja, não estão ociosos).
accelerator_type:
Tipo e geração do acelerador.
reservation_id:
O ID da reserva de máquina física.
provisioning_model:
O modelo de provisionamento associado.
protection_tier:
o modelo de proteção associado.
block_id:
O ID do bloco no cluster que hospeda a VM.
subblock_id:
O ID do subbloco que hospeda a VM.
is_exr:
(BOOL)
Indica se o chip faz parte de uma reserva estendida.
|
instance/tpu/scheduled_chips
GA
(projeto)
Contagem de chips de TPU programados |
|
GAUGE, INT64, 1
gce_instance |
A contagem atual de chips alocados a uma VM que está em bom estado e NÃO está desativada para manutenção.
accelerator_type:
Tipo e geração do acelerador.
reservation_id:
O ID da reserva de máquina física.
provisioning_model:
O modelo de provisionamento associado.
protection_tier:
o modelo de proteção associado.
block_id:
O ID do bloco no cluster que hospeda a VM.
subblock_id:
O ID do subbloco que hospeda a VM.
is_exr:
(BOOL)
Indica se o chip faz parte de uma reserva estendida.
|
tpu/slice/capacity/available_chips
GA
(projeto)
Contagem de chips de TPU disponíveis |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
A contagem atual de chips de TPU da reserva estendida que estão ativamente disponíveis e prontos para uso. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 360 segundos.
accelerator_type:
Tipo e geração do acelerador.
reservation_id:
O ID da reserva de máquina física.
block_id:
O ID do bloco associado à fração.
subblock_id:
O ID do subbloco associado à fração.
provisioning_model:
O modelo de provisionamento associado.
protection_tier:
o modelo de proteção associado.
|
tpu/slice/capacity/committed_chips
GA
(projeto)
Contagem de chips de TPU comprados |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
A contagem atual de chips de TPU comprados da reserva estendida. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 360 segundos.
accelerator_type:
Tipo e geração do acelerador.
reservation_id:
O ID da reserva de máquina física.
block_id:
O ID do bloco associado à fração.
subblock_id:
O ID do subbloco associado à fração.
provisioning_model:
O modelo de provisionamento associado.
protection_tier:
o modelo de proteção associado.
|
Beta
| Tipo de métrica Etapa do lançamento (níveis da hierarquia de recursos) Nome de exibição |
|
|---|---|
| Classe, Tipo, Unidade Recursos monitorados |
Descrição Rótulos |
instance/tpu/accelerator/duty_cycle
BETA
(projeto)
Ciclo de trabalho do acelerador |
|
GAUGE, DOUBLE, %
gce_instance |
Porcentagem de tempo durante o período de amostragem em que o acelerador estava processando ativamente. Os valores estão no intervalo [0,100].
accelerator_id:
ID do dispositivo do acelerador.
|
instance/tpu/accelerator/memory_bandwidth_utilization
BETA
(projeto)
Uso da largura de banda da memória do acelerador |
|
GAUGE, DOUBLE, %
gce_instance |
Porcentagem atual da largura de banda da memória do acelerador que está sendo usada. Calculada dividindo a largura de banda da memória usada durante um período de amostragem pela largura de banda máxima aceita no mesmo período.
accelerator_id:
ID do dispositivo do acelerador.
|
instance/tpu/accelerator/memory_total
BETA
(projeto)
Total de memória do acelerador |
|
GAUGE, INT64, By
gce_instance |
Memória total do acelerador alocada no momento em bytes.
accelerator_id:
ID do dispositivo do acelerador.
|
instance/tpu/accelerator/memory_used
BETA
(projeto)
Memória do acelerador usada |
|
GAUGE, INT64, By
gce_instance |
Memória total do acelerador em uso no momento em bytes.
accelerator_id:
ID do dispositivo do acelerador.
|
instance/tpu/accelerator/tensorcore_utilization
BETA
(projeto)
Uso do TensorCore do acelerador |
|
GAUGE, DOUBLE, %
gce_instance |
Porcentagem atual do TensorCore que está sendo utilizada. Resultado da divisão das operações do TensorCore que foram realizadas em um período de amostragem pelo número de operações do TensorCore com suporte no mesmo período.
accelerator_id:
ID do dispositivo do acelerador.
|
instance/tpu/chip_state
BETA
(projeto)
Contagem de estado do chip da TPU |
|
GAUGE, INT64, 1
gce_instance |
A contagem de chips de TPU em vários estados, como íntegro, não íntegro e desconhecido.
state:
O estado do chip.
accelerator_type:
Tipo e geração do acelerador.
block_id:
O ID do bloco no cluster que hospeda a VM.
subblock_id:
O ID do subbloco que hospeda a VM.
reservation_id:
O ID da reserva de máquina física.
is_exr:
(BOOL)
Indica se o chip faz parte de uma reserva estendida.
|
instance/tpu/infra_health
BETA
(projeto)
Integridade da instância de TPU |
|
GAUGE, INT64, 1
gce_instance |
Indica o status geral de integridade de uma instância de TPU. Os rótulos de métricas ajudam a identificar o status de integridade específico e os motivos dos problemas em instâncias de TPU degradadas ou não íntegras, com foco principalmente na integridade do hardware e do sistema da TPU. As mudanças no status de integridade podem levar vários minutos para serem refletidas nessa métrica. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 420 segundos.
health_status:
O estado geral de integridade da instância de TPU. Valores possíveis: HEALTHY (operando como esperado), UNHEALTHY (problema crítico detectado), DEGRADED (problema que afeta o desempenho) e UNKNOWN (não é possível determinar o status).
unhealthy_category:
Explicação do status de VM não íntegra. Esse rótulo só é preenchido quando o valor da métrica é "Unhealthy".
machine_type:
O tipo de máquina da instância (por exemplo, ct6e-standard-4t-tpu).
machine_id:
O ID da máquina física que hospeda a VM.
block_id:
O ID do bloco no cluster que hospeda a VM.
cluster_id:
O ID do cluster que hospeda a VM.
reservation_id:
O ID da reserva de máquina física.
subblock_id:
O ID do subbloco que hospeda a VM.
|
instance/tpu/runtime/uptime
BETA
(projeto)
Tempo de atividade do ambiente de execução |
|
GAUGE, INT64, s
gce_instance |
Tempo de atividade do ambiente de execução de ML desde a inicialização da biblioteca de ambiente de execução (libtpu.so) pelo job de ML. Durante esse período, a biblioteca de ambiente de execução bloqueia os dispositivos de TPU para uso pelo job de ML.
ml_framework_name:
Nome do framework de ML.
ml_framework_version:
Versão do framework de ML.
|
instance/tpu/utilized_chips
BETA
(projeto)
Chips de TPU utilizados |
|
GAUGE, DOUBLE, 1
gce_instance |
A capacidade agregada utilizada atual expressa como um número efetivo de chips ativos. É equivalente à soma da utilização fracionária (0,0 a 1,0) de todos os chips ativos.
accelerator_type:
Tipo e geração do acelerador.
reservation_id:
O ID da reserva de máquina física.
provisioning_model:
O modelo de provisionamento associado.
protection_tier:
o modelo de proteção associado.
block_id:
O ID do bloco no cluster que hospeda a VM.
subblock_id:
O ID do subbloco que hospeda a VM.
is_exr:
(BOOL)
Indica se o chip faz parte de uma reserva estendida.
|
tpu/multislice/accelerator/device_to_host_transfer_latencies
BETA
(projeto)
Latências de transferência do dispositivo para o host |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribuição cumulativa da latência de transferência do dispositivo para o host em cada bloco de dados. Uma latência começa quando a solicitação de dados a serem transferidos para o host é emitida e termina quando um reconhecimento é recebido de que a transferência de dados foi concluída.
buffer_size:
Tamanho do buffer.
|
tpu/multislice/accelerator/host_to_device_transfer_latencies
BETA
(projeto)
Latências de transferência do host para o dispositivo |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribuição cumulativa da latência de transferência de host para dispositivo em cada bloco de dados de tráfego multislice. Uma latência começa quando a solicitação de transferência de dados para o dispositivo é emitida e termina quando um reconhecimento é recebido de que a transferência de dados foi concluída.
buffer_size:
Tamanho do buffer.
|
tpu/multislice/network/collective_end_to_end_latencies
BETA
(projeto)
Latências coletivas de ponta a ponta |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribuição cumulativa da latência coletiva de ponta a ponta para o tráfego multislice. Uma latência começa quando a solicitação de comunicação coletiva é emitida e termina quando um reconhecimento é recebido de que a transferência de dados foi concluída.
input_size:
Tamanho da entrada da operação coletiva.
collective_type:
Tipo da operação coletiva.
|
tpu/multislice/network/dcn_transfer_latencies
BETA
(projeto)
Latências de transferência da DCN |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribuição cumulativa das latências de transferência de rede para tráfego multislice. Uma latência começa quando a solicitação de transferência de dados pela DCN é emitida e termina quando um reconhecimento é recebido de que a transferência de dados foi concluída.
buffer_size:
Tamanho do buffer.
type:
Tipo.
|
tpu/multislice/network/grpc_client_call_latencies
BETA
(projeto)
Latências de chamada do cliente gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribuição cumulativa de latências de transferência de rede para a biblioteca gRPC concluir uma RPC da perspectiva do chamador.
buffer_size:
Tamanho do buffer.
|
tpu/multislice/network/grpc_server_call_latencies
BETA
(projeto)
Latências de chamada do servidor gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribuição cumulativa de latências de transferência de rede para o servidor gRPC concluir uma RPC na perspectiva de transporte.
buffer_size:
Tamanho do buffer.
|
tpu/multislice/network/grpc_tcp_delivery_rates
BETA
(projeto)
Taxas de entrega de TCP do gRPC |
|
CUMULATIVE, DISTRIBUTION, Mb/s
gce_instance |
Distribuição cumulativa das taxas de transferência de dados de conexões TCP. Cada amostra é a taxa média mais recente de transferência de dados para uma determinada conexão TCP no último intervalo de ACK do TCP. Amostras de taxas de transferência de dados são extraídas do kernel TCP do Linux a cada 20 segundos. Portanto, é esperado que cada conexão TCP crie aproximadamente três amostras por intervalo de 60 segundos. |
tpu/multislice/network/grpc_tcp_min_round_trip_times
BETA
(projeto)
Tempos mínimos de ida e volta do TCP gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribuição cumulativa das latências mínimas de transferência de rede por conexão TCP. |
tpu/multislice/network/grpc_tcp_packets_retransmitted_count
BETA
(projeto)
Contagem de pacotes TCP gRPC retransmitidos |
|
CUMULATIVE, INT64, 1
gce_instance |
Contagem total de pacotes retransmitidos. |
tpu/multislice/network/grpc_tcp_packets_sent_count
BETA
(projeto)
Contagem de pacotes TCP gRPC enviados |
|
CUMULATIVE, INT64, 1
gce_instance |
Contagem total de pacotes enviados pelo TCP. |
instance/tpu/accelerator/core_temperature
BETA
(projeto)
Temperatura do núcleo |
|
GAUGE, DOUBLE, Cel
gce_instance |
Temperatura do núcleo da TPU.
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/core_throttling_indicator
BETA
(projeto)
Indicador de limitação de núcleos |
|
GAUGE, DOUBLE, 1
gce_instance |
Número de ciclos de clock ignorados por segundo em relação ao total de ciclos de clock por núcleo de TPU.
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/hbm_power_draw
BETA
(projeto)
Consumo de energia da HBM |
|
GAUGE, DOUBLE, W
gce_instance |
Soma da energia no módulo HBM em watts (W).
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/hbm_temperature
BETA
(projeto)
Temperatura da HBM |
|
GAUGE, DOUBLE, Cel
gce_instance |
Temperatura da memória de alta largura de banda (HBM) da TPU.
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
hbm_id:
Identificador do módulo de memória de largura de banda alta (HBM). Normalmente, tem apenas o valor máximo, por exemplo: hbm_0.
|
instance/tpu/accelerator/hbm_uncorrectable_count
BETA
(projeto)
Contagem de erros incorrigíveis de HBM |
|
CUMULATIVE, INT64, 1
gce_instance |
Contagem de erros não corrigíveis no HBM (fatal).
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/mxu_temperature
BETA
(projeto)
Temperatura da MXU |
|
GAUGE, DOUBLE, Cel
gce_instance |
Temperatura da unidade multiplicadora de matriz (MXU) da TPU.
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
die_id:
Índice de slot para o acelerador. Normalmente, tem apenas o valor máximo, por exemplo: die_0.
|
instance/tpu/accelerator/network/ici_link_flaps
BETA
(projeto)
Oscilações de link ICI |
|
GAUGE, INT64, 1
gce_instance |
Frequência de mudanças de estado entre estados ativos e inativos em um link ICI.
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/network/ici_link_health
BETA
(projeto)
Integridade do link ICI |
|
GAUGE, INT64, 1
gce_instance |
Um indicador numérico (0 a 10) que representa a integridade do link do ICI. Valores mais altos indicam níveis crescentes de instabilidade do link, desde oscilações leves e temporárias (1 a 5) até desempenho degradado persistente (6 a 9). Um valor de 10 representa uma falha fatal de link que desaloca automaticamente as cargas de trabalho ativas.
port_id:
ID da porta.
|
instance/tpu/accelerator/network/ici_packets_received_count
BETA
(projeto)
Contagem de pacotes ICI recebidos |
|
CUMULATIVE, INT64, 1
gce_instance |
Número total de pacotes recebidos pelo acelerador de TPU nos links de interconexão entre chips (ICI).
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/network/ici_packets_sent_count
BETA
(projeto)
Contagem de pacotes ICI enviados |
|
CUMULATIVE, INT64, 1
gce_instance |
Número total de pacotes transmitidos pelo acelerador de TPU nos links de interconexão entre chips (ICI).
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/pcie_fatal_error_count
BETA
(projeto)
Contagem de erros fatais de PCIe |
|
CUMULATIVE, INT64, 1
gce_instance |
Número de erros fatais de PCIe que ocorrem na interface PCIe.
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/pcie_nonfatal_error_count
BETA
(projeto)
Contagem de erros não fatais de PCIe |
|
CUMULATIVE, INT64, 1
gce_instance |
Número de erros não fatais de PCIe que ocorrem na interface PCIe.
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/power_draw
BETA
(projeto)
Consumo de energia |
|
GAUGE, DOUBLE, W
gce_instance |
Consumo de energia do acelerador medido em watts (W).
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/tray_power
BETA
(projeto)
Energia da bandeja |
|
GAUGE, DOUBLE, W
gce_instance |
Potência total consumida no compartimento da TPU.
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/accelerator/tray_temperature
BETA
(projeto)
Temperatura do compartimento |
|
GAUGE, DOUBLE, Cel
gce_instance |
Temperatura do compartimento da TPU.
accelerator_id:
O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
|
instance/tpu/failure_prediction_status
BETA
(projeto)
Status de degradação da TPU |
|
GAUGE, INT64, 1
gce_instance |
Essa métrica indica a probabilidade de uma máquina de TPU entrar em um estado degradado nas próximas cinco horas, conforme previsto pelo nosso algoritmo proprietário. O rótulo de valor para essa métrica é NO_DEGRADATION_PREDICTED, DEGRADATION_PREDICTED, POSSIBLE_DEGRADATION_PREDICTED. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 540 segundos.
cluster_id:
O ID ofuscado do cluster que hospeda a VM.
block_id:
O ID do bloco ofuscado no cluster que hospeda a VM.
subblock_id:
O ID do sub-bloco ofuscado que hospeda a VM.
machine_id:
O nome ofuscado da máquina que hospeda a VM.
reservation_id:
O ID da reserva.
Value:
O status de uma máquina de TPU que entrará em um estado degradado nas próximas 5 horas, conforme previsto pelo nosso algoritmo proprietário. Os valores possíveis são "NO_DEGRADATION_PREDICTED", "DEGRADATION_PREDICTED" e "POSSIBLE_DEGRADATION_PREDICTED".
|
tpu/capacity/available_chips
BETA
(projeto)
Contagem de chips de TPU disponíveis |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
A contagem atual de chips de TPU disponíveis e prontos para uso.
accelerator_type:
O tipo e a geração do acelerador.
reservation_id:
O ID da reserva de máquina física.
provisioning_model:
O modelo de provisionamento associado.
protection_tier:
o modelo de proteção associado.
is_exr:
indica se o chip de TPU faz parte de uma reserva estendida.
|
tpu/capacity/committed_chips
BETA
(projeto)
Contagem de chips de TPU comprados |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
A contagem atual de chips de TPU comprados.
accelerator_type:
O tipo e a geração do acelerador.
reservation_id:
O ID da reserva de máquina física.
provisioning_model:
O modelo de provisionamento associado.
protection_tier:
o modelo de proteção associado.
is_exr:
indica se o chip de TPU faz parte de uma reserva estendida.
|
tpu/network/nic_packets_dropped_count_rx
BETA
(projeto)
Contagem de pacotes de NIC descartados Rx |
|
CUMULATIVE, INT64, 1
gce_instance |
O número total de pacotes de entrada ou saída descartados pela NIC do host, para RX.
nic_id:
ID da NIC.
|
tpu/network/nic_packets_dropped_count_tx
BETA
(projeto)
Contagem de pacotes de NIC descartados Tx |
|
CUMULATIVE, INT64, 1
gce_instance |
O número total de pacotes de entrada ou saída descartados pela NIC do host para TX.
nic_id:
ID da NIC.
|
tpu/network/nic_packets_received_count
BETA
(projeto)
Contagem de pacotes recebidos da NIC |
|
CUMULATIVE, INT64, 1
gce_instance |
A contagem total de pacotes recebidos pela NIC.
nic_id:
ID da NIC.
|
tpu/network/nic_packets_sent_count
BETA
(projeto)
Contagem de pacotes enviados pela NIC |
|
CUMULATIVE, INT64, 1
gce_instance |
A contagem total de pacotes enviados pela NIC.
nic_id:
ID da NIC.
|
Alfa
| Tipo de métrica Etapa do lançamento (níveis da hierarquia de recursos) Nome de exibição |
|
|---|---|
| Classe, Tipo, Unidade Recursos monitorados |
Descrição Rótulos |
quota/tpus_per_tpu_family/exceeded
ALPHA
(projeto)
Contagem de TPUs por família de TPU. Erro de cota excedida |
|
DELTA, INT64, 1
compute.googleapis.com/Location |
Número de tentativas de exceder o limite no cálculo da métrica de cota compute.googleapis.com/tpus_per_tpu_family. Após a amostragem, os dados não são visíveis por até 150 segundos.
limit_name:
O nome do limite.
tpu_family:
dimensão personalizada da família de TPUs.
|
quota/tpus_per_tpu_family/limit
ALPHA
(projeto)
Contagem de TPUs por família de TPU. Limite de cota |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Limite atual da métrica de cota compute.googleapis.com/tpus_per_tpu_family. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 150 segundos.
limit_name:
O nome do limite.
tpu_family:
dimensão personalizada da família de TPUs.
|
quota/tpus_per_tpu_family/usage
ALPHA
(project)
Contagem de TPUs por família de TPU. Uso de cota |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Uso atual na métrica de cota compute.googleapis.com/tpus_per_tpu_family. Após a amostragem, os dados não são visíveis por até 150 segundos.
limit_name:
O nome do limite.
tpu_family:
dimensão personalizada da família de TPUs.
|
Coletor de telemetria de IA
O coletor de telemetria de IA coleta e publica métricas de TPU no namespace
compute.googleapis.com para TPUs criadas usando a API Compute Engine.
Essas métricas são métricas de sistema integradas, que fornecem visibilidade sobre a integridade e o desempenho.
A arquitetura do coletor de telemetria de IA foi projetada como um coletor OpenTelemetry (OTEL) especializado e leve. Ele usa dois receptores principais para capturar dados:
- Receptor do ambiente de execução da TPU: coleta métricas de ambiente de execução e de carga de trabalho (como ciclo de trabalho e uso da memória) diretamente do ambiente de execução da TPU quando uma carga de trabalho de machine learning está ativa.
- Receptor do host da TPU: captura métricas de utilização de hardware, como utilização do TensorCore e da largura de banda da memória, diretamente do dispositivo, independente de uma carga de trabalho estar em execução.
Em seguida, o coletor de telemetria de IA usa processadores para aplicar automaticamente as tags de recursos necessárias (como project_id, instance_id e zone) e exporta a telemetria diretamente para o Cloud Monitoring de forma segura.
O coletor de telemetria de IA vem pré-instalado nas imagens LTS do Ubuntu otimizadas para TPU do Google e é executado automaticamente quando a VM é inicializada. Para usar essa configuração, especifique o projeto e a família oficiais de imagens de acelerador do Google ao criar uma instância de VM da TPU ou um modelo de instância. Quando a VM é iniciada, o coletor de telemetria de IA envia automaticamente métricas para os painéis do Cloud Monitoring.
Se você estiver criando imagens de sistema operacional personalizadas, use o coletor de telemetria de IA
depois de instalar e executar a imagem do Docker
ai-telemetry-collector. Para mais informações, consulte Usar uma imagem de SO
personalizada.
Configuração
O coletor de telemetria de IA envia métricas automaticamente para os painéis do Cloud Monitoring e não exige etapas de configuração adicionais. No entanto, é possível configurar o pacote Snap ou a imagem do Docker para adicionar destinos de exportação externos, alterar intervalos de coleta de métricas e incluir opções de depuração.
É possível substituir a configuração padrão por um novo arquivo de configuração ou anexar um arquivo de configuração adicional à configuração padrão atual. Ao adicionar configurações, as chaves que ainda não existem são adicionadas, e as que já existem são substituídas. No entanto, matrizes e listas não são aditivas. Portanto, as novas listas precisam incluir valores atuais e novos.
O arquivo YAML a seguir configura o coletor de telemetria de IA para enviar métricas ao Prometheus, um kit de ferramentas de monitoramento e alerta de sistemas de código aberto. Ele também ativa a opção de depuração, que imprime métricas no console.
exporters:
prometheus:
endpoint: 0.0.0.0:8889
service:
pipelines:
metrics:
exporters:
- prometheus # For more: https://prometheus.io/docs/introduction/overview/
- googlecloud # If you do not include this, you'll lose Google Cloud Monitoring
- debug # print metrics within the console
SO padrão
Se você estiver usando as imagens do Ubuntu LTS otimizadas para TPU do Google, execute o seguinte comando Snap para adicionar o novo arquivo de configuração à configuração atual:
sudo snap set \
ai-telemetry-collector \
extra-flags="--config /home/username/additional-config.yaml"
Se você quiser substituir a configuração atual, use a flag
config-path em vez de extra-flags:
sudo snap set \
ai-telemetry-collector \
config-path="/home/username/new-config.yaml"
O comando snap set deve acionar uma reinicialização automática do coletor de telemetria de IA. Para verificar se o coletor foi reiniciado e aplicou suas configurações, use o seguinte comando para ver os registros:
sudo snap logs -f ai-telemetry-collector
SO personalizado
Se você estiver usando um SO personalizado, execute o seguinte comando do Docker para adicionar o novo arquivo de configuração à configuração atual:
# First apply the default configs via `--config=/etc/ai-telemetry-collector/config.yaml`
# Then apply your additional config by volume mount.
docker run --privileged --net=host \
-v <path>/additional-config.yaml:/etc/ai-telemetry-collector/additional-config.yaml \
ai-telemetry-collector:latest \
--config=/etc/ai-telemetry-collector/config.yaml \
--config=/etc/ai-telemetry-collector/additional-config.yaml
Se você quiser substituir a configuração atual, use o comando do Docker a seguir:
# Mount a volume (your config file) to `/etc/ai-telemetry-collector/config.yaml`
# The binary automatically picks up this file.
docker run --privileged --net=host \
-v <path>/my-config.yaml:/etc/ai-telemetry-collector/config.yaml \
ai-telemetry-collector:latest
Registros de auditoria
Os serviços doGoogle Cloud geram registros de auditoria que registram atividades administrativas e de acesso nos recursos do Google Cloud . Para mais informações, consulte Registro de auditoria do Compute Engine.