COME SFRUTTARE UTILMENTE IL VOSTRO PC: REGALATE I MHZ IN ECCESSO
Il numero di computer installati nel globo è in costante aumento;
tutta questa massa di elaboratori potrebbe
essere vista come un enorme supercomputer
che, però, nella maggior
parte dei casi rimane inutilizzato
(o quasi). E' opinione comune
degli esperti che normalmente la
potenza computazionale media sfruttata nei PC
è del 15%; il restante 85% viene sprecato inutilmente. Dunque,
come sfruttare tutta la potenza in eccesso dei nostri computer,
magari compiendo una
buona azione? La risposta è il cosiddetto "distributed
computing". La filosofia di base
di questo paradigma computazionale è quella
di dividere un problema (in genere
molto complesso) in
piccole parti per poi
farle analizzare/elaborare da un numero elevato di normali
computer domestici. I risultati ottenuti verranno poi combinati
trovando un'unica soluzione al problema
di partenza. Grazie ad Internet, la grande
rete che connette un numero sempre più crescente di computer,
il modello di elaborazione distribuita
ha concretizzato il sogno di molti: avere a disposizione
un potente supercomputer a costo quasi zero
sfruttabile, ad esempio, in progetti interessanti
che,
magari per mancanza di fondi, sono stati tagliati
fuori dalla ricerca accademica "ufficiale".
Il primo progetto noto di distributed computing risale probabilmente
al 1988 e venne realizzato da Arjen K. Lenstra e Mark
S. Manasse del DEC System Research Center. Questi due ricercatori
scrissero ed utilizzarono un software basato
sul paradigma del calcolo distribuito
per la fattorizzazione (scomporre in fattori primi)
dei numeri molto grandi: un
problema molto complesso che richiede
una potenza computazionale notevole. Dopo questa
prima esperienza il distributed computing divenne sempre
più popolare tra i ricercatori, ma per
la prima applicazione pubblica di larga scala
si dovette aspettare sino al 1996,
quando venne lanciato il progetto per
la ricerca di numeri primi "Great
Internet Mersenne Prime Search - GIMPS" (http://www.mersenne.org/).
Partecipare ad un progetto di ricerca distributed computing dal
punto di vista dell'utente finale è molto semplice,
basta infatti scaricare ed installare un opportuno programma
client nel proprio PC. Quando questo client verrà
mandato in esecuzione si collegherà
con un server centralizzato per scaricare
una cosiddetta Work Units da elaborare.
Terminata l'elaborazione della Work Units, il
client si ricollegherà nuovamente con il server centrale
per trasmettere i risultati ottenuti e per scaricarne
un'altra. Ovviamente tutto il meccanismo
avviene automaticamente; ai volontari che mettono a disposizione
i propri PC per queste ricerche viene chiesto solo di "donare"
la potenza delle proprie macchine nei tempi morti, ad esempio
quando parte il salvaschermo.
Le applicazioni di distributed
computing oggi disponibili sono numerose.
Sicuramente una delle più famose è il progetto
SETI@Home (http://setiathome.ssl.berkeley.edu/),
che attualmente coinvolge più di tre milioni di PC sparsi
per il mondo. L'obiettivo del progetto è quello di scovare dei
segnali "intelligenti" che potrebbero essere stati emessi
da una ipotetica razza aliena evoluta. Questi segnali
vengono carpiti dall'antenna radio di Arecibo e vengono
suddivisi in tanti Work Units che poi verranno
processati dai volontari.
Un'altra interessante
iniziativa è distributed.net
RC5 (http://www.distributed.net/rc5/).
Si tratta di un progetto avente
l'obiettivo di "aprire" (ed eventualmente
mostrare le debolezze) i più avanzati
e sofisticati algoritmi di crittografica
utilizzando l'approccio "forza bruta".
Il progetto Genome@Home
(http://gah.stanford.edu/),
sostenuto dall'università di Stanford, si occupa invece
di manipolare le sequenze di geni in modo da "progettare"
delle nuove proteine non presenti in natura. L'obiettivo
di questa ricerca è quello di trovare nuove sostanze utilizzabili
per scopi farmaceutici, in modo da curare
sempre più
efficacemente le patologie che colpiscono il genere umano.
Citiamo infine l'iniziativa distributed computing
"Screensaver Lifesaver" http://www.chem.ox.ac.uk/curecancer.html),
che punta a testare l'effetto di nuove sostanze sulle
proteine coinvolte nella proliferazione
del cancro. Grazie a
questo progetto potrebbero essere scoperte
nuove molecole per la cura dei tumori.
I motivi per cui donare la potenza inutilizzata dei nostri computer
sono numerosi, c'è l'imbarazzo della scelta.
Per chi ne volesse saper di più e magari orientarsi nel
mare magnum dei progetti distributed computing
è disponibile il sito
ufficiale "Distributed Computing Compendium"
(http://distcomp.rynok.org/).