Provozování výpočtů
Obecné informace
Tento text upravuje podmínky, za jakých je možné na obecně dostupných sdílených fakultních strojích spouštět procesy, které jsou náročnější na systémové prostředky (paměť, CPU, diskové operace atd.) nebo jsou dlouhodobějšího charakteru a pod.
Při spouštění takovýchto procesů je obecně potřeba dbát na to, že k fakultním strojům nemáte výhradní přístup a současně je mohou používat i další uživatelé (to se týká zejména Aisy). Proto je nutné spouštět takovéto procesy ohleduplně, zejména aby nebyli omezováni interaktivně pracující uživatelé. Toho lze dosáhnout dodržováním níže uvedených instrukcí.
U výpočtů většího rozsahu (trvání v řádu dnů, více strojů, intenzivní na CPU)
je také potřeba nahlásit je se stručným zdůvodněním a délkou trvání na adresu
unixLbgYDIwqK@fi6lL9hS1Wu.munihLvcAikKT.cz.
V případě souběžné práce na mnoha strojích se vyvarujte souběžnému přenosu objemných dat
(podman/ollama pull ... a pod.), ať nezpůsobíte efektivně DDoS (na zdroj dat, síť, úložiště, ...).
Data si na stroje stáhněte sekvenčně, nebo nejlépe jenom jednou a následně je distrbuujte
mezi jednotlivými stroji, už jenom v rámci LAN.
U neopakovaných krátkodobých procesů nebo při interaktivním ladění vašich programů tyto instrukce není nutné uplatňovat. Také provozování výpočtů na Auře a Arachne funguje v jiném režimu a neuplatňují se všechna zde popsaná omezení.
Správci fakultních strojů průběžně sledují využívaní strojů. V případě upozornění správci je potřeba snížit generovanou zátěž. Procesy, které nejsou nahlášeny nebo nadměrně zatěžují stroj(e), mohou být bez upozornění ukončeny. Také v případě opakovaného nebo vážnějšího nedodržování zde uvedených instrukcí mohou správci přistoupit k dočasné blokaci účtu.
Omezující opatření
Na strojích v učebnách, které se přímo využívají při výuce, je nežádoucí spouštět výpočty v době výuky nebo potenciálních zkoušek, t.j. obecně mezi 07:45–20:15. Obecně je však nejlepší spouštět výpočty pouze v noci, pokud je to možné.
Pokud jsou výpočty dlouhodobějšího charakteru a jsou součástí výzkumu, resp. závěrečné
práce, je vhodné použít výpočetní servery k tomu určené. Nemáte-li k němu přístup,
v odůvodněných případech můžete požádat o jeho přidělení na adrese
unixUtSWPp=45@fiSZRuGvAWo.muniZ7bnbFjdp.cz.
U procesů náročných na CPU je potřeba nastavit jim nejnižší prioritu +19 například
příkazem nice:
nice -n +19 ./program
Také je možno omezit běh vláken procesu jenom na specifikovaná jádra CPU příkazem
taskset:
taskset -c 1-2,4 ./program
Pokud spuštěný proces generuje diskovými operacemi vyšší I/O zátěž
(náhodný přístup, velké přenosy), je vhodné soubory s takovýmto přístupem umístit
do složky na lokálním disku (/tmp), ne do domovského adresáře (/home/xlogin),
jelikož ten je dostupný po síti přes NFS a svazek, na kterém jsou data umístěna,
je využíván i ostatními stroji.
Je důležité vyhýbat se (near-)OOM stavem, pokud budou vaše výpočty paměťově náročnější – viz obdobné instrukce pro Auru/Arachne.
Monitorování zatížení
Během výpočtů je vhodné průběžně sledovat stav, resp. vytíženost stroje (zaplnění disků, paměti, I/O, load, stav procesů), k čemu slouží například tyto nástroje:
top, htop– souhrnné informace o systému a procesech v němps ux– výpis informací o mých procesechiostat– výpis informací o I/O operacíchwho– výpis přihlášených uživatelů (relevantní jenom pro stroje v učebnách a hale)df– využití kapacity diskových svazkůhead /proc/pressure/*– sledování PSI (Pressure Stall Information)