Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Lewenhart Kesling Geändert vor über 9 Jahren
1
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 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. 17.05.2004, 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 10-11 (Christian Schindelhauer), nächste Termine: Mo. 10.05.2004, 10 Uhr Fr. 14.05.2004, 9 Uhr (Vertretung durch Mahlmann) –Gruppe B: Mo 11-12 (Peter Mahlmann), nächste Termine Mo. 10.05.2004, 11 Uhr Fr. 14.05.2004, 10 Uhr –Gruppe C: Mo 16-17 (Peter Mahlmann), nächste Termine Mo. 10.05.2004, 16 Uhr Mo. 17.05.2004, 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 0123456 4 1 5 23 0 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 0123456 4 1 5 23 0 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 11 33102 Paderborn Tel.: 0 52 51/60 66 92 Fax: 0 52 51/62 64 82 E-Mail: schindell@upb.de http://www.upb.de/cs/schindel.html Vielen Dank Ende der 3. Vorlesung ACHTUNG TERMINÄNDERUNG Nächste Vorlesung: Mo. 17.05.2004 9-11 Uhr Nächste Übung: 3. Übung Mo. 10.05.200410,12,16 Uhr (A,B,C) 4. ÜbungFr. 14.05.20049,10 Uhr (A/B) 4. ÜbungMo. 17.05.200411 Uhr (C)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.