Architetture di calcolo ad alte prestazioni
Marco MoroCRS4 HPCN [email protected]
High Performance Computing and Network
Collana di Seminari per la Valorizzazione dei Risultati della Ricerca al CRS48 novembre 2012 16.30 -19.30
Facoltà di ArchitetturaCagliari
martedì 13 novembre 12
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
Introduzione ai sistemi HPC
martedì 13 novembre 12
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.
A t t raverso la s imu laz ione d i fenomeni, sulla base delle leggi fisiche conosciute e con l'ausilio di eff icienti metodi numerici, è possibile risolvere molti problemi complessi
Terminologia
Introduzione ai sistemi HPC
martedì 13 novembre 12
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.
Terminologia
Introduzione ai sistemi HPC
martedì 13 novembre 12
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) DRAMHard Disk banda: 50-125 MB/s
latenza: 3.5-5.0 ms (1/1000 sec) seek time
Introduzione ai sistemi HPC
Terminologia
martedì 13 novembre 12
High availability
Sistema o servizio che, sotto determinate condizioni di tolleranza, si ritiene essere continuamente in esercizio (UP).
Terminologia
Introduzione ai sistemi HPC
martedì 13 novembre 12
• 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
• La classifica è aggiornata due volte all'anno, a giugno in Germania e a novembre in USA
• www.top500.org
Rpeak
rate
size
Rmax
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
Fonte: J. Dongarra ICL-UT
martedì 13 novembre 12
Mflops/
Watt2069
830
2069
823
636
377
2099
2099
604
493
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
Countries Share
martedì 13 novembre 12
28 Supercomputer > Pflop/sec (peak)
(9) (4) (5) (4) (2) (2) (1) (1)
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
martedì 13 novembre 12
Xeon 5600-series (Westmere-EP)
Xeon 5500-series (Nehalem-EP)
Intel Xeon E5
Opteron 6100-series "Magny-Cours"
Power BQC
Xeon 5400-series "Harpertown"
Power 7
Opteron 6200 Series "Interlagos"
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
Fonte: HPC Advisory Council
Latency results using the Intel MPI Benchmarks for 1-8 cores with Mellanox InfiniBand QDR ConnectX HCA’s and a Mellanox InfiniBand QDR switch
martedì 13 novembre 12
Introduzione ai sistemi HPC
Fonte: HPC Advisory Council
NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems
STAR-CCM+ is an entire engineering process for solving problems involving flow (of fluids or solids), heat transfer and stress.
martedì 13 novembre 12
Introduzione ai sistemi HPC
martedì 13 novembre 12
Introduzione ai sistemi HPC
• 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
Architetture ibride
GPU Computing Applications:λ Seismic processingλ CFD CAEλ Financial computingλ Computational chemistry and Physicsλ Data analyticsλ Satellite imagingλ Weather modeling
Tesla K10Number 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
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
Memory size (GDDR5) 8GB (4 GB per GPU) 5 GB
CUDA cores 3072 (1536 per GPU) 2880
Tesla K20
Greenness
K10 633 Mflops/Watt K20 3.9 Gflops/Watt
martedì 13 novembre 12
Introduzione ai sistemi HPC
• CO-PROCESSOR
• Many Integrated Core
• Highly-parallel workloads
• FULLY PROGRAMMABLE
Acceleratori: Intel MIC
Greenness
3.33 Gflops/Watt
martedì 13 novembre 12
Introduzione ai sistemi HPC
• 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
32 nodi32*16=512 core32*16=512GB ram
32 Node card32*32=1024 nodi32*32*16=16384 core32*32*16=16TB ram
martedì 13 novembre 12
Il centro di calcolo del CRS4: numeri
martedì 13 novembre 12
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
Cluster Beowulf Mem Totale Num core Connessioni di rete
Note
ENTU-OGHE 6.14 TB 3200 Inf DDR 20Gb + 1 Gb eth
34,5 Tflops, CPU 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 cores10Gb eth
Sviluppo e run molto grossi
WS Pruomo Supermicro 256GB, 24 cores
10Gb eth
2 TB spazio disco per DB
Il Centro di Calcolo del CRS4: numeri
martedì 13 novembre 12
• 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
Il cluster ENTU
Il Centro di Calcolo del CRS4: numeri
martedì 13 novembre 12
Il Centro di Calcolo del CRS4: numeri
288 port switch
martedì 13 novembre 12
Architettura Core di Rete
Il Centro di Calcolo del CRS4: numeri
martedì 13 novembre 12
Management Monitoring Maintenance
martedì 13 novembre 12
Management Monitoring Maintenance
Ganglia
martedì 13 novembre 12
Management Monitoring Maintenance
martedì 13 novembre 12
Management Monitoring Maintenance
martedì 13 novembre 12
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
• 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
Management Monitoring Maintenance
85KW
martedì 13 novembre 12
Strumenti di clustering
martedì 13 novembre 12
Software di base
Strumenti di clustering
Community ENTerprise Operating System
CentOS 5.x Kernel 2.6.32.xx
CentOS 6.2 Kernel 2.6.32.xx
martedì 13 novembre 12
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.
Strumenti di clustering
martedì 13 novembre 12
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
Strumenti di clustering
martedì 13 novembre 12
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
Strumenti di clustering
martedì 13 novembre 12
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)
Strumenti di clustering
Developed by
martedì 13 novembre 12
Hadoop e Scheduler al CRS4:HADOOCCA
Strumenti di clustering
• 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
Alcuni settori di ricerca che lavorano sui cluster
martedì 13 novembre 12
Alcuni settori di ricerca che lavorano sui cluster
Meteorologial 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
Bioinformatical 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
Geofisical 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 combustibilel 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
Alcuni settori di ricerca che lavorano sui cluster
martedì 13 novembre 12
Struttura sperimentale della proteina terapeutica GCSF e della transglutaminasi. Studio in collaborazione tra il CRS4 e la societa' Bio-Ker.
Alcuni settori di ricerca che lavorano sui cluster
martedì 13 novembre 12
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.
Fluidodinamical 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.
Alcuni settori di ricerca che lavorano sui cluster
martedì 13 novembre 12
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
Alcuni settori di ricerca che lavorano sui cluster
martedì 13 novembre 12
Sviluppi futuri
martedì 13 novembre 12
Sviluppi futuri
Fonte: Intel Corp.
Earthquakes
Fusion Reaction
martedì 13 novembre 12
Sviluppi futuri
Fonte: J. Dongarra ICL-UT
martedì 13 novembre 12
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
2005 2010 2015 2020
1000
100
10
1
Andamento attuale ~ 100MW
Obiettivo ~ 20MW
Con
sum
o (M
W)
peta- exa-Sviluppi futuri
Fonte: J. Dongarra ICL-UT
martedì 13 novembre 12
Sviluppi futuri
peta- exa-
Legge di Moore reinterpretata
Fonte: Kunle Olukotun, Lance Hammond, Herb Sutter,Burton Smith, Chris Batten, and Krste AsanoviçSlide from Kathy Yelick
2004: Intel announces the end of the drive for more performancethrough increased clock rates
martedì 13 novembre 12
Sviluppi futuri
peta- exa-
martedì 13 novembre 12
Sviluppi futuri
peta- exa-
martedì 13 novembre 12
Sviluppi futuri
peta- exa-
martedì 13 novembre 12
Architettura hardware realizzabile con $200M e 20MW
Sistema 2012 BJ/Q 2022 DifferenzaSystem peak 20 Pflops 1 Eflops O(100)Power 8 MW ~20MW ~2System memory
1,6 PB 32-64PB O(10)
Node memory BW
42,6 GB/sec 2 - 4TB/sec O(100)
Node concurrency
64 Threads O(1K) or 10k O(100)-O(1000)
System size 98304 O(1M) O(100)
Total concurrency
6.3M O(billion) O(1000)
MTTI 4 days O(<1day) -O(10)
Sviluppi futuri
peta- exa-
Fonte: J. Dongarra ICL-UT
martedì 13 novembre 12
• Data Movement: un alto costo
• Il flop/sec diventa sempre meno rilevante riguardo all'assorbimento energetico
2011 2018
DP FLOP 100 pJ 10 pJDP DRAM read 4800 pJ 1920 pJ
Local interconnect
7500 pJ 2500 pJ
Cross system 9000 pJ 3500 pJ
Fonte: John Shalf LBNL
Energia (picoJoule), calcoli approssimativi
Sviluppi futuri
peta- exa-
martedì 13 novembre 12
Sviluppi futuri
peta- exa-
martedì 13 novembre 12
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...
Sviluppi futuri
peta- exa-
martedì 13 novembre 12
• 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à
Conclusioni - Scenario futuro
Sviluppi futuri
peta- exa-
martedì 13 novembre 12
• 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
Sviluppi futuri
Conclusioni - Scenario futuro
peta- exa-
martedì 13 novembre 12
Fonte: David E. Keyes
Sviluppi futuri
martedì 13 novembre 12
Top Related