Macierz zadań: Różnice pomiędzy wersjami

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 1: Linia 1:
<small>< [[Podręcznik użytkownika KDM]] < [[System kolejkowy]] < Tablica zadań</small>
+
<small>< [[Podręcznik użytkownika KDM]] < [[System kolejkowy]] < Macierz zadań</small>
  
== Czym jest tablica zadań ==
+
== Czym jest macierz zadań ==
Tablica zadań (job array) stanowi zbiór zadań uruchomionych jednocześnie.
+
Macierz zadań (job array) stanowi zbiór zadań uruchomionych jednocześnie.
  
 
Mechanizm ten pozwala w łatwy i szybki sposób uruchomić kilka zadań 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.
+
Każde zadanie w macierzy posiada indeks, który jest przechowywany w zmiennej środowiskowej PBS_ARRAY_INDEX.
  
== Jak utworzyć tablicę zadań? ==
+
== Jak utworzyć macierz zadań? ==
W celu utworzenia tablicy zadań należy użyć w skrypcie opcji –J i podać zakresów indeksów tablicy:
+
W celu utworzenia macierzy zadań należy użyć w skrypcie opcji –J i podać zakresów indeksów macierzy:
 
   #PBS -J i-f:s
 
   #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.
 
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:
+
W celu utworzenia macierzy dziesięciu zadań indeksowanych od 1 do 10, należy użyć w skrypcie polecenia:
  
 
   #PBS -J 1-10
 
   #PBS -J 1-10
  
W celu utworzenia tablicy zadań można również podać opcję –J przy zlecaniu obliczeń:
+
W celu utworzenia macierzy zadań można również podać opcję –J przy zlecaniu obliczeń:
  
 
   qsub -l walltime=1:00:00 -J 1-3 hello.sh
 
   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.
 
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ń ==
+
== Jak sprawdzić status macierzy zadań ==
Tablica zadań jest oznaczona w systemie kolejkowym numerem z kwadratowym nawiasem
+
Macierz zadań jest oznaczona w systemie kolejkowym numerem z kwadratowym nawiasem
 
   jobID[]
 
   jobID[]
zatem w celu sprawdzenia statusu tablicy zadań, należy użyć polecenia:
+
zatem w celu sprawdzenia statusu macierzy zadań, należy użyć polecenia:
 
   qstat jobID[]
 
   qstat jobID[]
W celu sprawdzenia statusu wszystkich zadań w tablicy należy użyć polecenia:
+
W celu sprawdzenia statusu wszystkich zadań w macierzy należy użyć polecenia:
 
   qstat –t jobID[]
 
   qstat –t jobID[]
  
Linia 38: Linia 38:
 
   1030789[3].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:
+
W celu sprawdzenia statusu pojedynczego zadania w macierzy należy użyć polecenia:
 
   qstat jobID[indeks]
 
   qstat jobID[indeks]
W celu sprawdzenia szczegółowych informacji o tablicy zadań należy użyć polecenia:
+
W celu sprawdzenia szczegółowych informacji o macierzy zadań należy użyć polecenia:
 
   qstat –f jobID[]
 
   qstat –f jobID[]
Szczególnie przydatne mogą być informacje o ilości zadań z tablicy w poszczególnych statusach:
+
Szczególnie przydatne mogą być informacje o ilości zadań z macierzy w poszczególnych statusach:
 
   [wcss] 3107mach@bem ~/test_array_jobs > qstat -f 1031517[] | grep array_state_count
 
   [wcss] 3107mach@bem ~/test_array_jobs > qstat -f 1031517[] | grep array_state_count
 
       array_state_count = Queued:4 Running:16 Exiting:0 Expired:0
 
       array_state_count = Queued:4 Running:16 Exiting:0 Expired:0

Wersja z 15:57, 5 maj 2020

< Podręcznik użytkownika KDM < System kolejkowy < Macierz zadań

Czym jest macierz zadań

Macierz 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 macierzy posiada indeks, który jest przechowywany w zmiennej środowiskowej PBS_ARRAY_INDEX.

Jak utworzyć macierz zadań?

W celu utworzenia macierzy zadań należy użyć w skrypcie opcji –J i podać zakresów indeksów macierzy:

  #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 macierzy dziesięciu zadań indeksowanych od 1 do 10, należy użyć w skrypcie polecenia:

  #PBS -J 1-10

W celu utworzenia macierzy 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 macierzy zadań

Macierz zadań jest oznaczona w systemie kolejkowym numerem z kwadratowym nawiasem

  jobID[]

zatem w celu sprawdzenia statusu macierzy zadań, należy użyć polecenia:

  qstat jobID[]

W celu sprawdzenia statusu wszystkich zadań w macierzy 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 macierzy należy użyć polecenia:

  qstat jobID[indeks]

W celu sprawdzenia szczegółowych informacji o macierzy zadań należy użyć polecenia:

  qstat –f jobID[]

Szczególnie przydatne mogą być informacje o ilości zadań z macierzy 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”.

Przykład użycia