El departament de Sistemes ofereix un servei de consultes i ajuda a l'usuari. Aquest servei contempla:
- Assessorament a usuaris en la utilització eficaç dels ordinadors del Centre, en la definició dels recursos necessaris per un determinat projecte i en la selecció i utilització del programari idoni.
- Elaboració i distribució de documentació escrita i en línia sobre els nostres recursos i la millor manera d'usar-los.
- Ajut als usuaris en els problemes que puguin aparèixer en el dia a dia, redundant en canvis que milloren el servei que oferim.
- Suport a la portabilitat d'aplicacions entre les diverses màquines disponibles.
- Avaluació del rendiment de diverses aplicacions, característiques del nostre entorn.
- Instal·lació de programari de supercomputació, utilitats, etc.
-
-
- Respostes a les preguntes més freqüents:
-
- Quines són les àrees de disc temporal de que hom disposa treballant en mode batch?
- Com indicar la partició del fitxer RWF de Gaussian?
- Com saber quina és la memòria òptima per executar Gaussian?
- Gaussian acaba amb error de disc.
- Gaussian acaba amb error de memòria.
- Què fer si el treball enviat al batch es troba permanentment en PEND?
- Com es calculen les prioritats per entrar treballs al batch?
- El treball ha fallat i no sabem per què.
-
- Quines són les àrees de disc
temporal de que hom disposa treballant en mode
batch?
-
Es disposa de tres àrees de disc temporal: /dades, /cescascratch i /tmp. És important tenir en compte que no es realitzen còpies de seguretat per a cap de les tres. -
El directori /dades és accessible des de totes les màquines i permet emmagatzemar grans fitxers de dades de forma indefinida. El seu ús és restringit (cal sol·licitar-ne l'accés). La variable d'entorn que en fa referència és $DADES que apunta a un directori /dades/usuari.
El directori /cescascratch és visible des de tots els nodes. Per utilitzar-lo cal crear un subdirectori amb el nom d'usuari. És important tenir en compte que els fitxers no accedits durant un període de 30 dies s'eliminen de forma automàtica sense avís previ. La finalitat d'aquesta àrea és l'emmagatzematge temporal de grans fitxers de dades que per la seva mida no poden emmagatzemar-se a l'àrea de home i que cal conservar durant un determinat temps. La variable d'entorn corresponent és $SCRATCH que apunta a /cescascratch/usuari.
El directori /tmp és local a cada node, cosa que comporta una velocitat d'accés a disc elevada. És molt recomanable redirigir a aquest directori tots aquells fitxers de dades de gran volum que es generen durant l'execució d'un càlcul i que requereixen un accés intensiu. La variable $TMPDIR apunta a un subdirectori del tipus /tmp/usuari/identificador_de_treball, de manera que cada treball disposa d'una àrea pròpia i independent de la resta. La grandària de disc disponible depén del límit de la cua a la que el treball hagi estat enviat. Per a més informació consulteu la secció Àrees de treball. -
-
- Com indicar la partició del fitxer RWF de Gaussian? -
Gaussian permet repartir el fitxer RWF (un dels més voluminosos) sobre diverses àrees temporals. Aquesta partició és deguda a raons històriques, quan la grandària dels fitxers estava limitada a uns pocs GB. En la majoria de màquines actuals de 64 bits això ja no és necessari, tot i que es pot fer, en cas que s'hagin de transferir els fitxers a una màquina amb recursos més limitats. -
- Partició del RWF utilitzant dos fitxers de 15 GB de grandària màxima:
Dintre de les comandes del Link 0 del fitxer de dades cal afegir -
%RWF=A,XXXXunit,B,XXXXunit
és molt important no deixar cap espai en blanc entre les comes! On: -
-
-
A, B : són els noms dels fitxers de partició (a.rwf, b.rwf), amb el path complet XXXX : és la grandària de cadascuna de les particions. unit : indica les unitats en que ve especificada la grandària. En cas de no indicar cap unitat, s'entén que el valor de la grandària ve especificat en words, i cal tenir en compte que aquesta línia té un límit de 80 caràcters!
Per exemple: -
%RWF=/tmp/usuari/fitxer1,1875MW,/tmp/usuari/fitxer2,15000MB -
Cal enviar el treball a una cua que permeti una quantitat de disc adient, consulteu la secció Les cues de batch disponibles.
-
-
- És important distingir
entre la variable %Mem especificada dintre del
fitxer de dades i el requisit de memòria que
s'especifica al job:
- %Mem=nnnnn decideix quanta memòria REAL en words utilitzarà el programa i s'usa també a l'hora de triar l'algorisme de resolució en algunes metodologies. - mentre que el requisit de memòria especificat al job decideix a quina cua de batch enviem el treball i és el que imposa el límit de memòria que el treball pot utilitzar. Mitjançant la següent fòrmula es pot estimar quin és el requisit de memòria per a cada mètode de càlcul (en words):on NB és el número de funcions de base usats en el càlcul i M és el valor mínim que depen del mètode de càlcul, segons la taula:M + 2NB2
Highest Angular Momentum Basis Function Job Type f functions g functions h functions i functions j functions SCF Energies 4 MW 4 MW 9 MW 23 MW ~60 MW SCF Gradients 4 MW 5 MW 16 MW 38 MW . SCF Frequencies 4 MW 9 MW 27 MW . . MP2 Energies 4 MW 5 MW 10 MW 28 MW ~70 MW MP2 Gradients 4 MW 6 MW 16 MW 38 MW . MP2 Frequencies 6 MW 10 MW 28 MW . . Una altra taula orientativa sobre els requisits de memòria i de disc:
Method Memory Disk In-Core SCf N4 N2 Dir. MP2 Energy OVN N2 SD MP2 Energy N2 VN2 Dir. MP2 Grad N3 N2 SD MP2 Grad N2 N3 MP3, CISD, QCISD N2 N4 MP4, QCISD(T) N2 N4 on O és el número d'orbitals ocupats, V és el número d'orbitals virtuals i N és el número de funcions de base.
- Gaussian acaba amb error de disc.
Si el Gaussian acaba amb errors com:
File extend in NtrExt1 failed
o
Erroneous write. write 1150976 instead of 5652480
vol dir que la grandària del disc d'scratch és insuficient. En el primer cas, perquè hem especificat una quantitat massa petita a les keywords Maxdisk o %RWF. I en el segon cas, perquè realment s'ha arribat al límit físic de grandària d'un fitxer, o sistema de fitxers, imposat pel límit de la cua on haguem enviat el treball.La solució és enviar el càlcul a una cua amb més disc.
- Gaussian acaba amb error de memòria.Si el Gaussian acaba amb l'error:
és indicatiu de que el càlcul necessita molta més memòria.PickT4: no shell combinations can fit!
- Què fer si un treball enviat al batch es troba permanentment en PEND?
Hi ha tres causes que justifiquen l'estat Pending (PEND) d'un treball:
- El treball està en cua degut a que no hi ha nodes disponibles per executar-ho. Hom pot comprovar-ho amb la comanda bhosts.
- El treball està en cua degut a que el mateix grup de projecte ja té altres treballs executant-se de manera que la prioritat del nostre grup és més baixa.
- El treball està en cua degut a que hi a un error en la construcció del job.
Si el motiu del problema és aquest últim, cal revisar que els requisits inclosos al fitxer per enviar treballs al batch siguin compatibles. Si s'especifica una combinació de recursos que no existeix, el treball quedarà permanentment a l'espera que es doni la condició marcada.
La comanda lshosts proporciona informació sobre la configuració del sistema i sobre els recursos definits en cadascuna de les màquines: aplicacions instal·lades, etc.
Per exemple, si s'executa lshosts obacs des de qualsevol de les màquines s'obté:
On els noms inclosos entre parèntesi corresponen al llistat dels recursos definits en aquesta màquina i que podem utilitzar per definir els requisits del treball.HOST_NAME type model cpuf ncpus maxmem maxswp server RESOURCES
obacs IA64 ALTIX 1.0 128 376432M 8196M Yes (linux ia64 g03c2 amber7 amber8 adf0401 adf0501 gamess2004 jaguar65 dlpoly2 gromacs33 gromacs331 cpmd391 namd25 mrbayes31 fastdna122 obacs disc memoria lammpi cpuset)
Així si construïm un treball amb els requisits següents:
Estem demanant que el treball s'executi a la màquina obacs i que la màquina on s'executi tingui instal·lat Gaussian03 Rev. B.2. Ara bé, obacs no té definit el recurs g03b2 ja que no disposa d'aquesta versió de Gaussian. Un treball enviat amb aquesta combinació impossible de recursos quedarà permanentment en estat PEND, a l'espera de trobar una màquina que acompleixi les condicions demanades.#BSUB -R "select[(obacs && g03b2)]"
La solució seria demanar una versió de Gaussian que sí que estigués instal·lada a obacs (Gaussian 03 Rev. C.2):O bé, si necessitem la revisió B.2 del Gaussian03 simplement haurem de treure la condició de que el treball s'executi obacs:#BSUB -R "select[(obacs && g03c2)]"
#BSUB -R "g03b2"
- Com es calculen les prioritats per entrar treballs al batch?
L'algorisme que s'utilitza és força complex, però en essència el que compta és el balanç entre el número d'hores per consumir que té un grup en concret, i el número de treballs en execució que té aquest mateix grup.
Com més hores per consumir té un grup, més prioritat té a l'hora que se li executin els treballs enviats a les cues.
El càlcul del nombre de treballs d'un grup d'usuaris es fa en base a tres conjunts de cues independents. Així, el nombre de treballs que hom té corrent a les cues d'un conjunt, no afecta a la prioritat dels treballs que hom té en un altre conjunt de cues:
- El primer conjunt inclou les cues short, parallel16 i services.
- El segon conté les cues medium, large i xlarge.
- I el tercer les cues memory, disk i parallel4.
Basant-nos en això, quants menys treballs en execució té un grup, més probabilitat té que un treball d'un dels seus usuaris arrenqui.
Entre els usuaris d'un mateix grup el balanceig es fa de forma equitativa entre ells. De manera que els seus treballs van entrant de forma alternada.
- El treball ha fallat i no sabem per què.
Les causes més usuals per les que un treball falla són:
- S'ha omplert la quota del /home i o bé estem treballant sobre aquest directori, o en acabar els càlculs s'hi copien els fitxers de resultats. La comanda quota_CESCA permet visualitzar l'ús de l'espai en disc i els límits. Per més informació sobre aquesta comanda, vegeu la secció Límits en l'ús de recursos.
- S'ha assolit algun dels límits de la cua a la que hem enviat el treball (límits de memòria, disc o temps de CPU). Amb la comanda bacct es poden visualitzar els recursos de memòria i CPU consumits per un determinat treball (ja finalitzat). La sintaxi més pràctica per a obtenir la informació d'un treball concret és la següent: bacct -l jobID, on la opció -l mostra la informació en format llarg i jobID és el nombre de treball assignat pel gestor de cues. Per més informació sobre aquesta comanda, feu man bacct.
- Revisar que la
màquina en la que s'ha executat el treball
tingui tots els recursos necessaris per a la correcta
execució del nostre treball.
Per exemple si enviem el següent treball:# BSUB -J prova # posem un nom al treballFallarà, ja que la màquina obacs no té instal·lat el Gaussian03 Rev. B.2.
# BSUB -o prova.log # redirigim l'standard output
# BSUB -e prova.err # redirigim l'standard error
# Especifiquem la cua on llenc,arem el treball
# BSUB -q short
# Fem que envii un mail quan acabi el treball
# BSUB -N -u adrec,a_correu_electronic
# Especifiquem que volem que s'executi a obacs
# BSUB -R "obacs"
cd $HOME/directori_de_treball
#
# g03b2 fitxer_input fitxer_output
# El fitxer d'entrada es el g03b2.dat i el de sortida
# es el g03b2.out
g03b2 g03b2.dat g03b2.out

Benvinguda


