2. COMPUTER SCIENCE

2.2 COMPUTER ARCHITECTURE

Science, 13 Aug 93, Vol. 261, pg, 864 - Forest Baskett - La tecnologia dei microprocessori a basso costo ormai favorisce il loro impiego in parallelo per complessi calcoli scientifici. Per spingere in questa direzione si dovrà sostenere il progresso dei microprocessori, sviluppare le architetture di computer in parallelo facili da programmare e creare nuovi software adatti a queste nuove strutture. Riguardo alla tecnologia oggi si è arrivati ad avere in un singolo microprocessore 3,5 milioni di elementi attivi (transistors), il clock rate ha superato i 100 MHz ed insieme è stato diminuito il numero di cicli per istruzione (CPI) aumentando la velocità di esecuzione che è il rapporto fra clock rate e CPI. Altro modo di misurare le prestazioni è dare il numero di operazioni in floating point (FLOP) per ciclo di clock. Nei prossimi 5 anni il clock rate arriverà a 400 MHz e le prestazioni miglioreranno fino ad un massimo del 100%. Un grande passo nelle architetture è l’introduzione dell’indirizzo a 64 bit che permette di accedere a più memoria. I requisiti di memoria sono spesso i più stringenti, in molte applicazioni scientifiche i programmi sono più piccoli dei dati ed il tempo di accesso ai dati è preponderante. Le memorie sono disposte secondo una gerarchia: le memorie di registro sono quelle incluse nella CPU con tempo di accesso di un ciclo, le memorie di cache sono al livello immediatamente più basso con tempo di accesso da 2 a 15 cicli ed infine al più basso livello c’è la memoria più grande a più basso costo con tempi di acceso da 40 a 100 cicli. L’interconnessione fra i microprocessori può essere con un singolo bus, a ring o a rete (bidimensionale). I problemi di analisi spettrale (FFT) sono quelli che richiedono il più alto grado di comunicazione fra i computer. I problemi di interconnessione coinvolgono problemi di programmazione, banda e costo e quindi l’ottimizzazione è legata al tipo di problema.

Science, 17 Sep 93, Vol. 261, pg. 1523 - M. Mitchell Waldrop - Alla Xerox Palo Alto Research Center (PARC), dove fu essenzialmente ideato il personal computer, si tende ora a rifiutare l’approccio della proliferazione dei computers perseguito fino ad ora. Il criterio che si considera più moderno è avere più modi di accesso a molti sistemi di calcolo. L’idea ha avuto un’accoglienza fredda da parte dei costruttori di hardware, ma altri non sono pessimisti. Molte compagnie lavorano già oggi con piccoli computer portatili collegati via radio e telefono e ormai è iniziata una nuova rivoluzione che si svilupperà nei prossimi 30 anni. Un sistema integrato, come Internet, con sistemi portatili come notebook, che accedono ad archivi di supercomputers sparsi ovunque nel mondo e senza limitazioni di tempo.

Science, 12 Aug 94, Vol. 265, pg. 892 - Andrew S. Grimshaw - Le imprese multinazionali sfruttano oggi reti locali e remote di workstation che si presentano al singolo utente come un unico supercomputer. Il software che mette in comune le risorse della rete gioca naturalmente un ruolo importante, ma sono tre le tecnologie che hanno reso possibile la realizzazione di queste strutture. La prima è l’affermarsi di infrastrutture di comunicazione ad alta velocità (10E9 bit/s). La seconda è la maturità di compilatori per le reti di calcolatori che eseguono programmi in parallelo riducendo il tempo di calcolo. La terza è la maturazione nell’uso di sistemi eterogenei con diversi sistemi operativi.

Science, 8 Sep 95, Vol. 269, pg, 1359 - Robert Pool - Per molto tempo i supercomputer sono stati realizzati con processori specializzati per ottenere prestazioni particolari non altrimenti ottenibili, ma proprio l’anno scorso si può dire che la situazione è cambiata. I microprocessori prodotti per le workstation sono diventati così veloci da indurre le compagnie dei supercomputer, Silicon Graphics e IBM, ad utilizzarli in parallelo per raggiungere la stessa potenza con un costo minore. Dieci anni fa i microprocessori delle workstation raggiungevano la velocità di 1 megaflops (un milione di operazioni in virgola mobile al secondo ciascuna corrispondente alla moltiplicazione di due numeri da 15 digit) mentre i processori dei supercomputer erano a 200 megaflops. Oggi i supercomputer arrivano a 2 gigaflops mentre i più veloci microprocessori raggiungono i 600 megaflops e si è già sul punto di arrivare ad 1 gigaflops; questa potenza è ottenibile ad una piccola frazione del costo di un processore tradizionale perché i microprocessori sono progettati per la produzione di massa. Già 10 anni fa si pensava all’uso massiccio di microprocessori in parallelo, MPP (massively parallel processing), usandone centinaia o anche migliaia, ma ciò creava enormi complicazioni nel software. Oggi i nuovi microprocessori si impongono in una nuova architettura detta SMP (symmetric multiprocessor) in cui circa 20 microprocessori sono collegati ad una memoria comune. Maggiori capacità di calcolo si ottengono collegando in cluster più SMP connessi con fibre ottiche. La IBM tuttavia propone ancora una struttura di 512 microprocessori da workstation in parallelo.

Science, 26 Sep 97, Vol. 277, pg. 1931 - Gary Taubes - Nell’estate del 1992 Hugo de Garis, uno scienziato che lavorava per la Advanced Telecom Research giapponese, dopo aver saputo dell’esistenza dei Field Programmable Gated Array (FPGA), componenti che possono essere riprogrammati mediante software, ebbe l’idea di utilizzarli come l’equivalente di un cromosoma genetico che poteva subire delle mutazioni casuali ed evolversi secondo le regole della selezione naturale. Cinque anni dopo si è iniziato a sviluppare un computer come un’entità biologica e quindi un hardware che si evolve. Questo concetto è un passo successivo a quello di un algoritmo che si evolve, o algoritmo genetico, per risolvere un problema. L’algoritmo inizia con una stringa di bit che specifica una possibile soluzione, equivalente di un cromosoma, ed ha anche una procedura per misurare l’efficacia della soluzione, quindi produce una popolazione di 1000 varianti. Gli individui migliori si combinano e si produce una nuova generazione. Gli algoritmi genetici sono dei metodi potenti per ottimizzare progetti o piani temporali (schedule). L’hardware genetico permette invece di configurare un sistema per un problema senza sapere in partenza come dovrà essere e quindi può essere riconfigurato al cambiare dell’applicazione.

Science, 26 Sep 97, Vol. 277, pg. 1934 - Andrew Watson - Benché i computer siano capaci di miliardi di operazioni al secondo, i sistemi neuronici delle creature biologiche li superano senza paragoni in certi tipi di operazioni, come riconoscere l’ambiente e muoversi in esso, ed hanno un’efficienza fantastica. I computer digitali che funzionano con uno e zero operano un numero enorme di commutazioni per eseguire operazioni modeste ed anche i supercomputer sono in realtà un insieme di piccoli computer connessi insieme. Il cervello invece funziona in modo totalmente diverso, non c’è un clock ed i componenti sono molto lenti e tuttavia, con un enorme parallelismo di centinaia di milioni di neuroni che lavorano contemporaneamente, il cervello può eseguire 10E16 operazioni al secondo inoltre i sistemi neuronici hanno la capacità di cambiare il loro comportamento in base all’esperienza. I ricercatori cercano di cogliere l’essenza dei sistemi biologici con una nuova disciplina detta neuromorfismo, ma riconoscono che essi sono il prodotto di 600 milioni di anni di adattamento. Prodotto del neuromorfismo sono le retine al silicio, occhi in un chip che memorizzano una scena o immagine e la interpretano; gli ingegneri neuromorfici progettano circuiti analogici che simulano le reti neurali connesse dalle sinapsi realizzando chip di Analog VLSI (ALSI), ma più spesso le simulano con i calcolatori convenzionali. Così si cerca di realizzare occhi, nasi e orecchie con circuiti al silicio, ma ciò che non si ha è la tecnologia di interconnessione del cervello che contiene in ogni cm3 100000 cellule e 2 km di collegamenti permettendo a ciascun neurone di parlare con altri 10000. I ricercatori per ora cercano di imitare i vantaggi dei sistemi biologici sfruttando insieme la velocità dell’elettronica digitale.

Science, 12 Jun 98, Vol. 280, pg. 1716 - James R. Heath - I progressi dei calcolatori sono stati enormi. Il primo microprocessore Intel 4004 era capace di circa 5000 addizioni al secondo con un’efficienza di 500 addizioni per joule; oggi l’efficienza è di 3 milioni di addizioni per joule ed entro il 2012 si migliorerà di un altro fattore 1000. I limiti sono solo tecnologici perché il limite termodinamico ha ancora un margine di 8 ordini di grandezza. Per superare gli attuali limiti tecnologici si cercano nuovi tipi di strutture diversi dai CMOS, fra questi i single-electron transisors (SET), i quantum cellular automata, le reti neurali e i dispositivi di logica molecolare tutti su scala nanometrica. Con queste nuove tecniche però nasce il problema della resa perché inevitabilmente i processi comporteranno un gran numero di difetti distribuiti e la selezione porterebbe a costi altissimi. La soluzione e di creare un’architettura con alta ridondanza e parallelismo capace di funzionare anche in presenza di difetti senza rimuoverli fisicamente. Si tratta di un’architettura “defect tolerant” che la Hewlett Packard (HP) sta sperimentando in un computer detto Teramac perché lavora con 10E12 (tera) operazioni al secondo ottenute con un milione di elementi logici operanti ad un megahertz ed è un multiple architecture computer (mac). Il Teramac contiene 864 chips identici detti Field Programmable Gated Array (FPGA) che funzionano come Look-Up Table (LUT) e costituiscono un Custom Configurable Computer (CCC) in cui tutte le risorse, switches, collegamenti e gates sono configurati sul campo per ottenere la funzionalità desiderata, il contrario di ciò che si fa nei normali calcolatori in cui l’hardware è costruito una volta che sia stata stabilita la funzione. L’intera macchina è il più grande calcolatore defect-tolerant, può essere difettoso il 10% degli elementi logici ed il 10% delle interconnessioni e se ulteriori elementi vengono danneggiati il Teramac si ripara mediante software. Il programma è scritto per localizzare i difetti e creare un database dei difetti per il compiler, fa in pratica un auto test e viene usato solo il 70-90% delle risorse efficienti. Con questa nuova architettura si possono trarre le seguenti conclusioni applicabili alle nanotecnologie. a) Si possono costruire potenti calcolatori contenenti componenti e collegamenti difettosi e questo può frenare il costo crescente delle fabbriche di circuiti integrati con il livello di integrazione. b) Le risorse di un computer possono non essere tutte efficienti a condizione che ci sia un sufficiente grado di interconnettività. c) In un Teramac la risorsa più importante sono i collegamenti: linee di indirizzo e reti di switch che permettono di modificare la configurazione. d) Nei computer convenzionali la macchina viene progettata , costruita perfettamente, poi si compila il programma e quindi lo si lancia; in un Teramac si costruisce il computer anche imperfettamente, si configurano le risorse con il software, si compila il programma e quindi lo si lancia.

Science, 18 Jul 2003, Vol. 301, pg. 301 - Katie Greene - Gli astrofisici del Los Alamos National Laboratory, nel New Mexico, sanno che l’esplosione provocata dal collasso di una vecchia stella non avviene in modo simmetrico in tutte le direzioni e può lanciare nello spazio anche fuori dalla galassia la nuova stella di neutroni prodotta, ma non sanno se queste asimmetrie sono anche la causa dell’esplosione. Per simulare in modo completo il fenomeno è necessario un modello a tre dimensioni, ma questo richiede un supercomputer almeno 100 volte più potente di quanto ora disponibile. Questo non è il solo problema che richiede un aumento di potenza di calcolo. Un calcolatore 100 volte più potente degli attuali permetterà di usare la meccanica quantistica per modellare la distribuzione degli elettroni o migliorare le simulazioni per il ripiegamento delle proteine, verificare il funzionamento degli enzimi ed il comportamento dei materiali su scala nanometrica ed infine estendere nuovi modelli climatici. In marzo la National Academy of Science ha iniziato a studiare il futuro dei supercomputer ed il Department of Energy (DOE) ha fatto l’elenco dei problemi che soffrono per la limitatezza dei computer. Lo scopo è quello di proporre un’iniziativa per il prossimo budget del Presidente. I supercomputer sono apparsi negli anni ‘50 ed erano macchine con un’architettura progettata per specifici problemi scientifici, si basavano su processori veloci che lavoravano in parallelo o miglioravano la connettività fra più processori. Negli ultimi anni l’idea di mettere insieme molti processori in parallelo ha trovato un limite in problemi di programmabilità, consumo di potenza e spazio ed è diventato chiaro che un supercomputer ottimizzato per un tipo di operazioni non lo è per altri scopi. I progettisti di supercomputer hanno da affrontare tre maggiori problemi. Il primo è l’aumento della quantità di informazioni che deve passare fra il processore ed il banco di memoria, quanto più il processore è veloce tanto più lungo è il tempo richiesto per attendere i dati dalla memoria. Il secondo problema è di ottenere una banda più grande nella trasmissione dei dati. Il terzo problema è di ridurre il tempo che impiega un processore per iniziare a connettersi con un altro; in alcune applicazioni un certo numero di dati passa frequentemente fra processori vicini e si possono creare lunghi tempi di latenza. Non per tutte le applicazioni questi problemi hanno tutti la stessa importanza, ma nei modelli climatici c’è una stretta interazione in tutto l’intero sistema di processori. Un’altra difficoltà sta nello scrivere codici per un numero crescente di processori in parallelo e quando si arriva a 1000-10000 processori diventa sempre più difficile inoltre un problema collegato a queste macchine è la loro affidabilità. IBM lavora con i ricercatori del Lawrence Livermore National Laboratory su una macchina con 65000 processori chiamata Blue Gene che, in caso di guasto durante un calcolo della durata di un mese, non perde i dati. Il Blue Gene ha 360 teraflop di potenza, supera ogni computer esistente ed è progettato per la biochimica molecolare. Tuttavia per la simulazione delle proteine si sa che è necessaria una macchina 1000 volte più potente e se la potenza raddoppia ogni 18 mesi saranno necessari da 10 a 15 anni, ma gli scienziati non possono aspettare.