[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
grid [2008/10/29 11:31]
bojar ukazka volani a lepsi
grid [2010/01/19 11:02]
ptacek
Line 3: Line 3:
 Cluster (shluk) neboli grid (mříž, síť) je skupina počítačů, na kterých běží software pro automatické umístění vašeho výpočtu na dosud nevytížený stroj. Cluster na ÚFALu se nazývá LRC (Linguistic Research Cluster) a clustrovací software na něm je Sun Grid Engine. Do clusteru jsou zařazené tyto počítače: Cluster (shluk) neboli grid (mříž, síť) je skupina počítačů, na kterých běží software pro automatické umístění vašeho výpočtu na dosud nevytížený stroj. Cluster na ÚFALu se nazývá LRC (Linguistic Research Cluster) a clustrovací software na něm je Sun Grid Engine. Do clusteru jsou zařazené tyto počítače:
  
-  * lrc.ufal.hide.ms.mff.cuni.cz: hlava clusteru. To znamená, že neslouží k výpočtům, ale ke správě 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. +  * lrc.ufal.hide.ms.mff.cuni.cz: hlava clusteru. To znamená, že neslouží k výpočtům, ale ke správě 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. Záložní hlava je lrc-two
-  * fireball1 až 10 (4xcore, 16 GB RAM, Fedora 7, 2 procesory Intel Xeon 3 GHz) +  * fireball1 až 10 (4xcore, 32 GB RAM, Ubuntu 8.04, 2 procesory Intel Xeon 3 GHz) 
-  * tauri1 až 10 (4xcore, 16 GB RAM, Fedora 7, 2 procesory Intel Xeon 3 GHz) +  * tauri1 až 10 (4xcore, 32 GB RAM, Ubuntu 8.04 2 procesory Intel Xeon 3 GHz) 
-  * orion1 až 10 (4xcore, 16 GB RAM, Fedora 7, 2 procesory Intel Xeon 2 GHz) +  * orion1 až 10 (4xcore, 32 GB RAM, Ubuntu 8.04, 2 procesory Intel Xeon 2 GHz) 
-  * sol1 až 13 (4xcore, 16 GB RAM, Fedora 7, 2 procesory AMD Opteron Dual Core 2 GHz)+  * sol1 až 13 (4xcore, 16 GB RAM, Ubuntu 8.04, 2 procesory AMD Opteron Dual Core 2 GHz)
  
 Frontovací systém umožňuje: Frontovací systém umožňuje:
Line 18: Line 18:
  
 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 24:
  
 <code> <code>
-ssh lrc+ssh lrc-two
   # přihlašte se na hlavu clusteru   # přihlašte se na hlavu clusteru
 echo "hostname; pwd" > skript.sh echo "hostname; pwd" > skript.sh
Line 39: Line 37:
   # Pořadí parametrů **je** důležité, co je za jménem skriptu, to se předává skriptu.   # Pořadí parametrů **je** důležité, co je za jménem skriptu, to se předává skriptu.
 qstat qstat
-  # Podívejme se, jaké úlohy běží.+qstat -u '*'  
 +  # Podívejme se, jaké vaše úlohy běží.
   # 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 '*' ukáže úlohy všech uživatelů na clusteri
 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 97: Line 97:
  
 ===== Triky a opentlení ===== ===== Triky a opentlení =====
 +
  
 ==== ~bojar/tools/shell/qsubmit ==== ==== ~bojar/tools/shell/qsubmit ====
Line 109: Line 110:
 </code>  </code> 
  
 +lépe funguje ''~{stepanek,pajas}/bin/qcmd'' (nemusí se kvotovat parametry, správně počítá čas běhu...)
  
 ==== ~zeman/bin/qsub.csh ==== ==== ~zeman/bin/qsub.csh ====
Line 128: Line 129:
  
 (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 ''qsub.csh'' podle něj pojmenuje job ve frontě.) (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 ''qsub.csh'' podle něj pojmenuje job ve frontě.)
 +
  
  
Line 150: Line 152:
 Výstup každého jobu jde do vlastního logu, ''JOBNAME.o123456''. Pokud JOBNAME nezadáte (parametr ''-N''), užije se defaultní ''qrunblocks''. Výstup každého jobu jde do vlastního logu, ''JOBNAME.o123456''. Pokud JOBNAME nezadáte (parametr ''-N''), užije se defaultní ''qrunblocks''.
  
-Zatím není na závěr nijak testovánojestli se všechny analýzy povedly. Jediné, o co se snažím, je, aby na konci každého logu bylo napsáno ''Status: FAILED'', pokud se analýza toho kusu nepovedla. +Parametr ''-''''-join'' způsobíže se STDOUT ech kousků (ve správném pořadí) sebere a vypíše na hlavní STDOUT (''-''''-join'' implikuje ''-''''-sync'')Při spojování se také dělá důkladný test exitstatusů, takže ''qrunblocks'' končí úspěchem jen tehdykdyž echny joby uspěly.
- +
-Určitě je tam ještě spousta nevychytaných much, zejm. s různým escapováním různých věcí... Do budoucna plánuju přidat nejenom hromadný test úspěchuale taky sebrání STDOUT ech kousků.+
  
 +Bez ''-''''-sync'' nebo ''-''''-join'' nezbývá, než kontrolovat, jestli logy jednotlivých jobů na konci nemají napsáno:  ''Status: FAILED''.
  
 ===== Časté a záludné problémy ===== ===== Časté a záludné problémy =====
Line 273: Line 274:
   * Pokud ''muj_skript.pl'' začne psát na výstup dřív, než přečetl všechen vstup, dojde k deadlocku. Lze vyřešit obalením příkazy ''cat'' v ''obaleno.sh''.   * Pokud ''muj_skript.pl'' začne psát na výstup dřív, než přečetl všechen vstup, dojde k deadlocku. Lze vyřešit obalením příkazy ''cat'' v ''obaleno.sh''.
   * Celý příklad je k vidění v Czengu od V.N.   * Celý příklad je k vidění v Czengu od V.N.
- 

[ Back to the navigation ] [ Back to the content ]