Paralelní výpočty na clusteru KMD Jiří Hozman jiri.hozman@tul.cz Technická univerzita v Liberci Fakulta přírodovědně-humanitní a pedagogická Katedra matematiky a didaktiky matematiky Vytvoření a rozvoj týmu pro náročné technické výpočty na paralelních počítačích na TU v Liberci Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 1 / 23
1 Představení clusteru KMD 2 Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 2 / 23
Úvod Představení clusteru KMD cluster KMD byl pořízen v rámci ESF projektu CZ.1.07/2.3.00/09.0155 umístění clusteru: KMD FP TUL, budova H, Voroněžská 1329/13, Liberec Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 3 / 23
Specifikace clusteru KMD uspořádání - spojení 2 serverů centrální server (paralel1) sekundární server (paralel2) hardware 2x PowerEdge R210 Quad Core Intel Xeon X3430 Processor (2.4GHz, 8M Cache, Turbo) 2x 8GB Memory (4x2GB Dual) 1333MHz diskový prostor 2 TB operační systém Linux nainstalované baĺıky PBS-torque-2.5 blas, lapack, scalapack PETSc-3.1-p4 openmpi-1.4.1 gcc-4.5.3 Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 4 / 23
Osobní účet a pravidla užívání správce clusteru: Jaroslav Mazánek žádost o účet - kontaktní osoba Václav Finěk, email: vaclav.finek@tul.cz zapomenuté heslo - kontaktní osoba Jaroslav Mazánek, email: jaroslav.mazanek@tul.cz cluster KMD je určen výhradně na výpočtní účely spouštění a administrace procesů je možná výhradně přes queueing system na centrálním serveru KMD (tj. paralel1) je zakázáno spouštět úlohy, které požadují víc procesorového času než 15 minut Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 5 / 23
Připojení ke clusteru KMD (Windows) zřízením účtu získáte login (např. novak) a heslo název hostitele: paralel1.kmd.tul.cz připojení z Windows pomocí WinSCP a PUTTy Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 6 / 23
Připojení ke clusteru KMD (Linux) pro připojení z Linuxu použijeme příkaz: ssh -l [login]@paralel1.kmd.tul.cz nebo jinou alternativu příkazu dle distribuce Linuxu: ssh [login]@paralel1.kmd.tul.cz a zadáme heslo odhlášení - příkaz logout Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 7 / 23
1 Představení clusteru KMD 2 Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 8 / 23
Nový program na clusteru - krok po kroku 1 standardní struktura programu 2 nahrání programu na uživatelův diskový prostor na clusteru ve Windows pomocí WinSCP (klávesa F5) v Linuxu v shellu, resp. ve Windows v PUTTy - příkaz scp 3 editace souboru na clusteru ve Windows v WinSCP pomocí nástroje na editaci (klávesa F4) v Linuxu v shelu, resp. ve Windows v PUTTy pomocí mc 4 kompilace programu na clusteru ve Windows v PUTTy pomocí příkazu make v Linuxu v shelu pomocí příkazu make 5 spuštění úlohy (Linux v shellu, resp. Windows v PUTTy) sekvenční úloha na centrálním serveru (max. 15 min. času) paralelní úloha na clusteru Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 9 / 23
Struktura programu - krok 1 každý program by měl mít svůj vlastní adresář o doporučené struktuře, např. [calc pi] (stáhnout calc pi.zip ) [bin] - obsahuje sestavený spustitelný program [src] - obsahuje zdrojové soubory a soubory vzniké při překladu Makefile - soubor pro kompilaci a sestavení programu Task - soubor (může být i jinak pojmenovaný) pro spuštění programu pomocí PBS systému Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 10 / 23
Nahrání programu - krok 2 (Windows) ve WinSCP pomocí nástroje na kopírování Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 11 / 23
Nahrání programu - krok 2 (Linux) v shellu pomocí příkazu scp s parametry: scp -r [name prg] [login]@paralel1.kmd.tul.cz:/home/[adr] a zadáme heslo Linux rozlišuje velká a malá písmena Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 12 / 23
Editace souboru - krok 3 (Windows) ve WinSCP pomocí nástroje na editaci Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 13 / 23
Editace souboru - krok 3 (Linux) příkaz mc spustí Midnight Commander editace - nástroj na úpravu souboru (klávesa F4) Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 14 / 23
Kompilace programu - krok 4 (Windows) spuštění programu PUTTy z WinSCP - kliknutí na nutné opětovné přihlášení na cluster v programu PUTTy Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 15 / 23
Kompilace programu - krok 4 (Windows + Linux) nastavení cesty k adresáři programu - cd [adr/name prg] kompilace programu se provede pomocí příkazu make (nutné být v adresáři programu se souborem Makefile) před rekompilací se doporučuje provést příkaz make clean Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 16 / 23
Sériové spuštění úlohy - krok 5 (Windows + Linux) sériové spuštění úlohy - příkaz./[name prg] (nutné být v adresáři [bin] se spustitelným souborem) alternativní spuštění úlohy s nastavenou cestou:./[adr1/adr2]/[name prg] Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 17 / 23
Paralelní spuštění úlohy - krok 5 (Windows + Linux) struktura pomocného souboru Task má pevný formát 1.řádek - specifikace počtu použitých uzlů k výpočtu: #PBS -l nodes=fastjobs:ppn=1+fastjobs:ppn=1 pro 2 uzly #PBS -l nodes=fastjobs:ppn=2+fastjobs:ppn=2 pro 4 uzly... Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 18 / 23
Paralelní spuštění úlohy - krok 5 (Windows + Linux) struktura pomocného souboru Task má pevný formát 2.řádek - označení použité skupiny uzlů: #PBS -q fastjobs na clusteru KMD je pouze skupina 8 uzlů pojmenovaná fastjobs Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 18 / 23
Paralelní spuštění úlohy - krok 5 (Windows + Linux) struktura pomocného souboru Task má pevný formát 3.řádek - rozlišení případů (včetně jejich kombinace) pro zaslání informačního emailu: #PBS -m a při chybovém ukončení úlohy #PBS -m b při startu úlohy #PBS -m e při bezchybném ukončení úlohy Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 18 / 23
Paralelní spuštění úlohy - krok 5 (Windows + Linux) struktura pomocného souboru Task má pevný formát 4.řádek - adresa pro informační email (např. jhozmi@volny.cz): #PBS -M [email address] 5.řádek - název programu (např. PI): #PBS -N [name] Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 18 / 23
Paralelní spuštění úlohy - krok 5 (Windows + Linux) struktura pomocného souboru Task má pevný formát 7.řádek - nastavení cesty ke spustitelnému souboru programu: cd /home/hozman/kmd/zdroj/calc pi/bin 8.řádek - spuštění programu se standardem MPI: mpirun./[name prg] Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 18 / 23
Paralelní spuštění úlohy - krok 5 (Windows + Linux) zařazení úlohy do fronty - příkaz qsub Task úloze je přiřazeno číslo - [number].paralel1.kmd.tul.cz Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 19 / 23
Paralelní spuštění úlohy - krok 5 (Windows + Linux) výpis úloh ve frontě (vykonávaných i čekajících) - příkaz qstat zrušení úlohy ve frontě s daným číslem - příkaz qdel [number] Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 20 / 23
Paralelní spuštění úlohy - krok 5 (Windows + Linux) po ukončení běhu paralelně spuštěné úlohy nalezneme v adresáři našeho programu 2 nové soubory: [name prg].e[number] a [name prg].o[number] není-li program ukončen úspěšně, je v souboru PI.e78 specifikována chyba a soubor PI.o78 je prázdný Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 21 / 23
Paralelní spuštění úlohy - krok 5 (Windows + Linux) je-li program ukončen úspěšně, je soubor PI.e78 prázdný a do souboru PI.o78 je zapsán standardní výstup Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 22 / 23
Další příkazy systému Linux klávesa Tab - ukáže všechny možné alternativy textu man [command] - vypíše manuálové stránky daného příkazu mkdir [adr] - vytvoření adresáře [adr] cd [adr1/adr2] - změna aktuálního adresáře na [adr1/adr2] ls - výpis obsahu aktuálního adresáře rm [filename] - smazání daného souboru cat [filename] - výpis obsahu daného souboru clear - vyčištění obrazovky relace exit - ukončení relace Jiří Hozman Paralelní výpočty na clusteru KMD Liberec 2011 23 / 23