User Tools

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.+
  
  
  

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information