HPC Farm - Dipartimento di Fisica Universita' di Genova
Il Servizio Calcolo mantiene una farm per il calcolo scientifico HPC
su architettura linux che raggruppa le risorse del gruppo
Nanobiocomp del Dipartimento di Fisica dell'Universita' di Genova.Risorse hardware
CPU
La farm e' attualmente costituita da due cluster HPC:Nuovo cluster Sunshine
Il cluster contiene 8 host
biprocessori AMD EPYC 7443 e 7453, per un totale di 416 core fisici,
con i nterconnessione InfiniBand 200Gb/s.I sistemi sono gestiti dal sistema operativo linux a 64 bit, distribuzione Rocky Linux
Vecchio cluster Hpcbiomnp
il cluster contuene 21 nodi biprocessori Intel Xeon per un
totale di 552 core fisici con i nterconnessione InfiniBand QDR a
56 Gb/s.
I sistemi sono gestiti dal sistema operativo linux a 64 bit,
distribuzione Rocky Linux.
Storage
Ciascun host dispone di un'area locale di almeno 400 GB, accessibile in /scratch. Tale area non e' visibile da altri host.Tutti gli host della farm hanno visibilita' delle home directory (/home/<username&g t;), e dell'area di gruppo (/project/infm/...), quest'ultima della dimensione di 4TB e accessibile solo agli utenti afferenti al gruppo dipfis.
Le home directory hanno un controllo di quota che per default e' limitato ad 20 GB per utente.
Le aree dati di gruppo non hanno quota abilitata.
Risorse Software
- sistema operativo: Rocky Linux 9
- compilatore: GCC 11.5.0
- MPI: OpenMPI 4.1.1, MVAPICH2 2-2.3.7
Configurazione delle code
Per i cluster sono definite le seguenti code:
- coda dipfis per Sunshine:
accesso: tutti gli utenti del gruppo dipfis
limiti: nessuno
nodi accessibili: nodi hpcbiomnp[23-30]
- coda dipfis-old per BioMNP
accesso: tutti gli utenti del gruppo dipfis
limiti: nessuno
nodi accessibili: nodi hpcbiomnp[2-22]
Accesso alla farm
E' disponibile un nodo di front-end. I nodi di front end non devono essere utilizzati per l'esecuzione interattiva di job, se non per run molto brevi a scopo di test.
Si accede al frontend via ssh su farmuiel9.ge.infn.it.
Sottomissione di job
La sottomissione di un job si effettua tramite il comando sbatch. Si consiglia di caricare le variabili di ambiente necessarie per l'utilizzo di MPI direttamente nel file .bashrc, aggiungendo la riga:
module load mpi/openmpi-x86_64
oppure
module load mpi/mvapich2-x86_64
E' obbligatorio sottomettere uno shell script che inizializzi l'environment e faccia partire l'eseguibile mpirun-dipfis che non e' altro che un alias al comando
mpirun -mca pml ucx -mca btl '^openib,uct,ofi' -mca mtl '^ofi'
- esempio: sottomissione di uno script sulla coda long
# sbatch ./esempio.sh
In assenza di indicazione della coda, la coda utilizzata e' la medium.
#!/bin/bash #SBATCH -o /home/corosu/esempio.out #SBATCH -e /home/corosu/esempio.err #SBATCH -p long source ~/.bashrc
mpirun-dipfis /path/to/exe echo finito
Controllo dei job e del batch system
Per visualizzare lo stato di LSF, degli host, delle code e dei job esistono opportuni comandi disponibili su tutti i nodi della farm:
- visualizzazione dello stato dei job sottomessi: squeue -u userid e sacct jobid (quest'ultimo anche per visualizzare lo stato di job gia' terminati).
- eliminazione del job: scancel jobid
- stato delle code: sinfo [-p coda]
- stato degli host: sinfo -N --long [-p coda]
Per tutti i comandi citati e non, si rimanda alle pagine di manuale ed alla documentazione dettagliata (https://slurm.schedmd.com/documentation.html).
Mirko Corosu, 20 maggio 2025