Strumento per le statistiche su larga scala
Puoi utilizzare lo strumento Statistiche Megascale per analizzare le prestazioni della comunicazione tra slice dei carichi di lavoro che si estendono su più slice TPU che comunicano tramite la rete di data center (DCN).
Tutte le metriche visualizzate nello strumento Statistiche Megascale vengono generate in base alla TPU.
Piattaforme supportate
Lo strumento Statistiche Megascale è supportato solo sulle TPU.
Terminologia relativa ai collettivi
Lo strumento mostra le metriche relative alla comunicazione tra le sezioni TPU, che comportano le seguenti operazioni:
send: interrompe l'host per avviare l'accesso diretto alla memoria (DMA) e fornisce un buffer compilato all'host per avviare il trasferimento dei dati.send-done: segnala all'host che il trasferimento dei dati è stato completato.recv: fornisce un buffer vuoto che l'host può riempire con i dati trasferiti.recv-done: segnala all'host che i dati sono stati ricevuti.
Un'operazione collettiva viene avviata da un'operazione send e completata dall'operazione recv-done corrispondente. L'invio effettivo dei dati avviene dopo il completamento dell'operazione di invio. L'operazione send-done viene eseguita dopo l'invio dei dati. Allo stesso modo, i dati vengono ricevuti dopo il completamento dell'operazione recv. L'operazione
recv-done si verifica dopo la ricezione dei dati.
Componenti dell'interfaccia
Lo strumento mostra una tabella con le seguenti colonne, con una riga per ogni operazione collettiva profilata:
- Nome collettivo DCN: assegnato da XLA.
- Nome operazione Recv: il nome dell'operazione
recv-donedella TPU. In questo modo è possibile cercare facilmente in Trace Viewer le operazioni TPU collettive corrispondenti. - Send op name: Il nome dell'operazione TPU
send. - Tempo di slack: definito come il tempo indipendente dalla rete che il collettivo ha a disposizione per
trasmettere i dati. È una misura del tempo a disposizione del collettivo
per inviare e ricevere dati, escluse le operazioni
send,send-done,recvorecv-done. L'aumento del tempo di inattività riduce le possibilità di bloccare la TPU per un collettivo. Ad esempio, data la seguente cronologia:

Slack time is calculated in this example as:
Slack time = t<sub>1</sub> + t<sub>2</sub> + t<sub>3</sub>
- Durata osservata: la durata osservata per ogni collettivo. Viene calcolato
come l'intervallo tra l'inizio dell'operazione
sende la fine dell'operazionerecv-donecorrispondente, incluso il tempo impiegato per l'invio e la ricezione dei dati. Ad esempio, data la seguente cronologia:

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>
- Durata dello stallo: il periodo di tempo in cui la collettività blocca la TPU. Si tratta
della durata totale del tempo che il collettivo trascorre nelle operazioni
send,send-done,recverecv-done, escluso il tempo trascorso a trasmettere i dati. Ad esempio, data la seguente cronologia:

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>
- Occorrenze: il numero totale di volte in cui un collettivo viene avviato e
completato durante la durata di un profilo. L'operazione
sende l'operazionerecv-donecorrispondente devono verificarsi entro la durata del profilo per essere incluse in questa metrica. - Stallo totale aggregato: la quantità totale di tempo in cui un collettivo blocca una TPU
durante la durata di un profilo. Il totale dell'aggregazione dello stallo viene calcolato come segue:
- Aggregated total stall = stall duration * occurrences
- Dimensioni dei dati trasmessi: la quantità di dati trasmessi sulla rete per la raccolta, calcolata in base alla forma dell'operazione XLA.
- Larghezza di banda richiesta: la larghezza di banda necessaria per trasmettere i dati entro il
margine fornito. Puoi utilizzare questa metrica per visualizzare il numero di collettivi
in competizione per la larghezza di banda di rete durante la durata del profilo. La larghezza di banda richiesta viene calcolata come segue:
- Larghezza di banda richiesta = dimensione dei dati trasmessi / tempo di riserva
Analisi dei dati dello strumento Statistiche Megascale
Per analizzare i dati presentati nello strumento:
- Ordina la tabella in base a
Aggregated Total Stallin ordine decrescente. - Identifica il nome collettivo DCN con il
Aggregated Total Stallpiù alto. Un valore significativamente elevato rispetto ad altri potrebbe indicare un collo di bottiglia. - Moltiplica il
Required Bandwidthdel collettivo DCN per il numero di core (ad es. 8 per host TPU v4). Se questo valore è maggiore della larghezza di banda massima della rete della TPU, potrebbe indicare una congestione della rete. Prova a modificare il meccanismo di sharding per ridurre la larghezza di banda richiesta. - Genera un dump HLO per verificare la presenza di problemi del compilatore. L'espansione delle operazioni
senderecv-donepuò consentire la pianificazione di un maggior numero di operazioni HLO sovrapposte e ridurre il tempo di stallo della TPU. - Controlla la durata delle operazioni
recv-donein Trace Viewer per il collettivo con il blocco totale aggregato massimo. Una durata del trasferimento elevata potrebbe indicare un collo di bottiglia della larghezza di banda, poiché le operazionirecv-donesono in genere bloccate sulla rete. - Se la durata delle operazioni
recv-donenon è eccessivamente elevata rispetto al tempo di riserva, potrebbe indicare un problema hardware.