

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 심층 상태 확인
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks"></a>

SageMaker HyperPod는 HyperPod 클러스터를 생성하고 업데이트하는 동안 클러스터 인스턴스에 대한 *심층 상태 확인*을 수행합니다. [StartClusterHealthCheck](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartClusterHealthCheck.html) API를 사용하여 SageMaker HyperPod 클러스터에 대한 심층 상태 확인을 온디맨드로 요청할 수도 있습니다. 심층 상태 확인은 기본 하드웨어 및 인프라 구성 요소를 테스트하여 SageMaker HyperPod 클러스터의 안정성과 안정성을 보장합니다. 이 사전 예방적 접근 방식은 클러스터 수명 주기 초기에 잠재적 문제를 식별하고 완화하는 데 도움이 됩니다.

## SageMaker HyperPod에서 수행한 심층 상태 확인 목록
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-list"></a>

SageMaker HyperPod는 다음과 같은 심층 상태 확인을 실행합니다.

**인스턴스 수준 심층 상태 확인**


| 카테고리 | 유틸리티 이름 | 인스턴스 유형 호환성 | 설명 | 
| --- | --- | --- | --- | 
| 액셀러레이터 | 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 노드에서 집합 통신 작업의 성능을 평가합니다. | 
| Network | EFA | GPU 및 Trainium | 연결된 EFA 디바이스에서 지연 시간 및 대역폭 벤치마킹을 실행합니다. | 

**클러스터 수준 심층 상태 확인**


| 카테고리 | 유틸리티 이름 | 인스턴스 유형 호환성 | 설명 | 
| --- | --- | --- | --- | 
| 액셀러레이터 | NCCL 테스트 | GPU | 여러 NVIDIA GPU에서 집합 통신 작업의 수행을 확인합니다 | 
| 액셀러레이터 | NCCOM 클러스터 테스트 | Trainium | 여러 Trainium 노드에서 집합 통신 작업의 수행을 확인합니다 | 

**유연한 인스턴스 그룹을 사용한 심층 상태 확인**  
여러 인스턴스 유형`InstanceRequirements`과 함께를 사용하는 인스턴스 그룹의 경우 심층 상태 확인은 다음과 같이 작동합니다.  
인스턴스 수준 심층 상태 확인은 적격 GPU 인스턴스 유형에서만 실행됩니다. 유연한 인스턴스 그룹 내의 CPU 인스턴스 유형은 건너뜁니다.
클러스터 수준 연결 테스트(예: NCCL AllReduce)는 인스턴스 그룹 내에서 동일한 유형의 인스턴스 사이에서만 실행됩니다. 이렇게 하면 각 인스턴스 유형의 네트워킹 기능을 반영하는 정확한 테스트 결과가 보장됩니다.
심층 상태 확인이 활성화된 경우 유연한 인스턴스 그룹의 인스턴스 유형이 하나 이상 심층 상태 확인을 지원해야 합니다.

## 심층 상태 확인의 로그
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-log"></a>

다음은 SageMaker HyperPod 심층 상태 확인의 로그 예제입니다.

**클러스터 수준 로그** 

클러스터 수준 심층 상태 확인 로그는 `/aws/sagemaker/Clusters/<cluster_name>/<cluster_id>`의 CloudWatch 로그 그룹에 저장됩니다.

로그 스트림은 `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:
```