title: Cray-2
text: # Cray-2
  
  Il Cray-2 è un supercomputer vettoriale sviluppato dalla Cray Research nel 1985. Quando venne presentato era la macchina più veloce del pianeta e rimpiazzava il precedente Cray X-MP. Il computer venne superato dall'ETA-10G nel 1990.
  
  ## Progetto iniziale
  
  Dopo la presentazione del fortunato Cray-1 Seymour Cray iniziò immediatamente a sviluppare il suo successore. Nel 1979 Cray decise di abbandonare il suo precedente lavoro alla CDC dato lo scarso supporto che questa forniva al suo lavoro. Cray fondò con altri componenti della sua squadra la Cray Research. Inizialmente i laboratori erano posizionati a Chippewa Falls, vicino agli uffici della CDC ma in seguito si spostarono nel nuovo quartier generale a Boulder. Nei nuovi laboratori Cray Labs iniziarono lo sviluppo della generazione successiva di macchine. I laboratori vennero chiusi una decina di anni dopo quando venne inaugura la nuova sede a Colorado Springs.
  
  Cray per incrementare la velocità della macchina lavoro su più soluzioni in contemporanea. Più unità funzionali nello stesso sistema per ottenere un elevato parallelismo, contenitori di ridotte dimensioni per ridurre le latenze di collegamento e componenti veloci per innalzare la velocità di clock. Un esempio classico è il CDC 8600 che include quattro macchine tipo CDC 7600 in una sola macchina cilindrica di 1 × 1 metro funzionante a 125 megahertz (8 nanosecondi). Sfortunatamente una simile densità e un ciclo di clock così elevato porta anche degli inconvenienti. Un singolo malfunzionamento comprometteva l'intera macchina.
  
  Una soluzione di questo problema era l'integrazione dei singoli circuiti in circuiti integrati. Ogni circuito integrato contiene una serie di moduli predisegnati che vengono opportunamente programmati per funzionare. Questo permette una produzione in serie che abbassa i costi e ne innalza l'affidabilità infatti i chip vengono testati singolarmente prima della vendita. L'8600 era progettato con l'utilizzo di tecnologia basata su MOSFET, una tecnologia semplice ma che non forniva la velocità richiesta da Cray. Innovazioni avvenute nella seconda metà degli anni '70 permisero a Cray di utilizzare una nuova tecnologia costruttiva dei circuiti integrati che innalzò la velocità fino a 80 megahertz (12,5 nanosecondi) del Cray-1. Infatti il Cray-1 era molto più veloce dell'8600 dato che integrava molta più logica funzionante a frequenza maggiore.
  
  Sebbene lo sviluppo tecnologico continuasse a incrementare integrazione dei chip la loro dimensione fisica era invece limitata da problemi di natura meccanica. Comunque i rapidi incrementi dell'elettronica consentì un rapido incremento della complessità dei microprocessori. Questi miglioramenti tecnologici furono molto apprezzati da Cray dato che questo puntava a migliorare di 10 volte le prestazioni della macchina rispetto al precedente Cray-1. Nel Cray-2 quindi si decise di seguire un approccio simile al CDC 8600 infatti la macchina fu progettata con una velocità doppia del precedente e con un elevato numero di unità elementari.
  
  Cray riteneva che la tecnologia basata sul silicio fosse vicina alla fine, ridurre il tempo di ciclo del Cray-1 era possibile ma sembrava che più che un dimezzamento non fosse possibile senza notevoli investimenti. Esistevano delle alternative come i semiconduttori basati sull'arseniuro di gallio (GaAs) che forniva una velocità di commutazione maggiore di dieci volte e un consumo minore. Verso la fine degli anni 70 e all'inizio degli anni 80 sembrava che l'intera industria dei semiconduttori stesse per convertirsi all'arseniuro di gallio e lo stesso team di Cray lavorò a stretto contatto con la divisione semiconduttori della Rockwell International per verificare la fattibilità di questa tecnologia. Tuttavia Cray non ritenne la tecnologia matura e decise di basarsi ancora sulla tecnologia del silicio.
  
  Un altro problema di progettazione era come incrementare la banda passante tra la memoria principale e i processori. Nei primi supercomputer come il CDC 6600 la memoria era veloce quanto il processore e quindi non esisteva un problema legato all'accesso alla memoria dato che il processore non doveva attendere per accedere ai dati. Il problema era invece inserire i dati nella memoria infatti i sistemi avevano dei computer che provvedevano a caricare i dati in memoria. Nelle macchine moderne la memoria era molto ampia e quindi il caricamento dei dati era diventato un problema secondario dato che i dati potevano venir caricati totalmente in memoria quasi sempre mentre i processori erano diventati talmente veloci da dover passare la maggior parte del tempo ad attendere i dati dalla memoria.
  
  Per limitare il problema il nuovo progetto prevedeva la presenza un blocco di 128 kByte di memoria molto veloce collegato a quattro processori da un bus ad alta velocità. La cache era riempita da un processore dedicato che lavorava in modo indipendente e si collegava alla memoria principale tramite diversi canali ad alta velocità da diversi Gbit/s. Quando i processori principali lavorano i processori secondari possono accedere alla memoria e caricare i dati nella cache ad alta velocità. I dati sono prelevati dai processori principali tramite un 8 buffer da 16 parole (256 bit). I moderni processori utilizzano un approccio simile sebbene i processori di supporto siano solamente delle unità load/store che quindi possono solo leggere o scrivere i dati dalla memoria.
  
  La memoria principale era organizzata in diverse aree che potevano venir lette in parallelo in modo da aumentare la banda passante della memoria se i programmatori avessero opportunamente distribuito i dati nella memoria. Il difetto di questo approccio è che esiste un costo dovuto al recuperare i dati da aree separate di memoria dato che prima il processore di supporto doveva caricarli per poterli passare ai processori principali. Per insiemi di dati ridotti o per dati che non potevano essere correttamente distribuiti questa organizzazione della memoria rallentava il sistema invece di accelerarlo.
  
  ## Nuovi progetti e i circuiti stampati
  
  Il Cray-2 richiedeva per la sua realizzazione un ampio utilizzo di circuiti integrati da saldare su circuiti stampati. Nonostante l'integrazione dei circuiti integrati che ne rendeva quasi impossibile la saldatura i circuiti stampati erano ancora troppo grandi, la densità dei circuiti integrati era insufficiente per le prestazioni che il progetto richiedeva. Il team di sviluppo lavorò per due anni sul progetto e alla fine Cray decide di annullare il progetto e di licenziare tutti i lavoratori. Les Davis era un progettista del progetto e rimase a lavorare alla Cray Research lavorando al progetto nel tempo libero. Sebbene con minor personale il progetto comunque andò avanti.
  
  Sei mesi dopo Cray trovò la soluzione al suo problema. Chiamò i progettisti del progetto Cray-2 e presentò la sua soluzione al problema. Invece di un grande circuito stampato Cray propose di utilizzare molte piccole schede impilate in modo da creare una struttura tridimensionale. Le schede erano strettamente impilate in modo da impilare 8 schede in meno di 8 centimetri. Questa elevata densità impediva una corretta dissipazione di potenza tramite una refrigerazione ad aria e quindi Cray propose di utilizzare il fluorinert, un nuovo liquido prodotto da 3M per la dissipazione della potenza. Il fluorinert sarebbe stato spinto tra le schede in modo da raffreddarle. L'intero processore sarebbe stato immerso nel liquido in modo da favorirne il raffreddamento, mentre degli scambiatori di calore avrebbero provveduto a raffreddare il fluorinert. Il nuovo progetto venne avviato nel 1982 diversi anni dopo l'avvio del progetto originario.
  
  Nello stesso periodo il progetto Cray X-MP era sviluppato da un team diretto da Steve Chen nella sede principale della Cray e il progetto era un serio concorrente per il Cray-2 sia sul fronte delle prestazioni che sul fronte del costo. Inoltre diverse macchine prodotte dai Giapponesi e basate su un progetto ispirato dal Cray-1 erano dei seri competitori. Cray decise di migliorare il sistema di memoria aggiungendo più canali e innalzandone la frequenza in modo da renderlo estremamente veloce. Quando la macchina venne presentata nel 1985 era molto in ritardo rispetto alle iniziali previsioni e le migliori prestazioni rispetto alla concorrenza erano dovute principalmente alla memoria estremamente rapida e quindi l'acquisto della macchina aveva senso solo se si maneggiava un ampio insieme di dati.
  
  ## Utilizzi e successori
  
  Il Cray-2 venne sviluppato principalmente per il dipartimento Statunitense per la Difesa e per il dipartimento Statunitense dell'Energia. Venne utilizzato per la ricerca nucleare, la ricerca in ambito oceanografico e sonar. Tuttavia la macchina venne acquistata anche da agenzie civili (come la NASA Ames Research Center), università e multinazionali.
  
  Il successore del Cray-2 fu il Cray-3 una macchina affetta da vari problemi, ne venne prodotto un solo esemplare che non venne mai pagato dato che non funzionava correttamente. Il discendente spirituale del Cray-2 è il Cray X1 prodotto dalla Cray Inc.
  
  