Berkeley Open Infrastructure for Network Computing

Da Wikipedia, l'enciclopedia libera.
Versione del 16 apr 2010 alle 18:25 di Venturini Dario (discussione | contributi) (Spostato template "tradotto" in "discussione")
Vai alla navigazione Vai alla ricerca

Template:Infobox Software Il Berkeley Open Infrastructure for Network Computing (BOINC) è un sistema non-commerciale per il calcolo distribuito volontario . E’ stato sviluppato originariamente per sostenere il progetto SETI@home, prima di diventare utile come base per altre applicazioni distribuite in svariate aree scientifiche come la matematica, la medicina, la biologia molecolare, l’astrofisica e la climatologia. Lo scopo di BOINC è quello di rendere disponibile ai ricercatori l’enorme potenza di calcolo dei personal computer sparsi per il mondo.

BOINC è stato sviluppato da un team presso lo Space Sciences Laboratory della University of California, Berkeley diretto da David Anderson, il quale dirige anche SETI@home. Alla stregua di una piattaforma di “quasi-supercomputer”, BOINC conta circa 612.000 computer attivi (hosts) intorno al mondo che elaborano una media di 4.900 petaFLOPS (alla data del 12 Aprile 2010)[1], posizionandosi - come potenza di calcolo – al di sopra del supercomputer più veloce al momento (Cray XT5 (Jaguar), con un rate di elaborazione di 1.759 PFLOPS). BOINC è finanziato dalla National Science Foundation attraverso i premi SCI/0221529,SCI/0438443 e SCI/0721124.

Il framework è supportato da diversi sistemi operativi, come Microsoft Windows, Mac OS X e sistemi Unix-like tra cui Linux and FreeBSD. BOINC è un software free rilasciato sotto licenza GNU Lesser General Public License.

Storia

BOINC è stato originariamente sviluppato per sostenere il progetto SETI@home.

Il client originale di SETI era un software non-BOINC esclusivo per SETI@home. Come primo dei progetti di grid computing volontari, non era stato progettato con un alto livello di sicurezza. Alcuni partecipanti al progetto cercarono di manipolare i dati per ottenere "crediti", mentre altri ancora inviarono lavori completamente falsi! BOINC è stato progettato, in parte, per combattere queste falle nella sicurezza.

Il progetto BOINC è iniziato nel Febbraio 2002 e la prima versione è stata rilasciata il 10 Aprile 2002. Il primo progetto BOINC-based è stato Predictor@home , partito il 9 Giugno 2004.

Progetto e struttura

BOINC è progettato per essere una struttura libera per chiunque voglia iniziare un progetto di calcolo volontario. La maggior parte dei progetti BOINC sono nonprofit e dipendono molto, se non completamente, da volontari.

In sostanza BOINC è un software che può sfruttare le CPU e GPU dei computer quando queste non vengono utilizzate, per effettuare calcoli scientifici – in sintesi, quando una persona non usa il proprio computer, allora lo usa BOINC. Alla fine del 2008, il sito ufficiale di BOINC annunciò che NVIDIA (un produttore leader di GPU) aveva sviluppato un systema chiamato CUDA che utilizza le GPU per calcoli scietifici. Con l’aiuto di NVIDIA, alcuni dei progetti basati su BOINC (i.e., SETI@home, Milkyway@home) hanno adesso applicazioni che girano su GPU NVIDIA utilizzando CUDA. All’inizio di Ottobre, BOINC aggiunse anche il supporto per le GPU di ATI/AMD. Queste applicazioni girano dalle 2 alle 10 volte più velocemente di quelle basate su versioni solamente per CPU.

BOINC è formato da una parte server e una parte client che comunicano tra loro per distribuire, elaborare e inviare i risultati delle WU (Working Units).

Server

Immagine del progetto Seti@home

La parte centrale dell'applicazione è composta dalla parte "server", i cui vari compiti possono essere eseguiti su una o più macchine in modo da poter gestire progetti anche molto grandi. Il server stesso non si occupa di eseguire calcoli, bensì di coordinare le operazioni dei client e gestire il database dei risultati. Il server include funzioni come la ridondanza omogenea (mandare la stessa unità di lavoro a piattaforme simili), l'anteprima dell'unità (inviare informazioni al server prima che l'unità sia stata calcolata completamente) e la pianificazione locale (preparare nuove unità di lavoro prima che il computer abbia terminato quelle correnti e creare unità su richiesta).

Client

L'applicazione client si occupa di processare le unità di lavoro. Scarica i dati e gli applicativi dei vari progetti tramite un collegamento ad Internet. Per questioni di sicurezza, il client non si aggiorna automaticamente; le applicazioni dei singoli progetti di ricerca, invece, vengono scaricate e aggiornate automaticamente. Il client dispone di varie possibilità di configurazione per permettere un utilizzo conforme alle volontà dell'utente in termini di tempo e risorse messe a disposizione. Consente inoltre la divisione del tempo di calcolo su più di un progetto.

Interfaccia utente

BOINC può essere controllato da remoto tramite chiamate di procedure remote, riga di comando, e BOINC Account Manager. Il BOINC Manager dispone al momento di due GUI : Avanzata e Semplificata. L’opzione Grid è stata rimossa già dalla versione 6.6.x poichè ridondante. L’aspetto della GUI semplificata è personalizzabile dall’utente, nel senso che questi possono creare i propri modelli grafici.

Account manager

L’idea dell’account manager è stato pensato e sviluppato congiuntamente da GridRepublic e BOINC. L’ account manager attuale include:

  • BOINC Account Manager (Il primo Account Manager disponibile al pubblico)
  • GridRepublic (Segue l’idea di essere semplice e “pulito” quando si tratta di gestire gli account)

Gli account managers sono il punto d’unione di tutti i progetti BOINC. E’ stato creato un sito dove ognuno può trovare e gestire il progetto con un unico log-in e password.

Il sistema dei crediti

Il sistema dei Crediti di BOINC è progettato per evitare trucchi, convalidando i risultati prima di concedere i crediti.

  • Un sistema di gestione dei Crediti aiuta a far si che gli utenti restituiscano risultati corretti sia scientificamente che statisticamente.
  • Il calcolo distribuito on-line è uno sforzo per lo più volontario. Per questo i progetti dipendono da un mix variabile e complicato di nuovi utenti, vecchi utenti e utenti rititrati.
  • Non c’è un motivo singolo e preciso per cui qualcuno decide di donare parte delle proprie risorse di calcolo ad un determinato progetto.

Progetti che utilizzano la piattaforma BOINC

Il nuovo logo del progetto BOINC

Attivi

In fase di test

In fase di progettazione

Note

Riferimenti

  • Vance, Ashlee. (2003). Sun and UC Berkeley are about to BOINC. [1]

Altri progetti

  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero