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.
Il contenuto di esempio.sh:
#!/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.