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.
Behebung fehlender Jobdatensätze in Slurm Buchhaltung
Aufträge, die vollständig ausgeführt wurden, fehlen in den Slurm Buchhaltungsberichten, z. B. die Ausgabe der sreport Befehle sacct oder. Aufzeichnungen fehlen nur für ein begrenztes Zeitfenster, in der Regel eines Zeitfensters, das auf einen Zeitraum folgt, in dem die Anzahl der eingereichten Aufträge sehr hoch ist. Buchhaltungsberichte sind vor und nach diesem Zeitfenster vollständig. Dieses Thema bezieht sich auf Cluster, für die Slurm Accounting aktiviert ist. Weitere Informationen zur Buchhaltung finden Sie unterSlurm-Buchhaltung in AWS 5 STCK.
Häufige Ursache
Der Slurm Controller-Daemon (slurmctld) schreibt Buchhaltungsdaten nicht direkt in die Buchhaltungsdatenbank. Er sendet die Daten über eine interne, speicherinterne Warteschlange an den Slurm Datenbank-Daemon (slurmdbd). Die Warteschlange kann ihre maximale Größe erreichen, wenn Jobs schneller übermittelt werden als Datensätze an slurmdbd die Datenbank übertragen werden. Wenn die Warteschlange voll ist, slurmctld werden neue Buchhaltungsnachrichten verworfen, anstatt sie der Warteschlange hinzuzufügen.
Verworfene Nachrichten werden nicht erneut versucht, daher fehlt der Auftragsverlauf, den sie übertragen haben, dauerhaft in der Buchhaltungsdatenbank. Nur Buchhaltungsdaten sind betroffen. Die Auftragsplanung und die Auftragsausführung werden normal fortgesetzt. slurmdbdBereits festgeschriebene Datensätze verbleiben in der Datenbank. Die Abrechnung wird automatisch wieder aufgenommen, wenn die Warteschlange leer ist.
Auflösung
Um die Ursache zu bestätigen und die Wahrscheinlichkeit eines erneuten Auftretens zu verringern
-
Durchsuchen
slurmctldSie das Protokoll des Clusters nach Einträgen, die den folgenden ähneln.error: agent queue is full (33794), discarding DBD_JOB_START:1425 request
Jeder Eintrag entspricht einer verworfenen Buchhaltungsmeldung. Der Nachrichtentyp identifiziert den Datensatz, der verloren gegangen ist, z. B.
DBD_JOB_START,DBD_JOB_COMPLETEDBD_STEP_START, oder.DBD_STEP_COMPLETEWenn der Cluster keine Scheduler-Protokolle übermittelt, richten Sie die Protokollzustellung ein. Auf diese Weise können Sie die Ursache überprüfen, falls der Zustand erneut auftritt. Weitere Informationen finden Sie unter Scheduler loggt sich in AWS PCS ein. -
Stellen Sie den
CommitDelayParameter1in der slurmdbd-Konfiguration des Clusters auf ein. Bei dieser Einstellung werden Datenbank-Commitsslurmdbdgruppiert, anstatt jeden Datensatz einzeln festzuschreiben. Dadurch wird die Warteschlange schneller entleert. Verwenden Sie dieSlurmdbdCustomSettingsEigenschaft des Clusters, um die Einstellung anzuwenden. Weitere Informationen finden Sie unter Konfiguration benutzerdefinierter SlurmDBD-Einstellungen in AWS 5 STCK und CommitDelayin der Slurm Dokumentation. Wichtig
SlurmdbdCustomSettingsersetzt die slurmdbd-Einstellungen des Clusters, anstatt sie zu erweitern. Jede Einstellung, die Sie in der Aktualisierungsanforderung weglassen, wird entfernt. Wenn der Cluster möglicherweise bereits slurmdbd-Einstellungen hat, führen Sie ihnaws pcs get-clusterzuerst aus, fügen Sie ihn{parameterName=CommitDelay,parameterValue="1"}zur abgerufenen Liste hinzu und senden Sie dann die vollständige Liste ab.Beispiel— Einstellung
CommitDelayauf einem Clusteraws pcs update-cluster --cluster-identifiermy-cluster\ --slurm-configuration \ 'SlurmdbdCustomSettings=[{parameterName=CommitDelay,parameterValue="1"}]' -
Vergewissern Sie sich, dass die Einstellung vorhanden ist. Sehen Sie AWS-Managementkonsole sich unter Zusätzliche Scheduler-Einstellungen für den Cluster an. Führen Sie in der AWS CLI den folgenden Befehl aus und überprüfen Sie das
slurmConfigurationFeld der Antwort.aws pcs get-cluster --cluster-identifiermy-cluster
Anmerkung
slurmctldVerworfene Buchhaltungsunterlagen können nicht wiederhergestellt werden. Jobs, die während des betroffenen Zeitfensters ausgeführt wurden, fehlen in den Buchhaltungsberichten.
Prävention
Übermitteln Sie die slurmctld Protokolle an Amazon Logs, Amazon Simple Storage Service (Amazon S3) oder Amazon CloudWatch Data Firehose und überwachen Sie sie auf agent queue is full Einträge, um eine Überlastung der Warteschlangen zu erkennen, anstatt fehlende Datensätze später zu finden. Weitere Informationen finden Sie unter Scheduler loggt sich in AWS PCS ein.
CommitDelayStellen Sie die Option 1 auf Cluster ein, auf denen Workloads mit einer hohen Rate an Auftragsübermittlungen ausgeführt werden.