Nel 1976, esattamente cinquant’anni fa, Seymour Cray presentava il primo supercomputer moderno della storia: il Cray-1. Una macchina che ancora oggi vale la pena studiare perché sostanzialmente anticipa l’architettura utilizzata negli attuali sistemi HPC. Siamo andati ad indagare cosa lo rendesse unico e come funzionava.

Un ingegnere in cerca di velocità

Seymour Cray aveva già firmato il CDC 6600 e il CDC 7600 quando, nel 1972, fondò a Chippewa Falls, nel Wisconsin, la Cray Research. L’obiettivo era costruire il computer più veloce del pianeta, ma senza limitarsi ad aumentare la frequenza o accumulare componenti. Il primo esemplare del Cray-1 arrivò al Los Alamos National Laboratory nel 1976, e per anni rimase il punto di riferimento assoluto della potenza di calcolo mondiale.

Versione cyberpunk del Cray-1 (Immagine inventata da ChatGPT)
Versione cyberpunk del Cray-1 (Immagine inventata da ChatGPT)

Il cuore del progetto era un’idea semplice ma radicale: invece di elaborare un numero alla volta con cicli lenti e ripetitivi, la macchina applicava la stessa istruzione a interi array di dati. Questa elaborazione di tipo vettoriale rendeva il sistema particolarmente efficace per simulazioni scientifiche, meteorologia e fisica. A renderla concreta contribuiva una pipeline interna che lavorava per sovrapposizione, come una catena di montaggio che non attende mai il completamento di un’operazione per avviarne un’altra. A questo si aggiungeva il chaining, la possibilità di avviare una nuova istruzione vettoriale non appena il risultato della precedente era disponibile, senza aspettare la fine dell’intero vettore.

Cos’è un calcolo vettoriale. In un processore tradizionale, sommare un milione di numeri significa eseguire un milione di istruzioni consecutive. Un processore vettoriale, invece, carica un intero vettore nei registri dedicati e applica la stessa operazione a tutti gli elementi in una pipeline continua. Il tempo non viene speso tanto nel calcolo quanto nell’alimentare il flusso di dati.

Cray-1 in sintesi

AspettoSpiegazione semplicePerché conta
Cos’era il Cray-1Un supercomputer progettato per fare calcoli scientifici molto velocemente.Ha segnato un salto enorme rispetto ai computer dell’epoca.
Idea di baseInvece di lavorare su un numero alla volta, era ottimizzato per trattare gruppi di dati.Questo lo rendeva ideale per simulazioni e calcoli ripetitivi.
Calcolo vettorialeEseguiva la stessa operazione su molti dati in sequenza, in modo efficiente.Aumentava molto la velocità nei problemi numerici.
Registri interniConservava i dati più importanti vicino al processore, senza andare spesso in memoria.Riduceva i tempi di attesa e migliorava le prestazioni.
MemoriaUsava memoria a semiconduttore organizzata in più banchi.Permetteva al processore di ricevere dati più rapidamente.
Struttura fisicaAveva una forma curva e compatta, pensata per accorciare i collegamenti interni.Meno distanza significava meno ritardi nei segnali.
RaffreddamentoGenerava molto calore e usava un sistema di raffreddamento avanzato per l’epoca.Senza raffreddamento efficace, non avrebbe potuto funzionare così veloce.
PrestazioniRaggiungeva circa 160 megaflops, un valore straordinario negli anni Settanta.Oggi è superato da quasi qualsiasi dispositivo moderno, ma allora era rivoluzionario.

La forma che nasconde la fisica

Il telaio del Cray-1, con la sua celebre forma a ferro di cavallo con colonne disposte in un arco di 270 gradi, non era un vezzo estetico. Anzi, nulla era lasciato all’estetica. Seymour Cray e i suoi ingegneri avevano di fronte moltissimi problemi da superare per raggiungere risultati mai raggiunti prima. Uno dei primi era un “semplice” problema elettrico: ridurre la lunghezza dei collegamenti tra i moduli per accorciare i tempi di propagazione dei segnali. Il raffreddamento a Freon e una memoria a semiconduttori organizzata in banchi interlacciati completavano un progetto in cui ogni scelta serviva la stessa causa, cioè far scorrere i dati senza interruzioni.

Cray-1 Supercomputer (Immagine Antonio Dini)
Cray-1 Supercomputer (Immagine Antonio Dini)

Il risultato di questa architettura fu una potenza di calcolo di circa 160 MFLOPS che fecero scuola. Si trattava infatti di una cifra straordinaria per la metà degli anni Settanta, che rese il Cray-1 il computer più veloce al mondo dal 1976 al 1982. Oggi quel numero fa sorridere: qualsiasi smartphone recente lo supera con margine, mentre una CPU o una GPU da scrivania lo lasciano indietro di vari ordini di grandezza, come abbiamo raccontato in questo approfondimento sulla rivoluzione del calcolo quantistico. Il paragone, però, va letto con cautela, perché confronta un’architettura specializzata con sistemi generalisti nati decenni dopo.

Il vero lascito del Cray-1 non è la cifra assoluta ma il metodo: pipeline, vettorializzazione e attenzione ossessiva al layout fisico sono principi architetturali che ritornano ancora oggi, dai processori vettoriali alle GPU per il calcolo scientifico, che non a caso continuano a girare in larghissima parte su Linux.

Il Cray-1 era però tutt’altro che universale: costoso, ingombrante e pensato per un solo tipo di carico, quello numerico scientifico, non anticipava affatto il personal computer né i server general purpose. Invece, era il campione di un altro approccio e di un’altra filosofia.

In altre parole, il Cray-1 è ancora attuale non perché assomigli ai supercomputer di oggi, ma perché aveva individuato il vero collo di bottiglia del calcolo: non la velocità con cui il processore esegue le operazioni, bensì quella con cui i dati riescono a raggiungerlo e a uscirne. È una sfida che, cinquant’anni dopo, continua a guidare la progettazione delle GPU, delle memorie HBM e delle interconnessioni ad altissima velocità come NVLink e CXL su cui si basa il supercalcolo moderno.