User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2025/10/30 17:05] – [Noves comandes bàsiques de Slurm (programari gestor de cues): squeue, sbatch, srun.] admins_ceabstart [2025/11/01 16:42] (current) admins_ceab
Line 1: Line 1:
 # Wiki cluster CEAB # Wiki cluster CEAB
  
-## Introducció l'ús del cluster+El cluster torna a estar operacional, després d'haver estat reformatat i reinstal·lat completament. Ara mateix dia d'avui el cluster és un sistema actualitzat i actualitzable, amb programari de suport modern i estàndard ([Slurm](https://slurm.schedmd.com/), [EasyBuild](https://easybuild.io/), [Warewulf](https://warewulf.org/), etc).
  
 +<WRAP round box center :en>
  
-El cluster torna a estar operacional, després d'haver estat reformatat i reinstal·lat completament. Ara mateix dia d'avui el cluster és un sistema actualitzat i actualitzable, amb programari de suport modern i estàndard ([Slurm](https://slurm.schedmd.com/), [EasyBuild](https://easybuild.io/), [Warewulf](https://warewulf.org/), etc).+===== Introducció l'ús del cluster =====
  
 Però hi han hagut canvis molt importants: **és imprescindible que els usuaris us llegiu això fins al final**. Però hi han hagut canvis molt importants: **és imprescindible que els usuaris us llegiu això fins al final**.
  
-### Nova direcció accés per ssh al cluster. +** >>>>>> [[ public:introduccio |  Enllaç a la introducció a l'ús del cluster ]] <<<<<< **
- +
-la direcció per accedir al cluster ha canviat: ara és **cluster.ceab.csic.es**. Per tant, per connectar-se caldrà fer: +
- +
-``` +
-ssh nom_usuari@cluster.ceab.csic.es +
-``` +
- +
-ja sigui amb les vostres terminals de sistemes MacOS o Linux, o bé amb [mobaXterm](https://mobaxterm.mobatek.net/) des de sistemes Windows. +
- +
-### Diferents cues ("particions") amb noms diferents +
- +
-el número de nodes de càlcul passa de 13 a 17. El nom dels nodes ha canviat (**node1 a 17** enlloc de node100 a 112). Estaran organitzats en diferents cues (en terminologia Slurm *"particions"*) d'acord a les seves velocitats de processador. +
- +
-a) partició **"ceab"** (nodes 6 a 16). És la cua per defecte, si no especifiqueu cua (partició) quan envieu un treball, us l'enviarà aquí. +
- +
-b) partició **"amd"** (ex ceab_node110): node17, antic node110. +
- +
-La resta de cues (particions) us anirem informant a mesura que les anem aixecant. +
-### Nou PATH home usuaris. +
- +
-Les dades dels usuaris ja no són a /home/usuaris/nom\_usuari, sinó a **/home/nom\_usuari**. Desapareix el subdirectori "usuaris"+
- +
-### Nou sistema de carregar programes (EasyBuild, "module load"+
- +
-A l'hora de cridar els programes als scripts ja no s'ha de fer la mecànica manual artesana d'abans ("export PATH etc"). Ara la manera de cridar els programes es farà via EasyBuild, amb la comanda module load +
- +
-``` +
-    $ module load nom_programa +
-``` +
- +
-Si no sabeu com cridar el programa en qüestió podeu fer: +
- +
-``` +
-    $ module spider nom_programa  +
-``` +
- +
-i us indicarà com carregar-lo. +
- +
-Exemple: +
- +
-``` +
-[xavier.roijals@cluster ~]$ module spider Python +
- +
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +
-  PythonPython/3.12.3-GCCcore-13.3.0 +
-(...) +
- +
-[xavier.roijals@cluster ~]$ module load Python/3.12.3-GCCcore-13.3.0 +
-[xavier.roijals@cluster ~]$ python --version +
-Python 3.12.3 +
-``` +
- +
-### Nou PATH directori temporal (/lscratch enlloc de /tmp) +
- +
-Abans per copiar les dades en local al node on corre el job per anar més ràpid ho copiàvem al directori /tmp. Ara **el directori on s'hauran de copiar les dades en local als nodes és el directori /lscratch** . De fet si feu un "df -h" a qualsevol node veureu que s'ha incrementat la mida d'aquesta partició a aprox +450G: +
- +
-``` +
-    /dev/sda1           466G  3.3G  463G   1% /lscratch +
-``` +
- +
-S'ha ampliat la capacitat de la partició local /lscratch del node17 (ex-node110)  aproximadament +800GB. +
- +
-S'ha ampliat també la capacitat de la partició local /lscratch del node 16 (ex-node112) aprox 2TB. +
-### Noves comandes bàsiques de Slurm (programari gestor de cues): squeue, sbatch, srun. +
- +
-Heu de tenir en compte que el programari per llençar els jobs ja no és SGE, sinó Slurm, per tant, les comandes seran diferents. Vaig posant una traducció inicial de les comandes més bàsiques habituals: +
- +
-. Consultar estat dels jobs i on estan corrent (enlloc de l'anterior qstat -u "*"): **squeue** +
- +
- +
-``` +
-[xavier.roijals@cluster ~]$ squeue +
-             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON) +
-                36       all marginal  j.badia  R   22:00:55      1 node6 +
-                35       amd marginal  j.badia  R   22:00:55      1 node17 +
-``` +
- +
- +
-. Enviar jobs a una cua determinada amb X processadors i Y RAM (aquí es calcul·la el total de RAM que es demana pel total del job, no per core com abans)(enlloc de per exemple "qsub -q ceab -pe make 20 -l h\_vmem=5G -m bea -M usuario@correo nombre_script.sh"): **sbatch** +
- +
- +
-``` +
-sbatch -p ceab --ntasks 20 --mem=100G --mail-type=BEGIN,END,FAIL --mail-user=usuario@correo nombre_script.sh +
-``` +
- +
-sent per tant -p el nom de la cua o partició, --ntasks el número de cores, --mem=100G la RAM  (en total) que es demana (en total) +
- +
-. Fer una sessió interactiva a un node (antic qlogin): srun --pty bash +
- +
-``` +
-srun -p ceab --ntasks=10 --mem=20G --pty bash +
-``` +
- +
-Això ens obriria una sessió interactiva a la cua "ceab" amb 1 node, 10 cores i 20G de RAM en total. +
- +
-Teniu un diccionari de comandes per comparar la sintaxis SGE anterior (qsub, qlogin, etc) amb la nova sintaxi Slurm (sbatch, srun, squeue, etc) aquí: [https://slurm.schedmd.com/rosetta.pdf](https://slurm.schedmd.com/rosetta.pdf) +
- +
- +
- +
- +
- +
-    7.- Obligatorietat paràmetre RAM --mem=XG +
- +
-    8.-. Com instal·lar-se un mateix llibreries de R, com crear-se virtenvs de python i instal·lar-se llibreries de python via pip install. +
- +
-    9.- No fer còrrer jobs a màquina de login. +
- +
-    10.- Els canvis s'aniran documentant progressivament a tic.ceab.csic.es/cblabdoc. +
- +
-    11.- Els programes antics que estaven allotjats a /home/soft no es poden reaprofitar. +
- +
-Anem desenvolupant cada tema: +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
-7.- És molt important afegir sempre tant a sbatch com a srun el paràmetre --mem=XG de RAM, on se li especifica la RAM que volem que faci servir el job en total, no per core. Perquè, si no es fa, el gestor del sistema de cues Slurm assigna tota la RAM disponible del node al job en qüestió. Si no es fa i enviem un job sense especificar-li aquest paràmetre de RAM, el node on estigui corrent aquest job (ni que sigui amb un únic core corrent), ja no acceptarà cap treball més i figurarà com completament "allocated" fins que no finalitzi el job. +
- +
- +
-8.- Canvi de la política d'instal·lació de programes i llibreries. Per futurs canvis organitzatius al servei del cluster del CEAB, hem decidit canviar la política d'instal·lació de programes: la idea és que, a partir d'ara, els environments de conda, els virtualenvs de python amb els seus corresponents pip install, i les llibreries de R que no estiguin ja instal·lades, se les instal·larà cada usuari a la seva /home. +
- +
-Evidentment, si algun usuari no sap com fer-ho se li ajudarà i se li indicarà el com, i si es necessiten dependències externes a les llibreries o bé la instal·lació de programes que no siguin instal·lables mitjançant aquests tres mètodes, l'instal·larem nosaltres. +
- +
-    8.a). Per carregar R (i totes les llibreries que ja tenim instal·lades al sistema): +
- +
-[xavier.roijals@cluster ~]$ module load R-bundle-CRAN # té autocompletar, fent module load R-[tabus ho autocompletaria +
- +
-Executem R i llistem les llibreries ja instal·lades: +
- +
-[xavier.roijals@cluster ~]$ R +
- +
-R version 4.4.2 (2024-10-31) -- "Pile of Leaves" +
-(...) +
- +
-> rownames(installed.packages()) +
-   [1] "abc"                      "abc.data"                 +
-   [3] "abe"                      "abind"                    +
-   [5] "acepack"                  "adabag"                   +
-   [7] "ade4"                     "ADGofTest"                +
-   [9] "admisc"                   "aggregation"              +
-  [11] "AICcmodavg"               "akima"      +
- +
-(...) +
- +
-[1251] "utf8"                     "utils"                    +
-[1253] "vctrs"                    "waldo"                    +
-[1255] "whisker"                  "withr"                    +
-[1257] "xfun"                     "xml2"                     +
-[1259] "xopen"                    "xtable"                   +
-[1261] "yaml"                     "zip"          +
- +
-Si volem veure d'aquestes llibreries de R quines les hem instal·lat al nostre espai d'usuari, podem fer des de R: +
- +
-> user_lib <- Sys.getenv("R_LIBS_USER"+
-installed_user <- installed.packages(lib.loc = user_lib) +
-rownames(installed_user) +
-[1] "janitor"   "snakecase" +
-+
- +
-    8.b). Per carregar Python: +
- +
-[xavier.roijals@cluster ~]$ module spider Python +
- +
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +
-  Python: +
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +
-    Description: +
-      Python is a programming language that lets you work more quickly and integrate your systems more effectively. +
- +
-     Versions: +
-        Python/3.11.5-GCCcore-13.2.0 +
-        Python/3.12.3-GCCcore-13.3.0 +
-(...) +
- +
-Per tant, carrego python amb module load: +
- +
-[xavier.roijals@cluster ~]$ module load Python/3.12 +
-[xavier.roijals@cluster ~]$ python --version +
-Python 3.12.3 +
- +
-Amb això ja puc crear-me virtenvs.  +
- +
-    8.c). Com crear i activar virtenvs. Creem un virtenv de nom test i l'activem amb source nom_virtenv/bin/activate: +
- +
-[xavier.roijals@cluster virtenvs]$ python -m venv test +
-[xavier.roijals@cluster virtenvs]$ source test/bin/activate +
-(test) [xavier.roijals@cluster virtenvs]$ +
- +
-Dintre d'aquest virtenv ja podem instal·lar-nos els paquets que necessitem: +
- +
-(test) [xavier.roijals@cluster virtenvs]$ pip install numpy +
-Collecting numpy +
-  Using cached numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (62 kB) +
-Using cached numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl (16.6 MB) +
-Installing collected packages: numpy +
-Successfully installed numpy-2.3.1 +
- +
-Comprovem que funciona:+
  
-(test) [xavier.roijals@cluster virtenvs]$ python +</WRAP>
-Python 3.12.3 (main, Jul 11 2025, 08:40:53) [GCC 13.3.0] on linux +
-Type "help", "copyright", "credits" or "license" for more information. +
->>> import numpy +
->>>+
  
 +<WRAP round box center :en>
  
-9.- Quan entreu al cluster ja no entrareu a l'antiga màquina virtual "cluster-ceab" (ja no tenim màquines virtuals)sinó que entrareu en un node de login. És important que no feu còrrer jobs en allà: està reservat per a compilació de programes, gestió del sistema i instal·lació de llibreries.+===== Altestarifes i facturació del servei =====
  
 +[[ public:altes-tarifes-facturacio | Altes, tarifes i introducció del servei]]
  
-10.- Tot això s'anirà documentant progressivament a https://tic.ceab.csic.es/cblabdoc (que s'ha de refer completament).+</WRAP>
  
 +<WRAP round box center :en>
  
-11.- El software preexistent (antic /home/soft i etc) no es pot reaprofitar. S'haurà de reinstal·lar bé pels usuaris al seu propi espai d'usuari (llibreries de Rvirtenvsconda) o bé via EasyBuild al directori /software/eb/software ("module load etc"). Aquestes primeres setmanes s'anirà instal·lant el software que calgui per estricte ordre de petició dels usuaris, mentre s'acaben de tancar diversos aspectes de la reinstal·lació del cluster.  Us demanem paciència (la vostra petició concreta pot trigar uns dies) i que al menys aquestes primeres setmanes mireu de demanar únicament el software estrictament necessari per treballar (la resta de coses ja s'aniran fent però més endavant).+===== Programesenvironmentsbase de dades instal·lades =====
  
 +[[ public:programes-environments-db | Programes, environments, bases de dades instal·lades ]]
  
-Finalment, us avisem que encara s'hauran de polir algunes coses (estem en rodatge) i que és possible que hi hagin algunes petites parades temporals més del cluster, i us agraïm la comprensió que heu tingut en aquesta reinstal·lació que esperem que finalment no hagi estat tant traumàtica.+</WRAP>
  
-Salut,+([[ admin:adminhome | administració ]])
  
-Xavi 
start.1761843905.txt.gz · Last modified: by admins_ceab