title: Berkeley Open Infrastructure for Network Computing
text: 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 
   Chess960@home - Zoekt strategieën voor Chess960.
   Collatz Conjecture - een oplossing zoeken voor het vermoeden van Collatz.
   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.
   Rectilinear Crossing Number - Zoekt het minimale aantal kruisingen in een graaf.
   Reken mee met ABC - Zoekt naar ABC-drietallen om inzicht te krijgen in het ABC-vermoeden.
   Riesel Sieve - Probeert het vermoeden van Riesel te bewijzen.
   SHA-1 Collision Search Graz - zoektocht naar collisies in de SHA-1 hashfunctie
   SZTAKI Desktop Grid - Een zoektocht naar gegeneraliseerde binaire talstelsels.
   VTU@home
  
  Astronomie/Natuurkunde/Scheikunde 
   Cosmology@Home - De zoektocht naar het model dat het best het universum omschrijft.
   Einstein@home - Bij dit project draait het om het zoeken naar pulsars (ingestorte neutronensterren).
   EDGeS@home
   eOn - Is een project dat de dynamische simulatie van fysieke en chemische processen over langere tijd bestudeert
   FreeHAL - Is een project om een computerprogramma the creëren dat menselijke conversatie zo accuraat mogelijk imiteert
   Leiden Classical - Het doel van dit project is om een platform te maken voor wetenschappers en studenten, gewijd aan algemene klassieke dynamica.
   LHC@home - Een project om het ontwerp van de deeltjesversneller van het CERN te verbeteren.
   MilkyWay@home - Studie naar de evolutie van het melkwegstelsel.
   Nano-Hive@home
   Quantum Monte Carlo at Home - Een project waarbij de structuur en reactiviteit van moleculen wordt onderzocht op basis van de kwantummechanica.
   SETI@Home - Zoektocht naar buitenaards leven.
   Spinhenge@home - Het onderzoek naar nano-magnetische moleculen. In de toekomst zullen deze moleculen gebruikt kunnen worden in precisie-chemotherapie en minuscule geheugenmodules.
  
  Aardwetenschappen 
   BBC Climate Change Experiment
   ClimatePrediction.net - Onderzoek naar het klimaat.
   Seasonal Attribution Project
  
  Biologie en medicijnen 
   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.
   GPRGRID - Is een project waar met behulp van gelinkte grafische geheugens biomoleculaire simulaties worden uitgevoerd
   MalariaControl.net - Bestrijding van malaria.
   POEM@home - Een project om proteïne structuren te analyseren
   Predictor@home - Doel van dit project is het voorspellen van proteïnestructuren op basis van proteïnevolgorde.
   Rosetta@home - Een project waarbij de 3D-vorm van bepaalde proteïnen wordt onderzocht.
   SIMAP - Een project om proteïnegelijkenissen te onderzoeken.
   Tanpaku - Een project dat is gericht op het voorspellen van eiwitstructuren.
   World Community Grid - Een project om de kennis omtrent menselijke ziekten beter in kaart te brengen.
  
  Grafische projecten 
   BURP - Een project om plaatjes te renderen.
   RenderFarm@Home - Een project voor het renderen van fractals.
   Renderfarm.fi - Een project om Blender bestanden te renderen.
  
  Overig 
   CAS@home - Een project om Chinese wetenschappers te stimuleren en begeleiden om volunteer computing in hun onderzoeksprojecten te gebruiken.
   DepSpid - Een spider die de afhankelijkheden tussen webpagina's onderzoekt.
   DistrRTgen - Een project om via regenboog tabellen betere beveiligings wachtwoorden te creëren.
   Enigma@home - Is een project om de drie originele enigma berichten uit 1942 te ontcijferen.
   Pirates@home - Testproject.
   Project Neuron - Test hoe goed BOINC-projecten worden gerund met de beschikbare bronnen.
   XtremLab - Onderzoekt eigenschappen van het BOINC-grid zelf.
  
  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 op internet.
  
  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
   BoincTasks de manier om BOINC te bekijken (Er is een Nederlands versie van het programma)
  
  Distributed computing
  Universiteit van Californië - Berkeley
  Opensourcesoftware en vrije software