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