I nostri computer casalinghi utilizzano in genere il 10% della loro potenzialità. E chissà quante volte restano accesi o in stand by mentre noi facciamo altro. Perché allora non impiegare questo tempo e il potenziale inutilizzato per scopi scientifici? Da diverso tempo infatti, in tutto il mondo, sono attivi progetti di calcolo distribuito che utilizzano proprio i computer dei volontari per supportare i progetti scientifici e ridurre i tempi di lavoro che altrimenti potrebbero richiedere anche milioni di anni di calcoli.
Un esempio è Outsmart Ebola Together, sviluppato in collaborazione con Ibm e il centro di ricerca statunitense Scripps Research Institute, con lo scopo di aiutare i ricercatori a individuare nuovi composti efficaci contro il virus. Spesso come in questo caso si tratta di progetti di chimica computazionale, dove i computer vagliano milioni di composti chimici fino a trovarne uno che dal punto di vista strutturale potrebbe essere efficace per lo scopo della ricerca. «È come se inserissimo una chiave, in questo caso i composti chimici esaminati, in una serratura, che è il nostro bersaglio. Esistono database di composti che potrebbero essere efficaci: il computer, uno per volta, li inserisce nella toppa fino a identificare quelli che calzano meglio» spiega a Healthdesk Marco De Vivo capo di un gruppo di ricerca che si occupa di chimica computazione presso l’Istituto Italiano di Tecnologia di Genova.
I progetti scientifici spaziano dalla matematica all’astrofisica alla biologia, e sono per lo più americani, dove la cultura della Citizen science, ovvero la scienza fatta dai cittadini, è molto più diffusa. È proprio negli Stati Uniti che nel 1999 nacque il primo storico progetto di calcolo distribuito, il SETI@Home, oggi ancora attivo per la ricerca di segnali radio extraterrestri attraverso la distribuzione del lavoro via internet a volontari che mettevano a disposizione il proprio computer. Anni dopo lo stesso direttore di Seti e i suoi collaboratori, decisero di creare una piattaforma in grado di raggruppare diversi progetti di calcolo distribuito. Nacque così BOINC (Berkeley Open Infrastructure for Network Computing), una piattaforma open source universale che permette agli scienziati di sfruttare il calcolo distribuito volontario per le proprie ricerche. Da circa nove anni attiva anche in Italia come Boin Italy e gestita da diversi volontari, tutti attivi nel campo dell’informatica. Qualcosa quindi inizia a muoversi anche in Italia, dove a breve partirà anche il primo progetto di calcolo distribuito italiano, sulla malattie genetiche, sviluppato presso l’Università di Trento. «Per ora il progetto non è ancora pubblico – spiega a Linkiesta Stefano Bologna, informatico e amministratore di Boinc Italy – si accede solo su invito, mandando una mail agli amministratori».
Questi processi di ricerca in genere richiedono una potenza di calcolo elevatissima e spesso capita che piccoli centri di ricerca, università o aziende non abbiano le potenzialità per sostenerli. «Quando c’è la necessità di avere una potenza di calcolo elevata ci sono tre soluzioni – spiega ancora Bologna – creare un proprio dataset comprando i server ecc, che è la soluzione più comoda e sicura ma costa svariati milioni di euro; prendere in affitto della potenza di calcolo (per esempio affidandosi a Google come è capitato di recente con un progetto sull’autismondr), ma anche in questo caso il costo potrebbe essere elevato; oppure si può sfruttare la potenza inutilizzata dei pc domestici. In quest’ultimo caso, anche un’università con un piccolo server da 2-3mila euro riesce a mantenere progetti che altrimenti chiederebbero costi 20-30 volte superiori se non di più».
Per partecipare basta andare sul sito di Boin Italy, scaricare e installare il client e scegliere il progetto che si vuole sostenere tra quelli forniti nella lista. «A ogni utente che partecipa viene inviata una working unit, pacchetti di lavoro in cui il progetto viene suddiviso» continua Bologna. «Il computer prende la working unit fa i calcoli necessari e la rimanda indietro. In cambio hai solo dei punteggi, dei crediti. È volontariato, si partecipa solo per aiutare la ricerca in una maniera un po’ diversa. Oppure per fare delle sfide tra noi “nerd”, per chi ha più crediti e il pc più potente».
L’unico lato negativo per i ricercatori è il pericolo di perdere parte del lavoro. Per un problema del computer magari o per via della connessione lenta i risultati del lavoro, possono non arrivare a destinazione. Per questo molti progetti usano il quorum, cioè di ogni pacchetto vengono mandati fuori 2-3 copie, in modo da essere sicuri che almeno una torni indietro ai ricercatori.
Per quanto riguarda gli utenti i rischi sono nulli: non c’è né il pericolo di installare virus né di rallentare il computer impedendo le normali attività quotidiane. «I processi infatti girano a basso priorità – precisa Bologna – e tutto è settabile. Quindi se ho un pc con 4 core all’interno della cpu posso impostarlo sull’uso di uno o due. O anche su tutti e quattro perché tanto vengono usati a bassa priorità, che significa che il computer dà la priorità agli altri programmi che usa l’utente, e solo dopo fa partire i calcoli».
Tutti i progetti poi, prima di essere disponibili sulla piattaforma di Boin Italy, sono verificati dagli stessi amministratori. Ognuno poi è controllato con un certificato digitale. «In passato poteva accadere che alcuni antivirus li riconoscessero come falsi positivi, cioè come virus anche se non lo erano, per un problema di scrittura del codice informatico. Ultimamente però i team di ricerca hanno risolto il problema».
Altri storici progetti sono Rosetta@home, che si occupa di prevedere la struttura tridimensionale delle proteine e le interazioni tra di esse; e folding@home che studia il ripiegamento delle proteine (protein folding), la loro aggregazione e le malattie derivate da un ripiegamento non corretto, mediante simulazioni di dinamica molecolare. Progetto che si sono poi evoluti in Foldit, una sorta di video gioco che prevede anche l’interazione dell’utente per scovare le proteine corrette. «Nel caso di Rosetta dove viene ricercato il minimo energetico della proteina, il computer va a caso e le prova tutte finché non trova il ripiegamento corretto» racconta Bologna. «Gli utenti però osservando questi ripiegamenti sullo screensaver hanno notato che a occhio alcuni non avevano senso. Da qui è nato foldit, dove è lo stesso utente a ripiegare le proteine per trovare il minimo proteico. Quando trovi il valore corretto una musica suona per avvisarti che hai vinto e puoi passare al livello di gioco successivo, con proteine dalla struttura più complessa. I risultati poi vengono dati ai ricercatori per i loro studi».
Da poco poi il calcolo distribuito può essere eseguito anche su uno smartphone con app apposite. Con una potenza del calcolo inferiore ma ugualmente importante per la realizzazione dei progetti scientifici grazie all’ampia diffusione dei dispositivi.
I risultati scientifici di tutti i progetti realizzati con il calcolo distribuito sono disponibili su una pagina, dove gli amministratori di Boinc spesso li traducono in italiano. Rosetta, che è uno dei progetti più vecchi, ha alle spalle centinaia di pubblicazioni e spesso nei lavori scientifici vengono citati anche i volunteer. «Ora il prossimo obiettivo è creare un’associazione ufficiale – conclude Bologna – per cercare di coinvolgere più persone, soprattutto gli accademici».