

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Tiefgreifende Zustandsprüfungen
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks"></a>

SageMaker HyperPod führt während der Erstellung und Aktualisierung von Clustern *eingehende Integritätsprüfungen* für HyperPod Clusterinstanzen durch. Sie können mithilfe der [StartClusterHealthCheck](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartClusterHealthCheck.html)API auch bei Bedarf umfassende Integritätsprüfungen für einen SageMaker HyperPod Cluster anfordern. Die umfassenden Integritätsprüfungen stellen die Zuverlässigkeit und Stabilität der SageMaker HyperPod Cluster sicher, indem sie die zugrunde liegenden Hardware- und Infrastrukturkomponenten testen. Dieser proaktive Ansatz hilft dabei, potenzielle Probleme zu einem frühen Zeitpunkt im Cluster-Lebenszyklus zu erkennen und zu beheben.

## Liste der tiefgreifenden Integritätsprüfungen, die durchgeführt wurden von SageMaker HyperPod
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-list"></a>

SageMaker HyperPod führt die folgenden umfassenden Integritätsprüfungen durch.

**Instance-level gründliche Gesundheitschecks**


| Kategorie | Name des Dienstprogramms | Kompatibilität von Instance-Typen | Description | 
| --- | --- | --- | --- | 
| Accelerator | GPU/NVLink count | GPU | Überprüft die GPU/NVLink Anzahl. | 
| Accelerator | [DCGM-Diagnose Stufe](https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/dcgm-diagnostics.html) 4 | GPU | Beurteilt den Zustand und die Funktionalität von NVIDIA-GPUs, indem DCGM-Diagnosen (NVIDIA Data Center GPU Manager) auf Stufe 4 ausgeführt werden, einschließlich zusätzlicher Speichertests. | 
| Accelerator | Neuron sysfs | Trainium | Beispielsweise Trainium-powered wird der Zustand der Neuron-Geräte durch das Lesen von Zählern aus [Neuron-Sysfs bestimmt, die direkt vom Neuron-Treiber](https://awsdocs-neuron.readthedocs-hosted.com/en/latest/tools/neuron-sys-tools/neuron-sysfs-user-guide.html) weitergegeben werden. | 
| Accelerator | Neuron-Hardwareprüfung | Trainium | Führt einen Trainings-Workload durch und verifiziert die Ergebnisse, um die Hardware zu testen. | 
| Accelerator | Lokaler NCCOM-Test | Trainium | Evaluiert die Leistung kollektiver Kommunikationsoperationen auf einzelnen Trainium-Knoten | 
| Netzwerk | EFA | GPU und Trainium | Führt einen Latenz- und Bandbreiten-Benchmarking auf dem angeschlossenen EFA-Gerät durch. | 

**Cluster-level gründliche Gesundheitschecks**


| Kategorie | Name des Dienstprogramms | Kompatibilität von Instance-Typen | Description | 
| --- | --- | --- | --- | 
| Accelerator | NCCL-Prüfung | GPU | Überprüft die Leistung kollektiver Kommunikationsvorgänge auf mehreren NVIDIA-GPUs | 
| Accelerator | NCCOM-Clustertest | Trainium | Überprüft die Leistung kollektiver Kommunikationsoperationen auf mehreren Trainium-Knoten | 

**Umfassende Integritätsprüfungen mit flexiblen Instanzgruppen**  
Bei Instanzgruppen, die mehrere Instanztypen verwenden`InstanceRequirements`, verhalten sich eingehende Integritätsprüfungen wie folgt:  
Instance-level Deep Health Checks werden nur für geeignete GPU-Instance-Typen ausgeführt. CPU-Instanztypen innerhalb einer flexiblen Instanzgruppe werden übersprungen.
Cluster-level Konnektivitätstests (wie NCCL AllReduce) werden nur zwischen Instanzen desselben Typs innerhalb der Instanzgruppe ausgeführt. Dadurch werden genaue Testergebnisse gewährleistet, die die Netzwerkfähigkeiten der einzelnen Instanztypen widerspiegeln.
Wenn Deep Health Checks aktiviert sind, muss mindestens ein Instance-Typ in der flexiblen Instanzgruppe Deep Health Checks unterstützen.

## Protokolle der umfassenden Gesundheitschecks
<a name="sagemaker-hyperpod-eks-resiliency-deep-health-checks-log"></a>

Im Folgenden finden Sie Beispielprotokolle aus den SageMaker HyperPod Deep Health Checks.

**Cluster-level logs** 

Die Protokolle für tiefe Integritätsprüfungen auf Clusterebene werden in Ihrer CloudWatch Protokollgruppe unter gespeichert `/aws/sagemaker/Clusters/<cluster_name>/<cluster_id>`

Die Protokollstream werden unter `DeepHealthCheckResults/<log_stream_id>` protokolliert.

Als Beispiel unten zeigen die Ausgabeprotokolle für Deep Health Checks die Instance-ID, die die Prüfungen nicht bestanden hat, mit der Ursache des Fehlers.

```
{
    "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"
}
```

**Instance-level logs** 

Die Protokolle der umfassenden Zustandsprüfung auf Instance-Ebene werden unter `/var/log/aws/clusters/sagemaker-deep-health-check.log` auf jedem Knoten gespeichert. Stellen Sie eine Verbindung mit SSH auf den Knoten her und öffnen Sie die Protokolldatei, indem Sie den folgenden Befehl ausführen.

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

Im Folgenden finden Sie ein Beispiel für die Ausgabe des Hardwarestress, des [NVIDIA DCGM-Stresses](https://developer.nvidia.com/dcgm) und des EFA-Konnektivitätstests.

```
# 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
```

Im Folgenden finden Sie eine Beispielausgabe des NCCL-Konnektivitätstests.

```
#       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:
```