Indice

Progetto HPC - Calcolo Scientifico dell'Università e dell'INFN di Parma -
Guida per l'utente

Accesso

Per poter accedere alle risorse occorre essere inseriti nel DataBase LDAP del servizio HPC. Le richieste di accesso o in generale di assistenza vanno inviate a es_calcolo@unipr.it

Una volta abilitati l'accesso avviene via SSH sull'host di login (login.hpc.unipr.it oppure login.pr.infn.it) utilizzando come username <nome.cognome>.

L'accesso con password è consentito solo all'interno della rete di Ateneo e della rete del Gruppo Collegato INFN di Parma. Al di fuori di questo contesto è necessario utilizzare la VPN di Ateneo oppure l'accesso con chiave pubblica.

Accesso dall'esterno con chiave pubblica

Occorre generare la coppia di chiavi con il client SSH. La chiave privata dovrebbe essere protetta da una passphrase adeguata (non è obbligatorio ma è fortemente consigliato). La chiave pubblica deve essere inserita tra le vostre chiavi autorizzate (.ssh/authorized_keys) sull'host di login.

Come configurare i client Linux, MacOS X, PuTTY , Windows SSH Secure Shell (da https://kb.iu.edu)

Accesso passwordless tra i nodi

Eliminare la necessità di utilizzare la password tra i nodi, utilizzando l'autenticazione a chiave pubblica. Occorre generare su login.hpc.unipr.it la coppia di chiavi, senza passphrase, e aggiungere la chiave pubblica nel file di autorizzazione (authorized_keys):

ssh-keygen -t rsa
cd ~/.ssh
cat id_rsa.pub >> authorized_keys

Nodi di calcolo

L'attuale cluster e' composto dai nuovi nodi di calcolo e dai nodi del preesistente cluster di Fisica / INFN.

Nuovi Nodi di calcolo (Aprile 2017):

Interconnessione con Intel OmniPath (100 Gb/s).

Dettiglio dei Nodi di calcolo nuovi e del cluster di Fisica / INFN: Elenco - Utilizzo (intranet)

Software

Il sistema operativo per tutte le tipologie di nodi e' CentOS 7.X.

Ambiente Software (librerie, compilatori e tools): Elenco

Storage

Il nodo di login e i nodi di calcolo condividono le seguenti aree di storage:

Mount Point Env. Var. Backup Quota Nota Supporto
/hpc/home $HOME si 50 GB Programmi e dati NAS3
/hpc/scratch $SCRATCH no 1TB?, max 4? settimane Dati run-time NAS (1)
/hpc/archive $ARCHIVE no 100? GB Archivio NAS/tape/cloud (2)
/hpc/node/wnXX no max 10? giorni wnXX:/node Dischi locali
/hpc/software Software applicativo NAS3
/hpc/database DB genomica e altro NAS3
(1) Scratch: passaggio  da NAS a SAN previsto per  3Q-2017
(2) Archive : attivato nel 2018

Area privata

Sottomissione dei job

Le code sono gestite con PBSpro . I job vengono sottomessi sulla coda di routing e smistati automaticamente su una coda di esecuzione in base alle risorse richieste.

Dettaglio code batch

Comandi utili

Visualizza la stato delle singole code:

qstat -Q

Elenco dei nodi e loro stato:

pbsnodes -av

Per la sottomissione di un job:

qsub  <opzioni> -I        # modalita' Interattiva
qsub  <opzioni> script.sh # modalita' Batch

Visualizza i job in coda:

qstat

Opzioni principali

-q <nome coda>

Questa opzione seleziona la coda da utilizzare. Su nostro cluster non e' necessaria poiche' la coda di default (route) seleziona automaticamente la coda di esecuzione in base alle risorse selezionate.

-l <selezione risorse>

E' l'opzione piu' importante poiche' permette di indicare le risorse richieste:

Il cluster di default e' std (standard) che' sul cluster nuovo (E4a) puo' essere bdw o fat, mentre sul cluster INFN puo' essere nhl o wmr.

Esempi di selezione delle risorse:

  -l  select=2:ncpus=2:cluster=knl 

-l walltime=<HH:MM:SS>

Tempo massimo di esecuzione del job. Questo dato seleziona la coda da utilizzare. Default: 24:00:00

Esempio:

  -l walltime=00:30:00  

-W group_list=<nome-gruppo> consente di eseguire il job utilizzando il gruppo secondario specificato. Questo e' utile per l'accounting.

-j oe

redirige lo standard error sullo standard output.

-M <email>

L'opzione -M permette di indicare uno o più indirizzi e-mail, separati da virgola, che riceveranno le notifiche del gestore di code.

-m <opt>

L'opzione -m permette di indicare gli eventi che generano l'invio della notifica:

Esempio:

   -m abe 

Job interattivi

Per verificare l'elenco delle risorse assegnate si puo' utilizzare la sottomissione interattiva con opzione -I. Una volta entrati in modo interattivo il comando cat $PBS_NODEFILE visualizza l'elenco delle risorse assegnate.

qsub -I -l <regola di selezione>
cat $PBS_NODEFILE
exit

Esempi:

# seleziona 2 chunk con 2 cpu su nodi broadwell ciascuno.
qsub -I -l  select=2:ncpus=2:mpiprocs=2:cluster=bdw                    # i chunk possono stare sullo stesso nodo
qsub -I -l  select=2:ncpus=2:mpiprocs=2:cluster=bdw,place=scatter:excl # i chunk devono stare su nodi diversi
qsub -I -l  select=2:ncpus=2:mpiprocs=2                                # il cluster di dafault e' STD (BDW)
#  Un chunk da 1 cpu sul nodo wn51 e un chunk sul nodo wn52
qsub -I -l  select=1:ncpus=1:mpiprocs=1:host=wn51:cluster=knl+1:ncpus=1:mpiprocs=1:host=wn52:cluster=knl
# Due chunk ciascuno con 2  GPU su nodi diversi
qsub -I -l  select=2:ngpus=2:cluster=gpu,place=scatter:excl

Batch job

Occorre creare uno shell script che include le opzioni PBS e i comandi che devono essere eseguiti sui nodi.

per sottomettere il job:

 qsub scriptname.sh

Ad ogni job viene assegnato un identificativo numerico univoco <Job Id>.

Al termine dell'esecuzione verranno creati i due file contenenti stdout e stderr nella directory da cui e' stato sottomesso il job.

Per default i due file prendono il nome dello script con una estensione aggiuntiva:

 Stdout: <script.sh>.o<job id> 
 Stderr: <script.sh>.e<job id>