Slurm-Jobs stehen noch aus, aber es stehen Ressourcen zur Verfügung

3481
Simple.guy

Ich verwende SLURM als Job-Scheduler und Warteschlange für einen kleinen Cluster (einzelner Knoten mit 64 Kernen). Um einen Batch-Job einzureichen, verwende ich:

> sbatch run.sh 

Wo run.sh aussieht:

#! /bin/bash  #SBATCH --ntasks=4  export OMP_THREAD_LIMIT=4 /home/Benchmarks/Graph500/omp-csr/omp-csr -s 23 

Wenn ich jedoch nacheinander zwei Stapeljobs übergebe, erhalte ich Folgendes:

> squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 29 debug run.sh anonymou PD 0:00 1 (Resources) 28 debug run.sh anonymou R 1:13 1 localhost 

Jeder Job benötigt nur 4 Kerne, daher sollten beide Jobs ausgeführt werden. Vielleicht habe ich den Slurm-Controller falsch konfiguriert, die relevanten Zeilen aus /etc/slurm.conf sind:

# COMPUTE NODES NodeName=localhost CPUs=64 Sockets=4 CoresPerSocket=8 ThreadsPerCore=2 State=UNKNOWN PartitionName=debug Nodes=localhost Default=YES MaxTime=INFINITE State=UP 

Für Hinweise und Hinweise wäre ich dankbar.

5

1 Antwort auf die Frage

6
Bruno Pereira

Bei SLURM ist standardmäßig keine Ressourcennutzung zulässig. Wenn ein Job in einem Knoten ausgeführt wird, warten die restlichen Jobs auf ihren Abschluss, bevor weitere Jobs auf demselben Knoten ausgeführt werden.

SLURM muss für die gemeinsame Nutzung von Ressourcen konfiguriert werden. Dies sollte ziemlich einfach und gut dokumentiert sein.

Ein Beispiel dafür, was Sie in Ihre slurm.conf-Datei (normalerweise unter / etc / slurm) einfügen möchten, wäre:

SelectType=select/cons_res SelectTypeParameters= DefMemPerCPU= 

Dies würde die gemeinsame Nutzung der Ressourcen eines Knotens mithilfe des con_resPlugins ermöglichen.

Das select/con_resPlugin erlaubt eine Vielzahl von Parametern (SelectTypeParameters). Die prominentesten sind unten aufgeführt (eine vollständige Liste der Parameter finden Sie auf der Manualpage von slurm.conf):

CR_CPU : CPUs sind die Verbrauchsressource.
CR_CPU_Memory : Fügt CR_CPU Speicher als Verbrauchsmaterial hinzu.
CR_Core-Kerne : Kerne sind die Verbrauchsressource.
CR_Core_Memory : Fügt dem CR_CPU_Memory Speicher als Verbrauchsmaterial hinzu.

Nachdem Sie den Typ der Ressource ausgewählt haben, den Sie als Verbrauchsmaterial in SLURM verwenden möchten, müssen Sie nur die Option shared=yeszu Ihrer Standardwarteschlange hinzufügen und den Befehl scontrol reconfigurein dem Knoten ausgeben, der als Controller verwendet wird.

Wohin geht die Option "shared = yes"? becko vor 6 Jahren 0