EVOLUZIONE E PROSPETTIVE NELL’HIGH PERFORMANCE...

15
MONDO DIGITALE •n.1 - marzo 2003 1. PREMESSA S i immagini di aver costruito un modello computerizzato del pianeta terra e di en- trare come in un videogioco nella realtà vir- tuale di questo modello per esplorare pae- saggi, città, strade, case e uffici. Il computer potrebbe consentire di controllare, in ogni istante, la densità della popolazione, la di- stribuzione dei prodotti agricoli, la disponibi- lità dei beni di consumo, le congestioni del traffico, e tutto ciò su qualunque scala. In linea di principio, ingrandendo per gradi l’immagine, si potrebbe entrare in ogni uffi- cio o in ogni negozio per osservarne le più minute attività. Si esaminerebbero in detta- glio, e in tempo reale, ogni transazione effet- tuata in una specifica agenzia bancaria così come l’acquisto di ogni singola bottiglia in un negozio di vini. Si potrebbe così osserva- re l’attività dell’economia di una nazione, o di una città, identificandone eventuali ineffi- cienze e possibili miglioramenti. Rick Stevens, direttore del dipartimento di ma- tematica e computer science del National Ar- gonne Laboratory di Chicago, ha denominato questo modello computerizzato il Mirror World, ossia il mondo riflesso in uno specchio. Dal punto di vista concettuale, un simile mo- dello non ricade in quelle classi di problemi che per la loro natura sembrano, come si dice in linguaggio matematico, “intrattabili”, ma richiede, evidentemente, un’estrema capil- larità di dispositivi periferici e una prodigiosa capacità di calcolo. Intuitivamente, si comprende che per attuar- lo è necessario poter eseguire enormi quan- tità di istruzioni in breve tempo. Ma, volendo essere più concreti, quante? Questa doman- da introduce, quasi naturalmente, al tema dei computer più potenti, ovvero dei super- computer. Cosa sono i supercomputer e in cosa si distinguono dai grandi computer uti- lizzati, per esempio, per la gestione della prenotazione posti di una compagnia aerea o dei conti correnti di una grande banca? Per capire le diverse esigenze di un grande com- puter e di un supercomputer si cercherà di fa- re un raffronto, ancorché semplificato, tra due possibili scenari. Si prenda, innanzitutto, il caso di una grande Attività quali le previsioni meteorologiche o la simulazione di processi nuclea- ri sono state per molto tempo effettuate con supercomputer costruiti con una tecnologia denominata high performance computing (HPC). Tuttavia, i grandi progressi ottenuti nella costruzione e nell’aggregazione in cluster dei microprocessori hanno consentito di costruire nuovi tipi di supercomputer. In questo articolo, si esamina come l’HPC si sia evoluto e quali siano le pro- spettive tecnologiche e applicative che si possono intravedere per il futuro. Ernesto Hofmann EVOLUZIONE E PROSPETTIVE NELL’HIGH PERFORMANCE COMPUTING 51 3.3

Transcript of EVOLUZIONE E PROSPETTIVE NELL’HIGH PERFORMANCE...

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1. PREMESSA

S i immagini di aver costruito un modellocomputerizzato del pianeta terra e di en-

trare come in un videogioco nella realtà vir-tuale di questo modello per esplorare pae-saggi, città, strade, case e uffici. Il computer

potrebbe consentire di controllare, in ogniistante, la densità della popolazione, la di-stribuzione dei prodotti agricoli, la disponibi-lità dei beni di consumo, le congestioni deltraffico, e tutto ciò su qualunque scala.In linea di principio, ingrandendo per gradil’immagine, si potrebbe entrare in ogni uffi-cio o in ogni negozio per osservarne le piùminute attività. Si esaminerebbero in detta-glio, e in tempo reale, ogni transazione effet-tuata in una specifica agenzia bancaria cosìcome l’acquisto di ogni singola bottiglia inun negozio di vini. Si potrebbe così osserva-re l’attività dell’economia di una nazione, odi una città, identificandone eventuali ineffi-cienze e possibili miglioramenti. Rick Stevens, direttore del dipartimento di ma-tematica e computer science del National Ar-

gonne Laboratory di Chicago, ha denominato

questo modello computerizzato il Mirror

World, ossia il mondo riflesso in uno specchio.Dal punto di vista concettuale, un simile mo-dello non ricade in quelle classi di problemiche per la loro natura sembrano, come si dicein linguaggio matematico, “intrattabili”, marichiede, evidentemente, un’estrema capil-larità di dispositivi periferici e una prodigiosacapacità di calcolo.Intuitivamente, si comprende che per attuar-lo è necessario poter eseguire enormi quan-tità di istruzioni in breve tempo. Ma, volendoessere più concreti, quante? Questa doman-da introduce, quasi naturalmente, al temadei computer più potenti, ovvero dei super-

computer. Cosa sono i supercomputer e incosa si distinguono dai grandi computer uti-lizzati, per esempio, per la gestione dellaprenotazione posti di una compagnia aerea odei conti correnti di una grande banca? Percapire le diverse esigenze di un grande com-puter e di un supercomputer si cercherà di fa-re un raffronto, ancorché semplificato, tradue possibili scenari.Si prenda, innanzitutto, il caso di una grande

Attività quali le previsioni meteorologiche o la simulazione di processi nuclea-

ri sono state per molto tempo effettuate con supercomputer costruiti con

una tecnologia denominata high performance computing (HPC). Tuttavia, i

grandi progressi ottenuti nella costruzione e nell’aggregazione in cluster dei

microprocessori hanno consentito di costruire nuovi tipi di supercomputer.

In questo articolo, si esamina come l’HPC si sia evoluto e quali siano le pro-

spettive tecnologiche e applicative che si possono intravedere per il futuro.

Ernesto Hofmann

EVOLUZIONEE PROSPETTIVE NELL’HIGHPERFORMANCE COMPUTING

51

3.3

banca. Le banche, notoriamente, utilizzanocomputer di tipo general purpose, ossia dise-gnati per un ampio spettro di possibili appli-cazioni, in grado di servire in maniera sicura,e pressoché istantanea, una vasta clientela.Un cliente di una banca, che si presenti a unosportello bancomat e che avvii una transazio-ne per ottenere dallo sportello stesso un cer-ta quantità di denaro, cosa provoca nel com-puter di quella banca? Deve, innanzitutto,connettersi e ciò crea un segnale che, attra-verso la rete, perviene al computer il quale, asua volta, eseguirà complesse sequenze diistruzioni per interrompere l’attività in corso,gestire quell’interruzione, decidere, quindi,se accodare tale richiesta o eseguirla diretta-mente, il che comporterà una serie di transa-zioni logico-fisiche tra computer e utente.Queste consisteranno nell’inserimento e nelriconoscimento della password, in una speci-fica richiesta di servizio, per esempio banco-note per un certo ammontare e, infine, nell’e-ventuale emissione di una ricevuta.Tutto ciò richiede, per dirla in maniera moltoapprossimativa, l’esecuzione di centinaia dimigliaia, se non milioni, di istruzioni da partedel computer centrale, che deve anche acce-dere a specifici archivi elettronici per aggior-nare i dati relativi a tale cliente.Si consideri che una grande banca può averemigliaia di punti bancomat e che questi pos-sono collegarsi anche quasi simultaneamen-te. Il computer deve, quindi, poter eseguirecomplessivamente molti miliardi di istruzioniin decine di secondi per fornire tempi di rispo-sta accettabili per ciascun utente collegato.Gli attuali grandi computer, ossia i cosiddettimainframe, sono in grado di fornire questacapacità di calcolo. E, infatti, le banche, comeanche le compagnie aeree, le ferrovie, gli isti-tuti di previdenza e molte altre organizzazioniforniscono servizi applicativi molto efficienti.Un altro tipo di problema, del tutto diverso,meno impegnativo del Mirror World ma quan-to mai complesso, riguarda, invece, la biolo-gia e la farmaceutica. Una delle sfide più affa-scinanti, ma anche più importanti, che oggi lascienza deve affrontare è quella del cosiddet-to ripiegamento (il folding) delle proteine. Una proteina è una molecola, costituita damigliaia o decine di migliaia di atomi, cheviene costruita all’interno delle cellule usan-

do come stampo il DNA. La proteina, nel tem-po stesso nel quale viene costruita, si ripiegasu se stessa assumendo una conformazionetridimensionale che è unica e identica pertutte le proteine di quel tipo.Molte malattie degenerative sono causate daun errato ripiegamento (il misfolding) di unaspecifica proteina. È, quindi, di fondamenta-le importanza comprendere tale meccanismodi ripiegamento. Ciò, infatti, potrebbe aprirela via alla creazione di farmaci in grado di cor-reggere simili degenerazioni durante la co-struzione delle proteine stesse.È intuibile che il computer sia lo strumentoideale per simulare matematicamente il pro-cesso di ripiegamento di una proteina.Un modello molto semplificato potrebbe, in-nanzitutto, creare le sequenze di aminoacidicorrispondenti al particolare gene. Poiché lastruttura di ogni aminoacido è ben conosciu-ta il computer è in grado di costruire un mo-dello atomico complessivo della proteina inesame. A questo punto, il computer dovreb-be calcolare tutte le forze esistenti tra i variatomi e valutare come esse causino il ripiega-mento della proteina su se stessa nel liquidonella quale si forma all’interno della cellula.Il processo di ripiegamento potrebbe esseremodellato come una sequenza cinematogra-fica nella quale per ogni fotogramma dovreb-bero essere calcolate le forze tra i vari atomie la progressiva deformazione della proteinain un arco di tempo che, idealmente, potreb-be durare un milionesimo di miliardesimo disecondo. È necessario utilizzare un tempocosì breve per descrivere accuratamente lepiù rapide vibrazioni della proteina e del li-quido nel quale la proteina si muove, che so-no quelle associate al movimento degli atomidi idrogeno della proteina stessa e dell’ac-qua presente all’interno della cellula.Si immagini, a questo punto, che il film duriun decimillesimo di secondo, che è il tempoin cui può ripiegarsi una piccola proteina.In un simile film, si avranno, quindi, cento mi-liardi di fotogrammi da calcolare. Se la protei-na è costituita, per esempio, da trentamila ato-mi le interazioni reciproche saranno circa un mi-liardo. E se per ogni interazione si dovesseroeseguire mille istruzioni si otterrà che per ognifotogramma si dovranno eseguire mille miliar-di di istruzioni. Mille miliardi di istruzioni per

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

52

cento miliardi di fotogrammi sono, quindi, cen-tomila miliardi di miliardi di istruzioni da do-ver eseguire in un decimillesimo di secondo.Si immagini, infine, di avere a disposizioneun supercomputer che esegua un milione dimiliardi di istruzioni al secondo: esso do-vrebbe lavorare per cento milioni di secondi,ossia circa tre anni. E oggi i supercomputerpiù potenti sono almeno cento volte menopotenti di tale supercomputer.Ma quello del ripiegamento delle proteine èun caso limite. Ci sono, infatti, problemi me-no complessi, ancorché tuttora difficili datrattare, come le nuove prospezioni petrolife-re, il comportamento delle galassie, i servizifinanziari avanzati, l’on-line trading, la simu-lazione dell’urto di due buchi neri, la proget-tazione di strutture complesse di edifici, au-tomobili e aerei, la simulazione di esplosioninucleari, l’evoluzione del clima, l’andamentodelle correnti marine, la previsione dei terre-moti, e altro ancora (Figura 1).I supercomputer più potenti oggi disponibili,come il NEC Earth Simulator presso l’Institute

for Earth Science di Yokohama, gli ASCI/Q del-la HP-Compaq installati presso il Los Alamos

National Laboratory, l’IBM ASCI White al Law-

rence Livermore Laboratory, o ancora l’HP-

Compaq Terascale Computing System al cen-tro di supercalcolo di Pittsburgh, dispongonooggi di capacità di calcolo che sono dell’ordi-ne delle migliaia di miliardi di istruzioni (invirgola mobile) al secondo, ovvero teraflop/s.Quali sono allora le caratteristiche costrutti-ve di questi computer e come si potrannoevolvere per poter affrontare problemi anco-ra più complessi come quelli posti, appunto,dal ripiegamento delle proteine?

2. L’AVVENTODEI SUPERCOMPUTER

Un’istruzione, per essere eseguita dal com-puter, utilizza, mediamente, alcune decine dicircuiti microelettronici. Più rapidi sono que-sti ultimi più veloce è l’esecuzione dell’istru-zione. Ma un’istruzione, per essere eseguita,ha spesso bisogno di utilizzare operandi chepotrebbero non essere immediatamente di-sponibili ai circuiti utilizzati dall’istruzionestessa. È, quindi, necessaria una struttura dimemoria che consenta ai dati, più frequente-

mente utilizzati, di essere immediatamentedisponibili. Dalla metà degli anni ’60 era giàevidente che per superare i vari “colli di botti-glia” che si potevano presentare nell’esecu-zione di un’istruzione, occorreva una com-plessa organizzazione circuitale.Si era compreso che, per alcune classi di pro-blemi, occorrevano computer che si discostas-sero dall’originale architettura di Von Neumannla cui caratteristica più saliente è la sequenzia-lità delle operazioni sia nelle unità aritmetico-logiche sia nella gestione della memoria.A parità di tecnologia circuitale – la cosiddet-ta tecnologia di semiconduttore – si poteva-no ottenere più elevate prestazioni se veni-vano utilizzate, contemporaneamente, mol-teplici unità di elaborazione in grado di ese-guire, in parallelo, gruppi differenti, e oppor-tunamente selezionati, di istruzioni.Negli stessi anni, si evolveva così un insiemedi computer progettati per ottenere presta-zioni molto più elevate rispetto ai cosiddettigeneral purpose computer. L’obiettivo di talisupercomputer era, in generale, quello di ri-solvere problemi caratterizzati dalla grandequantità di dati numerici sui quali occorrevaeseguire ripetutamente sequenze di istruzio-

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

53

0

0

0

1

1.000

100

10

1

0.1

1985 1995 2005

Prestazioni di calcoloin miliardi di operazionial secondo

“Impronta” veicoliBiologia

strutturale

Modelli climaticiTurbolenza dei fluidi

Dispersione inquinamentoGenoma umano

Circolazione oceanicaCromodinamica quantistica

Modellazione superconduttoriSistemi di combustioneVisione e comprensione

Progettazionefarmaceutica

Elaborazionedel parlato

e del linguaggionaturale

Progettazionicircuitale avanzata

Dinamicachimica

Previsionimeteorologiche

a 48 h

Progetto di superficiaerodinamiche

Modellazione 2Ddel plasma

Modellazione3D

del plasma

Stimadella massa

bosonica

Previsionimeteorologiche a 72 h

Grand Challenges

FIGURA 1Prestazionidi calcolo perproblemi “GrandChallenge”

ni abbastanza simili, piuttosto che la casua-lità delle sequenze di istruzioni tipiche degliambienti commerciali.Ciò che distingueva i supercomputer eranoessenzialmente tre elementi: l’utilizzo dellepiù avanzate tecnologie circuitali, l’uso dimolteplici unità di elaborazione e il disegnodi opportuni algoritmi.Alcuni sistemi, come l’ILLIAC IV (costruito perl’Università dell’Illinois dalla Burroughs) e ilPEPE (Parallel Ensemble of Processing Ele-

ments dell’U.S. Army Advanced Ballistic Mis-

sil Defense), invece di risolvere i problemi at-traverso una serie di operazioni successiveeseguivano, simultaneamente, un elevatonumero di operazioni.Un tipico problema che l’ILLIAC IV poteva ri-solvere, molto più rapidamente rispetto a uncomputer convenzionale, era la soluzionedell’equazione alle derivate parziali di Lapla-ce che descrive la distribuzione della tempe-ratura sulla superficie di una piastra.Nell’ILLIAC IV duecentocinquantasei processing

element erano raggruppati in quattro quadrantidi 8 ×8. Ogni processing element aveva una suamemoria ed era in grado di comunicare con iquattro processing element adiacenti.Altri computer, come lo STARAN (dellaGoodyear Aerospace Corporation), utilizza-vano il principio delle memorie associative.Nello STARAN una memoria associativa, conun accesso in parallelo a 256 voci di 256 bit,era gestita attraverso un aggregato di unitàdi elaborazioni indipendenti (una per ciascu-na voce di memoria). Lo STARAN veniva uti-lizzato per applicazioni che permettevano unelevato livello di parallelismo intrinseco qua-li analisi di tracce radar o calcolo matriciale.Intorno alla metà degli anni ’60, furono soprat-tutto due costruttori, la Control Data Corpora-

tion (CDC) e la IBM, ad avviare una straordina-ria sfida industriale per la costruzione di unanuova classe di computer che fossero almenoun ordine di grandezza più potenti rispetto aipiù potenti computer per uso commerciale.Fa ormai parte della leggenda l’aneddoto se-condo cui Thomas Watson Jr., presidente dellaIBM, fosse molto contrariato nell’apprendere -poco dopo l’annuncio, nell’aprile del 1964, delsistema IBM 360 - che la CDC era pronta a co-struire anch’essa un computer, il CDC 6600,più veloce del più potente computer della se-

rie 360, ossia quel 360/75 che avrebbe co-munque costituito uno degli elementi chiavedel successo del progetto Apollo.L’IBM avviò, immediatamente, la progetta-zione e costruzione del 360/91 che, come ilCDC 6600, avrebbe introdotto nelle architet-ture dei computer il principio della pipeline.La sfida sarebbe poi proseguita, negli annisuccessivi, con l’introduzione di due compu-ter ancora più potenti: il CDC 7600 (1969) e ilsistema IBM 360/370 195 (1970).Con la tecnica della pipeline, che è possibile im-maginare come un’estensione del principio del-l’overlap delle istruzioni, ci si proponeva di fardiventare il computer una vera e propria cate-na di montaggio di istruzioni che passavano viavia attraverso unità funzionali specializzate.Il termine pipeline nasceva dall’analogia conla condotta di petrolio nella quale non inte-ressa la velocità della singola molecola bensìla quantità di petrolio che sgorga al secondodalla condotta stessa.Analogamente, nei computer di tipo pipelinenon interessava tanto il tempo necessario a ese-guire una singola istruzione quanto piuttostola quantità di istruzioni eseguite al secondo.In quegli stessi anni, inoltre, si cominciavanoa comprendere sempre meglio i meccanismi,non solo fisici, ma anche logici sui cui si fondaun’effettiva esecuzione, in parallelo, di molte-plici attività. Si immagini di avere 52 carte diuno stesso mazzo distribuite in modo casualee di volerle mettere in ordine. Se ci fosseroquattro giocatori a volersi dividere le attivitàsecondo i colori (cuori, quadri, fiori, picche) sifarebbe certamente prima che se si dovessesvolgere la stessa attività da soli. Ma fossero52 i giocatori, tutti intorno allo stesso tavolo,a voler ordinare il mazzo si farebbe probabil-mente solo una gran confusione.Questo banale esempio può far comprenderecome esista un limite al di là del quale nonconviene spingere sul parallelismo degli agen-ti ma, piuttosto, sulla velocità del singolo.Gene Amdahl, uno dei maggiori architetti dellarecente storia dei computer, enunciò all’iniziodegli anni ’70 un’ipotesi che venne poi denomi-nata legge di Amdahl: un perfetto parallelismonelle attività dei computer non è possibile per-ché esisteranno sempre delle sequenze ineli-minabili di software intrinsecamente seriale [1].Basti pensare, per esempio, a una serie di nu-

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

54

meri di Fibonacci: 1,1,2,3,5,8,13,21,... genera-ta dal semplice algoritmo F (n + 2) = F (n + 1) +F (n). Non è possibile eseguirla in paralleloperché ogni successiva operazione dipendedalle precedenti due1.Esistono però anche attività che mostranoun intrinseco parallelismo. Tornando all’e-sempio iniziale del ripiegamento della pro-teina si può, per un momento, riflettere sulfatto che la conformazione finale della pro-teina nello spazio tridimensionale saràquella con la minore energia potenziale. Sipotrebbero, allora, calcolare indipendente-mente, e in parallelo, migliaia di conforma-zioni indipendenti della proteina stessa.Calcolate le diverse conformazioni sarà faci-le trovare quella con la minima energia, cheè proprio quanto è stato fatto negli ultimianni, per molte proteine, con l’ausilio di al-cuni tra i migliori supercomputer disponibi-li. Ma è anche intuibile che il livello di paral-lelismo del computer pone un limite al nu-mero di possibili conformazioni che è possi-bile calcolare in parallelo che, nel caso dellaproteina, possono essere, anche, infinite.Occorre, infine, ricordare che in quegli anni siattuava anche un enorme progresso nellacomprensione dei meccanismi di sincronizza-zione di sempre più complessi aggregati mi-crocircuitali che comprendevano ormai memo-rie di transito ad alta velocità (cache), per istru-zioni e per dati (I-cache, D-cache), gerarchie dimemorie (L1, L2, L3,..), registri interni di variotipo e, soprattutto, una crescente molteplicitàdi unità di caricamento (pre-fetch e fetch) diistruzioni, di decodifica (instruction unit) e diesecuzione (ALU, Arithmetic Logical Unit).La cosiddetta prima legge di Moore comincia-va a far sentire i suoi effetti. Ogni diciotto me-si raddoppiava la quantità di transistor e, quin-di, di circuiti disponibili per chip. Nell’IBM, peresempio, dalla tecnologia SMS (Standard Mo-

dular System) dell’inizio degli anni ’60 si pas-sava alla SLT (Solid Logic Technology), alla ASLT

(Advanced SLT), alla MST (Monolithic System

Technology) via via fino alla LSI (Large Scale In-

tegration) del 1978 e, infine, alla VLSI (Very Lar-

ge Scale Integration) della metà degli anni ’80.La quantità di circuiti disponibile su di un chippassava, nel volgere di un paio di decenni, daun transistor a migliaia di circuiti, per la gioiadei progettisti che potevano così aggregare sem-pre più funzioni in uno stesso spazio senza do-versi preoccupare dei ritardi di segnale.Se gli attuali microprocessori costruiti con latecnologia CMOS (Complementary Metal-

Oxide_Silicon) possono oggi essere cosìcomplessi lo si deve anche al fatto che tra glianni ’60 e ’70 i grandi computer costruiti contecnologia bipolare (prevalentemente ECL,Emitter Coupled Logic) hanno esplorato innu-merevoli possibilità di aggregare i microcir-cuiti per ottenere sempre più elevati livelli diparallelismo nell’esecuzione delle istruzioni.

3. I COMPUTER VETTORIALI

Negli anni ’60, due tra i maggiori protagonistinella progettazione dei grandi computer eranostati indiscutibilmente Gene Amdahl e SeymourCray. Ambedue, poi, avrebbero lasciato le azien-de per le quali lavoravano (rispettivamente,l’IBM e la CDC) per avviare proprie aziende.Amdahl fondava la Amdahl Corporation cheavrebbe costruito alcuni dei più evoluti main-frame a cavallo tra gli anni ’70 e ’80. SeymourCray avviava, invece, la Cray Research Inc.Nel 1975, veniva installato il primo Amdahl470/V6 e un anno dopo presso il Los AlamosScientific Laboratory veniva installato il pri-mo computer vettoriale Cray 1.Il 1976 può a ragione essere considerata ladata di inizio del supercomputing. Prima delCray 1, infatti, computer come il CDC 7600,che pure venivano definiti supercomputer,non differivano, realmente, dai computer piùconvenzionali. Ciò che li caratterizzava, a par-te le più elevate prestazioni, come è stato giàdetto, era, essenzialmente, l’elevato livello diparallelismo interno. Occorre anche aggiun-gere che la CDC aveva, in realtà, realizzato uncomputer vettoriale, il CDC Star 100, già nel1972; ma questa macchina non aveva avutosuccesso, soprattutto perché le sue presta-zioni, in taluni casi, erano persino inferiori aquelle dei più potenti sistemi scalari.

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

55

0

0

0

1

1 È anche vero che esiste da oltre un secolo una for-mula, quella del matematico Binet, che consentedi individuare direttamente l’ennesimo numero diFibonacci. La formula è però di difficile semplifica-zione per numeri di Fibonacci molto grandi per iquali si può ricorrere invece al calcolo di potenzedella radice quadrata di cinque.

Con il Cray 1 nasceva un’architettura innova-tiva che utilizzava istruzioni vettoriali e regi-stri vettoriali per risolvere alcune classi diproblemi essenzialmente matematici.Un processore vettoriale è un processore chepuò operare con una singola istruzione su diun intero vettore. Si consideri, per esempio,la seguente istruzione di somma:

C = A + B

Sia nei processori scalari sia in quelli vettoria-li l’istruzione significa “aggiungere il contenu-to di A al contenuto di B e mettere il risultatoin C”. Mentre in un processore scalare gli ope-randi sono numeri in un processore vettorialel’istruzione dice al processore di sommare, adue a due, tutti gli elementi di due vettori. Unparticolare registro di macchina, denominatovector length register, dice al processorequante somme individuali devono essereeseguite per sommare i due vettori.Un compilatore vettoriale è, a sua volta, un com-pilatore che cercherà di riconoscere, per esem-pio, quali loop sequenziali possono essere tra-sformati in una singola operazione vettoriale.Il seguente loop può essere trasformato inuna sola istruzione:

DO 10 I = 1, NC(I) = A(I) + B(I)10 CONTINUE

La sequenza di istruzioni del loop viene tradot-ta in un’istruzione che imposta a N la lunghez-za del length register seguita da un’istruzioneche esegue l’operazione di somma vettoriale.L’uso delle istruzioni vettoriali consente miglioriprestazioni essenzialmente per due motivi. In-nanzitutto, il processore deve decodificare unminor numero di istruzioni e, quindi, il carico dilavoro della I-unit è fortemente ridotto e ilbandwidth di memoria viene, di conseguen-za, ridotto anch’esso. In secondo luogo, l’i-struzione fornisce alle unità esecutive (le ALUvettoriali) un flusso costante di dati. Quandoinizia l’esecuzione dell’istruzione vettoriale ilprocessore sa che deve caricare coppie di ope-randi che sono disposte in memoria in modo re-golare. Così il processore può chiamare il sot-tosistema di memoria per alimentare in manieracostante le ALU con le coppie successive.

Con una memoria dotata di un buon livello diparallelismo di accesso (il cosiddetto interlea-

ving) le coppie possono essere alimentate al rit-mo di una per ciclo ed essere dirette consecuti-vamente, come in una catena di montaggio (lapipeline, appunto) per essere via via sommate.Occorreva, tuttavia, anche un cambio di men-talità. Programmatori abituati a ragionare inmodo sequenziale dovevano acquisire unanuova mentalità e, anche se parte della con-versione da software applicativo sequenzialea parallelo poteva essere eseguita in manieraautomatica, restava pur sempre da svolgereun’ulteriore attività di “parallelizzazione”manuale che poteva richiedere la ristruttura-zione di algoritmi che erano stati pensati inmodo essenzialmente seriale.

4. I MASSIVE PARALLELSYSTEM (MPP)

Nella seconda metà degli anni ’80, iniziò afarsi strada una nuova classe di sistemi: icomputer paralleli a memoria distribuita.Questi sistemi differivano dagli SMP (Sha-

red-Memory Multiprocessor), nati all’iniziodegli anni ’70, poiché la memoria non venivacondivisa da un unico sistema operativo, maogni processore gestiva la propria memoria eil proprio software applicativo.L’architettura degli MPP non consentiva unasincronizzazione così stretta delle attività ap-plicative come negli SMP e richiedeva, comesi può intuire, che le diverse applicazioni fos-sero abbastanza indipendenti l’una dall’altra.È anche evidente che nell’esecuzione di unasingola applicazione, solo se la sequenza del-le istruzioni di quest’ultima può essere effica-cemente suddivisa (parallelizzata) in sezionieseguibili indipendentemente sui vari pro-cessori, l’MPP può dare effettivi vantaggi.Dal punto di vista della programmazione ap-plicativa, i sistemi SMP erano più semplici dautilizzare. Con un’organizzazione di memoriadistribuita il programmatore deve, infatti, te-nere conto di chi detiene che cosa. Gli SMP,però, funzionano bene solo se i processorinon sono tanti, altrimenti nascono troppiconflitti per specifiche posizioni di memoria.I primi modelli di simili massive parallel sy-

stem apparvero sul mercato nel 1985 in ma-niera abbastanza etereogenea. La Thinking

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

56

Machine Corporation (TMC) presentava laConnection Machine-1 (CM-1), mentre la Intelannunciava l’iPSC/1 che utilizzava micropro-cessori Intel 80826 interconnessi da una reteEthernet in un cosiddetto ipercubo.In virtù della relativa facilità di aggregazio-ne di simili sistemi, vennero rapidamente acostituirsi molte nuove aziende costruttricidi sistemi MPP.Il sistema MPP più interessante di quegli annisarebbe rimasto il CM-2 disegnato da DannyHillis per la TMC. Costituito da 64 micropro-cessori interconnessi in un ipercubo, insiemea 2048 Witek floating point unit, il sistema po-teva operare su di una singola applicazione

sotto il controllo di un solo sistema di front-

end. Il CM-2 per alcune categorie applicativeriuscì persino a competere con i migliori siste-mi vettoriali MP dell’epoca, come il Cray Y-MP.Fu proprio il crescente successo di questinuovi sistemi a determinare la necessità nonsolo di una rigorosa tassonomia dei vari su-percomputer ma anche una classificazionerelativa secondo un’opportuna metrica, quel-la del LINPACK, che prevede la soluzione di uncosiddetto sistema denso di equazioni linea-ri. Le prestazioni vengono oggi misurate in te-raflop/s, ossia in migliaia di miliardi di opera-zioni in virgola mobile eseguite al secondo.La lista TOP500 (Tabella 1), dei 500 più poten-

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

57

0

0

0

1

Rank Manufacturer Rmax Installation SiteComputer/Procs Rpeak Country/Year

1 NEC 35860.00 Earth Simulator CenterEarth-Simulator/5120 40960.00 Japan/2002

2 Hewlett-Packard 7727.00 Los Alamos National LaboratoryASCI Q - Alpha Server SC 10240.00 USA/2002ES45/1.25 GHz/4096

3 Hewlett-Packard 7727.00 Los Alamos National LaboratoryASCI Q - Alpha Server SC 10240.00 USA/2002ES 45/1.25 GHz/4096

4 IBM 7226.00 Lawrence Livermore National LaboratoryASCI White, SP Power3 375 MHz/8192 12288.00 USA/2000

5 Linux NetworX 5694.00 Lawrence Livermore National LaboratoryMCR Linux Cluster Xeon 2.4 GHz - 11060.00 USA/2002Quadrics/2304

6 Hewlett-Packard 4463.00 Pittsburgh Supercomputing CenterAlpha Server SC ES 45/1 GHz/3016 6032.00 USA/2001

7 Hewlett-Packard 3980.00 Commissariat a L’Energie Atomique (CEA)Alpha Server SC ES 45/1 GHz/2560 5120.00 France/2001

8 HPTi 3337.00 Forecast Systems Laboratory - NOAAAspen Systems, Dual Xeon 2.2 6158.00 USA/2002

9 IBM 3241.00 HPCxpSeries 690 Turbo 1.3 GHz/1280 6656.00 UK/2002

10 IBM 3164.00 NCAR (National Center for AtmosphericpSeries 690 Turbo 1.3 GHz/1216 Research) - USA/2002

11 IBM 3160.00 Naval Oceanographic Office (NAVOCEANO)pSeries 690 Turbo 1.3 GHz/1184 6156.00 USA/2002

12 IBM 3052.00 NERSC/LBNLSP Power3 375 MHz 16 way/6656 9984.00 USA/2002

13 IBM 2560.00 ECMWFpSeries 690 Turbo 1.3 GHz/960 4990.00 UK/2002

14 IBM 2560.00 ECMWFpSeries 690 Turbo 1.3 GHz/960 4990.00 UK/2002

TABELLA 1La TOP500 Listdel Novembre 2002

ti supercomputer installati nel mondo, vienepubblicata semestralmente dalle Universitàdi Mannheim e del Tennessee e dall’U.S. De-

partment of Energy’s National Energy Resear-

ch Scientific Computing Center.La maggior parte dei sistemi MPP era, so-stanzialmente, costituita di cluster più o me-no integrati di microprocessori preesistenti.Ciò faceva sì che la distinzione tra sistemiconvenzionali e supercomputer divenissemolto più sfumata. Un sistema convenziona-le poteva, opportunamente “clusterizzato”,diventare di fatto un supercomputer.Inoltre, a livello di tecnologia di semicondut-tore la crescente densità dei chip consentivaalla tecnologia CMOS di rimpiazzare, soprat-tutto in termini di rapporto prezzo/prestazio-ni e di consumi e dissipazione di calore, latecnologia ECL.Questo fatto, poichè la capacità industrialedi produrre e integrare in un unico disegnosempre più evoluti microprocessori CMOS sirestringeva via via a poche aziende, riducevail numero di costruttori di supercomputer. Al-le soglie del 2000, delle 14 maggiori aziendecostruttrici di supercomputer ne rimanevanosolo quattro costituite dai tre maggiori co-struttori giapponesi (Fujitsu, Hitachi e NEC) edall’IBM, cui venivano ad aggiungersi la Sili-con Graphics, la Sun, la Hewlett-Packard e laCompaq. Queste ultime due si sarebbero poiconsociate.

5. IL PROGRAMMA ASCI

Attualmente, ci sono negli USA diverse inizia-tive che cercano di consolidare attraversol’High Performance Computing le capacitàcomputazionali di università, laboratori di ri-cerca e organizzazioni militari. Il più interes-sante di questi programmi è, probabilmente,l’Accelerated Strategic Computing Initiative

(ASCI) [2] il cui compito è quello di creare lecapacità computazionali e di simulazioned’eccellenza necessarie per mantenere la si-curezza l’affidabilità e le prestazioni dellostockpile nucleare USA e ridurre il rischio nu-cleare. Nell’ambito di questo programma so-no stati realizzati diversi sistemi.Nella TOPLIST del Novembre 2002 al secondo,terzo e quarto posto si trovano proprio tre si-stemi ASCI. Nell’ordine, al Los Alamos Natio-

nal Laboratory sono operativi dal 2002 dueASCI Q – Alpha Server SC della HP-Compaqcostituiti da 4096 processori ES45 da 1.25GHzcon una capacità di calcolo di 7, 727 Tflop/s.Al Lawrence Livermore Laboratory è operati-vo, dal 2000, l’IBM ASCI White costituito di8192 processori SP POWER 3 da 375 MHz peruna potenza complessiva di 7,226 Tflop/s.L’ASCI Red, prodotto dalla Intel e installato pres-so il Sandia National Laboratory, è costituito da9472 microprocessori Intel Pentium Xeon ed èstato, con 2.1 Tflop/s, il primo sistema a supe-rare la barriera di un teraflop/s e a porsi, per uncerto periodo, al vertice della TOP500.L’ASCI Blue Mountain installato al Los Ala-mos Laboratory è stato costruito dalla SGIed è costituito da 6144 processori e reag-giunge 1.6 Tflop/s.Ci sono poi altri sistemi molto potenti. Il gover-no giapponese ha sovvenzionato lo sviluppodi un sistema per simulare e prevedere l’am-biente globale. Il NEC Earth Simulator è costi-tuito di 640 nodi per un totale di 5120 unità dielaborazione, occupa uno spazio di quattrocampi da tennis e utilizza 2800 km di cavo perle interconnessioni. Raggiunge una capacità dicalcolo di 40 Tflop/s e appare come il super-computer più potente secondo la classificaTOP500 di Novembre 2002.Nell’ambito del programma ASCI, il 19 Novem-bre 2002 è stato annunciato che l’IBM avreb-be avviato la costruzione di due nuovi super-computer, ASCI Purple e Blue Gene/L, che in-sieme dovrebbero fornire 500 Tflop/s, ossiauna volta e mezzo la potenza di tutti i super-computer della più recente TOP500. ASCI Pur-ple, con una capacità di calcolo di 100 Tflop/s,sarà costituito da 12608 microprocessori IBMPOWER5 e consumerà 4 MW (l’equivalentedell’energia eletrica necessaria per circa 5000abitazioni). I microprocessori saranno conte-nuti in 196 computer, con un bandwidth di me-moria di 156000 Gbyte, e interconnessi da undata-highway con un bandwidth di 12500Gbyte. ASCI Purple conterrà anche 50 Tbyte dimemoria e 50 petabyte di memoria su disco,che è all’incirca l’equivalente di un miliardo dilibri di media lunghezza.ASCI Purple, che verrà installato entro il 2004presso il Lawrence Livermore National Labo-ratory, dov’è già installato ASCI White, ser-virà come il principale supercomputer del-

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

58

l’U.S. Department of Energy nell’ambito delNational Security Administration (NNSA) do-ve sarà utilizzato nel Stockpile Stewardship

Program per simulare l’invecchiamento e l’o-peratività delle testate nucleari americanesenza dover ricorrere a test sotterranei.

6. LA RESURREZIONEDEL VETTORIALE

Pur producendo sistemi MPP di successo, co-me i TRD/T3E la Cray ha continuato a svilup-pare supercomputer vettoriali anche dopol’accordo di cooperazione con la SGI. In parti-colare, la Cray nel 1998 ha costruito il super-computer SV1, poi perfezionato nel 2000.La Cray ha poi ritenuto possibile utilizzare ilmeglio delle due architetture, quella vetto-riale e quella MPP, per costruire un nuovosupercomputer, denominato durante la fasedi progetto SV2.Nel novembre 2002, finalmente la Cray haannunciato il Cray X1, già disponibile, che, insostanza, riunisce il meglio dei sistemi vetto-riali SV1 e T90 e dei sistemi MPP T3D/E.Nel sistema SV1, la Cray aveva introdotto i co-siddetti processori multistreaming (MSP) persfruttare il vantaggio di avere, invece di un’u-nica profonda pipeline vettoriale, molteplicipipeline più brevi. Da un punto di vista pura-mente intuitivo, è possibile immaginare chemolteplici piccole pipeline possano essereutilizzate per gestire in parallelo, più efficien-temente, loop abbastanza brevi, ma frequen-ti nell’ambito di un programma.Nel Cray X1 il blocco costruttivo fondamentaleè un processore di tipo MSP costituito di quat-tro unità scalari ciascuna dotata di un paio divector pipe. Ogni unità scalare può eseguire,non in sequenza su una delle due unità esecu-tive, due istruzioni per ciclo. Le quattro unitàscalari operano a 400 MHz e forniscono unacapacità di calcolo totale di 3.2 Gflop/s.Come accennato in precedenza, i compilatoriper i sistemi vettoriali sostanzialmente “apro-no” i loop in sequenze di istruzioni ottimizza-te per l’hardware vettoriale. Per loop piùgrandi la sequenza di istruzioni di un unicoloop può essere distribuita su tutte le 8 pipe-line di un processore.Le 8 pipeline vettoriali operando a 800 MHzforniscono una capacità di calcolo comples-

siva di 12.8 Gflop/s per operazioni a 64 bit.Poichè nel disegno complessivo del Cray X1 so-no previsti fino a 4000 MSP, il Cray X1 stesso puòfornire una capacità di calcolo di 52.4 Tflop/s.

7. LE PROSPETTIVEDEI SUPERCOMPUTER: VERSOIL PETASCALE COMPUTING

Negli Stati Uniti i supercomputer sono statisempre considerati un elemento strategicofondamentale per mantenere la leadership

non solo tecnologica.Il rapporto PITAC del 1999 (Report from the

President’s Information Technology Advisory

Committee) raccomanda un programma fe-derale di ricerca che consenta di “ … ottenere

prestazioni da petaflop/s su applicazioni rea-

li entro il 2010 attraverso un opportuno bi-

lanciamento di strategie hardware e softwa-

re” [5]. Il rapporto identifica molte applicazio-ni che potranno trarre considerevoli vantaggidal petascale computing:❙ gestione degli ordigni nucleari;❙ crittologia;❙ modellazione ambientale e climatica;❙ ricostruzione tridimensionale delle proteine;❙ previsione di uragani;❙ disegno avanzato di aerei;❙ nanotecnologie molecolari;❙ gestione in tempo reale di immagini per lamedicina.Se si traccia su di una scala logaritmica una cur-va che rappresenti l’evoluzione dei supercom-puter si può vedere come la prima legge di Moo-re sia stata in gran parte rispettata (Figura 2).

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

59

0

0

0

1

Tflop/s

Gflop/s

Mflop/s

kflop/s

1950 1960 1970 1980 1990 2000

EDSAC 1UNIVAC 1

IBM 7090

IBM 360/195

Cray 1

Cray X-MPCray 2

Cray T3D

TMC CM - 2

TMC CM - 5

ASCI RedASCI White Pacific

CDC 6600CDC 7600

FIGURA 2L’evoluzione deisupercomputer

Si potrebbe fare un esercizio anche più inte-ressante esaminando l’evoluzione delle pre-stazioni nella TOP500, prendendo di volta involta l’evoluzione del sistema più potente,del meno potente (ossia, il sistema classifi-cato al posto 500) e, quindi, del sistemaclassificato al decimo posto (Figura 3).La curva dei supercomputer alla posizione500 mostra un miglioramento annuale di unfattore medio di 1.8. Le altre curve mostranoun miglioramento intorno a un valore an-nuale pari a 2. Estrapolando si può vedereche i primi sistemi da 100 Tflop/s dovrebbe-ro essere disponibili intorno al 2005. Nel2005, nella TOP500 non ci dovrebbe esserepiù alcun supercomputer con potenza dicalcolo minore di un teraflop/s.Estrapolando ulteriormente ci si può spinge-re fino a un petaflop/s e vedere che questapotenza dovrebbe essere raggiunta intornoal 2009. In effetti, come si vedrà più avanti, cisono due sistemi, l’IBM Blue Gene e l’HTMTche promettono di fornire una simile potenzaintorno a quella data.La CRAY sostiene che il sistema Cray X1 è unprimo passo verso il petascale computingche potrebbe essere realizzato, attraversoun’opportuna evoluzione tecnologica e di di-segno, entro il 2010.Il petascale computing sembrerebbe, quin-di, raggiungibile in tempi abbastanza bre-vi, ma occorrono ancora notevoli progressitecnologici e anche progetti alternativi

perché non è detto che lungo la stradaqualche progetto non si dimostri, di fatto,irrealizzabile.Si ritiene, oggi, che vi siano almeno quattropossibili alternative tecnologiche: l’evoluzio-ne della tecnologia convenzionale, il disegnocosiddetto processor in memory (PIM), letecnologie superconduttive e, infine, il Grid

Computing.

7.1. Le tecnologie convenzionaliIl futuro del supercalcolo sarà condizionatosia dall’evoluzione della tecnologia circuitalesia da quella del disegno di sistema che, asua volta, non potrà non essere influenzatodalla tecnologia disponibile.Allo stato attuale, i microprocessori piùdensi hanno quasi 200 milioni di transistor:nel volgere di pochi anni, saranno disponi-bili chip con oltre un miliardo di transistor.La Semiconductor Industry Association

(SIA) nel suo ultimo documento [6] ha deli-neato la possibile evoluzione della tecnolo-gia di semiconduttore fino al 2014. Le sueproiezioni indicano, in estrema sintesi, chenel 2008 le memorie dinamiche (DRAM)avranno 5 miliardi di bit per cmq, mentre lememorie statiche (SRAM) avranno 500 mi-lioni di transistor per cmq e, infine, i chip dicircuitazione logica ad alte prestazioniavranno 350 milioni di transistor per cmq.Queste densità verranno quasi triplicateentro il 2011, mentre le frequenze per lo

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

60

1.000.000

100.000

10.000

1.000

100

10

1

0.1’93 ’94 ’96 ’97 ’99 ’00 ’02 ’03 ’05 ’06 ’08 ’09

Gflo

p/s

N = 500

N = 10

N = 1

Sum

Earthsimulator

ASCI

1 Tflop/s

1 Pflop/s

FIGURA 3Verso il petascale

computing

stesso periodo arriveranno quasi a una de-cina di GigaHertz contro il singolo Gi-gaHertz attuale.Queste proiezioni sono impressionanti per-ché è presumibile che le dimensioni dei chipsaranno tra 400 e 800 mmq, e perciò, entropochi anni, saranno disponibili chip con mi-liardi di transistor. Ciò avrà profonde conse-guenze sul disegno interno dei computer equindi sulle loro prestazioni e sulle loropossibilità applicativeSi immagini, infatti, di poter disporre di unchip di 400 mm2 con una densità di transistorquale quella prevista da SIA.Un processore, di disegno sufficientementeevoluto, occuperebbe 5 mm2 e, quindi, 16processori da 6 GHz impegnerebbero 80mm2, lasciando perciò 320 mm2 disponibiliper le intercomunicazioni tra i processori eper la memoria. Utilizzando 50 mm2 per lecomunicazioni restano 270 mm2 per la me-moria che, alle densità previste da SIA, for-nirebbe 64 Mbyt di SRAM oppure 11 Gbyt diDRAM. Nel 2011 i 16 processori lavorerebbe-ro a 10 GHz e la memoria DRAM diventereb-be di 35 Gbyt.Raccogliendo su di una superficie (board),di 20 × 20 cm, 64 chip si può arrivare a inter-connettere oltre 1000 processori per ottene-re una capacità complessiva di 20 Tflop/s,che è quella oggi fornita dai massimi super-computer disponibili.Simili strutture, che sembrano quasi ricor-dare quella di un alveare, prendono il nomedi sistemi cellulari e già oggi, con la tecnolo-gia attualmente disponibile, sono in fase diprogettazione. Il supercomputer IBM BlueGene [3] il cui progetto è stato annunciatonel dicembre del 1999, ha già queste carat-teristiche.Come accennato in precedenza, nel novem-bre del 2002, l’IBM ha annunciato l’avvia-mento di un altro progetto da completarsi intempi più brevi rispetto all’originarioBlue/Gene: Blue Gene/L.Blue Gene/L è costituito da 64 cabinet, cia-scuno dei quali contiene 128 board, ognunadelle quali alloggia 8 chip, su ciascuno deiquali prendono posto 2 processori. Blue Ge-ne/L è costituito quindi da circa 130.000processori di una potenza di circa 2.8Gflop/s, operanti in Linux, per una potenza

complessiva che può arrivare a 360 Tflop/s.L’obiettivo di Blue Gene/L, oltre alla simu-lazione del folding delle proteine, è quellodi consentire la modellazione tridimensio-nale delle stelle per verificare perché lestelle binarie, con un elevato rapporto dimasse, diventino instabili e si fondano.Sarà anche possibile utilizzare tecnicheavanzate di modellazione della meccanicaquantistica per studiare con grande accura-tezza le proprietà della materia. Un’area diparticolare interesse sarà la possibilità distudiare come riparare sequenze di DNAdanneggiate dalla radiazione. Infine, lapossibilità di simulare con grande precisio-ne la propagazione di onde sismiche e acu-stiche potrebbe essere utilizzata per la pre-visione di terremoti, per le prospezioni pe-trolifere, per creare sempre più accurateimmagini a uso medico.

7.2. Il Processing in memory (PIM)Durante l’evoluzione dell’High PerformanceComputing, precedentemente descritta, èemerso un fattore tecnologico che, poco allavolta, è diventato uno dei maggiori vincoli al-la crescita dell’effettiva capacità di calcolodei supercomputer.Questo vincolo è rappresentato dal pro-gressivo sbilanciamento tra la tecnologiadei processori e quella della memoria deisupercomputer: la velocità di esecuzionedelle istruzioni è aumentata molto più rapi-damente del tempo di accesso alla memo-ria centrale.Il gap tra il miglioramento nell’esecuzionedelle istruzioni e nell’accesso alla memoriasta aumentando di circa il 50% annuo (Fi-gura 4).Già negli anni ’60-’70, non era facile mante-nere caricata correttamente la pipeline inogni momento ed erano state erano proget-tate molteplici tecniche, come il pre-fetchdelle istruzioni, e come i buffer di transitoad alta velocità (le cosiddette, cache) cheerano successivamente stati distinti in I-ca-che e D-cache (per le istruzioni e i dati). Siera anche esaminato il problema della co-siddetta “località dei dati”, ossia la distanzamedia che c’era in memoria tra le istruzionie i dati su cui queste dovevano operare. Talelocalità varia a seconda della natura delle

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

61

0

0

0

1

applicazioni e può richiedere approcci so-stanzialmente diversi.Tutte queste tecniche avevano portato allacostruzione di complesse gerarchie di me-moria, soprattutto nei computer più potentie, in particolare, nei supercomputer.Si è visto nella sezione 6.1, che la densità fo-tolitografia aumenterà nei prossimi anni inmisura tale da consentire di alloggiare nellostesso chip memorie SRAM ovvero DRAM emolteplici microprocessori.Numerose tecniche sono, oggi, allo studioper utilizzare al meglio le possibilità che latecnologia sarà, quindi, in grado di fornire.Già da alcuni anni, si stanno evolvendonuove tecniche di memoria come la PIM [8]o la IRAM (Intelligent RAM) che prevedonodi integrare sullo steso chip logica e me-moria.

7.3. Le tecnologie superconduttiveI petaflop/s computer sembrano, comun-que, destinati a consumare enormi quantitàdi corrente. Si è già visto che un sistema daun decimo di petaflop/s, come ASCI Purple,richiederà almeno 4 MW. Un sistema da unpetaflop/s costruito con tecnologia conven-zionale potrebbe arrivare a dover dissipare100 MW di potenza e richiederebbe un im-pianto di raffreddamento grande come unedificio di tre piani e al buio apparirebbe do-tato di una certa luminosità.L’idea dei sistemi cellulari, come Blue Gene,è allora quella di utilizzare un numero molto

grande, fino a decine di migliaia di chip conun disegno sufficientemente semplice danon richiedere un’elevata potenza elettricaindividuale.Sembra, però, possibile anche un’altra stra-da che è quella di utilizzare una tecnologiasuperconduttiva denominata Rapid Single-

Flux-Quantum Logic (RSFQ), inventata daKonstantin Likharev della State University diNew York [7].L’elemento chiave di questa tecnologia so-no microscopici anelli che possono quasiistantaneamente commutare dallo statomagnetizzato a quello non-magnetizzato (0e 1) senza, praticamente, consumare poten-za. Gli anelli possono rimpiazzare gli attualitransistor e consentire di costruire micro-processori fino a mille volte più rapidi diquelli attuali. La tecnologia RSFQ viene oggi utilizzatanell’ambito di un ambizioso progetto de-nominato Hybrid Technology Multi-Threa-

ded (HTMT) supportato dal Defense Ad-

vanced Research Projects Agency (DARPA),dalla National Security Agency (NSA), edalla National Aeronautics and Space Ad-

ministration (NASA). Del progetto fannoparte prestigiosi ricercatori il cui obiettivoè quello di realizzare il petascale compu-ting entro il 2010.

7.4. Il Grid ComputingLa potenza di calcolo complessiva del Web ècertamente enorme ma è facilmente intuibi-

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

62

60% / anno

CPU

DRAM

7% / anno

Gap50% / anno

1000

100

10

1

Pres

enta

zion

e

1980

1981

1982

1983

1984

1985

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

FIGURA 4Il latency gap

delle DRAM

le, anche per quanto è stato detto finora, chea causa della latency di memoria e dell’etero-geneità del bandwidth tale potenza non pos-sa facilmente essere utilizzata per eseguire,in modo unitario, applicazioni che richiedanogrande capacità di calcolo.Esistono, comunque, classi di applicazioni,le cosiddette loosely coupled application,che, pur richiedendo elevata capacità di cal-colo, non hanno vincoli di esecuzione parti-colarmente stringenti e che, inoltre, si pre-stano a essere suddivise per essere esegui-te su molteplici sistemi.In questo caso, la definizione stessa di ap-plicazione tende a diventare abbastanza in-definita perché, una volta che differenti se-quenze di istruzioni vengano eseguite quasiindipendentemente per risolvere un proble-ma, non è chiaro se esse possano comples-sivamente venire a costituire un’unica ap-plicazione in senso classico.Un programma di suddivisione del softwareapplicativo sui sistemi del Web è, comun-que, in atto da parte di organizzazioni e co-struttori diversi nell’ambito di una strategiache prende complessivamente il nome diGrid Computing.Secondo questo modello, non importa do-ve specifiche sequenze di istruzioni venga-no eseguite, quanto piuttosto che la lorosincronizzazione complessiva, e quindi ilraggiungimento del risultato, vengano rag-giunti.Il termine grid deriva dall’analogia con in-frastrutture già esistenti, come quella elet-trica o quella dell’acqua. Nell’aprire un rubi-netto o nell’accendere una lampada non cisi domanda da dove provenga l’acqua o l’e-lettricità: l’importante è che queste sianorese disponibili. Analogamente, nel GridComputing, quando una sequenza di istru-zioni deve essere eseguita, non importaquale processore se ne farà carico: il siste-ma complessivo dovrà individuarlo nell’am-bito di quelli disponibili in rete e ivi verran-no eseguite le istruzioni.Con una simile strategia è intuibile che ilmodello di sviluppo applicativo venga ulte-riormente modificato. Già nel passaggiodall’informatica centralizzata degli anni’60-’70 a quella sempre più distribuita (soprat-tutto client-server) degli anni ’80-’90, si era

assistito all’evolversi delle tecniche di mo-dularizzazione del software applicativo. Dalle semplici chiamate call-return nell’am-bito di un solo sistema si era passati ad ap-

plication programming interface che dove-vano coordinare logicamente (e fisicamen-te) l’esecuzione di sequenze di istruzioniche potevano risiedere su sistemi diversi eanche ubicati remotamente. Poiché i vari si-stemi potevano avere anche un’architetturadiversa, oltre ai diversi sistemi operativi at-tivi sui rispettivi computer, diventava neces-saria l’aggiunta di una specie di “colla”software che consentisse di collegare tali si-stemi in una visione logica complessiva, main maniera il più indolore possibile, soprat-tutto, per i programmatori applicativi. Talecolla prese il nome di middleware, ossia ilsoftware che si poneva in mezzo.In una strategia Grid Computing il mid-dleware, che qualcuno già scherzosamentechiama griddleware, diventerà elemento difondamentale importanza e il ruolo di orga-nizzazioni come CORBA, Legion, Globus[10, 11] è proprio quella di ottimizzare estandardizzare quanto più possibile talemiddleware.

8. ALGORITMI E MODELLIAPPLICATIVI

Quanto detto fin qui, ha soprattutto eviden-ziato l’evoluzione della tecnologia di base,del disegno delle macchine e in parte dei si-stemi operativi. Resta, però, da considerarel’importantissimo ruolo che svolgerà ilsoftware applicativo per conseguire real-mente il petascale computing. È necessario,innanzitutto, considerare l’importanza deglialgoritmi. Quest’ultimo è un aspetto spessosottovalutato. Infatti, per utilizzare al me-glio un computer che esegua contempora-neamente su molteplici complessi circuitalisvariati gruppi di istruzioni occorre risolveredue problemi. È necessario, innanzitutto,sviluppare in software un algoritmo che sipresti a essere suddiviso in più parti, ossiain diverse sequenze di istruzioni, da esegui-re in parallelo. In secondo luogo, occorre di-sporre di un linguaggio, quello che in gergoinformatico si chiama un compilatore, chesappia ottimizzare nelle giuste sequenze da

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

63

0

0

0

1

distribuire in parallelo le istruzioni scrittedal programmatore.La progettazione di un algoritmo efficienteè, spesso, più efficace di un hardware sofi-sticato. Basti pensare a un algoritmo tra ipiù banali: quello della moltiplicazione. Sipotrebbe, ad esempio, sommare 57 volte ilnumero 23 su se stesso, ma questo proce-dimento, anche per un uomo, sarebbe mol-to più lungo del notissimo algoritmo checonsente di moltiplicare i due numeri traloro con pochi passaggi aritmetici. È intui-bile che si possano sviluppare algoritmimolto raffinati ed è questo un fondamenta-le terreno di ricerca nel disegno dei super-computer.Purtroppo, non è facile trovare la soluzionegiusta. Con la disponibilità del calcolo paral-lelo, il ricercatore che debba sviluppare unanuova applicazione potrebbe essere invo-gliato a cercare fin dall’inizio algoritmi intrin-secamente parallelizzabili. Più difficile è, evi-dentemente, il compito di chi debba riadatta-re software applicativo già esistente allenuove possibilità tecnologiche.Il paragone con il gioco degli scacchi può es-sere utile, non solo per comprendere l’acca-nimento con il quale l’industria del computerha cercato, negli ultimi anni, di sconfiggeredi volta in volta il campione del mondo in ca-rica, ma anche per capire meglio il tema del-la complessità algoritmica.L’input per un programma che gioca a scac-chi è la specifica disposizione dei pezzi, os-sia la configurazione di una scacchiera, chein un’analogia biologica può corrisponderealla sequenza di aminoacidi di una protei-na. L’algoritmo scacchistico cerca, in una li-breria elettronica di partite giocate daigrandi maestri, se vi sia una configurazionequasi identica. Se questa viene trovata, lamossa successiva sarà uguale a quella ef-fettuata nella partita omologa individuatanella libreria.In modo analogo, il modello tridimensionaledella nuova proteina può essere costruitousando come stampo la struttura della pro-teina di riferimento.Fino al 30% delle proteine relative a genomi,pienamente sequenziali, mostra una rasso-miglianza alla sequenza genomica di protei-ne la cui struttura è già nota, cosicché anche

per le prime può esserne costruito un buonmodello tridimensionale.Ma se non c’è una sufficiente rassomiglianzaossia se, nell’analogia, la configurazionedella scacchiera non è immediatamente rico-noscibile tra quelle delle partite memorizzateelettronicamente, che fare?Nel gioco degli scacchi occorre un algoritmodi riconoscimento delle possibili rassomi-glianze tra le configurazioni dei pezzi moltopiù raffinato che nella tecnica cosiddettadell’omologia. In quest’ultima, come giàdetto, la configurazione della partita in gio-co e quella della partita memorizzata sonopressoché identiche. Ma nella tecnica del ri-conoscimento di forma delle proteine (foldrecognition) le rassomiglianze, riconosciutecome tali, devono essere catturate in ma-niera più sottile.A questo punto, può veramente entrare ingioco la potenza di calcolo del computer che,come si è visto, sembra poter ancora cresce-re in maniera considerevole. Le prospettivetecnologiche sono, quindi, molto incorag-gianti e indicano che la tecnologia di semi-conduttore, il disegno dei sistemi cellulari ela progettazione di sofisticati algoritmi sa-ranno sinergicamente in grado di fornire nelprossimo decennio una crescita nella capa-cità di elaborazione che va persino al di làdella cosiddetta prima legge di Moore. Si po-tranno, allora, affrontare con maggior ottimi-smo le sfide dei prossimi anni e si schiuderà,probabilmente, un’epoca nella quale saràpossibile migliorare in maniera sorprendentela qualità della vita. Forse si potranno predireterremoti e maremoti, si potrà sapere in anti-cipo come saranno le stagioni, comprenderel’andamento dei mercati finanziari, progetta-re nuovi materiali, coltivare meglio i terreni,ma, soprattutto, venire a capo di alcuni fla-gelli, come le malattie degenerative, che rap-presentano, tuttora, un incubo per la mag-gior parte dell’umanità.

Bibliografia[1] Amdahl’s law: www.sc.ameslab.gov/publica-

tions/AmdahlsLaw/Amdahls.pd

[2] Advanced Simulation and Computing at Law-rence Livermore National Laboratory:www.llnl.gov./asci

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

64

[3] Blue Gene: A vision for protein science using apetaflop supercomputer: http://www.resear-ch.ibm.com/journal/sj/402/allen.html

[4] Hybrid Technology Multi-threaded (HTMT) Ar-chitecture Project: http://ess.jpl.nasa.gov/sub-pages/reports/00report/lc_00.htm

[5] Information Technology Research: Investing inOur Future, President’s Information TechnologyAdvisory Committee Report to the President:www.ccic.gov/ac/report

[6] International Technology Roadmap for Semi-conductors, SIA, Austin, Texas, 1999:http://public.itrs.net/files/1999_SIA_Road-map/Home.htm

[7] Likharev K: Rapid Single Flux Quantum (RSFQ)

Logic. In Encyclopedia of Material Science andTechnologyRSFQL:http://gamayun.physics.sunysb.edu/RSFQ/publications.html

[8] Mitros P: Computing in Memory:http://www.ai.mit.edu/projects/aries/cour-se/notes/pim.html

[9] Overview of HTMT: http://www.cacr.calte-ch.edu/powr98/presentations/htmt/sld001.htm

[10] Foster I, Kesselman C: The Globus Project: AStatus Report: http://citeseer.nj.nec.com/fo-ster96globu.html

[11] Grimshaw Andrew S, Wulf Wm A: The Legion vi-sion of a worldwide virtual computer: http://por-tal.acm.org/citation.cfm?id=242867&coll=por-tal&dl=ACM&ret=1

[12] van der Steen AJ, Dongarra JJ: Overview of re-cent supercomputers.http://www.phys.uu.nl/~steen/web02/over-view02.html

[13] TOP500 SUPERCOMPUTER SITES:www.TOP500.org

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

65

0

0

0

1

ERNESTO HOFMANN, laureato in fisica presso l’Università di Roma. È entrato in IBM nel 1968 nel Servizio di Cal-colo Scientifico.Nel 1973 è diventato manager del Servizio di Supporto Tecnico del Centro di Calcolo dell’IBMdi Roma. Dal 1984 è Senior Consultant. È autore di molteplici pubblicazioni sia di carattere tecnico sia divul-gative, nonché di svariati articoli e interviste. Dal 2001 collabora con l’Università Bocconi nell’ambito di unprogetto comune [email protected]