BOINC – Berkeley Open Infrastructure for Network Computing

So, heute wieder ein Gastbeitrag, diesmal (Premiere) von Elendsoft:


Begonnen hat alles mit SETI, der Suche nach außerirdischen Funksignalen. Dabei wird mit dem größten Radioteleskop der Welt in Arecibo auf zigtasusenden Kanälen gleichzeitig empfangen. Dabei fällt eine so riesige Datenmenge an, daß zur Auswertung ein Supercomputer nötig wäre. Man brauchte also dringend riesige Rechenkapazität, konnte die aber nicht bezahlen. Andererseits sind die meisten Computer auf der Welt hauptsächlich damit beschäftigt, darauf zu warten daß mal wieder eine Taste gedrückt wird. Wenn man nur einen geringen Bruchteil davon nutzen könnte, hätte man genug Rechenleistung. Aus dieser Idee entstand das Projekt Seti@home (Start 1999).

Wer seine nicht benötigte Rechenleistung für einen sinnvollen Zweck verwenden wollte anstatt sie sinnlos zu vergeuden, konnte an diesem Projekt teilnehmen. Dazu mußte man nur auf einem Computer mit Internetzugang den Seti-Client installieren. Nach der Anmeldung beim Erststart des Programms wurden dann vom zentralen Seti-Server Datenpakete angefordert, die sogenannten Workunits, kurz WU genannt. Der Client hat dann nach dem Download der WU die Auswertung der Daten übernommen, und die Ergebnisse an den Server zurückgemeldet. Das Ganze läuft je nach Einstellung entweder als Bildschirmschoner, oder ständig im Hintergrund. Die normale Arbeit wird dadurch nicht spürbar langsamer, vorausgesetzt man hat genügend RAM. Wenn durch das zusätzlich laufende Programm ständig auf die Festplatte ausgelagert werden muß bremst das allerdings schon deutlich.

Der Erfolg war durchschlagend: Innerhalb weniger Monate gab es einige Hunderttausend Teilnehmer in so ziemlich allen Ländern der Welt. Inzwischen sind es über eine Million, allein in Deutschland über 100.000. Das brachte auch andere Forscherteams auf die Idee, ihren Bedarf an Rechenkapazität nach diesem Prinzip zu lösen. Eins der ersten dieser Projekte war die Berechnung der Faltstruktur von Eiweißen.

Das Problem dabei: Die eigentliche Bereitstellung der Daten und die Berechnung sind nur ein kleiner Teil des Projekts, der Rest ist praktisch Verwaltungsarbeit, die bei allen Projekten im Prinzip gleich ist. Jeder mußte also für sein Projekt praktisch das Fahrrad nochmal neu erfinden.

Deshalb hat das Seti-Team diese Verwaltungsarbeit vom eigentlichen Projekt abgekoppelt und für die allgemeine Nutzung freigegeben. Was die Entwicklung neuer Projekte deutlich vereinfacht.

Für BOINC-Teilnehmer läuft das jetzt so ab: Zuerst wird der BOINC-Client installiert und gestartet. Beim ersten Start erfolgt die Nutzeranmeldung, danach kann man sich bei einem (oder auch mehreren) der inzwischen recht zahlreichen Projekte anmelden. Danach lädt BOINC den Client für das gewählte Projekt, und fordert die ersten Daten an. Auch das Update auf eine neue Version des Projekt-Clients läuft automatisch, man muß sich nicht selbst darum kümmern. Der Rest läuft dann ab wie bei Seti Classic, also Rückmeldung der fertigen Ergebnisse und Anforderung der nächsten Datenpakete.

Inzwischen gibt es eine Menge BOINC-Projekte, das geht von der Astrophysik (Gravitationswellen, Pulsare) über Biochemie (Faltstruktur von Eiweißen) und Klimamodellen bis hin zur Elementarteilchenphysik (Datenauswertung für das LHC).

Für alle die jetzt Interesse haben folgende Links:

Download BOINC-Client

Deutsche BOINC-Seite

Deutschsprachige Übersicht über BOINC-Projekte

5 thoughts on “BOINC – Berkeley Open Infrastructure for Network Computing

  1. Das ganze SETI@Home-Ding ist leider nicht ganz „koscher“: Denn das „Warten-auf-eine-gedrueckte-Taste“ verbraucht (fast) genau NULL Rechenleistung, und dementsprechend verbraucht die CPU praktisch KEINEN Strom. Der SETI-Client wird aber, sobald er merkt, dass man den Computer anderweitig nicht benutzt, vermutlich 100% CPU nutzen, und somit ungefaehr 100 Watt mehr als wie wenn er nicht installiert waere.

    Das ganze „spart“ also nichts, sondern macht sich im Gegenteil ganz deutlich auf der Stromrechnung bemerkbar, und zwar, falls meine Annahmen stimmen, ungefaehr 50 Cent pro Tag.

  2. Der Sinn von BOINC ist die Nutzung von nicht benötigter Rechenleistung, nicht das Energiesparen. Ob einem die Unterstützung von Forschungsprojekten der höhere Energieverbrauch wert ist, muß Jeder selbst entscheiden. Genau so wie lange man pro Tag für BOINC rechnet. Schließlich ist das alles freiwillig. Und letzten Endes kostet jede Art von Spende in irgend einer Form Geld, hat also nicht mit Sparen zu tun.

    Wieviel % CPU-Leistung für BOINC (nicht nur für SETI) benutzt wird läßt sich einstellen. Das war eine Forderung von den Besitzern mobiler Geräte, damit der Akku nicht zu schnell leer wird. Es müssen also keine 100 W mehr sein. Mal ganz abgesehen davon daß es eine Menge Prozessortypen gibt, bei denen selbst die Maximalleistung deutlich darunter liegt.

  3. @Pragmatiker:
    Das ist so (fast) genau NICHT richtig.
    Threads, die gerade auf eine Eingabe warten werden von Betriebssystem schlafen gelegt, das ist richtig, aber wenn gerade alle Treads schlafen läuft ja eigentlich nur noch das Betriebssystem und wartet darauf das irgend etwas passiert damit wieder ein Prozess laufen kann.

    Dabei hängt ein System zunächst die ganze Zeit in einer Schleife in der es überprüft welcher Thread den als nächstes laufen soll, wobei in der Liste halt kein Thread ist ausser einem Pseudothread, nämlich dem Leerlaufprozess oder Idle-Thread.

    Moderne Prozessoren können zwar niedriger getaktet oder manchmal auch komplett schlafen gelegt werden aber das passiert dann auch nicht sofort, sondern das Betriebssystem wartet erst noch eine gewisse Zeit da für das Runtertakten und nachher wieder Aufwachen auch wieder Zeit vergeht und wenn diese Phase in der nichts läuft zu kurz ist könnte das dann wertvolle Rechenzeit verschwenden.

  4. Zu den Stromkosten – ich habe in den Jahren 2004 und 2005 sehr viel bei SETI@home gerechnet. Damals hatte ich den Client auf allen 8 Rechnern meiner Firma drauf und so um die 20.000 WU´s abgearbeitet.
    Als die Stromabrechnung kam, traf mich fast der Schlag – ca. 2.000 EUR Nachzahlung kamen da auf mich zu.

    Von daher hat man diese Kosten geschickt auf die User abgewälzt.
    Im der deutschen SETI-Community habe ich viele User kennengelernt, die als Angestellte den Client auf möglichst vielen Rechnern ihrer Brötchengeber installiert haben um sich selbst mit möglichst vielen berechneten WU´s zu schmücken – was da für Schäden entstehen – und von der Klimabilanz will ich da mal gar nicht reden…

    So gut ich das SETI-Projekt finde, für mich war danach die Teilnahme beendet.

  5. Klar kostet Rechnen auch Energie. Aber immerhin besser, das auf vorhandenen Geräten zu tun als mit noch mehr Energieaufwand dafür 1 Million zusätzliche Rechner aufzustellen.
    Weltweit wird jedenfalls deutlich mehr Energie verbraucht um die Wissenschaft zu schädigen, als um sie zu unterstützen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.