„Budapest2 klaszter” változatai közötti eltérés

Innen: KIFÜ Wiki
a (Adatszinkronizáció)
136. sor: 136. sor:
 
<pre>
 
<pre>
 
Resources/AssociationResourceLimit - Erőforrásra vár
 
Resources/AssociationResourceLimit - Erőforrásra vár
AssociationJobLimit - Nincs elég CPU idő vagy a maximális CPU szám le van foglalva
+
AssociationJobLimit/QOSJobLimit - Nincs elég CPU idő vagy a maximális CPU szám le van foglalva
 
Piority - Alacsony prioritás miatt várakozik
 
Piority - Alacsony prioritás miatt várakozik
 
</pre>
 
</pre>
 
Az utóbbi esetben, csőkkenteni kell a job által lefoglalni kívánt időt. Egy adott projekt részére maximálisan 512 CPU-n futhatnak jobok egy adott időben.
 
Az utóbbi esetben, csőkkenteni kell a job által lefoglalni kívánt időt. Egy adott projekt részére maximálisan 512 CPU-n futhatnak jobok egy adott időben.
 
Az ütemezőben 3 feladat van. Az első egy arrayjob, éppen erőforrásra vár (PENDING). A második egy MPI job, ami 4 node-on fut már 25 perce (TIME). A harmadik egy egy node-os OMP futtatás, éppen most indult el. A feladatik nevei (NAME) egyénileg adható meg. Rövid, informatív neveket érdemes adni.
 
<pre>
 
squeue -l
 
 
Wed Oct 16 08:30:07 2013             
 
    JOBID PARTITION    NAME    USER    STATE      TIME TIMELIMIT  NODES NODELIST(REASON)
 
591_[1-96]    normal    array    alice  PENDING      0:00    30:00      1 (None)
 
      589    normal      mpi      bob  RUNNING      25:55  2:00:00      4 cn[05-08]
 
      590    normal      omp    alice  RUNNING      0:25  1:00:00      1 cn09
 
</pre>
 
 
Ennek a 2 node-os batch jobnak a jellemző memóriaterhelés a következő volt: kb. 10GB virtuális és 6.5GB RSS memóriát használt el node-onként.
 
<pre>
 
smemory 430
 
 
MaxVMSize  MaxVMSizeNode  AveVMSize    MaxRSS MaxRSSNode    AveRSS
 
---------- -------------- ---------- ---------- ---------- ----------
 
10271792K          cn06  10271792K  6544524K      cn06  6544524K 
 
10085152K          cn07  10085152K  6538492K      cn07  6534876K
 
</pre>
 
 
==== CPU felhasználás ellenőrzése ====
 
Nagyon fontos meggyőződni arról, hogy az alkalmazás kihasználja-e a rendelkezésre álló gépidőt. Egy futó alkalmazás a következő paranccsal tudunk monitorozni:
 
<code>
 
sjobcheck JOBID
 
</code>
 
 
Ez a job 4 node-on fut. A LOAD csoport a gép általános terheléséről ad információt és kb. a core-ok számával egyezik meg. A helyes felhasználásról a CPU csoport ad tájékoztatást. Ideális esetben a <code>User</code> oszlop értékei 90 fölött vannak. Ez alatt valamilyen probléma lépett fel és a futást érdemes megszakítani.
 
<pre>
 
Hostname                    LOAD                      CPU              Gexec 
 
CPUs (Procs/Total) [    1,    5, 15min] [  User,  Nice, System, Idle, Wio]
 
cn08    24 (  25/  529) [ 24.83, 24.84, 20.98] [  99.8,  0.0,  0.2,  0.0,  0.0] OFF
 
cn07    24 (  25/  529) [ 24.93, 24.88, 20.98] [  99.8,  0.0,  0.2,  0.0,  0.0] OFF
 
cn06    24 (  25/  529) [ 25.00, 24.90, 20.97] [  99.9,  0.0,  0.1,  0.0,  0.0] OFF
 
cn05    24 (  25/  544) [ 25.11, 24.96, 20.97] [  99.8,  0.0,  0.2,  0.0,  0.0] OFF
 
</pre>
 
  
 
==== Licenszek ellenőrzése ====
 
==== Licenszek ellenőrzése ====

A lap 2015. május 20., 11:58-kori változata

Klaszter Budapest2
Típus HP
core / node 10 × 2 Xeon E5-2680v2 2.80GHz
GPU / node 2 × Nvidia K20
CN szám 14

Belépés

ssh USER@login.budapest2.hpc.niif.hu

Nem alapértelmezett kulcs használata esetén a -i KULCS kapcsolóval megadása szükséges (SSH és SCP parancsok).

Fájlok másolása SCP-vel

Letöltés a HOME könyvtárból és feltöltés a HOME könyvtárba:

Fel:  scp FILE USER@login.budapest2.hpc.niif.hu:FILE
Le :  scp USER@login.budapest2.hpc.niif.hu:FILE FILE

Adatszinkronizáció

Nagyobb fájlok ill. könyvtárstruktúrák szinkronizálásához a következő parancsokat kell használni

Fel:  rsync -a -e ssh DIRECTORY USER@login.budapest2.hpc.niif.hu:/home/USER
Le :  rsync -a -e ssh USER@login.budapest2.hpc.niif.hu:/home/USER/DIRECTORY

A törölt fájlok szinkronizálásához a --delete opciót kell megadni.

Felhasználói felület

              rövid CWD
                    |
   BUDAPEST2[login] ~ (0)$
       |       |       |
  HPC állomás  |       |
        rövid gép név  |
              előző parancs exit kódja

Modul környezet

Az elérhető modulok listáját a következő paranccsal kapjuk meg:

module avail

a már betöltött modulok listáját:

module list

Alkalmazást a következő paranccsal tölthetünk be:

module load APP

A NIIF által beállított környezeti változókat nce parancs listázza ki.

Adatok megosztása projekt tagok számára

Fájlok ill. könyvtárak megosztásához ACL-eket kell beállítani. A HOME könyvtárat más felhasználó (OTHER) számára olvashatóvá, így tehetjük

setfacl -m u:OTHER:rx $HOME

Addott könyvtárat (DIRECTORY) írahtóvá:

setfacl -m u:OTHER:rxw $HOME/DIRECTORY

A kiterjesztett jogokat a következő paranccsal kérhetjük le:

getfacl $HOME/DIRECTORY

Közös home könyvtár használata

A szuperszámítógépek login gépeit összekötő közös fájlrendszer a következő könyvtár alatt található:

/mnt/fhgfs/home/$USER

Biztonsági mentést a közös könyvtárba a következő paranccsal tudunk végezni:

rsync -avuP --delete $HOME/DIRECTORY /mnt/fhgfs/home/$USER

SLURM ütemező használata

A szupergépen CPU óra (gépidő) alapú ütemezés működik. A felhasználóhoz tartozó Slurm projektek (Account) állapotáraól a következő parancs ad információt: sbalance A második oszlopban (Usage) az egyes felhasználók elhasznált gépideje, a negyeik oszlopban pedig a számla összesített gépideje látható. Az utolsó két oszlop a maximális (Account Limit) és a még alérhető (Available) gépidőről ad tájékoztatást.

Scheduler Account Balance
---------- ----------- + ---------------- ----------- + ------------- -----------
User             Usage |          Account       Usage | Account Limit   Available (CPU hrs)
---------- ----------- + ---------------- ----------- + ------------- -----------
bob *                7 |           foobar           7 |         1,000         993
alice                0 |           foobar           7 |         1,000         993

A gépidő becslése

Nagyüzemi (production) futtatások előtt gépidőbecslést érdemes végezni. Ehhez a következő parancs használható: sestimate -N NODES -t WALLTIME ahol a NODES a lefoglalni kívánt node-ok száma, a WALLTIME pedig a futás maximális ideje.

Fontos, hogy a lefoglalni kívánt gépidőt a lehető legpontosabban adjuk meg, mivel az ütemező ez alapján is rangsorolja a futtatásra váró feladatokat. Általában igaz, hogy a rövidebb job hamarabb sorra kerül. Érdemes minden futás idejét utólag az sacct paranccsal is ellenőrizni.

Állapotinformációk

Az ütemezőben lévő jobokról az squeue, a klaszter általános állapotáról az sinfo parancs ad tájékoztatást. Minden beküldött jobhoz egy egyedi azonosítószám (JOBID) rendelődik. Ennek ismeretében további információkat kérhetünk. Feladott vagy már futó job jellemzői: scontrol show job JOBID

Minden job egy ún. számlázási adatbázisba (accounting) is bekerül. Ebből az adatbázisból visszakereshetők a lefuttatott feladatok jellemzői és erőforrás-felhasználás statisztikái. A részletes statisztikát a következő paranccsal tudjuk megnézni: sacct -l -j JOBID

A felhasznált memóriáról a következő parancs ad tájékoztatást: smemory JOBID

A lemezhasználatról pedig a sdisk JOBID

Slurm figyelmeztető üzenetek

Resources/AssociationResourceLimit - Erőforrásra vár
AssociationJobLimit/QOSJobLimit - Nincs elég CPU idő vagy a maximális CPU szám le van foglalva
Piority - Alacsony prioritás miatt várakozik

Az utóbbi esetben, csőkkenteni kell a job által lefoglalni kívánt időt. Egy adott projekt részére maximálisan 512 CPU-n futhatnak jobok egy adott időben.

Licenszek ellenőrzése

Az elérhető és éppen használt licenszekről a következő parancs ad információt: slicenses