Indice
Calcolo: cluster per il calcolo numerico intensivo del Dipartimento di Fisica
Il servizio di calcolo numerico intensivo del Dipartimento di Fisica è affidato ad un cluster di macchine biprocessore. Il cluster ha come punto di accesso le macchine grid-ui.fis.unipr.it e emi-ui.pr.infn.it.
Architettura
Hardware
nome | CPU | modello | RAM (GB) | SisOP | Note | |||
---|---|---|---|---|---|---|---|---|
emi-ui | 1 | Macchina virtuale Vmware | 2 | SL6 | User Interface | |||
grid-ui | 2 | Macchina virtuale Vmware | 1 | SL5 | User Interface | |||
emi-ce | 1 | Macchina virtuale Vmware | 1 | SL5 | Job manager | |||
Calcolo Seriale | ||||||||
c64-wn01 | 2 | AMD Opteron 248 2.20 GHz | 3 | down | ||||
c64-wn02 | 2 | AMD Opteron 248 2.20 GHz | 3 | down | ||||
c64-wn03 | 2 | AMD Opteron 248 2.20 GHz | 3 | down | ||||
c64-wn04 | 2 | AMD Opteron 248 2.20 GHz | 3 | down | ||||
c64-wn05 | 4 | AMD Opteron 2212 2.00 GHz | 4 | SL5 | x86_64 matlab | |||
c64-wn06 | 8 | Intel Xeon E5335 2.00 GHz | 8 | SL5 | x86_64 matlab | |||
c64-wn07 | 8 | Intel Xeon E5335 2.00 GHz | 8 | SL5 | x86_64 matlab | |||
c64-wn08 | 6 | Intel Xeon E5650 2.80 GHz | 12 | SL5 | x86_64 matlab | |||
c64-wn09 | 12 | Intel Xeon E5650 2.80 GHz | 24 | SL5 | x86_64 matlab | |||
Calcolo parallelo | ||||||||
grid-wn81 | 8 (+HT) | Intel Xeon E5520 2.27 GHz | 12 | SL 6 | GRID | |||
grid-wn82 | 8 (+HT) | Intel Xeon E5520 2.27 GHz | 12 | SL 6 | GRID | |||
grid-wn83 | 8 (+HT) | Intel Xeon E5520 2.27 GHz | 12 | SL 6 | GRID | |||
grid-wn84 | 8 (+HT) | Intel Xeon E5520 2.27 GHz | 12 | SL 6 | GRID | |||
grid-wn85 | 8 (+HT) | Intel Xeon E5520 2.27 GHz | 12 | SL 6 | INFN | |||
grid-wn86 | 8 (+HT) | Intel Xeon E5520 2.27 GHz | 12 | SL 6 | INFN | |||
grid-wn87 | 8 (+HT) | Intel Xeon E5520 2.27 GHz | 12 | SL 6 | INFN | |||
grid-wn88 | 8 (+HT) | Intel Xeon E5530 2.40 GHz | 12 | SL 6 | INFN (Proliant HP, ex Alba) |
Software
Benchmark
OpenMosix
Un software specifico, OpenMosix, si preoccupa di suddividere ed ottimizzare il carico di lavoro su tutti in nodi con architettura 32 bit.
Monitor dell'attività del cluster
Ganglia 3.0.2 Report grafico
Programmi di calcolo
Matlab R14 (Service Pack 3)
Mathematica 5.2 Licenze in uso
Compilatori GNU C/C++/Fortran (versione 3.2.2)
gcc
g++
g77
Compilatori GNU C/C++/Fortran (versione 4.1.0)
i686-unknown-linux-gnu-gcc
i686-unknown-linux-gnu-g++
i686-unknown-linux-gnu-g77
i686-unknown-linux-gnu-gfortran
Compilatori GNU C/C++/Fortran per creare programmi a 64 bit (versione 4.1.0)
x86_64-unknown-linux-gnu-gcc
x86_64-unknown-linux-gnu-g++
x86_64-unknown-linux-gnu-g77
x86_64-unknown-linux-gnu-gfortran
Compilatori Intel C/C++/Fortran (versione 9.0)
icc
ifort
Utilizzo del cluster
L'accesso è riservato allo staff del Dipartimento di Fisica ed agli studenti in tirocinio presso il Dipartimento di Fisica dopo esplicita richiesta al Laboratorio di Calcolo Avanzato.
Compilatori per creare programmi a 64 bit e code dedicate consentono un utilizzo non interattivo del nodo con architettura a 64 bit.
Statistiche utilizzo del cluster
Spazio disco
percorso | accessile da | quota | mirror | backup | |||
---|---|---|---|---|---|---|---|
/home/staff | calcolo | archimede | SI | SI | SI | ||
/work/staff | calcolo | archimede | NO | SI | NO | ||
/space/staff | calcolo | archimede | SI | SI | NO | ||
/home/studenti | c32-ui03 | c32-ui04 | SI | SI | SI | ||
/work/studenti | c32-ui03 | c32-ui04 | NO | SI | NO |
Nodi di calcolo
nodo | 32 bit | 64 bit | OpenMosix | limite job in run |
---|---|---|---|---|
c32-ce | SI | NO | SI | 10 |
c64-wn01 | SI | SI | NO | 2 |
c64-wn02 | SI | SI | NO | 2 |
c64-wn03 | SI | SI | NO | 2 |
c64-wn04 | SI | SI | NO | 2 |
c64-wn05 | SI | SI | NO | 4 |
c64-wn06 | SI | SI | NO | 8 |
c64-wn07 | SI | SI | NO | 8 |
Code
Sul cluster è attivo un server PBS (Portable Batch System) che gestisce la sottomissione dei job. L'utente ha a disposizione sette code con differenti caratteristiche. La coda fast è indicata per job che richiedono la massima velocità di esecuzione. Solo alcuni utenti sono autorizzati ad utilizzarla. La coda long è la coda più adatta ai job di lunga durata. È la coda di default attiva sul server PBS. La coda didattica è riservata agli studenti. La coda matlab consente di lanciare script o comandi Matlab. La coda long64 è indicata per job a 64 bit. La coda fast64 è indicata per job a 64 bit. Solo alcuni utenti sono autorizzati ad utilizzarla. La coda stat64 è indicata per job a 64 bit. Solo alcuni utenti sono autorizzati ad utilizzarla.
coda | nodi | limite job in run | limite job in run per utente | riservata | |
---|---|---|---|---|---|
fast | c32-ce | 2 | 2 | SI | |
long | c32-ce | 10 | 4 | NO | |
didattica | c32-ce | 6 | 6 | SI | |
matlab | c32-ce | c64-wn[01-07] | 2 | 1 | NO |
long64 | c64-wn[01-07] | 28 | 4 | NO | |
fast64 | c64-wn[01-07] | 12 | 12 | SI | |
stat64 | c64-wn[01-07] | 16 | 16 | SI |
Restrizioni globali
massimo numero job in run per utente |
---|
20 |
Sottomissione dei job con creazione automatica dello script PBS
Il comando lca-job-submit
permette la sottomissione di job sulle code sgravando l'utente dalla necessita di creare uno script PBS per ogni job.
Per informazioni aggiornate su lca-job-submit
:
lca-job-submit --help
Per conoscere la versione di lca-job-submit
:
lca-job-submit --version
Per sottomettere un programma a 32 bit:
lca-job-submit job lca-job-submit --queue=long job
Nei due casi il risultato è lo stesso perché è la long
la coda di default.
Per sottomettere un programma a 32 bit che accetta opzioni ed argomenti:
lca-job-submit job --size=100x100 job.conf
Per sottomettere un programma a 64 bit:
lca-job-submit --queue=long64 job
Per sottomettere un programma a 64 bit ottimizzato per processori AMD Opteron:
lca-job-submit --queue=long64 --nodes=1:opteron job
Per sottomettere un programma a 64 bit ottimizzato per processori Intel Core 2:
lca-job-submit --queue=long64 --nodes=1:core2 job
Per sottomettere un programma a 64 bit ottimizzato per processori westmere:
lca-job-submit --queue=long64 --nodes=1:westmere job
Per sottomettere uno script Matlab:
lca-job-submit --queue=matlab job
All'avvio del job, alla conclusione o all'interruzione del job, PBS invia all'utente una e-mail di notifica.
Attenzione! Non spostare o cancellare il programma mandato in coda prima dell'avvio del job.
Un programma a 32 bit, lanciato con lca-job-submit
sulla coda long64, verrà eseguito correttamente.
Un programma a 64 bit, lanciato con lca-job-submit
sulle code fast e long, verrà automaticamente sottomesso sulla coda long64.
Esempio di sottomissione del programma hostname
:
[fabio.spataro@calcolo ~]$ lca-job-submit hostname lca-job-submit: PBS JOB 21.c32-ce.fis.unipr.it lca-job-submit: PBS script written to ~/.lca/pbs/21.c32-ce.sh
Al termine del programma, lo standard error verrà scritto in hostname.e21
, lo standard output in hostname.o21
. I due file verranno creati nella directory corrente al momento del lancio di lca-job-submit
.
Creazione automatica dello script PBS senza sottomissione del job
Esempio:
[fabio.spataro@calcolo ~]$ lca-job-submit --queue=long64 --dry-run hostname lca-job-submit: PBS JOB not submitted lca-job-submit: PBS script written to ~/.lca/pbs/hostname
Sottomissione di uno script PBS
Esempio:
qsub hostname
Consultare la pagina man di qsub
per informazioni sul formato dello script PBS.
All'avvio del job, alla conclusione o all'interruzione del job, PBS invia all'utente una e-mail di notifica.
Al termine del programma, lo standard error verrà scritto in hostname.e21
, lo standard output in hostname.o21
. I due file verranno creati nella directory corrente al momento del lancio di qsub
.
Un programma a 32 bit, lanciato sulla coda long64 dallo script PBS, verrà eseguito correttamente.
Un programma a 64 bit, lanciato sulle code fast e long dallo script PBS, non verrà eseguito e terminerà con errore.
Controllo dello stato delle code e dei job
Esempi:
qstat qstat -f 21 qstat -u $USER qstat -u $USER -n qstat -Q
Consultare la pagina man di qstat
per ulteriori informazioni.
Cancellazione di un job
Esempio:
qdel 21
Consultare la pagina man di qdel
per ulteriori informazioni.
Scambio dell'ordine d'esecuzione di due job in coda
Esempio:
qorder 21 22
Consultare la pagina man di qorder
per ulteriori informazioni.
Spostamento di un job da una coda all'altra
Esempio:
qmove long 21
Consultare la pagina man di qmove
per ulteriori informazioni.
Crystal
Per l'utilizzo del software crystal e' necessario collegarsi in SSH su emi-ui.pr.infn.it
Per eseguire la sottomissione di job paralleli deve essere utilizzata la coda parallel