SISSA computing project 2012: HPC technical specification

SISSA computing project 2012: HPC technical specification
giugno 2012
A.Lanza, P. Calucci: SISSA – Trieste
S. Cozzini: CNR-IOM DEMOCRITOS – Trieste
A.Ciampa, S. Arezzini, E. Mazzoni: INFN – Pisa
1
INTRODUZIONE
Questo documento costituisce una indicazione per la discussione riguardo alle caratteristiche generali
relative al nuovo sistema HPC in via di acquisizione da parte di SISSA. Non si tratta in alcun modo di un
capitolato tecnico, che seguirà nei tempi e modi previsti in modo legale.
Il sistema di calcolo deve rispondere alle esigenze di una variegata comunità computazionale. Le
caratteristiche dei codici e delle modalità d’uso delle risorse HPC hanno definito le specifiche tecniche.
In Appendice 1 è riportata una descrizione sintetica del sistema.
In Appendice 2 è riportata una serie di codici di riferimento che possono costituire elemento di valutazione
in questa fase preliminare.
2
ARCHITETTURA GENERALE DELLA MACCHINA
L’obiettivo è quello di un sistema HPC linux cluster formato da N nodi, con una percentuale di questi dotati
di GPGPU.
La macchina sarà una macchina “capacity”, ovvero punterà più sul throughput totale che sulla potenza di
picco assoluta. In ogni caso è attesa una capacità di calcolo raw fra i 100 e i 200 Tflops.
L’architettura del sistema che si intende realizzare e’ quella standard di un cluster:

nodi di management (master node) e di monitoring

nodi di calcolo

sistema storage
il tutto connesso da opportune reti, di seguito specificate.
1
3
NODI DI CALCOLO
Fattore di forma:
Vincolo essenziale è che i nodi di calcolo siano alloggiabili all’interno di rack standard; l’unità di base è un
server biprocessore (dual socket), sono accettate soluzioni basate su twin (1U) e twin square (2U). Sono
accettate anche soluzioni blade, in base alla convenienza economica delle stesse, e comunque per i blade
va individuata una soluzione che permetta un set di porte di rete dedicate per ciascuna singola lama.
Tipologia processori:
Processori multicore x86_64. Vengono indicati come base di partenza le seguenti architetture:
INTEL Sandy Bridge, con processori a 8 core
AMD Opteron, con processori a 16 core
Alimentazione dei nodi:
La ridondanza dell’alimentazione non è essenziale, quindi se è disponibile a causa del fattore di forma
proposto(ad esempio nel caso dei twin square) verrà apprezzata, ma senza costituire un elemento decisivo.
Disco a bordo:
Le macchine dovranno essere dotate di un disco di piccole dimensioni per il solo sistema operativo,
tecnologia SATA o SSD. Dato che il disco a stato solido potrebbe darci dei vantaggi in termini di rotture
valuteremo se inserire questa caratteristica nel capitolato tecnico.
Memoria RAM:
I nodi dovranno avere una memoria RAM di minimo 2GB per core. E’ prevista una percentuale (10%) di nodi
con memoria RAM maggiore (8 GB per core). Un certo numero di nodi (indicativamente 8) dovrà avere una
memoria di 16GB per core.
Sistema di management remoto dei nodi:
I nodi dovranno avere integrato un service processor per permettere il management completo del sistema
da remoto. Il service processor dovrà dialogare IPMI versione 2.0 e prevedere un sistema di “ remote
console” compatibile.
Nodi con GPU:
Un sottoinsieme di nodi (8 o 16 a seconda del numero totale dei nodi) dovrà essere equipaggiato con
almeno 2 schede GPU di ultima generazione (KEPLER).
2
Numero di core:
Dimensioniamo il numero di core per avere una prestazione di picco da 100TFlops (orientativamente
considereremo questi valori: per AMD ~10 Gflops a 2.5 GHz, per INTEL Sandy Bridge 20 Gflops a 2.5 GHz).
Pertanto:
INTEL Sandy Bridge (almeno 2.5 GHz ): 5.000 core pari a 625 processori di calcolo (non verrà
considerata la modalità hyper threading )
AMD Opteron (almeno 2.5 GHz ): 10.000 core pari a 625 processori di calcolo
4
NODI DI MANAGEMENT/LOGIN etc

5.
Si prevedono un certo numero di nodi per il management in modo tale da poter garantire tutti i
servizi del cluster in HA. Per questi masternode siamo interessati a macchine 2U completamente
ridondate in HW in particolare

doppio alimentatore,

dischi di sistema con raid HW

sistema di gestione remota su porta dedicata

possibilità di ridondanza della RAM

Memoria RAM di 32GB

Connettività ridondata completa verso ogni tipo di rete presente ( infiniband/FC/gigabit)

Si prevedono inoltre almeno 2 nodi di login (User Interface)che possono essere macchine standard
(nel senso che siamo interessati ad una configurazione non particolarmente dissimile da quella dei
nodi di calcolo).

Si prevede infine 1 nodo di monitoring esterno
RETE
Il sistema sarà dotato delle seguenti retI:
1. una rete di management interna (in-band):
si prevede una rete basata su ethernet (minimo 1GB), gestita dai masternode.
2. una rete di management esterna (out-of-band) su cui collegare tutti gli SP dei nodi
si prevede una rete basata su ethernet e gestita dal nodo di management.
3
3. una rete veloce per il calcolo parallelo: per questa rete prevediamo IB FDR (o almeno QDR), gestita
da un unico switch capace di connettere direttamente tutti i nodi di calcolo, i server di
management/login e, eventualmente se questa è la soluzione indicata, lo storage.
4. una rete per lo storage
Queste ultime due possono essere una stessa rete purché con adeguate capacità in termini di banda
passante e latenza.
La topologia della rete va discussa in dettaglio tenendo conto di alcuni aspetti:
1. essendo la macchina una macchina “capacity” il taglio medio in termini di core dei job paralleli non
supererà un decimo del totale dei cores complessivi (max 512 cores quindi)
2. Le performance del sistema di storage dovranno minimo essere di 3 GB/secondo.
6
STORAGE
Il sistema deve essere dotato di un sistema di storage con caratteristiche minime di questo tipo:

capacità iniziale di circa 400TB raw, espandibile fino ad un massimo di 3 PB.

performance in scrittura/lettura del sistema di almeno 3 GB/secondo (da misurarsi con benchmark
standard (iozone/IOR etc) calibrati opportunamente sul nostro caso.

compatibilità con soluzioni di filesystem paralleli (Lustre 2.x e/o GPFS) che parleranno via rete
veloce con i clients (nodi di calcolo)

adeguati meccanismi di failover su dischi/controller e sistemi.

l’HW dello storage deve garantire nel caso di FS paralleli ridondanza piena sui metadati del FS
parallelo (ad esempio nel caso Lustre MGS e MDT devono essere garantiti in HA su due distinti
server)

Il sistema di storage sarà partizionato in un’area scratch (maggioritaria) gestita dal FS parallelo e in
una area utenti (/home max 15 TB) che sarà soggetta a backup sul sistema centrale Sissa, che
richiederà un livello di ridondanza più elevato, e che potrà essere gestita da un FS tradizionale non
essendo richiesto un livello particolare di prestazioni.
Saranno prese in considerazione sia soluzioni di storage con porte IB native, sia con porte FC, nel qual caso
dovrà essere previsto un numero congruo di file server e i necessari switch FC.
4
7
SOFTWARE
Sistema di gestione cluster:
L’installazione sarà fatta dal team locale. Si valuteranno eventuali prodotti di cluster management
presentati dai venditori.
LRMS Scheduler:
Al momento ci si sta orientando su una delle seguenti soluzioni:
-
Torque/Maui;
-
LSF
-
PBSPro
Le caratteristiche minime:

fair sharing

job pre-emption

gestione job hybrid openMP/MPI

accounting
Monitoring/Management system:
Tutte le componenti HW (switch/PDU, etc) devono essere monitorabili e facilmente gestibili. Ogni
sottosistema idealmente dovrebbe essere in grado di essere “scriptabile” e/o in grado di avere/definire
plugins per sistemi di monitoring come nagios. In particolare devono poter essere gestite in maniera noninterattiva la raccolta la misurazione dei principali parametri (temperature, correnti, …) e l'accensione e lo
spegnimento.
5
Appendice 1: riassunto del sistema
- Core
o 10.000 con architettura AMD Opteron
o 5.000 con architettura INTEL Sandy Bridge
- Processori e server di calcolo
o 625 processori (16 core/processore
core/processore nel caso Sandy Bridge)
nel
caso
AMD,
8
o 313 server di calcolo biprocessori, in entrambi i casi
- RAM per server di calcolo
o 279 server con 2 GB di RAM/core
o 30 server con 8 GB di RAM/core
o 4 server con 16 GB di RAM/core
- Coprocessori
o 4 o 8 server dovranno essere equipaggiati almeno con due schede
Nvidia KEPLER ciascuno
- Server di management
o 2 server biprocessori in High Availability, come descritto nel testo,
dotati di 2 GB di RAM/core
o 3 server biprocessori con 2 GB di RAM/core
6
- Rete
o Rete IP: una porta da 1 Gb/sec per server o lama biprocessore
o Rete IP di management: una porta da 1 Gb/sec per server o lama
biprocessore
o Rete Infiniband: una porta QDR (preferibile FDR) per server di
calcolo o lama biprocessore
o Switch per le reti IP: architettura “switch top of the rack” (o uno
switch per coppia di rack) piu’ un livello di aggregazione
o Switch per rete IB: uno switch unico con almeno 650 porte
- Storage
o File system: Lustre o GPFS
o Dimensioni raw: almeno 400 TB espandibili fino a 3 PB
o Prestazioni: almeno 3 GB/sec sia in read che in write
7
Appendice 2
Listiamo qui una serie di codici/tecnologie comunemente impiegate dai ricercatori SISSA.
Siamo anche in grado di fornire una serie di casi di studio per permettere ai venditori di validare/testare
internamente le performance ottenute sulle componenti HW e SW che si intendono proporre.
Le applicazioni selezionate sono:
quantum-simulation package:
Quantum_Espresso, CP2K,
MD packages:
-NAMD, GROMACS, LAMMPS,Amber,
Quantum MonteCarlo
TurboRVB and other locally developed packages.
Astronomy and cosmology:
GADGET, N-body code locally developed, CosmoMC
Computational Fluido dynamics
openFoam, locally developed packages, based on libraries like SAMRAI, Deal.II, Trilinos, PETSc
Particle Physics
QCD codici sviluppati localmente.
Per ciascuna di queste applicazioni sono in corso di raccolta presso i ricercatori Sissa una serie di casi di
studio completi di inputs e outputs (benchmark suite). La dimensione in termini di memoria e richieste
computazionali di questi benchmark saranno variabili. In alcuni casi saranno volti a capire le prestazioni
all’interno di un tipico nodo di calcolo della macchina che si intende realizzare. In altri casi misureranno le
prestazioni della rete e la scalabilità del sistema anche se limitatamente al range di interesse.
Forniremo a breve una tabella iniziale di performance di detti casi di studio ottenuta su piattaforme
attualmente usate dalla comunità scientifica.
8