Visualizza il feed RSS

Titolo provvisorio...

Il Genio del... Transputer !

Valuta questo inserimento
di pubblicato il 07-02-2010 alle 18:04 (5033 Visite)
Quest'oggi, sulla scorta di un recente thread, voglio parlarvi di una delle poche vere idee geniali nel mondo del calcolo, che non ha avuto la gloria meritata, pur avendo il suo posto nell'Olimpo presso il ristretto ma qualificatissimo gruppo degli esperti in materia.

Transputer è la sincresi di Transactional Computer, come era riportato in molti seri articoli dell'epoca.
Altre proposte interpretative vertono su "Transistor Computer", per evidenziare l'analogia macroscopica tra un singolo transistor entro un circuito complesso, ed un singolo nodo di elaborazione entro una architettura parallela.

In pieni anni Ottanta, mentre alla Intel stavano ancora tentennando e rimuginando se potesse essere davvero utile sviluppare processori CISC per le masse a 32 bit (mentre i Vax 11 li montavano già di serie fin dagli esordi, inizialmente realizzati a discreti su schede in formato lenzuolo e poi integrati nelle serie MicroVAX), la piccola società anglosassone INMOS iniziò a sviluppare un processore pensato esplicitamente per il parallelismo massivo, quindi in sostanza concepito come nodo entro una rete di numerosi processori interconnessi.

Questi processori, sui quali ho avuto l'onore e il piacere di lavorare per molti anni, sono davvero emblematici per moltissimi aspetti. Nel 1985, in nettissimo anticipo sui tempi, i Transputer furono i primi processori VLSI - ovviamente RISC - ad incorporare una notevole quantità di memoria RAM e (almeno) quattro porte di I/O high speed!

Il loro binomio ideale con l'architettura Microchannel (MCA), un'altra geniale idea visionaria che "il mercato" stupidamente non ha saputo apprezzare, li rende in assoluto uno dei migliori e più flessibili prodotti dell'ingegno umano nell'intera storia del calcolo automatico.

I Transputer sono anche un esempio paradigmatico di processore studiato in modo esplicito per ottimizzare l'uso di un linguaggio di altissimo livello (Occam, basato sul noto CSP ideato dal grande Sir C.A.R. "Tony" Hoare), dimostrando anche nella pratica che questa è la Via Regia.

Occam 2 (la versione precedente era poco più che uno studio di fattibilità) e i Transputer sono stati sviluppati praticamente in parallelo da INMOS, seguendo la pratica ingegneristica del codesign ovvero il design contemporaneo ed interdipendente di hardware e software, che ancor oggi impera nella migliore letteratura.

Occam è un linguaggio robusto, potente, espressivo, progettato in modo serissimo, basato su una rigorosa algebra di processo come CSP e quindi in grado di garantire formalmente una serie di attributi fondamentali di ogni programma.

Molti anni dopo, chi ha voluto scioccamente ignorare le magistrali lezioni di quell'esperienza di codesign ne ha pagato a caro prezzo le conseguenze: vedansi i fantomatici javaprocessor, ancora motivo di irrefrenabile ilarità tra gli addetti ai lavori, o le assurde velleità di Transmeta - che ne hanno determinato il facilmente predicibile fallimento in tempi assai rapidi.

Oggi assistiamo regolarmente al fiorire di decine di core entry e midrange specificamente ottimizzati per linguaggio C, ad esempio i più recenti Atmel ATMega e PIC18 con "extended ISA", per non dire dei DSP VLIW: in sostanza la "normalità" - ormai anche nei design baseline - consiste nel seguire la strada segnata anche dai geniali innovatori della INMOS, non a caso ora acquisita da SGS-Thomson.

Inoltre, la direzione del parallelismo massivo è da sempre la scelta privilegiata per il supercomputing: buoni ultimi anche Intel e AMD si sono accodati, con il multicore ed altre recenti "innovazioni", ovviamente in buona parte ideate vent'anni fa da altri.


Ma non basta: il valore didattico e applicativo di questi processori è inestimabile. Singolarmente sono piuttosto semplici, e strutturalmente offrono una flessibilità e una potenza senza pari. Esiste anche una fiorente scuola di programmazione dei Transputer utilizzando dialetti C appositamente modificati per il parallelismo.

Senza mezzi termini, queste macchine sono e restano avanti anni luce rispetto all'era in cui sono nate, in anni in cui il mainstream stava ancora faticosissimamente arrancando tra 8086, 286, 386sx, MC68000 e 68020 e giù di lì - excussez du peu.


Dal punto di vista architetturale, abbiamo a che vedere con un tripudio di idee una più geniale e innovativa dell'altra. I Transputer, con la loro rete punto a punto strettamente orientata alle transazioni message-passing (da cui il nome!) facevano già uso di switch e altri sofisticati accorgimenti di arbitraggio hardware e firmware per l'interconnessione: la rete era strutturata in modo gerarchico, con chip dedicati all'I/O, controller/arbitri ed i veri e propri processori, di maggiore potenza elaborativa, che presiedevano all'elaborazione parallela.

Parlare di questi chip in modo minimamente approfondito richiederebbe almeno un volume d'enciclopedia, anche perché sono varie le generazioni di core che si sono succedute. Il solo linguaggio Occam (la cui licenza, nei primi anni Novanta, costava poco più di venti milioni di lire: ma l'hardware aveva costi decisamente limitati, in proporzione) ha poi una sua vasta letteratura specifica.

Ad oggi esistono numerosi gruppi di supporto e documentazione storica, il più famoso dei quali è sicuramente il Transputer Archive presso il sito oxoniano sui metodi formali (Occam è un tipico linguaggio funzionale, oltre ad essere intrinsecamente parallelo...).

Esiste inoltre un sito di riferimento e archivio storico della Inmos, ora parte dell'SGS. I siti dedicati al Transputer e ad Occam sono comunque tuttora numerosi, e ovviamente non mancano veri e propri simulatori, alcuni anche molto sofisticati.

Ricordo inoltre che sono tuttora operativi in campo numerosi controlli industriali su bus basati su Transputer, e che una delle mie macchine preferite di ogni tempo, l'Atari ATW800, era interamente basato su Transputer per realizzare un vero e proprio "mostro" di potenza elaborativa.




PS: L'immagine allegata proviene dal sito del grande Dave Dunfield. Thank you very much, Dave!

aggiornamento da 02-03-2019 a 17:22 di M.A.W. 1968

Categorie
Hardware , Scienza , Tecnologia

Commenti