Folding@Home

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Folding@home)
Vai a: navigazione, cerca
Progetto Folding@Home

Folding@Home (talvolta abbreviato come FAH o F@h) è un progetto di calcolo distribuito per lo studio degli avvolgimenti, delle dissociazioni e aggregazioni delle proteine e delle loro relative incidenze sulle malattie. È stato lanciato il 1º ottobre 2000, e da allora è gestito dal Pande Group, nel dipartimento di chimica dell'Università di Stanford sotto la supervisione del professor Vijay S. Pande.

Con una potenza elaborativa sviluppata di circa 9 PetaFLOPS al Gennaio 2012[1], Folding@Home è attualmente il sistema informatico con la potenza elaborativa grezza più elevata al mondo.

Indice

[modifica] Obiettivi del progetto

Un'accurata simulazione dell'avvolgimento (o di un avvolgimento errato) delle proteine aiuterebbe la comunità scientifica a capire meglio lo sviluppo di molte malattie. Attualmente il progetto sta studiando come combattere le seguenti malattie:

La lista aggiornata e descritta è reperibile nel sito ufficiale.[2]

I risultati ottenuti dal progetto si possono vedere attraverso il sito ufficiale del progetto.[3]

[modifica] Funzionamento

Folding@Home non si basa sull'utilizzo di potenti supercomputer per l'elaborazione dei propri dati: a contribuire al progetto sono infatti le decine di migliaia di personal computer connessi ad internet degli utenti che hanno installato un piccolo client. Questo client lavora in background e utilizza la CPU (o la GPU) quando non è occupata. Nei personal computer moderni, la CPU è raramente utilizzata al 100% per tutto il tempo; il client di Folding@home sfrutta la percentuale di processore non utilizzata.

Chiunque può quindi scaricare ed installare sul proprio PC il software del client, senza che questo vada ad incidere in modo rilevante sulle prestazioni del proprio sistema o sulle proprie attività lavorative. Va detto che l'esecuzione del client comporta un moderato aumento del consumo di energia elettrica e del calore prodotto e, di conseguenza, un aumento delle temperature di funzionamento e una sostanziale riduzione dell'autonomia nel caso di funzionamento a batterie.

Il client di Folding@Home si connette periodicamente ed in maniera automatica ad un server per ricevere una work unit, un piccolo pacchetto di dati da elaborare. Una volta elaborata (fase che può richiedere da meno di un'ora a qualche giorno), la work unit viene rimandata indietro al server, il client ne scarica una nuova e il processo si ripete.

I partecipanti a Folding@Home possono utilizzare uno username per tenere il conto del loro contributo al progetto. Ogni utente può installare quanti client vuole; un utente che possiede due computer, ad esempio, può eseguire il client su entrambi utilizzando sempre lo stesso username, raddoppiando il contributo riconosciutogli. Più utenti possono unirsi in un team. La classifica dei team, insieme ad altre statistiche, si trova nel sito ufficiale.[4]

[modifica] Il Software

Il calcolo distribuito di Folding@Home si basa, coerentemente ad altri progetti simili, su tre componenti software principali:

  • La work unit, il piccolo pezzo del problema da risolvere che verrà processato dal solutore. Il tipo di work unit che viene fornita dai server del progetto dipende dalle caratteristiche del computer sul quale verrà calcolato: più le prestazioni di un PC sono elevate e più lunghe e complicate saranno le work unit assegnate.
  • Il solutore, il programma che si occupa dei calcoli veri e propri. Il solutore impiegato dipende dalla work unit che deve essere processata. Nel tempo si sono susseguiti solutori fondati su software scientifici di diverso tipo, tra i quali i più famosi sono Tinker e GROMACS.
  • Il client, che si occupa di avviare/fermare il solutore, di scaricare le work unit ed eventuali nuovi solutori, di gestire le impostazioni e di fornire informazioni all'utente riguardo allo stato del programma.
media di megaFLOP per tipo di client. Una singola GPU fornisce la stessa potenza di calcolo di 60 CPU sotto Windows. Questa potenza non va intesa come potenza "grezza" ma dipende da molti fattori come l'uptime ed il carico sulla CPU e la velocità

Durante il 2005, il progetto aggiunge il supporto al GPGPU con un client apposito grazie al quale è possibile sfruttare l'enorme capacità di calcolo sviluppata dai processori grafici presenti nelle schede video. Tali dispositivi, essendo composti da un gran numero di unità elaborative in grado di effettuare molti semplici calcoli contemporaneamente ed a elevata velocità (stream processing), permettono di sviluppare una potenza di calcolo fino a due ordini di grandezza superiore rispetto a quella sviluppata da una CPU a parità di generazione. Tuttavia, la particolare architettura delle GPU limita pesantemente la flessibilità della stessa, e di conseguenza le work unit per GPU devono essere opportunamente semplificate rispetto a quelle fornite alle CPU. Ciò significa che, nonostante i processori grafici generino una potenza elaborativa di molto superiore, il client per CPU non verrà abbandonato in quanto è necessario per particolari calcoli, tra cui preparare le work unit destinate ai client per GPU.

Finestra informativa del client per GPU Nvidia.

Dal 2007 esiste anche un client SMP, realizzato specificatamente per i processori multicore, grazie al quale una singola work unit viene calcolata simultaneamente da più processori, dividendo quindi i tempi di esecuzione di pari passo con il numero di processori coinvolti nel calcolo.

I client CPU di Folding@Home vengono forniti per la maggior parte dei sistemi operativi esistenti, attualmente risultano disponibili per Windows, Mac OSX e Linux.[5] Il client GPU è attualmente disponibile solo per piattaforma Windows.[6]

Nel Settembre 2007 viene rilasciato, in collaborazione con Sony, un client ad alte prestazioni del tipo GPGPU progettato specificatamente per essere eseguito sulla console Playstation 3.

Nonostante un temporaneo interessamento da parte dei gestori del progetto nei confornti della piattaforma BOINC, Folding@Home rimane un progetto a se stante.

[modifica] Storia e sviluppo del progetto

Folding@Home nasce il 1º ottobre 2000, giorno in cui viene ufficialmente rilasciato al pubblico il client del programma. Il solutore comune a tutte le work unit inizialmente disponibili era basato su Tinker.

Nel Maggio 2003 viene introdotto un nuovo solutore, GROMACS. Questo solutore, pensato per incrementare le prestazioni del progetto avvantaggiandosi dei set di istruzioni avanzati quali il 3DNow! di AMD e l'SSE di Intel, permette un aumento della velocità di calcolo a parità di hardware di circa 20 o 30 volte rispetto al solutore Tinker. Nel tempo, GROMACS è diventato il solutore principale utilizzato nei calcoli effettuati su CPU, ma senza rimpiazzare completamente Tinker. Questo sia per l'elevata flessibilità di quest'ultimo, sia per permettere ai donatori con hardware datato di contribuire al progetto.

Nel Settembre 2006 vengono rilasciati i client ad alte prestazioni per l'uso con le GPU, prima per le schede video ATI e successivamente per le Nvidia.[7]

In data 23 agosto 2006 il gestore del progetto annunciò che avrebbe rilasciato una versione del client in grado di funzionare sul processore Cell che equipaggia la PlayStation 3. Il client è stato rilasciato il 23 marzo 2007, e già solo tre giorni dopo il rilascio la potenza elaborativa generata dalle PlayStation 3 era il triplo rispetto a quella dei sistemi Windows pur avendo solo un terzo delle installazioni.[8]

Poco dopo, precisamente il 16 settembre 2007, le elevate prestazioni garantite del client per Playstation 3 unitamente ad un'elevata partecipazione dei possessori di tale console permisero a Folding@Home di infrangere per primo la barriera del PetaFLOPS, guadagnandosi una menzione nel Guinness dei primati come primo cluster informatico a raggiungere quella potenza di calcolo.[9][10]. Questo tra l'altro ufficializza il superamento da parte di Folding@home nei confronti del rivale storico in termini di calcolo distribuito, SETI@home, il quale è stato per molto tempo il progetto più seguito.

Attualmente la potenza di calcolo equivalente è di circa 9 PetaFLOPS. I client attivi sono poco meno di 500'000, di cui circa 350'000 sono client CPU, 40'000 client GPU e 20'000 client per playstation 3.

Nell'immediato futuro, Folding@Home si prefigge di unificare i client per schede grafiche ATI e Nvidia in un singolo client (a differenza di quanto fatto sinora), utilizzando le librerie OpenCL come base comune per permettere una maggiore e più facile diffusione del client GPU. Anche il normale client per CPU, considerata l'ormai globale diffusione dei processori multicore, verrà progressivamente messo in secondo piano a favore del più avanzato ed efficiente client SMP. In un'ottica ancora più a lungo termine, è previsto il rilascio di un client unico in grado di utilizzare contemporaneamente le CPU e le GPU del sistema su cui è eseguito senza richiedere client dedicati per l'uno o per l'altro sottosistema.[11]

[modifica] Voci correlate

[modifica] Note

  1. ^ Pagina delle statistiche di F@H, 08-01-2012
  2. ^ [1]
  3. ^ Risultati scientifici
  4. ^ Statistiche ufficiali
  5. ^ Client disponibili sul sito di F@H. 11-05-2011
  6. ^ Client avanzati disponibili sul sito di F@H. 21-12-2010
  7. ^ Una breve cronologia di F@HDa Tkinter a GROMACS a GPU a GPU2. 11-05-2011
  8. ^ La PS3 il client principale per Folding@Home. Hardware Upgrade. URL consultato il 26-03-2007.
  9. ^ Un petaflop per Folding@home. Hardware Upgrade, 21-9-2007. URL consultato il 21-9-2007.
  10. ^ Annuncio dell'ingresso di F@H nei guinnes come cluster più potente al mondo, Ottobre 31, 2007
  11. ^ Pagina del download dei client ad alte prestazioni e relativo stato di sviluppo

[modifica] Collegamenti esterni

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Comunità
Stampa/esporta
Strumenti
Altre lingue