Slovenska iniciativa za nacionalni grid Arnes IJS SLING

RSS Arnes: obvestila

RSS Novice

RSS Arnes: omrežje

RSS Novice

RSS EGI: novice

News about the EGI.eu

RSS EGI: spletniki

Behind the scenes of EGI

RSS EMI: novice

Latest news regarding the EMI Releases (http://www.eu-emi.eu)

RSS NorduGrid: novice

NorduGrid collaboration: ARC Grid middleware development

Grid za uporabnika

Grid uporabnikom omogoča preprost, standardiziran dostop do razpršene infrastrukture za paralelno računanje in obdelavo podatkov, tako da lahko uporabnik uporablja sredstva (procesorske enote, omrežne povezave, diskovne kapacitete ipd.) številnih računalniških gruč v različnih računskih centrih v Sloveniji in v celotnem omrežju Evropske inciative za grid.

Programski vmesniki za implementacijo nalog in delo z nalogami so standardizirani in neodvisni od implementacije v posamezni gruči. Za uporabo omrežja grid mora uporabnik svojo programsko nalogo prilagoditi za delo v gridu, kar tipično pomeni izbiro ustreznega okolja za izvajanje, da bodo naloge imele vse zahtevane sistemske knjižnice, po potrebi prevajanje programske opreme za okolje izvajanja, ter pripravo datoteke z opisom naloge (job description file), vhodnih datotek (input data) ter skripte za zagon naloge (job run script).

Z nastavitvami v opisu naloge in zagonski skripti je mogoče določati, koliko procesnih jeder (na istem računskem vozlišču ali, če računska gruča podpira nizkolatenčne povezave, na več vozliščih preko povezav s knjižnicami OpenMP ali MPI), kako bo naloga pridobila potrebne podatke in kam jih bo shranila, koliko pomnilnika sme porabljati, koliko časa sme teči ipd.

Slovensko omrežje grid podpira vmesno programsko opremo NorduGrid ARC, večina gruč pa podpira tudi vmesno programsko opremo za grid gLite. Obe različici vmesne opreme sta v veliki meri soopravilni, vendar imata do določene mere različne vmesnike in različen način delovanja. V nadaljevanju bodo vsi primeri in napotki navedeni za obe različici opreme.

Overjanje in digitalna potrdila

Da lahko uporabnik pridobi dostop do sredstev, ki so na voljo v omrežju grid, mora omogočiti, da vmesna programska oprema grid overi in tako določi njegovo identiteto. V omrežjih grid je za to poskrbljeno z infrastrukturo javnih ključev (Public Key Infrastructure, PKI). Za izdajanje javnih ključev in pripadajočih digitalnih potrdil v znanosti in omrežjih grid skrbi organizacija International Grid Trust Federation (IGTF), ki jo sestavljajo evropska organizacije European Grid Policy Management Authority (EU Grid PMA), Asia Pacific Grid Policy Management Authority (APGPMA), The Americas Grid Policy Management Authority (TAGPMA) in TERENA Academic Certification Authority Repository - (TACAR). Te organizacije oblikujejo standarde in merila za izdajanje digitalnih potrdil in upravljanje z javnimi kluči ter združujejo uporabnike (skupine uporabnikov, centre grid in organizacije) ter nacionalne izdajatelje.

Za upravljanje z javnimi ključi in izdajanje digitalnih potrdil za Slovenijo skrbi slovenski izdajatelj digitalnih ključev SiGNET CA, ki je tudi član EU Grid PMA.

Zato je prvi korak, ki ga mora storiti vsak uporabnik infrasturkure grid, pridobitev osebnega digitalnega potrdila SiGNET CA. Do pridobitve takšnega potrdila je uporavičen vsak raziskovalec, ki dela v Sloveniji ali sodeluje v raziskovalnih projektih v Sloveniji, razen če dela v organizaciji oz. v državi, kjer je že upravičen do pridobitve enakovrednega digitalnega potrdila.

Na spletnih straneh SiGNET CA lahko uporabnik najde navodila za pridobitev digitalnega potrdila, uporabo digitalnega potrdila ter pravila za varovanje osebnega ključa. Izdaja digitalnega potrdila traja do 3 delovne dni, pri čemer je treba enkrat na leto digitalno potrdilo podaljšati z vlogo novega zahtevka.

Digitalno potrdilo je mogoče uporabljati v spletnem brskalniku za dostop do spletnih servisov infrastrukture grid, za uporabo z orodji vmesne programske opreme pa ga je treba namestiti v direktorij ~/.globus na sistemu, kjer bo uporabnik uporabljal orodja vmesne programske opreme grid. Ustrezna navodila in skripte so na voljo na spletni strani z navodili za uporabnike SiGNET CA.

Avtorizacija in virtualne organizacije

Osebno digitalno potrdilo zadošča za overjanje identitete uporabnika, vendar pa ne zadošča za pridobitev pravic za uporabo sredstev v omrežju grid. Pridobitev pravic - avtorizacija - je zasnovana na konceptu virtualne organizacije (VO). Virtualna organizacija združuje uporabnike določenega projekta ali discipline, običajno z več fiziničnih organizacij po svetu, in jim določa pravice za dostop do posameznih sredstev in njihovo uporabo. Zato se mora uporabnik z digitalnim potrdilom prijaviti v dololočeno virtualno organizacijo, kar mu omogoči dostop do sredstev.

Virtualne organizacije običajno tudi sklepajo dogovore o uporabi posameznih središč za grid (torej gruč), sklepajo dogovore o izmenjavi razpoložljivih kapacitet med sodelujočimi gručami ter zagotavljajo namečanje potrebne programske opreme in sistemskega okolja na gruče.

V Slovenskem omrežju grid lahko uporabniki, ki nimajo virtualne organizacije za svoje področje ali projekt, za testiranje ali produkcijske naloge uporabljajo slovensko splošno virtualno organizacijo. Na spletni strani Gen.VO.SLING.SI se lahko prijavijo s svojim osebnim digitalnim potrdilom in zaprosijo za vstop v virtualno organizacijo, s čimer dobijo dostop do sredstev Arnesove gruče in drugih slovenskih gruč, ki podpirajo to virtualno organizacijo.

Ko operater Gen.VO.SLING.SI potrdi članstvo, dobi uporabnik obvestilo po elektronski pošti in lahko začne uporabljati sredstva omrežja grid.

Pri drugih virtualnih organizacijah je tehnični postopek enak, le da mora uporabnik utemeljiti svojo vlogo z dokazili članstva v projektu virtualne organizacije ali potrdilom delovanja na področju znastveno-raziskovalne discipline. Ta postopek je pri vsaki virtualni organizaciji različen in ga običajno opisujejo spletne strani organizacije.

Specifično obstoječo virtualno organizacijo lahko uporabnik poišče na Osrednjem operativnem portalu EGI.

Uporabniški vmesnik do omrežja grid

Uprabljate lahko vmesno programsko za grid NorduGrid ARC ali gLite. Priporočamo uporabo NorduGrid ARC, saj lahko namestite "neodvisno" okolje ARC na katerikoli operacijski sistem, ki podpira POSIX (GNU/Linux, Mac OS X), za večino popularnih operacijskih sistemov pa so na voljo tudi ustrezni paketi.

Namestitev okolja NorduGrid ARC

Najpreprostejša je namestitev "neodvisnega" okolja ARC po navodilih na spletnih strani NorduGrid ARC.

V repozitoriju binarnih paketov okolja ARC je treba izbrati Direct access, različico operacijskega sistema in opcijo Standalone client package. Po prenosu se namestitev izvede z naslednjim ukazom (v tem primeru namestitev v $HOME, po potrebi prilagodite ali prestavite):

  cd;
  tar -xvf Downloads/nordugrid-arc-standalone-*.tgz
  cd ~/nordugrid-arc-standalone-*

Potem je treba v delovno ukazno lupino namestiti okoljske spremenljivke (environment variables), ki posameznim ukazom povejo, kje so nameščene datoteke:

  source setup.sh

Sledi korak za namestitev avtorizacijskega sitema za slovenske virtualne organizacije:

  rm ~/nordugrid-arc-standalone-*/etc/vomses
  mkdir ~/nordugrid-arc-standalone-*/etc/vomses
  echo '  "gen.vo.sling.si" "voms.sling.si" "15001" "/C=SI/O=SiGNET/O=SLING/CN=voms.sling.si" "gen.vo.sling.si"' > ~/nordugrid-arc-standalone-*/etc/vomses/gen.vo.sling.si-voms.sling.si
  mkdir ~/nordugrid-arc-standalone-*/etc/grid-security/vomsdir/gen.vo.sling.si
  curl http://www-f9.ijs.si/~lesi/voms.sling.si.lsc -o ~/nordugrid-arc-standalone-*/etc/grid-security/vomsdir/gen.vo.sling.si

Če je uporabnik uspešno namestil osebno potrdilo v direktorij ~/.globus, je s tem sistem pripravljen za uporabo.

(Opomba: v prejšnjih različicah so se vsi ukazi programske opreme začenjale s črkami ng, v sedanjih pa se začenjajo z arc: torej namesto ngsub arcsub. Večina namestitev podpira obe poimenovanji, vendar je to dobro vedeti, saj dokumentacija in primeri lahko uporabljajo drugačno različico, kakor ste je vajeni.)

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 z avtorizacijskim atributom virtualne organizacije gen.vo.sling.si lahko uporabnik pridobi z naslednjim ukazom:

  voms-proxy-init -voms gen.vo.sling.si:/gen.vo.sling.si -vomses ~/nordugrid-arc-standalone-*/etc/vomses -rfc -valid 96:00

Ta ukaz je nastavil zaželeno virtualno organizacijo in ustrezne poti ter zahteval standarno obliko posredniškega potrdila ( -rfc - večina orodij v gridu zaradi kompatibilnosti s starejšimi različicami privzeto izdaja starejšo obliko potrdil, ki pa ne delujejo z novejšimi različicami vmesne programske opreme, tako da je vedno priporočljivo zahtevati standardno obliko).

Opcija -valid v urah in minutah nastavi zaželeno veljavnost posredniškega potrdila. Priporočjivo je, da velja vsaj dan ali dva več, kot uporabnik predvideva, da bo trajala naloga, da zaradi kakšnega zapleta naloga ne propade, ker je nehalo veljati njeno potrdilo.

Izdana posredniška potrdila si uporabnik lahko ogleda z naslednjim ukazom:

  voms-proxy-info -all

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 ~/.arc/jobs.xml

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://pikolit.ijs.si:2811/jobs/<vpišite-ID-tukaj>

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.

Uporaba vmesne programske opreme grid gLite

Namestitev vmesne programske opreme grid gLite je nekoliko zahtevnejša. Priporočljiv pristop je, da uporabnik pridobi uporabniško ime na sistemu, kjer je administrator namestil ustrezna orodja (gLite User Interface).

Postopek namestitev osebnega elektronskega potrdila in priprave posredniškega potrdila je identičen kakor pri vmesni programski opremi NorduGrid ARC.

Identična testna naloga v formatu za gLite, v datoteki z imenom test.jdl:

  Executable = "/usr/bin/env";
  StdOutput = "std.out";
  StdError = "std.err";
  OutputSandbox = {"std.out","std.err"};

Z naslednjim ukazom lahko predamo nalogo sistemu gLite:

  glite-wms-job-submit -a test.jdl

V primeru uspešne predaje naloge bo ukaz vrni ID naloge.

Ekvivalentni ukazi za spremljanje status in kopiranje izhodnih datotek:

  glite-wms-job-status <jobID>
 
  glite-wms-job-status --all
 
  glite-wms-job-output <jobID>

Podrobna uporabniška navodila: gLite User Guide.

Razpoložljiva programska oprema

Različne discipline so razvile programsko opremo za delo z omrežjem grid ali pa prilagodile obstoječe pakete. Na voljo je Register programske opreme in orodij EGI.