World Community Grid
World Community Grid è un tentativo di creare la più grande rete di calcolo distribuito pubblica del mondo per affrontare progetti di ricerca scientifica a beneficio dell'umanità.
Il progetto è partito il 16 novembre 2004, è finanziato e gestito da IBM utilizzando una interfaccia software disponibile per Windows, Linux e Mac OS X.
Il sistema punta ad utilizzare il tempo in cui i computer collegati alla rete da ogni parte del mondo sono inattivi. Con la potenza di calcolo di circa 1.399.980 computer[1], i vari progetti si sono occupati di diversi campi di ricerca. I progetti di ricerca spaziano su vari campi, dalle analisi del genoma umano alla lotta contro il cancro e l'AIDS al clima africano.
La collaborazione al progetto è aperta a tutti. Sebbene la maggior parte dei 358.000 utenti registrati siano privati, sono presenti anche circa 350 aziende.
Progetti
I progetti attualmente attivi sono:
- The Clean Energy Project: L'obbiettivo del progetto è trovare nuovi materiali per le celle solari di prossima generazione ed in seguito per l'immagazzinamento di energia.
- Nutritious Rice for the World: Un tentativo di selezionare varietà di riso la cui composizione proteica è particolarmente adatta a combattere la fame nel mondo.
- Help Conquer Cancer: un progetto che mira a migliorare la cristallografia a raggi X delle proteine allo scopo di migliorare la comprensione delle meccaniche legate alla nascita del cancro.
- Discovering Dengue Drugs - Together: con obiettivo lo sviluppo di vaccini per alcune malattie tropicali
- Human Proteome Folding (Phase 2): un progetto orientato a creare dei modelli grafici di alcune importanti proteine umane e sviluppare un software in grado di prevedere i possibili mutamenti strutturali delle proteine.
- FightAIDS@Home: studio molecolare sull'AIDS.
Storia
L'IBM, insieme ad altri ricercatori, sponsorizzarono il United Devices Smallpox Research Grid Project al fine di accelerare la scoperta di una cura per il vaiolo. Gli studi sul vaiolo sfruttavano una vasta rete di calcolo distribuito per analizzare l'efficacia dei composti contro il vaiolo. Il progetto permise agli scienziati di fotografare 35 milioni di potenziali farmaci contro molte proteine del vaiolo per identificare i validi candidati al trattamento. Nelle prime 72 ore, vennero restituiti oltre 100.000 risultati ed alla fine del progetto, furono identificati 44 potenziali vaccini. Basandosi sul successo del Smallpox study, l'IBM annunciò il 16 novembre 2004 la creazione di World Community Grid con l'obiettivo di creare un ambiente tecnico dove altre ricerche umanitarie potessero essere elaborate.
Inizialmente World Community Grid supportava solo il sistema operativo Windows, usando il software proprietario Grid MP della United Devices il quale utilizzava grid.org per distribuire i progetti di elaborazione. La domanda al supporto anche di altri sistemi operativi come Linux ha portato, nel Novembre del 2005, all'aggiunta del progetto alla rete open source BOINC, la quale già supportava progetti come SETI@home e Climateprediction. Oltre a Windows, Mac OS X e Linux sono ora ufficialmente supportati.
Il 6 novembre del 2009 World Community Grid contava oltre 486.000 account di utenti con oltre 1,3 milioni di dispositivi registrati. Durante il corso del progetto, più di 288.000 anni di tempo di elaborazione sono stati donati e oltre 345 milioni di workunits sono state completate.
Come funziona
Il programma client di World Community Grid lavora in backgroud, apparendo come una piccola icona nella system tray (barra di sistema). Quando il client BOINC è in uso, come nell'esempio, l'icona è una piccola "B". La finestra di stato del programma client mostra informazioni circa il lavoro che si sta eseguendo in background. Nel caso specifico, questo computer ha completato il 60,3% della workunit. Qunando l'elaborazione verrà completata, verrà elaborata una nuova workunit e il risultato della precedente verrà ri-trasmetto a WCG.
Il programma World Community Grid usa il tempo di inattività della connessione ad Internet del computer per effettuare l'elaborazione. Gli utenti installano il programam client WCG sul proprio computer. Questo programma lavora in background usando le risorse libere del computer per eseguire l'elaborazione per WCG. Quando una parte del lavoro (workunit) è completato, il software client la rispedisce a WCG attraverso Internet e scarica una nuova workunit. Per garantire l'accuratezza dei risultati, i server di WCG spediscono diverse compie di ciascuna workunit. Poi, quando i risultati vengono ricevuti, i server li raccolgono e li confrontano.
Gli utenti possono scegliere di usare il progresso dell'elaborazione della workunit come scrensaver.
Mentre diverse reti pubbliche di calcolo come SETI@home o Folding@home sono dedicate a un singolo progetto, World Community Grid raccoglie sotto un unico tetto diversi diversi progetti umanitari. Gli utenti sono automaticamente iscritti a tutti i progetti, ma possono anche scegliere di iscriversi soltanto ad alcuni di essi.
In passato, quando veniva eseguito World Community Grid, usava il client proprietario Grid MP della United Devices. Dopo aver aggiungto il supporto al client open source BOINC nel 2005, World Community Grid gradualmente smise di utilizzare il client di Grid MP, per sposare la piattaforma BOINC nel 2008.
Anche se WCG fa uso di un programma client open source, l'attuale applicazione che provvede al calcolo scientifico potrebbe non esserlo. Comunque, diverse delle applicazioni scientifiche sono disponibili in licenza aperta, anche se il codice sorgente non è disponibile direttamente da WCG.
Potenziali problemi
A causa del fatto che il software World Community Grid aumenta lo sfruttamento della CPU usando i tempi morti del processore, è possibile che il programma causi un utilizzo anomalo del sistema. Nonostante la natura non invasiva del programma, potrebbe manifestarsi un calo delle prestazioni del computer. Inoltre il massiccio utilizzo della CPU potrebbe causare il surriscaldamento del computer.
Il client BOINC previene questi problemi sospendendo l'elaborazione quando le risorse disponibili sono insufficienti. Diversamente da altri progetti BOINC, World Community Grid imposta BOINC su di un profilo conservativo, rendendo estremamente improbabili possibili danni al computer. Il CPU throttle standard viene impostato al 60%. Il throttle è però grossolano; per esempio, se l'utilizzo viene fissato sul 60%, l'elaborazione sarà al 100% per 3 secondi, poi si fermerà per 2 secondi, risultando in media pari ad uno sfruttamento costante del 60% del processore.
Esiste un programma aggiuntivo, TThrottle, il quale risolve il problema del surriscaldamento in modo differente. TThrottle limita l'elaborazione del progetto in base alle rilevazioni delle temperature della CPU e/o della GPU. Il programma utilizza inoltre un più breve tempo di cambio, minore di un secondo, riducendo le temperature durante il cambio.