Articolo pubblicato sul n. 111 di
MCmicrocomputer
(Edizioni
Technimedia Srl - Roma) nell'ottobre 1991
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.
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
|