Infraestructura oberta de Berkeley per a la informàtica de xarxa

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
BOINC
programari
Logotip
Gerent BOINC
Gerent BOINC
Tipus Informàtica distribuïda
Desenvolupador Universitat de Berkeley (Califòrnia)
Data de la primera versió 10 d'abril de 2002
Última versió 7.16.11 - Windows (2 de setembre de 2020 ; fa 11 mesos )

7.16.14 - Mac OS X 10.9+ (30 de novembre de 2020 ; fa 8 mesos )

7.4.22 - Linux (17 de setembre de 2014 ; fa 6 anys )

7.16.16 - Android (12 de febrer de 2021 ; fa 6 mesos )

Sistema operatiu Linux
Microsoft Windows
macOS
Android
Llenguatge C ++
Kit d'eines wxWidgets
Llicència LGPL
( Llicència lliure )
Lloc web boinc.berkeley.edu

La infraestructura oberta de Berkeley per a la informàtica de xarxa ( BOINC ) és un programari gratuït per a computació distribuïda voluntària.

Es va desenvolupar originalment per donar suport al projecte SETI @ home , abans de ser útil com a marc per a altres aplicacions informàtiques distribuïdes en diverses àrees científiques, com ara matemàtiques , medicina , genètica , química , biologia molecular , astrofísica i climatologia . L'objectiu de BOINC és posar a disposició dels investigadors l'enorme poder informàtic dels ordinadors personals de tot el món i connectats a través d'Internet.

Hi ha versions del programari compatibles amb diversos sistemes operatius, com ara Microsoft Windows i sistemes similars a Unix, inclosos Linux , macOS , FreeBSD i Android . BOINC és un programari lliure distribuït sota els termes de la GNU Lesser General Public License . [1]

Història

El projecte BOINC va començar el febrer de 2002 i la primera versió es va publicar el 10 d'abril de 2002. El primer projecte basat en BOINC va ser Predictor @ home , que va començar el 9 de juny de 2004. BOINC va ser desenvolupat per un equip del Laboratori de Ciències de l'Espai de la Universitat de Califòrnia, Berkeley, dirigida per David Anderson, que també dirigeix ​​SETI @ home: el framework es va desenvolupar originalment per donar suport al projecte SETI @ home que, fins aleshores, havia utilitzat una plataforma dedicada. Actualment, el desenvolupament es basa en la comunitat i tothom hi pot contribuir. Està finançat per la National Science Foundation mitjançant subvencions SCI / 0221529, SCI / 0438443 i SCI / 0721124.

Com a plataforma "quasi superordinador ", BOINC té prop de 92.840 voluntaris, 679.637 equips actius (hosts) a tot el món que processen una mitjana de 28.941 PetaFLOPS (a partir del 20 de juliol de 2020) [2] , cosa que el converteix en el voluntari multidisciplinari més utilitzat. informàtica al món.

Disseny i compatibilitat de maquinari

BOINC està dissenyat per ser una estructura gratuïta per a qualsevol persona que vulgui iniciar un projecte informàtic voluntari. La majoria dels projectes BOINC no tenen ànim de lucre i depenen en gran part, si no del tot, de voluntaris. BOINC és un programari que pot aprofitar les CPU i les GPU dels ordinadors quan no s’utilitzen per fer càlculs científics; en resum, quan una persona no utilitza el seu ordinador, BOINC l’utilitza.

BOINC, en aquest sentit, és semi "agnòstic" pel que fa al maquinari en què s'executaran els projectes, limitant-se a "exposar-lo" a les aplicacions que s'han de compilar adequadament per tal d'explotar el potencial de les plataformes.

  • CPU : el processador és el punt de partida de qualsevol projecte de Boinc, ja que admet els càlculs i simulacions necessaris. Quant a les CPU, molts projectes són capaços d’utilitzar les extensions SSEx , Avx , etc., que poden donar excel·lents resultats en termes d’acceleració del càlcul.
  • GPU : A finals de 2008, el lloc web oficial de BOINC va anunciar que NVIDIA havia desenvolupat un llenguatge de programació anomenat CUDA que utilitzava GPU per a càlculs científics. Amb l'ajuda de NVIDIA, alguns dels projectes basats en BOINC (és a dir, SETI @ home , MilkyWay @ home ) tenen aplicacions que s'executen en GPU. A principis d'abril de 2012, BOINC també va afegir compatibilitat amb les GPU d' ATI / AMD , a través del llenguatge OpenCl . Aquestes aplicacions poden funcionar de 3 a 15 vegades més ràpid que les basades en les versions corresponents per CPU.
  • ARM : des del 2013, la plataforma Boinc també està disponible en dispositius ARM (telèfons intel·ligents, tauletes, etc.) i molts projectes utilitzen aquesta possibilitat, gràcies al considerable augment tant del nombre com de la potència informàtica d’aquestes eines. Tanmateix, des del 2015 hi ha disponibles recopilacions per a plataformes de tauler únic com Raspberry , Parallela, Odroid i altres.

Estructura

BOINC consisteix en una part de servidor i una part de client que es comuniquen entre si per distribuir, processar i recuperar els resultats de la WU (Unitats de Treball).

Servidor

Imatge del projecte Seti @ home

La part central de l'aplicació està formada per la part "servidor", les tasques de la qual es poden realitzar en una o més màquines per gestionar fins i tot projectes molt grans. El servidor no s’encarrega de realitzar els càlculs, sinó de coordinar les operacions dels clients i gestionar la base de dades de resultats. El servidor s’encarrega de dividir la feina a fer en les moltes subunitats, que després s’enviaran als diversos ordinadors dels voluntaris connectats al projecte. El servidor també inclou funcions com la redundància homogènia (enviar la mateixa unitat de treball a plataformes similars), la previsualització de la unitat (enviar informació al servidor abans que la unitat es calculi completament) i la planificació local (preparar noves unitats de treball abans que l’ordinador hagi acabat el actuals i creen unitats sota demanda).

Un servidor BOINC és un servidor Lamp típic, en el qual és possible instal·lar, mitjançant Git, els components necessaris per crear la infraestructura: els administradors del projecte també han creat una màquina virtual ja preconfigurada i llesta per iniciar un projecte de càlcul distribuït. [3]

Client

L’aplicació client s’encarrega de processar les unitats de treball, descarregar les dades i aplicacions dels diferents projectes mitjançant una connexió a Internet. Per motius de seguretat, el client no s’actualitza automàticament; en canvi, les aplicacions dels projectes de recerca individuals es descarreguen i s’actualitzen automàticament. El client té diverses possibilitats de configuració per permetre l’ús d’acord amb els desitjos de l’usuari en termes de temps i recursos disponibles. També permet dividir el temps de càlcul en més d’un projecte. Des del 2013 és possible descarregar el client amb el paquet VirtualBox ja inclòs, ja que alguns projectes fan ús de màquines virtuals per poder gestionar adequadament els punts de control (estalvi automàtic del treball realitzat), o bé proporcionar a les "unitats de treball" entorn de programari estandarditzat que necessiten. Per millorar encara més l'estandardització necessària per a l'execució d'alguns projectes, Boinc és compatible amb Docker a partir del 2016.

Embolcall

L’equip de desenvolupament de BOINC ha creat una capa intermèdia opcional ( embolcall ) per a la comunicació entre l’aplicació que s’executarà i el client BOINC, de manera que permeti el funcionament del programari existent sense la necessitat de reescriure el codi per adaptar-lo a la infraestructura BOINC. El rendiment de les aplicacions que utilitzen l’embolcall són, òbviament, lleugerament inferiors a les que es compilen de forma nativa per executar-se dins de BOINC, però tenen l’avantatge d’executar-se immediatament sense canvis importants al propi programari.

Interfície d'usuari

BOINC es pot controlar remotament mitjançant trucades de procediments remots , línia d’ordres i gestor de comptes BOINC. Actualment, el gestor BOINC té dues GUI : avançada i simplificada. L'opció Grid ja s'ha eliminat de la versió 6.6.x ja que és redundant. L'aparença de la GUI simplificada és personalitzable per l'usuari, en el sentit que l'usuari pot crear les seves pròpies plantilles gràfiques.

Crèdits

La computació distribuïda voluntària, per descomptat, no té cap recompensa monetària a canvi de l’ús dels seus sistemes informàtics (a diferència de projectes com Bitcoin ), sinó que assigna una puntuació a cada unitat de treball processada, de manera que atrau la gent a participar . El client SETI original no era un programari BOINC exclusiu de SETI @ home. Com a primer dels projectes voluntaris de computació en xarxa , no es va dissenyar amb un alt nivell de seguretat. Alguns participants al projecte van intentar manipular les dades per obtenir "crèdits", mentre que altres van enviar feines completament falses (trampes); BOINC va ser dissenyat, en part, per combatre aquests forats de seguretat.

El sistema de crèdit

El sistema de crèdit de BOINC està dissenyat per evitar trucs, ja que permet validar els resultats abans de concedir crèdits.

  • Un sistema de gestió de crèdits ajuda a garantir que els usuaris obtinguin resultats correctes tant científicament com estadísticament.
  • La informàtica distribuïda en línia és un esforç majoritàriament voluntari. Com a tal, els projectes depenen d’una barreja complicada i variable d’usuaris nous, usuaris antics i usuaris retirats.
  • No hi ha cap raó única i precisa per què algú decideixi donar part dels seus recursos informàtics a un projecte concret.

Gestor de comptes

La idea del gestor de comptes va ser concebuda i desenvolupada conjuntament per GridRepublic i BOINC. Dos gestors de comptes són:

  • BOINC Account Manager (el primer gestor de comptes disponible públicament)
  • GridRepublic (segueix la idea de ser senzill i "net" a l'hora de gestionar els comptes)

Els gestors de comptes són el punt de trobada de tots els projectes BOINC. S'ha creat un lloc on tothom pot trobar i gestionar el projecte amb un únic inici de sessió i contrasenya. [4]

Reptes i reptes internacionals

Un dels aspectes fonamentals de la plataforma Boinc és la participació de voluntaris, no només pel que fa a la mera potència informàtica "donada", sinó també pel que fa a una participació activa real en tots els aspectes d'un projecte (fòrum de discussió, depuració d'aplicacions, informes) problemes, etc.). D’altra banda, els voluntaris, amb el pas del temps, s’han agrupat en grups, dins dels quals, per exemple, es dóna suport als nouvinguts, es fan traduccions de projectes, etc. A més, aquests grups solen participar en "desafiaments" pacífics, tant a nivell nacional com internacional, sobre la base de les puntuacions acumulades pels membres en un període de temps determinat. De vegades, aquests reptes els organitzen els mateixos administradors d’un projecte, que volen provar la seva infraestructura de TI, en una mena de prova d’ estrès .

Projectes que utilitzen la plataforma BOINC

Icona de la lupa mgx2.svg El mateix tema en detall: Llista de projectes informàtics distribuïts .
El nou logotip del projecte BOINC

Actiu

Projectes beta (on es proven les aplicacions)

Tancat

Nota

  1. ^ BOINC es distribueix ara sota la Lesser GPL , a boinc.berkeley.edu , BOINC, Universitat de Califòrnia, Berkeley , 15 de gener de 2005. Consultat el 23 de juliol de 2015 (arxivat de l' original el 4 de març de 2016) .
  2. ^ https://boinc.berkeley.edu/
  3. ^ https://boinc.berkeley.edu/trac/wiki/VmServer
  4. ^ https://boincstats.com/it/bam/

Bibliografia

  • Vance, Ashlee. (2003). Sun i UC Berkeley estan a punt d’arribar a BOINC . [1]

Articles relacionats

Altres projectes

Enllaços externs

Control de l'autoritat GND ( DE ) 1025312678
Programari lliure Portal de programari lliure pot ajudar a Wikipedia ampliant Programari Lliure