Introduzione
Leonardo è lo strumento che consente di fare un passo avanti verso la fornitura di capacità di calcolo pre-exascale ai ricercatori italiani ed europei.
Leonardo punta alle massime prestazioni e può essere classificato come un sistema di supercalcolo di alto livello in Europa.
Il sistema combina componenti avanzati di elaborazione per affrontare flussi di lavoro computazionali più complessi, che combinano applicazioni HPC, AI, high-throughput e visualizzazione.
Il sistema Leonardo ha una potenza computazionale di 240 petaFLOPS e dotato di oltre 100 PB di capacità di storage.

Panoramica hardware

Partizioni di calcolo
Leonardo mette a disposizione degli utenti due principali moduli di calcolo:
- Un modulo Booster, il cui scopo è massimizzare la capacità computazionale. È stato progettato per soddisfare i requisiti più impegnativi in termini di time-to-solution, ottimizzando al contempo l’energy-to-solution. Questo risultato è ottenuto con 3456 nodi di calcolo, ciascuno dotato di quattro GPU NVIDIA A100 SXM4 64GB guidate da una singola CPU Intel Ice Lake a 32 core.
- Un modulo Data Centric General Purpose (DGPC) che mira a soddisfare una più ampia gamma di applicazioni. I suoi 1536 nodi sono dotati di due CPU Intel Sapphire Rapids, ciascuna con 56 core, per raggiungere oltre 9 petaFLOPS di sustained performance.
Tutti i nodi sono interconnessi attraverso una rete NVIDIA Infiniband HDR, organizzata con una topologia Dragonfly+.
3456 nodes (13824 GPUs)
Single node Da Vinci blade, basata su BullSequana X2135 e composta di:
- 1x 32-core Intel Xeon Platinum 8358 CPU, 2.6 GHz (Icelake)
- 8x 64 GB DDR4-3200 (512 GB)
- 4x NVIDIA custom Ampere A100 GPU 64 GB HBM2
- 2x dual-port HDR network interface (400 Gbps aggregated)
1536 nodes (172032 CPU cores)
Three-node BullSequana X2140 blade, ogni nodo equipaggiato con:
- 2x 56-core Intel Xeon Platinum 8480+ CPU, 2.0 GHz (SapphireRapids)
- 16x 32 GB DDR5-4800 (512 GB)
- 1x SSD 3.84 TB M.2 NVMe
- 1x single port HDR100 network interface (100 Gbps)
Partizioni di calcolo
Leonardo mette a disposizione degli utenti due principali moduli di calcolo:
- Un modulo Booster, il cui scopo è massimizzare la capacità computazionale. È stato progettato per soddisfare i requisiti più impegnativi in termini di time-to-solution, ottimizzando al contempo l’energy-to-solution. Questo risultato è ottenuto con 3456 nodi di calcolo, ciascuno dotato di quattro GPU NVIDIA A100 SXM4 64GB guidate da una singola CPU Intel Ice Lake a 32 core.
- Un modulo Data Centric General Purpose (DGPC) che mira a soddisfare una più ampia gamma di applicazioni. I suoi 1536 nodi sono dotati di due CPU Intel Sapphire Rapids, ciascuna con 56 core, per raggiungere oltre 9 petaFLOPS di sustained performance.
Tutti i nodi sono interconnessi attraverso una rete NVIDIA Infiniband HDR, organizzata con una topologia Dragonfly+.
3456 nodes (13824 GPUs)
Single node Da Vinci blade, basata su BullSequana X2135 e composta di:
- 1x 32-core Intel Xeon Platinum 8358 CPU, 2.6 GHz (Icelake)
- 8x 64 GB DDR4-3200 (512 GB)
- 4x NVIDIA custom Ampere A100 GPU 64 GB HBM2
- 2x dual-port HDR network interface (400 Gbps aggregated)
1536 nodes (172032 CPU cores)
Three-node BullSequana X2140 blade, ogni nodo equipaggiato con:
- 2x 56-core Intel Xeon Platinum 8480+ CPU, 2.0 GHz (SapphireRapids)
- 16x 32 GB DDR5-4800 (512 GB)
- 1x SSD 3.84 TB M.2 NVMe
- 1x single port HDR100 network interface (100 Gbps)
Storage
Il sistema di storage è caratterizzato da un capacity tier e un fast tier. Questa architettura consente una grande flessibilità per affrontare i casi d’uso di I/O più esigenti in termini di larghezza di banda e IOPS. L’architettura di archiviazione, insieme al design del nodo di calcolo booster e alla sua capacità GPUDirect, aumenta la larghezza di banda I/O e riduce la latenza I/O verso le GPU, migliorando così le prestazioni per un numero significativo di casi d’uso.
Il fast tier si basa su DDN Exascaler e fungerà da livello ad alte prestazioni specificamente progettato per supportare carichi di lavoro IOPS elevati. Questo livello di archiviazione è completamente full flash e si basa su dischi NVMe e SSD, fornendo quindi prestazioni di metadati elevate, particolarmente critiche per i carichi di lavoro AI e in generale quando è richiesta la creazione di molti file.
Per rendere disponibile il sistema di storage di Leonardo agli utenti finali, è disponibile un’ampia serie di opzioni per integrare il capacity tier e il fast tier.
5.7 PB full flash
31x DDN appliance ES400NVX2 configurati con:
- 24x SSD 7.68 TB NVMe with encryption support (184.3 TB)
- 4x InfiniBand HDR ports (800 Gbps aggregated)
- metadata resource included
137.6 PB
31x DDN appliance ES7990X configurati con:
- 1 Controller head (82 disks) + 2 expansion enclosures (SS9012, 164 disks)
- 246x HDD 18 TB SAS 7200 rpm (4.4 PB)
- 4x InfiniBand HDR100 ports (400 Gbps aggregated)
4x DDN appliance SFA400NVX for metadata (322 TB), configured with:
- 21x SSD 3.84 TB NVMe with encryption support (80.8 TB)
- 8x InfiniBand HDR100 ports (800 Gbps aggregated)
5.7 PB full flash
31x DDN appliance ES400NVX2 configurati con:
- 24x SSD 7.68 TB NVMe with encryption support (184.3 TB)
- 4x InfiniBand HDR ports (800 Gbps aggregated)
- metadata resource included

137.6 PB
31x DDN appliance ES7990X configurati con:
- 1 Controller head (82 disks) + 2 expansion enclosures (SS9012, 164 disks)
- 246x HDD 18 TB SAS 7200 rpm (4.4 PB)
- 4x InfiniBand HDR100 ports (400 Gbps aggregated)
4x DDN appliance SFA400NVX for metadata (322 TB), configured with:
- 21x SSD 3.84 TB NVMe with encryption support (80.8 TB)
- 8x InfiniBand HDR100 ports (800 Gbps aggregated)
Data Network
L’interconnessione a bassa latenza e larghezza di banda elevata si basa su una soluzione NVIDIA HDR200 e presenta una topologia Dragonfly+. Si tratta di una topologia relativamente nuova per reti basate su Infiniband. Consente di interconnettere un numero molto elevato di nodi contenenti switch e cavi, mantenendo al contempo il diametro della rete molto piccolo.
Rispetto alle topologie non-blocking fat tree, questa soluzione offre il vantaggio di ridurre i costi e di consentire la scalabilità orizzontale su un numero maggiore di nodi. Rispetto al fat tree con blocco 2:1, è possibile raggiungere un throughput di rete vicino al 100% per il traffico arbitrario.
La topologia Dragonfly+ adotatta in Leonardo presenta un’interconnessione fat-tree intra-group, con 2 layer di switch, e un’interconnessione all-to-all inter-group.
La soluzione di rete dati Leonardo è dotata di un migliore supporto per il routing adattivo, fondamentale per facilitare un’elevata larghezza di banda di bisezione attraverso un non-minimal routing. Infatti, il routing all’interno del gruppo e il routing tra i gruppi devono essere bilanciati per fornire un basso numero di hop e un’elevata velocità di trasmissione della rete. Ciò si ottiene con le decisioni di routing valutate in ogni router sul percorso del pacchetto e consente un throughput di rete minimo di ~ 50%.
Questo sistema offre la capacità di calcolo per realizzare visualizzazioni che richiedono larghezza di banda combinata con un rapido accesso ai dati, come le applicazioni 3D. 16 nodi aggiuntivi sono dotati di dischi NVMe da 6,4 TB e 2 NVidia Quadro RTX8000 da 48 GB da utilizzare come nodi di visualizzazione
Data Network
L’interconnessione a bassa latenza e larghezza di banda elevata si basa su una soluzione NVIDIA HDR200 e presenta una topologia Dragonfly+. Si tratta di una topologia relativamente nuova per reti basate su Infiniband. Consente di interconnettere un numero molto elevato di nodi contenenti switch e cavi, mantenendo al contempo il diametro della rete molto piccolo.
Rispetto alle topologie non-blocking fat tree, questa soluzione offre il vantaggio di ridurre i costi e di consentire la scalabilità orizzontale su un numero maggiore di nodi. Rispetto al fat tree con blocco 2:1, è possibile raggiungere un throughput di rete vicino al 100% per il traffico arbitrario.
La topologia Dragonfly+ adotatta in Leonardo presenta un’interconnessione fat-tree intra-group, con 2 layer di switch, e un’interconnessione all-to-all inter-group.
La soluzione di rete dati Leonardo è dotata di un migliore supporto per il routing adattivo, fondamentale per facilitare un’elevata larghezza di banda di bisezione attraverso un non-minimal routing. Infatti, il routing all’interno del gruppo e il routing tra i gruppi devono essere bilanciati per fornire un basso numero di hop e un’elevata velocità di trasmissione della rete. Ciò si ottiene con le decisioni di routing valutate in ogni router sul percorso del pacchetto e consente un throughput di rete minimo di ~ 50%.
Questo sistema offre la capacità di calcolo per realizzare visualizzazioni che richiedono larghezza di banda combinata con un rapido accesso ai dati, come le applicazioni 3D. 16 nodi aggiuntivi sono dotati di dischi NVMe da 6,4 TB e 2 NVidia Quadro RTX8000 da 48 GB da utilizzare come nodi di visualizzazione
efficienza energetica
Leonardo è dotato di due diversi strumenti software che consentono una regolazione dinamica del consumo energetico: Bull Energy Optimiser tiene traccia dei profili energetici e di temperatura tramite protocolli IPMI e SNMP. Tali strumenti possono interagire con Slurm scheduler per ottimizzare alcune delle sue caratteristiche specifiche, come una selezione dei lavori basata (anche) sul consumo energetico previsto o un capping dinamico delle frequenze delle CPU in base al consumo complessivo.
Questa procedura di ottimizzazione dinamica è migliorata da un secondo strumento chiamato Bull Dynamic Power Optimiser, che monitora i consumi energetici core per core al fine di limitare le frequenze al valore che garantisce un equilibrio ottimale tra risparmio energetico e degrado delle prestazioni per le applicazioni in esecuzione.
Per quanto riguarda il consumo energetico della GPU, viene fornito NVIDIA Data Center GPU Manager che consente di ridurre i clock delle GPU quando supera una soglia personalizzata.
Panoramica performance
Leonardo è concepito come un’architettura di sistema polivalente in grado di servire tutte le comunità scientifiche e soddisfare le esigenze dei clienti industriali di R&S.
Il calcolo scalabile e ad alto rendimento in genere si riferisce a casi d’uso scientifici che richiedono grandi quantità di risorse computazionali tramite esecuzioni di simulazione altamente parallele su architetture HPC su larga scala o avviando un gran numero di esecuzioni più piccole per valutare l’impatto di diversi parametri. Si prevede che il sistema Leonardo supporterà entrambi i modelli fornendo un’incredibile accelerazione per i carichi di lavoro in grado di sfruttare gli acceleratori.
Sfruttando l’architettura booster, i primi dati dei benchmark riportano un miglioramento del time-to-science di 15-30 volte per le applicazioni già trasferite su GPU NVIDIA (QuantumEspresso, Specfem3D_Globe, Milc QCD) rispetto al sistema Cineca Tier-0 Marconi100.
Esempi di applicazioni utilizzate in produzione su Marconi-100 (basato su NVIDIA V100) possono essere trovati qui.
Il numero di applicazioni in grado di funzionare su GPU aumenta di giorno in giorno, grazie alla diffusione di paradigmi di programmazione specifici e supportati da un ecosistema in crescita (centri di eccellenza UE, Hackathon, supporto locale dei centri di calcolo).
Le applicazioni basate sull’intelligenza artificiale possono sfruttare GPU all’avanguardia fornendo prestazioni di picco di alta precisione a bassa precisione, core Tensor dedicati e un’architettura di sistema progettata per supportare carichi di lavoro legati all’I/O grazie anche alla funzione NVIDIA GPUDirect RDMA e allo storage fast tier.
For more details, please refers to the article at the following link.