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 28.05.2004 6. 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 28.05.2004 6. Vorlesung."—  Präsentation transkript:

1

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

3 Algorithmen für Peer-to-Peer- Netzwerke 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel III CHORD Skalierbare P2P- Netzwerke

4 Algorithmen für Peer-to-Peer- Netzwerke 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Chernoff-Schranke Bernoulli-Experiment –Entweder 0 mit Wahrscheinlichkeit 1-p –Oder 1 mit Wahrscheindlichkeit p

5 Algorithmen für Peer-to-Peer- Netzwerke 4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Hohe Wahrscheinlichkeit Lemma Falls Aussage A(i) für jedes von n Objekten i mit Wahrscheinlichkeit 1-n -c gilt, dann gilt (A(1) und A(2) und... und A(n)) mit Wahrscheinlichkeit mindestens 1-n -(c-1) Beweis: Für alle i gilt: P[ A(i)] n -c Somit ist: P[ A(1) oder A(2) oder... A(n) ] n n -c P[ ( A(1) oder A(2) oder... A(n)) ] 1- n n -c Nach DeMorgan: P[A(1) und A(2) und... A(n) ] 1- n n -c

6 Algorithmen für Peer-to-Peer- Netzwerke 5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Chord als DHT n: Knotenanzahl, Knotenmenge V k: Anzahl Schlüssel, Schlüsselmenge K m: Hashwertlänge: m >> log max{K,N} Zwei Hash-Funktionen bilden auf {0,..,2 m -1} ab –r V (b): bildet Peer b zufällig auf {0,..,2 m -1} ab –r K (i): bildet Index i zufällig auf {0,..,2 m -1} ab Abbildung von i auf einen Peer b = f v (i) –f V (i) := arg min b V (r B (b)-r K (i)) mod 2 m Index r K (i) = 3i-2 mod 8 0 1 23 4 5 6 7 r V (b) = b+1 mod 8 2 3 5 2 0 6

7 Algorithmen für Peer-to-Peer- Netzwerke 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Eigenschaften der Datenstruktur Lemma 1.Der Abstand zweier benachbarter Peers auf dem Ring ist a)im Erwartungswert 2 m /n, b)O((2 m /n) log n) (mit hoher Wkeit) und c)mindestens 2 m /n c (mit hoher Wkeit) für eine Konstante c>1 2.In einem Intervall des Rings der Länge w 2 m /n sind (mit hoher Wkeit) a)O(log n + w log n) Peers, falls w=O(log n) b)O(w) Peers, falls w=(log n)

8 Algorithmen für Peer-to-Peer- Netzwerke 7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Balance in Chord –n: Anzahl der Knoten im P2P-Netzwerk –k: Anzahl der Schlüssel 1 Theorem Elemente werden auf die Peers wie folgt verteilt: –Falls k=O(n): In jedem Knoten werden höchstens O(log n + k/n log 2 n) Schlüssel gespeichert mit hoher Wkeit –Falls k= (n): In jedem Knoten werden höchstens O(k/n log n) Schlüssel gespeichert mit hoher Wkeit Beweis –Übung –Tipp:

9 Algorithmen für Peer-to-Peer- Netzwerke 8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die Datenstruktur von Chord Für jeden Knoten b: –successor: Nachfolger –predecessor: Vorgänger –Für i {0,..,m-1} Finger[i] := Der Knoten der dem Wert r V (b+2 i ) folgt Für kleine i werden die Finger- Einträge immer gleich –Nur unterschiedliche Fingereinträge werden gespeichert 0 1 23 4 5 6 7 5 2 0 successor predecessor finger[0] finger[1] finger[2]

10 Algorithmen für Peer-to-Peer- Netzwerke 9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Suchen in Chord Theorem Die Suche braucht mit hoher Wkeit O(log n) Sprünge Suchalgorithmus für Element s: –Abbruch(b,s): Knoten b,b=b.succ gefunden, mit r K (s) [r V (b),r V (b)| –Hauptroutine: Starte mit irgendeinem Knoten b while not Abbruch(b,s) do for i=m downto 0 do if r K (s) [r V (b.finger[i]),r V (finger[i+1])] then b b.finger[i] fi od b s b.finger[m] b.finger[m-1] c xy

11 Algorithmen für Peer-to-Peer- Netzwerke 10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer b s b.finger[m] b.finger[m-1] c xy Suchen in Chord Theorem Die Suche braucht mit hoher Wkeit O(log n) Sprünge Beweis: Mit jedem Sprung wird die Entfernung zum Ziel mindestens halbiert Zu Beginn ist der Abstand höchstens 2 m Der Mindestabstand zweier benachbarter Peers ist 2 m /n c mit hoher Wkeit Damit ist die Laufzeit beschränkt durch c log n

12 Algorithmen für Peer-to-Peer- Netzwerke 11 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Fingeranzahl Lemma 1.Der Ausgrad im CHORD-Netzwerk ist O(log n) mit hoher Wkeit 2.Der Eingrad im CHORD-Netzwerk ist O(log 2 n) mit hoher Wkeit Beweis 1.Der minimale Abstand zweier Peers ist 2 m /n c (mit hoher Wkeit) – Damit ist der Ausgrad beschränkt durch c log n (mit hoher Wkeit) 2.Der maximale Abstand zweier Peers ist O(log n 2 m /n) – Jeder Peer, der mit einem seiner Finger auf diese Linie zeigt, erhöht den Eingrad des nachstehenden Peers. – Die Gesamtlänge der Streckenabschnitte, wo solche Peers liegen ist O(log 2 n 2 m /n) – Damit ist w=O(log 2 n) b b.finger[m] a.finger[m-1] xy a

13 Algorithmen für Peer-to-Peer- Netzwerke 12 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Einfügen von Peers Theorem O(log 2 n) Nachrichten genügen mit hoher Wkeit, um Peers in CHORD aufzunehmen

14 Algorithmen für Peer-to-Peer- Netzwerke 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Einfügen von Peers oZuerst wird Zielgebiet in O(log n) Schritten gesucht oDie ausgehenden Zeiger werden vom Vorgänger und Nachfolger übernommen und angepasst –Die Zeiger müssen jeweils um bis zu O(log n) Schritte entlang des Rings angepasst werden oDer Eingrad des neuen ist mit hoher Wkeit O(log 2 n) –Zu suchen kostet jeweils O(log n) –Diese sind jeweils in Gruppen von maximal O(log n) benachbart. –Damit fallen nur O(log n) Suchen á Kosten O(log n) an –Die Aktualisierung hat jeweils konstante Kosten

15 Algorithmen für Peer-to-Peer- Netzwerke 14 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der erwartete Aufwand zum Aufnehmen und Entfernen Theorem Ein Peer kann in CHORD mit erwarteter Anzahl von O(log n) Nachrichten aufgenommen werden Beweisidee –Der Ausgrad für jeden Peer ist mit hoher Wahrscheinlichkeit O(log n) –Damit ist der erwartete Eingrad ebenfalls O(log n) –Die erwartete Anzahl von Sprüngen des Einfüge-Algorithmus ist dann ebenfalls O(1) Der Aufwand zum Entfernen von Peers ist ebenso hoch

16 Algorithmen für Peer-to-Peer- Netzwerke 15 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Balancierung durch virtuelle Peers Jeder Peer unterhält O(log n) virtuelle Peers auf dem Ring –Dadurch erhöht sich der Ausgrad auf O(log 2 n) Vorteile: –Der Eingrad ist weiterhin O(log 2 n) mit hoher Wkeit –Einfüge/Lösch-Operationen sind mit O(log 2 n) Nachrichten möblich mit hoher Wkeit –Für k = (n log n) Datenelement ist die Anzahl der Elemente, die jeder Peer zu speichern hat, mit hoher Wkeit O(k/n)

17 Algorithmen für Peer-to-Peer- Netzwerke 16 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Stabilisierung in CHORD Eintreffen und Entfernen von Knoten geschieht parallel Wenn Knoten sich entfernen, kommt es zu keinen Benachrichtigungen der Nachbarn –Knoten müssen ihre Nachbarn regelmäßig auf Abwesenheit testen –Entfernen sich zwei Knoten gleichzeitig, kann ein Ring in zwei parallel zerfallen mit Inkonsistenzen Gleichzeitiges Einfügen von Knoten kann zu Artefakten führen –Das sind Inkonsistenzen in der Datenstruktur Lösung durch speziellen Stabilisierungsoperation –(wird hier nicht vorgestellt)

18 Algorithmen für Peer-to-Peer- Netzwerke 17 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel III Koorde von Kaashoek und Karger Skalierbare P2P-Netzwerke

19 Algorithmen für Peer-to-Peer- Netzwerke 18 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Erreichbarer Durchmesser bei Grad logn CHORD: –Grad O(log n) –Durchmesser O(log n) Kann mit Grad g=O(log n) ein kleinerer Durchmesser d erreicht werden? –In Abstand 1 sind g Knoten –In Abstand 2 sind höchstens g 2 Knoten –... –In Abstand d sind höchstens g d Knoten D.h. Daraus folgt: Also höchstens geringe Verbesserung des Durchmessers möglich

20 Algorithmen für Peer-to-Peer- Netzwerke 19 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Gibt es P2P-Netzwerke mit Grad 2 und Durchmesser log n CHORD: –Grad O(log n) –Durchmesser O(log n) Kann mit Grad g=2 der Durchmesser O(log n) erreicht werden? Ja! –z.B. Binärbaum, Butterfly, DeBrujin-Graph,... Was sind eigentlich DeBrujin-Graphen?

21 Algorithmen für Peer-to-Peer- Netzwerke 20 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Shuffle, Exchange, Shuffle-Exchange Betrachte Binärstring S der Länge m –Shuffle-Operation: shuffle(s 1, s 2, s 3,..., s m ) = (s 2,s 3,..., s m,s 1 ) –Exchange: exchange(s 1, s 2, s 3,..., s m ) = (s 1, s 2, s 3,..., ¬s m ) –Shuffle-Exchange: SE(S) = exchange(shuffle(S)) = (s 2,s 3,..., s m, ¬ s 1 ) Beobachtung: Jeder String A lässt sich in einem beliebigen String B durch m-faches Anwenden von Shuffle und Shuffle- Exchange-Operationen umwandeln Shuffle Exchange Shuffle-Exchange

22 Algorithmen für Peer-to-Peer- Netzwerke 21 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Abrakadabra Beobachtung: Jeder String A lässt sich in einem beliebigen String B durch m-faches Anwenden von Shuffle und Shuffle- Exchange-Operationen umwandeln Beispiel: Aus0 1 1 1 0 1 1 mach 1 0 0 1 1 1 1 durchSE SE SE S SE S S Operationen SE S S S

23 Algorithmen für Peer-to-Peer- Netzwerke 22 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der DeBrujin-Graph Ein DeBrujin-Graph besteht aus n=2 m Knoten, –dargestellt als m-stellige Binärzahlen Jeder Knoten hat zwei ausgehende Kanten –1. Kante zeigt von u auf shuffle(u) –2. Kante zeigt von u auf SE(u) Lemma –Der DeBrujin-Graph hat Grad 2 und Durchmesser log n Koorde = Ring + DeBrujin-Graph

24 Algorithmen für Peer-to-Peer- Netzwerke 23 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Koorde = Ring + DeBrujin-Graph Betrachte Ring aus 2 m Knoten und DeBrujin-Kanten

25 Algorithmen für Peer-to-Peer- Netzwerke 24 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Koorde = Ring + DeBrujin-Graph Betrachte Ring aus 2 m Knoten und DeBrujin-Kanten Beachte: –shuffle(s 1, s 2,..., s m ) = (s 2,..., s m,s 1 ) d.h.: –shuffle (x) = (x mod 2) + (2x mod 2 m ) –SE(S) = (s 2,s 3,..., s m, ¬ s 1 ) d.h. –SE(x) = (1-x mod 2) + (2x mod 2 m ) Daraus folgt: –Die Nachfolger von x sind 2x mod 2 m und 2x+1 mod 2 m und

26 Algorithmen für Peer-to-Peer- Netzwerke 25 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Virtuelle DeBrujin-Knoten Um Kollisionen zu vermeiden muss für n Peers m wie folgt gewählt werden m > (1+c) log (n) Dann ist die Wahrscheinlichkeit, dass zwei Peers den gleichen Knoten erhalten höchstens n -c Dann gibt es aber wesentlich mehr Peers als DeBrujin-Knoten Lösung: –Jeder Peer verwaltet alle DeBrujin- Knoten bis zu seinem Nachfolger auf dem Ring –Nur bezüglich eingehender Kanten –Ausgehende Kanten werden nur vom Peer betrachtet

27 Algorithmen für Peer-to-Peer- Netzwerke 26 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Eigenschaften von Koorde Theorem –Jeder Knoten hat vier Zeiger –Auf jedem Knoten zeigen mit hoher Wkeit höchstens O(log n) Zeiger –Der Durchmesser ist mit hoher Wkeit O(log n) –Suche kann mit hoher Wkeit mit O(log n) Nachrichten durchgeführt werden. Aber: –Keine Stabilisierungstrategie bekannt –Zusammenhang des Koorde-Graphen ist sehr klein

28 Algorithmen für Peer-to-Peer- Netzwerke 27 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Eigenschaften von Koorde Theorem 1.Jeder Knoten hat vier Zeiger 2.Auf jedem Knoten zeigen mit hoher Wkeit höchstens O(log n) Zeiger Beweis: 1.folgt aus Definition DeBrujin-Graph und daher, dass Koorde keine Zeiger der virtuellen Knoten im Peer berücksichtigt 2. – Der Abstand zum nächsten Peer ist höchstens c (log n)/2 m mit hoher Wkeit – Die Strecke von der Peers auf diese virtuellen Knoten zeigen können ist daher höchstens c (log n)/2 m lang – Darin befinden sich mit hoher Wahrscheinlichkeit höchstens O(log n) Peers

29 Algorithmen für Peer-to-Peer- Netzwerke 28 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Eigenschaften von Koorde Theorem –Der Durchmesser ist mit hoher Wkeit O(log n) Beweisidee: –Starte mit Pfad der Länge m mit Hilfe der virtuellen DeBrujin-Knoten –Suche verantwortliche Peers und deren Nachbarn und bette Pfad entsprechend ein –Wodurch kann ein Pfad auf k + 3log n Sprünge verlängert werden? Wenn zwischen virtuellen Knoten und Peer insgesamt mindestens k Peers liegen Die erwartete Anzahl ist aber pro Sprung konstant. Setze k = c log n und wende Chernoff-Schranke an. Beweisidee: zu Suche benötigt O(log n) Sprünge –analog

30 Algorithmen für Peer-to-Peer- Netzwerke 29 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der Grad-k-DeBrujin-Graph Betrachte nun Alphabet über k Buchstaben, z.B. k = 3 Jeder k-DeBrujin-Knoten x habe Nachfolger –(kx mod k m ), (kx +1 mod k m ), (kx+2 mod k m ),..., (kx+k-1 mod k m ) Durchmesser verkürzt sich auf (log m)/(log k) Graphzusammenhang erhöht sich auf k

31 Algorithmen für Peer-to-Peer- Netzwerke 30 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer k-Koorde Natürliche Verallgemeinerung von Koorde Verbesserung der Suche auf O((log n)/(log k)) Aber Stabilisierungsalgorithmus nicht bekannt

32 31 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 6. Vorlesung Nächste Vorlesung: Fr. 05.06.2004 9-11 Uhr Nächste Übung: 6. Übung Mo. 08.06.200410,12,16 Uhr (A,B,C)


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

Ähnliche Präsentationen


Google-Anzeigen