Site Tools


howtouseslurm_001

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
howtouseslurm_001 [2019/05/12 22:17] – created tmatejukhowtouseslurm_001 [2023/08/01 01:08] (current) – external edit 127.0.0.1
Line 1: Line 1:
-Slurm+===== Slurm =====
  
 Slurm - to system zarzadzania zasobami. Dzieki jego uzyciu nie dopuszcza sie do sytuacji kiedy wiele procesow obliczeniowych tego samego lub roznych uzytkownikow / uzytkowniczek probuje uzyc tych samych zasobow ( rdzenie, pamiec, dysk, ... ) co moze doprowadzic do znacznego wydluzenia czasu ich wykonania, lub wrecz ich przerwania. Inne podobne programy to LSF, PBS/Torque, SGE ich porownanie mozna znalezc [tu.] Slurm - to system zarzadzania zasobami. Dzieki jego uzyciu nie dopuszcza sie do sytuacji kiedy wiele procesow obliczeniowych tego samego lub roznych uzytkownikow / uzytkowniczek probuje uzyc tych samych zasobow ( rdzenie, pamiec, dysk, ... ) co moze doprowadzic do znacznego wydluzenia czasu ich wykonania, lub wrecz ich przerwania. Inne podobne programy to LSF, PBS/Torque, SGE ich porownanie mozna znalezc [tu.]
Line 9: Line 9:
     kolejka (ang. queue) - grupa zadan obliczeniowych, ktore sie wykonuja i/lub czekajacych na wykonanie     kolejka (ang. queue) - grupa zadan obliczeniowych, ktore sie wykonuja i/lub czekajacych na wykonanie
  
-sinfo+==== sinfo ====
  
-Polecenie sinfo wyswietla informacje o dostepnych partycjach i zasobach. Na ponizszym przykladzie widac ze na anthill23 sa dostepne 4 partycje all, long, short, test. Kazda z partycji ma inny maksymalny czas wykonywania zadania (TIMELIMIT : all 1 dzienlong 14 dni, short - 45 minut, test - 20 minut). Widoczne jest takze, ze wezly obliczeniowe sa w roznym stanie (STATE : down - niedostepne, mix - czesc z zasobow wezla jest wykorzystywana, alloc - wszystkie zasoby wezla sa wykorzystywane, idle - wezly oczekujace na zadania).+Polecenie sinfo wyswietla informacje o dostepnych partycjach i zasobach. Na ponizszym przykladzie widac ze na anthill23 sa dostepne 4 partycje long, medium, short, test. Kazda z partycji ma inny maksymalny czas wykonywania zadania (TIMELIMIT : long 6 dnimedium dni, short - 1 dzien, test - godzina i 30 minut). Widoczne jest takze, ze wszystie wezly obliczeniowe sa w obecnie dostepne (STATE : down - niedostepne, mix - czesc z zasobow wezla jest wykorzystywana, alloc - wszystkie zasoby wezla sa wykorzystywane, idle - wezly oczekujace na zadania).
  
  
Line 18: Line 18:
 [anowak@anthill23 tmp]$ sinfo  [anowak@anthill23 tmp]$ sinfo 
 PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
-all          up 1-00:00:00      7  down* ant[001,102,106,108,206,302,311] +long         up 6-00:00:00     10   idle ant[007-008,602-609
-all          up 1-00:00:00      5    mix ant[007-008,107,208,309] +medium       up 3-00:00:00     10   idle ant[007-008,602-609
-all          up 1-00:00:00      1  alloc ant009 +short        up 1-00:00:00     10   idle ant[007-008,602-609
-all          up 1-00:00:00     45   idle ant[002-006,011-012,100-101,103-105,109-110,200-205,207,209-211,300-301,303-308,310,400-411] +test*        up    1:30:00     10   idle ant[007-008,602-609]
-long         up 14-00:00:     7  down* ant[001,102,106,108,206,302,311] +
-long         up 14-00:00:     5    mix ant[007-008,107,208,309+
-long         up 14-00:00:     1  alloc ant009 +
-long         up 14-00:00:    45   idle ant[002-006,011-012,100-101,103-105,109-110,200-205,207,209-211,300-301,303-308,310,400-411+
-short        up      45:00       down* ant[001,102,106,108,206,302,311] +
-short        up      45:00         mix ant[007-008,107,208,309] +
-short        up      45:00      1  alloc ant009 +
-short        up      45:00     45   idle ant[002-006,011-012,100-101,103-105,109-110,200-205,207,209-211,300-301,303-308,310,400-411+
-test*        up      20:00      7  down* ant[001,102,106,108,206,302,311] +
-test*        up      20:00      5    mix ant[007-008,107,208,309] +
-test*        up      20:00      1  alloc ant009 +
-test*        up      20:00     45   idle ant[002-006,011-012,100-101,103-105,109-110,200-205,207,209-211,300-301,303-308,310,400-411]+
 [anowak@anthill23 tmp]$ [anowak@anthill23 tmp]$
 </code> </code>
  
  
-squeue+==== squeue ====
  
-Podglad aktualnie wykonywanych i czekajacych na wykonanie zadan obliczeniowych mozliwy jest za pomoca polecenie queue. Zadania w kolumnie ST (STATUS) moga byc w stanie: R oznacza zadanie ktore sie wykonuje (RUNNING), wartosc PD oznacza zadanie oczekujace na rozpoczecie wykonywania (PENDING), sa to dwa najczesniej spotykane statusy zadania.+Podglad aktualnie wykonywanych i czekajacych na wykonanie zadan obliczeniowych mozliwy jest za pomoca polecenie ''squeue''. Zadania w kolumnie ST (STATUS) moga byc w stanie: R oznacza zadanie ktore sie wykonuje (RUNNING), wartosc PD oznacza zadanie oczekujace na rozpoczecie wykonywania (PENDING), sa to dwa najczesniej spotykane statusy zadania.
  
  
Line 52: Line 40:
   60571      long   5l9u_A  prubach PD       0:00      1 (Resources)   60571      long   5l9u_A  prubach PD       0:00      1 (Resources)
   60580      long   6b3r_A  prubach PD       0:00      1 (Priority)   60580      long   6b3r_A  prubach PD       0:00      1 (Priority)
-  60588      long   1xi4_A  prubach  R 1-21:04:01      1 ant009 
   60560      long   1vw1_A  prubach  R 1-21:12:51      1 ant007   60560      long   1vw1_A  prubach  R 1-21:12:51      1 ant007
   60561      long   1vw2_F  prubach  R 1-21:12:51      1 ant008   60561      long   1vw2_F  prubach  R 1-21:12:51      1 ant008
-  59295      long make_kno  prubach  R 5-07:54:11      1 ant107+  59295      long make_kno  prubach  R 5-07:54:11      1 ant607
 [anowak@anthill23 tmp]$ [anowak@anthill23 tmp]$
 </code> </code>
  
  
-scancel +==== scancel ====
- +
-Polecenie scancel sluzy do zakonczenia zadania, ktore znajduje sie w kolejce. Najpierw wydajemy polecenie squeue w celu poznania numeru zadania, ktore chcemy zatrzymac. A nastepnie np. w celu zatrzymania zadania o numerze 59295 wydajemy polecenie :+
  
 +Polecenie ''scancel'' sluzy do zakonczenia zadania, ktore znajduje sie w kolejce. Najpierw wydajemy polecenie ''squeue'' w celu poznania numeru zadania (kolumna JOBID), ktore chcemy zatrzymac. A nastepnie np. w celu zatrzymania zadania o numerze 59295 wydajemy polecenie :
  
 +<code>
 [anowak@anthill23 tmp]$ scancel 59295 [anowak@anthill23 tmp]$ scancel 59295
 +</code>
  
 +==== tworzenie zadan obliczeniowych, tryb interaktywny ====
  
-tworzenie zadan obliczeniowych, tryb interaktywny +Krotkie zadania, kompilacje oprogramowania, testy itp. zwykle wykonuje sie w trybie interaktywnym. Ponizej przyklad uruchomienia sesji interaktywnej z alokacja 2 rdzeni i 1GB pamieci w trybie interaktywnym. Jak widac, slurm przydzielil te zasoby na wezle obliczeniowym ant007**<color #b5e61d>Nalezy pamietac zeby zakoczyc tryb interaktywny poleceniem</color> ''exit'' <color #b5e61d>dzieki temu zasoby wezla zostana zwolnione</color>**.
- +
-Krotkie zadania, kompilacje oprogramowania, testyzwykle wykonuje sie w trybie interaktywnym. Ponizej przyklad uruchomienia sesji interaktywnej z alokacja 2 rdzeni i 1GB pamieci w trybie interaktywnym. Jak widac, slurm przydzielil te zasoby na wezle obliczeniowym ant100. Nalezy pamietac zeby zakoczyc tryb interaktywny poleceniem exit dzieki temu zasoby wezla zostana zwolnione.+
  
  
 <code> <code>
 [anowak@anthill23 tmp]$ srun --ntasks=2 --mem=1G --pty bash -l [anowak@anthill23 tmp]$ srun --ntasks=2 --mem=1G --pty bash -l
-anowak@ant100 tmp:~$ hostname +anowak@ant007 tmp:~$ hostname 
-ant100 +ant007 
-anowak@ant100 tmp:~$ exit+anowak@ant007 tmp:~$ exit
 logout logout
 [anowak@anthill23 tmp]$ [anowak@anthill23 tmp]$
Line 83: Line 70:
  
  
-tworzenie zadan obliczeniowych, tryb wsadowy+==== tworzenie zadan obliczeniowych, tryb wsadowy ====
  
-Najczesciej wykorzytywany tryb rezerwowania zasobow klastra. Polega na przygotowaniu skryptu, ktory przekazujemy do wykonania na klastrze poleceniem sbatch. Cecha charakterystyczna takiego skryptu (te pliki nazywane sa batch-ami), jest to ze w ich naglowku dodaje sie dyrektywy #SBATCH, ktore sluza do definiowania, z ktorych zasobow skrypt ma korzystac.+Najczesciej wykorzytywany tryb rezerwowania zasobow klastra. Polega na przygotowaniu skryptu, ktory przekazujemy do wykonania na klastrze poleceniem sbatch. Cecha charakterystyczna takiego skryptu (te pliki nazywane sa batch-ami), jest to ze w ich naglowku dodaje sie dyrektywy ''#SBATCH'', ktore sluza do alogowania zasobow, z ktorych skrypt ma korzystac.
  
 <code> <code>
 #SBATCH --ntasks=2                # liczba rezerwowanych rdzeni #SBATCH --ntasks=2                # liczba rezerwowanych rdzeni
 #SBATCH --mem=400M                # calkowita ilosc zarezerowanej pamieci (400 MB) #SBATCH --mem=400M                # calkowita ilosc zarezerowanej pamieci (400 MB)
-#SBATCH --partition=all           # nazwa partycji na ktorej ma byc wykonany skrypt+#SBATCH --partition=short         # nazwa partycji na ktorej ma byc wykonany skrypt
 #SBATCH --job-name="gromacs test" # nazwa dla zadania wsadowego widoczna przy przegladaniu kolejki #SBATCH --job-name="gromacs test" # nazwa dla zadania wsadowego widoczna przy przegladaniu kolejki
 #SBATCH --time=2-3:20             # limit czasu zadany dla zadania, w formacie (D-HH:MM) : 2 dni, 3 godziny, 20 minut #SBATCH --time=2-3:20             # limit czasu zadany dla zadania, w formacie (D-HH:MM) : 2 dni, 3 godziny, 20 minut
Line 98: Line 85:
  
  
- +W pelni funkcjonalne przyklady plikow batch mozna znalezc [[anthill_desc|tu]].
-W pelni funkcjonalne przyklady plikow batch mozna znalezc na podstronie Anthill w sekcji Anthill#Software_related_issues.+
  
  
  
howtouseslurm_001.1557692274.txt.gz · Last modified: 2023/08/01 06:38 (external edit)