1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung Christian Schindelhauer
Algorithmen für Peer-to-Peer- Netzwerke 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel I
Algorithmen für Peer-to-Peer- Netzwerke 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Terminänderungen Vorlesung: –Nächste Vorlesung: Mo , 9-11 Uhr F0.530 –Dann wieder jeden Freitag 9-11 (c.t.), Raum F0.530 Übung –Anmeldung zum Vorrechnen durch StudInfo{flex}, siehe – –Gruppe A: Mo (Christian Schindelhauer), nächste Termine: Mo , 10 Uhr Fr , 9 Uhr (Vertretung durch Mahlmann) –Gruppe B: Mo (Peter Mahlmann), nächste Termine Mo , 11 Uhr Fr , 10 Uhr –Gruppe C: Mo (Peter Mahlmann), nächste Termine Mo , 16 Uhr Mo , 16 Uhr
Algorithmen für Peer-to-Peer- Netzwerke 4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel III Warum manche Netzwerke nicht skalieren
Algorithmen für Peer-to-Peer- Netzwerke 5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Warum skaliert Napster nicht? Napster –Client-Server-Struktur entspricht Stern- Topologie –Grad des Graphen n-1 n Anzahl der Peers –Der Stern-Graph ist 1-zusammenhängend Napster skaliert nicht, weil –der Grad des Graphen ist groß Flaschenhals in Kommunikation – und der Zusammenhang ist schwach keine robuste Konstruktion
Algorithmen für Peer-to-Peer- Netzwerke 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Warum skaliert Gnutella nicht? Gnutella –Graph-Struktur ist zufälliger Verbindungsgraph –Grad des Graphen klein –Durchmesser gering –Zusammenhang groß Gnutella skaliert nicht, weil –Gesamtes Netzwerk durchsucht werden müsste –Keine Struktur in der Datenablage
Algorithmen für Peer-to-Peer- Netzwerke 7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Warum skalieren Kazaa und Co. nicht? Hybride Struktur –Durchmesser gering –Zusammenhang kann hoch gewählt werden durch Anzahl Super-Nodes per Client –Grad gering Skaliert –nicht so schlecht wie Gnutella oder Napster –nicht gut, da jeder Super-Node jede Anfrage der Clients erhält
Algorithmen für Peer-to-Peer- Netzwerke 8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel III Content Addressable Network CAN
Algorithmen für Peer-to-Peer- Netzwerke 9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Von der Hash-Tabelle zur Distributed Hash- Table (DHT) Hash-Tabellen Vorteile Suche einfach Nachteile –Ein neuer Peer verursacht neue Wahl der Hash-Funktion –Lange Wege Distributed Hash-Table Peers werden an eine Stelle ge“hash“t und erhalten Bereiche des Wertebereichs der Hashfunktion zugeteilt Daten werden auch ge“hash“t –Je nach Bereich den Peers zugeordnet Peers Indexdaten f(23)=1 f(1)=4 Peers Indexdaten Hash-Funktion
Algorithmen für Peer-to-Peer- Netzwerke 10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Einfügen in die Distributed Hash-Table (DHT) Distributed Hash-Table –Peers werden an eine Stelle ge“hash“t –Dokumente ebenso –Jeder ist für einen Bereich verantwortlich Kommt ein neuer Knoten hinzu –müssen die Nachbarn teilen Verlässt ein Knoten das Netzwerk –übernehmen die Nachbarn sein Gebiet
Algorithmen für Peer-to-Peer- Netzwerke 11 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Eigenschaften DHT Vorteile –Jedes Datum kann einem bestimmten Peer zugewiesen werden –Einfügen und Entfernen von Peers erzeugt nur Veränderungen in den benachbarten Peers DHTs werden von vielen P2P- Netzwerken benutzt Noch zu klären: –Die Verbindungsstruktur Peers Indexdaten f(23)=1 f(1)=4
Algorithmen für Peer-to-Peer- Netzwerke 12 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet
Algorithmen für Peer-to-Peer- Netzwerke 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer A Scalable Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Dick Karp Mark Handley Sylvia Ratnasamy Paul Francis Scott Shenker
Algorithmen für Peer-to-Peer- Netzwerke 14 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer
Algorithmen für Peer-to-Peer- Netzwerke 15 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene
Algorithmen für Peer-to-Peer- Netzwerke 16 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer
Algorithmen für Peer-to-Peer- Netzwerke 17 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer
Algorithmen für Peer-to-Peer- Netzwerke 18 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer
Algorithmen für Peer-to-Peer- Netzwerke 19 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer
Algorithmen für Peer-to-Peer- Netzwerke 20 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer
Algorithmen für Peer-to-Peer- Netzwerke 21 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer
Algorithmen für Peer-to-Peer- Netzwerke 22 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Content Addressable Network (CAN) Dateien werden in durch (zweiwertige)- Hash-Funktion in das Quadrat abgebildet Am Anfang ist ein leeres Quadrat mit nur einem Peer als Besitzer Der Besitzer einer Fläche speichert alle Einträge in der Fläche Ein Peer wählt einen zufälligen Punkt in der Ebene –Der Besitzer des entsprechenden Quadrats teilt seine Fläche und –übergibt die Hälfte dem neuen Peer
Algorithmen für Peer-to-Peer- Netzwerke 23 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Wie groß/klein können solche Flächen werden R(p) : Rechteck eines Peers p A(p) : Fläche des Rechteck eines Peers p n : Anzahl Peers Anfangsquadrat: Fläche 1 Lemma Für alle Peers p gilt 1. 2.Sei P R,n die Wahrscheinlichkeit, dass keines der n Peers in das Rechteck R hineinfällt. Dann gilt
Algorithmen für Peer-to-Peer- Netzwerke 24 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Wie gleichmäßig werden die Daten verteilt? Lemma Mit Wahrscheinlichkeit (log n) n -c wird ein Rechteck der Größe 2c(ln n)/n nicht geteilt. Wenn m Elemente insgesamt gespeichert werden, –so erhält jeder Peer also im Erwartungswert maximal 2 c (ln n) m/n Elemente, –während der Durchschnitt m/n Elemente speichert Also speichert jeder Peer mit hoher Wahrscheinlichkeit höchstens 2c (ln n) mal mehr als der Durchschnittspeer.
Algorithmen für Peer-to-Peer- Netzwerke 25 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Lookup in CAN Lookup –Zuerst wird Ort des Indexes durch Berechnung der Hash-Funktion bestimmt –Zwischen den Besitzer benachbarter Rechtecke bestehen Kanten –Anfrage wird in Richtung des Index weitergeleitet d Dimension des Quadrats –1: Linie –2: Quadrat –3: Würfel –4:... Erwartete Anzahl Hops in d Dimensionen: n 1/d Durchschnittlicher Grad eines Knotens: O(d)
Algorithmen für Peer-to-Peer- Netzwerke 26 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Einfügen in CAN = Random Tree Random Tree –Neue Blätter werden zufällig eingefügt –Falls Wurzel interner Knoten, gehe zufällig in linken oder rechten Teilbaum –Falls Wurzel ist Blatt, füge zwei Blatt an diese Wurzel an Tiefe: –im Erwartungswert 2 log n + O(1) –Tiefe O(log n) mit hoher Wahrscheinlichkeit, d.h. 1-n -c Beobachtung –CAN fügt neue Peers ein wie neue Blätter beim Random Tree eingefügt werden
Algorithmen für Peer-to-Peer- Netzwerke 27 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Entfernen von Peers in CAN Verschwindet ein Peer, –meldet er das nicht vorher an Daher Nachbarn testen regelmäßig Anwesenheit –übernimmt der erste Nachbar der das merkt das Gebiet des verschwundenen Peers Peers können mehrere Gebiete verwalten Häufiges Einfügen und Entfernen führt zur Kleinstaaterei (Fragmentierung)
Algorithmen für Peer-to-Peer- Netzwerke 28 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Defragmentierung - der einfache Fall Um die Fragmentierung zu beseitigen, wird von Zeit zu Zeit eine Zonenneuzuweisung durchgeführt Für jeden Peer, der mindestens zwei Zonen hat, Lösche kleinste Zone des Peers und finde Ersatzpeer für dieses Gebiet 1.Fall: Nachbarzone im Baum ist ungeteilt Dann sind beide Peers Blätter im CAN-Baum Übertrage Zone dem Nachbarknoten
Algorithmen für Peer-to-Peer- Netzwerke 29 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Defragmentierung - der schwierige Fall Für jeden Peer, der mindestens zwei Zonen hat, Lösche kleinste Zone des Peers und finde Ersatzpeer für dieses Gebiet 2. Fall: Nachbarzone im Baum ist weiter unterteilt Führe Tiefensuche in Nachbarbaum durch, bis zwei benachbarte Blätter gefunden worden sind Übertrage einem Blatt (Peer) die Zonen beider Blätter und wähle das andere Blatt (Peer) als Ersatzpeer
Algorithmen für Peer-to-Peer- Netzwerke 30 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Bewertung CAN Vorteile –Einfaches robustes Verfahren –Balanciert die Datenmenge –Kleiner Grad –Netzwerk ist stark zusammenhängend, dadurch robust –Kennt verschiedene Wege zum Ziel und kann dadurch Routen optimieren Nachteile –Lange Wege (polynomiell lang) –Stabilität durch geringe Nachbarzahl gefährdet
Algorithmen für Peer-to-Peer- Netzwerke 31 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Systemverbesserungen für CAN 1.Mehrdimensionale Räume 2.Verschiedene Realitäten 3.Abstandsmetrik für Routing 4.Überladen der Zonen 5.Mehrfaches Hashing 6.Topologie-angepasste Netzwerkkonstruktion 7.Gleichmäßigere Partitionierung 8.Caching, Replikation und Hot-Spot-Management
Algorithmen für Peer-to-Peer- Netzwerke 32 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Mehrdimensionale Räume D-dimensionaler Raum (statt 2-D) –1: Linie –2: Quadrat –3: Würfel –... Die erwartete Pfadlänge bei d Dimensionen ist O(n 1/d ) Erwartete Anzahl von Nachbarn O(2 d )
Algorithmen für Peer-to-Peer- Netzwerke 33 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Mehrere Realitäten Simultan werden r CAN-Netzwerke aufgebaut Jedes CAN-Netzwerk wird Realität genannt Auf der Suche nach einem Feld –springt man zwischen den Realitäten –wählt man die Realität, in welcher der Abstand zum Ziel am geringsten ist Vorteile –Hohe Robustheit
Algorithmen für Peer-to-Peer- Netzwerke 34 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Mehrere Realitäten Vorteile –Hohe Robustheit –Kürzere Wege
Algorithmen für Peer-to-Peer- Netzwerke 35 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Realitäten versus Dimensionen Dimensionen verkürzen die Wege besser Realitäten erzeugen robustere Netzwerke
Algorithmen für Peer-to-Peer- Netzwerke 36 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Überladen von Zonen In jede Zone werden bis zu MAXPEERS (z.B. 10) Peers abgelegt –Jeder Peer kennt alle Peers seiner Zone –und jeweils einen der Nachbarzone –Dadurch werden Routen nicht verlängert Wege verkürzen sich um O(MAXPEERS) Latenzzeit kann verkürzt werden –indem jeder Peer den nächsten Peer der Nachbarzone wählt Verbesserte Fehlertoleranz
Algorithmen für Peer-to-Peer- Netzwerke 37 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Abstandsmetriken für Routing Durch Messung der RTT (round trip time) wird Abstandsmessung vorgenommen Bevorzuge kürzesten Nachbarn gemäß dieser Metrik Vorteil: –Verringerung der Latenzzeit um konstanten Faktor Bessere Zeitersparnis Topologie-angepasste Netzwerkkonstruktion Siehe auch Übungsaufgabe
Algorithmen für Peer-to-Peer- Netzwerke 38 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Mehrfaches Hashing Daten werden nicht nur an einmal, sondern mehrfach abgespeichert, –indem man den Schlüssen mit Zahl k aus {1,2,..,COPIES} kombiniert Dadurch erhöhte Robustheit Geringere Entfernungen –Lookup nur zu nächster Kopie –Anzahl Hops indirekt proportional zu Anzahl Kopien
Algorithmen für Peer-to-Peer- Netzwerke 39 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Topologie-angepasste Netzwerkkonstruktion Die gemessenen Latenzzeiten zu m ausgezeichneten Peers, genannt Landmarken, dienen als Positionsinformation Die Zeiten werden sortiert Die sortierte Liste der Landmarken dient als Schlüssel Dieser Schlüssel wird jetzt als Basis für die Abbildung auf Bildbereich gewählt –Dabei wird keine „echte“ Hashfunktion gewählt –Sondern eine die ähnliche Permutation in nahe Bereiche abbildet Dadurch –Nahe Knoten kommen in den gleichen Bereich –Enorme Verkürzung der Latenzzeiten Aber –Wahl der Landmarken schwierig –Gefahr der ungleichen Aufgabenverteilung
40 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee Paderborn Tel.: / Fax: / Vielen Dank Ende der 3. Vorlesung ACHTUNG TERMINÄNDERUNG Nächste Vorlesung: Mo Uhr Nächste Übung: 3. Übung Mo ,12,16 Uhr (A,B,C) 4. ÜbungFr ,10 Uhr (A/B) 4. ÜbungMo Uhr (C)