Farm per il calcolo general purpose
Il Servizio Calcolo mantiene una farm per il calcolo scientifico seriale, basata su architettura x86_64/Linux che raggruppa le risorse centrali e di diversi gruppi di ricerca. La farm e' gestita tramite il batch system open source SLURM. L'accesso diretto ai nodi della farm di norma non è consentito, eventuali esigenze particolari vanno discusse con il Servizio Calcolo e Reti. Per utilizzare la farm e' necessario accedere ai nodi di front-end via ssh.
Nodo di front-end
E' disponibile un nodo di front-end Il nodo di front end non devono essere utilizzati per l'esecuzione interattiva di job, se non per run molto brevi a scopo di test.
Per questioni di sicurezza solo il nodo farmuiel9.ge.infn.it e' raggiungibile da internet. Altri nodi all'interno della rete di sezione possono essere contattati via SSH.
Attualmente il front-end disponibile è:
- farmuiel9.ge.infn.it per architettura Rocky9/Alma9/RHEL9
Nodi di calcolo
La farm e' attualmente costituita da soli nodi Rocky9 (compatibili RHEL9)
I nodi di calcolo sono suddivisi per gruppo sperimentale di proprietà, ma la configurazione utilizza un meccanismo di sharing delle risorse che permette agli utenti di utilizzare le risorse di altri gruppi sperimentali in caso si necessità e di disponibilita' di slot libere.
Storage
Ciascun nodo dispone di un'area locale accessibile in /scratch. Tale area non è visibile da altri nodi.
Tutti i nodi della farm, compresi i front end, hanno visibilita' delle seguenti aree dati condivise:
- home directory: /home/<username>
- disco general purpose: /farmdisk1
- aree dati di gruppo: /project/<gruppo>/...
l'accesso a queste aree e' limitato solo agli utenti afferenti al gruppo
Le home directory hanno un controllo di quota che per default è limitato ad 20 GB per utente e sono sotto backup giornaliero
Le aree dati di farm e di gruppo non hanno quota abilitata e non hanno backup
Si invitano gli utenti a non utilizzare le home directory per contenere dati o pacchetti software.
Software disponibile
Il software di sistema (compilatori, linguaggi interpretati, librerie, ecc..) presente sul frontend e' anche disponibile sui nodi di calcolo. Chi avesse esigenza di prodotti non inclusi puo' rivolgersi al Servizio Calcolo e Reti inviando un email all'indirizzo ge-support@infn.it
CVMFS
Nella directory /cvmfs di ogni nodo del cluster e del frontend è disponibile il software messo a disposizione da CERN e da IN2P3 (per Euclid) via CVMFS. Per visualizzare il contenuto della directory nel caso risultasse non visibile eseguire il comando:
- /usr/local/bin/cvmfs_check.sh
Mathematica
Tutti i nodi della farm dispongono di una installazione di mathematica, che puo' essere utlizzato via batch.
La sezione dispone di un numero pressoche' illimitato di licenze, condivise tra interattivo e batch.
Non serve un setup particolare per l'utilizzo di mathematica, se non la presenza di /usr/local/bin nel PATH.
Configurazione delle code
Sulla farm sono definite le seguenti code:
- coda medium:
accesso: tutti gli utenti
CPU limit: CPU time max 4 ore
nodi accessibili: tutti - coda long:
accesso: tutti gli utenti
CPU limit: CPU time max 48 ore
nodi accessibili - code di gruppo (atlas,g1,g2,geant4,jlab,teo):
accesso: limitato agli utenti appartenenti al gruppo sperimentale
limiti: nessuno
nodi accessibili: i soli nodi di proprietà del gruppo sperimentale
Sottomissione di job
La sottomissione di un job si effettua tramite il comando sbatch.
E' obbligatorio sottomettere uno shell script che inizializzi l'environment e faccia partire l'eseguibile.
- 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 sleep 100 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).
Condivisione delle risorse
La configurazione del batch system è fatta in modo da permettere agli utenti di accedere a risorse non proprietarie quando queste siano libere.
Documentazione
Per aprofondire la modalita' di utilizzo di SLURM:
Calcolo parallelo: farm HPC
Il Servizio Calcolo gestisce una farm di calcolo parallelo con tecnologia MPI/Infiniband, di proprieta' del gruppo Nanobiocomp del DIFI:
Calcolo distribuito: GRID
CPU e accesso alle risorse
La sezione di Genova è Tier3 di Atlas, e sito di Grid (INFN-GE), e mantiene un certo numero di macchine per la VO di ATLAS. Sono attive 2 macchine per il frontend (atlasui04 e atlasui05) e sono mantenuti i server di sito, CE, SE, bdii, squid e apel.
Il gruppo Atlas ha accesso ai frontend e può sottomettere i job sia localmente, tramite i comandi SLURM, che attraverso la GRID.