
Ich habe ein wenig Mühe, unseren SLURM-Server zu konfigurieren. Ich wollte mehrere Warteschlangen (Partitionen) haben, damit die kurzen Warteschlangen eine höhere Priorität haben und Jobs sofort eintreten können, während Jobs mit niedrigerer Priorität angehalten oder neu in die Warteschlange gestellt werden.
Die Idee besteht darin, vier Warteschlangen zu haben:
- unendlich: Jobs mit unbegrenzter Zeit. Alle Knoten drin. Niedrigste Priorität. Wenn ein Job in einer Warteschlange mit höherer Priorität einen Knoten benötigt, stelle den Job erneut in die Warteschlange.
- Batch: 24-Stunden-Jobs. Alle Knoten drin. Priorität höher als oben. Wenn ein Job in einer Warteschlange mit höherer Priorität einen Knoten benötigt, reihen Sie den Job erneut ein.
- kurz: 4-Stunden-Jobs. 3 Knoten drin (gemeinsam mit vorherigen Partitionen). Priorität höher als oben. Wenn ein Job in einer Warteschlange mit höherer Priorität einen Knoten benötigt, Job anhalten.
- CPU-Leistung: 1-Stunden-Jobs. 1 Knoten (der beste in unserer Farm und mit vorherigen Partitionen geteilt). Höchste Priorität. Jobs in dieser Warteschlange sollten eingehen, es sei denn, es gibt zu viele Jobs dieser Art.
Beim Durchsehen des Handbuchs dachte ich, dass Folgendes funktionieren würde, aber Aufträge werden nie angehalten oder erneut in die Warteschlange gestellt.
PartitionName=infinite Nodes=ALL Default=NO MaxTime=INFINITE Priority=10 OverSubscribe=FORCE:1 PreemptMode=requeue State=UP
PartitionName=batch Nodes=ALL Default=YES MaxTime=24:00:00 Priority=20 OverSubscribe=FORCE:1 PreemptMode=requeue State=UP
PartitionName=short Nodes=node[001,002,0032] Default=NO MaxTime=4:00:00 Priority=30 OverSubscribe=FORCE:1 PreemptMode=suspend State=UP
PartitionName=cpupower Nodes=node003 Default=NO MaxTime=1:00:00 Priority=40 OverSubscribe=NO PreemptMode=off State=UP
Vielleicht fehlt ja noch etwas anderes?