meta data stránky
  •  
Error loading plugin include
ParseError: syntax error, unexpected 'include' (T_INCLUDE), expecting identifier (T_STRING) or '{'
More info is available in the error log.

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
computing:cluster:fronty:start [2022/12/21 14:24] Jan Pechcomputing:cluster:fronty:start [2026/02/09 14:40] (aktuální) – [Parametry příkazů ''srun'' a ''sbatch''] Jan Pech
Řádek 5: Řádek 5:
  
  
-Níže naleznete základní popis práce s frontami, specifika spouštění konkrétních aplikací jsou popsány na samostatných stránkách:+Aktuální vytížení clusteru zobrazuje, kromě [[computing:cluster:fronty:start#zakladni_prikazy|příkazů systému SLURM]], příkaz 
 + 
 +''freenodes'' 
 + 
 +{{:computing:cluster:fronty:computing:cluster:fronty:freenodes.png?direct&400|}} 
 + 
 +**Uživatelé zadáním úlohy do fronty přenechávají spuštění výpočtu frontovému systému. Úloha je do fronty zařazena v pořadí dle interních priorit systému a čeká na spuštění. Frontový systém úlohu spustí hned jak jsou dostupné výpočetní kapacity, <wrap em>uživatelé proto dostupnost výpočetní kapacity sami sledovat nemusí</wrap>, mohou se z clusteru odhlásit a vyčkat na dokončení výpočtu (lze nastavit i notifikační email, viz [[computing:cluster:fronty:start#parametry_prikazu_srun_a_sbatch|Přehled příkazů]]).** 
 + 
 +Níže naleznete základní popis práce s frontovým systémem (SLURM), specifika spouštění konkrétních aplikací jsou na samostatných stránkách:
   * [[computing:cluster:fronty:abaqus|Abaqus]]   * [[computing:cluster:fronty:abaqus|Abaqus]]
   * [[computing:cluster:fronty:ansys|Ansys (Fluent)]]   * [[computing:cluster:fronty:ansys|Ansys (Fluent)]]
Řádek 13: Řádek 21:
   * [[computing:cluster:fronty:paraview|Paraview]]   * [[computing:cluster:fronty:paraview|Paraview]]
   * [[computing:cluster:fronty:pmd|PMD]]   * [[computing:cluster:fronty:pmd|PMD]]
-\\+ 
 ====== Frontový systém SLURM ====== ====== Frontový systém SLURM ======
-Frontový systém pomáhá optimálnímu využití prostředků clusteru, přináší řadu nástrojů pro spouštění a správu běhu úloh jejich paralelizaci. Správa front a úloh v nich je možná po přihlášení na administrativní uzel "kraken".+Frontový systém se stará o optimální využití clusteru, přináší řadu nástrojů pro zadávání úlohjejich kontrolu a paralelizaci. Všechny úkony provádíme po přihlášení na administrativní uzel "kraken" (ssh username@kraken). 
 + 
 +Kompletní dokumentace je na adrese [[https://slurm.schedmd.com|slurm.schedmd.com]]
  
 ==== Základní příkazy: ==== ==== Základní příkazy: ====
  
 === Spouštění úloh === === Spouštění úloh ===
- +K dispozici jsou 2 příkazy pro zařazení úlohy do fronty, ''srun'' a ''sbatch'': 
-  srun <volby> <spouštěný_program> <parametry_spouštěného_programu> +  srun <parametry> <spouštěný_program> <parametry_spouštěného_programu> 
-//Klíčový příkaz pro zadání úlohy do fronty.// Pro paralelní úlohy nahrazuje zároveň příkaz "mpirun" (mpi knihovny v modulech proto ani příkaz mpirun nenabízí..).+//Klíčový příkaz pro zadání úlohy do fronty.// Pro paralelní úlohy nahrazuje příkaz "mpirun" (mpi knihovny v modulech proto ani příkaz mpirun nenabízí..).\\ 
 +''srun'' v této podobě vyžádá prostředky dle ''<parametry>'' a program na nich spustí. Spouštíte-li **ne**paralelní úlohu, ponechte parametr ''-n 1'' (výchozí), zvolíte-li vyšší hodnotu, neparalelní program se spustí n-krát! 
   sbatch <script_file>   sbatch <script_file>
-//Zadání úlohy do fronty dle připraveného skriptu, viz příklady níže. Součástí skriptu bývá řádka s příkazem "srun" (komerční kódy bývají spouštěny bez //srun//).// Nejběžnější způsob pro zadávání úlohy do fronty je právě sbatch+skript.+//Zadání úlohy do fronty dle připraveného skriptu, viz příklady níže. Součástí skriptu pro paralelní úlohy bývá řádka s příkazem "srun" (komerční kódy bývají spouštěny bez //srun//, podobně jako kódy).// Nejběžnější způsob pro zadávání úlohy do fronty je právě sbatch+skript.
  
 === Řízení úloh === === Řízení úloh ===
Řádek 33: Řádek 45:
   squeue   squeue
 //Vypíše informace o běžících úlohách ve frontovém systému.// //Vypíše informace o běžících úlohách ve frontovém systému.//
 +
 +Význam zkratek ve výpisu //squeue// ([[https://curc.readthedocs.io/en/latest/running-jobs/squeue-status-codes.html|kompletní přehled zde]]):
 +
 +- ve sloupci "ST" (status): **R** - running, **PD** - pending (čeká na alokaci výp. zdrojů), **CG** - completing (část procesů je dokončena, ale některé jsou stále aktivní),...
 +
 +- ve sloupci REASON: **Priority** - ve frontě je/jsou úloha/y s vyšší prioritou, **Dependency** - úloha čeká na dokončení úlohy v závislosti a bude spuštěna poté, **Resources** - úloha čeká na uvolnění potřebných výp. zdrojů,...
 +
  
   scancel <number>   scancel <number>
Řádek 46: Řádek 65:
 ===== Spouštění úloh ===== ===== Spouštění úloh =====
  
-Úlohy je možné spouštěna více uzlech, ale vždy jen na jedné části serveru kraken:+Úlohy je možné spouštět paralelně na více uzlech, ale síť není dostatečně výkonná, proto je : 
 +K dispozici jsou 3 řady uzlů:
  
-  * část **M** stroje kraken-m1 až m9 (všichni uživatelé+  * řada **L**: 4 stroje, 8 jader na uzel, vysoký výkon na jádro, ale pro méně paralelizované úlohy, kraken-l1 až l4 
-  * část **L** - stroje kraken-l1 až l4 (omezený přístup)+  * řada **M**: 6 strojů, 32 jader na uzel, vyšší paralelizace a vhodné pro komerční kódy (Ansys, Matlab), kraken-m1 až m6 
 +  * řada **X**: 5 strojů, 96 jader na uzel, vysoce paralelizované úlohy které umí vysoký počet jader využít, kraken-x1 až x5
  
 Úlohy lze spouštět: Úlohy lze spouštět:
Řádek 62: Řádek 83:
   * <wrap hi>Úloha musí vždy běžet pod nějakou frontou (partition).</wrap> Pokud není zadána žádná fronta, je použita Mexpress. Seznam definovaných front je uveden níže.   * <wrap hi>Úloha musí vždy běžet pod nějakou frontou (partition).</wrap> Pokud není zadána žádná fronta, je použita Mexpress. Seznam definovaných front je uveden níže.
   * Zadáním fronty je definován časový limit běhu.    * Zadáním fronty je definován časový limit běhu. 
-  * Úlohám ve frontách express a short nelze pomocí ''-''''-time'' zadat delší dobu běhu. Defaultní čas front long je nastavený na 1 týden, ale umožňují běh až 2 týdny, např. 9 dní a 5 hodin zadáme „''-p Llong'' ''-''''-time=9-05:00:0''“.+  * Úlohám ve frontách express a short nelze pomocí ''-''''-time'' zadat delší dobu běhu. Defaultní čas front long je nastavený na 1 týden, ale umožňují běh až 2 týdny, např. 9 dní a 5 hodin zadáme „''-p long'' ''-''''-time=9-05:00:0''“.
   * Slurm při zařazení do fronty čekajících úloh upřednostní úlohu a uživatele, který cluster méně vytěžuje. Není proto výhodné deklarovat delší čas výpočtu, než je nezbytně nutné.   * Slurm při zařazení do fronty čekajících úloh upřednostní úlohu a uživatele, který cluster méně vytěžuje. Není proto výhodné deklarovat delší čas výpočtu, než je nezbytně nutné.
  
Řádek 68: Řádek 89:
 ==== Předdefinované fronty a časové limity ==== ==== Předdefinované fronty a časové limity ====
  
-Na clusteru Kraken je k dispozici 6 front ("partition") rozdělených dle délky běhu úlohy (express, short, long) a části clusteru ("Mxxx" a "Lxxx"). Nespecifikuje-li uživatel frontu přepínačem ``-````-partition`` užije se defaultní hodnota (Mexpress): +Na clusteru Kraken je k dispozici 6 front ("partition") rozdělených dle délky běhu úlohy (express, short, long). Nespecifikuje-li uživatel frontu přepínačem ``-````-partition`` užije se defaultní hodnota (express): 
-^  cluster part  ^  partition   ^  time limit  ^ +^  partition  ^  node   ^  time limit  ^ 
-|  M (nodes kraken-m[1-9])  |  **Mexpress**  |  6 hours  | +|  **express**   all nodes   6 hours  | 
-|  :::  |  Mshort   2 days  | +|  short  |  all nodes  |  **2 days**  | 
-|  :::  |  Mlong   |  **1 week**  |+|  :::  |  :::  |  3 days  | 
 +|  long   |  kraken-l4,m[5-6],x[2-4]  |  **1 week**  |
 |  :::  |  :::  |  2 weeks  | |  :::  |  :::  |  2 weeks  |
-|  L (nodes kraken-l[1-4])  |  Lexpress  |  6 hours  | +|  NoCompute  |  kraken   **1 hour**  |
-|  :::  |  Lshort  |  2 days  | +
-|  :::  |  Llong  |  **1 week** +
-|  :::  |  :::  |  2 months (max)  | +
-|  admin node only  |  NoCompute   **1 hour**  |+
 |  :::  |  :::  |  8 hours  | |  :::  |  :::  |  8 hours  |
 *bold=default *bold=default
  
  
 +Detaily nastavení lze zobrazit také příkazem
 +  scontrol show partition [partition_name]
  
 ==== Parametry příkazů ''srun'' a ''sbatch'' ==== ==== Parametry příkazů ''srun'' a ''sbatch'' ====
Řádek 104: Řádek 124:
 |  ``-t``, ``-````-time=<time>``  |  Set a limit on the total run time of the job allocation (days-hours:minutes:seconds)  |  ``-t 1:12``  | |  ``-t``, ``-````-time=<time>``  |  Set a limit on the total run time of the job allocation (days-hours:minutes:seconds)  |  ``-t 1:12``  |
 |  ``-w``, ``-````-nodelist=<node_name_list>``  |  Request a specific list of hosts  |  ``-w kraken-m2,kraken-m[5-6]``  | |  ``-w``, ``-````-nodelist=<node_name_list>``  |  Request a specific list of hosts  |  ``-w kraken-m2,kraken-m[5-6]``  |
-|  ``-x``, ``-````-exclude={<host1[,<host2>...]}``  |  Request that a specific list of hosts not be included in the resources allocated to this job  |  ``-````-exclude=kraken-m[7-9]``  |+|  ``-x``, ``-````-exclude={<host1[,<host2>...]}``  |  Request that a specific list of hosts not be included in the resources allocated to this job  |  ``-````-exclude=kraken-x[1-5]``  |
  
  
 Do jmen souborů výstupu (output, error) lze začlenit proměnné jako jméno nodu (%N), číslo úlohy (%J), jméno uživatele (%u), apod... Výpis standardní chyby zadaný ve skriptu ''#SBATCH -e slurm.%N.%J.%u.err'' bude v souboru ''slurm.kraken-m123.12345.username.err'' Do jmen souborů výstupu (output, error) lze začlenit proměnné jako jméno nodu (%N), číslo úlohy (%J), jméno uživatele (%u), apod... Výpis standardní chyby zadaný ve skriptu ''#SBATCH -e slurm.%N.%J.%u.err'' bude v souboru ''slurm.kraken-m123.12345.username.err''
 +
 +Začátek běhu nově zadávané úlohy lze podmínit např. dokončením úlohy již běžící
 +``sbatch --dependency=after:123456:+5 myjob.slurm``,
 +123456 je zde číslo úlohy (dle výpisu squeue) a "+5" značí prodlevu 5 minut od ukončení předchozí a započetí nové úlohy.
  
 Kompletní seznam parametrů naleznete např. na stránce [[https://slurm.schedmd.com/sbatch.html|Slurm-sbatch]]. Kompletní seznam parametrů naleznete např. na stránce [[https://slurm.schedmd.com/sbatch.html|Slurm-sbatch]].