Sonntag, 20. August 2006

Distributed Computing: ungenutzte Rechenzeit spenden

In unseren Wohnzimmern und Kinderzimmern schlummern ungeahnte Rechenkräfte. Von Monat zu Monat werden unsere PCs schneller und schneller. Immer beeindruckendere Leistungen vollführen CPU, RAM und Grafikkarte. Und trotzdem benutzt ein Großteil der Anwender den PC nach wie vor als bessere Schreibmaschine, die 99% der Zeit völlig unausgelastet ist. Das muss nicht so sein - ungenutzt Rechenzeit kann an gemeinnützige wissenschaftliche Projekte gespendet werden.

Das Zauberwort heißt "Distributed Computing" - oder auf deutsch verteiltes Rechnen. Dabei wird ein kleines Dienstprogramm, das im Hintergrund läuft, auf dem PC installiert. Es läuft mit niedrigster Priorität. Das bedeutet, dass nur Rechenressourcen genutzt werden, die zur Zeit von keinem anderen auf dem PC laufenden Programm beansprucht werden. So nutzt das Programm nur "brachliegende" Rechenzeit und verlangsamt den PC nicht.

Kurze Geschichte des verteilten Rechnens

Die Idee ist einfach und nicht neu: Würden nur all die brachliegende Rechenzeit unserer Heimcomputer genutzt werden, entspräche dies einer Rechenleistung, die die des schnellsten Supercomputer der Welt um ein Vielfaches übersteigen würde. Das erste mir bekannte Projekt, das die Rechenleistung ganz normaler PCs nutzen wollte, war das 1997 gegründete distributed.net. Damals ging es um das Knacken einer 56-Bit-Verschlüsselung. Die Regierung der USA erlaubte damals US-Bürgern und Unternehmen Software mit einer maximalen Verschlüsselungsstärke von 56 Bit ins Ausland zu exportieren, weil höhere Verschlüsselungsalgorithmen als "militärisch wichtig" eingestuft wurden. Das Projekt sollte beweisen, dass es selbst mit einem Netzwerk aus Heimcomputern möglich ist, einen 56-Bit-Schlüssel zu brechen. Dies gelang und die US-Regierung gab etwa um das Jahr 2000 auch höhere Verschlüsselungen für den Export frei, was z.B. darin resultierte, dass seit dem Browser aus den USA 128-Bit-SSL-Verschlüsselung auch für Ausländer erlauben. Davor wurde Surfern aus dem Ausland, die anhand der IP-Adresse identifiziert wurden, nur eine abgespeckte Version beispielsweise des Internet Explorers oder des Netscape Navigators angeboten.

Das erste wirklich populäre Projekt dieser Art war SETI@Home, das sich der Suche nach Außerirdischen verschrieben hat. Dazu wurden die vom SETI-Projekt empfangenen Signale nach Regelmäßigkeiten, die auf Intelligenz hindeuten könnten, untersucht.

SETI@Home
Der aktuelle Bildschirmschoner des SETI@Home-Clients. Bildquelle: Wikipedia

Das von der NASA und der Universität Berkeley 1999 initierte Projekt war vor allem auch deshalb so erfolgreich, weil es die Daten nicht einfach nur berechnen ließ, sondern sie beispielsweise über einen Bildschirmschoner, auch grafisch schön aufbereitete.

Ich persönlich sah im Knacken von Codes aus politischen Gründen noch einen Sinn, weshalb ich mich an distributed.net beteiligte - die Suche nach Außerirdischen in der von uns wahrnehmbaren direkten Umgebung halt ich persönlich jedoch für recht aussichtlos, weshalb mich das das verteilte Rechnen erst wieder interessierte, als die medizinische Forschung das Thema entdeckte. Mit Projekten wie "FightAIDS@Home" oder "Folding@Home" wurden sehr aufwendige Berechnungen medizinischer Forscher auf freiwillig teilnehmende Heimcomputer ausgelagert, die beispielsweise die sehr rechenaufwendige Struktur von Proteinen aufspalten und so neue Erkenntnisse zutage fördern sollten, die irgendwann in neuen Medikamenten resultieren könnten. Das Problem aus meiner Sicht war hier:

1. Viele der Clients waren keine Freie Software. Das bedeutete z.B., das ihr Quellcode nicht offen lag und somit niemand wusste, was die Programme genau taten. Für Fremdprogramme auf dem eigenen Rechner, die ständig über das Internet kommunizieren, nicht gerade eine gut Voraussetzung.

2. Geforscht haben nicht nur Universiäten, sondern auch Pharmaunternehmen. Und die schrieben in ihren Vertragsbedingungen klipp und klar, dass alle aus den Berechnungen folgenden Forschungsergebnisse allein ihnen gehörten. Eventuelle Erkenntnisse sollten patentiert und die Medikamente teuer verkauft werden.

Situation heute

Die Situation hat sich inzwischen verbessert. Das SETI@Home-Projekt hat seine Software unter eine freie Lizenz gestellt und damit die Berkeley Open Infrastructure for Network Computing (BOINC) begründet, auf die inzwischen fast alle bekannten Projekte dieser Art zurückgreifen. Der BOINC-Client ist für eine Vielzahl von Plattformen wie Linux, Windows und Mac OS X verfügbar. Das Besondere: Weil immer mehr verteilte Rechenprojekte BOINC nutzen, ist es mit einem entsprechenden Client möglich an sehr vielen Projekten dieser Art gleichzeitig teilzunehmen und diese selbst zu priorisieren. Eine deutschsprachige Liste von Projekten, die BOINC nutzen, befindet sich hier. Dort ist auch kurz erklärt, was das Ziel der einzelnen Projekte ist und was sie genau berechnen. Darunter fallen z.B. Projekte zur Klimaforschung, mathematische Projekte, physikalische Grundlagenforschung und angewandte Physik.

Ich beteilige mich momentan an einem Projekt des GSF-Forschungszentrums für Gesundheit und Umwelt in Neuherberg bei München, der Technischen Universität München und Wissenschaftszentrum Weihenstephan Namens SIMAP. Dabei geht es um die Berechnung von Proteinähnlichkeiten, die Hinweise auf die Verwandschaftsverhältnisse zwischen Proteinen geben und sich für die medizinische Forschung der Bioinformatik als nützlich erweisen könnten.

Da der Berechnungsaufwand für eine solche Matrix quadratisch mit der Größe der Matrix steigt, sind unsere internen Resourcen (gridengine-cluster unter Linux) schon lange nicht mehr ausreichend. Daher haben wir einen boinc-client implementiert, der auf den Quellen von FASTA aufbaut, eines heuristischen Programms zur Sequenzähnlichkeitssuche. Diesen client gibt es nun seit ca. einem Jahr, wir haben ihn bislang umfassenden Tests unterzogen.

Quelle: boinc.bio.wzw.tum.de

Die Ergebnisse der Forschung stehen allen Wissenschaftlern weltweit kostenlos zur Verfügung.

Im folgenden möchte ich noch exemplarisch die Installation und Nutzung des BOINC-Clients unter Microsoft Windows und Ubuntu Linux beschreiben.

Installationsanweisung für Windows

Die Installation des BOINC-Clients ist denkbar einfach. Man geht auf Download-Seite des BOINC-Projekts, lädt den Client für Windows herunter und führt den Installer aus. Ich empfehle die Option "Shared Installation". So wird der Client immer gestartet, egal wer sich einloggt. Danach muss nur noch ein Projekt angemeldet werden. Dies funktioniert unter Linux und Windows gleich. Überspringe also einfach das untere Linux-Installationskapitel und gehe gleich zum Kapitel "Projekt anmelden unter Windows und Linux".

Installationsanleitung für Ubuntu Linux

Auch unter Linux ist es möglich die Binärdatei von der Downloadseite herunterzuladen und dann wie unter Windows vorzugehen. In vielen Linux-Distributionen ist der BOINC-Client allerdings schon in den Paketquellen enthalten und sollte über diese installiert werden. Das hat den Vorteil, das der Client regelmäßig über die Systemupdates aktualisiert wird und auch über die Paketverwaltung wieder sauber entfernt werden kann.

Die zwei unter Ubuntu Linux benötigten Pakete heißen boinc-client und boinc-manager und befinden sich in universe. Die Paketquellen für universe müssen, falls das nicht sowieso der Fall ist, zunächst aktiviert werden. Wie das funktioniert steht hier. Danach die beiden Pakete wie hier beschrieben installieren. Der BOINC-Manager kann danach über Anwendungen -> Zubehör -> BOINC Manager aufgerufen werden. Das einstellen von Projekten funktioniert genau wie unter Windows (siehe unten). Der BOINC-Client wird standardmäßig mit jedem Systemstart automatisch mitgestartet, so lange er installiert ist.

Projekt anmelden unter Windows und Linux

Um an einem Projekt teilzunehmen, muss einfach die Adresse der Website des Projekts eingetragen werden. Im Falle von SIMAP also http://boinc.bio.wzw.tum.de/boincsimap/. Danach hat man die Möglichkeit einen neuen Account anzulegen oder einen bereits existierenden zu nutzen. Falls das anlegen eines Accounts direkt aus Programm heraus nicht funktionieren sollte, ist dies auch jeweils über die Projektseite möglich. Im Falle von SIMAP z.B. hier. Wenn der Account angelegt ist, beginnt der BOINC-Client gleich mit der Arbeit. Das Fenster kann nun geschlossenen werden, BOINC rechnet im Hintergrund weiter.

Links

- Wikipedia über Verteiltes Rechnen allgemein
- Wikipedia: Liste der Projekte verteilten Rechnens
- Wikipedia über die Berkeley Open Infrastructure for Network Computing
- www.boinc.de - umfassendes deutschsprachiges Portal zu BOINC
- Offizielle BOINC-Projektseite der Universität Berkeley
- Deutschsprachige Liste von BOINC-Projekten
- rechenkraft.net - größtes deutschsprachiges Portal zum Thema Verteiles Rechnen
- Podcast von devradio zum Thema

FUCKUP Weblog

Zeitgeist-Blog und Meta-Medium

FUCKUP (First Universal Cybernetic-Kinetic Ultra-Micro Programmer) ist der fiktive Computer von Captain Hagbard Celine. FUCKUP, der sich auf dem goldenen U-Boot Leif Erikson befindet, ermittelt ständig, mittels eines virtuellen I Ging, die Wahrscheinlichkeit für den Ausbruch des 3. Weltkriegs. (Wikipedia)

Wir haben hochgeladen! kulturflatrate_button

Anzeige

User Status

Du bist nicht angemeldet.

Aktuelle Beiträge

mes
восстановление...
max (Gast) - 5. Apr, 11:25
Novel Dewasa | Cerita...
very interesting article and contain useful information....
novelhot - 25. Jan, 20:16
Very nice blog, it contains...
Very nice blog, it contains lot of informations. Articles...
Cerita Sex (Gast) - 12. Okt, 08:50
Kisah Sex Nyata | Cerita...
Cerita Dewasa, Cerita Sex, Cerita Mesum, Cerita Bokep,...
Cerita Dewasa (Gast) - 12. Okt, 08:47
Prediksi Togel | Bocoran...
Prediksi Togel Hari Ini | Keluaran Angka Jitu | Ramalan...
Togel Hari Ini (Gast) - 12. Okt, 08:45

Suche

 

Status

Online seit 4421 Tagen
Zuletzt aktualisiert: 5. Apr, 11:25

Archiv

August 2006
Mo
Di
Mi
Do
Fr
Sa
So
 
 3 
 6 
 8 
 9 
10
11
12
13
14
15
16
17
18
21
22
24
25
27
31
 
 
 
 

Credits


Bloginternes
Blogosphäre
Computer
Datenschutz
Disclaimer
Frisch aus dem Archiv
Fun
Geschmacklos
Gesellschaft
Kultur
Kurioses
Lokales
Markt und Konsum
Medien
Medienumschau
Musik
... weitere
Profil
Abmelden
Weblog abonnieren