Computer di tutto il mondo: unitevi!



Ci sono alcuni tipi di ricerca che richiedono grandi potenze di calcolo e ingenti risorse informatiche perché devono operare su enormi moli di dati ed effettuare milioni di operazioni al secondo per consentire ai ricercatori di ottenere risultati affidabili in tempi ragionevoli.

La mappatura e l’analisi del genoma umano, l’elaborazione di modelli di simulazione del clima, la ricerca sul cancro e quelle su molti altri tipi di malattie infettive, lo studio di varie teorie cosmologiche o di modelli idrogeologici sono solo alcune delle principali tipologie di ricerca che necessitano di tali risorse.

Fino ad oggi questa enorme capacità di calcolo poteva essere fornita solo grazie ai supercalcolatori, macchine di grande potenza ma anche particolarmente costose. Solo pochissimi centri di ricerca potevano e possono tuttora permettersi elaboratori di questo tipo. La maggior parte degli altri devono accontentarsi di comprare pacchetti di calcolo di durata limitata a costi comunque molto elevati. Chi non fosse in grado di affrontarli deve infine accontentarsi di effettuare ricerche meno ambiziose dato che i normali elaboratori non sono in grado di effettuare questo genere di calcoli in tempi ragionevoli. Non solo: oramai la ricerca sta fronteggiando sfide con le quali presto neanche le macchine più potenti saranno in grado di confrontarsi.

Una prima svolta al problema è stato dato dallo sviluppo del calcolo parallelo. Senza entrare troppo nei dettagli, si è scoperto che una rete di unità di elaborazione semplici e relativamente poco potenti possono essere collegate fra loro in modo da soddisfare richieste di calcolo molto consistenti in tempi sufficientemente brevi. In pratica un processo viene spezzato in tanti sottoprocessi che vengono poi presi in carico dalle singole unità della rete. Ogni unità ha le sue risorse di calcolo e collabora con le altre unità scambiandosi dati e coordinandosi con il resto della rete. Inoltre se un’unità ha dei malfunzionamenti e cessa di operare, la rete ridistribuisce i compiti e continua l’elaborazione senza problemi.

I primi elaboratori a calcolo parallelo erano formati da matrici di microprocessori collegati fra loro direttamente e da una memoria centrale condivisa. In seguito anche la memoria è stata distribuita nella rete, rendendo sempre di più ogni nodo autonomo e interscambiabile con gli altri. Lo sviluppo delle reti ad alta velocità ha infine permesso di collegare fra loro diversi calcolatori nati come unità di elaborazione indipendenti e con caratteristiche e capacità anche differenti fino ad arrivare alla realizzazione delle prime griglie di calcolo. Una griglia di calcolo, infatti, non è altro che una rete di calcolatori capaci, tramite un programma centrale e una serie di agenti installati su ogni calcolatore, di cooperare mettendo a disposizione del sistema sia capacità di calcolo, seppure limitate, che risorse (memoria e banda di comunicazione). Quando alla griglia vengono collegati centinaia, migliaia di calcolatori contemporaneamente, il risultato è un sistema in grado di competere e superare i più potenti supercalcolatori mai realizzati.

Una griglia di calcolo viene vista dai programmi utilizzatori come un enorme supercalcolatore in grado di fornire potenza di calcolo a richiesta. Dietro al sistema ci può essere di tutto, anche una rete di migliaia e migliaia di calcolatori di ogni dimensione e tipo, sui quali possono girare anche sistemi operativi differenti. Non solo: ognuno di questi calcolatori fornisce il suo contributo quando può. La griglia non dipende quindi dal funzionamento del singolo nodo che può essere spento e poi riacceso in qualsiasi momento.

Ma chi mette a disposizione i propri elaboratori perché collaborino all’interno di una griglia? Apriamo una parentesi. Mentre state leggendo questo articolo è probabile che il vostro calcolatore stia senza fare nulla. Magari in questo momento state anche scaricando un programma o la posta elettronica, ma nella maggior parte dei casi il vostro calcolatore utilizza solo una piccola parte delle risorse disponibili. Mentre lavorate ci sono tutta una serie di periodi morti nei quali la CPU non fa nulla, si trova cioè in uno stato chiamato idle. Magari sono solo pochi millesimi di secondo, qualche volta addirittura un secondo intero — poco per noi, ma un tempo notevole per un calcolatore — ma nell’arco di una giornata rappresentano parecchi minuti di inutilizzo del sistema. Se poi vi alzate e andate a farvi un panino e lasciate acceso il vostro PC, i minuti possono diventare ore. Per voi il costo è irrilevante, specialmente se avete una ADSL flat, ovvero non a consumo, ma quel tempo di calcolo è una risorsa preziosa che va sprecata. Se poi pensiamo a tutti i computer aziendali che spesso restano accesi a lungo senza che nessuno ci lavori sopra, è facile immaginare come in rete ci sia un potenziale di calcolo pauroso del tutto inutilizzato.

Siamo giunti così al cuore di tutto il discorso. Caricando un programmino molto leggero sul vostro PC, il cosiddetto agente, è possibile far sì che quel tempo che ora non state utilizzando non vada più sprecato. L’agente non interferirà con il normale funzionamento del PC, non saturerà le risorse del sistema mentre state lavorando, neanche vi accorgerete che c’è. Si limiterà solo a svegliarsi quando la CPU sta senza far niente e a metterla a disposizione della griglia finché un programma locale non ne reclama il controllo. In pratica utilizzerà solo i tempi morti. Non solo: non è necessario che il computer sia sempre collegato. Se avete un modem vecchio tipo o una ADSL a consumo, potete anche staccare il PC dalla rete. Una volta che la griglia ha assegnato un compito al vostro PC, l’agente lo farà eseguire nei tempi morti anche quando non siete connessi. Poi, quando l’elaborazione sarà terminata, la prima volta che vi riconnetterete a Internet l’agente spedirà alla griglia il risultato e richiederà un nuovo compito. L’impegno richiesto alla vostra CPU e la quantità di dati scambiati è così limitata che anche un PC di vecchia generazione potrebbe farlo senza alcuna ricaduta sul suo normale funzionamento. Eppure quel piccolo compito, quel risultato, quei pochi dati, sommati e integrati con quelli di migliaia di altri computer possono fare davvero la differenza.

Ma c’è da fidarsi? Chi naviga in rete sa perfettamente come sia facile per dei malintenzionati penetrare nei computer altrui con virus e worm attraverso programmi di condivisione di risorse, come i vari tipi di P2P. È evidente che un discorso di questo tipo ha senso solo se possiamo fidarci di chi fornisce l’agente. D’altra parte anche quando facciamo della beneficenza vale lo stesso discorso. Se dobbiamo dare dei soldi a qualcuno per aiutare la ricerca sul cancro o finanziare iniziative intese ad aiutare le popolazioni del Terzo Mondo, in genere valutiamo attentamente a quale organizzazione darli. Lo stesso vale per le griglie di calcolo.

Uno dei progetti più interessanti e affidabili che ci sono in questo momento è lo Human Proteome Folding Project il cui obiettivo è quello di studiare come le proteine si possano ripiegare. Ma a cosa serve una cosa del genere? C’è da dire innanzitutto che le proteine rappresentano le basi di tutto ciò che vive. Non solo ne sono i mattoni, ovvero servono a costruire fisicamente un organismo (ruolo strutturale), ma anche i motori, cioè possono facilitare o ostacolare le varie reazioni chimiche che avvengono in un organismo a seconda delle necessità (ruolo enzimatico). Recentemente poi si è scoperto — come già spiegato nell’articolo «Il genoma invisibile» su questo stesso blog — che permettono di attivare o disattivare specifici geni (ruolo regolatore) e quindi regolano la produzione di altre proteine. Studiare il genoma umano è quindi sicuramente importante, ma comprendere le proteine per le quali i nostri geni codificano è ancora più importante. Tuttavia le proprietà di queste proteine non dipendono solo dalla loro composizione chimica ma anche dalla loro forma, ovvero da come si ripiegano su se stesse, appunto. Calcolare tutti i possibili modi nei quali una singola proteina si può ripiegare è un compito immane, ed è qui che entra in gioco il World Community Grid.

Questa iniziativa ha lo scopo di fornire le risorse per aggregare fra loro decine di migliaia di computer in tutto il mondo tramite Internet e di costituire così una griglia di calcolo da mettere a disposizione di quei progetti che possono fornire all’umanità benefici significativi in vari settori della ricerca. Lo Human Proteome Folding Project è appunto uno di questi. I risultati di questa ricerca saranno quindi messi a disposizione dell’intera comunità scientifica internazionale, senza limitazioni alcune, e non rimarranno, come succede in alcuni casi, di proprietà di organizzazioni o imprese private.

Ecco perché partecipare a questa iniziativa è molto importante. A voi non costa nulla, ma grazie al vostro contributo la ricerca potrà fare passi da gigante nella battaglia contro molti tipi di mali che ancora non siamo in grado di curare. Finora sono oltre 77.000 i computer piccoli e grandi connessi alla griglia. Aggiungete anche il vostro alla lista! Per aderire è sufficiente iscriversi qui, scaricare e installare l’agente del WCG e continuare ad usare il proprio PC come se nulla fosse. L’unico sacrificio è che dovrete rinunciare al vostro salvaschermo preferito, dato che l’agente del WCG lo sostituirà utilizzando i periodi nei quali non utilizzate il PC per espletare i suoi compiti. Mi sembra un sacrificio più che accettabile, o no?

Etichette: , ,

Commenti (5) a «Computer di tutto il mondo: unitevi!»

  1. Gnash ha detto:

    Una domanda:

    qualche tempo fa, per intenderci ai tempi di SETI@HOME, si parlava (in un noto circolo “culturale” milanese) della possibilità che qualcuno sostituisse dati e algoritmi legittimi con altri dagli scopi meno nobili. Allora l’argomento clou erano i tentativi di bucare i sistemi di crittografia, tema scemato a seguito della dichiarazione di esportabilità fuori dagli Stati Uniti della crittografia forte.

    Secondo te, c’è una possibilità realistica che accada qualcosa del genere?

  2. utente anonimo ha detto:

    OT: Bel blog.Ti linko subito.

  3. Dario de Judicibus ha detto:

    In teoria qualunque agente che gira sul tuo sistema può essere alterato per comportarsi come un cavallo di Troia. Dipende da dove lo scarichi. Organizzazioni come il WCG sono molto serie e se scarichi l’agente da loro puoi stare tranquillo. In quanto alla crittografia in effetti un gruppo di hacker piuttosto in gamba riuscirono a decifrare quella a 128 bit americana usando una tecnica simile, ma erano tutti d’accordo, che io sappia. Non furono usati computer “ignari”.

  4. utente anonimo ha detto:

    ho aderito; per divulgare meglio il tutto sto chiedendo un parere a medici amici e conoscenti.

    sarebbe bello se qualcuno , nella comunità medico-scientifica in Italia, ci facesse sapere un pò più ufficialmente l’affidabilità ed utilità della ricerca e del suo utilizzo. le persone sospettose in questo campo, con fregature varie, virus, trojan, etc. in giro sono parecchie!

    ciao

  5. Dario de Judicibus ha detto:

    Fai bene a verificare. Ad ogni modo si tratta di una cosa seria. Comunque, se puoi riportare qui una conferma autorevole, ancora meglio. Sarà la benvenuta. Grazie in anticipo.

Nessuna retrotraccia o avviso a «Computer di tutto il mondo: unitevi!»

Si prega di usare Facebook solo per commenti brevi.
Per commenti più lunghi è preferibile utilizzare l'area di testo in fondo alla pagina.

Commenti Facebook

Lascia una risposta





Nel rispetto delle apposite norme di legge si dichiara che questo sito non ha alcun scopo di lucro, non ha una periodicità prestabilita e non viene aggiornato secondo alcuna scadenza prefissata. Pertanto non può essere considerato un prodotto editoriale ai sensi della legge italiana n. 62 del 7 marzo 2001. Inoltre questo sito si avvale del diritto di citazione a scopo accademico e di critica previsto dall'Articolo 10 della Convenzione di Berna sul diritto d'autore.