HOME| CRESCO| Guide/tutorials| Contatti| F.A.Q.

CRESCO: Descrizione del Cluster CRESCO5 di Portici (dismesso in data 06/06/2019)

I nodi dismessi del cluster CRESCO5 sono stati riutilizzati nel sistema Cloud della divisione DTE-ICT


SOMMARIO:

  1. Caratteristiche del Cluster
  2. Nodi di front-end
  3. Accesso
  4. File System
  5. Compilatori e librerie numeriche
  6. Uso di Modules
  7. Flavour MPI presenti
  8. Come sottomettere un job

1. Caratteristiche del cluster

Il cluster CRESCO5 di Portici è un sistema di calcolo costituito da 40 nodi. Ogni nodo ha: Si hanno quindi a disposizione 640 core connessi tra loro da una rete a larga banda e bassa latenza basata su Infiniband 4xQDR a 40 Gb/s gestita da uno switch Qlogic 12800.

L'architettura di un nodo di CRESCO5 è riconducibile al seguente schema:

Cresco project site

[sommario]


2. Nodi di front-end

L'utilizzo del cluster avviene facendo il login su uno dei nodi di front-end. I nodi di front-end servono semplicemente per il lancio delle applicazioni tramite LSF, per editare i propri script di lancio o per le compilazioni. I nodi di calcolo sono raggiungibili solo tramite LSF. Per il cluster CRESCO5 si hanno a disposizione i front-end:

[sommario]


3. Accesso

Per accedere al sistema tramite "SSH" è sufficiente collegarsi direttamente ad uno dei nodi di front-end indicati in precedenza se il proprio PC è collegato alla LAN di uno dei Centri ENEA. Dall'esterno collegarsi invece ad uno dei nodi di front-end di ENEAGRID (meglio se uno di Portici) elencati QUI, e poi ai front-end di CRESCO5.

L'accesso ai front-end di ENEAGRID può avvenire anche via web dalla pagina di CRESCO (www.cresco.enea.it) mediante la interfaccia FARO/NX.

[sommario]


4. File system

I file system disponibili su CRESCO5 sono:
I file system GPFS disponibili sui nodi di CRESCO5 sono:

Il file system /gporq1_1M è stato configurato con una block size di 1 MB e dovrebbe essere usato per i file che hanno dimensione ≥ 1 MB ai fini di ottenere buone prestazioni di I/O.

Il file system /gporq1_256k è stato configurato con una block size di 256 KB e dovrebbe essere usato per i file che hanno dimensione ≤ 1 MB ai fini di ottenere buone prestazioni di I/O.


Gli utenti possono accedere a questi file system o utilizzando il PATH assoluto /gporq1_*/usr/userid, oppure dalla propria home AFS attraverso i link "porq1_*" presenti nella directory PFS.

Ciascun utente ha di default nella sua area /gporq1_*/usr/userid una quota di 200 GB.

I cluster CRESCO3 CRESCO4 e CRESCO5 fanno parte di un cluster GPFS che utilizza una interconnessione InfiniBand (IB) QDR 40 Gb/s. Il sistema CRESCO2 fa invece parte di un cluster GPFS basato su interconnessione IB DDR 20 Gb/s. Anche il sistema CRESCO di Frascati fa parte di un cluster GPFS basato su rete IB QDR 40 Gb/s. Tutti i cluster GPFS sono indipendenti, ma hanno una interfaccia di rete pubblica che ha consentito di configurarli in una struttura multicluster. Il multicluster GPFS si può implementare all'interno della stessa LAN, oppure può essere geografico su WAN. Il multicluster GPFS consente di esportare un file system definito localmente per i nodi di un sistema di calcolo, sui nodi del sistema di calcolo remoto.

È importante precisare che accedendo ad un file system remoto le prestazioni risultano decisamente inferiori (l'accesso remoto avviene ad una velocità pari ad un 1 Gb/s mentre l'accesso locale avviene a 32 Gb/s). Non è quindi conveniente utilizzare i file system remoti per eseguire applicazioni caratterizzate da accessi intensivi ai dati.



Sui nodi di CRESCO2 sono accessibili i seguenti file system remoti GPFS:



Sui nodi di CRESCO3/4/5 sono accessibili i seguenti file system remoti GPFS:


Sui nodi di CRESCO Frascati sono accessibili i seguenti file system remoti GPFS:


5. Compilatori e librerie numeriche

Nella tabella seguente sono riportati i compilatori e le librerie numeriche presenti su CRESCO5.


GNU (4.4.6) GNU
(4.8.2)
Intel (14.0.1) Intel (16.0.0) PGI (11.10-0)
PATH compilatori /usr/bin /opt/gcc482/bin /opt/intel/composer_xe_2013_sp1.1.106/bin/intel64 /opt/intel16/compilers_and_libraries_2016.0.109/linux/bin/intel64 /afs/enea.it/software/pgi_11.10/linux86-64/11.10/bin
PATH
Librerie numeriche
BLAS/LAPACK/ATLAS

/usr/lib

/usr/lib64

/usr/lib/atlas-sse*

/usr/lib64/atlas

/usr/lib64/atlas-sse*
BLAS/LAPACK/ATLAS

/usr/lib

/usr/lib64

/usr/lib/atlas-sse*

/usr/lib64/atlas

/usr/lib64/atlas-sse*
Intel MKL

/opt/intel/composer_xe_2013_sp1.1.106/mkl/lib/ia32

/opt/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64
Intel MKL

/opt/intel16/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64_lin
PGI per AMD/ACML e CUDA

/afs/enea.it/software/pgi_11.10/linux86-64/11.10/lib

/afs/enea.it/software/pgi_11.10/linux86-64/11.10/libso

6. Uso di Modules.

Sul cluster CRESCO5 l'inizializzazione dell'ambiente per il singolo utente viene effettuata grazie al software Modules. Per i dettagli sull'implementazione, sulle scelte fatte e sull'uso del software è possibile consultare la relativa documentazione.

In particolare, per impostare in maniera opportuna l'ambiente per la compilazione e la sottomissione di job paralleli non sarà disponibile il comando "mpi-selector" come sui restanti cluster di ENEAGRID, ma dovranno essere utilizzati i comandi messi a disposizione da Modules.

Per listare l'elenco delle flavour disponili si potrà utilizzare il comando: La flavour impostata di default per tutti gli utenti è: Se l'utente vuole scegliere una diversa flavour dovrà utilizzare il comando: Ad esempio se si vuole scegliere la libreria OpenMPI compilata con GCC si dovrà dare il comando: A questo punto l'ambiente risulta impostato coerentemente con la scelta della nuova flavour.

N.B. Per gli utenti che chiamano bash o ksh, affinché Modules riesca ad impostare correttamente l'ambiente, è necessario creare nella propria HOME AFS i file .bashrc o .kshrc (oppure modificarli se giá esistenti) inserendo in testa ad essi delle opportune righe di codice.

Per il file .bashrc:

if [ -f /usr/share/Modules/init/bash ]
then
. /usr/share/Modules/init/bash
fi


Per il file .kshrc:

if [ -f /usr/share/Modules/init/ksh ]
then
. /usr/share/Modules/init/ksh
fi


[sommario]


7. Flavour MPI presenti.

Sul cluster CRESCO5 di Portici è presente OFED alla versione: OFED-1.5.4.1. Le flavour MPI presenti, distinte per compilatore, sono elencate nella seguente tabella:


GNU (version 4.4.6/4.8.2) Intel (version 14.0.1) PGI (version 11.10-0)
Mvapich mvapich2_gcc_qlc-1.7 mvapich2_intel_qlc-1.7 mvapich2_pgi_qlc-1.7
OpenMPI openmpi_gcc-1.4.3
openmpi_gcc-1.6.5
openmpi_gcc482-1.4.3
openmpi_gcc482-1.6.5
openmpi_intel-1.4.3-qlc
openmpi_intel-1.6.5
openmpi_pgi-1.4.3-ql
openmpi_pgi-1.6.5
Intel MPI Nessuna Flavour impi-4.1.2 Nessuna Flavour

[sommario]


8. Come sottomettere un job

Per la sottomissione di batch job sul cluster CRESCO5 valgono le regole generali indicate al paragrafo Batch Job/LSF.
In prima istatnza il cluster viene aperto in maniera esclusiva per gli utenti dei software licenziati tipo Ansys/Fluent.

È utile però indicare quali sono le code di sottomissione per il cluster in questione e dare degli esempi di wrapper di sottomissione sia per OpenMPI che per Mvapich.

Code definite su CRESCO5:

CRESCO5_h144 - Coda per job seriali e paralleli che richiedono al massimo 32 core. Tempo massimo di RUNNING 144 ore

CRESCO5_16h24 - Coda per job paralleli con numero_core ≥ 17, granularità 16 core, tempo massimo di RUNNING 24 ore.

Su entrambe le code è definito il "fairshare" che abbassa la priorità ai job degli utenti che hanno già utilizzato intensamente il sistema.

Di seguito vengono riportati degli esempi di script di sottomissione i primi due per OpenMPI, il terzo per Mvapich ed il quarto per Intel MPI.

• OpenMPI 1.4.3 (GCC, Intel, PGI)

#!/bin/sh

exe=/afs/enea.it/por/user/raia/Hello_MPI    # path of your MPI program
HOSTFILE=$LSB_DJOB_HOSTFILE     # name of hostfile for mpirun

N_procs=`cat $LSB_DJOB_HOSTFILE | wc -l`     # give to mpirun same number of slots

mpirun --mca plm_rsh_agent "blaunch.sh" -n $N_procs --hostfile $HOSTFILE $exe

• OpenMPI 1.6.5 (GCC, Intel, PGI)

#!/bin/sh

exe=/afs/enea.it/por/user/raia/Hello_MPI    # path of your MPI program
HOSTFILE=$LSB_DJOB_HOSTFILE     # name of hostfile for mpirun

N_procs=`cat $LSB_DJOB_HOSTFILE | wc -l`     # give to mpirun same number of slots

mpirun --mca orte_rsh_agent "blaunch.sh" -n $N_procs --hostfile $HOSTFILE $exe

• Mvapich2 (GCC, Intel, PGI)

#!/bin/sh

exe=/afs/enea.it/por/user/raia/Hello_MPI    # path of your MPI program
HOSTFILE=$LSB_DJOB_HOSTFILE     # name of hostfile for mpirun

N_procs=`cat $LSB_DJOB_HOSTFILE | wc -l`     # give to mpirun same number of slots

mpirun_rsh -rsh -np $N_procs -hostfile $HOSTFILE $exe

• Intel MPI 4.1.2

#!/bin/sh

exe=/afs/enea.it/por/user/raia/Hello_MPI    # path of your MPI program
HOSTFILE=$LSB_DJOB_HOSTFILE     # name of hostfile for mpirun

N_procs=`cat $LSB_DJOB_HOSTFILE | wc -l`     # give to mpirun same number of slots

mpirun -bootstrap rsh -n $N_procs -machinefile $HOSTFILE $exe

Esempi di sottomissione:


Precisiamo che sulla coda CRESCO5_16h24, affinché il job sia accettato, è necessario che i core richiesti dal job siano un multiplo di 16 (numero di core di ogni singolo nodo di calcolo).



[sommario]


ultimo aggiornamento: 3/11/2015|e-mail: Guido Guarnieri

Cookies Policy