Zet uw pc in voor het goede doel

advertisement
Distributed computing
door Ruben Jorksveld
© IDG Nederland. Niets uit de hier aangeboden publicaties mag op enigerlei wijze worden overgenomen zonder uitdrukkelijke toestemming van
de uitgever. Het verlenen van toestemming tot publicatie strekt zich tevens uit tot het in enige vorm elektronisch beschikbaar stellen. Deze pdf is
uitsluitend voor particulier gebruik. Voor commercieel gebruik neem contact op met de uitgever.
Hoewel aan Computer!Totaal uiterste zorg is besteed, aanvaarden de redactie noch de uitgever enige aansprakelijkheid voor schade ontstaan door
eventuele fouten en/of onvolkomenheden in de hier aangeboden tekst.
Distributed
computing
Zet uw pc in voor het
goede doel
D
e potentiële rekenkracht van computers is de afgelopen jaren sterk toegenomen. De centrale processor (cpu)
is steeds sneller geworden. De gemiddelde
gebruiker vraagt niet zoveel van de totale rekenkracht van zijn pc. Sterker nog, het surfen
op internet, versturen van e-mails of tekstverwerken vergt slechts enkele procenten van de
totale rekencapaciteit van processor. Alleen
games en zware videobewerkingsprogramma’s doen voor langere tijd een zwaar beroep
op de cpu.
Naast de toegenomen rekenkracht is ook
het internetgebruik steeds verder toegenomen. Eind 2006 maakte ruim 75% van de totale
bevolking van Nederland gebruik van internet
en dat percentage is sindsdien enkel nog maar
gestegen. Tel deze twee aspecten bij elkaar
op en de rekensom is snel gemaakt: er is een
schat aan ongebruikte rekenkracht beschikbaar.
98
COMPUTER!TOTAAL
SEPTEMBER 2007
illustratie: Ready2Rumble
Wilt u zich inzetten voor een goed doel,
maar hebt u er eigenlijk geen tijd voor?
Met behulp van uw pc kunt u toch uw
steentje bijdragen. Het idee is simpel: u
stelt rekencapaciteit van uw computer beschikbaar aan wetenschappelijke projecten, zoals de zoektocht naar buitenaards
leven of het ­vouwen van eiwitten. Samen
met vele ­anderen ontstaat er een virtuele
super­computer die gigantische hoeveelheden
berekeningen uit kan voeren. Dit wordt
‘distributed computing’ genoemd,
oftewel gedistribueerd
rekenen. In dit artikel
leest u wat het is en,
hoe u zelf aan de slag gaat.
Supercomputers
Traditiegetrouw is het de wetenschap die veel
gebruik maakt van grote rekenkracht. Bijvoorbeeld voor het analyseren en voorspellen van
het weer, maar ook voor het in kaart brengen van DNA en het ontwerpen van optische
lenzenstelsels. Vaak worden daar supercomputers voor ingezet, zoals de bekende Cray
supercomputers. Deze bevatten vaak vele
processors, soms wel duizenden, die door
middel van een snel netwerk met elkaar zijn
verbonden en gigantische hoeveelheden berekeningen kunnen uitvoeren. Het grote nadeel
is echter de prijs van zo’n supercomputer, die
vaak boven een miljoen euro ligt. Voor een
grote universiteit of onderzoekslaboratorium
is dat nog wel op te brengen, maar voor veel
kleinere organisaties en de meeste individuen
niet. Ook zijn ze voor sommige soorten berekeningen, zoals Folding@home (zie kader ‘In de
praktijk #2’), niet bijzonder geschikt.
Distributed computing biedt soelaas. In feite
is distributed computing niets anders dan het
maken van een grote, virtuele supercomputer met een veel grotere rekenkracht dan de
gewone supercomputer. Meerdere processors
worden door middel van een netwerk (internet) gekoppeld en vervolgens samen aan het
werk gezet. De processors krijgen vanuit één
punt, vaak een server, een aantal berekeningen om uit te voeren. Wanneer ze daarmee
klaar zijn, gaan de pakketjes met resultaten
terug naar de server.
Helemaal gratis is het allemaal niet, want er
moet nog altijd voor de bandbreedte worden
betaald. Weliswaar niet veel, maar met de
enorme hoeveelheden data die komen kijken
bij dit soort projecten, kan het toch aardig oplopen.
Competitie
Je inzetten voor een goed doel geeft vol-
REAGEER OP DIT ARTIKEL VIA FORUM.COMPUTERTOTAAL.NL
DistributeD computing
© IDG Nederland. Niets uit de hier aangeboden publicaties mag op enigerlei wijze worden overgenomen zonder uitdrukkelijke toestemming van
de uitgever. Het verlenen van toestemming tot publicatie strekt zich tevens uit tot het in enige vorm elektronisch beschikbaar stellen. Deze pdf is
uitsluitend voor particulier gebruik. Voor commercieel gebruik neem contact op met de uitgever.
Hoewel aan Computer!Totaal uiterste zorg is besteed, aanvaarden de redactie noch de uitgever enige aansprakelijkheid voor schade ontstaan door
eventuele fouten en/of onvolkomenheden in de hier aangeboden tekst.
BOINC dient als motor voor
uiteenlopende distributed computing-projecten.
doening, maar voor veel mensen is dat niet
genoeg. Ze zoeken nog een andere stimulans
om zich ergens voor in te zetten. Bij distributed computing kwam dat in de vorm van competitie. Het is namelijk een kleine moeite om
alle ontvangen pakketten bij elkaar op te tellen en te koppelen aan een naam. Door deze
gegevens in een tabel te zetten en te sorteren
op het aantal berekende pakketten, ontstaat
er een ranglijst en voilà: een wedstrijdelement. Al snel groeide deze ranglijst uit tot
één van de belangrijkste drijfveren om zoveel
mogelijk rekenkracht uit te lenen. Er zijn zelfs
teams gevormd van mensen die samen proberen zoveel mogelijk uit te rekenen. Grote
teams hebben vaak een eigen website, waar
de verschillende projecten en hun scores zijn
te bekijken. Nederlandse voorbeelden zijn de
Dutch Power Cows en SETI@Nederland, dat
zich alleen richt op SET@home (zie kader ‘In
de praktijk #1’). Inmiddels worden er zelfs distributed computing-diensten op eBay aangeboden: voor een bepaald tarief kan een groep
snelle computers ingehuurd worden om berekeningen uit te voeren.
WAt HeeFt u noDig?
Zelf meehelpen met rekenen is vrij eenvoudig. In principe voldoen vrijwel alle huidige
computers. Het belangrijkste is een snelle
processor en een internetverbinding. Breedband is niet per se nodig: de verstuurde pak-
REAGEER OP DIT ARTIKEL VIA FORUM.COMPUTERTOTAAL.NL
ketjes zijn niet zo groot en
de berekeningen kunnen
ook zonder internetverbinding worden uitgevoerd.
Breedband maakt het echter
wel een stuk makkelijker om
continu mee te helpen.
Voor de processor geldt:
hoe sneller hoe beter.
Meestal is een kloksnelheid
van 500 MHz de minimumeis. De eisen op gebied
van werkgeheugen lopen
sterk uiteen. Voor Folding@
home hebt u minimaal 15
MB nodig, terwijl het project
Rosetta@home maar liefst
512 MB vereist. De meeste
projecten draaien overigens
zowel onder Windows, Linux
als Mac OS.
Voldoet uw systeem aan
de gestelde eisen, dan is het
een kwestie van de clientsoftware downloaden en installeren. Een
groot deel van de projecten maakt gebruik
van BOINC (Berkley Open Infrastructure for
Network Computing), een opensource-platform, dat wordt gebruikt voor verschillende
projecten (waaronder SETI@home en Rosetta@home). In BOINC kunt u kiezen aan welk
project u wilt bijdragen,
wanneer het programma
actief is, welk percentage
van de processorrekenkracht beschikbaar is etc.
Erg handig, want ook al
gebruikt u maar een paar
procent van de rekenkracht voor tekstverwerken, het systeem kan
toch vrij traag worden als
BOINC honderd procent
mag gebruiken van de
beschikbare middelen. In
zulke gevallen is het beter
om bijvoorbeeld 80% in
te stellen. Op die manier
draagt u aardig wat bij,
zonder dat uw systeem
merkbaar trager wordt.
Sommige projecten heb-
in De prAKtiJK #1
SETI@home
SETI@home is een van de oudste en meest
bekende distributed computing-projecten.
SETI staat voor Search for Extraterrestial
Intellegence, oftewel de zoektocht naar
buitenaardse intelligentie. Dat wordt gedaan door gegevens van radiotelescopen
te onderzoeken op afwijkingen. Voor dit
rekenwerk werden aanvankelijk speciale
supercomputers ingezet, maar in 1995
kwam een van de teamleden op het idee
om gebruik te gaan maken van een virtuele
supercomputer die opgebouwd is uit meerdere losse pc met een internetaansluiting.
Hij noemde het project SETI@home. Inmiddels is er een nieuwe variant, gebaseerd
op het eerder genoemde BOINC. SETI@
home is nog steeds één van de grootste
projecten.
Het SETI@home-project speurt naar buitenaards
leven.
Het processorgebruik van SETI@
home in kaart gebracht.
COMPUTER!TOTAAL
SEPTEMBER 2007
99
DistributeD computing
© IDG Nederland. Niets uit de hier aangeboden publicaties mag op enigerlei wijze worden overgenomen zonder uitdrukkelijke toestemming van
de uitgever. Het verlenen van toestemming tot publicatie strekt zich tevens uit tot het in enige vorm elektronisch beschikbaar stellen. Deze pdf is
uitsluitend voor particulier gebruik. Voor commercieel gebruik neem contact op met de uitgever.
Hoewel aan Computer!Totaal uiterste zorg is besteed, aanvaarden de redactie noch de uitgever enige aansprakelijkheid voor schade ontstaan door
eventuele fouten en/of onvolkomenheden in de hier aangeboden tekst.
computer 24 uur per dag inzet voor het project
Folding@home.
Het overlijden van zijn vrouw aan de ziekte
van Huntington (een erfelijk overdraagbare en
in De prAKtiJK #2
ben eigen client-softwaren, zoals Folding@
home. Ook bij deze projecten kunt u vaak zelf
instellen hoeveel processorkracht het programma mag gebruiken.
VerscHiLLenDe processors
Om zoveel mogelijk pakketjes te kunnen versturen (en dus te stijgen in de ranglijsten) zijn
enthousiaste gebruikers op zoek gegaan naar
manieren om de rekenkracht op te voeren. Ze
ontdekten dat een zogenoemde ‘streaming
processor’ nog beter geschikt is voor dit type
berekeningen. Dergelijke processors kunnen
heel veel floating point-berekeningen uitvoeren. Een voorbeeld van een streaming processor is de gpu, de processor van de grafische
meer inFormAtie
Een goed startpunt is de site van BOINC
(http://boinc.berkeley.edu). Via deze
site kunt u de clientsoftware van BOINC
downloaden. Ook vindt u links naar de
verschillende projecten van BOINC, zoals
SETI@home, Rosetta@home en Climateprediction.net.
Voor informatie over Folding@home kijkt u
op http://folding.stanford.edu/dutch. Daar
kunt u ook de clientsoftware downloaden.
De actuele discussie over Folding@home
op het Computer!Totaal-forum is te volgen
op http://ct.link.idg.nl/folding@home.
100
COMPUTER!TOTAAL
SEPTEMBER 2007
kaart. Met de juiste cliëntsoftware kan de
gpu wel 20 tot 40 keer zoveel berekeningen
uitvoeren als een gewone cpu.
Chipfabrikant ATI heeft in 2006 software
beschikbaar gesteld waarmee de gpu van de
nieuwere ATI-kaarten ook gebruikt kan worden voor distributed computing. Folding@
home heeft bijvoorbeeld een aparte client
voor ATI-kaarten, waarmee zeer hoge resultaten zijn te boeken.
Een ander voorbeeld van een streaming
processor met veel potentie is die van de PlayStation 3 (de Cell Processor). Ook Sony heeft
ervoor gezorgd dat de PlayStation 3-processor
te gebruiken is voor distributed computing.
nADeLen
Hoewel distributed computing een nobel doel
nastreeft, kost al het extra uitgevoerde rekenwerk energie. Ter relativering: de processor
zelf verbruikt niet heel veel energie (vergelijkbaar met het energieverbruik van een gloeilamp) en als uw computer toch al aanstaat,
komt er niet heel veel stroomverbruik bij.
Verder kan uw systeem iets trager reageren,
afhankelijk van de clientinstellingen.
psYcHoLogiscHe steun
Iedereen met een computer en een internetverbinding kan bijdragen aan de vele projecten. De een doet het vanwege het competitieve element, de ander om daadwerkelijk iets
bij te dragen aan een goed doel, Zoals Hans
van der Laar, die al sinds anderhalf jaar zijn
Folding@home
Folding@home, opgestart door de universiteit van Stanford, is een ander wetenschappelijk georiënteerd project dat veel
rekenkracht vereist. Centraal bij dit project
staan eiwitten, de werkpaarden van de biologie. Om hun specifieke taak uit te voeren,
passen ze zichzelf aan (dit wordt ‘vouwen’
genoemd), In de meeste gevallen verloopt
dit vouwen zonder problemen, maar
soms gaat het mis. Ziektes als Alzheimer,
Creuzfeld-Jacob (BSE), Huntington en
verschillende soorten kanker hebben te
maken met verkeerd gevouwen eiwitten.
De vele gebruikers die meewerken aan
Folding@home laten hun computers het
vouwproces van de verschillende eiwitten
simuleren. De resultaten worden teruggestuurd naar de universiteit van Stanford.
Op deze manier wordt het vouwproces in
kaart gebracht, waardoor wetenschappers
ook de ziektes beter kunnen begrijpen. Een
vergelijkbaar initiatief is Rosetta@home
dat zich eveneens bezighoudt met eiwitten. Rosetta@home maakt gebruik van het
BOINC-platform.
Folding@home doet onderzoek naar het vouwen
van eiwitten.
Rosetta@home maakt gebruik van het BOINC-platform.
REAGEER OP DIT ARTIKEL VIA FORUM.COMPUTERTOTAAL.NL
DistributeD computing
© IDG Nederland. Niets uit de hier aangeboden publicaties mag op enigerlei wijze worden overgenomen zonder uitdrukkelijke toestemming van
de uitgever. Het verlenen van toestemming tot publicatie strekt zich tevens uit tot het in enige vorm elektronisch beschikbaar stellen. Deze pdf is
uitsluitend voor particulier gebruik. Voor commercieel gebruik neem contact op met de uitgever.
Hoewel aan Computer!Totaal uiterste zorg is besteed, aanvaarden de redactie noch de uitgever enige aansprakelijkheid voor schade ontstaan door
eventuele fouten en/of onvolkomenheden in de hier aangeboden tekst.
onbehandelbare ziekte waarbij de hersenen
door verkeerd gevouwen eiwitten langzaam
worden aangetast), was voor hem de aanleiding om zich in zetten voor de patiëntenvereniging, wat er via de website en het forum
van de vereniging uiteindelijk toe heeft geleid
dat hij in aanraking kwam met Folding@home.
Het vouwen voor Folding@home stelt hem
in staat om mee te werken aan een oplossing
voor de ziekte van Huntington. ‘’Los van het
feit of er uiteindelijk ook een oplossing wordt
gevonden met het simuleren, biedt het ook
een grote psychologische steun’’, vertelt Hans.
Hij is het Folding@home-concept actief aan
het promoten op verschillende fora, waaronder dat van Computer!Totaal, om zo meer
mensen te vinden die bereid zijn om mee te
helpen. Tevens probeert hij samen met anderen de resultaten begrijpelijker te maken voor
het grote publiek. Het zicht op de resultaten
kan er toe leiden dat mensen die meevouwen,
beter zien waar ze het voor doen. Dat alles
geeft de wetenschappers van Stanford University en anderen die onderzoek doen naar
eiwitten en Huntington, meer rekenkracht
om het vouwen en ‘misvouwen’ van eiwitten
beter te begrijpen.
REAGEER OP DIT ARTIKEL VIA FORUM.COMPUTERTOTAAL.NL
Kortom, er zijn genoeg mogelijkheden om
mee te helpen aan wetenschappelijke projecten en iets te betekenen voor verschillende
goede doelen. Met een beetje snelle computer en een internetverbinding, kunt u uw pc
deel laten uitmaken van een virtuele super-
computer. U kunt dan wellicht in de toekomst
zeggen dat u een belangrijke bijdrage heeft
geleverd aan de vondst van buitenaardse intelligentie of een geneesmiddel voor kanker.
En dat zonder dat u er zelf iets voor hebt hoeven doen!
in De prAKtiJK #3
Climateprediction.net
Een ander project dat het BOINC-platform hanteert, is Climateprediction.net. Dit project onderzoekt hoe het klimaat zich deze eeuw
ontwikkelt. Hierbij wordt uitgegaan
van een al bestaand klimaatmodel,
waar steeds kleine wijzigingen aan
worden toegevoegd (zoals een extra
toename van CO2) Vervolgens kan er
berekend worden wat dat voor effecten heeft op het klimaat. Op deze
manier is ongeveer te voorspellen
wat de huidige milieu-ontwikkelingen
voor effect zullen hebben op de toeHoe ziet ons klimaat er in de toekomst uit? Climatekomst en welke maatregelen er getroffen
predicion.net rekent het uit.
dienen te worden.
COMPUTER!TOTAAL
SEPTEMBER 2007
101
Download