Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
grid [2008/10/20 15:02] novak |
grid [2017/09/26 18:18] popel |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | Cluster | + | LRC (Linguistic Research Cluster) is a name of ÚFAL' |
- | * lrc.ufal.hide.ms.mff.cuni.cz: | + | If you need GPU processing, see a special page about our [[:gpu|GPU cluster called DLL]] (which is actually |
- | * fireball1 až 10 (4xcore, 16 GB RAM, Fedora 7, 2 procesory Intel Xeon 3 GHz) | + | |
- | * tauri1 až 10 (4xcore, 16 GB RAM, Fedora 7, 2 procesory Intel Xeon 3 GHz) | + | |
- | * orion1 až 10 (4xcore, 16 GB RAM, Fedora 7, 2 procesory Intel Xeon 2 GHz) | + | |
- | * sol1 až 13 (4xcore, 16 GB RAM, Fedora 7, 2 procesory AMD Opteron Dual Core 2 GHz) | + | |
+ | ===== List of Machines ===== | ||
+ | The list has been updated 2017/09. All machines have Ubuntu 14.04. | ||
+ | Some machines are at Malá Strana (ground floor, new server room built from Lindat budget), some are at Troja (5 km north-east). | ||
+ | If you need to quickly distinguish which machine is located where, you can use your knowledge of [[https:// | ||
+ | |||
+ | ==== Troja (troja-all.q) ==== | ||
+ | ^ Name ^ CPU type ^ GHz ^cores ^RAM(GB)^ note ^ | ||
+ | | achilles[1-8] | ||
+ | | hector[1-8] | ||
+ | | helena[1-8] | ||
+ | | paris[1-8] | ||
+ | |||
+ | ==== MS = Malá Strana (ms-all.q) ==== | ||
+ | |||
+ | ^ Name ^ CPU type ^ GHz ^cores ^RAM(GB)^ note ^ | ||
+ | | andromeda[1-13] | ||
+ | | hydra[1-4] | ||
+ | | fireball[1-10] | ||
+ | | hyperion[1-9] | ||
+ | | lucifer[1-10] | ||
+ | | orion[1-6] | ||
+ | | orion[7-10] | ||
+ | | tauri[1-10] | ||
+ | | cosmos | ||
+ | | belzebub | ||
+ | | iridium | ||
+ | | twister[1, | ||
+ | |||
+ | === Outside LRC cluster (but located as MS) === | ||
+ | ^ Name ^ CPU type ^ GHz ^cores ^ RAM(GB)^ note ^ | ||
+ | | lrc[1, | ||
+ | | pandora[1-10] | ||
+ | | sol[1-5] | ||
+ | | sol[6-8] | ||
+ | |||
+ | **lrc machines** are so called heads of the cluster. **No computation is allowed here** (i.e. no CPU-intensive, | ||
+ | |||
+ | Alternatively, | ||
+ | |||
+ | The **pandora machines** are in a special cluster (not accessible from lrc) and queue **ms-guests.q** available for our colleagues from KSVI and for students of [[http:// | ||
+ | |||
+ | fronty výpočtů, které se odesílají na výpočetní stroje v clusteru. Na hlavě se nemají pouštět žádné náročné výpočty a naopak na ostatní stroje v clusteru se mají výpočty odesílat výhradně prostřednictvím hlavy. Hlava má 2 procesory Intel Pentium D 3 GHz a 1 GB paměti. Ve skutečnosti existují hlavy dvě - lrc1 a lrc2, které sdílí IP adresu lrc.ufal.hide.ms.mff.cuni.cz. V případě výpadku jedné z hlav, přebírá kontrolu ta druhá. | ||
Frontovací systém umožňuje: | Frontovací systém umožňuje: | ||
Line 18: | Line 56: | ||
Jednou za život musíte provést [[Základní nastavení SGE]], abyste SGE mohli používat. | Jednou za život musíte provést [[Základní nastavení SGE]], abyste SGE mohli používat. | ||
- | |||
- | |||
===== Ukázka užití SGE ===== | ===== Ukázka užití SGE ===== | ||
Line 26: | Line 62: | ||
< | < | ||
- | ssh lrc | + | ssh lrc2 |
# přihlašte se na hlavu clusteru | # přihlašte se na hlavu clusteru | ||
echo " | echo " | ||
Line 39: | Line 75: | ||
# Pořadí parametrů **je** důležité, | # Pořadí parametrů **je** důležité, | ||
qstat | qstat | ||
- | | + | qstat -u ' |
+ | | ||
# SGE chvíli čeká, než skript opravdu spustí. Pro malinké úlohy tedy SGE může představovat | # SGE chvíli čeká, než skript opravdu spustí. Pro malinké úlohy tedy SGE může představovat | ||
# zbytečné zpoždění. | # zbytečné zpoždění. | ||
+ | # -u ' | ||
cat skript.sh.oXXXXX | cat skript.sh.oXXXXX | ||
# vypište si výstup skriptu. XXXXX je ID jobu, které bylo přiděleno | # vypište si výstup skriptu. XXXXX je ID jobu, které bylo přiděleno | ||
Line 65: | Line 103: | ||
qsub -V | qsub -V | ||
# když chcete předat proměnné prostředí | # když chcete předat proměnné prostředí | ||
- | qdel all | + | qdel \* |
# když chcete zrušit všechny své joby (rušit cizí nesmíte) | # když chcete zrušit všechny své joby (rušit cizí nesmíte) | ||
</ | </ | ||
- | |||
- | ** V.N.: "qdel all" mi nefunguje, nahradil jsem za:** | ||
- | qdel " | ||
Line 81: | Line 116: | ||
* Nespouštět úlohy ručně. (O ručně spuštěných úlohách SGE nemá informaci, klidně na daný uzel pošle ještě další úlohy z fronty.) | * Nespouštět úlohy ručně. (O ručně spuštěných úlohách SGE nemá informaci, klidně na daný uzel pošle ještě další úlohy z fronty.) | ||
+ | * Interaktivní shell se dá získat příkazem '' | ||
Další doporučení: | Další doporučení: | ||
Line 87: | Line 123: | ||
* Uklízet po sobě lokální data, protože jinak si tam už nikdo nic užitečného nepustí. | * Uklízet po sobě lokální data, protože jinak si tam už nikdo nic užitečného nepustí. | ||
* Vyhnout se hodně divokému paralelnímu přístupu ke sdíleným diskům. NFS server to pak nepěkně zpomalí pro všechny. Distribuujte tedy i data. | * Vyhnout se hodně divokému paralelnímu přístupu ke sdíleným diskům. NFS server to pak nepěkně zpomalí pro všechny. Distribuujte tedy i data. | ||
- | * Informovat SGE, kolik paměti úloha žere, aby na strojích nedošla paměť: < | + | * Informovat SGE, kolik paměti úloha žere, aby na strojích nedošla paměť |
Line 97: | Line 133: | ||
===== Triky a opentlení ===== | ===== Triky a opentlení ===== | ||
+ | |||
==== ~bojar/ | ==== ~bojar/ | ||
Line 109: | Line 146: | ||
</ | </ | ||
+ | lépe funguje '' | ||
==== ~zeman/ | ==== ~zeman/ | ||
Line 127: | Line 165: | ||
(Kdybych místo uvozovek použil apostrofy, nerozbalily by se mi proměnné. První argument (název skriptu) klidně mohl být v uvozovkách spolu s přesměrováním. Dal jsem ho ven jen proto, že potom '' | (Kdybych místo uvozovek použil apostrofy, nerozbalily by se mi proměnné. První argument (název skriptu) klidně mohl být v uvozovkách spolu s přesměrováním. Dal jsem ho ven jen proto, že potom '' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== TectoMT: devel/ | ||
+ | |||
+ | Jako '' | ||
+ | |||
+ | | ||
+ | |||
+ | Skript zadanou hromádku souboru rozdělí do '' | ||
+ | |||
+ | Soubory možno zadat filelistem, nebo pomocí '' | ||
+ | |||
+ | Je nutné buď zadat '' | ||
+ | |||
+ | Parametr '' | ||
+ | |||
+ | Parametr '' | ||
+ | |||
+ | Výstup každého jobu jde do vlastního logu, '' | ||
+ | |||
+ | Parametr '' | ||
+ | |||
+ | Bez '' | ||
+ | |||
+ | ===== Monitorování úloh ===== | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * ''/ | ||
+ | * ''/ | ||
+ | * ''/ | ||
+ | * mem_total: celkova pamet uzlu | ||
+ | * mem_free: tedy kolik je jeste volne pameti z pametove quoty uzlu | ||
+ | * act_mem_free: | ||
+ | * mem_used: kolik je pameti skutecne pouzito | ||
+ | * ''/ | ||
+ | * celkovy pocet jader, pocet vyuzitych jader | ||
+ | * celkova velikost RAM, kolik je ji fyzicky nepouzite, kolik je ji jeste nerezervovane | ||
+ | * po jednotlivych uzivatelich (zrovna pocitajicich) -- kolik jim bezi uloh, kolik jich maji ve fronte a kolik z nich je ve stavu hold | ||
+ | * '' | ||
+ | * [[https:// | ||
===== Časté a záludné problémy ===== | ===== Časté a záludné problémy ===== | ||
- | ==== Submitnutý job nesmí znovu submitovat ==== | ||
- | Pokud se nemýlím, není dovoleno použít '' | + | ==== Submitnutý job může znovu submitovat ==== |
+ | |||
+ | Danovy starší zkušenosti s clusterem PBS (nikoli SGE) říkaly, že tohle nejde. Ale jde to, aspoň u nás. Příkazy | ||
Line 193: | Line 276: | ||
</ | </ | ||
+ | ==== Jak zjistit, jaké zdroje jsem pro svou úlohu požadoval ==== | ||
+ | |||
+ | < | ||
+ | hard resource_list: | ||
+ | hard resource_list: | ||
+ | hard resource_list: | ||
+ | hard resource_list: | ||
+ | hard resource_list: | ||
+ | hard resource_list: | ||
+ | |||
+ | ==== Jak rezervovat více jader na stejném stroji pro 1 job ==== | ||
+ | |||
+ | < | ||
+ | qsub -pe smp <pocet jader> | ||
+ | </ | ||
===== Synchronizace úloh (v Perlu) ===== | ===== Synchronizace úloh (v Perlu) ===== | ||
- | Pokud chci paralelizovat část úlohy (zde '' | + | Pokud chci paralelizovat část úlohy (zde '' |
* Obalím svůj skript pro běh na gridu – vytvořím '' | * Obalím svůj skript pro běh na gridu – vytvořím '' | ||
Line 203: | Line 301: | ||
. / | . / | ||
- | qrsh -cwd -V -p -50 -l mf=5g -now no ' | + | qrsh -cwd -V -p -50 -l mf=5g -now no ' |
</ | </ | ||
* Ve svém hlavním skriptu ho pak zavolám a posbírám výsledky: | * Ve svém hlavním skriptu ho pak zavolám a posbírám výsledky: | ||
< | < | ||
+ | use FileHandle; | ||
+ | use IPC::Open2; | ||
use threads; | use threads; | ||
use threads:: | use threads:: | ||
Line 240: | Line 340: | ||
* Pokud lze všechno předat parametry, nemusí se otevírat obousměrná roura a situace bude jednodušší | * Pokud lze všechno předat parametry, nemusí se otevírat obousměrná roura a situace bude jednodušší | ||
* Pokud '' | * Pokud '' | ||
- | * Celý příklad je použit | + | * Celý příklad je k vidění |