Top Banner
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung Christian Schindelhauer
26

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

Apr 05, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

1

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und Komplexität

Algorithmen für Peer-to-Peer-Netzwerke

Sommersemester 200411.06.2004

8. 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 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Terminänderung!

ORGANISATIONNächste Vorlesung:

Mo. 14.06.2004 9-11 Uhr F0.530

Nächste Übung: Mo. 14.06.2004 16 Uhr (C)

Fr. 18.06.2004 9 Uhr (A)Fr. 18.06.2004 10 Uhr (B)

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

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Kapitel III

PAST & Pastryvon Antony Rowstron und Peter Druschel

(2001)

Skalierbare Skalierbare Peer to Peer-NetzwerkePeer to Peer-Netzwerke

Page 4: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

PAST und Pastry

Peter Druschel

– Rice University, Houston, TexasAntony Rowstron

– Microsoft Research, Cambridge, GB

entwickelten in Cambridge bei Microsoft Research

Pastry:

– Scalable, decentralized object location and routing for large scale peer-to-peer-network

PAST:

– A large-scale, persistent peer-to-peer storage utilityZwei Namen, ein Peer-to-Peer-Netzwerk

– PAST ist eine Anwendung auf Pastry

– Hier wird einheitlich der Name Pastry verwendet

Page 5: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Überblick

Jeder Peer hat 128-bit ID: nodeID

– Eindeutig und gleichmäßig verteilt

– z.B. durch Kryptographische Funktion angewendet auf IP-AdresseRouting

– Die Schlüssel werden auf {0,1}128 abgebildet

– Gemäß einer Metrik werden Nachrichten zum nächstgelegenden Nachbar weitergereicht

Routing tabelle hat Einträge

– n: Anzahl Peers

– b,l: Konfigurationsparameter, b: Wortlänge

• typisch: b= 4 (Basis 16), l = 16

• Auslieferung ist garantiert, falls nicht mehr al l/2 Knoten ausfallenEinfügen von Peers benötigt O((log n)/b) Nachrichten

Page 6: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Routing-Tabelle

NodeId wird zur Basis 2b dargestellt,– z.B. NodeID: 65A0BA13

Für jeden Präfix p und Buchstaben x {0,..,2b-1} von NodeID wird ein Repräsentant der Form px* eingetragen

– Beispiel b=4, damit ist 2b=16– also 15 Einträge für 0*,1*, .. F*– 15 Einträge für 60*, 61*,... 6F*– ...– Existiert kein Repräsentant wird nichts

eingetragenBezüglich einer Metrik wird immer der

nächstgelegene Repräsentant gewählt– Die Metrik resultiert auf den

wechselseitigen Latenzzeiten zwischen den Knoten

Zusätzlich werden l Nachbarn gemäß der NodeID gespeichert

– l/2 mit nächst größerer ID und

– l/2 mit nächst kleinerer ID

Page 7: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Routing-Tabelle

Beispiel: b=2

routing table:Für jeden Präfix p und Buchstaben x {0,..,2b-1} von NodeID wird ein Repräsentant der Form px* eingetragen

leaf set:

Zusätzlich werden l Nachbarn gemäß der NodeID gespeichert

– l/2 mit nächst größerer ID und

– l/2 mit nächst kleinerer ID

Beobachtung:

– Allein durch die Leaf-Set werden die Zielknoten immer gefunden

Lemma

Mit hoher Wahrscheinlichkeit sind höchstens O(2b (log n)/b) Einträge in jeder Routing-Table

Page 8: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Routing-Tabelle

LemmaMit hoher Wahrscheinlichkeit sind höchstens O(2b (log n)/b) Einträge in der Routing-Table

Beweis– Die Wahrscheinlichkeit, dass ein Peer

den selben m-stelligen Präfix bekommt ist

– Die Wahrscheinlichkeit, dass ein m-stelliger Präfix leer bleibt, ist dann

– Für m=c (log n)/b ist

– Mit (extrem) hoher Wahrscheinlichkeit ist also kein Peer mit dem gleichen Präfix der Länge (1+)(log n)/b vorhanden

– Damit gibt es (1+)(log n)/b Zeilen á 2b-1 Einträge

– Daraus folgt das Lemma.

Page 9: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Einfügen Peers

Neuer Knoten X sendet Nachricht Knoten Z mit längsten gemeinsamen Präfix p

X erhält – Routingtabelle von Z– Nachbarschaftsmenge von Z

Z aktualisiert Nachbarschaftsmenge X informiert l-Nachbarschaft X informiert Peers in Routing-Table

– mit gleichen Präfix p außerhalb der l-Nachbarschaft (falls l/2 < 2b)

Aufwand für Einfüge-Operation:

– l Nachrichten an Nachbarschaft

– Erwartet (2b - l /2) Nachrichten an Knoten mit gemeinsamen Präfix

– Eine Nachricht an Knoten Z mit Antwort

Page 10: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Wenn das Einfügen versagt

Die Übernahme der Nachbarschaftsmenge von nächstgelegenen Peer reicht im allgemeinen nicht

Beispiel:–Falls kein Peer mit 1* vorhanden ist, müssen alle anderen Peers auf den neuen Knoten zeigen

–Einfügen von 11:–03 kennt aus Routing-Table

• 22,33• 00,01,02

–02 kennt aus Leaf-Set• 01,02,20,21

11 kann nicht alle notwendigen Links veranlassen

Page 11: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Fehlender Eintrag in Routing-Table

Annahme:

Tabelleneintrag Ril fehlt in Peer D

– l-te Zeile und i-te Spalte der Routing-Table

Wird festgestellt sobald eine Nachricht von einem Peer mit diesem Präfix ankommt

Kommt vor, falls ein Peer das Netzwerk verlässt

Kontaktiere Peers in der selben ZeileFalls Peer bekannt ist, wird Peer kopiert

Falls dies scheitert, führe Routing zu dieser Adresse durch

Page 12: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Routing - im Prinzip

Zuerst wird durch Hash-Funktion die Zieladresse hergestellt

Befindet sich die Zieladresse innerhalb der l-Nachbarschaft,

– wird direkt dorthin ausgeliefert– oder das Fehlen des wird Ziel-Peers

festgestellt

Ansonsten wird in der Routingtabelle die Adresse mit gemeinsame Präfix gesucht und

Dorthin wird die Nachricht weitergeleitet

Zusätzlich wird eine Menge M von nahen Knoten unterhalten, diese werden hinsichtlich der Latenzzeit im Internet optimiert

Page 13: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Routing im Detail

L: l-Nachbarschaft R: Routing-Table M: Knoten in der Nähe von D

(gemäß Latenzzeit)

D: Schlüssel A: Node-ID des aktuellen

Peers

Ril: l-te Zeile und i-te Spalte der

Routing-Table

Li: Nummerierung der l-Nachbarschaft

Dl: l-te Ziffer des Schlüssels D

shl(A): Länge des gemeinsamen Präfix von A und D in

Ziffern

Page 14: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Routing - Diskussion

Falls Routing-Table korrekt ist,

– benötigt Routing O((log n)/b) Nachrichten

Solange Leaf-Set korrekt ist,

– benötigt Routing O(n/l) Nachrichten

– Tatsächlich ist es aber wesentlich schneller, da selbst defekte Routing-Table erhebliche Beschleunigung bringt

Routing berücksichtigt nicht die wahren Abstände

– M wird nur benutzt, falls Fehler in der Routing-Tabelle vorliegen

– Durch Ausnutzung der Lokalität, Verbesserungen möglich

Daher verwendet Pastry Heuristiken zur Verbesserung der Latenzzeit

– Diese werden in den besonders teuren letzten Hops angewendet

Page 15: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Lokalisierung der k nächsten Knoten

Direkte Nachbarn im Peer-to-Peer-Netzwerk sind nicht Knoten in der Nähe

– z.B. Link von Neuseeland nach Ostwestfalen

– von Indien nach KalifornienDas TCP-Protokoll des Internets misst Latenzzeiten

– Damit kann eine Metrik definiert werden

– Diese ist die Grundlage zur Suche nach den nächsten PeersDamit können die Einträge in der Routing-Table optimiert werden

Sämtliche Verfahren in Pastry beruhen hier auf Heuristiken

– D.h. es gibt keinen mathematischen Nachweis der Güte der Verfahren

Annahme: Metrik ist Euklidisch

Page 16: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Lokalität in Routing-Table

Annahme: –Beim Einfügen eines Peers A in Pastry kontaktiert der Knoten zuerst einen nahen Knoten P

–Alle Knoten haben schon ihre Routing-Table optimiert

Aber:–Der zuerst kontaktierte Peer P ist nicht bezüglich der NodeID nahe

1. Schritt–Kopiere Einträge der ersten Zeile der Routing-Table von P

• wegen der Dreiecksungleichung sind diese Einträge recht gut

2. Schritt–Kontaktiere passenden Peer P‘ von P mit gleichen ersten Buchstaben

–Wiederum sind diese Einträge relativ nah

Wiederhole diese Schritte bis alle Tabelleneinträge gefüllt sind

Page 17: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Lokalität im Routing

Für jeden Eintrag in der Routing-Table wird der nächste Knoten gemäß der Latenzzeit gewählt

– Routing wählt nicht unbedingt den kürzesten Weg (bezüglich der Latenzmetrik)

– Dennoch Hoffnung auf kurze WegeWarum?

– Mit der Länge des gemeinsamen Präfix steigt die erwartete Latenzmetrik exponentiell

– Damit sind die letzten Sprünge am teuersten

– Hier greifen aber die Leaf-Set-Einträge

Page 18: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Lokalisierung (latenz-) naher Knoten

Die Metrik Node-ID und die Latenzmetrik sind völlig unvergleichbar

Bei replizierten Daten auf k Knoten, können nahe Peers mit ähnlicher Node-ID übersehen werden

Hier findet eine Heuristik Anwendung

Experimentelle Untersuchungen scheinen die Güte dieses Ansatzes zu bestätigen

Page 19: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Bösartige Fehler

Peers können sich bösartig oder fehlerhaft verhalten

– Wird in diesem System nicht unterstützt

– Mögliche Lösung: Randomisierung des deterministische Routing

– Betrifft ebenso Einfüge-Operation von Peers

IP-Routing-Anomalien

– Mitunter sind Routen im Internet nicht vorhanden und Knoten nur über Umwege erreichbare

– Werden auch bisher nicht gelöst von Pastry

– Lösung durch IP Multicast?

Page 20: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Experimentelle ResultateSkalierung

Parameter b=4, l=16, M=32 In diesem Experiment steigt die durchschnittlich Hop-Distanz logarithmisch mit der

Knotenanzahl anAnalyse sagt hier 4 log n vorausGute Übereinstimmung

Page 21: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Experimentelle ResultateVerteilung der Routing-Hop

Parameter b=4, l=16, M=32, n = 100 000Ergebnis:

–Die Abweichung von der erwarteten Hop-Distanz ist extrem geringAnalyse sagt Abweichung mit extrem kleiner Wahrscheinlichkeit voraus

–Gute Übereinstimmung

Page 22: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Experimentelle ResultateLatenzzeit

Parameter b=4, l=16, M=32

Im Vergleich zum kürzesten Weg ist erstaunlich gering– scheint zu stagnieren

Page 23: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Kritische Betrachtung der Experimente

Mit b=4, L=16 wird die Anzahl der Links pro Knoten

– Damit kann der Faktor 2b/b = 4 das Ergebnis erheblich beeinflussen

– Beispiel n= 100 000

• 2b/b log n = 4 log n > 60 Links in Routing Table

• Hinzu kommen noch 16 Links in Leaf-Set und 32 in MDadurch ist der Grad im Verhältnis zu anderen Protokollen wie CHORD

enorm groß

Annahme Euklidischer Latenzzeiten aus der Luft gegriffen

Die Stagnation des Verhältnis der Latenzzeit zur optimalen Latenzzeit nährt eher Zweifel an der Aussagekraft des Experiments

– Ergebnis zu gut

– Anstieg wird stattfinden

– Aber wann und wie stark?

Page 24: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Experimentelle UntersuchungenKnotenausfälle

Parameter b=4, l=16, M=32, n = 5 000

No fail: vor AusfallNo repair: 500 von 5000 Peers fallen ausRepair: Nach Reparatur der Routing-Tables

Page 25: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

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

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und KomplexitätPeter Mahlmann

Pastry versus Tapestry

Beide beruhen auf dem selben Routing-Prinzip von

– Plaxton, Rajamaran und Richa

– Verallgemeinerung von Routing auf dem HyperwürfelTapestry

– ist nicht vollständig selbstorganisierend

– achtet stark auf die Konsistenz der Routing-Tabelle

– ist analytisch verstanden und hat nachweisbare PerformanzPastry

– Analytische Methodik wird ersetzt durch Heuristiken

– Algorithmische Beschreibung ungenau

– Experimentelle Verifikation ersetzt analytische Untersuchungen

– Praktisch besser umsetzbar

– Durch Leaf-Sets sehr robust

Page 26: 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 11.06.2004 8. Vorlesung.

26

HEINZ NIXDORF INSTITUTUniversität Paderborn

Algorithmen und Komplexität

Vielen Dank

Ende der 8. VorlesungNächste Vorlesung: Mo. 14.06.2004 9-11 UhrNächste Übung: 7. Übung Mo. 14.06.2004 16 Uhr (C)

Fr. 18.06.2004 9 Uhr (A)Fr. 18.06.2004 10 Uhr (B)