Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 1/28 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim Christian Baun Forschungszentrum Karlsruhe Institut für Wissenschaftliches Rechnen cray@unix-ag.uni-kl.de 28.5.2010
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 2/28 Wiederholung vom letzten Mal Grid-Computing Definitionen Klassifikation Unterscheidungen Middleware-Systeme UNICORE Globus Toolkit glite XtreemOS dcache Grid-Projekte EGEE EGI D-Grid Grid-Computing vs. Cloud-Computing
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 3/28 Heute (P2P) Grundlagen Einsatzgebiete Zentralisiertes P2P Napster Pures bzw. Reines P2P Gnutella Version 0.4 Hybrides P2P Gnutella Version 0.6 FastTrack BitTorrent BOINC
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 4/28 Grundlagen Ein -System ist ein Verbund gleichberechtigter Knoten Die Knoten werden als Peers bezeichnet Die Knoten machen sich gegenseitig Ressourcen zugänglich Jeder Knoten ist gleichzeitig Client und Server Geeignet, um dezentral organisierte Arbeitsumgebungen aufzubauen Andy Oram A system is a self-organizing system of equal, autonomous entities (peers) which aims for the shared usage of distributed resources in a networked environment avoiding central services. Schreibweise Eine einheitliche Schreibweise existiert nicht. Häufig wird auch P2P oder Peer-2-Peer (mit oder ohne Bindestriche) geschrieben
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 5/28 Einsatzgebiete von (1) Verteiltes Rechnen (Distributed Computing) Aufteilung rechenintensiver Aufgaben in Teilaufgaben Verwendung ansonsten ungenutzter Rechenzeit Geringe Kosten im Gegensatz zu einem oder mehreren Supercomputern Anwendungen: SETI@home, Folding@home, RC5-72
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 6/28 Einsatzgebiete von (2) Austausch von Daten (File Sharing) Überwiegender Einsatz als Tauschbörsen Das Ziel ist, große Datenmengen schnell an viele Benutzer zu verteilen Problem von Urheberrechtsverletzungen Zukünftige Verbesserungen sind besonders im Bereich der Anonymisierung zu erwarten Anwendungen: BitTorrent, Napster, Gnutella, Kazaa, Overnet Kommunikation und Zusammenarbeit Instant Messaging Systeme für Textnachrichten und Chat Sichere und anonyme Kommunikation (Freenet) Kostengünstige und hochverfügbare Groupware (Groove) Anwendungen: ICQ, AIM, MSN, Jabber, Freenet, Groove, usw.
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 7/28 Napster Napster war der Pionier des File-Sharing Entwickelt von Shawn Fanning (Student in Boston) Aktiv von Juni 1999 bis Juli 2001 Napster war zentralisiertes P2P Napster enthielt ein zentralisiertes Indexing Clients laden ihre Dateiliste auf den Napster-Server Clients befragen den Index-Server und erhalten eine vollständige Anbieterliste Datenaustausch erfolgte unmittelbar zwischen den Peers Ab Dezember 1999: Massive juristische Probleme mit der Musikindustrie und Künstlern 2001: Napster erreicht seinen Peak mit 77 Millionen Benutzern Juli 2001: Napster schaltet seinen Dienst ab
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 8/28 Napster Protokoll
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 9/28 Napster (Häufiges Bild aus jenen Tagen...)
Client-Server im Vergleich zu zentralisiertem P2P Was sind die Vor-/Nachteile von zentralisiertem P2P im Vergleich zu Client-Server? Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 10/28
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 11/28 Vor- und Nachteile von zentralisiertem P2P Vorteile: Peers kommunizieren direkt miteinander Server hat nur wenige Aufgaben Sehr gute Erweiterbarkeit Jeder weitere Peer verursacht nur wenig Last auf dem Server Ausfall einzelner oder mehrerer Peers kann dem Netzwerk und der Verfügbarkeit der Dienste nichts anhaben Zentralisierte Dienste sind sehr performant Zentralisierter Dienst ist ein bekannter Einstiegspunkt Neue Peers können leicht Teil des Systems werden Nachteile: Server verursachen Kosten (Strom, Stellfläche, Administration,...) Ohne die zentralisierten Dienste funktioniert das System nicht Zentralisierte Dienste sind immer ein Anfriffspunkt Juristische Angriffsfläche
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 12/28 Gnutella Entwickelt von Justin Frankel und Tom Pepper bei der Firma Nullsoft (Winamp) Quellcode unter der GNU General Public License (GPL) März 2000: Erste Version Grund für die Entwicklung Steigende Probleme von Napster 1999/2000 Klagen der Musikindustrie Napster verwendete Server für ein zentralisiertes Indexing Zentrale Server machen angreifbar! Ziel: Entwicklung einer Alternative, die ohne Server auskommt AOL Eigentümer von Nullsoft zog die Software zurück Aber wenn der Quellcode schon mal unter der GPL freigegen ist... Bekannte Clients: LimeWire, Morpheus, Shareaza, BearShare Gnutella ist heute ein Synonym für das Protokoll und weniger für eine spezielle Software
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 13/28 Gnutella Protokoll Version 0.4 http://rfc-gnutella.sourceforge.net/developer/stable/index.html Alle Peers sind gleichberechtigte Teilnehmer im Netzwerk Es gibt keine zentralisierten Dienste (Server) = Reines/Pures P2P Jeder Peer muss mindestens einen weiteren Knoten kennen Jeder Peer verwaltet eine Liste von ihm bekannten Peers Jeder Peer ist mit maximal 5 weiteren Peers aktiv verbunden Hat ein Peer einen Suchauftrag, sendet er ihn an alle mit ihm aktiv verbunden Peers Die Weiterleitungen werden als Hops bezeichnet Jeder Suchauftrag macht maximal 7 Hops Nachteile: Suchanfragen dauern sehr lange Das Netzwerk wird mit Suchanfragen geflutet
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 14/28 Gnutella Protokoll
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 15/28 Reines P2P im Vergleich zu Reinem P2P P2P ohne dedizierte Server bezeichnet man als Reines oder Pures P2P Was sind die Vor-/Nachteile von Reinem P2P?
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 16/28 Vor- und Nachteile von Reinem/Purem P2P Vorteile: Keine Abhängigkeit von Servern. Peers kommunizieren direkt miteinander Keine zentralen Angriffspunkte System (Netzwerk) ist kaum zu zerstören Ausfall einzelner oder mehrerer Peers kann dem Netzwerk und der Verfügbarkeit der Dienste nichts anhaben Höhere Selbstbestimmung der Benutzer Bei Client-Server muss bei steigender Anzahl von Clients auch die Serverleistung steigen Kein Administrationsaufwand, da keine Server Nachteile: Schwieriger Einstieg Es muss mindestens ein Peer bekannt sein Suchanfragen sind eine starke Belastung für das Netzwerk Listen von Daten und Peers müssen verteilt werden (hoher Overhead) Beispiele für Reines P2P: Gnutella (Version 0.4) und Freenet
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 17/28 Reines P2P hat Grenzen Netzwerkbelastung von Reinem P2P lässt das System bei einer hohen Anzahl von Peers unbenutzbar werden Langsam Netzwerkoverhead zu hoch Alternative: Zentralisierte Dienste mit dedizierten Servern Nicht erwünscht Alternative: Hybrides
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 18/28 Hybrides P2P: Gnutella Protokoll Version 0.6 Unterscheidung der Knoten in Blattknoten (Leaf Nodes) und Ultrapeers Jeder Blattknoten ist mit maximal 3 Ultrapeers verbunden Jeder Ultrapeer ist mit maximal 16 weiteren Ultrapeers und 16 Blattknoten verbunden Jeder Suchauftrag macht nur maximal 4 Hops Neues Protokoll: Query Routing Protocol (QRP) Suchanfragen Leitungsprotokoll Kurzfassung des QRP Jeder Blattknoten schickt seinem Ultrapeer eine Liste der Namen innerhalb der Dateinamen der angebotenen Dateien Suchanfragen werden nur an Peers weitergeleitet, bei denen die Liste der Namen erfolgversprechend ist Die Ultrapeers tauschen die Namenslisten untereinander aus Hybrides P2P realisiert eine Art dynamischen, zentralisierten Dienst Vorteile von Reinem P2P bleiben erhalten
Gnutella: Ultrapeers und Blattknoten Quelle: Jörg Eberspächer und Rüdiger Schollmeier. First and Second Generation of Systems (2005). LNCS 3485 Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 19/28
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 20/28 FastTrack (Protokoll von KaZaA) Das FastTrack-Protokoll basiert auf dem Gnutella Protokoll 0.6 Supernodes agieren als vorübergehende Indexserver für langsamere Peers Die Skalierbarkeit des Netzwerks wird dadurch erhöht Ablauf: In der Client-Software ist eine Liste von IPs einiger Supernodes enthalten Die Client-Software versucht eine Verbindung diesen bekannten Supernodes herzustellen Wurde ein Supernode erreicht, ruft die Client-Software die Liste von derzeit aktiven Supernodes ab Client sucht sich einen Supernode aus, dem er eine Liste der angebotenen Dateien hochlädt und über den er sämtliche Suchanfragen stellt Der Supernode kommuniziert mit weiteren Supernodes, um Suchanfragen der Clients zu erfüllen Wurde eine gesuchte Datei gefunden, baut die Client-Software eine direkte Verbindung zur Quelle auf, und die Datei wird über HTTP übertragen
(File-Sharing) Netzwerke kleine Auswahl Quelle: http://www.umkc.edu/is/security/p2p explanation.asp Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 21/28
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 22/28 Aktuellste Entwicklung: BitTorrent System zur schnellen Verteilung großer Datenmengen Entwickelt von Bram Cohen Juli 2001: Erste Version Im System selbst kann man nicht nach Daten suchen Will ein Peer eine oder mehr zusammenhänge Dateien herunterladen, benötigt er die passende Torrent-Datei Enthält die IP-Adresse des Trackers, Dateigröße und eine Liste von Prüfsummen von Segmenten Torrent-Dateien sind nur wenige KB groß und werden überwiegend auf speziellen Web-Seiten gesammelt und angeboten Ein Tracker verwaltet für jeden Torrent eine Liste von Peers, die Teile der Datei besitzen Ein BitTorrent-Client erhält vom Tracker diese Liste Mit der Liste kann der Client (Peer) nun direkt bei den anderen Peers mit Teilen der gesuchten Datei anfragen
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 23/28 Aktuellste Entwicklung: BitTorrent (2) Segmente einer Datei bezeichnet man als Chunks Menge aller Peers, die am gleichen Torrent interessiert sind: Schwarm Peers, die im Besitz des kompletten Torrents sind und somit nichts mehr von anderen Peers herunterladen, sondern lediglich verteilen, heißen Seeds Peers, die noch nicht im Besitz des kompletten Torrents sind und somit von anderen Peers herunterladen, heißen Leechs Ist der Tracker nicht mehr verfügbar, ist die Torrent-Datei nutzlos Ohne funktionierenden Tracker kann keine aktuelle Liste mit Seeds/Leechs bezogen werden Will man selbst etwas anbieten, muss man einen Tracker betreiben und die passende Torrent-Datei anbieten/verteilen
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 24/28 BitTorrent Protokoll
P2P Zusammenfassung Quelle: Jörg Eberspächer und Rüdiger Schollmeier. First and Second Generation of Systems (2005). LNCS 3485 Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 25/28
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 26/28 nähert sich Grid-Computing an Berkeley Open Infrastructure for Network Computing (BOINC) Offener Standard für Distributed Computing Projekte Trennung von Projektverwaltung, Daten und Infrastruktur Neue Projekte können auf eine bestehende Infrastruktur zurückgreifen Geringere Hürde für Wissenschaftler, ein eigenes Projekt zu starten Benutzer können mit einem einzigen Client an vielen Projekten gleichzeitig teilnehmen Geringere Hürde für Benutzer, an Projekten zu partizipieren Höhere Akzeptanz bei den Benutzern. Diese müssen nur eine einzige Client-Software installieren Benutzer können Systemressourcen dynamisch Projekten zuweisen Weniger Rechenleistung geht verloren (z.b. beim Ausfall eines Projekts) Bessere Benutzbarkeit = BOINC erfüllt die drei Kriterien, die ein Grid ausmachen!
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 27/28 Abgrenzungen zwischen den Technologien Cluster sind keine Grids, können aber Ressourcen in einem Grid sein Cluster gehören in der Regel einer einzigen Organisation Ressourcen in Grids gehören verschiedenen Organisationen und werden von diesen administriert Knoten bei P2P gehören den Benutzern und werden von diesen selbst verwaltet Distributed Computing Projekte (P2P) sind keine Computational Grids File Sharing Netzwerke (P2P) sind keine Data Grids P2P-Projekte, die auf einem offenen, flexibel einsetzbaren Standard wie BOINC basieren und die Kriterien eines Grid erfüllen, können als Grids bezeichnet werden
Christian Baun 9.Vorlesung Cluster-, Grid- und Cloud-Computing Hochschule Mannheim SS2010 28/28 Nächste Vorlesung Nächste Vorlesung: 11.6.2010