Podstawy:PBS: Różnice pomiędzy wersjami
Linia 1: | Linia 1: | ||
{{DISPLAYTITLE:System kolejkowy}} | {{DISPLAYTITLE:System kolejkowy}} | ||
[[Category:Podstawy]] | [[Category:Podstawy]] | ||
− | |||
− | |||
System kolejkowy jest wygodnym narzędziem uruchamiania zadań na zasobach obliczeniowych. W zależności od potrzeb, może on informować użytkownika o dacie i czasie rozpoczęcia, czy też zakończenia wykonywania danego zadania na wskazany adres e-mail. | System kolejkowy jest wygodnym narzędziem uruchamiania zadań na zasobach obliczeniowych. W zależności od potrzeb, może on informować użytkownika o dacie i czasie rozpoczęcia, czy też zakończenia wykonywania danego zadania na wskazany adres e-mail. | ||
− | + | ==Uruchamianie zadań == | |
Do uruchamiania zadań służy komenda <tt>qsub</tt>. Zadania można uruchamiać w dwóch trybach: interaktywnym (gdzie do dyspozycji użytkownika jest konsola terminala) lub wsadowym. W tym drugim przypadku wszystkie komendy umieszcza się w pliku. W takim pliku linijki zawierające instrukcje sterujące dla systemu kolejkowego muszą zaczynać się ciągiem znaków <tt>#PBS</tt>. Umieszcza się je w początkowej części pliku. Dzięki temu system kolejkowy jest w stanie odczytać opcje jemu właściwe właśnie z tych linijek i uruchomić pozostałe instrukcje, dotyczące już samego zadania obliczeniowego, z dalszej części pliku. Najważniejsze opcje i parametry komendy <tt>qsub</tt> zawiera poniższa tabela. | Do uruchamiania zadań służy komenda <tt>qsub</tt>. Zadania można uruchamiać w dwóch trybach: interaktywnym (gdzie do dyspozycji użytkownika jest konsola terminala) lub wsadowym. W tym drugim przypadku wszystkie komendy umieszcza się w pliku. W takim pliku linijki zawierające instrukcje sterujące dla systemu kolejkowego muszą zaczynać się ciągiem znaków <tt>#PBS</tt>. Umieszcza się je w początkowej części pliku. Dzięki temu system kolejkowy jest w stanie odczytać opcje jemu właściwe właśnie z tych linijek i uruchomić pozostałe instrukcje, dotyczące już samego zadania obliczeniowego, z dalszej części pliku. Najważniejsze opcje i parametry komendy <tt>qsub</tt> zawiera poniższa tabela. | ||
{| class="wikitable" | {| class="wikitable" | ||
Linia 33: | Linia 31: | ||
|} | |} | ||
− | ===Wyświetlanie informacji o stanie zadań w kolejkach | + | ==Usuwanie zadań== |
+ | Do usuwania zadań służy komenda <tt>qdel</tt>. W celu sunięcia zadania z kolejki potrzebny jest również jego identyfikator numeryczny (jobid), który można wyświetlić komendą <tt>qstat</tt>. Cała sekwencja może wyglądać następująco: | ||
+ | <pre> | ||
+ | qdel 12345678910 | ||
+ | </pre> | ||
+ | Jeśli zadania nie da się usunąć należy skontaktować się z administratorem komputera. | ||
+ | |||
+ | ==Wyświetlanie informacji o stanie zadań w kolejkach== | ||
Do wyświetlania informacji o zadaniach oraz kolejkach służy komenda <tt>qstat</tt>. Wywołanie komendy bez parametrów spowoduje wyświetlenie informacji o wszystkich zadaniach w kolejkach. Najczęściej używane opcje komendy <tt>qstat</tt> zebrano w tabeli poniżej. | Do wyświetlania informacji o zadaniach oraz kolejkach służy komenda <tt>qstat</tt>. Wywołanie komendy bez parametrów spowoduje wyświetlenie informacji o wszystkich zadaniach w kolejkach. Najczęściej używane opcje komendy <tt>qstat</tt> zebrano w tabeli poniżej. | ||
Linia 48: | Linia 53: | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==Przydatne zmienne systemu kolejkowego== | |
* <tt>$PBS_NODEFILE</tt> Zmienna wskazuje na plik z nazwami węzłów przydzielonymi dla zadania. Najczęściej wykorzystywany do określania liczby rdzeni przydzielonej zadaniu np.: | * <tt>$PBS_NODEFILE</tt> Zmienna wskazuje na plik z nazwami węzłów przydzielonymi dla zadania. Najczęściej wykorzystywany do określania liczby rdzeni przydzielonej zadaniu np.: | ||
<pre> | <pre> | ||
Linia 66: | Linia 65: | ||
− | + | ==Przykłady== | |
===Zadanie interaktywne=== | ===Zadanie interaktywne=== | ||
Uruchomienie zadanie interaktywnego w kolejce "l_interactive" z możliwością pracy w trybie graficznym wymagające jednego rdzenia na jednym węźle obliczeniowym. | Uruchomienie zadanie interaktywnego w kolejce "l_interactive" z możliwością pracy w trybie graficznym wymagające jednego rdzenia na jednym węźle obliczeniowym. |
Wersja z 09:29, 1 mar 2012
System kolejkowy jest wygodnym narzędziem uruchamiania zadań na zasobach obliczeniowych. W zależności od potrzeb, może on informować użytkownika o dacie i czasie rozpoczęcia, czy też zakończenia wykonywania danego zadania na wskazany adres e-mail.
Spis treści
Uruchamianie zadań
Do uruchamiania zadań służy komenda qsub. Zadania można uruchamiać w dwóch trybach: interaktywnym (gdzie do dyspozycji użytkownika jest konsola terminala) lub wsadowym. W tym drugim przypadku wszystkie komendy umieszcza się w pliku. W takim pliku linijki zawierające instrukcje sterujące dla systemu kolejkowego muszą zaczynać się ciągiem znaków #PBS. Umieszcza się je w początkowej części pliku. Dzięki temu system kolejkowy jest w stanie odczytać opcje jemu właściwe właśnie z tych linijek i uruchomić pozostałe instrukcje, dotyczące już samego zadania obliczeniowego, z dalszej części pliku. Najważniejsze opcje i parametry komendy qsub zawiera poniższa tabela.
Opcja | Parametry | Opis | Uwagi |
---|---|---|---|
-l | Opcja służy do specyfikacji zasobów (rdzeni, węzłów pamięci) dla zadania. Poszczególne opcje można łączyć w jednej linii. W takim przypadku należy rozdzielić je znakiem dwukropka. | ||
nodes=<liczba_węzłów> | Parametr służy do specyfikacji liczby wezłów | ||
ppn=<liczba rdzeni> | Liczba żądanych rdzeni na każdym węźle | opcja niedostępna na maszynie Baribal | |
walltime=<czas obliczeń> | Maksymalny czas obliczeń. Czas należy podawać w formacie DD:GG:MM:SS gdzie DD, GG, MM, SS oznaczają odpowiednio żądaną liczbę dni, godzin, minut i sekund na zadanie. | ||
-N | <nazwa_zadania> | Nazwa zadania w systemie kolejkowym | |
-j | oe | Połączenie standardowego wyjścia ze standardowym wyjściem błędów podczas wykonywania obliczeń | |
-m | b, e lub a | System kolejkowy wyśle e-mail do użytkownika jeśli zadanie rozpocznie się wykonywać b, skończy wykonywać e lub zostanie przerwane a. | |
-M | <adres@e-mail.użytkownika> | Adres e-mail użytkownika na który ma zostać wysłana wiadomość o stanie zadania | |
-q | <nazwa_kolejki> | Specyfikuje nazwę kolejki do której ma trafić zadanie | |
-I | uruchomienie zadania interaktywnego | ||
-X | w trybie interaktywnym pozwala na uruchamianie programów okienkowych | opcja niedostępna na maszynie Baribal i Mars |
Usuwanie zadań
Do usuwania zadań służy komenda qdel. W celu sunięcia zadania z kolejki potrzebny jest również jego identyfikator numeryczny (jobid), który można wyświetlić komendą qstat. Cała sekwencja może wyglądać następująco:
qdel 12345678910
Jeśli zadania nie da się usunąć należy skontaktować się z administratorem komputera.
Wyświetlanie informacji o stanie zadań w kolejkach
Do wyświetlania informacji o zadaniach oraz kolejkach służy komenda qstat. Wywołanie komendy bez parametrów spowoduje wyświetlenie informacji o wszystkich zadaniach w kolejkach. Najczęściej używane opcje komendy qstat zebrano w tabeli poniżej.
Opcja | Parametry | Opis | Uwagi |
---|---|---|---|
-q | <nazwa_kolejki> | Bez parametrów wyświetla informacje o dostępnych kolejkach i ich parametrach. | |
-u | <nazwa_użytkownika> | Wyświetla informacje o zadaniach danego użytkownika. | |
<identyfikator zadania> | Wyświetla informacje o danym zadaniu. | ||
-f | Pełna informacja o wszystkich zadaniach systemu kolejkowego. |
Przydatne zmienne systemu kolejkowego
- $PBS_NODEFILE Zmienna wskazuje na plik z nazwami węzłów przydzielonymi dla zadania. Najczęściej wykorzystywany do określania liczby rdzeni przydzielonej zadaniu np.:
export NPROC=`cat $PBS_NODEFILE | wc -l`
- $PBS_O_WORKDIR Zmienna wskazuje na katalog, z kkórego uruchomiono obliczenia. Najczęściej wykorzystywana do wskazania plików dla zadania np.:
cd $PBS_O_WORKDIR
Przykłady
Zadanie interaktywne
Uruchomienie zadanie interaktywnego w kolejce "l_interactive" z możliwością pracy w trybie graficznym wymagające jednego rdzenia na jednym węźle obliczeniowym.
qsub -IX -q l_interactive -l nodes=1:ppn=1