Servei de càlcul científic del CSUC: Funcionament
Sumari
1. Accés al servei
2. Entorn de treball de l'usuari
3. Gestor de cues
4. Torn de preguntes
Sumari
1. Accés al servei
2. Entorn de treball de l'usuari
3. Gestor de cues
4. Torn de preguntes
Accés al servei
https://hpc.csuc.cat
Accés al servei
Accés al servei
Accés al servei
Accés al servei
Accés al servei
Projectes de proves
Accés al servei sense cost per l'investigador per tal que pugui avaluar si el servei
s'ajusta a les seves necessitats
Instal·lació d'aplicacions, configuració de l'entorn de treball I suport per tal de
començar a treballar adequadament amb la infraestructura disponible
• Accés durant un període de temps limitat (~ 3 mesos)
• Nombre d'hores computacionals limitades
• Els resultats no es poden fer servir per publicacions ni activitats comercials
Accés al servei
Accés al servei
Projectes acadèmics
Diferents opcions
(segons necessitats)
Grup I: 50.000 UC
Grup II: 100.000 UC
Grup III: 250.000 UC
Grup IV: 500.000 UC
Grup V: 1.000.000 UC
Disclaimer:
1 UC (unitat computacional)
equival a 1 hora d'ús d'un únic
core de CPU
S'estableix una equivalència
per la que 1 hora d'ús de GPU
és igual a 70 UC
Projectes acadèmics
✓ Els projectes acadèmics són anuals, és a dir, els recursos contractats s'han de consumir
durant l'any en que es contracten.
✓ La contractació del servei es pot fer en qualsevol moment de l'any.
✓ Durant l'any s'obren tres convocatòries d'ampliació per tal que els projectes que requereixin
més recursos en puguin sol·licitar
Sumari
1. Accés al servei
2. Entorn de treball de l'usuari
3. Gestor de cues
4. Torn de preguntes
Entorn de treball de l'usuari
L'entorn de treball de l'usuari engloba:
Programari
Ubicacions d'storage
Aplicacions d'ús general
Aplicacions amb llicència d'usuari
Entorns privats de Conda
/home/<user>
/data/<project>/<user>
/scratch/<project>/<user>
Gestionades amb móduls de Lmod
Gestionades amb móduls de Lmod
o instal·lades de forma privada
Gestionades amb entorns privats de
Conda
Programari: Lmod i Conda
: sistema de móduls d'entorn escrit en Lua
✓ Permet modificar de forma simple i reversible les variables d'entorn de l'usuari facilitant la configuració
de l'entorn de treball per l'execució d'aplicacions
✓ Es fa servir Lmod per configurar els entorns de treball de moltes aplicacions estàndard així com de
compiladors i llibreries que están a disposició dels usuaris
: sistema de gestió d'entorns de treball principalment útil (pero no exclusivament)
per entorns de Python i R
✓ Sistema d'especial utilitat per disciplines que fan servir pipelines complexos (p. Ex. Bioinformàtica,
machine learning, estadística, etc)
✓ Els entorns de Conda son (per defecte) privats dels usuaris però es poden crear de forma simple
entorns compartits entre membres del mateix projecte
: també disposem d'Apptainer per executar aplicacions containeritzades
Ubicacions d'storage
Directori Quota Backup Ampliable Variable d'entorn
/home/<user> 500 GB $HOME
/data/<project>/user 2 TB $DATA
/scratch/<project>/<user> No límit $SCRATCH
• $SCRATCH és el directori orientat a que treballin els jobs en execució (màxima velocitat de I/O) I només
és pot escriure/esborrar en ell des d'un job executat a les cues
• Els fitxers a $SCRATCH s'esborren automàticament als 7 dies de la finalització del job que els ha
generat
• $DATA està orientat a emmagatzemar volums de dades grans (BBDD, Datasets, etc) que sigui necessari
mantenir durant un temps llarg
• Es pot sol·licitar ampliació del volum disponible al directori "data" d'un projecte així com també que es
facin backups periòdics
Documentació
https://hpc.csuc.cat
Documentació
Documentació
Suport
https://hpc.csuc.cat
Suport
Suport
Sumari
1. Accés al servei
2. Entorn de treball de l'usuari
3. Gestor de cues
4. Torn de preguntes
• Simple Linux Utility for Resource Management o
simplement Slurm.
Sistema de gestió del clúster i job
scheduler per clústers Linux grans
i petits.
What is Slurm?
• Assigna accés a recursos durant un període de temps.
• Proporciona un marc per arrencar, executar I monitoritzar
treballs (usualment jobs paral·lels).
• Modera la competència pels recursos a través de la
gestió d'una cua.
Sistema de gestió del clúster i job
scheduler per clústers Linux grans
i petits.
What is Slurm?
Slurm és:
✓ De codi obert
✓ Tolerant a fallides
✓ Altament escalable
✓ D'ús generalitzat en aquest tipus d'instal·lacions
Sistema de gestió del clúster i job
scheduler per clústers Linux grans
i petits.
What is Slurm?
Cluster: Col·leció
de servidors
individuals (nodes)
interconnectats per
una xarxa d'alta
velocitat.
x50
Slurm: gestió de recursos
Nodes de login
Nodes de còmput
Sistema d'storage d'alt rendiment
ssh –p 2122 <user>@pirineus3.csuc.cat
Nodes: Servidors
individuals que
formen part d'un
sistema de còmput
d'altes prestacions.
sbatch
squeue sinfo
sacct
Slurm: gestió de recursos
x50
x2 AMD Genoa
EPYCTM 9654
192 cores
2,4 GHz
384 GB
2 GB/core
DDR5
4800 MHz
x29
x2 AMD Genoa
EPYCTM 9334
64 cores
2,7 GHz
384 GB
6 GB/core
DDR5
4800 MHz
x2 NVIDIA H100 PCIe
80 GB/GPGPU
x2 AMD Genoa
EPYCTM 9654
192 cores
2,4 GHz
3 TB
16 GB/core
DDR5
4800 MHz
x8
Partition: Grup lògic
de nodes amb
especificacions
comunes.
Slurm: gestió de recursos
GPGPUS
Memory
Cores
Job: Assignació de
recursos per un
usuari durant un
període de temps
especificat.
GPGPUS
Memory
Cores
Slurm: gestió de recursos
Job: Assignació de
recursos per un
usuari durant un
període de temps
especificat.
Pel meu
càlcul
necessito 5
cores, 9 GB
i 1 GPU
Slurm: Job Scheduling
1
2 3
4
5
Temps
Recursos
Temps
Recursos
FIFO Scheduling
Backfill Scheduling
Scheduling: Procés
que determina el
següent job que
s'executarà i amb
quins recursos
Slurm: Job Scheduling
La prioritat d'un job
determina l'ordre en
que els jobs
s'executen amb els
recursos disponibles.
Els jobs amb alta
prioritat és més
probable que
s'executin abans que
jobs amb valors més
baixos de prioritat,
depenent de la
disponibilitat de
recursos.
6
QoS
Account:
• Normal
• Low
RES:
• class_a
• class_b
• class_c
La prioritat d'un job
determina l'ordre en
que els jobs
s'executen amb els
recursos disponibles.
Els jobs amb alta
prioritat és més
probable que
s'executin abans que
jobs amb valors més
baixos de prioritat,
depenent de la
disponibilitat de
recursos.
Slurm: Job Scheduling
6
QoS
Fairshare
• Consum.
• Recursos sol·licitats.
La prioritat d'un job
determina l'ordre en
que els jobs
s'executen amb els
recursos disponibles.
Els jobs amb alta
prioritat és més
probable que
s'executin abans que
jobs amb valors més
baixos de prioritat,
depenent de la
disponibilitat de
recursos.
Slurm: Job Scheduling
6
QoS
Fairshare
Age
• Màxim 7 dies.
• No vàlid per jobs amb
dependències!
La prioritat d'un job
determina l'ordre en
que els jobs
s'executen amb els
recursos disponibles.
Els jobs amb alta
prioritat és més
probable que
s'executin abans que
jobs amb valors més
baixos de prioritat,
depenent de la
disponibilitat de
recursos.
Slurm: Job Scheduling
6
QoS
Fairshare
Age
Job size
• Els jobs més grans tenen
més prioritat (grans en
recursos NO en temps).
La prioritat d'un job
determina l'ordre en
que els jobs
s'executen amb els
recursos disponibles.
Els jobs amb alta
prioritat és més
probable que
s'executin abans que
jobs amb valors més
baixos de prioritat,
depenent de la
disponibilitat de
recursos.
Slurm: Job Scheduling
6
QoS
Fairshare
Age
Job size
• Nice factor (Integer ranging
from -2147483645 to
+2147483645).
Slurm: Job Scheduling
Time limit: Temps
màxim que un job
pot estar en
execució (determinat
per l'usuari).
Elapsed time:
Temps durant el qual
un job està en
execució des que
arrenca fins que
finalitza
Elapsed time
Time limit
Time
Resources
6
Slurm: Job Scheduling
Time
Resources
Time limit: Temps
màxim que un job
pot estar en
execució (determinat
per l'usuari).
6
Elapsed time:
Temps durant el qual
un job està en
execució des que
arrenca fins que
finalitza.
Elapsed time
Time limit
Slurm: Job Scheduling
Time
Resources
Time limit: Temps
màxim que un job
pot estar en
execució (determinat
per l'usuari).
6
Elapsed time:
Temps durant el qual
un job està en
execució des que
arrenca fins que
finalitza.
Elapsed time
Time limit
Backfilled!
Sumari
1. Accés al servei
2. Entorn de treball de l'usuari
3. Gestor de cues
4. Torn de preguntes

Funcionament del servei de càlcul científic del CSUC

  • 1.
    Servei de càlculcientífic del CSUC: Funcionament
  • 2.
    Sumari 1. Accés alservei 2. Entorn de treball de l'usuari 3. Gestor de cues 4. Torn de preguntes
  • 3.
    Sumari 1. Accés alservei 2. Entorn de treball de l'usuari 3. Gestor de cues 4. Torn de preguntes
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
    Projectes de proves Accésal servei sense cost per l'investigador per tal que pugui avaluar si el servei s'ajusta a les seves necessitats Instal·lació d'aplicacions, configuració de l'entorn de treball I suport per tal de començar a treballar adequadament amb la infraestructura disponible • Accés durant un període de temps limitat (~ 3 mesos) • Nombre d'hores computacionals limitades • Els resultats no es poden fer servir per publicacions ni activitats comercials
  • 11.
  • 12.
  • 13.
    Projectes acadèmics Diferents opcions (segonsnecessitats) Grup I: 50.000 UC Grup II: 100.000 UC Grup III: 250.000 UC Grup IV: 500.000 UC Grup V: 1.000.000 UC Disclaimer: 1 UC (unitat computacional) equival a 1 hora d'ús d'un únic core de CPU S'estableix una equivalència per la que 1 hora d'ús de GPU és igual a 70 UC
  • 14.
    Projectes acadèmics ✓ Elsprojectes acadèmics són anuals, és a dir, els recursos contractats s'han de consumir durant l'any en que es contracten. ✓ La contractació del servei es pot fer en qualsevol moment de l'any. ✓ Durant l'any s'obren tres convocatòries d'ampliació per tal que els projectes que requereixin més recursos en puguin sol·licitar
  • 15.
    Sumari 1. Accés alservei 2. Entorn de treball de l'usuari 3. Gestor de cues 4. Torn de preguntes
  • 16.
    Entorn de treballde l'usuari L'entorn de treball de l'usuari engloba: Programari Ubicacions d'storage Aplicacions d'ús general Aplicacions amb llicència d'usuari Entorns privats de Conda /home/<user> /data/<project>/<user> /scratch/<project>/<user> Gestionades amb móduls de Lmod Gestionades amb móduls de Lmod o instal·lades de forma privada Gestionades amb entorns privats de Conda
  • 17.
    Programari: Lmod iConda : sistema de móduls d'entorn escrit en Lua ✓ Permet modificar de forma simple i reversible les variables d'entorn de l'usuari facilitant la configuració de l'entorn de treball per l'execució d'aplicacions ✓ Es fa servir Lmod per configurar els entorns de treball de moltes aplicacions estàndard així com de compiladors i llibreries que están a disposició dels usuaris : sistema de gestió d'entorns de treball principalment útil (pero no exclusivament) per entorns de Python i R ✓ Sistema d'especial utilitat per disciplines que fan servir pipelines complexos (p. Ex. Bioinformàtica, machine learning, estadística, etc) ✓ Els entorns de Conda son (per defecte) privats dels usuaris però es poden crear de forma simple entorns compartits entre membres del mateix projecte : també disposem d'Apptainer per executar aplicacions containeritzades
  • 18.
    Ubicacions d'storage Directori QuotaBackup Ampliable Variable d'entorn /home/<user> 500 GB $HOME /data/<project>/user 2 TB $DATA /scratch/<project>/<user> No límit $SCRATCH • $SCRATCH és el directori orientat a que treballin els jobs en execució (màxima velocitat de I/O) I només és pot escriure/esborrar en ell des d'un job executat a les cues • Els fitxers a $SCRATCH s'esborren automàticament als 7 dies de la finalització del job que els ha generat • $DATA està orientat a emmagatzemar volums de dades grans (BBDD, Datasets, etc) que sigui necessari mantenir durant un temps llarg • Es pot sol·licitar ampliació del volum disponible al directori "data" d'un projecte així com també que es facin backups periòdics
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
    Sumari 1. Accés alservei 2. Entorn de treball de l'usuari 3. Gestor de cues 4. Torn de preguntes
  • 26.
    • Simple LinuxUtility for Resource Management o simplement Slurm. Sistema de gestió del clúster i job scheduler per clústers Linux grans i petits. What is Slurm?
  • 27.
    • Assigna accésa recursos durant un període de temps. • Proporciona un marc per arrencar, executar I monitoritzar treballs (usualment jobs paral·lels). • Modera la competència pels recursos a través de la gestió d'una cua. Sistema de gestió del clúster i job scheduler per clústers Linux grans i petits. What is Slurm?
  • 28.
    Slurm és: ✓ Decodi obert ✓ Tolerant a fallides ✓ Altament escalable ✓ D'ús generalitzat en aquest tipus d'instal·lacions Sistema de gestió del clúster i job scheduler per clústers Linux grans i petits. What is Slurm?
  • 29.
    Cluster: Col·leció de servidors individuals(nodes) interconnectats per una xarxa d'alta velocitat. x50 Slurm: gestió de recursos Nodes de login Nodes de còmput Sistema d'storage d'alt rendiment ssh –p 2122 <user>@pirineus3.csuc.cat Nodes: Servidors individuals que formen part d'un sistema de còmput d'altes prestacions. sbatch squeue sinfo sacct
  • 30.
    Slurm: gestió derecursos x50 x2 AMD Genoa EPYCTM 9654 192 cores 2,4 GHz 384 GB 2 GB/core DDR5 4800 MHz x29 x2 AMD Genoa EPYCTM 9334 64 cores 2,7 GHz 384 GB 6 GB/core DDR5 4800 MHz x2 NVIDIA H100 PCIe 80 GB/GPGPU x2 AMD Genoa EPYCTM 9654 192 cores 2,4 GHz 3 TB 16 GB/core DDR5 4800 MHz x8 Partition: Grup lògic de nodes amb especificacions comunes.
  • 31.
    Slurm: gestió derecursos GPGPUS Memory Cores Job: Assignació de recursos per un usuari durant un període de temps especificat.
  • 32.
    GPGPUS Memory Cores Slurm: gestió derecursos Job: Assignació de recursos per un usuari durant un període de temps especificat. Pel meu càlcul necessito 5 cores, 9 GB i 1 GPU
  • 33.
    Slurm: Job Scheduling 1 23 4 5 Temps Recursos Temps Recursos FIFO Scheduling Backfill Scheduling Scheduling: Procés que determina el següent job que s'executarà i amb quins recursos
  • 34.
    Slurm: Job Scheduling Laprioritat d'un job determina l'ordre en que els jobs s'executen amb els recursos disponibles. Els jobs amb alta prioritat és més probable que s'executin abans que jobs amb valors més baixos de prioritat, depenent de la disponibilitat de recursos. 6 QoS Account: • Normal • Low RES: • class_a • class_b • class_c
  • 35.
    La prioritat d'unjob determina l'ordre en que els jobs s'executen amb els recursos disponibles. Els jobs amb alta prioritat és més probable que s'executin abans que jobs amb valors més baixos de prioritat, depenent de la disponibilitat de recursos. Slurm: Job Scheduling 6 QoS Fairshare • Consum. • Recursos sol·licitats.
  • 36.
    La prioritat d'unjob determina l'ordre en que els jobs s'executen amb els recursos disponibles. Els jobs amb alta prioritat és més probable que s'executin abans que jobs amb valors més baixos de prioritat, depenent de la disponibilitat de recursos. Slurm: Job Scheduling 6 QoS Fairshare Age • Màxim 7 dies. • No vàlid per jobs amb dependències!
  • 37.
    La prioritat d'unjob determina l'ordre en que els jobs s'executen amb els recursos disponibles. Els jobs amb alta prioritat és més probable que s'executin abans que jobs amb valors més baixos de prioritat, depenent de la disponibilitat de recursos. Slurm: Job Scheduling 6 QoS Fairshare Age Job size • Els jobs més grans tenen més prioritat (grans en recursos NO en temps).
  • 38.
    La prioritat d'unjob determina l'ordre en que els jobs s'executen amb els recursos disponibles. Els jobs amb alta prioritat és més probable que s'executin abans que jobs amb valors més baixos de prioritat, depenent de la disponibilitat de recursos. Slurm: Job Scheduling 6 QoS Fairshare Age Job size • Nice factor (Integer ranging from -2147483645 to +2147483645).
  • 39.
    Slurm: Job Scheduling Timelimit: Temps màxim que un job pot estar en execució (determinat per l'usuari). Elapsed time: Temps durant el qual un job està en execució des que arrenca fins que finalitza Elapsed time Time limit Time Resources 6
  • 40.
    Slurm: Job Scheduling Time Resources Timelimit: Temps màxim que un job pot estar en execució (determinat per l'usuari). 6 Elapsed time: Temps durant el qual un job està en execució des que arrenca fins que finalitza. Elapsed time Time limit
  • 41.
    Slurm: Job Scheduling Time Resources Timelimit: Temps màxim que un job pot estar en execució (determinat per l'usuari). 6 Elapsed time: Temps durant el qual un job està en execució des que arrenca fins que finalitza. Elapsed time Time limit Backfilled!
  • 42.
    Sumari 1. Accés alservei 2. Entorn de treball de l'usuari 3. Gestor de cues 4. Torn de preguntes