Cluster virtuale

Specifiche del sistema di calcolo ad alte prestazioni

Il cluster di Ateneo è un insieme di elaboratori e software ad alte prestazioni per l'esecuzione di calcoli scientifici a fini di ricerca particolarmente impegnativi in termini di potenza e archiviazione di dati.
Il cluster virtuale conta complessivamente 23 nodi, di cui uno di front-end, con le seguenti caratteristiche:

Nodo 1 (front-end)
  • 8 core AMD EPYC 7413 @2.65GHz
  • 32 GB di RAM
  • 300 GB di storage locale
  • 30 TB di storage su NAS per le home
  • sistema operativo Ubuntu 24.04 LTS
Nodi 2-3
  • 20 core CPU Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
  • 200 GB di RAM
  • 300 GB di storage locale
  • 30 TB di storage su NAS per le home
  • sistema operativo Ubuntu 24.04 LTS
Nodi 4-21 e 24
  • 20 core AMD EPYC 7413 @2.65GHz
  • 200 GB di RAM
  • 300 GB di storage locale
  • 30 TB di storage su NAS per le home
  • sistema operativo Ubuntu 24.04 LTS
Nodo 22
  • 20 core CPU Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz
  • 400 GB di RAM
  • 300 GB di storage locale
  • 30 TB di storage su NAS per le home
  • sistema operativo Ubuntu 24.04 LTS
Nodo 23
  • 20 core CPU Intel(R) Xeon(R) 6760P CPU @ 2.20GHz
  • 200 GB di RAM
  • 300 GB di storage locale
  • 30 TB di storage su NAS per le home
  • sistema operativo Ubuntu 24.04 LTS

Inoltre sono presenti alcune GPU collegate a nodi specifici:

  • 2 NVIDIA Tesla sul nodo 2 
  • 1 NVIDIA A40 sul nodo 3
  • 3 NVIDIA A40 sul nodo 24

Nel cluster sono presenti, tra gli altri, i seguenti software e tool: Matlab, Stata, R, Gromacs 2024, Python, NVIDIA CUDA Toolkit e altri tool standard già presenti nel SO.

Il run time di ogni job eseguito deve avere la durata massima di 24 ore, in modo da favorire l’accesso alle risorse da parte di tutti i progetti attivi. Per job che richiedano necessariamente più tempo di esecuzione è prevista anche una coda specifica con durata massima di 10 giorni.
Il job va schedulato tramite Slurm [ENG]; fanno eccezione i task Matlab e Stata, che girano su software non gestibili dal job manager.
Per attività di test e debug dei task, su Slurm è presente una coda dedicata con durata limitata a 1 ora.

Richiesta di accesso al cluster e abilitazione alla VPN “Ricerca”

Per utilizzare il cluster vHPC secondo quanto previsto dalle linee guida per il supporto informatico alla ricerca, è necessario inviare un ticket ad ASIT nella categoria Assistenza e guasti > Supporto ricerca > Cluster di calcolo chiedendo anche l’abilitazione al profilo "Ricerca" della VPN di Ateneo (se non già attivato). Per sapere chi deve inviare il ticket e con quali informazioni, consulta la pagina www.unive.it/vpn.

Istruzioni d'uso

Accesso

  • Collegarsi via VPN
  • Scegliere il profilo "Ricerca"
  • Connettersi al nodo di frontend
  • Protocollo: SSH

    • user: il proprio account unive
    • password: la password del proprio account unive
    • server: vhpc01.vhpc.unive.it

    esempio: ssh user.name@vhpc01.vhpc.unive.it

  • Esecuzione dei job: solo con lo scheduler Slurm [ENG].

Storage

Ci sono due aree di storage utilizzabili: una nella propria home, che non deve superare i 2TB, e un’altra in un'area di scratch che non viene sottoposta a backup periodico (al path /scratch/${USER}_no_bkup). Per i dati non immediatamente necessari o per gli output parziali delle esecuzioni dei job, è buona prassi utilizzare l'area di scratch.

Scheduler

È essenziale utilizzare lo scheduler Slurm [ENG] per l'esecuzione dei job, consultando eventualmente l'archivio ufficiale di Slurm per una specifica versione (eseguendo il comando sinfo --version nel terminale, è possibile verificare quale versione di Slurm è attualmente attiva sul cluster).

#!/bin/bash
#SBATCH --job-name=job_name
#SBATCH --comment="job_comment"
#SBATCH --output=/home/user/job_folder/%x_%j.out
#SBATCH --error=/home/user/job_folder/%x_%j.err
#SBATCH --mail-user=user@domain,user2@domain
#SBATCH --mail-type=ALL
#SBATCH --time=24:00:00
#SBATCH --mem=16gb
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8

RUNPATH=/home/user/job_folder
cd $RUNPATH
source .venv/bin/activate
export PYTHONPATH=$PYTHONPATH:/home/user/job_folder
srun python -u run_script.py <options>

Code e partizioni

Il cluster ha 22 nodi di calcolo: il nodo di frontend (l'unico al quale ci si connette) e gli altri nodi sono organizzati in diverse partizioni. L'elenco delle partizioni attive sul cluster può essere visualizzato con il comando sinfo. La durata della coda longjob è di massimo 10 giorni, mentre la durata delle altre partizioni è di 24 ore: è quindi importante includere gli opportuni checkpoint all'interno del proprio codice, in modo da non perdere eventuali progressi intermedi.
Esempio per far sì che il proprio job riparta dopo le 24 ore [ENG].

GPU

Il cluster dispone di 3 GPU:

  • 2 NVIDIA Tesla connesse al nodo 2;
  • 1 NVIDIA A40 connessa al nodo 3;
  • 3 NVIDIA A40 connesse al nodo 24

Le GPU vanno attivate specificando la partizione Slurm che le utilizza (partizione "gpus") e indicando, opzionalmente, il numero di GPU che si intende utilizzare nello sbatch script. Per l'elenco delle GPU disponibili si faccia riferimento all'output del comando sinfo -o "%.12G %.14N" | grep -v null
per esempio
#SBATCH --partition=gpus
#SBATCH --gres=gpu:a40:1 (or #SBATCH --gres=gpu:tesla:2)

seguendo la documentazione di Slurm [ENG] e usando le apposite librerie per l'utilizzo delle GPU.

È disponibile una coda aggiuntiva con 3 GPU NVIDIA A40, per job di massimo 10 giorni. È possibile accedervi facendone richiesta tramite ticket ad ASIT nella categoria Assistenza e guasti > Supporto ricerca > Cluster di calcolo .

Manutenzione

Come indicato a pagina www.unive.it/supporto-ict-ricerca, ogni primo lunedì del mese verrà effettuata la manutenzione programmata mensile del cluster di calcolo. I nodi del cluster saranno posti in drain a partire dal mercoledì precedente, in modo da ridurre al minimo i job attivi e saranno riattivati a fine manutenzione. I job in esecuzione, se dotati degli opportuni checkpoint, saranno mantenuti.

Per ulteriori informazioni

Ulteriori informazioni vengono fornite nel messaggio di benvenuto quando si accede al nodo di frontend.
Per eventuali richieste di informazioni o problemi, inviare un ticket ad ASIT nella categoria Assistenza e guasti > Supporto ricerca > Cluster di calcolo (se ci si riferisce a un account da studente, il ticket dovrà essere inviato dal suo docente supervisore).