http://anton.tkwcy.ee/paralleelarvutuste_praktikum.txt Logige antarctica-sse: ssh antarctica.mt.ut.ee Gridis arvutuste teostamiseks on tarvis juurdepääsu arvutusklastritele. Klastrite haldajatele saab oma isikut tõestada kolmanda usaldatud osapoole käest saadud sertifikaadi abil. Seminarides ja praktikumides kasutamiseks on loodud sertifitseerimiskeskus EENET-TEST-CA. Selle võtmega signeeritud sertifikaadid on ajutiseks kasutamiseks. Kui on tarvis gridi peal suuremaid arvutusi tegema hakata, siis tuleb sertifikaat küsida Eesti Gridi CA'lt http://grid.eenet.ee/CA Kopeerige endale sertifikaat $ cp -a ~lauria/certs// ~/.globus Salajane võti ei tohi olla teistele loetav, tuleb teha chmod: $ chmod 400 ~/.globus/userkey.pem Seejärel tuleb luua gridi proxy - ajutine võtmepaar, mis on allkirjastatud inimese sertifikaadiga. Proxy luuakse vaikimisi 12 tunniks, parool on abcd . $ grid-proxy-init Gridi proxy kehtivust saab kontrollida käsuga grid-proxy-info. Kui proxyt pole rohkem vaja, võib selle kustutada käsuga grid-proxy-destroy. $ grid-proxy-info subject : /C=EE/O=EENet/OU=TEST/CN=Grid Tester A/CN=proxy issuer : /C=EE/O=EENet/OU=TEST/CN=Grid Tester A identity : /C=EE/O=EENet/OU=TEST/CN=Grid Tester A type : full legacy globus proxy strength : 512 bits path : /tmp/x509up_u1593 timeleft : 11:59:44 Seejärel võib proovida käivitada esimest griditööd - "hello, grid!" $ ngtest 1 Kui saate mingeid veateateid, siis võite lisada debugi, samuti võib ette anda klastri, millele töö tuleb saata: $ ngtest 1 -d 1 $ ngtest 1 -d 1 -c kriit.eenet.ee $ ngtest 1 -d 2 -c antarctica.mt.ut.ee Tööde täitmist saab jälgida aadressilt http://giis.eenet.ee/monitor/ , samuti käsuga ngstat: $ ngstat $ ngstat -a $ ngstat Töö poolt tekitatud standardväljundit saab uurida käsuga ngcat $ ngcat Tehtud tööd tuleks enda järel ära koristada: $ ngclean $ ngclean -a # kustutab kõik lõppenud tööd ----- xRSL --------------------------------------------- Oma tööde sisestamiseks tuleb töö kirjeldada vastavas xRSL failis. xRSLi põhjalikum kirjeldus asub aadressil http://www.nordugrid.org/documents/xrsl.pdf mytest.xrsl: ------------------------------------ & (executable="/bin/echo") (arguments="hello, estonian grid") (jobName="PA esimene griditoo") (stdout="stdout") (stderr="stderr") (gmlog="gmlog") (CPUTime=10) ------------------------------------ Töö gridi saatmiseks tuleb käivitada ngsub: $ ngsub -f mytest.xrsl $ ngsub -f mytest.xrsl -d 1 -c kriit.eenet.ee $ ngsub -f mytest.xrsl -d 1 -c antarctica.mt.ut.ee ----------------------------------------------------------------------------- 2.1 Syntax A Grid task is described by the mean of xRSL attributes, which can be either parsed via a command-line, or, more conveniently, be collected a so-called xRSL-file (suggested extension .xrsl ). Such a file contains a plain list of attribute strings and boolean operands & (for AND) and | (for OR). Typically, an xRSL job description starts with an ampersand (&) , to indicate implicit conjunction of all the attributes: &(attribute1=value1)(attribute2=value2)... Whenever a disjunct-request of two or more attributes is needed, the following construction can be used: (|(attribute=value1)(attribute=value2)...) In expressions, the following operands are allowed: = != > < >= <= Commented lines should start with (* and be closed with *): (*attribute=value1*) Multiple job description in one file is realized via a standard Globus RSL multi-request operand +, which should precede multiple job description: +(&(...))(&(...))(&(...)) The xRSL attributes can be written in a single string, or split in lines; blank spaces between (attribute=value) pairs are ignored. ----------------------------------------------------------------------------- Olulisemad argumendid: (executable=) Näiteks: (executable="myprog") Käivitatav programm. Enamasti skript, mis tõmbab ülejäänud programmid käima (arguments="argument1 argument2 ") Käsurea parameetrid (jobName="R2si leidmine") Töö nimi, mida näidatakse nii NorduGridi monitoril kui ka PBSis. Ei või sisaldada täpitähti. (inputFiles= (fail1 kaasa_minev_fail) (fail2 http://www.toreserver.ee/paljuinfot.dat) (fail3 gsiftp://storage.element.ee/SE/minu_fail.dat) (fail4 "") ) (outputFiles= (valjund1 "gsiftp://teine.element.ee/SE3/valjund1.dat") ) Faile saab kaasa panna mitmel moel. (executables=myscript.sh myjob.exe) Näitab ära, millistele sisendfailidele tuleb anda käivitusõigus. (CPUTime=10) Kui palju protsessoriaega antud töö võib maksimaalselt võtta. (runtimeenvironment=RASI) Näitab ära, milline töökeskkond on vajalik (stdout="stdout") (stderr="stderr") (gmlog="gmlog") GM log (notify="nimi@domeen.ee") ----- MPI, PBS ja NorduGrid --------------------------------------- $ cat script-for-qsub #!/bin/sh ## Name of Job #PBS -N Test ## Declare Job non-rerunable #PBS -r n ## Output files #PBS -e greetings.err #PBS -o greetings.out ## What queue #PBS -q scali_exec ## How many nodes #PBS -l nodes=3:ppn=2 #PBS -m bea ## User commands go here echo "Hello World!" mpirun -np 6 -npn 2 /home/anton/greetings/greetings sleep 5 echo "Hello World!" ---- Ülesanne ----------------------------------------------------- Ülesanne: Käivitada griditöö, mis võtaks veebist faili http://grid.eenet.ee/CA/Estonian_Grid_CA_CP-CPS_v1.3.pdf ja salvestaks selle räsi SE-sse. RASI on vastava nimega töökeskkond, käsk on /SOFTWARE/rasi/rasi.sh. rasi.sh eeldab, et sisendfaili nimi on fail123, väljund salvestatakse faili valjund . SE asub aadressil gsiftp://kriit.eenet.ee/SE/ , räsi tuleb sinna salvestada kujul eesnimi_perenimi.rasi. Lauri Anton lauri.anton@eenet.ee