Supercomputer: Italia al Top in Europa
I supercomputer sono i più potenti e costosi elaboratori in assoluto ad elevata potenza di calcolo in grado di eseguire calcoli matematici molto complessi. Sono dotati di più unità centrali e progettati per raggiungere altissime velocità di elaborazione. Di grandi dimensioni. Sono special purpose (dedicati ad attività specifiche). Sono caratterizzati da un’architettura tecnologica più avanzata rispetto ai mainframe e agli atri tipi di computer. I supercomputer eseguono un ridotto numero di operazioni su una grande quantità di dati e pertanto necessitano di architetture differenti di quelle utilizzate dai classi computer (architettura di von Neumann). Negli ultimi anni questa differenza architetturale è venuta ad affievolirsi in quanto i computer, diventando sempre più potenti, hanno dovuto adottare soluzioni sempre più complesse riducendo altresì i costi di ricerca e di sviluppo.
La storia dei supercomputer coincide con quella dei mainframe.
I supercomputer sono progettati per eseguire, con efficienza, specifiche operazioni a seconda dello scopo finale della macchina. Si distinguono dai mainframe che, al contrario, sono progettati per rispondere a grandi volumi di elaborazione dati in senso più generale. Sono costituiti da migliaia di processori collegati tra loro per realizzare calcoli associati a modelli fisici che rappresentano la realtà da studiare.
Esistono diverse tipologie di supercomputer:
- Macchine vettoriali: dotate di processori in grado di eseguire la stessa operazione (aritmetica o logica) su una quantità elevata di dati.
- Computer paralleli: costituiti da un insieme di unità di calcolo interconnesse attraverso una rete telematica ad alta velocità.
- Cluster: costituiti da un insieme di computer calcolo interconnessi attraverso una rete telematica veloce.
Il sistema operativo più largamente impiegato nei supercomputer è Linux e solo un piccolissimo numero utilizza Unix o Microsoft.
Sono spesso utilizzati dai matematici, fisici e ingegneri per il calcolo in parallelo dei “big data” al fine di ottenere in output il risultato di algoritmi molto complessi nel minore tempo possibile. Per tali ragioni i supercomputer sono impiegati da società, agenzie governative (e spaziali), grandi centri di ricerca e università prevalentemente in ambito matematico, scientifico, tecnico e nel campo dell’intelligenza artificiale: previsioni meteorologiche e analisi dell’inquinamento ambientale, simulazioni di voli spaziali, analisi molecolari (ad esempio, ricerca farmaceutica, biologia, biomedicina, analisi del genoma umano – calcolo della struttura 3D, studio delle proprietà chimiche, studio dei vaccini contro i virus), simulazioni fisiche (processi di reazione nucleari, astrofisica, fisica nucleare, etc.), crittoanalisi, effetti cinematografici, progettazioni veicoli e aeromobili, etc.
VALUTAZIONE PRESTAZIONI
Le prestazioni di un supercomputer sono valutate in FLOPS (FLoating Point Operations Per Second, Operazioni in Virgola Mobile) o, in genere, in suoi multipli, tipicamente in TeraFLOPS, ovvero 1012 FLOPS. Il FLOPS indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. Il valore effettivo della potenza di calcolo di un supercomputer è ottenuto eseguendo particolari test del software (benchmark) che simulano classici problemi reali al fine di stabilire un parametro di confronto tra differenti supercomputer stilandone in tal modo una classifica.
FLOPS
Il FLOPS (Floating Point Operations Per Second, Milioni di Operazioni in Virgola Mobile) indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU.
Il termine numero in virgola mobile (floating-point) indica il metodo di rappresentazione approssimata dei numeri reali e di elaborazione dei dati usati dai microprocessori per compiere operazioni matematiche. Si contrappone all’aritmetica intera e a quella in virgola fissa (fixed-point).
UNITA’ DI MISURA E MUTIPLI (B = Byte; b = bit)
Per comodità di calcolo i multipli del Byte vengono generalmente arrotondati a potenze di 2 (benché questo sia formalmente sbagliato), invece che di 10; tale ambiguità ha portato l’IEC a definire nuovi prefissi per multipli binari; tali valori non sono comunque entrati nell’uso comune.
Questa ambiguità viene sfruttata a fini commerciali dai produttori di hard disk, utilizzando i “corretti ma poco in uso” multipli decimali, in modo tale da far figurare quantità maggiori: ad esempio, un hard disk da 80 GB nominali potrà effettivamente contenere solo 74.5 GiB.
Potenze in base a 2 del Byte.
1 Byte = 1B = 8 b = 1 CARATTERE / SIMBOLO
Nella tabella seguente sono elencati i prefissi ufficiali IEC, i prefissi decimali spesso usati e la differenza percentuale tra i due.
Prefissi IEC | Prefissi binari | |||||
Fattore | Nome | Sigla | Fattore | nome | Sigla | Errore |
bit | b | 2-3 B | ||||
nibble | 2-1 B | |||||
1 | byte | B | 20 B | byte | B | 0 |
103 | Kibibyte | KiB | 210 B | Kilobyte | KB | +2,4% |
106 | Mebibyte | MiB | 220 B | Megabyte | MB | +4,9% |
109 | Gibibyte | GiB | 230 B | Gigabyte | GB | +7,4% |
1012 | Tetibyte | TiB | 240 B | Terabyte | TB | +10,0% |
1015 | Pebibyte | PiB | 250 B | Petabyte | PB | +12,6% |
1018 | Exbibyte | EiB | 260 B | Exabyte | EB | +15,3% |
1021 | Zebibyte | ZiB | 270 B | Zettabyte | ZB | +18.0% |
1024 | Yobibyte | YiB | 280 B | Yottabyte | YB | +20,9% |
NB: Per semplicità noi utilizzeremo il prefisso binario senza la i: KiB à KB.
Prefissi binari | ||||
1 KiloByte = 1 KB | = | 1024 B | = | 210 B = 10241 B |
1 MegaByte = 1 MB | = | 1024 KB | = | 220 B = 10242 B |
1 GigaByte = 1 GB | = | 1024 MB | = | 230 B = 10243 B |
1 TeraByte = 1 TB | = | 1024 GB | = | 240 B= 10244 B |
1 PetaByte = 1 PB | = | 1024 TB | = | 250 B = 10245 B |
1 ExaByte = 1 EB | = | 1024 PB | = | 260 B = 10246 B |
1 ZettaByte = 1 ZB | = | 1024 PB | = | 270 B = 10247 B |
1 YottaByte = 1 YB | = | 1024 ZB | = | 280 B = 10248 B |
Prefisso | Derivazione (greca) | Indicazione |
Yotta | Okto | ottava potenza di 1000 |
Zetta | Sept | settima potenza di 1000 |
Exa | Hex | sesta potenza di 1000 |
Peta | Penta | quinta potenza di 1000 |
Tera | Tetra | quarta potenza di 1000 |
Giga | Gigante | terza potenza di 1000 |
Mega | Grande | seconda potenza di 1000 |
Kilo | Mille | prima potenza di 1000 |
SOTTOMULTIPLI
1 milli = 1 m = 0,001 = 10-3
1 micro = 1 μ = 0,001 m = 10-6
1 nano = 1 n = 0,001 μ = 10-9
1 pico = 1 p = 0,001 n = 10-12
CLASSIFICA SUPERCOMPUTER GIUGNO 2020
Secondo la classifica top500 (https://www.top500.org/) stilata 2 volte l’anno, nel 2020, il più potente al mondo è il giapponese Fugaku (https://postk-web.r-ccs.riken.jp/) con prestazioni massime pari a 415 PFlops/s e al secondo posto l’americano Summit con soli 148 PFlops/s. Nella top 10 possiamo trovare anche due supercomputer italiani: al sesto posto l’HPC5 con 35 PFlopss/ e al nono posto il Marconi-100 con 21 PTFlops/s, entrambi utilizzati anche per ricerche su vaccini contro il coronavirus.
La classifica tiene conto non tanto i posti di lavoro che possono supportare o alla quantità di informazioni che possono memorizzare, ma il numero di operazioni che possono eseguire nell’unità di tempo. Possono, infatti, eseguire anche milioni (M) di miliardi (G) di istruzioni al secondo (M*G => 106*109=1015 => PFLOPS).
Nella seguente tabella sono mostrate le caratteristiche dei primi dieci computer più potenti al mondo redatta a luglio 2020.
Rank | Name | Model | Processor | Interconnect | Vendor | Site country, year |
Operating system |
Cores | Rmax (TFlop/s) | Rpeak (TFlop/s) | Power (kW) |
1 | Fugaku | Supercomputer Fugaku | A64FX | Tofu interconnect D | Fujitsu | RIKEN Center for Computational Science Japan, 2020 |
Linux (RHEL) | 7,299,072 | 415,530.0 | 513,854.7 | 28,335 |
2 | Summit | IBM Power System AC922 |
POWER9, Tesla V100 | InfiniBand EDR | IBM | Oak Ridge National Laboratory United States, 2018 |
Linux (RHEL) | 2,414,592 | 148,600.0 | 200,794.9 | 10,096 |
3 | Sierra | IBM Power System S922LC |
POWER9, Tesla V100 | InfiniBand EDR | IBM | Lawrence Livermore National Laboratory United States, 2018 |
Linux (RHEL) | 1,572,480 | 94,640.0 | 125,712.0 | 7,438 |
4 | Sunway TaihuLight |
Sunway MPP | SW26010 | Sunway[25] | NRCPC | National Supercomputing Center in Wuxi China, 2016[25] |
Linux (Raise) | 10,649,600 | 93,014.6 | 125,435.9 | 15,371 |
5 | Tianhe-2A | TH-IVB-FEP | Xeon E5–2692 v2, Matrix-2000[26] | TH Express-2 | NUDT | National Supercomputing Center in Guangzhou China, 2013 |
Linux (Kylin) | 4,981,760 | 61,444.5 | 100,678.7 | 18,482 |
6 | HPC5 | Dell | Xeon Gold 6252, Tesla V100 | Mellanox HDR Infiniband | Dell EMC | Eni Italy, 2020 |
Linux (CentOS) | 669,760 | 35,450.0 | 51,720.8 | 2,252 |
7 | Selene | Nvidia | Epyc 7742, Ampere A100 | Mellanox HDR Infiniband | Nvidia | Nvidia United States, 2020 |
Linux (Ubuntu) | 272,800 | 27,580.0 | 34,568.6 | 1,344 |
8 | Frontera | Dell C6420 | Xeon Platinum 8280 (subsystems with e.g. POWER9 CPUs and Nvidia GPUs were added after official benchmarking[10]) |
InfiniBand HDR | Dell EMC | Texas Advanced Computing Center United States, 2019 |
Linux (CentOS) | 448,448 | 23,516.4 | 38,745.9 | |
9 | Marconi-100 | IBM Power System AC922 |
POWER9, Volta V100 | Dual-rail Mellanox EDR Infiniband | IBM | CINECA Italy, 2020 |
Linux (RHEL) | 347,776 | 21,640.0 | 29,354.0 | 1,476 |
10 | Piz Daint | Cray XC50 | Xeon E5-2690 v3, Tesla P100 | Aries | Cray | Swiss National Supercomputing Centre Switzerland, 2016 |
Linux (CLE) | 387,872 | 21,230.0 | 27,154.3 | 2,384 |
DUE SUPERCOMPUTER ITALIANI TRA I PRIMI 10 PIÙ POTENTI AL MONDO
Nella Top 500 redatta a luglio 2020 si possono individuare ben due supercomputer italiani a dimostrazione del fatto che lo sviluppo tecnologico mirato alle ricerche scientifiche è in forte crescita nel nostro paese.
Il livello di ricerca e di sviluppo delle tecnologie per supercalcolatori è altissimo, tanto che il più potente supercalcolatore di oggi (anno 2020) è giapponese, il Fugaku, che si trova presso il Riken Center for Computational Science di Kobe ed è utilizzato anche per la ricerca sul Covid-19.
Il supercomputer Fugaku è composto da oltre 7,2 milioni di core (il core è il nucleo elaborativo di un microprocessore), in grado di generare una potenza elaborativa massima superiore a 500 PetaFlops.
Al sesto posto di questa classifica troviamo il supercomputer italiano HPC5 dell’Eni, installato al Green data center di Ferrera Erborgnone (PV), e al nono posto il Marconi 100, progettato pochi mesi fa (all’inizio di questo anno) dal consorzio interuniversitario Cineca di Bologna. Il supercomputer HPC5, usualmente utilizzato per lo studio delle rocce sotterranee, recentemente è stato impiegato anche per la ricerca sul coronavirus, fornendo un significativo contributo all’altro supercomputer Marconi 100, che a sua volta sarà affiancato nel 2021 da Leonardo, un altro sistema ancora più potente.
LUGLIO 2020 – MARCONI 100
Marconi è il secondo supercomputer più potente in Europa dopo l’HPC5 anch’esso italiano. Marconi 100 utilizza la stessa tecnologia di due dei primi tre supercomputer nella top500.
Il progetto Exscalate4CoV, finanziato dalla Commissione Europea, si pone come obiettivo quello di individuare i farmaci più sicuri e promettenti per il trattamento immediato delle persone infette da covid a cui seguirà l’individuazione delle molecole in grado di inibire la patogenesi del virus al fine di contrastarne i futuri contagi.
In questo contesto il supercomputer Marconi 100 si affianca alla ricerca tradizionale per accorciare i tempi di sviluppo dei farmaci atti a contenere la diffusone del corona virus. Il progetto è suddiviso in due fasi. Nella prima e attuale fase si stanno svolgendo delle simulazioni sul comportamento delle proteine che consentono al corona virus di replicarsi. Nella successiva fase si testeranno virtualmente le molecole farmaceutiche più efficaci a inibire il virus al fine di ridurne la replicabilità.
Marconi 100 (o meglio 16 nodi del Marconi 100) impiega circa una settimana di simulazione continua per ottenere i dati relativi al comportamento di una singola proteina del virus. Si pensi che, se lo stesso calcolo fosse eseguito da un classico computer, ci vorrebbero ben 4 mesi.
Grazie alla potenza di calcolo delle macchine del Cineca, in poche settimane è stata identificata una molecola che potrebbe contrastare il coronavirus, grazie a un primo screening virtuale condotto su un archivio di oltre 400.000 molecole contenute in farmaci sicuri per l’uomo e in prodotti naturali.
FEBBRAIO 2020 – ENI HPC5
L’HPC5 (High Performance Computing – layer 5) è il sesto supercomputer più potente al mondo in grado di sviluppare una potenza elaborativa massima di 51,7 PFLOPS/s e se lo si associata all’altro sistema, l’HPC4, attivo dal 2018, l’intera infrastruttura raggiunge una potenza di picco pari a 70 PFLOPS/s. L’HPC5 è il primo supercomputer più potente in Europa e il primo assoluto fra quelli non governativi. Nella classifica dei supercomputer più green al mondo, cioè con il minor consumo di energia elettrica per PFLOPS/s, è il sesto nella top 500, e di nuovo primo in Europa e primo al mondo fra quelli non governativi.
Il supercomputer è ospitato nel Green Data Center di Ferrera Erbognone (PV).
Il suo utilizzo tipico è per processare tutti i dati geofisici e sismici raccolti da tutto il mondo. La loro elaborazione consente di elaborare modelli del sottosuolo molto dettagliati grazie ai quali è possibile individuare masse nascoste (ad esempio rocce, idrocarburi, etc.) a diversi chilometri sotto la superficie terrestre. Con tale modello, ad esempio, è stato individuato Zohr, un giacimento di gas nel Mediterraneo. È pertanto un sistema utilizzato per individuare altre risorse energetiche nascoste nel sottosuolo al fine di portarle rapidamente in produzione.
L’HPC5 si basa su un sistema di cluster interoperanti in una rete con una potenza che è ben tre volte superiore al suo predecessore HPC4. I nodi sono connessi tra di loro attraverso una rete ad altissime prestazioni InfiniBand Mellanox Hdr 200 Gbit/s secondo una topologia full-non-blocking che garantisce un’interconnessione efficiente e diretta di ciascun nodo. Hpc5 è affiancato da un sistema di storage di 15 PetaBytes ad alte prestazioni (200 GByte/s di banda aggregata in lettura/scrittura).