Questioni di core
Processori per i big data
di Gaetano Maron
Visualizzazione artistica del nucleo centrale, del diametro di circa 5 km, del radiotelescopio Square Kilometre Array (Ska). A regime il progetto prevede l’installazione di 130.000 antenne distribuite nei due siti in Sud Africa e Australia, che permetterà di avere una zona complessiva di raccolta delle onde radio provenienti dallo spazio di circa 1 km².
L’analisi dati nella fisica sperimentale, in particolare in quella delle alte energie, è oggi dominata, per dimensioni, potenza di calcolo necessaria e complessità degli algoritmi, dagli esperimenti del Large Hadron Collider (Lhc) del Cern. Anche la complessità e le dimensioni degli esperimenti di fisica astroparticellare e di astrofisica sta rapidamente evolvendo e la loro analisi dati presenta ormai caratteristiche simili a quelle di Lhc. Nel prossimo decennio, due giganti della Big Science inizieranno la presa dati: Hilumi- Lhc (Hl-Lhc), la fase 2 di Lhc, e Ska (Square Kilometre Array Telescope), il più grande radiotelescopio mai costruito al mondo, che sarà localizzato in Sud Africa e in Australia.
Questo gruppo di esperimenti di nuova generazione produrrà dati al ritmo degli exabyte (vd. fig. b per il significato dei prefissi) all’anno, che equivale grosso modo alla capacità di storage attuale di tutti i centri di calcolo di Lhc distribuiti nel mondo. Anche l’analisi di quei dati richiederà potenze di calcolo ragguardevoli e, per il caso di Hilumi-Lhc, dell’ordine di 10 milioni di core di calcolo, circa 20 volte quelli disponibili attualmente per Lhc. Le Cpu (Central Processing Unit, v. anche p. 18, ndr) di un calcolatore, infatti, non sono più “monolitiche” (ossia costituite da un unico circuito integrato), ma contengono all’interno del proprio chip (o “die”) più unità di calcolo indipendenti tra loro che vengono chiamate core: una moderna Cpu può essere composta da qualche decina di core.
Queste risorse di calcolo pongono problemi sia tecnologici che di sostenibilità dei costi. La fig. b ci propone un interessante confronto, anche se solo indicativo, tra i dati prodotti da questi grandi esperimenti scientifici e quelli prodotti dai principali social network o dall’archivio Internet di Google. È alquanto impressionante notare come gli ordini di grandezza siano molto simili e che i casi scientifici abbiano a volte dimensioni anche maggiori. Nella figura si fa distinzione tra dati grezzi (in inglese “raw data”) e dati elaborati (in inglese “physics data”). I primi sono i dati come vengono raccolti dai rivelatori dell’esperimento e contengono informazioni su quale elemento del rivelatore è stato colpito, sull’energia rilasciata, sul tempo, sulla posizione. Sono dati unici e non più riproducibili e per questa ragione ne vengono eseguite più copie preservate poi al Cern e negli altri centri di calcolo di Lhc. I dati elaborati derivano invece dal processamento dei dati grezzi, al fine di ricostruire l’impulso delle particelle, la loro origine, la loro energia, il tipo di particella rivelata, ecc., e contengono anche tutti i risultati finali prodotti dall’analisi dei canali di fisica studiati che possono portare a eventuali scoperte.
La rivoluzione dei big data: i social e i motori di ricerca vi contribuiscono in maniera predominante, ma anche i grandi esperimenti scientifici agiscono da protagonisti.
Uno degli aspetti che limitano la scalabilità dei software di analisi attuali, in particolare dei grandi esperimenti, è l’incapacità di sfruttare al meglio il parallelismo offerto dalle nuove generazioni di processori (multi-core Cpu, acceleratori massicciamente paralleli, graphic processor, ecc.). Per Hilumi-Lhc questo comporta una re-ingegnerizzazione del codice di analisi esistente, ottimizzandolo e integrandolo con le tecniche di analisi menzionate più sopra, spesso già predisposte al calcolo parallelo. Il software, inteso in senso lato, è quindi uno dei punti nevralgici dell’evoluzione dei sistemi di analisi verso l’era degli “exa- esperimenti”, forse l’aspetto che più di altri avrà impatto sulle prestazioni e sulla scalabilità del sistema complessivo. Evoluzione che nel settore dei processori spinge sempre più verso sistemi a elevato numero di core di calcolo per singolo Cpu, avendo ormai raggiunto limiti fisici alla potenza del singolo core: la famosa legge di Moore (secondo cui la potenza di calcolo del core raddoppia ogni 18/24 mesi), infatti, da qualche anno mostra evidenti segni di rallentamento. Questo approccio multi-core viene estremizzato nei graphic processor, sempre più utilizzati come acceleratori matematici in supporto alle Cpu convenzionali (vd. approfondimento). La tendenza sempre più marcata sarà quindi quella di sistemi ibridi formati da Cpu convenzionali, combinati con la potenza di calcolo straordinaria degli acceleratori.
Questo stesso approccio è seguito dai supercomputer di nuova generazione (detti anche “computer exascale”, perché possono eseguire “exa”, cioè miliardi di miliardi, di operazione al secondo). Questa comune linea di tendenza favorirà l’uso di queste gigantesche macchine di calcolo da parte della fisica sperimentale. È un approccio già in atto, che verrà consolidato in futuro e che potrà contribuire in modo significativo alle necessità di calcolo dei grandi esperimenti.
Il robot del Cnaf (una specie di silos orizzontale lungo 10 m e largo 2,5 m) che gestisce un archivio di 10.000 “tape”, dove sono memorizzati i dati di Lhc e dei principali esperimenti dell’Infn. Ogni tape (in italiano “nastro”) è una cassetta magnetica con dimensioni circa il doppio di quelle delle cassette che si utilizzavano molti anni fa per ascoltare musica.
Processori grafici
Rappresentazione schematica del flusso dei dati in una Gpu, in risposta al comando di ridurre la luminosità dell’immagine di una mela.
Le “graphics processing units”, in breve Gpu, furono progettate principalmente per velocizzare gli effetti 3D da fornire a oggetti che dovevano essere rappresentati sulla superficie 2D dello schermo di un computer, aggiungendo anche effetti visivi (come gli effetti di sorgenti luminose che illuminano l’oggetto, le ombre, la consistenza delle superfici, ecc.) per rendere l’oggetto sempre più simile a quello reale. Questi effetti richiedono numerosi calcoli matematici eseguiti con un alto grado di parallelismo in modo da poter indirizzare velocemente e simultaneamente i milioni di pixel che compongono lo schermo di un computer. La matematica necessaria si limita a trasformazioni geometriche come rotazioni, traslazioni, cambio di sistemi di coordinate, quindi tipicamente delle operazioni tra matrici e tra vettori. Questo limitato set di operazioni da eseguire simultaneamente su più dati permette di architettare un processore specializzato in questo compito e in grado di eseguire la stessa istruzione su più dati contemporaneamente. La figura mostra uno schema semplificato di una Gpu, composto da più “streaming multiprocessor”, che possono lavorare in parallelo su stream di dati diversi. All’interno dello stesso streaming multiprocessor agiscono più unità aritmetiche di processamento che eseguono in parallelo lo stesso set di istruzioni sullo stream di dati in ingresso. Le moderne Gpu possono avere fino a un centinaio di stream multiprocessor, ognuno contenente decine di processori matematici, e quindi complessivamente possono avere migliaia di core e possono raggiungere le migliaia di miliardi di operazioni al secondo.
Ogni singolo stream multiprocessor ha quindi un’architettura Simd (Single Instruction Multiple Data) specializzata in calcolo matriciale e questo estende l’utilizzo delle Gpu al di là della computer graphics e dei videogiochi. I due supercalcolatori più potenti al mondo (e altri tre tra i primi dieci) utilizzano Gpu come acceleratori matematici. Inoltre, la capacità di manipolare matrici e, in alcuni esemplari, anche tensori, consente a questi processori di essere usati in molteplici applicazioni che vanno dall’algebra lineare alla statistica, ma soprattutto nei sistemi di intelligenza artificiale come machine learning e deep learning.
Biografia
Gaetano Maron attualmente è direttore del Cnaf, il Centro Nazionale dell’Infn per la ricerca e lo sviluppo nel campo delle tecnologie informatiche. Collabora all’esperimento di fisica delle alte energie Cms dell’acceleratore Lhc al Cern di Ginevra.
Link
https://www.scientificamerican.com/article/how-close-are-we-really-to-building-a-quantum-computer/
{jcomments on}