40
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

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

Embed Size (px)

Citation preview

Page 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

1

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und Komplexität

Algorithmen für Peer-to-Peer-Netzwerke

Sommersemester 200407.05.2004

3. Vorlesung

Christian Schindelhauer

Page 2: 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

Algorithmen für Peer-to-Peer-Netzwerke 2

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Kapitel I

Page 3: 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

Algorithmen für Peer-to-Peer-Netzwerke 3

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 4: 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

Algorithmen für Peer-to-Peer-Netzwerke 4

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Kapitel III

Warum manche Netzwerke nicht skalieren

Page 5: 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

Algorithmen für Peer-to-Peer-Netzwerke 5

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 6: 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

Algorithmen für Peer-to-Peer-Netzwerke 6

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 7: 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

Algorithmen für Peer-to-Peer-Netzwerke 7

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Warum skalieren Kazaa und Co. nicht?

Hybride Struktur– Durchmesser gering– Zusammenhang kann hoch gewählt

werden• durch Anzahl Super-Nodes per Client

– Grad geringSkaliert

– nicht so schlecht wie Gnutella oder Napster

– nicht gut, da jeder Super-Node jede Anfrage der Clients erhält

Page 8: 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

Algorithmen für Peer-to-Peer-Netzwerke 8

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Kapitel III

Content Addressable NetworkCAN

Page 9: 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

Algorithmen für Peer-to-Peer-Netzwerke 9

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Von der Hash-Tabelle zur Distributed Hash-Table (DHT)

Hash-TabellenVorteile

• Suche einfachNachteile

– Ein neuer Peer verursacht neue Wahl der Hash-Funktion

– Lange Wege

Distributed Hash-TablePeers 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

0 1 2 3 4 5 6

41523 0

Peers

Indexdatenf(23)=1 f(1)=4

Peers

Indexdaten

Hash-Funktion

Hash-Funktion

Page 10: 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

Algorithmen für Peer-to-Peer-Netzwerke 10

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 11: 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

Algorithmen für Peer-to-Peer-Netzwerke 11

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

0 1 2 3 4 5 6

41523 0

Peers

Indexdatenf(23)=1 f(1)=4

Page 12: 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

Algorithmen für Peer-to-Peer-Netzwerke 12

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

Page 13: 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

Algorithmen für Peer-to-Peer-Netzwerke 13

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

A Scalable Content Addressable Network (CAN)

Dateien werden in durch (zweiwertige)-Hash-Funktion in das Quadrat abgebildet

DickKarp

Mark Handley

SylviaRatnasamy

Paul Francis

Scott Shenker

Page 14: 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

Algorithmen für Peer-to-Peer-Netzwerke 14

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 15: 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

Algorithmen für Peer-to-Peer-Netzwerke 15

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 16: 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

Algorithmen für Peer-to-Peer-Netzwerke 16

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 17: 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

Algorithmen für Peer-to-Peer-Netzwerke 17

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 18: 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

Algorithmen für Peer-to-Peer-Netzwerke 18

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 19: 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

Algorithmen für Peer-to-Peer-Netzwerke 19

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 20: 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

Algorithmen für Peer-to-Peer-Netzwerke 20

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 21: 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

Algorithmen für Peer-to-Peer-Netzwerke 21

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 22: 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

Algorithmen für Peer-to-Peer-Netzwerke 22

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 23: 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

Algorithmen für Peer-to-Peer-Netzwerke 23

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Wie groß/klein können solche Flächen werden

R(p) : Rechteck eines Peers pA(p) : Fläche des Rechteck eines

Peers pn : Anzahl PeersAnfangsquadrat: Fläche 1

LemmaFür alle Peers p gilt

1.

2. Sei PR,n die Wahrscheinlichkeit, dass keines der n Peers in das Rechteck R hineinfällt. Dann gilt

Page 24: 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

Algorithmen für Peer-to-Peer-Netzwerke 24

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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.

Page 25: 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

Algorithmen für Peer-to-Peer-Netzwerke 25

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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: n1/d

Durchschnittlicher Grad eines Knotens: O(d)

Page 26: 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

Algorithmen für Peer-to-Peer-Netzwerke 26

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 27: 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

Algorithmen für Peer-to-Peer-Netzwerke 27

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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)

Page 28: 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

Algorithmen für Peer-to-Peer-Netzwerke 28

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 29: 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

Algorithmen für Peer-to-Peer-Netzwerke 29

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 30: 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

Algorithmen für Peer-to-Peer-Netzwerke 30

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 31: 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

Algorithmen für Peer-to-Peer-Netzwerke 31

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Systemverbesserungen für CAN

1. Mehrdimensionale Räume2. Verschiedene Realitäten3. Abstandsmetrik für Routing4. Überladen der Zonen5. Mehrfaches Hashing6. Topologie-angepasste Netzwerkkonstruktion7. Gleichmäßigere Partitionierung8. Caching, Replikation und Hot-Spot-Management

Page 32: 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

Algorithmen für Peer-to-Peer-Netzwerke 32

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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(n1/d)

Erwartete Anzahl von Nachbarn O(2d)

Page 33: 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

Algorithmen für Peer-to-Peer-Netzwerke 33

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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 istVorteile

– Hohe Robustheit

Page 34: 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

Algorithmen für Peer-to-Peer-Netzwerke 34

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Mehrere Realitäten

Vorteile– Hohe Robustheit– Kürzere Wege

Page 35: 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

Algorithmen für Peer-to-Peer-Netzwerke 35

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian Schindelhauer

Realitäten versus Dimensionen

Dimensionen verkürzen die Wege besser

Realitäten erzeugen robustere Netzwerke

Page 36: 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

Algorithmen für Peer-to-Peer-Netzwerke 36

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 37: 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

Algorithmen für Peer-to-Peer-Netzwerke 37

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 38: 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

Algorithmen für Peer-to-Peer-Netzwerke 38

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 39: 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

Algorithmen für Peer-to-Peer-Netzwerke 39

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätChristian 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

Page 40: 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

40

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und Komplexität

Heinz Nixdorf Institut& Institut für InformatikUniversität PaderbornFürstenallee 1133102 Paderborn

Tel.: 0 52 51/60 66 92Fax: 0 52 51/62 64 82E-Mail: [email protected]://www.upb.de/cs/schindel.html

Vielen DankEnde der 3. VorlesungACHTUNG TERMINÄNDERUNGNächste Vorlesung: Mo. 17.05.2004 9-11 UhrNächste Übung: 3. Übung Mo. 10.05.2004 10,12,16 Uhr (A,B,C)

4. Übung Fr. 14.05.2004 9,10 Uhr (A/B)4. Übung Mo. 17.05.2004 11 Uhr (C)