Oggi sono disponibili supercomputer che raggiungono potenze di calcolo dell'ordine di 10^15 operazioni al secondo. Nel seminario si illustrano le caratteristiche principali di questi supersistemi e si riporterà la realtà sarda del CRS4 in cui è presente un cluster di calcolo ad alte prestazioni e un data center al servizio della ricerca scientifica.
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Seminario Marco Moro, 8-11-2012
1. Architetture di calcolo ad alte prestazioni
Marco Moro
CRS4 HPCN Technologist
marco.moro@crs4.it
High Performance Computing and Network
Collana di Seminari per la Valorizzazione dei Risultati della Ricerca al CRS4
8 novembre 2012 16.30 -19.30
Facoltà di Architettura
Cagliari
martedì 13 novembre 12
2. Agenda
• Introduzione ai sistemi HPC
• Il centro di calcolo del CRS4: numeri
• Management monitoring maintenance
• Strumenti di clustering (scheduler,programmi, librerie, compilatori)
• Alcuni settori di ricerca che lavorano sui cluster
• Sviluppi futuri
martedì 13 novembre 12
4. Introduzione ai sistemi HPC
Terminologia
High Performance Computing (HPC) is the method by which
scientists and engineers solve complex problems using
apps that require high bandwidth, low latency networking
and high computing capabilities.
Attraverso la simulazione di
fenomeni, sulla base delle leggi
fisiche conosciute e con l'ausilio di
efficienti metodi numerici, è
possibile risolvere molti problemi
complessi
martedì 13 novembre 12
5. Introduzione ai sistemi HPC
Terminologia
Banda
ammontare di dati trasferiti nell'unità di tempo. Normalmente espresso in bytes
per secondi per gli hard disk e la memoria ma come bit per secondi per le
connessioni tra nodi.
Latenza
tempo che intercorre tra la richiesta di una risorsa ad un sistema e la
disponibilità della risorsa stessa.
Performance o capacità di calcolo
E' espressa normalmente in termini di “operazioni in virgola mobile per
secondi” (flop/sec o flops). Si parla di operazioni a 64 bit.
martedì 13 novembre 12
6. Introduzione ai sistemi HPC
Terminologia
connessione Gigabit Ethernet
banda: 1 Gigabits/sec
latenza: 170 us (1/1000000 sec)
connessione Infiniband
banda: 10-20 Gigabits/sec
latenza: 5-10 us
memoria principale DDR2-800
banda: 6400 MB/s
latenza: 15-20 ns (1/1000000000 sec) DRAM
Hard Disk
banda: 50-125 MB/s
latenza: 3.5-5.0 ms (1/1000 sec) seek time
martedì 13 novembre 12
7. Introduzione ai sistemi HPC
Terminologia
High availability
Sistema o servizio che, sotto determinate condizioni di tolleranza, si
ritiene essere continuamente in esercizio (UP).
martedì 13 novembre 12
8. Introduzione ai sistemi HPC
• Stila la classifica dei 500 supercomputer più potenti al mondo
• La potenza di calcolo Rmax Rpeak è misurata in flop/sec
• Benchmark LINPACK, risoluzione di un sistema denso
{Ax=b
rate
Rpeak
Rmax
size
• La classifica è aggiornata due volte all'anno, a giugno in Germania
e a novembre in USA
• www.top500.org
martedì 13 novembre 12
20. Introduzione ai sistemi HPC
Latency results using the Intel MPI Benchmarks for 1-8 cores with
Mellanox InfiniBand QDR ConnectX HCA’s and a Mellanox InfiniBand
QDR switch
Fonte: HPC Advisory Council
martedì 13 novembre 12
21. Introduzione ai sistemi HPC
NAMD is a parallel molecular dynamics code designed for STAR-CCM+ is an entire engineering process for solving
high-performance simulation of large biomolecular problems involving flow (of fluids or solids), heat transfer
systems and stress.
Fonte: HPC Advisory Council
martedì 13 novembre 12
23. Introduzione ai sistemi HPC
Architetture ibride
• Composte da CPU e GPU
• Possibilità di eseguire codice parallelo e seriale in maniera efficiente
CPU: pochi potenti core ottimizzati per processi seriali
GPU: migliaia di piccoli core ottimizzati per processi di tipo parallelo
• 3 Supercomputer ibridi nella TOP10
• CUDA, l'architettura di NVIDIA per la programmazione parallela
GPU Computing Applications:
λ
Seismic processing
λ
CFD CAE
λ
Financial computing
λ
Computational chemistry and Physics
λ
Data analytics
λ
Satellite imaging
λ
Weather modeling
Tesla K10 Tesla K20
Number and Type of GPU 2 Kepler GK104s 1 Kepler GK110 (7.1 miliardi di transistor, 28nm)
Peak double precision floating point performance 190 Gigaflops(95 Gflops per GPU) 1170 Gigaflops Greenness
Peak single precision floating point performance 4577 Gigaflops (2288 Gflops per GPU) 3520 Gigaflops
Memory bandwidth (ECC off) 320 GB/sec (160 GB/sec per GPU) 200 GB/sec K10 633 Mflops/Watt
K20 3.9 Gflops/Watt
Memory size (GDDR5) 8GB (4 GB per GPU) 5 GB
CUDA cores 3072 (1536 per GPU) 2880
martedì 13 novembre 12
24. Introduzione ai sistemi HPC
Acceleratori: Intel MIC
• CO-PROCESSOR
• Many Integrated Core
• Highly-parallel workloads
• FULLY PROGRAMMABLE
Greenness
3.33 Gflops/Watt
martedì 13 novembre 12
25. Introduzione ai sistemi HPC
32 nodi
32*16=512 core
32*16=512GB ram
32 Node card
32*32=1024 nodi
32*32*16=16384 core
32*32*16=16TB ram
• SEQUOIA al Lawrence Livermore National Laboratory USA (CA)
• Memoria 1.6 PB
• 16.32 Pflop/sec MAX , 20.13 Pflop/sec PEAK
• Processore BlueGeneQ 45 nm 16 core + 1 controllo +1 spare 1.6 Ghz 204.8Gflops@55 Watt
• 96 rack in 280mq
martedì 13 novembre 12
26. Il centro di calcolo del CRS4: numeri
martedì 13 novembre 12
27. Il Centro di Calcolo del CRS4: numeri
• ~550 nodi di calcolo totali
• 256 nodi di calcolo a bassa latenza Infiniband 4XDDR 20Gbps
• Architettura cluster ibride (GPU, IBM Cell, FPGA)
• >200 porte 10G porte Ethernet, >1200 porte 1G ethernet
• 1 Gbps connessione Internet primaria
• 44 TeraFlop di potenza di calcolo
• 5 Petabyte di spazio disco
martedì 13 novembre 12
28. Il Centro di Calcolo del CRS4: numeri
Cluster Beowulf Mem Totale Num core Connessioni di Note
rete
ENTU-OGHE 6.14 TB 3200 Inf DDR 20Gb + 1 34,5 Tflops, CPU
Gb eth 2.8 GHz
GRIDA3 896 GB 336 Inf 10Gb + 1Gb eth Opteron 2.6 GHz
Janas 192 GB 192 1Gb eth Opteron 2 GHz
Altre Risorse Tipo Caratteristiche Note
2 nodi GPU Tesla S1070 4*240 cores - (16GB Mem) Fino a 4Tflops (sp)
1 Nodo FPGA Maxeler WS
WS Genoma HP 256 GB, 32 cores Sviluppo e run molto
10Gb eth grossi
WS Pruomo Supermicro 256GB, 24 cores 2 TB spazio disco per
DB
10Gb eth
martedì 13 novembre 12
29. Il Centro di Calcolo del CRS4: numeri
Il cluster ENTU
• Dual CPU Intel E5440 (Quad Core) a 2,8GHz;
• 16 GB di RAM DDR2 667MHz;
• 2 HD SATA 250GB e 5400 rpm;
• Connessione di rete Infiniband 4xDDR Dual Connect;
• Due schede Gigabit Ethernet BCM5708S
• 2 due linee elettriche
• ciascuna linea per 3 alimentatori da 2250W
martedì 13 novembre 12
30. Il Centro di Calcolo del CRS4: numeri
288 port switch
martedì 13 novembre 12
31. Il Centro di Calcolo del CRS4: numeri
Architettura Core di Rete
martedì 13 novembre 12
36. Management Monitoring Maintenance
MUCCA
• Gestione avanzata singolo host attraverso portale
• Spegnimento/accensione tramite ILO ILOM IPMI
• Gestione code scheduler
• Grafici stato cluster
• Database
martedì 13 novembre 12
37. Management Monitoring Maintenance
85KW
• Tutto il cluster acceso, senza jobs utente, assorbe circa 85KW
• Necessario spegnere i nodi non richiesti dai job in coda
• Forte integrazione tra l'hardware e lo scheduler
• Policy e granularita' adattabili per gruppi di macchine
martedì 13 novembre 12
39. Strumenti di clustering
Software di base
Community ENTerprise Operating
System
CentOS 5.x Kernel 2.6.32.xx
CentOS 6.2 Kernel 2.6.32.xx
martedì 13 novembre 12
40. Strumenti di clustering
Scheduler (gestore delle code)
• GE (GridEngine)
• Platform LSF (Load Sharing Facility)
E' l'interfaccia tra l'utente e le macchine del cluster. Conosce, in ogni
momento, la disponibilità delle risorse e consente di utilizzarle al meglio.
martedì 13 novembre 12
41. Strumenti di clustering
Scheduler (gestore delle code)
• Programmi seriali e paralleli
• Ticket su base utente/gruppo per gestione job in coda
• Advanced reservation
• Suspend-unsuspend job e code
• High availability
• Accounting
martedì 13 novembre 12
42. Strumenti di clustering
Compilatori software tools e librerie
• Intel, PGI (Portland Group), Compilatori Gnu (GCC), CUDA
• MPI MPI2 MPICH(MVAPICH MVAPICH2) OpenMPI
• Fluent, StarCD, Ansys, Paraview, Totalview, NAMD, Gromacs,
DL_POLY, Grace, MayaVi, VMD
• Perl, Python, Java, QT, R
• Lapack, Blas, Atlas, FFTW, AMD CML, Intel MKL, Metis
martedì 13 novembre 12
43. Strumenti di clustering
Hadoop project
• Framework che permette il processamento di grandi data set (big data) (~100TB anche
~1PB) attraverso l'utilizzo di cluster di calcolo.
• E' progettato per scalare fino a migliaia di host
• Ogni host mette a disposizione potenza di calcolo e spazio disco locale
• Due attori principali: Hadoop MapReduce e Hadoop DFS (DistributedFileSystem)
Developed by
martedì 13 novembre 12
44. Strumenti di clustering
Hadoop e Scheduler al CRS4:
HADOOCCA
• NO esigenza cluster hadoop sempre UP
• Le macchine inutilizzate devono essere spente
• Perchè non usare lo scheduler per creare cluster Hadoop dinamici?
martedì 13 novembre 12
45. Alcuni settori di ricerca che lavorano sui cluster
martedì 13 novembre 12
46. Alcuni settori di ricerca che lavorano sui cluster
Meteorologia
l Applicazione: Il sistema sviluppato al CRS4 consiste nell'esecuzione di previsioni multiple al fine
di stimare la probabilita' che un dato evento si verifichi.
l GRIDA3 and CyberSAR: Probabilistic Weather Forecast portals
Bioinformatica
l Ricerca della similarità o della differenza tra entità chimico biologiche, come molecole di
interesse farmaceutico e geni o proteine. Ottimizzazione di parametri per modelli per la
predizione di bioattività molecolare.
l Utilizzo pratico: trovare, tra milioni di molecole, quali siano le più simili ad un gruppo di molecole
note per avere una certa attività biologica.
Modellazione di proteine: poter predire la struttura tridimensionale di grandi numeri di proteine
del genoma umano o di altri organismi.
martedì 13 novembre 12
47. Alcuni settori di ricerca che lavorano sui cluster
Geofisica
l Studio e sviluppo di metodi numerici, basati sull'analisi della propagazione delle onde acustiche
(originate da esplosioni), per la ricostruzione della struttura e delle proprieta' del
sottosuolo.Utilizzo pratico: Ricerca dei giacimenti petroliferi.
Chimica e celle a combustibile
l Dinamica molecolare e formazione/rottura dei legami atomici. Predizione della struttura dei
cristalli e loro proprietà
l Di utilita' nello studio del trasporto del protone nelle celle a combustibile e per la dissociazione
delle molecole dei farmaci. Settore farmaceutico
Chimica (Bioinformatica)
l Calcoli di dinamica molecolare. Studio della struttura delle proteine e calcoli di docking proteina-
proteina
l Si studiano la struttura e le proprieta' dinamiche di proteine e complessi proteici. Informazioni
sul modo di funzionare delle protine all'interno delle cellule. docking = inserimento di un
legando nel sito di legame di una proteina in un'operazione simulata al computer
martedì 13 novembre 12
48. Alcuni settori di ricerca che lavorano sui cluster
Struttura sperimentale della proteina terapeutica GCSF e della transglutaminasi. Studio in
collaborazione tra il CRS4 e la societa' Bio-Ker.
martedì 13 novembre 12
49. Alcuni settori di ricerca che lavorano sui cluster
Termodiffusione
l Studio del problema scientifico della termodiffusione, vale a dire la generazione di gradienti di
concentrazione causati da gradienti di temperatura.
l Questo studio richiede l'analisi di un numero molto elevato di calcoli molto simili tra di loro, in cui
vengono variati in modo sistematico parametri quali la temperatura, l'energia di interazione tra le
particelle, la massa, la dimensione, etc.
Fluidodinamica
l Simulazione del flusso reattivo in una camera di combustione di una turbina a gas in una
centrale nucleare
l In una simulazione di un settore anulare di 15 gradi, la dimensione caratteristica minima che
deve essere discretizzata e' di 4 mm.
Con un volume caratteristico del settore anulare di circa 175x106 mm3 sarebbero necessarie
175milioni di celle. In ciascuna di queste deve essere risolto un sistema di 11 PDE's (Partial
Differential Equations) + le equazioni costitutive di chiusura.
martedì 13 novembre 12
50. Alcuni settori di ricerca che lavorano sui cluster
Bioinformatica
l Simulazione dell'attivita' elettrica del cuore (ventricolo umano) in elettrofisiologia.
l Studio di applicazioni di interesse per la comunita' scientifica, come l'analisi della tossicita'
cardiaca dei medicinali e fenomeni di fibrillazione e defibrillazione cardiaca.
l Su run uniprocessore, osserviamo un guadagno approssimativo di un fattore due sui tempi di
calcolo nelle simulazioni. In piu', le nuove risorse di calcolo ci stanno consentendo di passare
grossi benchmarks che sono rappresentativi di simulazioni realistiche. Grazie alle nuove risorse
di calcolo, stiamo coordinando un'attivita' di benchmark regolare con altri partners del progetto
(e.g. Universita' di Oxford, Fujitsu).
l Le simulazioni cardiache sono molto dispendiose dal punto di vista computazionale. Ad oggi, il
piu' efficiente simulatore cardiaco richiede 2.5 ore di calcolo per simulare un secondo di battito
cardiaco (su un ventricolo di coniglio) su 128 processori.
l Studio di genomi umani, di virus, di batteri mediante hadoop
martedì 13 novembre 12
54. Sviluppi futuri
peta- exa-
Costi generali dell'energia
• Per produrre 1MW oggi si spende circa 1M$
• Dalla classifica TOP500 risulta che 16 Pflop/sec consumano circa 8MW
• Si presume che 1Eflops/sec (2020±2) con questo trend raggiungera' i 100MW di consumo
• Per una serie di motivi tecnologici, economici , di sostenibilita' i costi di realizzazione devono essere
dell'ordine dei $200M e costi operativi non superiori a $20M, e questo limita il consumo a non piu' di
20MW
1000
Andamento attuale ~ 100MW
100
Consumo (MW)
Obiettivo ~ 20MW
10
1
Fonte: J. Dongarra ICL-UT 2005 2010 2015 2020
martedì 13 novembre 12
55. Sviluppi futuri
peta- exa-
Legge di Moore reinterpretata
2004: Intel announces the end
of the drive for more
performance
through increased clock rates
Fonte: Kunle Olukotun, Lance Hammond, Herb Sutter,
Burton Smith, Chris Batten, and Krste Asanoviç
Slide from Kathy Yelick
martedì 13 novembre 12
62. Sviluppi futuri
peta- exa-
Modelli di programmazione
• Molto prima di disporre di potenze di calcolo exa- è necessario ripensare il
design degli algoritmi e del software, esplorando nuovi modelli di
programmazione basati su architetture (very) multicore e ibride
• Minimizzare il Data Movement: pensare a nuovi modelli e strutture dati sapendo
che il flops è “cheap” mentre il data movement è “expensive”
• Elaborare algoritmi “Fault Tolerant”: con ~1,000,000 core forse qualcosa può
andare storta
• Sfruttare modelli di programmazione ibridi e che richiedono meno sincronia
• Co-design di hardware e software (es. power management)
• C'è sempre bisogno della doppia precisione?La precisione singola è 2X più
veloce della doppia, con le GPU addirittura 10X...
martedì 13 novembre 12
63. Sviluppi futuri
peta- exa-
Conclusioni - Scenario futuro
• Le architetture exascale (1018 flop/sec) saranno verosimilmente fattibili a partire dal
2020±2
• La drastica riduzione di potenza-per-flop e potenza-per-byte renderà inesorabilmente la
computazione e la copia di dati meno affidabile
• La riduzione di potenza farà si che la differenza di voltaggio tra “0” e “1” sarà ridotta
• I circuiti integrati saranno sempre piu' piccoli e più soggetti a disturbi
• L'hardware genererà errori che dovranno essere riconosciuti e corretti
• In accordo alla legge di Moore, il numero di core per chip raddoppierà circa ogni 24
mesi, ma la frequenza di clock decrescerà o comunque non crescerà
martedì 13 novembre 12
64. Sviluppi futuri
peta- exa-
Conclusioni - Scenario futuro
• Architetture con 10-100 milioni di cores o mini-cores
• La potenza richiesta in relazione alla performance diventerà il perno centrale delle
scelte architetturali e delle valutazioni di fattibilità hardware e software.
• La non uniformità dell' hardware costringerà a ripensare il paradigma della
programmazione sincrona
• Già oggi abbiamo a disposizione sistemi con milioni di thread concorrenti: ma le future
generazioni avranno a che fare con miliardi di thread!
• intro-chip parallelism invece di inter-chip parallelism
• Per molti decenni la strategia di investimento si è basata sull'hardware, ora è
necessario (ri)focalizzarsi sul software e sulla integrazione hardware-software
martedì 13 novembre 12
65. Sviluppi futuri
Fonte: David E. Keyes
martedì 13 novembre 12