Megascale 統計資料工具

您可以使用 Megascale Stats 工具,分析跨多個 TPU Slice 的工作負載的 Slice 間通訊效能,這些工作負載會透過資料中心網路 (DCN) 通訊。

Megascale Stats 工具中顯示的所有指標,都是以每個 TPU 為單位產生。

支援平台

Megascale Stats 工具僅支援 TPU。

這項工具會顯示與 TPU 配量間通訊相關的指標,包括下列作業:

  • send:中斷主機以啟動直接記憶體存取 (DMA),並提供已填滿的緩衝區給主機,以啟動資料轉移。
  • send-done:向主機發出信號,表示資料移轉已完成。
  • recv:提供空白緩衝區,供主機填入轉移的資料。
  • recv-done:向主機發出信號,表示已收到資料。

集合是由 send 作業啟動,並由相符的 recv-done 作業完成。資料實際傳送作業會在傳送作業完成後進行。send-done 作業會在資料傳送後執行。同樣地,資料會在 recv 作業完成後收到。recv-done 作業會在收到資料後執行。

介面元件

這項工具會顯示表格,其中包含下列各欄,每個剖析的集體作業各佔一列:

  • DCN 集體名稱:由 XLA 指派。
  • Recv op name:TPU recv-done 作業名稱。方便您在追蹤記錄檢視器中,搜尋對應的集合 TPU 作業。
  • 傳送作業名稱:TPU send 作業名稱。
  • 空閒時間:定義為集體傳輸資料時,與網路無關的時間。這是指集合可用於傳送及接收資料的時間,不包括 sendsend-donerecvrecv-done 作業。增加閒置時間可降低集體 TPU 停滯的機率。舉例來說,假設有下列時間軸:

顯示寬裕時間的時間軸

Slack time is calculated in this example as:

Slack time = t<sub>1</sub> + t<sub>2</sub> + t<sub>3</sub>
  • 觀察到的時間長度:每個集合觀察到的時間長度。計算方式為從 send 作業開始到對應 recv-done 作業結束之間的時間間隔,包括傳送及接收資料所花費的時間。舉例來說,假設有以下時間軸:

顯示觀察時間長度的時間軸

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>
  • 停滯時間:集體停滯 TPU 的時間長度。這是集合在 sendsend-donerecvrecv-done 作業中花費的總時間,不包括傳輸資料所花費的時間。舉例來說,假設有以下時間軸:

顯示停滯時間長度的時間軸

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>
  • 發生次數:在設定檔期間,集體活動啟動及完成的總次數。send 作業及其相符的 recv-done 作業必須在設定檔持續時間內發生,才能納入這項指標。
  • 匯總的總停滯時間:在設定檔期間,集合體停滯 TPU 的總時間量。匯總總停頓次數的計算方式如下:
    • 匯總總停頓時間 = 停頓時間 * 發生次數
  • 傳輸的資料大小:透過網路傳輸的資料量,以 XLA 作業形狀為計算依據。
  • 所需頻寬:在提供的緩衝時間內傳輸資料所需的頻寬。您可以使用這項指標,查看設定檔期間爭奪網路頻寬的集合數量。所需頻寬的計算方式如下:
    • 所需頻寬 = 傳輸資料大小 / 閒置時間

分析 Megascale Stats Tool 資料

如要分析工具中顯示的資料,請按照下列步驟操作:

  1. 依「Aggregated Total Stall」遞減排序表格。
  2. 找出 Aggregated Total Stall 最高的 DCN 集體名稱。 如果值明顯高於其他值,可能表示有瓶頸。
  3. 將 DCN 集體的 Required Bandwidth 乘以核心數量 (例如 每個 v4 TPU 主機 8 個)。如果這個值大於 TPU 的最大網路頻寬,可能表示網路壅塞。請嘗試變更分片機制,以減少所需頻寬。
  4. 產生 HLO 傾印,檢查編譯器問題。擴展 sendrecv-done 作業可排定更多重疊的 HLO 作業,並減少 TPU 停滯時間。
  5. 在「追蹤記錄檢視器」中,檢查recv-done作業的持續時間,找出總停滯時間最長的集合。如果傳輸時間過長,可能表示頻寬不足,因為 recv-done 作業通常會遭到網路封鎖。
  6. 如果 recv-done 作業的持續時間與閒置時間相比並未過長,可能表示有硬體問題。