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

CRESCO: Descrizione del Cluster CRESCO4 di Casaccia


SOMMARIO:

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

1. Caratteristiche del cluster

Il cluster CRESCO4 di Casaccia è un sistema di calcolo costituito da 32 nodi. Ogni nodo ha: Si hanno quindi a disposizione 512 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 CRESCO4C è riconducibile al seguente schema:

Cresco project site

[sommario]


2. Nodi di front-end

L'utilizzo del cluster avviene facendo il login sul nodo di front-end. Il nodo di front-end serve 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 CRESCO4C si ha a disposizione il front-end:

[sommario]


3. Accesso

Per accedere al sistema tramite "SSH" è sufficiente collegarsi direttamente al nodo di front-end indicato 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 CRESCO4.

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 CRESCO4C sono:
Il file system GPFS disponibile sui nodi di CRESCO4C è:

[sommario]




5. Compilatori

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

[sommario]



6. Uso di Modules.

Sul cluster CRESCO4 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.



Per listare l'elenco delle flavour MPI 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.

Le flavour MPI presenti, distinte per compilatore, sono elencate nella seguente tabella:


GNU (version 4.8.5/7.3.0) Intel (version 17.0.4) PGI (version 19.7-0)
OpenMPI openmpi_gcc-4.0.5 openmpi_intel-4.0.5 openmpi_pgi-4.0.5
Intel MPI Nessuna Flavour IntelMPI Nessuna Flavour

[sommario]


8. Come sottomettere un job

Per la sottomissione di batch job sul cluster CRESCO4C valgono le regole generali indicate al paragrafo Batch Job/LSF.
È 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 CRESCO4C:

cresco4c_h144 - Coda per job seriali e paralleli che richiedono al massimo 32 core. Tempo massimo di RUNNING 144 ore, aperta a tutti;

cresco4c_16h24 - Coda per job paralleli con numero_core ≥ 16, 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 4.0.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 plm_rsh_agent "blaunch.sh" -n $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 cresco4c_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: 15/03/2013|e-mail: Agostino Funel - Guido Guarnieri - Carlo Scio

Cookies Policy