View a markdown version of this page

Behebung fehlender Jobdatensätze in Slurm Buchhaltung - AWS STCK

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
  1. Durchsuchen slurmctld Sie 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_COMPLETE Wenn 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.

  2. Stellen Sie den CommitDelay Parameter 1 in der slurmdbd-Konfiguration des Clusters auf ein. Bei dieser Einstellung werden Datenbank-Commits slurmdbd gruppiert, anstatt jeden Datensatz einzeln festzuschreiben. Dadurch wird die Warteschlange schneller entleert. Verwenden Sie die SlurmdbdCustomSettings Eigenschaft des Clusters, um die Einstellung anzuwenden. Weitere Informationen finden Sie unter Konfiguration benutzerdefinierter SlurmDBD-Einstellungen in AWS 5 STCK und CommitDelay in 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 ihn aws pcs get-cluster zuerst aus, fügen Sie ihn {parameterName=CommitDelay,parameterValue="1"} zur abgerufenen Liste hinzu und senden Sie dann die vollständige Liste ab.

    Beispiel— Einstellung CommitDelay auf einem Cluster
    aws pcs update-cluster --cluster-identifier my-cluster \ --slurm-configuration \ 'SlurmdbdCustomSettings=[{parameterName=CommitDelay,parameterValue="1"}]'
  3. 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 slurmConfiguration Feld der Antwort.

    aws pcs get-cluster --cluster-identifier my-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.