C2115 Praktický úvod do superpočítání -1- C2115 Praktický úvod do superpočítání Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno VIII. lekce C2115 Praktický úvod do superpočítání -2Dávkové systémy C2115 Praktický úvod do superpočítání -3Dávkové zpracovaní Dávkové zpracování je vykonávání série programů (tzv. dávek) na počítači bez účasti uživatele. Dávky jsou připraveny předem, takže mohou být zpracovány předány bez účasti uživatele. Všechna vstupní data jsou předem připravena v souborech (skriptech) nebo zadána pomocí parametrů na příkazovém řádku. Dávkové zpracování je opakem interaktivního zpracování, kdy uživatel až teprve za běhu programu poskytuje požadované vstupy. Výhody dávkového zpracování  sdílení zdrojů počítače mezi mnoha uživateli a programy  odložení zpracování dávek do doby, kdy je počítač méně vytížen  odstranění prodlev způsobeným čekáním na vstup od uživatele  maximalizace využití počítače zlepšuje využití investic (zejména u dražších počítačů) zdroj: www.wikipedia.cz, upraveno C2115 Praktický úvod do superpočítání -4Nástroje pro dávkové spouštění  OpenPBS http://www.mcs.anl.gov/research/projects/openpbs/  PBSPro http://www.pbsworks.com  Oracle Grid Engine http://www.oracle.com/us/products/tools/oracle-grid-engine-075549.html  Open Grid Scheduler http://gridscheduler.sourceforge.net/  Torque http://www.adaptivecomputing.com/products/open-source/torque/ C2115 Praktický úvod do superpočítání -5Nástroje pro dávkové spouštění  OpenPBS http://www.mcs.anl.gov/research/projects/openpbs/  PBSPro http://www.pbsworks.com  Oracle Grid Engine http://www.oracle.com/us/products/tools/oracle-grid-engine-075549.html  Open Grid Scheduler http://gridscheduler.sourceforge.net/  Torque http://www.adaptivecomputing.com/products/open-source/torque/ open source C2115 Praktický úvod do superpočítání -6Nástroje pro dávkové spouštění  OpenPBS http://www.mcs.anl.gov/research/projects/openpbs/  PBSPro http://www.pbsworks.com  Oracle Grid Engine http://www.oracle.com/us/products/tools/oracle-grid-engine-075549.html  Open Grid Scheduler http://gridscheduler.sourceforge.net/  Torque http://www.adaptivecomputing.com/products/open-source/torque/ open source je použit jako dávkový systém v MetaCentrum VO, na klastrech SOKAR a WOLF C2115 Praktický úvod do superpočítání -7- Torque C2115 Praktický úvod do superpočítání -8- Architektura ...... ...... ...... fronty(queues) short normal long torque-server (pbs_server) stav uzlů (nodes) pbsnodes -a qstat -q qstat qstat -u torque-scheduler (pbs_sched) řazení úloh na výpočetní uzly dle požadovaných zdrojů torque-mom (pbs_mom) torque-mom (pbs_mom) node#1 np=2 node#2 np=1 qsub qsub qsub připravená úloha čekající úloha běžící úloha C2115 Praktický úvod do superpočítání -9Přihlašování bez hesla Mezi výpočetními uzly a serverem (a naopak) je nutné nastavit přihlašování pomocí ssh bez explicitního zadávání hesla. • pouze na klastrech NCBR C2115 Praktický úvod do superpočítání -10Zadáváme úlohy K zadávání úloh do dávkového systému se používá příkaz qsub. $ qsub –q normal uloha.sh 1.ubuntu $ ls uloha.sh uloha.sh.o1 uloha.sh.e1 jméno fronty, do které chceme úlohu zařadit skript úlohy, např. #!/bin/bash echo "Hello world from `hostname`!" příkaz vypíše ID úlohy, pokud zařazení proběhne v pořádku standardní výstup úlohy standardní chybový výstup úlohy soubory jsou dostupné až po skončení úlohy C2115 Praktický úvod do superpočítání -11Požadavky na zdroje Volba -l Procesory: nodes=N[:ppn=M[:properties]] nodes=name[:ppn=M] Paměť: mem=value Doba běhu: walltime=value C2115 Praktický úvod do superpočítání -12Cvičení LVIII.1 1. Jaké systémové proměnné začínající písmeny PBS jsou dostupné pro běžící úlohu na klastru WOLF? 2. Jaké systémové proměnné začínající písmeny TORQUE jsou dostupné pro běžící úlohu na klastru WOLF? 3. Napište skript, který vypíše seznam přidělených uzlů a počet CPU. Úlohu spusťte na 1. jednom CPU 2. na dvou CPU na jednom uzlu 3. na osmi CPU na jednom uzlu 4. na dvou uzlech na každém používající 1 CPU 5. na dvou uzlech na každém používající 2 CPU 6. na uzlu wolf04.wolf.inet a používajícím 1 CPU 7. na uzlu wolf04.wolf.inet a používajícím 2 CPU 8. na uzlu wolf04.wolf.inet a používajícím 2 CPU 9. na uzlech s vlastností stereo a používající 2 CPU C2115 Praktický úvod do superpočítání -13- 1. Napište skript, který spustí OpenMP verzi programu integral. Úlohu postupně zařaďte do dávkového systému klastru WOLF s požadavkem na 1, 2, 3 a 4 CPU. 2. Napište skript, který spustí MPI verzi programu integral. Úlohu postupně zařaďte do dávkového systému klastru WOLF s požadavkem na 1, 2, 3 a 4 CPU a poté na 1, 2, 3 a 4 uzly, kde na každém bude použit 1 CPU. 3. Monitorujte vytížení vaší pracovní stanice (příkaz top v samostatném terminálu). 4. Monitorujte zadané úlohy na klastru WOLF (příkaz qstat) a obsazenost jednotlivých uzlů (pbsnodes –a, pnodes). C2115 Praktický úvod do superpočítání -14Cvičení LVIII.2 1. Jaké systémové proměnné začínající písmeny PBS jsou dostupné pro běžící úlohu v Metacentru (Torque: arien)? 2. Jaké systémové proměnné začínající písmeny TORQUE jsou dostupné pro běžící úlohu v Metacentru (Torque: arien)? 3. Jaké systémové proměnné začínající písmeny PBS jsou dostupné pro běžící úlohu v CERIT-SC (Torque: wagap)? 4. Jaké systémové proměnné začínající písmeny TORQUE jsou dostupné pro běžící úlohu v CERIT-SC (Torque: wagap)? 5. Dle dokumentace na stránkách MetaCentra připravte skript pro úlohu v gaussianu, vstupní soubor naleznete v adresáři Lesson08/gaussian. 6. Skript konzultujte s vyučujícím. 7. Úlohu spusťte na 1 CPU. 8. Úlohu spusťte na 4 CPU na stejném klastru. 9. K jakému urychlení výpočtu dojde při použití 4 CPU?