meta data stránky
- Česky (cs)
- English (en)
Toto je starší verze dokumentu!
Návody
Na této stránce najdete návody pro práci se serverem kraken. Dozvíte se
- jak se k serveru přihlásit,
- jak přenést soubory mezi serverem a vaším počítačem
Prostředí modulů, frontového systému a spouštění vybraných programů jsou pod odkazy
- jak připravit skript úlohy
- pro vlastní program nebo program dostupný v modulu
Přihlášení k serveru
Se zavedením systému front (SLURM) dochází ke změně způsobu přihlašování, to bude do budoucna možné jen přes administrativní uzel „kraken“.
Výpočetní část clusteru je rozdělena do dvou bloků, dle použitých procesorů (část „Low Core“ není přístupná všem uživatelům):
Low Core
kraken-L1 - kraken-L4
MultiCore
kraken-M1 - kraken-M9
Pro komunikaci se serverem kraken se používá protokol SSH. Na svém počítači musíte mít nainstalovaný program (SSH klient), umožňující komunikaci v tomto protokolu.
Linux
V Linuxu je obvykle SSH klient součástí instalace. Přihlášení k serveru provedeme v xterminálu pomocí příkazu:
ssh -Y uživatel@kraken
Parametr -Y můžete vynechat, pokud nepotřebujete přesměrování grafiky
Stále je funkční také přihlašování k jednotlivým výpočetním uzlům, např. ssh -Y uživatel@kraken-M1 , s koncem přechodového období ale bude přístup k výpočetním uzlům znemožněn, přístup bude jen přes administrativní uzel „kraken“.
Windows
Ve Windows není SSH klient součástí systému, proto je třeba použít samostatný program. Doporučené je použít programy:
Pro spouštění grafických aplikací je nutné mít nainstalovaný X server.
VcXsrv Windows X Server – open source verze X serveru dostupná ve verzi pro 32 i 64bitový systém.
- pro Windows Vista, 7, 8.1 – stáhněte nejnovější verzi
- pro Windows XP – stáhněte verzi 1.4.2.1
Podrobný postup připojení
Přenos souborů
Pro pohodlný přenos souborů mezi počítačem a serverem lze použít některý z následujících programů:
Frontový systém SLURM (probíhá aktualizace)
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 i jejich paralelizaci. Správa front a úloh v nich je možná jedině na administratovním uzlu „kraken“.
Nejběžnějšími příkazy jsou:
sinfo
vypíše přehled front a jejich aktuální využití
srun <volby> <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í..).
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“. Nejběžnější způsob pro zadávání úlohy do fronty je právě sbatch+skript.
squeue
vypíše přehled běžících úloh, vč. čísla úlohy ve frontě, uživatelského pojmenování, stavu (čekající/běh/…)
scancel <number>
ukončí úlohu <number> zařazenou ve frontě
Na clusteru Kraken je k dispozici 6 front rozdělených dle délky běhu úlohy (express, short, long) a části clusteru:
name | nodes | length |
---|---|---|
Mexpress | M | 6 hours (default) |
Mshort | 2 days | |
Mlong | 2 weeks | |
Lexpress | L | 6 hours |
Lshort | 2 days | |
Llong | 2 weeks |
Parametry pro srun resp. skript pro sbatch
option | description | example |
---|---|---|
-J, –job-name=<jobname> | Job name, shown e.g. in output of squeue | |
–mail-type=<type> | Send email with BEGIN, END, FAIL, ALL,… | |
-n, –ntasks=<number> | Number of resources (~cores) to be allocated for the task | -n 50 |
-N, –nodes=<nodes> | Number of nodes to be used | -N 3 |
–ntasks-per-node=<ntasks> | Request that ntasks be invoked on each node | |
-o, –output=<filename_pattern> | Name of file where slurm will output | -o out.txt |
-p, –partition=<partition_names> | Request a specific partition for the resource allocation | -p Mshort |
-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] |
Příklad: skript pro sbatch
Všechny volby vypíšeme jako jeden příkaz srun
srun -n 8 -N 2 HelloWorld
nebo připravíme soubor pro sbatch, např. muj_test_front.sh:
#!/bin/bash #SBATCH --job-name=test #SBATCH --output=output.txt # #SBATCH -n 7 #SBATCH -N 3 #SBATCH -p Mexpress #SBATCH --mail-type=ALL #SBATCH --mail-user=uzivatel@it.cas.cz module load HelloWorld cd ~/test_front srun HelloWorld
Předání úlohy systému:
sbatch muj_test_front.sh
Fluent (Ansys)
Základní skript pro spuštění 2D úlohy v aplikaci Fluent (verze 2020 R1) ve frontě přes příkaz sbatch:
#!/bin/bash #SBATCH --job-name=fluent_test #SBATCH --output=slurm-%j.out #SBATCH --partition=Mexpress #SBATCH --exclude=kraken-m[7-9] #SBATCH --ntasks=4 FLUENTNODES="$(scontrol show hostnames)" FLUENTNODES=$(echo $FLUENTNODES | tr ' ' ',') /ansys_inc/v211/fluent/bin/fluent -ssh 2ddp -mpi=openmpi -slurm -t $SLURM_NTASKS -cnf=$FLUENTNODES -g -i my_journal_file.jou
Vzhledem k nastavení licencí pro ANSYS není doporučeno úlohy dělit mezi více uzlů. Výpočetní uzly mají vzhledem k zakoupeným licencím dostatečný počet jader, rozdělení úlohy mezi více uzlů tak způsobí jen zpomalení výpočtu.
Aktuálně nelze kvůli speciálním požadavkům ANSYSu na nastavení SSH spouštět ANSYS přes fronty na strojích kraken-m7,…,kraken-m9 (proto #SBATCH –exclude=kraken-m[7-9]). Uživatele by ale toto dočasné nastavení nemělo omezovat.