Skip to content

Oddaja in upravljanje poslov Nordugrid ARC

Za oddajo poslov prek vmesne programske opreme Nordugrid ARC, potrebujete naslednje:

Pridružite se lahko z veljavnim digitalnim potrdilom na spletni strani voms.sling.si.

Priporočamo, da uporabite navodila za svoj operacijski sistem za odjemalca ARC. Informacije o nastavitvi in namestitvi najdete v dokumentaciji.

Odjemalec ARC mora biti vedno zagnan kot uporabnik brez administratorskih pravic, saj je digitalno potrdilo izdano za uporabnika.

ARCINFO

Najprej preverite, da je uporabniški vemsnik nameščen:

$ arcinfo --version
Check cluster information (in case cluster is down or you aren't allowed to submit jobs, arcinfo won't return cluster endpoints).
$ arcinfo -c arc01.vega.izum.si
$ arcinfo -c arc02.vega.izum.si

ARCPROXY

Generira posredniški strežnik z vašimi poverilnicami:

$ arcproxy

Ogled informacij o generiranem vmesniškem strežniku:

$ arcproxy -I

Preverjanje, ali je članstvo v nacionalni splošni virtualni organizaciji aktivno:

$ arcproxy -S <virtual org.>
$ arcproxy -I

Za oddajo nalog prek vmesne programske opreme ARC morate biti član podskupine Vega gen.vo.sling.si. Za zagon vmesniškega strežnika ARC, zaženite:

$ arcproxy -S gen.vo.sling.si:/gen.vo.sling.si/vega

ODDAJA POSLOV

Preverite, ali lahko oddate trivialni posel test.xrsl:

$ vi test.xrsl
&
(executable = /usr/bin/env)
(jobname = "test")
(stdout=test.log)
(join=yes)
(gridtime=1000)
(gmlog=log)
(memory=2000)

$ arcsub -cat arc01.vega.izum.si -S org.nordugrid.gridftpjob -o joblist.xml test.xrsl -d DEBUG
...
Job submitted with jobid: <job ID>

ARCSTAT (status posla v gruči)

Natisne status posla in nekaj dodatnih infomracij iz gruče, kot so ID, ime in status posal:

$ arcstat -c arc01.vega.izum.si
$ arcstat -c arc02.vega.izum.si
$ arcstat <job id>

ARCKILL

Prekini vse posle:

$ arckill

ARCCLEAN

Počisti vse posle:

$ arcclean

ARCGET

Ko je status naloge FINISHED (končano), lahko prenesete rezultate ene določene naloge:

$ arcget <job id>
Results stored at: 4fQLDmY3BxjnmmR0Xox1SiGmABFKDmABFKDmvxHKDmABFKDmiPhU9m
Jobs processed: 1, successfully retrieved: 1, successfully cleaned: 1

ali vseh zaključenih nalog:

$ arcget -a

ali nalog na seznamu datoteke joblist.xml:

$ arcget -i joblist.xml 

Naloge ARC in MPI

Priprava 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 vhodne in izhodne datoteke, dnevniške datoteke in skripto za zagon posla (hellompi.sh). To pomeni, da lokalna implementacija LRMS v SLING običajno s skripto SLURM SBASH kopira vse datoteke na delovni direktorij posla in zažene skripto.

Nastavitev (runtimeenvironment = "APPS / BASE / OPENMPI-DEFAULT") (aktivira trenutno pravilno vrednost za vsako gručo) aktivira nastavitve izbire strojne opreme, ustrezne za MPI (nizkolatenčne povezave InfiniBand) in nastavitve za privzeto knjižnico MPI. Okolje mora biti pripravljeno, da lahko zaženemo delo 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."

ARCRUNNER

Arcrunner je orodje za enostavnejše upravljanje in oddajanje poslov arc. Orodje Arcrunner je na voljo na repozitoriju git:

Gitlab repo: povezava

  • arcrunner -R < seznam gruč, ločenih z vejico>
  • arcrunner -X
  • arcrunner -P
  • arcrunner -h dodatna pomoč

V repozitoriju so na voljo tudi dodatni programi python:

  • clusterJobTest.py
  • runLocally.py
  • arc_manipulator.py

clusterJobTest.py: Uporaben za testiranje, ali skripte in datoteke xrsl pravilno delujejo preden se pošljejo v gručo. runLocally.py: Zažene posle na lokalnem računalniku namesto na gruči. arc_manipulator.py:

Arcrunner – dobra praksa

  • Dodajte Arcrunner k PATH z ukazom: export PATH = "$PATH:/home/$USER/arcrunnerhacks"
  • Ustvarite alias alias ar = "arcrunner -R ~/.arcrunner/clusters -P ~/.arcrunner / pass -X" in nato pokličite kot: ar nameDat.xrsl.
  • Omenjene skripte shranjujemo v ~/.bashrc za zagon vsakokrat, ko zaženemo lupino bash.

ARC: viri, povezave in materiali