Porównanie SLURM i PBS
Z Komputery Dużej Mocy w ACK CYFRONET AGH
Strona zawiera krótkie podsumowanie różnić w specyfikowaniu zasobów dla zadań w systemach SLURM i PBS. Strona może być pomocna dla osób przenoszących swoje skrypty pomiędzy tymi dwoma systemami kolejkowymi, ale nie jest wyczerpującym źródłem wiedzy. W przypadku wątpliwości prosimy o kontakt lub przestudiowanie dokumentacji do danego systemu kolejkowego.
Spis treści
Dyrektywa systemu kolejkowego dla plików batchowych
SLURM | PBS |
---|---|
#SBATCH | #PBS |
Najważniejsze opcje oraz parametry
Opcja SLURM | Opcja PBS |
---|---|
-N (--nodes=) | -l nodes= |
--ntasks-per-node= | -l ppn= |
--cpus-per-task= | -l ppn= |
--mem-per-cpu= | -l pmem= |
--mem= | -l mem= |
-t (--time=) | -l walltime= |
-p (--partition=) | -q |
-o filename -e filename | -j oe |
--mail-type= | -m |
--mail= | -M |
Typowe konfiguracje zadań
PBS:
qsub
SLURM:
sbatch
Zadanie jedno rdzeniowe
PBS:
qsub
SLURM:
sbatch
Zadanie wielowątkowe (OpenMP)
PBS:
qsub
SLURM:
sbatch
Zadanie wieloprocesowe/rozproszone (MPI)
PBS:
qsub
SLURM:
sbatch
Zadanie hybrydowe (MPI + OpenMP)
PBS:
qsub
SLURM:
sbatch
Najważniejsze zmienne systemowe
Zmienna SLURM | Zmienna PBS |
---|---|
SLURM_SUBMIT_DIR | PBS_O_WORKDIR |
SLURM_NTASKS | brak odpowiednika |
brak odpowiednika | PBS_NP |
SLURM_JOB_ID | PBS_JOBID |
SLURM_ARRAY_TASK_ID | PBS_ARRAYID |
Wartość PBS_NP możemy wyliczyć za pomocą SLURM_NTASKS * SLURM_CPUS_PER_TASK przy założeniu, że zadanie posiada więcej niż 1 rdzeń per proces. W innym przypadku PBS_NP jest równe SLURM_NTASKS.
Najważniejsze komendy
Komenda SLURM | Komenda PBS |
---|---|
sbatch | qsub |
squeue | qstat |
scancel | qdel |