ARC usage
ARC - Advanced Resource Connector
Vmesno programsko opremo Nordugrid ARC razvija kolaboracija Nordugrid. Več informacij na http://www.nordugrid.org/
Za pošiljanje nalog prek vmesne programske opreme ARC potrebujete: - digitalno potrdilo SiGNET - odjemalec ARC - članstvo v nacionalni virtualni organizaciji gen.vo.sling.si (včlanite se lahko z veljavnim digitalnim potrdilom na https://voms.sling.si:8443/voms/gen.vo.sling.si
Uporabniški vmesnik: Odjemalec ARC (ARC client)
Na prijavnih vozliščih gruč SLING je tipično uporabniški vmesnik ARC nameščen in konfiguriran.
Za uporabo na lastnih računalnikih priporočamo navodila za vaš operacijski sistem. Navodila vsebujejo tudi napotka za konfiguracijo za uporabo slovenskega nacionalnega strežnika VOMS (ki je na prijavnih vozliščih gruč urejena že sistemsko).
Pred uporabo morate pridobiti in pripraviti osebno digitalno potrdilo po navodilih za overjanje in avtorizacijo.
Preverite, ali je uporabniški vmesnik nameščen:
arcinfo --version
Preverite, ali vaše osebno potrdilo deluje:
arcproxy
arcproxy -I
Preverite, ali je članstvo v nacionalni splošni virtualni organizaciji aktivno:
arcproxy -S gen.vo.sling.si
arcproxy -I
Preverite, ali lahko komunicirate s strežnikom ARC CE na hpc.arnes.si
:
arcinfo hpc.arnes.si
Preverite, ali lahko pošljete trivialen posel:
arcsub -c nsc.ijs.si -e '&(executable = /usr/bin/env)(jobname = "justenv")(stdout=test.log)(join=yes)(gridtime=1000)(gmlog=gmlog)(memory=1000)'
Posiljanje nalog
Primer posla za ARC: text.xrsl
Navodila za opisne datoteke za posle XRSL: http://www.nordugrid.org/documents/xrsl.pdf
&
(executable = /usr/bin/env)
(jobname = "test")
(stdout=test.log)
(join=yes)
(gmlog=log)
(memory=1000)
arcproxy -S gen.vo.sling.si
* Oddajte posel z odjemalcem ARC: arcsub -c maister.hpc-rivr.um.si test.xrsl
* Kaj se zgodi?
* prenos podatkov + gradnja skripte (za SLURM v SBATCH)
* zagon posla v SBATCH z lokalnega uporabnika na gruči
* periodično spremljanje statusa (klient status v ARC CE preverja z arcstat <jobid>
)
* shranjevanje podatkov (po izteku naloge se podatki shranijo in čakajo na prevezem z arcget <jobid>
Ne spreglejte: Format datotek ldif omogoča več opisov poslov v isti
datoteki, vsak se začne z &
, in tako je vse mogoče oddati hkrati.
ARC: upravljanje in spremljanje nalog
- arcsub za oddajo poslov:
arcsub -c maister.hpc-rivr.um.si test.xrsl
- arcget za prevzem rezultatov:
arcget -a
aliarcget <jobid>
- arcinfo za podatke o gruči:
arcinfo maister.hpc-rivr.um.si
- arcstat za podatke o poslih:
arcstat -a
aliarcstat <jobid>
- arccat za ogled izpisa poslov:
arccat <jobid>
- arckill za ukinitev posla:
arckill <jobid>
ARC: življenjski krog posla
Vir: www.nordugrid.org
ARC: informacijski sistem
- standardizirani podatki o gruči v LDAP
- posli
- uporabniki
- lastnosti gruče
- nameščena programska oprema
- Sistemski viri (infoproviders): moduli za različne sisteme vrst, ki zajemajo podatke
- Podatki so zajeti v začasni bazi podatkov
- Format podatkov NorduGRID ter standardizirana shema GLUE2
- Na voljo kot LDIF/LDAP in XML/http
Podpora za programsko opremo: ARC Runtime Environment (RTE)
Izbira okolja za izvajanje: ARC Runtime Environments - RTE
ARC ponuja RTE ko od implementacije neodvisen mehanizem za nastavitev okolja za izvajanje.
- Podpira skripte, environment module (lmod) in vsebnike.
-
Ponuja standardna, lokalna in uporabniška okolja.
-
Seznam nastavljenih RTE: SLING Grid Monitor
-
ali z LDAP query:
-
ldapsearch -x -h maister.hpc-rivr.um.si -p 2135 -b ' Mds-Vo-name=local,o=grid' | grep nordugrid-cluster-runtimeenvironment
- Nastavite (lahko več) v opisni datoteki
xrsl
:(runtimeenvironment="APPS/BASE/GPU")
ARC in naloge MPI
Priprava opisne datoteke xrsl
z opisom zahtev:
&
(count = 4)
(jobname = "test-mpi")
(inputfiles =
("hellompi.sh" "")
("hellompi.c" "")
)
(outputfiles = ("result-mpi.txt" "") )
(executable = "hellompi.sh")
(stdout = "hellompi.log")
(join = yes)
(walltime = "10 minutes")
(gmlog = log)
(memory = 100)
(runtimeenvironment = "APPS/BASE/OPENMPI-DEFAULT")
Definicija posla vsebuje navedbe vhodnih in izhodnih datotek,
dnevniške datoteke ter skripte, s katero naj se posel zažene
(hellompi.sh
). Tako lokalna implementacija LRMS, v SLING tipično s
SLURM SBASH skript, skopira vse datoteke v delovni imenik posla ter
zažene skripto.
Nastavitev (runtimeenvironment = "APPS/BASE/OPENMPI-DEFAULT")
(pravilno vrednost preverite za vsako gručo) sproži nastavitve za izbiro
strojne opreme, primerne za MPI (nizkolatenčne povezave InfiniBand)
ter nastavitve za privzeto knjižnico MPI. Okolje mora biti
pripravljeno tako, da lahko posel zaženemo na standardni način (ker ne
vemo, ali je na voljo srun
ali kaj drugega).
Skripta prevede program v C in ga zažene z mpirun
:
#!/bin/bash
echo "Compiling example"
mpicc -o hello hellompi.c
echo "Done."
echo "Running example:"
mpirun --mca btl openib,self -np 4 \${PWD}/hello > result-mpi.txt
echo "Done."
Manjkajoče gradivo
- Odpravljanje napak
- multicore/multithread
- best practice
- xrsl example
Arcrunner
Arcrunner je orodje za lažje upravljanje in pošiljanje arc poslov.
Orodje dobimo iz git repozitorija: Gitlab repo http://source.ijs.si/mpetkovic/arcrunnerhacks/
- arcrunner -R seznam gruč, ločenih z vejicami
- arcrunner -X povemo ime *.xrsl datoteke
- arcrunner -P datoteka z geslom za certifikat (arcproxy -S gen.vo.sling.si)
- arcrunner -h dodatna pomoč
V repozitoriju imamo tudi dodatne python programe:
- clusterJobTest.py
- runLocally.py
- arc_manipulator.py
clusterJobTest.py: Uporaben za testiranje, če skripte in xrsl datoteke pravilno delujejo, predenj se jih pošlje na gručo.
runLocally.py: Posle zažene na lokalnem računalniku, namesto na gruči.
arc_manipulator.py:
Arcrunner dobre prakse
- Arcrunner dodamo v PATH z ukazom:
export PATH="$PATH:/home/$USER/arcrunnerhacks"
- Naredimo alias
alias ar="arcrunner -R ~/.arcrunner/clusters -P ~/.arcrunner/pass -X"
in nato kličemo kot:ar imeDat.xrsl
. - Zgornji skripti shranimo v ~/.bashrc, da se zaženeta vsakič, ko zaženemo bash lupino.
ARC: viri, povezave in gradiva
- Spletna stran NorduGrid ARC: http://www.nordugrid.org/arc/
- Dokumentacija: http://www.nordugrid.org/papers.html
- Navodila za opisne datoteke za posle XRSL: http://www.nordugrid.org/documents/xrsl.pdf
- Navodila za Grid Monitor: http://www.nordugrid.org/documents/monitor.pdf
- Delavnice SLING