Peer-to-Peer-Computing: Einer für alle, alle für einen

Die Last im Netz verteilen

10.12.2001

In der Regel geschieht das über spezielle Client-Software, die auf dem Rechner des Anwenders installiert wird. Sie sorgt dafür, dass der Benutzer mit seinen "Peers" kommunizieren kann und ermöglicht anderen Teilnehmern den Zugriff auf die eigenen freigegebenen Ressourcen. Da dies in der Regel über das Internet geschieht, könnte man vereinfachend sagen, dass dadurch jeder Client gleichzeitig zum Server wird, der die Anfragen anderer Clients beantwortet.

Zu den prominenten Beispielen für Distributed Computing gehört das Projekt Seti@Home. Seti (Search for Extraterrestrial Intelligence) ist der Name eines Programms, das versucht, mit Hilfe eines riesigen Radioteleskops Signale außerirdischer Lebensformen aus dem Weltall aufzufangen. An der Auswertung der gigantischen Datenmengen können sich Privatpersonen beteiligen, indem sie sich einen speziellen Bildschirmschoner auf ihrem Rechner installieren. Immer dann, wenn der PC nicht benutzt wird, nutzt der Screensaver die brachliegende Rechenleistung für die Untersuchung von Datenhappen, die ihm ein Server des Labors für Weltraumforschung der Universität von Berkeley, Kalifornien, zuschickt. Die Ergebnisse sendet er seinerseits an die Forscher zurück.

Sämtliche Rechner ziehen somit an einem gemeinsamen Strang und ermöglichen so den Wissenschaftlern, Berechnungen auszulagern, für die sie sonst teure Hochleistungscomputer einsetzen müssten. Dabei werden die abzuarbeitenden Daten in Häppchen von 340 KB an die Teilnehmer verschickt.

Das Projekt hat beeindruckende Ausmaße: Nach Angaben von David Anderson, einem der Initiatoren von Seti@Home, stellten im Oktober des vergangenen Jahres 2,5 Millionen Teilnehmer ihre schlummernden Rechenreserven zur Verfügung. Zusammengenommen entsprechen sie laut Anderson einem Supercomputer mit einer Rechenleistung von etwa 20 Teraflops. Zum Vergleich: Der 110 Millionen Dollar teure, schnellste Computer der Welt (im Besitz des US-amerikanischen Energieministeriums) schafft 12 Teraflops.

Eine weitere, viel zitierte Einsatzmöglichkeit bildet das File Sharing. Das Napster-System ist mit Sicherheit der bekannteste Vertreter dieses Ansatzes. Allerdings handelt es sich hier eigentlich nicht um Peer-to-Peer-Computing, weil eine zentrale Instanz die Kommunikation unter den Anwendern regelt. Deswegen sei hier ein weiteres Projekt erwähnt, das ohne Server auskommt: Gnutella.

Der Name Gnutella setzt sich zusammen aus der Bezeichnung des Open-Source-Projekts Gnu, was für "Gnu#s not Unix" steht, und dem Namen eines Brotaufstrichs. Seine Erfinder suchten ursprünglich nur nach einer Möglichkeit, mit anderen Personen Kochrezepte über das Internet auszutauschen. Sie entwickelten eine Lösung, die in ihrer ursprünglichen Form tatsächlich dezentral arbeitete und ohne eine koordinierende Instanz in Gestalt eines Servers auskam. Der Hauptvorteil der Gnutella-Struktur: Das Gesamtsystem ist fehlertolerant und ausfallsicher, weil es keinen Single Point of Failure gibt. Die inzwischen aus Performancegründen erfolgte Einführung von "Host Caches", die Adressen von Gnutella-Knoten vorhalten, hat dieses Prinzip allerdings etwas aufgeweicht.