Articolo pubblicato sul n. 111 di MCmicrocomputer (Edizioni Technimedia Srl - Roma) nell'ottobre 1991

MCmicrocomputer


 

Multitasking:
OCCAM: parallelismo Ģesplosivoģ

di Andrea de Prisco

Il nostro viaggio all'interno di OCCAM continua questo mese con un argomento che lascera', i piu', sconcertati. Parleremo del cosiddetto "parallelismo esplosivo", eufemismo non troppo scientifico che utilizziamo per indicare quella capacita' di OCCAM di generare processi paralleli a tempo di esecuzione ed in numero noto solo in quel momento. Vedremo dunque come con poche righe di codice si riescono ad implementare meccanismi ad elevato parallelismo dalla potenza a dir poco impressionante.Copertina del numero di MCmicrocomputer contenente l'articolo

L'augurio

OCCAM e', fortunatamente per certi versi, purtroppo per altri, piu' potente dei transputer sui quali gira. In hardware e' stato si' possibile implementare tutte le funzionalita' richieste, ma alcune di queste, per ovvie ragioni, con qualche limitazione.
Ci riferiamo essenzialmente al parallelismo dei programmi OCCAM che, lanciati sul singolo transputer sono eseguiti "solo" in parallelismo simulato, mentre per un'esecuzione su rete di transputer e' necessario allocare staticamente, sui piu' chip, i vari processi.
I link fisici, infatti, sono utilizzati essenzialmente per scambiare messaggi tra processi in esecuzione su nodi di elaborazione diversi, ma non per far migrare a tempo di esecuzione processi da eseguire parallelamente. Questo sicuramente a causa del fatto che, sempre attualmente, l'overhead dovuto a questa sorta di migrazione di processi sarebbe troppo oneroso e magari (anzi sicuramente) annullerebbe i vantaggi della parallelizzazione reale.
Ma... c'e' un "ma". Anche se pieno zeppo di fantaSCIENZA. Quando i progettisti della INMOS hanno dato un nome alla loro creatura hanno scelto la parola transputer. Fusione di altri due termini molto noti che sono "transistor" e "computer". Cio' ad indicare che il "chippetto" e' un computer (e anche buono) ma nasce per essere utilizzato come una specie di transistor ovvero come mattoncino "materia prima" di qualcosa di ben piu' potente del transputer stesso: la rete di transputer. Questa, ha dalla sua il fatto di poter essere estesa infinitamente e con essa la potenza di calcolo che puo' offrire. L'analogismo e' praticamente perfetto: come con i transistor possiamo ipotizzare (e realizzare...) circuiti elettronici complicatissimi formati da decine, miliaia, milioni di semiconduttori, con i transputer e' possibile costruire sistemi di calcolo a parallelismo massiccio della potenza desiderata, senza limiti ne' teorici ne' tecnici.
E fin qui non stiamo ancora sognando. Ma proviamo a spingere la nostra fantasia oltre. Qual e' stato il cosiddetto "passo successivo" per il mondo dei transistor ? La risposta e' semplice: il circuito integrato. Un "pezzetto di silicio" sul quale vengono "intarsiati" miliaia, oggi anche milioni, di transistor per concentrare in pochissimo spazio circuiti elettronici dalle dimensioni e costi svariati ordini di grandezza superiori.
E chi ci vieta di augurare al transputer la stessa sorte ? O forse non e' facile ipotizzare intere reti di transputer sul singolo chip ? Magari prima 8, 16, 32 unita' sullo stesso silicio ma piu' in la' (quando probabilmente non si trattera' piu' di silicio...) miliaia o anche milioni di unita' di calcolo pronte ad assecondare, e quindi a soddisfare, le gia' citate "esplosioni" di parallelismo possibili in OCCAM.

 

(TESTO INCOMPLETO)

 


Articolo pubblicato su www.digiTANTO.it - per ulteriori informazioni clicca qui