Berkeley Open Infrastructure for Network Computing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Boboviz (discussione | contributi)
Nessun oggetto della modifica
m i "supporta,... supporta" fanno prosa un po' "nerd"
Riga 26:
Il '''Berkeley Open Infrastructure for Network Computing '''('''BOINC''')''' ''' è un [[software libero]] per il [[calcolo distribuito]] volontario.
 
È stato sviluppato originariamentein origine per sostenere il progetto [[SETI@home]], prima di diventare utile come baseframework per altre applicazioni di [[calcolo distribuito|applicazioni distribuite]] in svariate aree scientifiche, come la [[matematica]], la [[medicina]], la [[chimicagenetica]], la [[biologiachimica]], la [[biologia molecolare]], l'[[astrofisica]] e la [[climatologia]]. Lo scopo diche si prefigge BOINC è quello di rendere disponibile ai ricercatori l'enorme [[MIPS (unità di misura)|potenza di calcolo]] dei [[personal computer]] sparsi per il mondo e collegati via internet.
 
IlEsistono frameworkversioni èdel software supportatocompatibili dacon diversi sistemi operativi, come [[Microsoft Windows]] e sistemi [[Unix-like]], tra cui [[Linux]], [[macOS]], [[FreeBSD]] ed [[Android]]. BOINC è un [[software libero]] distribuito sottonei termini della licenza [[GNU Lesser General Public License]].<ref name="licenza">{{Cita web| titolo = BOINC is now distributed under the Lesser GPL| url = https://boinc.berkeley.edu/legal.html| editore = BOINC, [[University of California, Berkeley]]| data = 15 gennaio 2005}}</ref>
 
== Storia ==
Il progetto BOINC è iniziato nel febbraio 2002 e la prima versione è stata distribuita il 10 aprile 2002. Il primo progetto BOINC-based è stato [[Predictor@home]], partito il 9 giugno 2004. 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: infatti venne originariamente sviluppato per sostenere il progetto [[SETI@home]]. È finanziato dalla [[National Science Foundation]] attraverso i premifinanziamenti SCI/0221529,SCI/0438443 e SCI/0721124.
 
Il client originale di SETI era un software non-BOINC esclusivo per SETI@home. Come primo dei progetti di [[calcolo distribuito|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 (cheating); BOINC è stato progettato, in parte, per combattere queste falle nella sicurezza.
Riga 37:
Alla stregua di una piattaforma di “quasi-[[supercomputer]]”, BOINC conta circa 266,566 volontari, 762,811 computer attivi (hosts) intorno al mondo che elaborano una media di 18.283 [[FLOPS|PetaFLOPS]] (alla data del 12 febbraio 2017).<ref>https://boinc.berkeley.edu/</ref>
 
== Progetto e supportocompatibilità hardware ==
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 per la maggior parte, se non completamente, da volontari.
 
In sostanza BOINC è un [[software]] che può sfruttare le [[CPU]] e [[Graphics Processing Unit|GPU]] dei [[computer]], quando queste non vengono utilizzate, per effettuare calcoli scientifici&nbsp;– 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]] aveva sviluppato un linguaggio di programmazione chiamato [[CUDA]] che utilizzava le GPU per calcoli scientifici. Con l'aiuto di NVIDIA, alcuni dei progetti basati su BOINC (i.e., [[SETI@home]], [[MilkyWay@home]]) hanno applicazioni che girano su GPU. All'inizio di ottobre, BOINC aggiunse anche illa supportocompatibilità percon le GPU di [[AMD|ATI/AMD]], attraverso il linguaggio [[OpenCL|OpenCl]]. Queste applicazioni giranopossono hanno velocità di esecuzione dalle 3 alle 15 volte piùsuperiori velocementerispetto dia quelle basate su versioni corrispettive per CPU. Per quanto riguarda le CPU, BOINC è in grado, se l'applicativo è {{chiarire|correttamente sviluppato}}, è in grado di dare accesso alle estensioni [[Streaming SIMD Extensions|SSEx]], [[Advanced Vector Extension|Avx]], ecc, inche grado dipossono dare ottimi risultati in termini di accelerazione del calcolo.
 
Dal 2013, la piattaforma Boinc è supportatadisponibile anche sui device Android (smartphone, tablet, ecc) e molti progetti utilizzano questa possibilità, grazie all'aumento considerevole sia del numero chesia della potenza di calcolo di questi strumenti. Dal 2015, invece, sono supportatedisponibili compilazioni per piattaforme single-board come [[Raspberry Pi|Raspberry]], Parallela, Odroid e altre.
 
BOINC, in tal senso, è semi-"agnostico" per quanto riguarda l'hardware su cui gireranno i progetti, limitandosi ad "esporlo" agli applicativi i quali dovranno essere loro adeguatamente [[Compilatore|compilati]] per poter sfruttare le potenzialità delle piattaforme.
Riga 56:
 
=== Client ===
L'applicazione client si occupa di processare le unità di lavoro, scaricando 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 [[time sharing|divisione del tempo di calcolo]] su più di un progetto. Dal 2013 è possibile scaricare il client con già incluso il pacchetto [[VirtualBox]], dal momento che alcuni progetti utilizzanofanno delleuso di macchine virtuali per poter supportaregestire adeguatamentein modo adeguato i checkpoint (salvataggio automatico del lavoro svolto), oppureo perchèper lefornire alle "working units" hannol'ambiente bisognosoftware standardizzato di uncui ambientehanno software standardizzatobisogno. Per migliorare ulteriormenteancora la standardizzazione necessaria all'esecuzione di alcuni progetti, dal 2016 Boinc supportaè correttamentecompatibile con [[Docker]].
 
'''Wrapper'''