Berkeley Open Infrastructure for Network Computing

Berkeley Open-Infrastructure for Network Computing (BOINC) is een distributed computing-platform van de Universiteit van Californië in Berkeley. Dit houdt in dat er diverse projecten onder BOINC draaien, die worden bestuurd vanaf de BOINC-client. Boinc maakt het mogelijk om de processortijd te verdelen over verschillende projecten.
Boinc werd getest met de programma's SETI@Home en Astropulse. Beide zijn onderdeel van het project SETI.
Lijst van BOINC-projecten
Hieronder volgt een lijst van BOINC-projecten.
Wiskunde en strategiespellen
- Riesel Sieve - Probeert het vermoeden van Riesel te bewijzen.
- Rectilinear Crossing Number - Zoekt het minimale aantal kruisingen in een graaf.
- Chess960@home - Zoekt strategieën voor Chess960.
- SZTAKI Desktop Grid - Een zoektocht naar gegeneraliseerde binaire talstelsels.
- HashClash - Maakt MD5-collisions.
- PrimeGrid - Probeerde oorspronkelijk een getal van de RSA-factoring challenge te ontbinden. Nu worden diverse vormen van priemgetallen onderzocht waarbij het doel is van elk type nieuwe grote getallen te vinden. Een gebruiker die een nieuwe priem vindt kan zelf dit getal officieel aanmelden en hiervoor de eer krijgen.
- VTU@home
- Reken mee met ABC - Zoekt naar ABC-drietallen om inzicht te krijgen in het ABC-vermoeden.
- SHA-1 Collision Search Graz - zoektocht naar collisies in de SHA-1 hashfunctie
Astronomie/Natuurkunde/Scheikunde
- Spinhenge@home - Het onderzoek naar nano-magnetische moleculen. In de toekomst zullen deze moleculen gebruikt kunnen worden in precisie-chemotherapie en minuscule geheugenmodules.
- LHC@home - Een project om het ontwerp van de deeltjesversneller van het CERN te verbeteren.
- SETI@Home - Zoektocht naar buitenaards leven.
- Quantum Monte Carlo at Home - Een project waarbij de structuur en reactiviteit van moleculen wordt onderzocht op basis van de kwantummechanica.
- Einstein@home - Bij dit project draait het om het zoeken naar pulsars (ingestorte neutronensterren).
- Leiden Classical - Het doel van dit project is om een platform te maken voor wetenschappers en studenten, gewijd aan algemene klassieke dynamica.
- Nano-Hive@home
- MilkyWay@home - Studie naar de evolutie van het melkwegstelsel.
- Cosmology@Home - De zoektocht naar het model dat het best het universum omschrijft.
Aardwetenschappen
- BBC Climate Change Experiment
- Seasonal Attribution Project
- ClimatePrediction.net - Onderzoek naar het klimaat.
Biologie en medicijnen
- World Community Grid - Een project om de kennis omtrent menselijke ziekten beter in kaart te brengen.
- Rosetta@home - Een project waarbij de 3D-vorm van bepaalde proteïnen wordt onderzocht.
- Tanpaku - Een project dat is gericht op het voorspellen van eiwitstructuren.
- SIMAP - Een project om proteïnegelijkenissen te onderzoeken.
- MalariaControl.net - Bestrijding van malaria.
- Predictor@home - Doel van dit project is het voorspellen van proteïnestructuren op basis van proteïnevolgorde.
- Docking@home
- Cels@home - Onderzoek naar de adhesie tussen cellen. Onder andere toepasbaar in kankeronderzoek, aangezien het begrijpen van het moment dat kankercellen hun plek verlaten om vrij door het lichaam te waren essentieel is om kankeronderzoek te doen. Dit vrijbreken maakt het moeilijk om kanker te bestrijden.
Grafische projecten
- BURP - Een project om plaatjes te renderen.
- RenderFarm@Home - Een project voor het renderen van fractals.
Overig
- Pirates@home - Testproject.
- Project Neuron - Test hoe goed BOINC-projecten worden gerund met de beschikbare bronnen.
- XtremLab - Onderzoekt eigenschappen van het BOINC-grid zelf.
- DepSpid - Een spider die de afhankelijkheden tussen webpagina's onderzoekt.
Statistieken
Als een workunit succesvol is verwerkt, krijgt een gebruiker hier een aantal credits voor. Op basis van het aantal credits dat is verdiend, krijgt men een positie in de statistieken. Hierdoor ontstaat er een competitief element. Omdat er veel mensen zijn die zo hoog mogelijk in deze statistieken willen staan, gaan mensen meer "crunchen" voor het project en wordt er meer werk verricht. De credits van verschillende projecten kunnen bij elkaar worden opgeteld, zodat er een overzicht ontstaat van hoeveel werk er in totaal is verricht.
Berekenen van de credits
Om de credits te berekenen wordt er een benchmark op de computer gedraaid. Met deze benchmark en de tijd die over een WU (workunit) is gedaan, kan BOINC berekenen hoeveel werk het is geweest en hoeveel credits je krijgt. Dit zijn je claimed credits. Hoeveel credits je uiteindelijk krijgt, hangt af van de server. Bij sommige projecten wordt een WU meer dan een keer verstuurd. Stel dat de WU 3 keer wordt verstuurd, dan kan men het gemiddelde van deze 3 WU's nemen, of de mediaan. Bij andere projecten worden de credits statisch berekend. Dit kan als alle WU's ongeveer even groot zijn. Dan wordt aan iedere WU evenveel credit toegekend.
Er is enige controverse rond het berekenen van de credits. Aangezien BOINC volledig open source is, is het mogelijk om een client te compileren die bijvoorbeeld twee keer zo veel credits claimt. Daarom is er een discussie hoe credits berekend moeten worden. Een voorstel van David Anderson is te vinden via de volgende link: [1].
Gemiddeld dient iedere host 100 credits per dag te kunnen verdienen. Dit betekent dat een host steeds minder credits krijgt, aangezien de gemiddelde host steeds sneller wordt. Projecten dienen een credit-functie C(H) te publiceren waar een host H de invoer is. De host wordt beschreven door de floatingpoint- en integerbenchmarks, aantal CPU's, cachegroottes, geheugenbandbreedte, beschikbaar RAM, beschikbare hardeschijfruimte, aanwezigheid van specifieke GPU's, netwerkbandbreedte, tijd dat BOINC draait en verbonden is met het netwerk, en misschien andere variabelen.
Een project kan nooit meer credit geven dan de som over alle hosts van RS(H, P)*C(H) waarbij RS de resource share van project P op host H is.
Teams
Er kunnen ook teams aangemaakt worden. BOINC gebruikers kunnen zich bij zo'n team aanmelden en tegen andere teams strijden. Daarnaast strijdt men ook voor een hoge positie binnen het team. Sommige teams hebben ook een eigen website om het teamgevoel te verhogen. De bekendste Nederlandse teams zijn SETI@Netherlands en Dutch Power Cows. In België is het grootste en bekendste team BOINC.BE.
Geoptimaliseerde applicaties
Voor sommige projecten zijn geoptimaliseerde applicaties beschikbaar. Dit zijn applicaties die gecompileerd zijn voor specifieke instructiesets van processoren (zoals SSE, SSE2 of MMX). Om te kijken of een computer deze applicatie ondersteunt, kan men gebruikmaken van het Windowsprogramma CPU-Z. Deze applicaties verwerken de units sneller dan de normale applicatie. Het nadeel is wel dat de 'claimed credits' minder worden omdat de WU's sneller verwerkt worden. Een speciale BOINC-client kan de 'claimed credits' weer ophogen, zodat toch hetzelfde aantal credits geclaimd wordt.
Externe links
- De officiële BOINC-site
- BOINCstats, een site met gecombineerde BOINC-statistieken
- Overzicht van geoptimaliseerde applicaties en BOINC-clients
- TThrottle beperkt de temperatuur van de CPU/GPU bij het gebruik van BOINC
- CPU-Z, een Windowsprogramma om te kijken welke optimalisaties je computer ondersteunt
- Nederlandstalige handleiding voor BOINC