Salva il mondo con il tuo pc: il calcolo distribuito a casa
Posted by Sara Rosso | Filed under Becoming a geek
La sera, prima di andare a dormire, spegnete il vostro computer? Lo lasciate aperto per scambiare le vostre poesie e le vostre foto attraverso il peer-to-peer file sharing? A pranzo fate partire lo screensaver? O lasciate il computer acceso durante il giorno quando fate il backup?
Perché non dare qualcosa di più e collaborare con il resto del mondo?
Cos’è calcolo distribuito (Distributed Computing)?
Il calcolo distribuito avviene quando tanti computer lavorano insieme per risolvere problemi o calcoli difficili, diventando una specie di super computer virtuale. Questi progetti sono organizzati e gestiti in tutto il mondo da scienziati, matematici e professori, ma anche voi potete contribuire direttamente al loro successo!
Ci sono centinaia di progetti attivi di calcolo distribuito e per la maggiore parte sono senza scopo di lucro e hanno bisogno di volontari per realizzare il progetto. Un volontario “dona” banda, tempo, processore (CPU/GPU), memoria (RAM) e spazio sul proprio disco fisso per un progetto.
Per esempio, un progetto richiede il calcolo di 405 milioni di somme. Senza un super computer sarebbe impossibile completarlo, o ci vorrebbero anni. Invece, se il vostro computer fa 20-100 somme, e il mio altre 100, insieme con altre centinaia di computer, un esercito di computer volontari riesce a farlo più veloce e a un costo minore o gratis per chi gestisce il progetto.
Il primo progetto di calcolo distribuito è GIMPS, Great Internet Mersenne Prime Search, nato in 1996, per la ricerca di nuovi numeri primi. Con questo progetto hanno scoperto 12 numeri primi negli ultimi 13 anni, il più recente a settembre 2008: 2 37.156.667-1, 13 milioni di cifre!
Come Funziona e Come Iniziare
Il calcolo distribuito viene eseguito da un’applicazione installata localmente sul vostro PC. Questa applicazione comunica con i server del progetto per scaricare dati, risorse e caricare risultati. Spesso un middleware viene utilizzato per gestire più progetti (e quindi le loro applicazioni) insieme o gestire il progetto attraverso tutte le risorse volontarie.
Avete sentito parlare dei software, le applicazioni che installate sui vostri computer. Gli hardware sono le periferiche che hanno uno spazio fisico dentro il vostro computer. Ma che cos’è un middleware? Un middleware è uno strato di applicazione in più che riesce a gestire più di un applicazione, condividere risorse e librerie di driver tra di loro, o gestisce la priorità dei processi di diverse applicazioni. Può essere utilizzato anche per gestire applicazioni attraverso diversi computer.
BOINC (Berkeley Open Infrastructure for Network Computing) è una piattaforma di middleware che permette a un volontario di partecipare facilmente nel calcolo distribuito perché l’interazione del progetto viene gestita completamente da lui. BOINC è il software più conosciuto e utilizzato** con più di 1,5 milioni di utenti (e 500.000 attivi in ogni momento) su tutti i loro progetti, ed è stato sviluppato dalla Berkeley University nel 2002, è open source e LGPL.
Quando il vostro computer è fermo per una durata che decidete voi (tipo 10 minuti), viene attivato un screensaver che comunica con il software installato localmente in modo da procedere con il calcolo distribuito. Un’altra configurazione possibile è dare al calcolo una priorità bassa e per non impattare le performance degli altri processi mentre lavorate normalmente.
Come iniziare con BOINC:
- Scegliere un progetto (c’è anche una lista di tutti i progetti di calcolo distribuito su Wikipedia)
- Scaricare e installare il software BOINC
- Inserire un indirizzo email e password (l’indirizzo non sarà pubblicato, serve solo per qualche comunicazione da parte del team del progetto).
- A questo punto al vostro computer vengono assegnati calcoli o compiti da fare dal task manager del progetto.
- Il vostro computer scarica dal server dei file dati eseguibili/applicazioni e/o file dati da utilizzare per fare calcoli.
- Completa i calcoli e carica i risultati sul server remoto.
- Il vostro computer richiede automaticamente nuovi compiti, basandosi sulle vostre preferenze.
**Potete anche partecipare a un progetto che non usa la piattaforma BOINC, alcuni sono disponibili come “stand-alone”, come GridMP che viene utilizzato da World Community Grid di IBM (ha 200.000 utenti).
Per ogni compito completato, c’è la possibilità di guadagnare crediti (il cui numero è determinato dalla difficoltà e/o risorse richieste per completarlo) che vengono aggiunti al vostro profilo di volontario. Potete ricevere altri compiti e procedere.
Alcuni progetti di calcolo distribuito
Ci sono centinaia di progetti attivi di calcolo distribuito in tutto il mondo – basta guardare la lista dei progetti di calcolo distribuito disponibile su Wikipedia per vedere tutte le possibilità. Tanti progetti appartengono a università e gruppi di volontari, e visto che BOINC è open source, un progetto può essere iniziato e lanciato da chiunque!
Ecco alcuni progetti interessanti e popolari:
- SETI@ Home – Forse il progetto BOINC più conosciuto, la ricerca per è la ricerca di eventuali prove di trasmissioni radio provenienti da intelligenza extraterrestre.
- Combattere il cancro o l’AIDS: Compute against Cancer (EN) - Help Conquer Cancer (EN) o combattere l’AIDS (EN)
- Folding @ Home da Stanford University: lo studio di avvolgimenti, dissociazioni e aggregazioni delle proteine e delle loro relative incidenze sulle malattie [ Wikipedia (IT) : Sito Ufficiale di Folding @ Home (EN) ]
- Einstein @ Home : cerca segnali che evidenzino la presenza di buchi neri, pulsar e altri particolari tipi di stelle [ Einstein @ Home (EN) ]
- o se preferite un approccio più divertente - Project Sudoku (EN) o (EN)
- o più artistico: RenderFarm@Home (EN) per rendere grafici 3D, The Internet Movie Project (EN) – creare film animati di pubblico dominio.
Mini-FAQ su Calcolo Distribuito
- È sicuro? Potrei essere a rischio di spam o virus?
Come tutti i software scaricabili da internet, potrebbero esserci dei rischi. Per ogni progetto verrai richiesto di scaricare file ed eseguibili per quel progetto in particolare. Date un’occhiata al sito e alle informazioni disponibili prima di decidere di partecipare a un progetto. Tanti progetti, però, hanno già migliaia di utenti e una reputazione forte e attendibile.
Comunque il rapporto volontario / progetto è basato molto sulla fiducia del progetto e che:
- fornirà applicazioni che non danneggeranno il loro PC o invadere il loro privacy
- è affidabile sul lavoro che viene fatto dalle sue applicazioni e come verrà utilizzato la risultante proprietà intellettuale
- seguirà le appropriate procedure di sicurezza, così gli hacker non possono utilizzare il progetto come veicolo di attività maliziose.
- C’è un impegno minimo per partecipare?
L’impegno lo decidete voi, vi collegate un giorno sì e un altro no. La vostra partecipazione è divisa in set di compiti, quindi potete completare i compiti attuali e poi smettere, o subito continuare con nuovi compiti.
- Mi costerà partecipare?
Ovviamente ci possono essere dei costi per elettricità consumata dovuti al fatto che decidete di lasciare il PC acceso per partecipare al calcolo distribuito quando sarebbe altrimenti spento. Ma forse no. Quante volte avete lasciato il PC “per un momento” e poi tornate un mezz’ora o ore dopo? Questo tempo (e elettricità) “perso” è il benvenuto.
Migliorare il mondo avrà un costo comunque, e volete aiutare, no?
Altre Risorse
- BOINC Italy- il portale italiano dedicato al calcolo distribuito (c’è anche un gruppo su Facebook) e i progetti supportati dal team
- Calcolo Distribuito su Wikipedia e una lista di progetti calcolo distribuito
- Grid Republic (EN): un’interfaccia online che aiuta nel processo di iscriversi e iniziare
- International Science Grid this Week (EN) – un newsletter settimanale
- Volunteer @ Home (EN) - info su come essere un volontario
- Grid Cafè (EN) – un posto per imparare di grid computing da CERN.
Che aspettate? I vostri computer sono pronti a partecipare!
Tags: boinc, calcolo distribuito, distributed computing, gimps, grid republic
One Response to “Salva il mondo con il tuo pc: il calcolo distribuito a casa”
Leave a Reply
- danielapavy,
- candy,
- Chiara,
- lafra,
- danielaelle,
- Semerssuaq,
- Sara Maternini,
- lalui,
- CaramellaMenta,
- Antonella,
- Sara Rosso
-
questo post mi ha aperto degli universi a me sconosciuti :)
-
sarà, ma a me ha sempre dato un po' l'impressione della carità pelosa: ensi di metterti a posto la coscienza partecipando ad una cosa che non raggiungerà mai un risultato. ma sono poco informato e mi piacerebbe essere smentito.
-
Quando ero single e geek (universitario) usavo il pc linux che avevo per contribuire a SETI@home. Si attivava giorno e notte, con nessun effetto sull'uso "privato" della macchina. Ecco, avrei un po' di dubbi a farlo con Windows. Mac ovviamente non farebbe una piega essendo Unix based. L'unico dubbio che avrei ora a farlo è che ho un portatile e il suo modo d'utilizzo (standby, risparmio energetico,etc.) temo non si presti troppo a sistemi di usato genere.
-
@effemmeffe dipende da come si misura un risultato...alcuni progetti hanno risultati più evidenti di altri. e allo stesso momento, se ne hanno bisogno, e sto sprecando cmq energia, perché non farlo? :)
-
@effemmeffe, è il succo della locuzione " offrirsi volontari" se credi in quella cosa, la fai. altrimenti nessuno ti chiede nulla. :)
-
Io sono certamente un ignorante ed apprezzo la scienza pratica. A che serve mettere a disposizione il mio PC per trovare un numero di Mersenne più grande di (2^37.156.667)-1?
-
@sara: se il client si attiva mentre non fai nulla, beh, puoi mandare in stop il computer e smettere di consumare. se invece si attiva mentre lavori, allora nulla, in fin dei conti io non stavo denigrando o sconsigliando l'uso di applicazioni del genere, mi interrogavo solo sul significato.
-
@pm10: ma certo, la mia era solo una riflessione, non un giudizio.
-
@effemmeffe - claro, concordo. @essepunto.it - sinceramente anch'io vorrei che ci fossero più progetti "vicino" all'utente nel senso di vedere/capire i risultati o applicarli nella vita giornaliera. Visto che è open source...forse qualcuno farà qualcosa!
-
sara: proposta di progetto vicino all'utente?
-
@effemmeffe mi è piaciuto il progetto di rendering 3D per fare film di dominio pubblico (l'ho elencato nel post). Progetti di creare beni culturali / arte / etc. C'è un risultato che si vede e (forse) apprezzare...
April 23rd, 2009 at 5:03 pm
Sai che proprio non ne avevo mai sentito parlare? Grazie per lo spunto, adesso mi leggerò un po’ delle risorse segnalate.