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.
Ich versuche, einen Job auszuführen
srun
Der interaktive Job schlägt mit einem Fehler fehl srun: error: fwd_tree_thread: can't find address for <host>, check slurm.conf
-
Warum ist es gescheitert?
Sie haben den
srun
Befehl zum Senden eines Jobs ausgeführt und dann die Größe einer Warteschlange erhöht, indem Sie denpcluster update-cluster
Befehl verwendet haben, ohne die Slurm Daemons nach Abschluss des Updates neu zu starten.Slurmorganisiert Slurm Daemons in einer Baumhierarchie, um die Kommunikation zu optimieren. Diese Hierarchie wird nur aktualisiert, wenn die Daemons starten.
Angenommen
srun
, Sie starten einen Job und führen dann denpcluster update-cluster
Befehl aus, um die Warteschlange zu vergrößern. Neue Rechenknoten werden im Rahmen des Updates gestartet. Stellt Ihren Job dann in eine Slurm Warteschlange auf einen der neuen Rechenknoten. In diesem Fall erkennen sowohl die Slurm Daemons als auch die neuen Rechenknotensrun
nicht.srun
gibt einen Fehler zurück, weil die neuen Knoten nicht erkannt werden. -
Wie löst man das Problem?
Starten Sie die Slurm Daemons auf allen Rechenknoten neu und verwenden Sie sie dann,
srun
um Ihren Job einzureichen. Sie können den Neustart der Slurm Daemons planen, indem Sie denscontrol reboot
Befehl ausführen, der die Rechenknoten neu startet. Weitere Informationen finden Sie in der Dokumentation unter scontrol reboot. Slurm Sie können die Slurm Daemons auf den Rechenknoten auch manuell neu starten, indem Sie einen Neustart der entsprechenden Dienste anfordern. systemd
Der Job steckt im CF
Status mit dem squeue
Befehl fest
Dies könnte ein Problem beim Einschalten dynamischer Knoten sein. Weitere Informationen finden Sie unter Fehler bei der Initialisierung von Compute-Knoten werden angezeigt.
Großaufträge ausführen und sehen nfsd: too many open connections, consider increasing
the number of threads in /var/log/messages
Bei einem Netzwerkdateisystem nimmt die I/O-Wartezeit ebenfalls zu, wenn die Netzwerkgrenzen erreicht werden. Dies kann zu Soft-Lockups führen, da das Netzwerk zum Schreiben von Daten sowohl für Netzwerk- als auch für I/O-Metriken verwendet wird.
Bei Instances der 5. Generation verwenden wir den ENA-Treiber, um Paketzähler verfügbar zu machen. Diese Zähler zählen die Pakete, die dadurch AWS geformt werden, dass das Netzwerk die Bandbreitengrenzen der Instanz erreicht. Sie können diese Zähler überprüfen, um festzustellen, ob sie größer als 0 sind. Wenn dies der Fall ist, haben Sie Ihre Bandbreitenlimits überschritten. Sie können diese Zähler anzeigen, indem Sie Folgendes ausführenethtool -S eth0 | grep exceeded
.
Eine Überschreitung der Netzwerkgrenzen ist häufig darauf zurückzuführen, dass zu viele NFS-Verbindungen unterstützt werden. Dies ist eines der ersten Dinge, die Sie überprüfen sollten, wenn Sie Netzwerkgrenzen erreichen oder überschreiten.
Die folgende Ausgabe zeigt beispielsweise gelöschte Pakete:
$
ethtool -S eth0 | grep exceeded
bw_in_allowance_exceeded: 38750610 bw_out_allowance_exceeded: 1165693 pps_allowance_exceeded: 103 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0
Um diese Meldung zu vermeiden, sollten Sie erwägen, den Instanztyp des Hauptknotens in einen leistungsfähigeren Instanztyp zu ändern. Erwägen Sie, Ihren Datenspeicher in Dateisysteme mit gemeinsam genutztem Speicher zu verschieben, die nicht als NFS-Freigabe exportiert werden, z. B. Amazon EFS oder Amazon FSx. Weitere Informationen finden Sie unter Gemeinsamer Speicher und die Best Practices
Einen MPI-Job ausführen
Debug-Modus aktivieren
Informationen zum Aktivieren des OpenMPI-Debug-Modus finden Sie unter Welche Steuerelemente hat Open MPI, die beim Debuggen helfen
Informationen zum Aktivieren des IntelMPI-Debug-Modus finden Sie unter Andere Umgebungsvariablen.
Anzeige MPI_ERRORS_ARE_FATAL
und OPAL ERROR
in der Jobausgabe
Diese Fehlercodes stammen aus der MPI-Schicht in Ihrer Anwendung. Informationen zum Abrufen von MPI-Debug-Logs aus Ihrer Anwendung finden Sie unter. Debug-Modus aktivieren
Eine mögliche Ursache für diesen Fehler ist, dass Ihre Anwendung für eine bestimmte MPI-Implementierung wie OpenMPI kompiliert wurde und Sie versuchen, sie mit einer anderen MPI-Implementierung wie IntelMPI auszuführen. Stellen Sie sicher, dass Sie Ihre Anwendung mit derselben MPI-Implementierung kompilieren und ausführen.
Verwendung mit mpirun
deaktiviertem verwaltetem DNS
Bei Clustern, bei SlurmSettingsdenen /Dns/DisableManagedDns und UseEc2Hostnames auf gesetzt sindtrue, wird der Slurm Knotenname nicht vom DNS aufgelöst. Slurmkann MPI-Prozesse booten, wenn sie nodenames
nicht aktiviert sind und wenn der MPI-Job in einem Kontext ausgeführt wird. Slurm Wir empfehlen, die Anweisungen im MPI-Benutzerhandbuch zur Ausführung von Slurm MPI-Jobs