Pro začátečníky

Z Wiki Katedry fyzikální chemie Univerzity Palackého v Olomouci
Skočit na navigaci Skočit na vyhledávání

Zde najdete užitečné informace k práci na výpočetních klastrech vhodné nejen pro nováčky. Aby se zajistila maximální životnost, zabezpečení a pořádek na našich strojích, je třeba dodržovat určitá pravidla.

Připojení z různých OS

Klastry katedry fyzikální chemie běží výhradně na linuxových operačních systémech formou serverů, ne které se tedy přihlašuje přes internet pomocí síťového protokolu ssh (secure shell). Příhlášení se částečně liší v závislosti na operačním systému vašeho počítače. Ve všech případech se připojíte přes terminál zadáním příkazu v následujícím formátu do příkazového řádku.

bilbo@mujpocitac:~$ ssh bilbo@kraj.upol.cz
bilbo@kraj.upol.cz's password:

bilbo je uživatelské jméno a připojuje se na server s názvem kraj. Terminál se v zápětí zeptá na heslo.

POZOR v řádku se z bezpečnostních důvodů nezobrazují žádné znaky, heslo se však píše.

Windows

Starší verze windows neumožňují nativní připojení skrze ssh protokol a je zapotřebí instalace klienta. Nejčastěji používaným je PuTTY. Do pole Host Name zadat název serveru, port 22, connection type SSH a stisknout open. Otevře se okno terminálu, které vás vyzve k vyplnění přihlašovacího jména. Stiskem entru budete požádání o napsání helsa k účtu.

Windows 10 od roku 2018 obsahuje PowerShell, který umožňuje připojení přímo pomocí příkazového řádku.

UNIX

Do operačních systémů na bázi UNIX patří MacOS a Linuxové distribuce jsou označováný UNIX-like. MacOS i Linux mají tedy k dispozici terminál a připojení pomocí ssh je tedy velmi jednoduché.

Příkazový řádek

Jelikož se jedná o linuxové servery, převážná většina interakce s daty je skrze příkazový řádek. Z toho důvodu se vřele doporučuje, aby se každý uživatel seznámil se základními a nejpoužívanějšími příkazy v příkazovém jazyce bash (Bourne Again Shell). Na internetu je nepřeberné množství tutoriálů a diskuzí zabývající se bashem. Bash umí spouštět příkazy ze souborů, tzv. scriptů. Bash také nabízí mnoho možností personalizace příkazového řádku, například barevné odlišení souborů, scriptů a složek. Zájemce si může najít více informací pomocí klíčových slov bash prompt.

Prvotní navigace pomocí příkazů může být složitá, ale velmi rychle se jí dá navyknout. Pro zájemce, kteří preferují GUI, je zde možnost navigace pomocí Midnight Commander:

bilbo@kraj:~$ mc

V MC se dá navigovat pomocí myšky a klávesových zkratek napsaných pod grafickými okny.

Alias
Některé denně používané příkazy mohou být dlouhé a uživatele brzy přestane bavit je pořád vypisovat, což taky zvyšuje šanci překlepu. Z toho důvodu je možnost definovat si ve svém home adresáři zkratky, neboli alias. Pomocí textového editoru (viz. níže) otevřeme ve svém home adresáři soubor s názvem .bashrc
bilbo@kraj:~$ nano .bashrc

a vytvoříme nový alias v následujícím tvaru

alias zkratka='puvodni_dlouhy_prikaz'

Veškeré změny v tomto souboru se projeví až při dalším přihlášení.

Textový editor

Velmi důležitým aspektem práce s daty je volba textového editoru. Jednou možností je příprava všech souborů na svém počítači a jejich kopírování na server. Tato možnost se ale brzy ukáže jako velmi časově náročná a nepraktická. Z toho důvodu přichází otázka, který z nabízených editorů požívat?

Vim
Vim (příkaz vi) je velmi mocný editor vhodný pro dlouhé práce s textem, například programování. Je možný podpořit dalšími scripty a pluginy. Práce s nim není ihned intuitivní a je třeba investovat nějaký čas do tutoriálů.
Nano
Editor nano (příkaz nano) je vhodný pro běžnou práci s textem a práce s ním je intuitivní. Také nabízí možnost klávesových zkratek, která pomůže při úpravě, hledání či nahrazování textu.

Doporučujeme vyzkoušet si obě možnosti, neboť každému sedí jiný styl.


Poznámka
Každý uživatel si časem osvojí celou řadu příkazů a procesů úpravy souborů a hledání slov. Některé z těchto úkolů lse splnit jednoduchými příkazy bez nutnosti otvírat editor. Mezy tyto patří například grep, cat, sed a awk.

Příprava vstupu

Každý výpočetní program má své vstupní soubory, které je třeba připravit před spuštěním výpočtu či simulace. Názvy, formát a obsah těchto souborů je vždy v manuálu daného programu a jedná se o základní znalosti pro daný program. Ve zkratce musí obsahovat strukturu systému, který studujeme, metodu, kterou budeme počítat a další možnosti vztahující se k dané metodě. Velká část informací má nějakou defualtní nastavenou hodnotu, často je ale třeba tyto hodnoty změnit pro naše účely. Seznam veškerých nastavitelných porměnných opět naleznete v manuálech, stejně jako běžně používané hodnoty. Kopírování připravených souborů ze svého počítače na server je jednoduché:

bilbo@mujpocitac:~/Desktop$ scp myfile.inp bilbo@kraj.upol.cz:~/slozka1/

Příkaz scp slouží ke kopírování pomocí ssh protokolu na servery a syntaxe je následující: scp zdroj cíl. Terminál se vás následně zeptá na heslo pro uživatele bilbo na serveru kraj a po správném vyplnění bude soubor myfile.inp zkopírován do složky slozka1 v home adresáři uživatele bilbo. POZOR Linux je case sensitive, tedy myfile není totéž jako Myfile apod. Taktéž je doporučeno nevytvářet názvy složek a souborů s mezerami. Práce s nimi je následující

bilbo@kraj:~/slozka1$ ls my file.inp # tento příkaz bude hledat dva soubory, "my" a "file.inp"
bilbo@kraj:~/slozka1$ ls my\ file.inp # tento příkaz už najde soubor s názvem "my file.inp" obsahující mezeru
bilbo@kraj:~/slozka1$ ls "my\ file.inp" # taktéž jako předešlý příkaz

Výběr fronty a zdrojů

Jakmile máte připravené všechny potřebné vstupní soubory, je třeba danou úlohu spustit. Na všech našich klastrech se o organizaci úloh stará SGE prostředí, ve kterém jsou připraveny fronty v závislosti na daném klastru a SGE úlohy posílá na jednotlivé uzly podle požadovaných prostředků. Proto je důležité znát složení jednotlivých front a prostředky, které potřebujeme k vašim výpočtům.

Pro vložení úlohy do fronty slouží příkaz qsub, který bere požadované prostředky jako argumenty.

  • -q fronta
  • -N název úlohy ve frontě
  • -m informovat e-mailem při změne statusu
    • možnosti a, b, e
a=abort, zašle e-mail při zrušení úlohy
b=begin, zašle e-mail pri začátku úlohy
e=exit, zašle e-mail při ukončení úlohy
  • -M e-mail
  • -pe paralelní rozhraní
    • obecně se používají dva druhy, shm a mpi. První zmíněné je pro shared memory procesy, které běží na jednom uzlu a využívají společnou paměť. MPI se používá pro procesy, které mají svou alokovanou paměť a komunikují vzájemně pomocí zpráv, posílaných síťovým spojením. Jejich nastavneí záleží na použitém klastru.
  • -l prostředky odděleny :
    • možnosti závisí na nastavení a vlastnostech fronty
mem množství RAM/CPU

Sledování úloh

Mazání úložiště scratch

Odhlášení