PBS Pro to komercyjny system zarządzania zasobami oraz zadaniami użytkowników. Jest on zainstalowany na klastrze Bem w WCSS. Aby z niego skorzystać należy mieć w Portalu aktywne usługi:
Uruchamianie obliczeń poprzez system PBS odbywa się w ramach kolejek, które różnią się między sobą priorytetem, limitami czy prawami dostępu (a czasem również dostępnymi zasobami):
Nazwa kolejki | Właściwości |
---|---|
plgrid-testing |
|
plgrid |
|
plgrid-long |
|
Po wyborze odpowiedniej kolejki należy zadeklarować ilość wymaganych zasobów. Przydział zasobów może odbywać się w jednej, spójnej części (dla zadań szeregowych lub zrównoleglonych w obrębie jednego komputera) lub kilku (dla zadań zrównoleglonych przy użyciu bibliotek MPI).
Deklarację buduje się używając wyrażenia select dla parametru -l
polecenia qsub
(opisanego w dalszej części). Jej format jest następujący:
select=X:zasób1=wartość1:zasób2=wartość2+Y:zasób3=wartość3:zasób4=wartość4
gdzie:
Liczba zbiorów zasobów może być różna (równa 1 lub większa).
Dostępne parametry:
Osobnym słowem kluczowym, którego używa się podczas żądania zasobów, jest liczba procesów MPI zadania:
Należy skorzystać z tego parametru, kiedy w jednej części alokacji chcemy uruchomić więcej niż jeden proces MPI.
Zadanie uruchamia 4 procesy w obrębie jednego węzła i wymaga 4096 MB RAM (po 1024 MB na proces)
select=1:ncpus=4:mem=4096MB
Zadanie uruchamia 8 procesów MPI, z których każdy wymaga 512 MB RAM
select=8:ncpus=1:mem=512MB
Zadanie uruchamia 32 procesów MPI, po 4 na każdym węźle (i domyślne 1700 MB na każde 4 procesy):
select=8:ncpus=4:mpiprocs=4
Zadanie wymaga 16GB RAM (i jednego rdzenia)
select=1:mem=16GB
Zadanie wymaga 1 karty GPU i 4 GB pamięci
select=1:ngpus=1:mem=4GB
Do wstawiania zadań do kolejki służy polecenie qsub. Opis zadania powinien być zawarty w skrypcie powłoki. Natępnie taki skrypt przekazywany jest do kolejki jako parametr polecenia qsub (lub na standardowe wejście tej komendy).
Najważniejsze parametry polecenia można znaleźć poniżej:
-q - wybór kolejki
software= - informacja o używanym oprogramowaniu
Proszę korzystać z powyższego parametru, nie jest on obowiązkowy, ale pozwala administratorom sporządzać statystyki wykorzystania aplikacji.
Cenną cechą programu qsub jest możliwość przekazywania parametrów w skrypcie podanym jako argument, poprzez linie zaczynające się od:
#PBS
Do sprawdzenia stanu kolejki służy polecenie qstat. Można korzystać z następujących jego parametrów:
Jeżeli z jakiegoś powodu istnieje potrzeba usunięcia zadania - należy skorzystać z polecenia qdel, które przyjmuje jako parametr identyfikator zadania. Można kasować zadania zarówno oczekujące w kolejce jak i uruchomione.
zawartość skryptu uruchom.sh
#!/bin/bash #PBS -q plgrid-testing #PBS -l select=1:ncpus=2:mem=2048MB #PBS -l software=test_qsub #PBS -m be #PBS -l walltime=6:00:00 # wejscie do katalogu, z ktorego zostalo wstawione zadania cd $PBS_O_WORKDIR # uruchom program ./test1 > wynik.txt
wstawienie zadania
chmod +x skrypt.sh ./skrypt.sh
Więcej o poleceniu qsub można znaleźć w manualu - poprzez uruchomienie polecenia man qsub.