Si dice “Sistema di calcolo distribuito” un sistema che permette, utilizzando più calcolatori diversamente dislocati, di sviluppare calcoli molto complessi che richiederebbero, risorse proibitive in termini di tempo di calcolo, potenza e memoria.

L’esempio in assoluto più famoso è seti@home.

SETI (Search for Extra-Terrestrial Intelligence) è un progetto originario NASA che cerca di individuare segnali considerati di fonte non naturale provenienti dallo spazio, al fine di individuare possibili intelligenze extraterrestri.

Chi ricorda Jodie Foster in “Contact”, sicuramente sa di cosa sto parlando.

Ad un certo punto, visti i risultati deludenti, al progetto SETI sono stati tagliati i fondi, pertanto si è pensato di coinvolgere la comunità di appassionati attraverso internet, ed è nato Seti@home.

Si tratta di un software di calcolo distribuito: dato che le potenzialità delle CPU dei nostri computer non sono stabilmente utilizzati al 100%, si è pensato di sfruttare questi periodi per sviluppare calcoli utili al progetto SETI.

16032009_105219

Ecco che centinaia di migliaia di processori sono stati uniti in una grigli (grid) di calcolo, ciascuno utilizzando i propri “cicli idle” per contribuire al progetto.

Se il progetto SETI ha un interesse relativo (c’è effettivamente chi pensa che tali potenzialità dovrebbero essere utilizzate per altri scopi), non c’è dubbio che invece esistono progetti i cui risultati sono universalmente inestimabili.

Si chiama “Folding delle proteine” un progetto che cerca di comprendere il meccanismo del ripiegamento delle proteine dopo la loro sintesi attraverso l’RNA, al fine di comprendere la genesi, ed eventualmente trovare un rimedio, per moltissime malattie, tra cui il morbo di Alzheimer, il morbo di Huntington, il cancro e moltissime altre.

Tale progetto prevede che vengano simulati i diversi possibili folding a partire dalle stesse condizioni iniziali. E tali simulazioni prevedono il calcolo delle possibili interazioni tra le varie parti della proteina che, come forse solo alcuni immaginano, sono catene, a volte lunghissime, di composti, detti aminoacidi, il cui numero di possibili interazioni esplodono con andamento esponenziale con il numero di atomi che le compongono.

Per svolgere tale calcolo servono dei supercomputer, oppure migliaia e migliaia di unità di calcolo in parallelo. Appunto, un sistema di calcolo distribuito.

Questo è uno dei progetti più promettenti, ma non è l’unico: vi sono progetti in campo medico (Human Proteome, Fight Aids at home, Rosetta project), ma anche in campo astrofisico (seti@home, LHC, ma non solo), crittografico, matematico, e molti molti altri.

E' un modo diverso per fare ricerca, un modo utile, poco dispendioso (i consumi del nostro pc aumenterà di un po'), per certi versi anche appagante (fa molta impressione vedere le proteine ripiegarsi sullo schermo del nostro pc, come screen saver, ma un po' come potrebbero fare, realmente, nelle nostre cellule).

Per partecipare, è necessario installare un software chiamato boinc (scaricabile su http://boinc.berkeley.edu/) e disponibile per pc, mac e linux. Fatta l’installazione, ci si iscrive alla community, ad esempio tramite boincstats,  (esattamente come vi siete registrati su facebook, ma con meno dati: basta una email e una password) e si inseriscono tali dati su boinc. Infine si devono selezionare i progetti a cui partecipare (raccomando personalmente Rosetta Project e World Community Grid). E' anche possibile non iscriversi all’account manager ma accedere direttamente ai progetti… ma il passaggio è un po' più complicato e inutilmente laboriosio.

Per il resto il programma funziona da solo: non ostacola il lavoro perché funziona a bassissima priorità, e quindi interviene massicciamente solo quando il sistema non è utilizzato, e quindi non ruba risorse, ci si dimentica spesso di averlo installato, se non quando entra in funzione un gradevole screen saver che mostra il progresso del calcolo in forma grafica, mostrando la struttura della proteina che si sta elaborando, per esempio, o il mappamondo con la situazione meteorologica simulata se si decide di partecipare al progetto “Climate prediction”…

Ed infine, piccolo aspetto gratificante, si accumulano punti sui cicli donati e sui risultati consegnati; tali punti possono essere utilizzati come statistica o per pura gratificazione personale.

Si possono formare anche team di lavoro, segnalando la nazione e il cap i punti vengono anche conteggiati per nazioni.

Ma al di là di questi aspetti che lasciano un po' il tempo che trovano, ci si può vantare di aver partecipato a progetti importanti e, chissà, in futuro a grandi risultati (ma alcuni sono già stati pubblicati, motivo in più per credere che questo progetto non sia un mero esercizio di stile programmatorio, ma un contributo serio e concreto alla ricerca globale).

Non è poco.

Boinc stats