# Berkeley Open Infrastructure for Network Computing

La Berkeley Open Infrastructure for Network Computing o BOINC és una infraestructura per la computació distribuïda, desenvolupada originalment pel projecte SETI@home, però que actualment s'utilitza per diversos camps com ara la física, la medicina nuclear, la climatologia, etc. La intenció d'aquest projecte és obtenir una capacitat de computació enorme utilitzant ordinadors personals al voltant del món. Els projectes en els que treballa aquest programari tenen un denominador comú i és que requereixen una gran capacitat de càlcul.
BOINC ha sigut desenvolupada per un equip ubicat a l'Space Sciences Laboratory de la Universitat de Califòrnia a Berkeley, liderat per David P. Anderson, que també lidera SETI@home. Com una plataforma "quasi-superordinador", BOINC té al voltant de 527,880 ordinadors actius (hosts) al voltant del món processant una mitjana de 5.509,165 teraFLOPS (31-01-2012), que supera el poder de computació del superordinador més ràpid existent (el Tianhe-I de la Xina, amb una velocitat de processament de 2.566 petaFLOPS). BOINC és finançat per la National Science Foundation (NSF) a través de les beques SCI/0221529, SCI/0438443 i SCI/0721124.
La plataforma es pot executar en diversos sistemes operatius, incloent-hi Microsoft Windows i diversos sistemes Unix-like incloent-hi Mac OS X, Linux i FreeBSD. BOINC és programari lliure i disponible sota la llicència GNU LGPL.

## Història

BOINC fou originalment desenvolupat per administrar el projecte SETI@home.
El client de SETI original era un programa dissenyat exclusivament per SETI@home. Com un dels primers projectes de computació distribuïda, mai no fou dissenyat amb nivells alts de seguretat. Alguns membres intentaven enganyar el projecte per guanyar més "crèdits", mentre altres simplement enviaven resultats totalment falsos. BOINC fou dissenyat, en part, per combatre aquesta bretxa en la seguretat.
El projecte BOINC començà al febrer del 2002 i la seva primera versió fou publicada el 10 d'abril del 2002. El primer projecte basat en BOINC fou Predictor@home, llançat el 9 de juny del 2004.

## Disseny i estructura

BOINC està dissenyat per ser una plataforma lliure per qualsevol que vulgui crear un projecte de computació distribuïda.
En essència, BOINC és un programari que pot utilitzar els cicles que no s'ocupen de la CPU o GPU d'un ordinador per fer càlculs científics - el que un individu no ocupa del seu ordinador, BOINC ho utilitza. A finals del 2008, el lloc web oficial de BOINC anuncià que NVIDIA (un fabricant important de GPU) havia desenvolupat un sistema anomenat CUDA que ocupa les GPU per la computació científica. Amb l'ajuda d'NVIDIA, alguns projectes basats en BOINC (com SETI@home, MilkyWay@home) ara tenen aplicacions que s'executen a les GPU d'NVIDIA ocupant CUDA. A l'octubre del 2009, BOINC afegí suport per la família de GPU ATI/AMD. Aquestes aplicacions s'executen des de 2x a 10x més ràpid que les aplicacions que s'executen només a la CPU.
BOINC consisteix en un servidor i un client que es comuniquen per distribuir, processar i retornar unitats de treball (més conegudes en anglès com a work units).

### Interfície d'usuari

BOINC pot ser controlat a distància mitjançant crides a procediment remot (RPC), des de la línia d'ordres, o des de l'administrador de compte de BOINC.
El Manager de BOINC actualment compta amb 2 modes de "vista": La Vista Avançada (Advanced View) i la GUI Simplificada (Simplified GUI). La Vista Grid fou esborrada des de la versió 6.6.x per ser redundant.
L'aparença de la GUI Simplificada pot ser personalitzable mitjançant skins i cada usuari pot fer el seu propi disseny.

### Administradors de comptes

Un administrador de compte de BOINC és una aplicació que administra múltiples comptes de projectes BOINC a través de múltiples ordinadors i sistemes operatius.
Els administradors de compte (Account managers en anglès) han sigut dissenyats pels que són nous en BOINC o tenen diversos ordinadors treballant per diverses comptes. El concepte d'administrador de comptes fou ideat i desenvolupat per GridRepublic juntament amb BOINC. Entre els administradors actuals es troben:
* BAM! (BOINC Account Manager Arxivat 2008-12-03 a Wayback Machine.) (El primer que hi hagué, llançat el 30 de maig del 2006)
* GridRepublic (Segueix la idea de mantenir-ho tot simple i ordenat)
* Dazzler (Account Manager Opensource, pensat per gestionar recursos propis)

### Sistema de crèdits

El sistema de crèdits està dissenyat per evitar les trampes en la validació de resultats per la posterior entrega de crèdits falsos. Existeixen diverses raons per les quals és necessari un sistema fiable de crèdits:
* El sistema de crèdits serveix per assegurar que els resultats obtinguts són vàlids tant científicament com estadísticament.
* Els projectes de computació distribuïda són gairebé totalment un esforç voluntari. Per aquesta raó els projectes són dependents d'un conjunt mixt de variables complexes de nous usuaris, usuaris veterans i usuaris retirats.

## Programari

El programari requerit per donar temps de procés (prestar la unitat de processament), ha de ser descarregat des de la pàgina oficial de BOINC, on es pot elegir la plataforma de la descàrrega i el tipus d'arquitectura que posseeixi el maquinari. També es pot disposar del codi font del programari client, per modificar-lo a gust de l'usuari.
Una vegada descarregat el programari, l'usuari s'ha de subscriure a un projecte segons sigui el seu interès, tan sols registrant el seu correu electrònic i una contrasenya per accedir a les seves estadístiques. En fer-ho, s'obrirà una finestra al navegador i es podrà inscriure un grup d'usuaris o personalitzar el compte en el projecte, per determinar el temps de funcionament o l'espai de disc dur de què disposa el projecte en l'equip de l'usuari.

## Projectes que utilitzen la plataforma BOINC

Els projectes són independents. BOINC no controla ni dona suport a cap projecte.

## Referències

* ↑ Willy de Zutter. «BOINC combined - Hosts overview». BOINCstats.com, actualitzat automàticament. [Consulta: 11 març 2011].
* ↑ TOP500 November 2009
* ↑ Research and Infrastructure Development for Public-Resource Scientific Computing, The National Science Foundation
* ↑ SCI: NMI Development for Public-Resource Computing and Storage, The National Science Foundation
* ↑ SDCI NMI Improvement: Middleware for Volunteer Computing, The National Science Foundation
* ↑ Anderson, David P. «Public Computing: Reconnecting People to Science». Arxivat de l'original el 2007-05-15. [Consulta: 13 juny 2007].

## Enllaços externs

* Berkeley Open Infrastructure for Network Computing - Lloc web oficial
* Bloc de Rom Walton desenvolupador de la «BOINC». (anglès)