Astronomi
Solsystemet
Rymdfart
Murphys lagar
Amatörradio
Länkar
Bildgalleri
 
 
   

 

BOINC

 

BOINC är en plattform för "distributed computing" från Berkeley, University of California. BOINC står för Berkeley Open Infrastructure for Network Computing.
Iden bakom är att frivilliga användare från hela världen jobbar tillsammans på ett eller flera projekt som kräver ohyggliga mängder med datorkraft för att gå genomföra. Från en central server delas jobb ut till de anslutna användarna i s.k. "work units" (WU) Tunga spel i all ära, men "number chrunching" med BOINC är nog det tyngsta som finns för en dator att göra.
BOINC använder grafikkortet på ett helt annorlunda sätt än vad det var tänkt. (antar jag)MSI GeForce GT 240
När datorn (i mitt fall en AMD 2,6 GHz Quad Core och ett GT 240 grafikkort) har en processor med många kärnor och ett grafikkort med en GPU (grafikprocessor) så kommer BOINC verkligen till sin rätt. BOINC (det är egentligen projekten som bestämmer, inte BOINC) kan till skillnad mot de flesta andra "vanliga" applikationer som Word, Excel m.m.använda multiprocessorsystem och flera grafikkort. En GPU är egentligen ett multiprocessorsystem med massor med kärnor, det är därför BOINC går så väldigt mycket fortare om man har en sådan. Det fungerar så att när din dator får en WU så skyfflar den in den i GPU'n, sen sköter GPU'n grovjobbet. Då avlastas CPU'n för andra uppgifter och kan då t.ex. ta hand om en annan WU eller liknande. Det är dock fortfarande CPU'n som styr arbetet i GPU'n. Det är ändå inte alla typer av processer som passar för BOINC. Det optimala är signalbehandling och liknande där det går att bearbeta datat parallellt vilket är exakt det som SETI@Home gör.
Ett bra grafikkort är nVidia GT 240. Det är relativt billigt och det är ganska strömsnålt. Max strömförbrukning enligt specifikationen ligger på 70 W. Det betyder också mindre värmeutveckling och på köpet slipper du eventuellt byta nätaggregat. Grafikkorten måste ha minst 512 Mb minne.
Nvidia GT 240 är faktiskt det enda kortet i den storleksordningen som klarar sig utan en egen strömförsörjning utan får all ström från PIC-E bussen.
Vill du ha flera grafikkort och fler CPU så är ett enkelt sätt att bara koppla in flera datorer i ett LAN och ansluta alla till samma användarkonto. Det kan vara enklare än att ha flera kort i samma dator (man kanske måste uppgradera nätaggregatet, kanske inte moderkortet passar, lådan kanske inte passar m.m.) Ett MSI GeForce GT 240 (bilden uppe till höger) med 512 MB GDDR5 RAM är ett bra val. Kortet har en klockhastighet på 550 MHz, klockhastighet mot minnet på 3,6 GHz.
Som man kan se uppe till höger så tar ett kort i den här klassen ofta 2 kortplatser vilket komplicerar saken om man vill ha två kort i datorn. Det ryms inte så mycket mer än grafikkorten helt enkelt.
CPU'n bör ha 2 eller 4 kärnor. En AMD Athlon II x4 620 Quad Core är ett ganska bra budgetval. Den har långt ifrån lika bra prestanda som t.ex. en Intel Core i5 Dual Processor i5-7750 men den kostar mindre än en fjärdedel så mycket.
Ett smart sätt är också att ha en dator med ett eller flera nVidia GPU som kör t.ex. SETI@home (som bara fungerar på nVidia's GPU'er) och en dator med en eller flera Radeon GPU. Datorerna kopplas ihop i ett LAN och används bara till det de är bra på. I Windows XP går det att blanda ATI och nVidia samtidigt men enklast är ändå LAN'et.
Kraven på datorerna är minst sagt varierande. Det varierar stort mellan olika projekt så du kan inte räkna med att köra vilka projekt du vill, det är till stor del din dator som bestämmer.
iDet är tyvärr så att de flesta projekt stöder inte GPU utan de allra flesta projekten får man köra som förut, med CPU'n helt enkelt.

Här har du en lista på vilka projekt som kan använda sig av en GPU.

Följande kort har "double precision" aritmetik.

nVidia Quadro FX 4800 ATI Firestream 9170
nVidia Quadro FX 5800 ATI Firestream 9250
nVidia Quadro Plex 2200 D2 ATI Firestream 9270
nVidia Tesla C1060 ATI Radeon HD 4830
nVidia Tesla S1070 ATI Radeon HD 4770
nVidia GeForce GTX 260 ATI Radeon HD 4850
nVidia GeForce GTX 275 ATI Radeon HD 4870
nVidia GeForce GTX 280 ATI Radeon HD 4890
nVidia GeForce GTX 285 ATI Radeon HD 5850
nVidia GeForce GTX 295 ATI Radeon HD 5870
nVidia GeForce GTX 470 ATI Radeon HD 5970
nVidia GeForce GTX 480 ATI Radeon HD 38x0

Om man har en grafikprocessor från ATI är man ändå ganska begränsad, jag körde tidigare enbart Collatz Conjecture bara av den anledningen att det är det enda projekt som använder sig av GPU'n om den är en Radeon "single-precision". Bara för att nämna det:
Collatz Conjecture försöker bevisa Collatz Conjecture (en matematisk sats) som säger att det finns ett oändligt antal heltal n där följande gäller:
1. Om n är ett jämnt tal tar man n / 2.
2. Om n är udda tar man 3n+1.
3. Upprepa.
Collatz Conjecture säger att om ovanstående upprepas om och om igen kommer man till slut att få resultatet 1.
Det är sådana nyttiga saker som man kan syssla med på en "single precision" ATI GPU. Om man har en nVidia GPU kan man då i alla fall göra lite (mycket lite) nytta. Jag skulle mycket gärna ha en ATI GPU, gärna en 58xx eller en 59xx. Men den kostar lite...
Men om jag hade en ATI (double precision) skulle den nog nästan uteslutande köra Milkyway@Home.
Milkyway@Home är ett projekt som är mycket "nyttigare" än Collatz. Data fås från ett projekt som heter Sloan Digital Sky Survey och kartlägger av mängder med stjärnor. Genom att studera stjärnornas hastigheter och riktningar försöker man här göra sig en bild över hur Vinteratan ser ut i 3D.

Projekt
Antal anv*
TFLOP/s**
Inriktning
Anmärkningar
BOINC totalt
350000
3000
-
 
MilkyWay@home
25000
600
Astronomi
Simulerar hur Vintergatan ser ut i 3D.
Collatz Conjecture
6400
540
Matematik
 
SETI@home
156000
300
SETI
Search for Extraterrestial Intelligence
Einstein@home
50000
150
Astronomi
Söker efter gravitationsvågor
Rosetta@home
41000
45
Biologi/Kemi
Studerar proteiner
Climate Prediction
78000
58
Miljö
Kör olika klimatmodeller, global uppvärming
orbit@home
5600
2,5
Astronomi
Nystartat, beräknar omloppsbanor hos NEO's
World Community Grid
93000
197
***

*) aktiva användare, inaktiva räknas ej.
**) Projektets samlade beräkningskapacitet i TFLOP/s (1 TFLOP = 1 miljon miljoner flyttalsoperationer), mycket ungefärliga värden.
***) Är ett projekt av projekt. Simulerar processer inom medicinsk forskning. T.ex botemedel mot AIDS, denguefeber, cancersjukdomar, olika muskelsjukdomar m.m. Stöder inte GPU. Kör inte detta projekt om du inte har en hyfsad dator.

Uppgifter om antal användare och berkäkningskapacitet ändras i princip dagligen. (givetvis)
Det som står här uppe gällde 2010-10-01.

Här finns en lista på alla projekt som körs på BOINC-plattformen

Som jämförelse kan nämnas att Cray Jaguar är världens för närvarande snabbaste superdator (ett datorkluster med 224000 kärnor) som finns hos National Center for Computaional Sciences (NCCS) vid Oak Ridge National Laboratories.
Hela klustret har presterar ca 2,3 petaflops = 2300 teraflops.
Min förra dator var en Athlon 64 3000+ med ett Radeon 4650 grafikkort. Med den tog en WU hos SETI@home (som inte kunde använda den gamla GPU'n) ca 22 h CPU-tid. Med min nya dator (Athlon II x4 620 Quad Core 2,6 GHz, nVidia GT240) tar en WU ca 6,5 h om den körs i CPU'n och ca 30 minuter om den körs i GPU'n.
Det är svårt att ekonomiskt försvara en utgift på några tusen bara för att BOINC ska gå att köra bättre, men om man nu ändå ska byta dator kan man ju tänka efter (om man är intresserad av BOINC). En Athlon II Quad Core CPU kostar bara ca 2-300 kr mer än en motsvarande Dual Core och då kan du ju köra 4 WU samtidigt istället för 2.
Många av projekten som går på BOINC-plattformen har inget stöd för GPU. I vissa fall beror det på att de beräkningar som ska göras inte är den typen som går att göra parallellt eller så kan det helt enkelt bero på brist på resurser. Många projekt körs i princip helt ideellt, man har inga heltidsanställda programmerare som portar kod hela dagarna. Det måste man acceptera.
Men om man ska köra projekt som inte stöder GPU, då är en CPU Quad Core nästan ett krav. Då kan man då köra 4 WU parallellt i alla fall.

BOINC finns för Windows, Mac och Linux. Gå till BOINC's hemsida för att komma igång

Det här är min personliga statistik för BOINC.
Credits är poäng som man får när en WU är klar.
BSrac betyder BOINC Stats Recent Average Credits och är de genomsnittliga antalet krediter per dag under de senaste 60 dagarna.
Rank är placering på världslistan.
Rank% är hur stor del av användarna som är efter mig på världslistan.
Jag har som synes mer än 98% av alla användare i BOINC-projektet efter mig vilket låter ganska bra tills man börjar tänka på att det finns mängder med användare som är och har länge varit inaktiva. Det är många massor med användare som bara har provat BOINC en kort period för att sedan avinstallera det sen och alla deras konton finns ju kvar så just den siffran kan man strunta i, det är bäst. Det är så många sedan länge icke aktiva som finns i resultatlistorna så kolumnen "%" kan man definitivt strunta i och kolumnen för "Rank" ska man inte heller ta så allvarligt.
De riktiga hard-core entusiasterna har ibland s.k. "BOINC farms". En sådan kan vara ett rackskåp med några moderkort med ett eller flera grafikkort vardera. Varje moderkort har också en liten hårddisk och så har hela racken en gemensam kraftförsörjning. Man brukar montera 75 ohm's "dummy plugs" på VGA-kontakten istället för skärmar så hela systemet körs skärmlöst. Racken kopplas in i ett LAN och sedan kan man fjärrstyra den från en annan dator, men när systemet väl är igång sköter det sig för det mesta självt. Ett sådant system används uteslutande som "Number Chruncher".
Ett enklare sätt är att helt enkelt ha flera datorer i ett LAN som ju då kan användas till annat också, men det går åt lite mindre hårdvara i rackmodellen.
   

Några användbara länkar

BOINC FAQ Service  
Users manual BOINC
System requirements BOINC
Så här fungerar det BOINC
En lista på projekt på BOINC-plattformen  
En sida som handlar om GPU'n BOINC

Om SETI@home

SETI@home är ett av många projekt som körs på BOINC-plattformen. SETI@home försöker bara att hitta misstänkta radiosignaler, inte att tyda dem. En signal från yttre rymden som inte har sitt ursprung i ett naturfenomen måste uppfylla flera kriterier.
Först och främst måste signalen vara smalbandig. Vi känner inte till något naturfenomen som kan ge upphov till smalbandiga signaler.
Om den är smalbandig måste den även vara en "gaussian". Det betyder att signalstyrkan hos signalen ska stiga med en viss takt för att sedan sjunka med samma takt. Formen på "signalstyrkekurvan" måste också se ut ungefär som en normalfördelningskurva. (Därav namnet) Signalen måste vara 12 s lång. Det är tiden det tar för loben hos radioteleskopet att passera en punkt på himlen. Radioteleskopet (Areciboteleskopet i Puerto Rico) som används är ca 300 m i diameter och fast monterad så den går inte att rikta mot olika ställen på himlen. En signal som kommer från rymden måste då vara en gaussian, det är anledningen. Om den t.ex. skulle den vara fast i signalstyrka en längre tid så måste den komma från en intelligens betydligt närmare, dvs oss själva. Sen måste signalen ha en dopplereffekt som varierar med tiden. Vi går runt solen och en annan radiokälla som kretsar runt en annan stjärna kan inte ha en rörelse i "avstånd" från/mot oss som är konstant. Dopplereffekten måste alltså variera med tiden.
Om projektet hittar en signal som är intressant får man titta mer noga på den senare och även följa upp om man kan se den någon fler gång.
Än så länge har man inte hittat ET, men man har hittat en signal som kallas SHGb02+14a. Det är knappast ET som har sänt ut den, men forskarna kan inte riktigt förklara vad den kommer från.

Projektet får rådata från Puerto Rico på 64 Gb band som rymmer 15 timmars observationsdata vardera. Dessa skickas med posten därför att Arecibo inte har någon höghastighetsuppkoppling mot Internet så datat får gå med "snail mail". SETI@home tar hand om bandet och delar in datat i bitar som kallas "work units" (WU). Varje WU innehåller ungefär 10 kHz i bandbredd och 107 sekunders observationstid. De frekvenser som analyseras ligger runt 1420 MHz. Sen övertar datorn jobbet. Det ska göras en ohygglig massa FFT-analyser (Fast Fourier Transform) m.m. Om en WU körs enbart på CPU'n tar varje WU några timmar men om man har en bra GPU så går det på under en timme.
Varje WU skickas ut till klienterna minst två gånger. När du ansluter dig till BOINC så läses din datorkonfiguration och den sparas i en databas. På så sätt försäkrar man sig om att den andra genomgången av samma WU inte görs på en likadan dator, man vill att varje WU ska verifieras av en annan men inte identisk dator.
Jag har nyligen bytt dator och samtidigt valde jag lite delar så att det skulle passa mot SETI@home. Det fick bli en Athlon II x4 Quad Core och ett nVidia GT 240 grafikkort.
SETI@home kan numer köras så att 5 WU processas samtidigt. En i varje kärna och en i GPU'n.
Sedan projektet startade 1999 uppgår den totala CPU/GPU-tiden till inte mindre 2 000 000 år.

 

 

 


 

 

Parkinsonförbundet