Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 07.05.2004 3. Vorlesung.

Ähnliche Präsentationen


Präsentation zum Thema: "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 07.05.2004 3. Vorlesung."—  Präsentation transkript:

1 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung Christian Schindelhauer

2 Algorithmen für Peer-to-Peer- Netzwerke 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel I

3 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 –http://wwwcs.upb.de/cs/ag-madh/WWW/Teaching/2004SS/AlgoP2P/ –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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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.

25 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)

26 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

27 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)

28 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

29 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

30 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

31 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

32 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 )

33 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

34 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

35 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

36 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

37 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

38 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

39 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 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)


Herunterladen ppt "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 07.05.2004 3. Vorlesung."

Ähnliche Präsentationen


Google-Anzeigen