

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 深層運作狀態檢查
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks"></a>

SageMaker HyperPod 會在建立和更新 HyperPod 叢集期間，對叢集執行個體執行*深度運作狀態檢查*。深層運作狀態檢查可確保 SageMaker HyperPod 叢集的可靠性和穩定性，方法是在允許叢集用於訓練機器學習模型之前，徹底測試基礎硬體和基礎設施元件。這種主動方法有助於在叢集生命週期的早期識別和緩解潛在問題。

## SageMaker HyperPod 執行的深層運作狀態檢查清單
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-list"></a>

SageMaker HyperPod 會執行下列深層運作狀態檢查。

**執行個體層級深層運作狀態檢查**


| Category | 公用程式名稱 | 執行個體類型相容性 | Description | 
| --- | --- | --- | --- | 
| 加速器 | GPU/NVLink 計數 | GPU | 驗證 GPU/NVLink 計數。 | 
| 加速器 | [DCGM 診斷](https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/dcgm-diagnostics.html)層級 4 | GPU | 在層級 4 執行 DCGM (NVIDIA Data Center GPU Manager) 診斷來評估 NVIDIA GPU 的運作狀態和功能，包括額外的記憶體測試。 | 
| 加速器 | Neuron sysfs | Trainium | 對於採用 Trainium 技術的執行個體，Neuron 裝置的運作狀態取決於從 [Neuron sysfs](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-sysfs-user-guide.html)讀取由 Neuron 驅動程式直接傳播的計數器。 | 
| 加速器 | Neuron 硬體檢查 | Trainium | 執行訓練工作負載並驗證結果以測試硬體。 | 
| 加速器 | NCCOM 本機測試 | Trainium | 評估單一 Trainium 節點上集體通訊操作的效能 | 
| 網路 | EFA | GPU 和 Trainium | 在連接的 EFA 裝置上執行延遲和頻寬基準測試。 | 

**叢集層級深層運作狀態檢查**


| Category | 公用程式名稱 | 執行個體類型相容性 | Description | 
| --- | --- | --- | --- | 
| 加速器 | NCCL 測試 | GPU | 驗證多個 NVIDIA GPU 上集體通訊操作的效能 | 
| 加速器 | NCCOM 叢集測試 | Trainium | 驗證多個 Trainium 節點上集體通訊操作的效能 | 

## 來自深層運作狀態檢查的日誌
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-log"></a>

以下是來自 SageMaker HyperPod 深層運作狀態檢查的範例日誌。

**叢集層級日誌** 

叢集層級深層運作狀態檢查日誌會存放在 CloudWatch 日誌群組的 `/aws/sagemaker/Clusters/<cluster_name>/<cluster_id>` 中

日誌串流會記錄在 `DeepHealthCheckResults/<log_stream_id>`。

如以下範例所示，深層運作狀態檢查輸出日誌會顯示檢查失敗的執行個體 ID，以及失敗的原因。

```
{
    "level": "error",
    "ts": "2024-06-18T21:15:22Z",
    "msg": "Encountered FaultyInstance. Replace the Instance. Region: us-west-2, InstanceType: p4d.24xlarge. ERROR:Bandwidth has less than threshold: Expected minimum threshold :80,NCCL Test output Bw: 30"
}
```

**執行個體層級日誌** 

執行個體層級深層運作狀態檢查日誌存放在每個節點上的 `/var/log/aws/clusters/sagemaker-deep-health-check.log` 中。透過 SSH 進入節點，並執行下列命令來開啟日誌檔案。

```
cat /var/log/aws/clusters/sagemaker-deep-health-check.log
```

以下是硬體壓力、[NVIDIA DCGM](https://developer.nvidia.com/dcgm) 壓力和 EFA 連線測試的範例輸出。

```
# Hardware Stress Test output

2024-08-20T21:53:58Z info Executing Hardware stress check with command: stress-ng, and args: [--cpu 32 --vm 2 --hdd 1 --fork 8 --switch 4 --timeout 60 --metrics]

2024-08-20T21:54:58Z info stress-ng success

2024-08-20T21:54:58Z    info    GpuPci Count check success

# DCGM Stress Test

2024-08-20T22:25:02Z    info    DCGM diagnostic health summary: dcgmCheckLevel: 0 dcgmVersion: 3.3.7 gpuDriverVersion: 535.183.01, gpuDeviceIds: [2237] replacementRequired: false rebootRequired:false

# EFA Loopback Test

2024-08-20T22:26:28Z    info    EFA Loopback check passed for device: rdmap0s29 . Output summary is MaxBw: 58.590000, AvgBw: 32.420000, MaxTypicalLat: 30.870000, MinTypicalLat: 20.080000, AvgLat: 21.630000
```

以下是 NCCL 連線測試的範例輸出。

```
#       size         count      type   redop    root     time   algbw   busbw #wrong     time   algbw   busbw #wrong

#        (B)    (elements)                               (us)  (GB/s)  (GB/s)            (us)  (GB/s)  (GB/s)       

           8             2     float     sum      -1    353.9    0.00    0.00      0    304.2    0.00    0.00      0
          16             4     float     sum      -1    352.8    0.00    0.00      0    422.9    0.00    0.00      0
          32             8     float     sum      -1    520.0    0.00    0.00      0    480.3    0.00    0.00      0
          64            16     float     sum      -1    563.0    0.00    0.00      0    416.1    0.00    0.00      0
         128            32     float     sum      -1    245.1    0.00    0.00      0    308.4    0.00    0.00      0
         256            64     float     sum      -1    310.8    0.00    0.00      0    304.9    0.00    0.00      0
         512           128     float     sum      -1    304.9    0.00    0.00      0    300.8    0.00    0.00      0
        1024           256     float     sum      -1    509.3    0.00    0.00      0    495.4    0.00    0.00      0
        2048           512     float     sum      -1    530.3    0.00    0.00      0    420.0    0.00    0.00      0
        4096          1024     float     sum      -1    391.2    0.01    0.01      0    384.5    0.01    0.01      0
        8192          2048     float     sum      -1    328.5    0.02    0.02      0    253.2    0.03    0.03      0
       16384          4096     float     sum      -1    497.6    0.03    0.03      0    490.9    0.03    0.03      0
       32768          8192     float     sum      -1    496.7    0.07    0.07      0    425.0    0.08    0.08      0
       65536         16384     float     sum      -1    448.0    0.15    0.15      0    501.0    0.13    0.13      0
      131072         32768     float     sum      -1    577.4    0.23    0.23      0    593.4    0.22    0.22      0
      262144         65536     float     sum      -1    757.8    0.35    0.35      0    721.6    0.36    0.36      0
      524288        131072     float     sum      -1   1057.1    0.50    0.50      0   1019.1    0.51    0.51      0
     1048576        262144     float     sum      -1   1460.5    0.72    0.72      0   1435.6    0.73    0.73      0
     2097152        524288     float     sum      -1   2450.6    0.86    0.86      0   2583.1    0.81    0.81      0
     4194304       1048576     float     sum      -1   4344.5    0.97    0.97      0   4419.3    0.95    0.95      0
     8388608       2097152     float     sum      -1   8176.5    1.03    1.03      0   8197.8    1.02    1.02      0
    16777216       4194304     float     sum      -1    15312    1.10    1.10      0    15426    1.09    1.09      0
    33554432       8388608     float     sum      -1    30149    1.11    1.11      0    29941    1.12    1.12      0
    67108864      16777216     float     sum      -1    57819    1.16    1.16      0    58635    1.14    1.14      0
   134217728      33554432     float     sum      -1   115699    1.16    1.16      0   115331    1.16    1.16      0
   268435456      67108864     float     sum      -1   227507    1.18    1.18      0   228047    1.18    1.18      0
   536870912     134217728     float     sum      -1   453751    1.18    1.18      0   456595    1.18    1.18      0
  1073741824     268435456     float     sum      -1   911719    1.18    1.18      0   911808    1.18    1.18      0
  2147483648     536870912     float     sum      -1  1804971    1.19    1.19      0  1806895    1.19    1.19      0

2024-08-20T16:22:43.831-07:00

# Out of bounds values : 0 OK

2024-08-20T16:22:43.831-07:00

# Avg bus bandwidth    : 0.488398 

2024-08-20T23:22:43Z    info    Nccl test successful. Summary: NcclMaxAlgoBw: 1.190000, NcclAvgAlgoBw: 0.488398, NcclThresholdAlgoBw: 1.180000, NcclOutOfBoundError: OK, NcclOperations: all_reduce_perf, NcclTotalDevices: 2, NcclNodes: 2, NcclClusterMessage:
```