Cluster používá systém pro správu úloh SLURM.

Pro ovládání SLURMa, můžete použít staré známé příkazy (qstat, qsub, qdel), ale lepší bude, když se naučíte používat originální příkazy.

srun  - okamžité spuštění úlohy

srun [volby] příkaz [parametry]

Alokuje zdroje pro start úlohy a pak spustí příkaz s jeho případnými parametry.

[volby] - jsou skutečně bohaté, zde jen některé (více viz man srun)

-n číslo : počet úloh (pro paralelní úlohu na 8 CPU: -n8)

-p partition : alias fronta úloh (-p express)

pozn. Pokud jako příkaz zadáte nějaký interaktivní (např. bash), úlohu ukončíté pomocí Ctrl-C 2x za sebou (do 1 sec). Více níže o internaktivním režimu

Jak na interaktivní režim?

Pokud budete chtít spustit přes srun nějakou internatkivní úlohu (bash a pod.), tak použijte následující volby:

-u: zakáže buffer pro stdout příkazu

srun  -u bash -i

A objeví se Vám shell na některém z výpočetních nodů. POZOR. je důležité použít parametr -i ZA příkazem bash - je to jeho parametr.

sbatch - naplánování připravené úlohy

sbatch [volby] skript [argumenty]

Naplánuje spuštění úlohy definované, ve skript-u. Skript vypadá následovně:

uloha.sh

#!/bin/bash
#
#SBATCH --job-name=test_mpi
#SBATCH --output=res_mpi.txt
#
#SBATCH -n 24
#SBATCH --time=10:00
#SBATCH -p express
#SBATCH --constraint="InfiniBand"
#SBATCH --mail-type=ALL
#SBATCH --mail-user=email@adresa.cz
mpirun ./pi

Zařídí spuštění paralelní úlohy na 24 CPU, ve frontě "express", s časovém omezení 10 minut. Úlohu pojmenuje "test_mpi", std. výstup přesměruje do soubor "res_mpi.txt". Požadujeme výpočetní nody s vlastností "InfiniBand" a chceme být informování email o každém úkonu, který SLURM provede s naší úlohou. Události jsou: BEGIN,END,FAIL,REQUEUE.

sbatch uloha.sh

scancel - zrušení úlohy

scancel [volby] job_identifikátor

 

salloc - alokace zdrojů pro úlohu

salloc [volby] [příkaz]

Alokuje zdroje pro spuštění úlohy. Pokud je zadán příkaz, tak jej provede a skončí. Vrátí jobid:

salloc -n8

salloc: Granted job allocation 270

A nyní je možné využít těchto zdrojů např. pro srun pomocí parametru --jobid=<jobid>

srun --jobid=270 ./hallo

squeue - informace o úlohách

Vypíše informace o bežících/čekajících úlohách

 

sinfo - informace o frontách, nodech a dalším

 

dopsat a dozkoušet:

sattach - připojí se k běžící úloze

sattach [volby] job_identifikátor
Připojení k úloze včetně přeměrovaných std in/out. Vhodné i pro debugger.