Che cos’è il Calcolo Distribuito e perché tutti noi dovremmo interessarcene?
La risposta è molto semplice e al tempo
stesso di grande importanza.
I mezzi informatici, che sono uno strumento fenomenale in quanto hanno
permesso di accelerare considerevolmente il progresso dell’umanità, sono
sempre più fondamentali in qualsivoglia ambito di ricerca scientifica,
dalla medicina alla fisica, dalla meteorologia allo studio del cosmo.
Sebbene la potenza dei calcolatori vada aumentando di anno in anno, la
necessità di capacità di calcolo risulta spesso maggiore di ciò che le
possibilità economiche degli enti di ricerca offrono. Come fare per
ovviare a questo problema?
Una soluzione c’è, e qui entra in gioco il “calcolo distribuito”: dislocati su tutto il pianeta ci sono oltre un miliardo di personal
computer - 25 milioni in Italia - che generalmente vengono sfruttati
solamente per una minima percentuale delle proprie capacità.
Da qui la geniale idea alla base del “calcolo distribuito”: unire le forze
di tanti computer per realizzare potenze di calcolo enormi, sfruttando
appunto le risorse inutilizzate dei nostri computer.
Per usare al meglio tutta questa potenza, i ricercatori del progetto Seti
dell’Università di Berkeley hanno sviluppato il software BOINC (Berkeley
Open Infrastructure for Network Computing), una nuova e potente
piattaforma per il calcolo distribuito che sfrutta le risorse dei PC
offerte volontariamente.
BOINC.Italy è nato quando alcuni utenti italiani hanno scelto di
appoggiare vari progetti che utilizzano questa piattaforma creando un
proprio gruppo di calcolo e invitando chiunque voglia a farne parte.
Vediamo in dettaglio di cosa si tratta.
Come funziona?
Il processo con cui funzionano i
progetti di calcolo distribuito è semplice e non c’è bisogno di alcuna
conoscenza tecnica per contribuirvi. La prima volta che si avvia BOINC
viene chiesto a quale progetto vogliamo aderire. Se ne può scegliere uno o
anche più di uno. Da questo punto in poi tutto avviene in modo automatico.
Ogni progetto scaricherà sul PC il proprio CLIENT, cioè il programma che
si occuperà di elaborare i dati. Il programma BOINC si connetterà ad
Internet, scaricherà dei pacchetti di dati (chiamati Work Units o anche
tasks, abbreviato WUs), li farà elaborare al nostro PC tramite il client
del progetto e, completata la Work Unit, provvederà a riportare i
risultati ed a acquisire nuove WUs. Durante l’elaborazione non è
necessario restare connessi ad Internet.
È possibile elaborare questi dati sul proprio PC quando si vuole, in
generale in ogni attimo durante il quale il PC, e in particolare il
processore, non viene utilizzato in nessuna operazione o compito gravoso.
Si può utilizzare la potenza di calcolo del proprio computer per elaborare
mentre si naviga, si scrive una relazione, si legge la posta e persino
mentre si guarda un film.
È possibile spegnere il proprio computer in qualsiasi momento,
l’elaborazione dei dati si interrompe e riprende automaticamente dal punto
in cui si era fermata non appena il PC viene riacceso.
L’elaborazione avviene a priorità bassa, il che significa che non si
noterà nessun rallentamento del PC in quanto, quando gli altri programmi
richiedono l’uso del processore, BOINC "si fa da parte" e concede la
precedenza.
Durante l'elaborazione il processore lavora al pieno delle sue capacità.
Questo non deve spaventarvi: i computer sono fatti apposta per lavorare e
non si danneggiano se le temperature restano nella norma. Nessun pericolo
quindi a meno che non abbiate modificato qualcosa in modo improprio o non
abbiate piazzato il PC di fianco al termosifone! Anzi, per dirla tutta,
sono molto più pericolosi gli sbalzi di tensione che ricevono quando
vengono accesi o spenti.
Alcune considerazioni
Chi aderisce a un progetto di ricerca
non lo fa per ricevere premi o denaro ma per poter dire di aver dato una
mano. Tanti più pacchetti di dati elaboreremo, tanto più saremo utili alla
ricerca.
Tuttavia è importante sottolineare che aderendo a un progetto di “calcolo
distribuito” non prenderemo nessun impegno vincolante: non ci sono
risultati minimi da raggiungere. Chiunque potrà contribuire in maniera
spontanea alla ricerca scientifica, lo farà per il tempo che vorrà e con
quanti computer vorrà. Alla fine ci sembrerà come una sciocchezza da
quant'è facile ma il nostro contributo avrà un valore ben più importante,
lo avremo fatto per noi stessi quanto per gli altri. Il “calcolo
distribuito” va interpretato come una nuova forma di beneficenza o di
volontariato, e una volta iniziato sarà difficile non appassionarsi ad
esso.