Macierz zadań: Różnice pomiędzy wersjami
Linia 1: | Linia 1: | ||
<small>< [[Podręcznik użytkownika KDM]] < [[System kolejkowy]] < Jak korzystać z tablicy zadań</small> | <small>< [[Podręcznik użytkownika KDM]] < [[System kolejkowy]] < Jak korzystać z tablicy zadań</small> | ||
+ | |||
== Czym jest tablica zadań == | == Czym jest tablica zadań == | ||
Tablica zadań (job array) stanowi zbiór zadań uruchomionych jednocześnie. | Tablica zadań (job array) stanowi zbiór zadań uruchomionych jednocześnie. | ||
Linia 46: | Linia 47: | ||
Działające macierze zadań są oznaczone w systemie kolejkowym literą B “batch”, a nie R „running”. | Działające macierze zadań są oznaczone w systemie kolejkowym literą B “batch”, a nie R „running”. | ||
− | |||
− | |||
− | |||
[[Kategoria:Systemy kolejkowe]] | [[Kategoria:Systemy kolejkowe]] | ||
[[Kategoria:Podręcznik użytkownika]] | [[Kategoria:Podręcznik użytkownika]] |
Wersja z 11:37, 5 maj 2020
< Podręcznik użytkownika KDM < System kolejkowy < Jak korzystać z tablicy zadań
Czym jest tablica zadań
Tablica zadań (job array) stanowi zbiór zadań uruchomionych jednocześnie.
Mechanizm ten pozwala w łatwy i szybki sposób uruchomić kilka zadań jednocześnie.
Każde zadanie w tablicy posiada indeks, który jest przechowywany w zmiennej środowiskowej PBS_ARRAY_INDEX.
Jak utworzyć tablicę zadań?
W celu utworzenia tablicy zadań należy użyć w skrypcie opcji –J i podać zakresów indeksów tablicy:
#PBS -J i-f:s
gdzie i to indeks początkowy, f – końcowy, a s definiuje krok. Parametr s jest opcjonalny, domyślnie przyjmuje wartość 1.
W celu utworzenia tablicy dziesięciu zadań indeksowanych od 1 do 10, należy użyć w skrypcie polecenia:
#PBS -J 1-10
W celu utworzenia tablicy zadań można również podać opcję –J przy zlecaniu obliczeń:
qsub -l walltime=1:00:00 -J 1-3 hello.sh
Powyższa komenda spowoduje uruchomienie trzech zadań zdefiniowanych w skrypcie hello.sh. Zadania te mają przypisane kolejno indeksy 1, 2 i 3, które są przechowywane w zmiennej PBS_ARRAY_INDEX.
Jak sprawdzić status tablicy zadań
Tablica zadań jest oznaczona w systemie kolejkowym numerem z kwadratowym nawiasem
jobID[]
zatem w celu sprawdzenia statusu tablicy zadań, należy użyć polecenia:
qstat jobID[]
W celu sprawdzenia statusu wszystkich zadań w tablicy należy użyć polecenia:
qstat –t jobID[]
[wcss] 3107mach@bem ~/test_array_jobs > qstat -t 1030789[] Job id Name User Time Use S Queue --------------------- ---------------- ---------------- -------- - ----- 1030789[].ossachilles hello.sh 3107mach 0 B vshort 1030789[1].ossachilles hello.sh 3107mach 00:00:00 E vshort 1030789[2].ossachilles hello.sh 3107mach 00:00:00 R vshort 1030789[3].ossachilles hello.sh 3107mach 00:00:00 R vshort
W celu sprawdzenia statusu pojedynczego zadania w tablicy należy użyć polecenia:
qstat jobID[indeks]
W celu sprawdzenia szczegółowych informacji o tablicy zadań należy użyć polecenia:
qstat –f jobID[]
Szczególnie przydatne mogą być informacje o ilości zadań z tablicy w poszczególnych statusach:
[wcss] 3107mach@bem ~/test_array_jobs > qstat -f 1031517[] | grep array_state_count array_state_count = Queued:4 Running:16 Exiting:0 Expired:0
Działające macierze zadań są oznaczone w systemie kolejkowym literą B “batch”, a nie R „running”.