Seminar FRI
Nekaj tehničnih napotkov za udeležence delavnice.
Na delavnici bomo uporabljali vmesno programsko opremo NorduGrid ARC, ki ga podpira večina gruč slovenskega omrežja grid, ter ga preizkušali na Arnesovi testni gruči.
Postopek uporabe je v veliki meri enak kakor pri običajni uporabi, opisani v navodilih za uporabnike. V nadaljevanju so opisane razlike.
Overjanje in digitalna potrdila
Za uporabnike delavnice smo pripravili testne elektronske certifikate (potrdila) za delo v gridu z dobo veljavnosti en teden. Gesla boste prejeli na delavnici.
Za preoblikovanje potrdila v obliko, primerno za orodja NorduGrid ARC, si lahko pomagate s priročno skripto. (Na tej delavnici je ne boste potrebovali.)
Avtorizacija in virtualne organizacije
Za dostop do gruč mora uporabnik imeti avtorizacijo. Mehanizem za avtorizacijo v okolju grid je sistem virtualnih organizacij (VO). V določeni organizaciji je uporabnik lahko član, lahko pa tudi pridobi posebne pravice (roles). Za uporabo gruče zadošča članstvo v lastni virtualni organizaciji FRI: fri.vo.sling.si
Stran za prijavo: https://voms.sling.si:8443/voms/fri.vo.sling.si
Virtualno organizacijo je treba konfigurirati v programski opremi grid. Vnaprej pripravljeno okolje ima to že urejeno, ko pa programsko opremo namestite sami, morate upoštevati spodnja navodila.
Uporabniški vmesnik do omrežja grid
Uporabljali bomo različico Nordugrid ARC, ki je nameščena iz imenika epel.repo, na operacijskem sistemu CentOS 6.5
Okolje lahko namestite na svoji opremi, na voljo pa je tudi vnaprej pripravljeno okolje, do katerega dobite dostop z geslom, ki ga dobite na delavnici. Dostop do ukazne vrstice je preko vmesnika ssh
, npr:
ssh fri$x@308.ablak.arnes.si $x=1..20
V tem okolju morate še namestiti svoj certifikat. Glede na trenutno nastavitev klienta v konfiguracijski datoteki, morate narediti ločeno datoteko za certifikat in ključ, in ju shraniti v direktorij ~/.arc/:
/home/<username>/.arc/usercert.pem /home/<username>/.arc/userkey.pem
NorduGrid ARC client
Na domacem direktoriju uporabnika sta datoteki vomses in vomsdir, ki vsebujeta podatke o virtualni organizaciji uporabnika.
Konfiguracija odjemalca je v datoteki ~/.arc/client.conf in vsebuje podatke o tem, kje se na sistemu nahaja digitalno potrdilo, nastavljen je tudi protokol, preko katerega boste posiljali naloge.
vi .arc/client.conf [common] keypath=/home/<username>/.arc/userkey.pem certificatepath=/home/<username>/.arc/usercert.pem [computing/jost] url=ldap://jost.arnes.si:2135 infointerface=org.nordugrid.ldapng jobinterface=org.nordugrid.gridftpjob
Treba je nastaviti virtualno organizacijo FRI.VO:
mkdir -f ~/.arc/vomses/ cat <<end > ~/.arc/vomses/fri.vo.sling.si-voms.sling.si "fri.vo.sling.si" "voms.sling.si" "15003" "/C=SI/O=SiGNET/O=SLING/CN=voms.sling.si" "fri.vo.sling.si" end mkdir -f ~/.arc/vomsdir cat <<end > ~/.arc/vomsdir/fri.vo.sling.si /C=SI/O=SiGNET/O=SLING/CN=voms.sling.si /C=SI/O=SiGNET/CN=SiGNET CA end
Digitalno potrdilo je treba namestiti v mapo .arc, ki je v uporabnikovem domačem direktoriju.
# openssl pkcs12 -in certificate.p12 -clcerts -nokeys -out usercert.pem # openssl pkcs12 -in certificate.p12 -nocerts -out userkey.pem # chmod 400 userkey.pem # chmod 644 usercert.pem # mv user*.pem /home/fri001/.arc
Če je uporabnik uspešno namestil osebno potrdilo v direktorij ~/.arc
, je s tem sistem pripravljen za uporabo.
Testna naloga v okolju ARC
Pred zagonom testne naloge je treba nalogi omogočiti overjanje in avtorizacijo v imenu uporabnika. V omrežju grid naloge ne morejo uporabljati uporabnikovega elektronskega potrdila, saj bi to pomenilo, da se nešifrirano potrdilo sključem kopira po omrežju. Zato naloge uprabljajo zastopniška potrdila (proxy certificates), ki morajo vsebovati tudi avtorizacijske atribute. Takšna potrdila niso šifrirana, vendar so kratkotrajna.
Zastopniško potrdilo brez avtorizacijskega atributa virtualne organizacije, ki ga v tem primeru ne potrebujete, lahko pridobite z naslednjim ukazom:
arcproxy -S fri.vo.sling.si
ali z določanjem točnih poti:
arcproxy -C .arc/cert.pem -K .arc/key.pem -s .arc/vomsdir -V .arc/vomses
Možnost--help
pokaže pomoč.
Izdana posredniška potrdila si uporabnik lahko ogleda z naslednjim ukazom:
arcproxy -I
Za zagon testne naloge je treba najprej pripraviti datoteko z opisom naloge, imenovali jo bomo test.xrsl
:
& (executable = /usr/bin/env) (jobname = "test") (stdout=test.log) (join=yes) (gridtime=1000) (gmlog=log) (memory=2000)
V tem primeru namesto zagonske skriptne datoteke uporabljamo sistemski ukaz /usr/bin/env
, ki izpiše okoljske spremeljivke v sistemu.
(Seveda je lahko datoteka z opisom naloge tudi bolj kompleksna, npr. našteva podtakovne datoteke, ki naj se prenesejo na strežnik in s strežnika, zahtevajo specifično programsko okolje ali zahtevajo zagon naloge, ki bo uporabljala večje število procesorskih jeder.)
Nalogo lahko pošljemo v sistem z naslednjim ukazom:
arcsub -c jost.arnes.si -o joblist test.xrsl
Ukaz bo izpisal ID naloge in tudi shranil ID obstoječih nalog v datoteko joblist (kar smo zahtevali z opcijo -o).
Status naloge lahko preverjamo (ID dobis od prejsnje komande):
arcstat gsiftp://jost.arnes.si:2811/jobs/<vpišite-ID-tukaj>
Oziroma za preverjanje vseh nalog uporabnika:
arcstat --all
Ko je status FINISHED
, lahko uradnik skopira rezultate z delovnega direktorija, s čimer tudi odstrani rezultate s strežnika:
arcget gsiftp://jost.arnes.si:2811/jobs/<vpišite-ID-tukaj>
Priročna sta še ukaza za spremljanje standarnega izhoda naloge ter vsebine delovne mape:
arccat <jobid> arcls <jobid>
Podrobnejša navodila za delo z vmesno programsko opremo za grid NorduGrid ARC so na voljo na spletu (v angleščini): ARC Manuals, Notes and Tutorials.
Navodila za pripravo naloge
Delovno okolje nalog in naloge MPI
Delovno okolje oziroma Runtime Environment. V ARC Monitorju so pri vsaki gruči lepo našteti, saj je to stvar dogovorov in organizacij med gručami in uporabniki oz. VO.
Delovno okolje lahko vzpostavi specifično okolje, da so dosegljive ustrezne knjižnice in programi (včasih tudi cel OS v okolj chroot
). Na ta način lahko večje skupine uporabnikov na gručah namestijo svoje okolje, da ga ni treba pošiljati z vsako nalogo, in pri tem ni težav za nadgradnjami in različicami, ker ima vsaka naloga definirano, katero okolje in katero različico potrebuje.
Za fri.vo.sling.si sta doloceni 2 okolji:
– za uporabo MPI 1.6.4:
(runtimeenvironment = "APPS/FRI/MPI-1.6")
– za uporabo MPI 1.7.3 (priporočeno):
(runtimeenvironment = "APPS/FRI/MPI-1.7")
Takšna vrstica povrzoči, da se naloga lahko zažene le na gruči, ki takšno delovno okolje dejansko podpira, ob zagonu pa se zaženejo zagonske skripte. Delovno okolje tipično vsebuje tudi ustrezne datoteke (programe in knjižnice).
Ko nam na gruči vzpostavijo okolje za MPI, tako lahko poskusimo preprosto nalogo z ustrezno skripto in opisom naloge.
POZOR: V primeru napak in nedoslednosti se za morebitne popravke zahvaljujemo. Pošljite jih, prosim, na: jan.javorsek@ijs.si