Ferramenta Megascale Stats
Use a ferramenta Megascale Stats para analisar o desempenho da comunicação entre frações de cargas de trabalho que abrangem várias frações de TPU e se comunicam pela rede do data center (DCN).
Todas as métricas mostradas na ferramenta Megascale Stats são geradas por TPU.
Plataformas compatíveis
A ferramenta Megascale Stats só é compatível com TPUs.
Terminologia relacionada a coletivos
A ferramenta mostra métricas relacionadas à comunicação entre frações de TPU, que envolvem as seguintes operações:
send: interrompe o host para iniciar o acesso direto à memória (DMA) e fornece um buffer preenchido ao host para iniciar a transferência de dados.send-done: sinaliza ao host que a transferência de dados foi concluída.recv: fornece um buffer vazio para o host preencher com os dados transferidos.recv-done: sinaliza ao host que os dados foram recebidos.
Uma operação de comunicação coletiva é iniciada por uma operação send e concluída pela
operação recv-done correspondente. O envio real dos dados ocorre após a conclusão da operação de envio. A operação send-done ocorre depois que os dados são
enviados. Da mesma forma, os dados são recebidos após a conclusão da operação recv. A operação
recv-done ocorre depois que os dados são recebidos.
Componentes de interface
A ferramenta mostra uma tabela com as seguintes colunas, com uma linha para cada operação coletiva analisada:
- Nome da operação de comunicação coletiva da DCN: atribuído pelo XLA.
- Nome da operação de recebimento: o nome da operação
recv-doneda TPU. Isso oferece uma maneira fácil de pesquisar no visualizador de rastreamentos as operações coletivas correspondentes da TPU. - Nome da operação de envio: o nome da operação da TPU
send. - Tempo livre: definido como o tempo independente da rede que o coletivo tem para
transmitir os dados. É uma medida do tempo disponível para a operação de comunicação coletiva enviar e receber dados, excluindo as operações
send,send-done,recvourecv-done. Aumentar o período de tolerância reduz as chances de paralisação da TPU em uma operação de comunicação coletiva. Por exemplo, considere a seguinte linha do tempo:

Slack time is calculated in this example as:
Slack time = t<sub>1</sub> + t<sub>2</sub> + t<sub>3</sub>
- Duração observada: a duração observada para cada coletivo. Ele é calculado como o intervalo entre o início da operação
sende o fim da operaçãorecv-donecorrespondente, incluindo o tempo gasto enviando e recebendo dados. Por exemplo, considere a seguinte linha do tempo:

Observed duration is calculated as:
Observed duration = t<sub>send</sub> + t<sub>1</sub> + t<sub>send-done</sub> + t<sub>2</sub> + t<sub>recv</sub> + t<sub>3</sub> + t<sub>recv-done</sub>
- Duração da paralisação: o período em que a operação de comunicação coletiva paralisa a TPU. Essa é a duração total do tempo que o coletivo passa nas operações
send,send-done,recverecv-done, sem incluir o tempo gasto na transmissão de dados. Por exemplo, considere a seguinte linha do tempo:

Stall duration is calculated in this example as:
Stall duration = t<sub>send</sub> + t<sub>send-done</sub> + t<sub>recv</sub> + t<sub>recv-done</sub>
- Ocorrências: o número total de vezes que uma operação de comunicação coletiva é iniciada e concluída durante a duração de um perfil. A operação
sende a operaçãorecv-donecorrespondente precisam ocorrer dentro da duração do perfil para serem incluídas nessa métrica. - Tempo total agregado de paralisação: o tempo total de paralisação de uma TPU pela operação de comunicação coletiva
durante a duração de um perfil. O total agregado de paralisação é calculado da seguinte forma:
- Total agregado de paralisação = duração da paralisação * ocorrências
- Tamanho dos dados transmitidos: a quantidade de dados transmitidos pela rede para a operação de comunicação coletiva, calculada com base no formato da operação XLA.
- Largura de banda necessária: a largura de banda necessária para transmitir os dados no período de tolerância fornecido. Use essa métrica para conferir o número de operações de comunicação coletiva
que disputam a largura de banda da rede durante a duração do perfil. A largura de banda necessária é calculada da seguinte forma:
- Largura de banda necessária = tamanho dos dados transmitidos / tempo de tolerância
Analisar dados da ferramenta Megascale Stats
Para analisar os dados apresentados na ferramenta:
- Classifique a tabela por
Aggregated Total Stallem ordem decrescente. - Identifique o nome da operação de comunicação coletiva da DCN com o maior
Aggregated Total Stall. Um valor significativamente alto em comparação com outros pode indicar um gargalo. - Multiplique o
Required Bandwidthda operação de comunicação coletiva da DCN pelo número de núcleos (por exemplo, 8 por host de TPU v4). Se esse valor for maior que a largura de banda máxima da rede da TPU, isso pode indicar congestionamento. Tente mudar o mecanismo de fragmentação para reduzir a largura de banda necessária. - Gere um despejo de HLO para verificar se há problemas no compilador. A distribuição das operações
senderecv-donepermite programar mais operações HLO sobrepostas e reduzir o tempo de paralisação da TPU. - Verifique a duração das operações
recv-doneno visualizador de traces para a operação de comunicação coletiva com o total agregado máximo de paralisação. Uma duração de transferência alta pode indicar um gargalo de largura de banda, já que as operaçõesrecv-donegeralmente são bloqueadas na rede. - Se a duração das operações
recv-donenão for muito alta em comparação com o período de tolerância, isso pode indicar um problema de hardware.