本文說明如何使用 Cloud Monitoring 資訊主頁,監控透過預留容量建立的 A4X Max、A4X、A4、A3 Ultra 和 A3 Mega 執行個體。使用這些資訊主頁,有助於找出並排解獨立 Compute Engine 執行個體或 Slurm 叢集的效能瓶頸,盡可能縮短工作負載的停機時間。
您可以建立自訂資訊主頁,或使用預先建構的 Monitoring 資訊主頁,監控下列項目:
運算執行個體健康狀態
GPU 效能
網路傳輸效率
區塊和子區塊之間的網路效率
機器學習 (ML) 工作負載效率
進度落後項目偵測
偵測無回應的工作負載
如要監控叢集 Cluster Director,請參閱「使用預先建構的資訊主頁監控叢集效能」。
事前準備
監控工作負載前,請先完成下列步驟 (如果尚未完成):
瞭解 Google Cloud 監控工作負載的服務:
本文中的指標使用 Monitoring 資訊主頁。進一步瞭解 Monitoring 資訊主頁、Monitoring 保留期限和 Monitoring 定價。
Straggler 偵測功能也會在 Cloud Logging 中提供記錄項目。瞭解 Logging 介面、Logging 保留期限和 Logging 定價。
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證機制。
限制
本文中的指標僅適用於在符合下列所有條件的運算執行個體上執行的工作負載:
- 運算執行個體必須建立為獨立 Compute Engine 執行個體,或 Slurm 叢集的一部分。
- 運算執行個體必須是使用預留容量建立。
- 運算執行個體必須使用 A4X Max、A4X、A4、A3 Ultra 或 A3 Mega 機器系列。
- 不過,進度落後偵測功能也支援使用 A3 Mega 機器系列的虛擬機器 (VM) 執行個體。
如要監控機器學習工作負載指標,您必須設定工作負載監控功能。
進度落後項目偵測限制
進度落後偵測指標還有下列限制:
- 如果是 A3 Mega 以外的支援機器系列,落後者偵測功能僅支援啟用 Collective Communication Analyzer (CoMMA) 程式庫,將 NCCL 遙測資料匯出至 Google Cloud 服務的運算執行個體。詳情請參閱「CoMMA 總覽」。
- 進度落後偵測功能通常最多需要 10 分鐘,才能回報進度落後。
- 與本文中的其他指標不同,您無法依叢集、區塊、子區塊或運算執行個體,篩選專案的進度落後偵測指標。不過,您可以依據疑似進度落後的一或多個運算執行個體 ID,篩選進度落後偵測記錄的查詢。
無回應工作負載偵測功能的限制
無回應工作負載偵測指標僅支援使用 Collective Communication Analyzer (CoMMA) 程式庫,將 NCCL 遙測資料匯出至 Google Cloud 服務的運算執行個體。詳情請參閱「CoMMA 總覽」。
必要的角色
如要取得監控 AI Hypercomputer 工作負載指標所需的權限,請要求管理員授予您下列 IAM 角色:
-
如要在 Cloud Monitoring 查看指標,請在專案中啟用 Monitoring 編輯者 (
roles/monitoring.editor) 角色 -
如要在 Logging 中查看進度落後偵測記錄:專案的記錄檢視器 (
roles/logging.viewer)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備監控 AI Hypercomputer 工作負載指標所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
必須具備下列權限,才能監控 AI Hypercomputer 工作負載的指標:
-
如要查看資訊主頁:
monitoring.dashboards.get專案 -
如要建立資訊主頁:
monitoring.dashboards.create專案 -
如要查看記錄項目,請在專案中執行下列操作:
logging.logEntries.list
可用的指標
視用途而定,您可以使用下列指標監控運算執行個體和 Slurm 叢集:
如要監控運算執行個體附加 GPU 的健康狀態、效能和網路效能,請參閱「基礎架構指標」。
如要監控機器學習工作負載中的 GPU 效率,請參閱「機器學習工作負載指標」。
如要監控效能緩慢的機器學習工作負載中,疑似進度落後的運算執行個體,請參閱「進度落後項目偵測指標」。
如要瞭解如何查看這些指標,請參閱本文的「以圖表呈現指標」一節。
基礎架構指標
如要監控運算執行個體所連結 GPU 的健康狀態、效能和網路效能,可以使用下列指標:
如要瞭解 Compute Engine 中可用的指標,請參閱「Google Cloud 指標」。
GPU 健康指標
如要監控 GPU 的健康狀態,請使用下列指標:
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| 機器狀態 | machine/machine_status |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 運算執行個體使用的機器是否健康狀態良好,或健康狀態不良且需要修復。 |
| NVSwitch 狀態 | instance/gpu/nvswitch_status |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 連接至運算執行個體的 NVIDIA GPU 上的 NVLink 切換器是否發生問題。 |
| VM 基礎架構健康狀態 | instance/gpu/infra_health |
A4X、A4、A3 Ultra 或 A3 Mega | 執行運算執行個體的叢集、區塊、子區塊和主機的健康狀態。如果這項指標顯示運算執行個體的基礎架構不健康,則指標也會說明問題。 |
| VM 故障預測分數 | instance/gpu/failure_prediction_score |
A4X、A4、A3 Ultra 或 A3 Mega |
運算執行個體執行的主機在未來五小時內效能降低的可能性。值可以介於 0.0 到 1.0 之間。如果這個值在一段時間內持續接近 1.0,運算執行個體就越有可能降級。在這種情況下,建議您將工作移至其他運算執行個體,如果運算執行個體發生問題,請將主機回報為故障。 |
GPU 效能指標
如要監控 GPU 效能,請使用下列指標:
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| 累計脈絡使用率 | instance/gpu/accumulated_context_utilization_seconds |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | GPU 處理工作負載的總時間 (以秒為單位)。 |
| GPU 耗電量 | instance/gpu/power_consumption |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 主機上個別 GPU 消耗的功率,以瓦特 (W) 和十進位值表示。如果運算執行個體連接多個 GPU,這項指標會分別提供主機上每個 GPU 的耗電量。 |
| SM 使用率 | instance/gpu/sm_utilization |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 非零值表示 GPU 上的串流多處理器 (SM) 正在使用中。 |
| GPU 溫度 | instance/gpu/temperature |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 主機上個別 GPU 的溫度,以攝氏 (℃) 和十進位值表示。如果運算執行個體連結多個 GPU,這項指標會分別提供主機上每個 GPU 的溫度。 |
| GPU 熱裕度 | instance/gpu/tlimit |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 個別 GPU 在因高溫而需要降低速度前,可承受的溫度餘裕 (以攝氏 (℃) 和十進位值表示)。如果運算執行個體連結多個 GPU,這項指標會分別提供主機上每個 GPU 的散熱空間。 |
GPU 網路成效指標
如要監控 GPU 的網路效能,請使用下列指標。如要監控後端 ToR 網路切換裝置,請參閱「ToR 切換裝置指標」。
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| 連結電信業者異動 | instance/gpu/link_carrier_changes |
A4X、A4、A3 Ultra 或 A3 Mega | 網路連結電信業者在一分鐘內變更的頻率。 |
| 網路封包往返時間 | instance/gpu/network_rtt |
A4X、A4、A3 Ultra 或 A3 Mega | 網路資料在來源和目的地之間傳輸的封包往返時間,以微秒為單位。 |
| 區塊間的網路流量 | instance/gpu/network/inter_block_tx |
A4X、A4、A3 Ultra 或 A3 Mega | 區塊之間的網路流量位元組數。 |
| 子區塊間的網路流量 | instance/gpu/network/inter_subblock_tx |
A4X、A4、A3 Ultra 或 A3 Mega | 子區塊之間的網路流量位元組數。 |
| 子區塊內的網路流量 | instance/gpu/network/intra_subblock_tx |
A4X、A4、A3 Ultra 或 A3 Mega | 單一子區塊內的網路流量位元組數。 |
| NVLink 運作速度 | instance/gpu/nvlink_active_speed |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 目前的存取連結通訊埠速度,以 GBps 為單位。 |
| 接收處理量 (位元組) | instance/gpu/throughput_rx_bytes |
A4X、A4、A3 Ultra 或 A3 Mega | 從網路流量接收的位元組數。 |
| 傳輸處理量 (位元組) | instance/gpu/throughput_tx_bytes |
A4X、A4、A3 Ultra 或 A3 Mega | 傳輸至網路流量的位元組數。 |
ToR 交換器指標
如果是 A4X Max 和 A4X 叢集,您可以監控後端 ToR 網路切換裝置遙測,在分散式機器學習訓練期間執行下列操作:
- 觀察交換器和通訊埠健康狀態。
- 評估可用頻寬容量和緩衝區佇列深度。
- 診斷封包捨棄、錯誤、介面不穩定和壅塞管理事件。
這些指標使用 compute.googleapis.com/NetworkSwitch 受監控資源類型和 compute.googleapis.com/ 指標類型前置字串。在 Metrics Explorer 中,選取「NetworkSwitch」NetworkSwitch資源類型 (compute.googleapis.com/NetworkSwitch)。
切換指標分為下列類別:
切換健康和狀態指標
本節列出的指標可用於:
- 驗證交換器通訊埠的運作狀態。
- 監控交換器 CPU 和記憶體使用率。
- 檢查開機時間,偵測非預期的重新啟動。
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| 攜碼轉移狀態 | network_switch/port_status |
A4X Max 或 A4X | 指出網路切換裝置上實體介面 (通訊埠) 的運作狀態。匯總的指標值一律為 1;實際狀態則會顯示在 status 標籤中 (例如 UP 或 DOWN)。重要標籤: port_identifier、status、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| CPU 使用率 | network_switch/cpu_utilization |
A4X Max 或 A4X | 網路切換裝置的 CPU 使用率,以 0.0 到 1.0 之間的小數表示。重要標籤: subblock_id、block_id、reservation_id、switch_type。
|
| 已使用的記憶體 | network_switch/memory_used |
A4X Max 或 A4X | 網路切換裝置使用的記憶體,以位元組為單位。 重要標籤: subblock_id、block_id、reservation_id、switch_type。
|
| 記憶體總量 | network_switch/total_memory_bytes |
A4X Max 或 A4X | 網路切換裝置的記憶體總容量,以位元組為單位。 重要標籤: subblock_id、block_id、reservation_id、switch_type。
|
| 開機時間 | network_switch/boot_time_in_ns |
A4X Max 或 A4X | 網路切換裝置的啟動時間戳記,以 Unix 紀元起算,單位為奈秒。 重要標籤: subblock_id、block_id、reservation_id、switch_type。
|
切換容量和佇列指標
如要追蹤基準與可用網路容量,並監控交換器上的緩衝區佇列深度和佇列捨棄情形,請使用下列指標:
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| 基準數量 | network_switch/baseline_capacity_kbps |
A4X Max 或 A4X | ToR 交換器連至超級區塊的潛在基準頻寬總容量,以每秒千位元 (kbit/s) 為單位。 重要標籤: subblock_id、block_id、reservation_id、switch_type。
|
| 有效容量 | network_switch/effective_capacity_kbps |
A4X Max 或 A4X | ToR 交換器連線至超級區塊的可用作業容量,以每秒千位元 (kbit/s) 為單位。這項指標反映了因連結效能降低或離線而導致的容量減少。 重要標籤: subblock_id、block_id、reservation_id、switch_type。
|
| 輸出佇列深度上限 | network_switch/egress_max_queue_depth |
A4X Max 或 A4X | 在最近一次測量週期中觀察到的佇列深度上限。 重要標籤: port_identifier、queue_name、subblock_id、block_id、reservation_id、switch_type。
|
| 輸出佇列捨棄 | network_switch/egress_queue_drops_count |
A4X Max 或 A4X | 因佇列壅塞或緩衝區耗盡,而從輸出佇列捨棄的封包累計數量。 重要標籤: port_identifier、queue_name、subblock_id、block_id、reservation_id、switch_type。
|
| 緩衝區內捨棄 | network_switch/in_buffer_discards |
A4X Max 或 A4X | 因緩衝區溢位而在輸入端捨棄的傳入封包累計數量。 主要標籤: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
交換器捨棄、錯誤和流量控制指標
請使用本節中的指標診斷下列問題,這些問題可能會導致分散式訓練停滯或集體通訊逾時 (例如 NCCL 監控程式逾時):
- 封包捨棄、傳輸錯誤和實體連結不穩定。
- 前向錯誤更正 (FEC) 字詞錯誤。
- 壅塞管理事件,例如優先順序流量控制 (PFC) 暫停和明確壅塞通知 (ECN) 標記。
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| 介面不穩定 | network_switch/interface_flaps_count |
A4X Max 或 A4X | 交換器通訊埠介面上實體連結狀態轉換 (UP 和 DOWN 之間的切換) 的累計次數。重要標籤: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| FEC 字詞錯誤 | network_switch/fec_word_error_count |
A4X Max 或 A4X | 前向錯誤更正 (FEC) 字詞錯誤的累計數量。使用 correctable 布林值標籤 (true 或 false) 區分可修正和無法修正的錯誤。重要標籤: port_identifier、correctable、subblock_id、block_id、reservation_id、switch_type。
|
| 標示 ECN 的封包 | network_switch/ecn_marked_packets_count |
A4X Max 或 A4X | 因緩衝區門檻交叉而標示為明確擁塞通知 (ECN) 位元的封包累計數量。 重要標籤: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| Pfc rx 封包 | network_switch/pfc_rx_packets_count |
A4X Max 或 A4X | 通訊埠收到的優先順序流量控制 (PFC) 暫停框架累計數量。 注意:僅適用於已啟用 PFC 的專用環境。 重要標籤: port_identifier、priority_index、subblock_id、block_id、reservation_id、switch_type。
|
| PFC 傳輸封包 | network_switch/pfc_tx_packets_count |
A4X Max 或 A4X | 從通訊埠傳出的優先順序流量控制 (PFC) 暫停框架累計數量,用於限制傳入流量。 注意:僅適用於已啟用 PFC 的專用環境。 重要標籤: port_identifier、queue_name、subblock_id、block_id、reservation_id、switch_type。
|
| QoS 傳輸封包 | network_switch/qos_tx_packets |
A4X Max 或 A4X | 在指定佇列中傳輸的服務品質 (QoS) 封包累計數量。 重要標籤: port_identifier、queue_name、subblock_id、block_id、reservation_id、switch_type。
|
| 傳入封包數 | network_switch/in_packets_count |
A4X Max 或 A4X | 交換器通訊埠收到的傳入封包累計數量。 重要標籤: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 錯誤 | network_switch/in_errors |
A4X Max 或 A4X | 接收到的連入封包中,因錯誤而無法傳送的封包累計數量。 主要標籤: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 在「已捨棄」中 | network_switch/in_discards |
A4X Max 或 A4X | 遭捨棄的有效傳入封包累計數量 (例如因緩衝區空間不足)。 主要標籤: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 傳出錯誤 | network_switch/out_errors |
A4X Max 或 A4X | 因發生錯誤而無法傳輸的傳出封包累計數量。 主要標籤: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 傳出捨棄 | network_switch/out_discards |
A4X Max 或 A4X | 即使未偵測到錯誤,仍選擇捨棄的傳出封包累計數量。 主要標籤: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 傳入位元組數 | network_switch/in_bytes_count |
A4X Max 或 A4X | 交換器通訊埠收到的傳入位元組累計數量。 重要標籤: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 傳出位元組數 | network_switch/out_bytes_count |
A4X Max 或 A4X | 從交換器通訊埠傳出的累計位元組數。 重要標籤: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
GPU 嚴重錯誤指標
如要監控 GPU 遇到的錯誤,以及可能導致運算執行個體停止或對效能造成負面影響的錯誤,請使用下列指標:
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| NVLink 執行階段錯誤 | instance/gpu/nvlink_runtime_error |
A4X Max 或 A4X | 是否發生 NVLink 執行階段錯誤。 |
| 無法修正的 DRAM ECC 錯誤 | instance/gpu/dram_uncorrectable_ecc_error_count |
A4X Max 或 A4X | GPU 動態隨機存取記憶體 (DRAM) 中無法修正的錯誤修正碼 (ECC) 數量。 |
| 無法修正的 DRAM 列重新對應次數 | instance/gpu/dram_uncorrectable_row_remapping_count |
A4X Max 或 A4X | GPU DRAM 中無法修正的錯誤導致的資料列重新對應次數。 |
| 無法修正的 DRAM 列重新對應失敗次數 | instance/gpu/dram_row_remapping_failed |
A4X Max 或 A4X | GPU DRAM 中的資料列重新對應是否因下列其中一項問題而失敗:
|
| 無法修正的 PCIe 錯誤 | instance/gpu/pcie_fatal_error_count |
A4X Max 或 A4X | 無法修正的周邊元件互連快捷 (PCIe) 錯誤數量。 |
| 無法修正的快取 ECC 錯誤 | instance/gpu/cache_uncorrectable_ecc_error_count |
A4X Max 或 A4X | 快取記憶體中無法修正的 ECC 數量。 |
機器學習工作負載指標
如要監控機器學習工作負載的效率 (具體來說是有效處理量),請使用下列指標:
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| 有效工作時間 | workload/goodput_time |
A4X、A4、A3 Ultra 或 A3 Mega | 工作負載花費在有效處理量活動的時間 (以秒為單位)。這些活動是核心、實用的工作,例如模型訓練期間的正向或反向傳遞。 |
| 非有效處理時間 | workload/badput_time |
A4X、A4、A3 Ultra 或 A3 Mega | 工作負載花費在無效輸送量活動的時間 (以秒為單位)。這些活動屬於額外負擔工作,例如載入或預先處理訓練資料。 |
進度落後項目偵測指標
落後者偵測指標可協助您發現並找出疑似落後者。進度落後項目是單點、非當機故障,最終會拖慢整個工作負載。
如要監控 VM 的落後者偵測功能,請使用下列指標:
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| 疑似進度落後的項目 | instance/gpu/straggler_status |
A4X、A4、A3 Ultra 或 A3 Mega | VM 是否疑似為影響工作負載效能的落後者。建議您只有在其他指標指出工作負載發生問題時,才對疑似落後者採取行動。 |
您也可以在 A4X、A4、A3 Ultra 或 A3 Mega 執行個體的記錄項目中,查看進度落後偵測指標。例如,您可以使用下列查詢:
| 說明 | 查詢 |
|---|---|
| 特定 VM 疑似有落後者的記錄。使用這項查詢,檢查專案中特定工作負載是否有疑似進度落後的項目。 |
logName=~ "/logs/compute.googleapis.com%2Fworkload_diagnostic" AND jsonPayload.suspectedStragglersDetection.numNodes > 0 AND jsonPayload.suspectedStragglersDetection.nodes.instanceId="INSTANCE_ID"
將
OR jsonPayload.suspectedStragglersDetection.nodes.instanceId="INSTANCE_ID"
|
| 專案中進度落後偵測作業的所有記錄。如果未偵測到疑似進度落後的工作,請使用這項查詢,確認進度落後偵測服務是否正在執行。(由於限制,您無法依特定 VM 篩選沒有疑似落後者的記錄)。 |
|
進度落後項目偵測指標對大規模機器學習工作負載特別有幫助,原因如下:
大規模機器學習工作負載很容易受到落後者的影響。大規模機器學習工作負載會使用同步和大規模分散式運算。(換句話說,這類系統有許多高度相互依賴的元件同時運作)。這種架構會使大規模機器學習工作負載,非常容易受到單點故障 (例如落後者) 的影響。
在大規模機器學習工作負載中,很難注意到並找出落後者。單點故障分為兩種類型:
停止故障:導致整個系統停止運作的故障,例如主機錯誤和維護事件。這類問題相對容易偵測及解決。
緩慢故障:導致效能嚴重降低,但不會造成當機的故障。這類錯誤很難找出並偵錯。
由於進度落後者屬於緩慢故障,因此本質上難以察覺和找出,尤其是在大規模同步工作負載中。
無回應工作負載偵測指標
無回應工作負載偵測指標可提供以下助益:
- 留意整個工作負載是否停滯 (有時稱為 NCCL 停止運作)
- 瞭解工作負載停滯的原因,例如是否因程序異常終止或網路停滯所致
如要偵測及診斷運算執行個體中沒有回應的工作負載,請使用下列指標:
| 名稱 | 指標類型 | 支援的機器系列 | 說明 |
|---|---|---|---|
| 使用 NCCL 遙測偵測到無回應的工作負載事件 | instance/gpu/nccl_hang |
A4X Max、A4X、A4 和 A3 Ultra | 偵測到的無回應工作負載事件數量,以時間序列表示。 |
啟用無回應工作負載偵測功能
如要啟用無回應工作負載偵測功能,您必須啟用 CoMMA 和心跳遙測,這是一種定期 ping 訊號,表示工作負載正在執行。在近期版本的 CoMMA 中,這項功能預設為啟用。不過,如果您使用的是 NICCL/gIB 1.1.1 版套件中的 CoMMA 版本,則必須手動啟用心跳遙測。如要確認您使用的 NICCL/gIB 套件版本,請參閱「檢查 NCCL 和 gIB 版本」。
如要手動啟用 CoMMA 的心跳遙測功能,請在訓練環境中指定下列環境變數:
NCCL_PROFILER_HEARTBEAT=true
NCCL_PROFILER_HEARTBEAT_UPLOAD_INTERVAL=10s
使用 NCCL_PROFILER_HEARTBEAT 開啟或關閉心跳遙測,並使用 NCCL_PROFILER_HEARTBEAT_UPLOAD_INTERVAL 指定心跳遙測的頻率。詳情請參閱「CoMMA 環境變數」。
關閉無回應工作負載偵測功能
如要關閉無回應工作負載偵測功能,請在訓練環境中指定下列環境變數,關閉 CoMMA 中的心跳遙測功能:
NCCL_PROFILER_HEARTBEAT=false
瞭解工作負載沒有回應的原因
如要瞭解工作負載沒有回應的原因,請完成下列步驟,查看標籤 hang_reason 的值:
-
前往 Google Cloud 控制台的leaderboard「Metrics Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
搜尋下列指標:
compute.googleapis.com/instance/gpu/nccl_hang使用「匯總」功能,並選取下列標籤:
instance_idhang_reason
下表列出標籤可能的值、這些值對工作負載的意義,以及建議的後續步驟。
| 標籤值 | 說明 | 建議採取的後續步驟 |
|---|---|---|
MissingHeartbeatIssue |
一或多個等級的心跳遙測已停止,這通常表示發生嚴重程序或節點當機。 |
|
StalledRankIssue |
系統仍會接收 Heartbeat 遙測資料,但 NCCL 作業的排名不會提升。 |
|
MissingCommunicatorIssue |
屬於 NCCL 通訊器的所有排名都已停止進度。 |
|
NoHangIssue |
預設值。未偵測到任何問題。 |
|
查看指標
如要查看運算執行個體和 Slurm 叢集的指標,請按照下列步驟使用 Monitoring 資訊主頁:
如要查看基礎架構指標和進度落後偵測指標,請按照下列步驟操作:
如要快速瞭解基礎架構的健康狀態和效能,或自訂現有資訊主頁,請使用預先建構的資訊主頁。
如有特定監控需求,請建立自訂資訊主頁。
如要查看機器學習工作負載指標,請參閱說明文件,瞭解如何設定工作負載監控功能。
如要查看進度落後項目偵測記錄,請參閱「查看進度落後項目偵測記錄」。
如果使用資訊主頁時遇到問題,請參閱「排解效能緩慢問題」。
使用預先建構的資訊主頁
您可以使用預先建構的 AI Hypercomputer Monitoring 資訊主頁,查看運算執行個體和 Slurm 叢集的指標。您也可以建立預建資訊主頁的副本,並視需求修改。
如要使用 AI Hypercomputer 的預建資訊主頁,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「 Dashboards」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
在「Name」(名稱) 欄中,根據要查看的指標,點選下列其中一個資訊主頁的名稱:
如要監控運算執行個體健康狀態、GPU 效能和落後者偵測,請使用「Cluster Director Health Monitoring」(Cluster Director 健康狀態監控) 資訊主頁。
如要進一步瞭解如何使用這些指標找出及分析問題,請一併使用 GCE 互動式教戰手冊 - Cluster Director 健康狀態監控教戰手冊資訊主頁。
如要監控網路傳輸效率,請使用 Cluster Director 傳輸效率資訊主頁。
如要監控區塊和子區塊之間的網路效率,請使用 Cluster Director 區塊網路資訊主頁。
如要進一步瞭解如何使用這些指標找出及分析問題,請一併使用 GCE Interactive Playbook - Cluster Director Block Network 互動指南資訊主頁。
所選資訊主頁的詳細資料頁面隨即開啟。您可以使用工具列中的日期範圍選取器,變更資料的日期範圍。
選用:如要複製資訊主頁並依需求自訂,請按一下「 複製資訊主頁」。
建立自訂資訊主頁
如要建立自訂 Monitoring 資訊主頁,請按照下列步驟操作:
選擇要監控的指標。如果尚未查看,請參閱本文的「可用指標」一節。
查看進度落後項目偵測記錄
如要使用Logs Explorer查看進度落後偵測記錄,請完成下列步驟:
-
前往 Google Cloud 控制台的 「Logs Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
根據預設,這個頁面會查詢專案中的所有記錄。按一下「停止查詢」。
使用工具列中的時間範圍選取器,選取要分析的時間範圍。
在「Query」(查詢) 窗格中,輸入查詢進度落後偵測記錄。
按一下 [Run Query] (執行查詢)。
以下是進度落後偵測記錄項目的範例。
{
...
"jsonPayload": {
...
"@type": "type.googleapis.com/ml.aitelemetry.performancedebugging.output.NetworkStragglersOutput",
"suspectedStragglersDetection": {
"numNodes": 4,
"nodes": [
{
"latencyMs": 9,
"instanceId": "INSTANCE_ID_1"
},
{
"latencyMs": 9,
"instanceId": "INSTANCE_ID_2"
},
{
"instanceId": "INSTANCE_ID_3",
"latencyMs": 4
},
{
"instanceId": "INSTANCE_ID_4",
"latencyMs": 0
}
],
"message": "Suspected stragglers detected."
}
},
"resource": {
"type": "project",
"labels": {
"project_id": "PROJECT_NUMBER"
}
},
...
"severity": "INFO",
"logName": "projects/PROJECT_ID/logs/compute.googleapis.com%2Fworkload_diagnostic",
...
}
記錄項目包含下列欄位:
numNodes:專案中偵測到的疑似落後運算執行個體數量。在本例中,系統偵測到四個疑似進度落後的運算執行個體。instanceId:系統偵測到疑似進度落後的運算執行個體 ID。