qsub
polecenie qsub wysyła zadanie do systemu kolejkującego (np. qsub skrypt
), które otrzymuje unikatowy numer (tzw. job-id).
Przykładowa postać pliku skrypt
:
#PBS -N nazwa
#PBS -q kolejka
#PBS -l zasoby
#PBS -j oe
zadanie
Wszystkie informacje przekazywane do systemu kolejkującego w skrypcie muszą zacząć się od znaków #PBS
, po których można użyć różnych opcji:
- -N definiuje nazwę zadania; brak tej opcji powoduje, że nazwą zadania jest początkowy ciąg znaków ze skryptu,
- -q definiuje kolejkę, w ramach której zadanie ma być wykonane; brak tej opcji powoduje, że zadanie będzie uruchomione w ramach kolejki domyślnej,
- -l definiuje użycie różnych zasobów:
- nodes, np.
nodes=4
oznacza użycie 4 węzłów, na których będzie wykorzystane po 1 rdzeniu,nodes=2:ppn=5
oznacza użycie dwóch węzłów, na których będzie wykorzystanych po 5 rdzeni, - walltime, np
walltime=2:15:40
oznacza wykonanie zadania maksymalnie w czasie rzeczywistym 2h 15m 40s, - mem, np
mem=320 kb
oznacza użycie pamięci wielkości 320kB, - -j powoduje połączenie strumienia outputu i błędów w jeden plik o standardowej nazwie:
nazwa.ojob-id
; brak tej opcji spowoduje utworzenie dwóch plików:nazwa.ojob-id
oraznazwa.ejob-id
, - o pozostałych opcjach można dowiedzieć się z pomocy do polecenia (man qsub).
Poniższy przykład skryptu wysyłanego do kolejki:
#PBS -N test-1
#PBS -q batch
#PBS -l nodes=3:ppn=4, walltime=2:00:00
#PBS -j oe
#PBS -o test.o
zadanie
definiuje następujące warunki zadania:
- zadanie będzie miało nazwę
test-1
- zadanie będzie uruchomione w kolejce
batch - do wykonania będą potrzebne trzy węzły, na każdym z nich będą zajęte 4 rdzenie
- zadanie będzie się wykonywało maksymalnie przez 2 godziny
- strumień błędów będzie dołączony do strumienia outputu
- wynik działania skryptu będzie zapisany w pliku
test.o