Alokacja zasobów to podstawowa umiejętność wymagana do korzystania z klastra.
Domyślnie dla każdego zadania zostanie przydzielony jeden węzeł z 2 rdzeniami i 4 GB pamięci. Wartości domyślne można zmienić za pomocą opcji polecenia srun.
Użytkownik który alokuje za dużo zasobów, blokuje te zasoby podczas gdy inni nie mogą z nich korzystać.
Takie alokowanie zasobów będzie skutkowało ostrzeżeniem, a dalsze nadużycia spowodują nadanie niższego priorytetu uruchamiania zadań na klastrze.
Zadania, które mają zaalokowane za mało zasobów albo się nie ukończą z powodu upływu czasu wykonywania albo zostaną zatrzymane przez systemy przydzielania i nadzoru zasobów (np. oom-killer, cgroups).
Najbardzie przydatne opcje to:
Opcja | wartość domyślna | Opis | |
---|---|---|---|
--account=konto | Pierwsza usługa do której został przypisany użytkownik | Konto usługi które zostanie obciążone zużytymi zasobami | |
--nodes=l_węzłów | 1 | Liczba węzłów obliczeniowych | |
--ntask=l_task | 1 | Liczba podzadań (tasks) w zgłoszeniu | |
--cpus-per-task=l_cpu | 2 | Liczba rdzeni przypadająca na każde z podzadań | |
--mem=l_mem | 4 | Ilość pamięci (w gigabajtach) przypadającej na każdy przedzielony węzeł | |
--time=l_time | 1 | Limit czasu dla zadania w minutach. Alternatywnie można podać czas w postaci hh:mm:ss | |
--partition=partycja | normal | Nazwa partycji na której będzie wykonane zadanie. Nazwy dostępnych partycji można uzyskać za pomocą polecenia sinfo. | |
--nodelist=lista_węzłów | Lista węzłów na których zostanie wykanone zadanie. Lista węzłów jest wyświetlana za pomocą polecenia sinfo |
Poniżej kilka przykładów alokacji zasobów
srun --partition=short --nodes=3 myjob.sh
srun --mem=10gb --cpu-per-task=2 --nodes=2 --time=20 myjob.sh
UWAGA:
Alokuj zasoby w granicach możliwości klastra, jeśli zażądasz 300 rdzeni na jednym nodzie, SLURM odrzuci takie żądanie lub zakolejkuje ale nigdy nie uruchomi.
Takie alokacje będą usuwane przez administratorów bez ostrzeżenia.
Zasoby w zadaniach wsadowych można rezerwować za pomocą opcji podanych z wiersza poleceń (patrz zadanie interaktywne), lub w skrypcie przygotowanym do wykonania zadania.
Taki skrypt może zawierać następujące parametry:
Parametry | Opis |
---|---|
#SBATCH -N2 | Liczbę węzłów obliczeniowych ustawiony na 2 |
#SBATCH -c10 | Liczba rdzeni na zadania (10 rdzeni) |
#SBATCH -mem=10gb | Pamięć dla zadania (10 gigabajtów) |
#SBATCH --time=1:00:00 | limit czasu ustawiony na 1h |