Globus WS GRAM
Izvor: CRO NGI
Sadržaj |
Uvod
WS GRAM omogućava izvođenje poslova korištenjem WSRF (engl. Web Service Resource Framework) tehnologije. Dodatne informacije o WS GRAM servisima možete pronaći na adresi [1]. Arhitektura sustava je prikazana na slici dolje.
Za razliku od servisa GRAM, WS GRAM omogućava prijenos datoteka. Tako se pomoću RSL2 specifikacije može navesti popis datoteka koje se žele prenijeti sa/na udaljeno računalo ili obrisati nakon završetka izvođenja posla. GRAM4 koristi servis RFT da bi ostvario pouzdano upravljanje datotekama. Zbog ovog svojstva korisnik mora navesti GridFTP poslužitelj sa kojeg šalje podatke ili instalirati GridFTP na računalu s kojeg pokreće posao.
Opisivanje poslova
Poput GRAM2 servisa, poslove je moguće pokretati izravnim navođenjem naredbi iz komandne linije ili opisivanjem pomoću jezika Resource Specification Language 2 (RSL2). Ukoliko se pokreću složeniji poslovi preporuča se korištenje RSL2 jezika. Detaljan opis jezika moguće je pronaći na adresi [2].
RSL2 koristi iste parametre kao i RSL s razlikom da je zapis u XML formatu.
Upravljanje poslovima
Upravljanje poslovima se ostvaruje sa naredbom:
globusrun-ws <operacija> <opcije>
Za podnošenje poslova se koristi operacija "-submit". Opcije su navedene u tablici.
| Opcija | Opis |
| -F <adresa> | adresa CE čvora kojem se šalje posao na izvođenje |
| Condor|SGE|PBS> | ime sustava za upravljanje poslovima na CE čvoru |
| -Ff <gramservice.epr> | adresa GRAM4 servisa kojem se posao šalje na izvođenje (ova opcija zamjenjuje opcije -F i -Ft) |
| -f <job.rsl> | datoteka koja sadrži RSL opis posla |
| -S | opcija je nužna ukoliko posao ostvaruje prijenos datoteka (stage in i out) |
| -b | posao se pokreće u batch modu |
| -q | na standardni izlaz se ne dobivaju poruke od WSRF servisa |
| -s | standardni izlaz i greška posla se šalju izravno na računalo s kojeg se pokreće posao |
| -o <epr_file> | datoteka u kojoj se upisuje XML adresa posla |
Za dohvat stanja posla koristi se operacija "-status":
globusrun-ws -status -j <epr_file>
Datoteka <epr_file> sadrži XML adresu posla koja se dobije nakon pokretanja posla (opcija -o kod podnošenja posla).
Interaktivno praćenje izvođenja posla:
globusrun-ws -monitor -job-epr-file <epr_file>
Korisnik ima punu kontrolu nad poslom (s <CTRL><C> ga može prekinuti).
Zaustavljanje posla ostvaruje se operacijom "-kill":
globusrun-ws -kill -job-epr-file <epr_file>
Provjera ispravnosti sintakse opisa posla ostvaruje se operacijom "-validate":
globusrun-ws -validate -job-description-file <job.rsl>
Primjeri izvođenja
1. Interaktivno izvođenje posla na IRB-ovom klasteru iz komandne linije
globusrun-ws -submit -F grozd.irb.cro-grid.hr -Ft PBS -s -q -c /bin/hostname
2. Izvođenje posla opisanog RSL jezikom:
globusrun-ws -submit -F grozd.irb.cro-grid.hr -Ft PBS -S -o mojPosao.epr -b -q -f mojPosao.rsl
3. RSL2 za jednostavan serijski posao (bez prijenosa datoteka)
<?xml version="1.0" encoding="UTF-8"?>
<job>
<executable>/bin/hostname</executable>
<stdout>${GLOBUS_USER_HOME}/stdout</stdout>
<stderr>${GLOBUS_USER_HOME}/stderr</stderr>
<jobType>single</jobType>
</job>
4. RSL2 za jednostavan serijski posao sa prijenosom datoteka
<?xml version="1.0" encoding="UTF-8"?>
<job>
<executable>/bin/hostname</executable>
<stdout>${GLOBUS_USER_HOME}/stdout</stdout>
<stderr>${GLOBUS_USER_HOME}/stderr</stderr>
<jobType>single</jobType>
<fileStageOut>
<transfer>
<sourceUrl>file:///${GLOBUS_USER_HOME}/stdout</sourceUrl>
<destinationUrl>gsiftp://pc-emir.srce.hr:2811/home/eimamagi/globus/stdout</destinationUrl>
</transfer>
<transfer>
<sourceUrl>file:///${GLOBUS_USER_HOME}/stderr</sourceUrl>
<destinationUrl>gsiftp://pc-emir.srce.hr:2811/home/eimamagi/globus/stderr</destinationUrl>
</transfer>
</fileStageOut>
<fileCleanUp>
<deletion>
<file>file:///${GLOBUS_USER_HOME}/stdout</file>
</deletion>
<deletion>
<file>file:///${GLOBUS_USER_HOME}/stderr</file>
</deletion>
</fileCleanUp>
</job>
5. RSL2 za višestruko izvođenje jednostavnog serijskog posla
<?xml version="1.0" encoding="UTF-8"?>
<job>
<executable>/bin/hostname</executable>
<stdout>${GLOBUS_USER_HOME}/stdout</stdout>
<stderr>${GLOBUS_USER_HOME}/stderr</stderr>
<jobType>multiple</jobType>
<count>multiple</count>
... prijenos datoteka ...
</job>
6. RSL2 za MPI posao
<?xml version="1.0" encoding="UTF-8"?>
<job>
<executable>${GLOBUS_USER_HOME}/</executable>
<stdout>${GLOBUS_USER_HOME}/stdout</stdout>
<stderr>${GLOBUS_USER_HOME}/stderr</stderr>
<jobType>mpi</jobType>
<count>4</count>
... prijenos datoteka ...
</job>
7. RSL2 za posao koji se izvodi na više klastera
<?xml version="1.0" encoding="UTF-8"?>
<multiJob>
<job>
<factoryEndpoint>
<wsa:Address>https://grozd.gradri.cro-grid.hr/wsrf/services/ManagedJobFactoryService</wsa:Address>
<wsa:ReferenceProperties>
<gram:ResourceID>SGE</gram:ResourceID>
</wsa:ReferenceProperties>
</factoryEndpoint>
<executable>${GLOBUS_USER_HOME}/NPB3.2-MPI/intelLAM/lu.B.4</executable>
<stdout>${GLOBUS_USER_HOME}/stdout</stdout>
<stderr>${GLOBUS_USER_HOME}/stderr</stderr>
<jobType>mpi</jobType>
<count>4</count>
... prijenos datoteka ...
</job>
<job>
<factoryEndpoint>
<wsa:Address>https://grozd.etfos.cro-grid.hr/wsrf/services/ManagedJobFactoryService</wsa:Address>
<wsa:ReferenceProperties>
<gram:ResourceID>PBS</gram:ResourceID>
</wsa:ReferenceProperties>
</factoryEndpoint>
<executable>${GLOBUS_USER_HOME}/NPB3.2-MPI/intelLAM/lu.B.4</executable>
<stdout>${GLOBUS_USER_HOME}/stdout</stdout>
<stderr>${GLOBUS_USER_HOME}/stderr</stderr>
<jobType>mpi</jobType>
<count>4</count>
... prijenos datoteka ...
</job>
<job>
<factoryEndpoint>
<wsa:Address>https://grozd.fesb.cro-grid.hr/wsrf/services/ManagedJobFactoryService</wsa:Address>
<wsa:ReferenceProperties>
<gram:ResourceID>PBS</gram:ResourceID>
</wsa:ReferenceProperties>
</factoryEndpoint>
<executable>${GLOBUS_USER_HOME}/NPB3.2-MPI/intelLAM/lu.B.4</executable>
<stdout>${GLOBUS_USER_HOME}/stdout</stdout>
<stderr>${GLOBUS_USER_HOME}/stderr</stderr>
<jobType>mpi</jobType>
<count>4</count>
... prijenos datoteka ...
</job>
</multiJob>
