1. ÚvodBatch systém je jednoduchý program (presnejšie sada programov), ktorý zabezpečuje distribúciu úloh na pracovné stanice, kde sú tieto úlohy následne vykonávané (rozumej: spustí sa shell skript). Domovský adresár je na staniciach zdieľaný a úloha sa spúšťa pod kontom (a právami) používateľa, ktorý ju zadal. Treba si dať preto pozor, aby ste si neprepísali existujúce výsledky novými ak budete naraz púšťať niekoľko krát tú istú úlohu s rôznymi vstupnými parametrami, no rovnakým výstupným súborom.Používateľ posiela úlohy na spustenie do fronty, kde sa zbierajú za radom od všetkých. Ak je práve nejaký výpočtový uzol (rozumej 1 jadro na ktorejkoľvek pracovnej stanici) voľný, priradí sa mu tá úloha, ktorá je práve na rade (rozumej : shell skript sa skopíruje na procovnú stanicu a spustí sa.). Od poslania úlohy do fronty je všetko riadené automaticky a používateľ nemusí čakať nalogovaný až do skončenia úlohy.
Každá úloha ma vlastný identifikátor tvaru
Po skončení vykonávania sa štandardný vstupný a chybový prúd nakopírujú naspäť na server do aktuálneho adresára z ktorého bola úloha spustená. Vytvoria sa 2 súbory:
2. Spustenie úlohyAko už bolo povedané, úloha je shell skript, ktorý sa zadáva ako parameter príkazuqsub. Čiže napríklad skript mojskript.sh:
#!/bin/bash
najprv vypíše do štandardného výstupného prúdu hostname, potom aktuálny dátmu a čas, potom sa pokúsi skompilovať /bin/hostname; /bin/date; g77 generator.f -o generator &> compile_log.txt if [ -f generator ]; then chmod 755 generator generator else echo "Compilation failed" fi generator.f a všetok výstup presmeruje do compile_log.txt. Následne vykoná test existencie súboru generator. Ak existuje tak mu zmení prístupové práva tak aby sa dal spustiť a potom ho spustí.
Tento skript sa pridáva do fronty príkazom :
user@potkan:/home/user$ qsub mojskript.sh
Ako bolo spomínané v úvode takto postavený skript je nevhodný, pretože by si prepísal log a program 1764.potkan.dnp.fmph.uniba.sk user@potkan:/home/user$ generator by mohol byť vo veľmi divnom stave (všetky uzly by kód z g77 písali do toho súboru). Po malej úprave však možno púšťať tento skript koľko krát chceme:
#!/bin/bash
V podstate stačí zabezpečiť aby každá jedna úloha pracovala nad vlastným samostatným adresárom, ktorý je unikátny. Ja som použil /bin/hostname; /bin/date; UNIQ_ID=`uuidgen`; mkdir $UNIQ_ID; cd $UNIQ_ID; g77 generator.f -o generator &> compile_log.txt if [ -f generator ]; then chmod 755 generator generator else echo "Compilation failed" fi uuidgen, no fantázii sa medze nekladú.
Stav vykonávania úlohyV predošlej časti sme spustili úlohu a dostali sme naspäť jej identifikátor. Existuje niekoľko príkazov ako sa pozrieť, čo všetko sa práve vykonáva a/alebo ešte len čaká vo fronte, prípadne bolo programom TORQUE zastavné kvôli nejakej chybe. Dajú sa taktiež pozrieť detaily úlohy, ktorú ste spustili (či sa vykonáva, kde sa výkonáva, koľko prostriedkov minula a pod.). Sú to príkazyqstat, showq, wn_list_state a tracejob. qstat a showq ukazujú informácie o fronte a v nej vykonávajúcich sa úlohách. wn_list_state ukazuje ktoré úlohy (podľa ID) sa vykonávajú na tej-ktorej pracovnej stanici (je to sparsovaný výstup z príkazu pbsnodes -a). tracejob ukazuje čo všetko sa s úlohou udialo od jej spustenia.
Majme skript :
#!/bin/bash
ktorý nerobí nič, len to, že čaká 1 minútu. keď ho 5x spustíme, dostaneme pre qstat -q :
sleep 60
user@potkan:/home/user$ qsub -t 0-4 mojskript.sh
Tu vidíme, že meno frontu je 1811.potkan.dnp.fmph.uniba.sk user@potkan:/home/user$ qstat -q server: potkan.dnp.fmph.uniba.sk Queue Memory CPU Time Walltime Node Run Que Lm State ---------------- ------ -------- -------- ---- --- --- -- ----- fmph_farma -- -- -- -- 5 0 -- E R ----- ----- 5 0 fmph_farma a, že práve beží 5 úloh (Run) a čaká 0 (Que). Podrobnješí výpis o fronte dá príkaz showq
user@potkan:/home/user$ showq
Tu vidíme, že máme jobID 1811 a 4 podúlohy. Spustené je to pod používateľom ACTIVE JOBS-------------------- JOBNAME USERNAME STATE PROC REMAINING STARTTIME 1811-1 user Running 1 2:23:59:59 Mon Sep 20 15:34:39 1811-2 user Running 1 2:23:59:59 Mon Sep 20 15:34:39 1811-3 user Running 1 2:23:59:59 Mon Sep 20 15:34:39 1811-4 user Running 1 2:23:59:59 Mon Sep 20 15:34:39 5 Active Jobs 5 of 60 Processors Active (8.33%) 2 of 15 Nodes Active (13.33%) IDLE JOBS---------------------- JOBNAME USERNAME STATE PROC WCLIMIT QUEUETIME 0 Idle Jobs BLOCKED JOBS---------------- JOBNAME USERNAME STATE PROC WCLIMIT QUEUETIME Total Jobs: 5 Active Jobs: 5 Idle Jobs: 0 Blocked Jobs: 0 user. Ďalšie 2 časti - IDLE JOBS a BLOCKED JOBS sú pre úlohy, ktoré čakajú vo fronte, no zatiaľ nie je voľný výpočtový uzol, ktorý by ich spracoval (IDLE JOBS) a úlohy, ktoré z nejakého dôvodu TORQUE nevedel spustiť (BLOCKED JOBS). Pri BLOCKED JOBS platí, že ak ste si istí, že to čo žiadate cez qsub je v poriadku, tak je problém s výpočtovým uzlom a je nutný zásah administrátora.
Ako posledné uvediem výstup z príkazu tracejob:
fekete@potkan:/home/fekete/test$ tracejob 1811
/var/spool/torque/server_priv/accounting/20100920: Permission denied
kde je okrem všelijakých (pre nás momentálne zbytočných výpisov) napísane, že bola úloha (a jej 4 podčasti) spustená, a skončila v stave COMPLETE, čo je z hľadiska TORQUE stav, že skončila v poriadku (cháp : TORQUE ju bol schopný dopraviť na výpočtový uzol a spustiť a po jej - akomkoľvek - skončení preniesť stdout a stderr naspäť na server).
/var/spool/torque/mom_logs/20100920: No such file or directory /var/spool/torque/sched_logs/20100920: No such file or directory Job: 1811-0.potkan.dnp.fmph.uniba.sk 09/20/2010 15:34:37 S enqueuing into fmph_farma, state 2 hop 1 09/20/2010 15:34:37 S enqueuing into fmph_farma, state 2 hop 1 09/20/2010 15:34:37 S enqueuing into fmph_farma, state 2 hop 1 09/20/2010 15:34:37 S enqueuing into fmph_farma, state 2 hop 1 09/20/2010 15:34:37 S enqueuing into fmph_farma, state 2 hop 1 09/20/2010 15:34:39 S Job Run at request of root@potkan.dnp.fmph.uniba.sk 09/20/2010 15:34:39 S Job Run at request of root@potkan.dnp.fmph.uniba.sk 09/20/2010 15:34:39 S Not sending email: User does not want mail of this type. 09/20/2010 15:34:39 S Job Run at request of root@potkan.dnp.fmph.uniba.sk 09/20/2010 15:34:39 S Not sending email: User does not want mail of this type. 09/20/2010 15:34:39 S Job Run at request of root@potkan.dnp.fmph.uniba.sk 09/20/2010 15:34:39 S Not sending email: User does not want mail of this type. 09/20/2010 15:34:39 S Job Run at request of root@potkan.dnp.fmph.uniba.sk 09/20/2010 15:34:39 S Not sending email: User does not want mail of this type. 09/20/2010 15:34:39 S Not sending email: User does not want mail of this type. 09/20/2010 15:34:39 S Not sending email: User does not want mail of this type. 09/20/2010 15:34:39 S Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=0kb resources_used.vmem=0kb resources_used.walltime=00:00:00 09/20/2010 15:36:18 S Not sending email: User does not want mail of this type. 09/20/2010 15:36:18 S Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=1388kb resources_used.vmem=66108kb resources_used.walltime=00:01:40 09/20/2010 15:36:18 S Not sending email: User does not want mail of this type. 09/20/2010 15:36:18 S Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=1408kb resources_used.vmem=66108kb resources_used.walltime=00:01:40 09/20/2010 15:36:18 S Not sending email: User does not want mail of this type. 09/20/2010 15:36:18 S Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=1384kb resources_used.vmem=66108kb resources_used.walltime=00:01:40 09/20/2010 15:36:18 S Not sending email: User does not want mail of this type. 09/20/2010 15:36:18 S Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=1388kb resources_used.vmem=66108kb resources_used.walltime=00:01:40 09/20/2010 15:39:39 S dequeuing from fmph_farma, state COMPLETE 09/20/2010 15:41:18 S dequeuing from fmph_farma, state COMPLETE 09/20/2010 15:41:18 S dequeuing from fmph_farma, state COMPLETE 09/20/2010 15:41:18 S dequeuing from fmph_farma, state COMPLETE 09/20/2010 15:41:18 S dequeuing from fmph_farma, state COMPLETE
4. Ukončenie úlohyKeď úloha skončila, v adresári, z ktorého bola spustená sa objavia súbory pre stdout a stderr a samozrejme všetko, čo úloha cestou vytvorila.
5. Súčasná kapacita farmy
6. Ďalšie možnosti TORQUETu popísaný stručný úvod ukázal len základnú prácu. TORQUE toho obsahuje ďaleko viac. Odporúčaná literatúra teda je : |
1. Úvod/inštaláciaNomachine je remote desktop ekvivalent pre linux. T.j. program, ktorým sa môžeme pripojiť na vzdialený počítač tak, ako kebyže sme za ním lokálne sedeli. Je to server/klient riešenie, to znamená. že na počítači na ktorý sa hlásite musí byť nainštalovaný nomachine server (prípadne GPL ekvivalent freenx) a na vašom počítači klient, ktorý si pre platformy Windows, Linux, Mac môžete stiahnut tu : http://www.nomachine.com/download.php.
Konfigurácia/Private key pre konekciu na serverPostupujte podľa obrázkov. V prípade problémov sa obráťte na hore uvedený kontakt s uvedeným predmtom správy.Hlavné okno konfiguračného nástroja, kliknite na "Next >". ![]() ![]() ![]() ![]() ![]() kluc (práva 400), alebo kontaktujte administrátorov na hore uvedenej adrese.
![]() ![]() ![]() ![]() |