Supercomputer

Il supercomputer (o supercalcolatore) è un tipo di sistema di elaborazione progettato per ottenere capacità di calcolo con un numero di cifre, dette bit, estremamente elevate rispetto a quelle dei calcolatori, base, presenti prima della realizzione (assemblaggio) della  macchina superiore che si sta realizzando.

Storia 

Sono considerati supercomputer i computer con la massima capacità di calcolo esistente nella contemporanea generazione evolutiva, in corso nel pianeta in un dato periodo storico. Questa definizione comprende i primi calcolatori a partire dalla macchina analitica di Babbage passando per i vari modelli di Zuse (i primi computer funzionanti) fino ad arrivare ai supercomputer dei giorni nostri.

Molti esperti dell'informatica invece fanno risalire i supercomputer agli anni cinquanta e in particolare al NORC prodotto da IBM per via delle soluzioni particolari adottate per ottenere una macchina con le migliori prestazioni di calcolo e quindi con soluzioni tecniche elettroniche e di programmazione diverse da quelle utilizzate per i modelli fino ad allora creati.

Il termine super computing venne utilizzato per la prima volta dal quotidiano New York World nel 1920 in un articolo che descriveva una macchina elettromeccanica costruita dall'IBM per la Columbia University

Tra gli anni sessanta e la metà degli anni settanta la società CDC con i suoi supercomputer fu l'azienda leader del settore. I tecnici della CDC per ottenere elevate prestazioni di calcolo svilupparono diverse soluzioni tecnologiche come l'utilizzo di processori specializzati per i diversi compiti (CDC 6600) l'utilizzo di pipeline (CDC 7600) e l'utilizzo di processori vettoriali (CDC STAR-100). Scelte strategiche della CDC rischiarono di far fallire la società e alcuni tecnici insoddisfatti dei dirigenti della società abbandonarono la CDC per tentare nuove strade. Tra questi il più famoso fu Seymour Cray che con il Cray-1 segnò una nuova strada per le soluzioni tecnologiche utilizzate e per l'elevata potenza di calcolo sviluppata.

Dalla metà degli anni settanta fino alla fine degli anni ottanta la Cray Research rappresentò il leader nel settore del supercalcolo. Cray estese le innovazioni utilizzate nelle macchine della CDC portandole al loro estremo ed utilizzando soluzioni innovative come il raffreddamento a liquido o delle strutture a torre ove alloggiare le schede con le unità di calcolo in modo da ridurre la lunghezza media delle connessioni.

Durante gli anni 80 si assistette alla nascita di molte società che svilupparono sistemi di calcolo ad alte prestazioni. Queste piccole società entrarono in concorrenza con realtà affermate come IBM o Cray e le costrinsero a effettuare radicali riduzioni di prezzo dei sistemi per rimanere competitive.
Alla fine degli anni 80 e anni novanta i supercomputer divennero macchine a parallelismo massivo basate su centinaia se non migliaia di processori elementari. Inizialmente questi processori erano ancora dei processori sviluppati esplicitamente per il supercalcolo come quelli utilizzati dal CM-5/1024 ma verso la fine degli anni novanta oramai si era passati definitivamente a processori generici che fornivano elevate prestazioni e costi ridotti per via della produzione in serie attuata da ditte come Intel o AMD. Le piccole ditte nate durante gli anni 80 erano fallite o erano state assorbite dalle grosse società, la stessa Cray fallì e fu acquisita dalla Silicon Graphics.

Negli ultimi anni i supercomputer sono macchine sempre più parallele e dotate di un numero sempre maggiore di processori elementari. Esempio eclatante fu il Blue Gene/L che con i suoi 212 992 processori divenne la macchina più potente del pianeta quando fu presentato. Lo sviluppo di questi sistemi oramai è svolto da grandi società di informatica come IBM o HP per via degli elevati costi di realizzazione dei sistemi di calcolo. I supercomputer oramai sono macchine costruite su ordinazione, sono pezzi unici progettati per le specifiche necessità dell'acquirente e realizzati assemblando componenti standard in modo da contenere i costi di sviluppo e produzione.

È da notare che l'Europa dopo un inizio promettente non ha mai trainato la ricerca dell'ambito dei supercomputer e in generale dei computer. Dalla seconda guerra mondiale fino agli anni 90 gli Stati Uniti d'America hanno praticamente posseduto sempre i più potenti computer del pianeta. Ma dagli anni 90 in poi il Giappone ha iniziato ad imporsi come concorrente credibile all'egemonia statunitense grazie a cospicui finanziamenti pubblici a progetti di supercalcolo svolti da società nipponiche in cooperazioni con le locali università, particolarmente significativo è stato lo sforzo di NEC nel settore. Negli anni 2000 il progetto Blue Gene (finanziato dal Dipartimento della Difesa Statunitense) ha rinsaldato la posizione statunitense, ma negli ultimi anni progetti cinesi e giapponesi sembrano poter rimettere in discussione la leadership statunitense.

Descrizione

Filosofia 
Ciò che differenzia un supercomputer da un classico computer non è solo la maggior potenza di calcolo ma anche le architetture utilizzate per sviluppare queste macchine. I classici computer sono progettati secondo l'architettura di von Neumann, dato che le operazioni che l'utente esegue di solito con la macchina possono essere svolte in modo efficiente da questa architettura. I supercomputer invece spesso analizzano molti dati senza una vera interazione dell'utente, dato che usualmente devono eseguire un numero ridotto di operazioni su un elevato numero di dati. I supercomputer, quindi, utilizzano architetture alternative che sono in grado di assolvere questi compiti con maggiore efficienza rispetto all'architettura di Von Neumann.

Negli ultimi anni questa distinzione si è comunque affievolita, dato che il diffondersi dei giochi tridimensionali ha costretto i computer classici e le loro schede grafiche ad adottare soluzioni sviluppate per i supercomputer, consentendo di ottenere elevate prestazioni a prezzi modesti, poiché i componenti sono venduti in decine (o centinaia) di milioni di pezzi e, quindi, i costi di ricerca e sviluppo sono distribuiti su un numero di elementi molto ampio.

Contestualmente l'aumento della potenza di calcolo dei microprocessori per computer, e problemi di carattere tecnico legati alla difficoltà di elevare le frequenze di funzionamento delle CPU, hanno spinto il settore del supercalcolo verso l'utilizzo di soluzioni classiche in modo da abbattere i costi senza penalizzare le prestazioni. Infatti i supercomputer più potenti del pianeta utilizzano microprocessori standard in collaborazioni con schede grafiche. I processori grafici delle schede grafiche si sono rivelati essere molto prestanti per alcune tipologie di operazioni matematiche comuni sulle elaborazioni scientifiche, quindi i moderni supercomputer utilizzano batterie di schede grafiche ad alte prestazioni.

Caratteristiche 

I supercomputer sono ovviamente strumenti costosi, normalmente di proprietà di società o enti di ricerca che condividono il loro utilizzo tra molti dipendenti/ricercatori. Vista la velocità attuale dello sviluppo tecnologico nel campo dell'informatica e dei microprocessori, di solito perdono l'aggettivo "super" dopo pochi anni dalla loro nascita, superati da macchine ancora più potenti.

In passato, i supercomputer erano dotati di architetture più sofisticate e componentistica migliore degli usuali computer al fine di poter svolgere con maggior efficienza le elaborazioni assegnate. Tuttavia, a partire dagli anni novanta, il divario fra la potenza delle CPU per supercomputer e i normali microprocessori commerciali è andato assottigliandosi progressivamente, e l'architettura dei supercomputer ha visto crescere progressivamente il numero di CPU impiegate. Attualmente la maggior parte dei nuovi supercomputer in progetto e di quelli in funzione sono basati su cluster di migliaia o addirittura centinaia di migliaia di unità di calcolo non molto più potenti di un buon personal computer, connesse da reti locali ad alta velocità e coordinate da estensioni apposite del sistema operativo adottato, generalmente una versione di Unix: una di queste estensioni, openMosix, è anche open source.

Un parallelismo di calcolo simile è sfruttato da qualche anno a questa parte anche nei computer commerciali con le cosiddette tecnologie multicore.

Il parallelismo sempre più massiccio dei supercomputer e in generale delle macchine nate per garantire elevate capacità di calcolo ha stimolato molte ricerche in campo software per esplicitare il parallelismo intrinseco nelle operazioni e nei programmi: queste ricerche hanno portato alla definizione di alcuni linguaggi di programmazione paralleli, come l'Occam,

Prestazioni 
La velocità dei supercomputer viene generalmente misurato in "FLOPS" (FLoating Point Operations Per Second) o in suoi multipli come il TeraFLOPS (1012 FLOPS). Questa misura viene ottenuta eseguendo particolari benchmark che simulano classi di problemi reali per permettere un confronto obiettivo tra le varie macchine. Normalmente i benchmark effettuano una decomposizione LU di un'ampia matrice, un problema simile ai problemi presenti in campo scientifico ma sufficientemente semplice da essere eseguito in tempi ragionevoli.

Utilizzi 
I supercomputer vengono utilizzati per realizzare processi di calcolo intensivi come le previsioni meteorologiche (incluse le analisi sull'incidenza dell'inquinamento sull'ambiente), le analisi molecolari (calcolo della struttura tridimensionale e del loro ripiegamento, delle proprietà chimiche, ecc) simulazioni fisiche (simulazioni di fluidodinamica, simulazioni di detonazioni nucleari, di astrofisica, di fisica nucleare ecc), crittoanalisi e altro. I militari e le agenzie governative di tutte le nazioni ne fanno un uso molto intenso. Anche le aziende industriali ne stanno sperimentando l'utilità per i calcoli di previsione e di gestione di grandi volumi di dati che devono essere processati dall'APS (Advanced Planning System) del loro sistema gestionale (ERP).

Hardware

Architettura 

I supercomputer per ottenere prestazioni sempre più elevate nel corso degli anni hanno esplorato molte strade e sviluppato architetture hardware diverse dalle solite architetture utilizzate nei computer. Queste architetture sono ottimizzate per eseguire alcune tipologie di operazioni mentre sono inefficienti per altre elaborazioni e quindi le architetture sono state sviluppate a seconda dello scopo alla quale era dedicata la macchina.

Tecniche di elaborazione 
Il calcolo vettoriale venne sviluppato nei supercomputer e viene attualmente utilizzato per migliorare le elaborazioni di alcune tipologie di programmi. Dalle tecnologie di elaborazione vettoriale sono derivati i DSP e le elaborazioni SIMD che attualmente sono presenti in praticamente tutti i processori moderni tramite set specializzati di istruzioni.

Le moderne console in particolare utilizzano l'elaborazione SIMD in modo molto esteso e in alcuni contesti queste macchine possono mostrare prestazioni paragonabili a sistemi molto più costosi. All'interno delle moderne schede grafiche inoltre si trovano processori specializzati in grado di generare potenze di calcolo dell'ordine dei TeraFLOPS grazie all'elaborazione SIMD. Le applicazioni delle schede grafiche sono stati storicamente legate all'elaborazione video per via dei limiti di programmazione dei processori grafici (GPU). Ma il costante incremento di potenza delle schede grafiche (spinto in maniera rilevante dal mercato dei videogiochi) e lo sviluppo di processori grafici evoluti che consentono una programmazione più aperta degli stessi ha spinto molti gruppi di ricerca a sviluppare progetti volti all'utilizzo della potenza di calcolo dei processori grafici per applicazioni generiche. Questi programmi ricadono sotto il nome di General-Purpose Computing on Graphics Processing Units (GPGPU.)

Sviluppo 
Lo sviluppo nel settore dei supercomputer si è concentrato su alcune aree specifiche come aumentare la velocità di accesso alla memoria, aumentare la velocità dei singoli componenti e incrementare il parallelismo della macchina suddividendo le operazioni su più unità funzionali in modo da incrementarne le prestazioni.

Bisogna tenere conto che tutti i supercomputer devono sottostare alla legge di Amdahl e quindi i progettisti cercano di rendere le macchine il più possibile parallele e a sfruttare l'hardware al massimo in modo da eliminare i colli di bottiglia del sistema.

Sfide tecnologiche 

Il settore del supercalcolo, oltre a dover affrontare i classici problemi tecnologici dei computer, deve affrontare dei problemi che nel settore dei computer personali non sono presenti o sono meno pressanti.

 I supercomputer generano molto calore e quindi la dissipazione del calore è un problema primario nel settore del calcolo ad alte prestazioni. L'eccessivo calore prodotto oltre a porre problemi di dissipazione rappresenta un elevato costo per gli enti che acquistano i supercomputer. Un supercomputer ad elevate prestazioni può consumare più di un megawatt e bisogna tenere conto che le macchine spesso sono utilizzate 24 ore al giorno per 365 giorni all'anno.
 Le informazioni non possono viaggiare più velocemente della velocità della luce e quindi i supercomputer cercano di mantenere i collegamenti il più corti possibili in modo da ridurre le latenze di collegamento. Per esempio i supercomputer Cray spesso hanno una forma cilindrica per permettere dei collegamenti brevi tra le varie unità funzionali.
 I supercomputer utilizzano e generano elevatissime quantità di dati in lassi di tempo molto ridotti. Lo sviluppo di sistemi di I/O efficienti e molto veloci è uno dei problemi primari dei supercomputer. Questo coinvolge sia le unità di memorizzazione fisse che le memorie volatili come le RAM dei supercomputer. Le memorie RAM per esempio sono molto più lente delle CPU e ogni anno questa differenza di prestazioni aumenta poiché le memorie aumentano la loro velocità del 10%, mentre i processori aumentano la loro velocità del 60%.

Le tecnologie sviluppate per i supercomputer comprendono
 Processori vettoriali
 Raffreddamento a liquido
 Non-Uniform Memory Access (NUMA)
 Hard disk in parallelo (in seguito questi sistemi vennero chiamati RAID)
 Filesystem paralleli

Software 
Per utilizzare i supercomputer i programmi spesso vanno implementati per sfruttare al massimo le peculiarità elettroniche  delle macchine. I software per il calcolo distribuito utilizzano API come le MPI o PVM o soluzioni software open source come Beowulf o openMosix per creare delle specie di supercomputer virtuali utilizzando computer ordinari collegati da reti locali ad alta velocità. Tecnologie come Zeroconf (Bonjour) consentono di realizzare supercomputer virtuali per compiti specifici. Per esempio il software Shake di Apple utilizza la tecnologia ZeroConf per individuare altri computer utilizzate lo stesso software nella rete locale e per suddividere i compiti di calcolo sui vari computer. Quasi tutti i programmi di grafica tridimensionale permettono funzionalità simili. Sebbene nessuna soluzione basata su computer ordinaria sia mai riuscita a diventare il più potente computer del pianeta questa distinzione si sta sempre più assottigliando e in un prossimo futuro potrebbe scomparire. Attualmente il maggior problema aperto nel settore dei supercomputer è la realizzazione di linguaggi di programmazione semplici in grado di sfruttare il parallelismo delle macchine.

Sistemi operativi 

Da recenti statistiche risulta che oltre il 96% dei primi 500 supercomputer a noi noti utilizzano esclusivamente sistemi operativi basati su Linux e soltanto una piccolissima parte utilizzi invece varianti di Unix o Microsoft. È altresì possibile valutare come i supercomputer con i sistemi operativi di famiglia Linux siano di fatto anche quelli che garantiscono le più alte prestazioni, in quanto il 96,4% dei 500 supercomputer che utilizzano Linux "forniscono" il 97,9% dei GFlops totali dei primi 500 supercomputer.

Le interfacce grafiche sono molto più sviluppate che in passato ma comunque sono tendenzialmente meno sviluppate rispetto a quelle utilizzate dai personal computer dato che gli sviluppatori tendono a non dedicare troppo tempo alle estensioni non essenziali del sistema operativo (per non essenziali si intendono tutti i componenti che non contribuiscono direttamente all'elaborazione delle informazioni o alla ottimizzazione delle elaborazioni).
Questo è logico considerando che gli utilizzatori finali saranno un numero limitato di utenti che dovrebbero avere una conoscenza discreta dell'informatica e che quindi non dovrebbero venir impressionati da un'interfaccia grafica spartana. Comunque la diffusione di Linux ha consentito di riutilizzare molte interfacce grafiche sviluppate per i personal computer migliorando l'interfaccia grafica rispetto ai modelli prodotti negli anni precedenti.

Interessante è che negli ultimi anni i principali competitori nel settore del supercalcolo come Silicon Graphics perdono commesse a favore di società come NVIDIA che sviluppando prodotti per il mercato dei personal computer dispone di molti fondi da investire in ricerca e sviluppo. La continua ricerca di prestazioni superiori spinge queste società a presentare prodotti competitivi con quelli delle classiche società leader del supercalcolo ma a una frazione del loro costo per via dell'economia di scala che le società indirizzate al settore dei personal computer possono realizzare.

Storicamente i supercomputer preferivano sacrificare la compatibilità con il passato pur di ottenere prestazioni sempre più elevate. Quindi le nuove generazioni di sistemi non erano compatibili con il passato. Questo non era un vero problema dato che spesso gli utilizzatori di supercomputer sviluppavano internamente le applicazioni che utilizzavano e quindi adattare i programmi per le nuove macchine non era una procedura molto costosa. Questo spingeva le società produttrici ad avere diversi sistemi operativi per le loro macchine. Cray per esempio ha sviluppato sei versioni distinte del suo sistema operativo UNICOS e prima di questo sistema operativo aveva sviluppato altri sistemi operativi ovviamente incompatibili tra di loro. Altri produttori seguirono strade simili e difatti sebbene quasi tutti i supercomputer utilizzano varianti Unix fin dagli anni 70 la maggior parte sono incompatibili tra di loro. Negli ultimi anni con la diffusione di Linux si è avuto un processo di riduzione e consolidamento ma comunque i sistemi ad alte prestazioni e i sistemi sviluppati per ottenere elevata sicurezza tendono ad includere delle estensioni proprietarie che rendono i vari sistemi operativi di fatto incompatibili.

Programmazione 
Le architetture parallele dei supercomputer richiedono particolari tecniche di programmazione per poter sfruttare efficacemente la potenza di calcolo in parallelo di tali sistemi. Il Fortran rimane un linguaggio molto diffuso nella comunità scientifica per via della sua semplicità rispetto a linguaggi come il C o il C++ e per via del fatto che i compilatori ottimizzati per alcune applicazioni riescono a realizzare codice più efficiente di quello generato dai compilatori C. Per sfruttare il parallelismo delle macchine vengono messi a disposizione strumenti di programmazione come le PVM e il MPI per cluster di computer collegati da reti non velocissime e OpenMP per gestire macchine con memorie condivise con elevate latenze. Negli ultimi anni, a questi linguaggi storici, si sono affiancati linguaggi più recenti come CUDA o OpenCl per poter sfruttare le gpu presenti.

Tipi di supercomputer 

Ci sono tre grandi categorie di supercomputer per compiti generici:
 Macchine vettoriali, queste macchine eseguono la stessa operazione (aritmetica o logica) su molti dati contemporaneamente. Attualmente i processori dotati di istruzioni in grado di comportarsi in questo modo vengono definiti processori con istruzioni SIMD e non vengono conteggiati come processori vettoriali dato che non è la loro principale modalità di funzionamento.
 Computer paralleli, sono formati da un insieme di nodi di calcolo collegati da reti telematiche ad alta velocità. Normalmente utilizzano un'architettura della memoria di tipo NUMA. I processori, le memorie e la rete di comunicazione viene progettata fin dall'inizio per venir assemblata in un sistema formato da molti nodi.
 Cluster, un elevato numero di personal computer collegati da reti telematiche veloci a bassa latenza.

Attualmente la legge di Moore e l'economia di scala domina il settore dei supercomputer e la loro progettazione. Un singolo computer moderno è più veloce di un supercomputer di quindici anni fa, inoltre le tecniche per ottenere elevate potenze di calcolo che una volta erano ad appannaggio dei supercomputer ora sono comuni tra i computer. Progettare dei circuiti integrati oramai richiede consistenti investimenti e se l'integrato viene prodotto in un numero limitato di pezzi il costo di sviluppo incide in maniera eccessiva sul prodotto, quindi si tendono a prediligere componenti prodotti in serie in modo da spalmare il costo di sviluppo su milioni di esemplari.

Infine molti problemi analizzati dai supercomputer possono venir parallelizzati in modo efficace. Molti problemi sono parallelizzabili in modo da accedere raramente alla memoria principale concentrando la maggior parte degli accessi in una zona di memoria vicini al processore e quindi veloce. Questo permette di non sovraccaricare la rete in un sistema a cluster. Per questo motivo i supercomputer dotati di pochi processori molto veloci sono oramai limitati alle applicazioni che non sono parallelizzabili.

Supercomputer specializzati 

I supercomputer specializzati sono dispositivi ad alte prestazioni sviluppati per eseguire compiti specifici. Usualmente sono sviluppati implementando in hardware su chip FPGA o su chip custom VLSI le funzioni da svolgere per risolvere il problema. Questa soluzione offre un rapporto prezzo prestazioni ottimale ma ovviamente sacrifica la generalità dato che una volta risolto il problema la macchina non può essere indirizzata a svolgere altri compiti senza una riprogrammazione/sostituzione delle componenti custom.

Questi sistemi vengono utilizzati per la crittanalisi, per le analisi astrofisiche o anche per simulazioni di bioinformatica.

Esempi di supercomputer specializzati sono:
 Deep Blue, sviluppato per giocare a scacchi.
 GRAPE per l'astrofisica.
 Deep Crack per forzare il DES.
 Anton, dedicato alle ricerche su dinamiche molecolari.

Quasi supercomputer 
Molti progetti di calcolo distribuito sviluppano una potenza di calcolo comparabile a quella sviluppata dai più potenti supercomputer del pianeta. Un esempio è il progetto SETI@home che è in grado di sviluppare fino a 72,53 TFLOPS.

Il 16 maggio 2005 il progetto distribuito Folding@home riuscì a sviluppare fino a 700 TFLOPS di picco utilizzando computer e console che supportano il progetto.

Il progetto GIMPS per la ricerca dei numeri di Mersenne sviluppa circa 20 TFLOPS a febbraio 2006.

Si stima che il motore di ricerca Google sviluppi tra i 126 e i 316 TFLOPS, con un sistema composto da un numero compreso tra 32.000 e 79.000 dual Xeon a 2 GHz Si sa che i server sono distribuiti sul pianeta anche perché un tale numero di computer occuperebbero un edificio enorme e sarebbero logisticamente difficili da raffreddare se posizionati tutti nello stesso ambiente, quindi si presume che i computer lavorino in modalità Grid.

Supercomputer esistenti

Il più potente supercomputer del pianeta 

Il 25 marzo 2005 il prototipo IBM Blue Gene/L era il più potente computer del pianeta. Successivi ampliamenti del sistema lo portarono a generare 70,72 TeraFLOPS (1012 FLOPS) grazie a 32.768 processori installati. Il supercomputer utilizzava dei processori PowerPC 440 modificati appositamente per questa architettura. Successivi ampliamenti della macchina hanno portato il sistema ad avere 131.072 processori e a generare 280 TeraFLOPS. A novembre 2006 il BlueGene/L era la più potente macchina del pianeta secondo il sito TOP500. Nel giugno 2006 il sistema con 131.072 processori ottenne un nuovo record sviluppando 207.5 TFLOPS in un'applicazione reale. Nel 2008 il sistema IBM Roadrunner ha superato la soglia del petaFLOPS. Nel 2009 il sistema Cray Jaguar ha quasi raddoppiato le prestazioni del computer IBM e verso la fine del 2010 il sistema cinese Tianhe-1A ha superato i supercomputer statunitensi diventando il più potente computer del mondo.

L'MDGRAPE-3 è un computer completato nel giugno 2006 in grado di sviluppare un PetaFLOPS di potenza, il sistema non entra nella classifica dato che è un computer specializzato per simulazione delle interazioni chimiche e quindi non è in grado di eseguire i benchmark utilizzati per confrontare i sistemi di calcolo.

Nel 2017 il cinese Sunway TaihuLight batte il record del precedente supercomputer cinese Tianhe - 2.

Nel 2018 viene realizzato nel Oak Ridge National Laboratory il supercomputer OLCF-4 o Summit con una velocità di calcolo di 200 petaFLOPS. Summit è il primo supercomputer a superare la barriera dell'exascale, che ha raggiunto durante una analisi genomica, raggiungendo i 1,88 exaFLOPS e si stima possa arrivare ai 3,3 exaFLOPS utilizzando un mix di metodi e sistemi di calcolo di precisione; questo fa del Summit attualmente il più potente elaboratore al mondo.

Precedenti supercomputer del pianeta 
Prima dell'arrivo dei sistemi BlueGene/L il record di computer più veloce del pianeta era il NEC Earth Simulator del Yokohama Institute for Earth Sciences in Giappone. Il cluster era formato da 640 schede fornite di processori vettoriali a 8 vie basati sull'architettura NEC SX-6 per un totale di 5.120 processori. Il sistema utilizza una versione appositamente sviluppata del sistema operativo UNIX.

Al momento dell'introduzione dell'Earth Simulator il computer era cinque volte più veloce del precedente computer l'ASCI White al Lawrence Livermore National Laboratory. L'Earth Simulator è rimasto il più potente computer del pianeta per due anni e mezzo.

I supercomputer odierni sono prodotti da una ristretta cerchia di aziende, tra cui IBM, SGI, Sun Microsystems, HP, NEC, Fujitsu, Bull e Cray. Si vanno diffondendo i sistemi prodotti in modo "amatoriale", ossia mettendo insieme un grande numero di normali PC attraverso una rete veloce di comunicazione. Per esempio, il cluster System X della Virginia Tech University ha raggiunto la posizione numero tre nel novembre 2003.

I grafici costruiti dal sito (come questi) mostrano un aumento della potenza di calcolo negli anni regolare, come previsto dalla Legge di Moore.

L'elenco dei 500 computer più potenti del pianeta la TOP500 è gestita e mantenuta dal sito omonimo.

Supercomputer futuri 

In Italia, a Bologna, verrà realizzato il supercomputer Leonardo con una potenza di 270 petaFLOPS e che farà parte della rete di calcolo europea ad alte prestazioni EuroHPC. La rete di calcolo europea, oltre a quello italiano, prevede la realizzazione anche di altri due supercomputer pre-exascale con prestazioni paragonabili e comunque in grado di posizionarsi tra i primi 5 elaboratori al mondo per potenza di calcolo, e di altri 5 elaboratori con potenze di calcolo di almeno 4 Petaflops ciascuno.

Sun Microsystems ha presentato il sistema Sun Constellation System, un sistema scalabile e modulare. Il sistema può utilizzare come processore centrale UltraSPARC T1 prodotto da Sun, l'Opteron "Barcelona" quad-core prodotto da AMD e il processore Xeon di Intel. La configurazione base del sistema con 6500 processori Opteron sviluppa 420 TeraFLOPS ma Sun dichiara che il sistema sarà scalabile fino a 2 PetaFLOPS.

L'India sta sviluppando un supercomputer che dovrebbe arrivare alla potenza di un PetaFLOPS. Il progetto è diretto da Dr. Karmarkar l'inventore dell'algoritmo di Karmarkar. La società Tata gestisce il progetto.

Il Ministero della Scienza e Educazione giapponese ha commissionato a NEC, Hitachi e Fujitsu il progetto e la realizzazione del supercomputer della prossima generazione, mirando a metterlo in opera entro la fine del 2012. L'unità a microprocessori adotterà due tecnologie: quella vettoriale, proposta congiuntamente da NEC e Hitachi, e quella scalare presentata da Fujitsu. Per un investimento di 115,4 miliardi di yen (ca. 704 milioni di euro), il progetto parla di una capacità operazionale teorica di 10 PetaFLOPS. L'ubicazione sarà nella città di Kōbe all'interno di un edificio che occuperà una superficie di 3.200 m².

Analogamente il Dipartimento dell'Energia USA dell'Argonne National Laboratory ha selezionato la prossima generazione di supercomputer IBM Blue Gene per l'impiego in 16 progetti selezionati che spaziano dai campi dell'energia pulita, alla simulazione e modellazione dei cambiamenti climatici fino alla ricerca per la comprensione dell'universo. Anche per questi supercomputer la capacità di calcolo dovrebbe assestarsi sui 10 PetaFLOPS.

Cronologia dei supercomputer 
Questa lista elenca i supercomputer non specializzati più veloci del pianeta indicando l'anno e la loro localizzazione. Fino al 1993 ci si è basati su varie fonti per la compilazione della classifica, dal 1993 in poi si fa affidamento sulla classifica TOP500.

Note

Voci correlate 
 Calcolo (matematica)
 Computer
 Grid computing
 Mainframe
 Storia del computer

Altri progetti

Collegamenti esterni