290 likes | 416 Views
Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 21.05.2004 5. Vorlesung. Christian Schindelhauer. Kapitel III. Skalierbare P2P-Netzwerke. CHORD. Brückentagvorlesungsplan. IF studenten kommen THEN Chernoffschranke mit Beweis Bälle in Körbe (ist dann ganz einfach)
E N D
Algorithmen für Peer-to-Peer-NetzwerkeSommersemester 200421.05.20045. Vorlesung Christian Schindelhauer
Kapitel III Skalierbare P2P-Netzwerke CHORD
Brückentagvorlesungsplan • IF studenten kommen THEN • Chernoffschranke • mit Beweis • Bälle in Körbe • (ist dann ganz einfach) • CHORD-Wiederholung • Eigenschaften von CHORD • mit Hilfe von Bällen und Körben • END IF
Markov und Chebyshev • Stärkere Abschätzung: Chebyshev wenn die Varianz bekannt ist:
Chernoff-Schranke • Bernoulli-Experiment • Entweder 0 mit Wahrscheinlichkeit 1-p • Oder 1 mit Wahrscheindlichkeit p
Beweis der 1. Chernoff-Schranke: Der Trick • Zu zeigen: • Für t>0: • Markov liefert: • Zu tun: geeignete Wahl für t und einsetzen... ? ?
Beweis der 1. Chernoff-SchrankeEin Erwartungswert • Zu zeigen: • wobei: • Jetzt zu zeigen: Unabhängigkeit der Zufallsvariablen xi
Beweis der 1. Chernoff-SchrankeEtwas Algebra Zu zeigen: wobei: Jetzt zu zeigen:
Beweis der 1. Chernoff-Schranke1.Fall c<c2 Zu zeigen für c>1: Nun ist für c=1: 2 ln(2) > 4/3 Ableitung: • linke Seite: ln(1+c) • rechte Seite: 4/3 • Für c>1 ist Steigung der linken Seite größer als die rechten Seite, da • ln(1+c)>ln (2) > 4/3 • Also gilt Ungleichung für c>0.
Beweis der 1. Chernoff-Schranke2. Fall c2<c Zu zeigen für c< 1: Nun ist für x>0: Daraus folgt Nun erhält man für (1+x) ln(1+x) durch Multiplikation: Nun setzt man für ein (1+c) ln(1+c) und erhält for c(0,1):
2. Chernoff-Schranke • Bernoulli-Experiment • Entweder 0 mit Wahrscheinlichkeit 1-p • Oder 1 mit Wahrscheindlichkeit p
Beweis der 2. Chernoff-Schranke: Der Trick • Zu zeigen: • Für t<0: • Markov liefert: • Zu tun: geeignete Wahl für t und einsetzen... ? ?
Beweis der 2. Chernoff-SchrankeDer selbe Erwartungswert • Zu zeigen: • wobei: • Jetzt zu zeigen: Unabhängigkeit der Zufallsvariablen xi
Beweis der 2. Chernoff-SchrankeEtwas Algebra Zu zeigen: wobei: Jetzt zu zeigen:
Beweis der Chernoff-Schranke 2. TeilWas ist (1-c) ln (1-c) - Nachtrag Warum ist ? Für c=0 sind beide Seiten gleich. Die Ableitung der linken Seite ist ln(1-c); die der rechten ist -c Nun ist Daraus folgt und insbesondere die gewünschte Ungleichung.
Bälle und Körbe Proved by Chernoff Lemma Werden m= k n ln n Bälle zufällig in n Körbe geworfen (für jedes k>0), gilt Folgendes: • Für alle c>k ist die Wahrscheinlichkeit, dass mehr als clog n Bälle auf einen Korb fallen ist höchstens O(n-c‘) für ein c‘>0. • Für alle c<k ist die Wahrscheinlichkeit, dass in einem Korb weniger als c log n Bälle fallen, ist höchstens O(n-c‘) für ein c‘>0. Beweis: • Betrachte einen Korb mit Bernoulli-Experiment: B(k n ln n,1/n) mit Erwartungswert: µ = m/n = k ln n • Fall: c>2k • Fall: k<c<2k • Fall: c<k
Bälle und Körbe Proved by Chernoff Lemma Werden m Bälle zufällig in n Körbe geworfen. Dann gilt: • Die Wahrscheinlichkeit, dass ein (bestimmter) Korb leer bleibt, ist kleiner als e-n/m. • Die Wahrscheinlichkeit, dass mehr als k (ln n) + k m/n (ln n) Bälle auf einen bestimmten Korb fallen, ist höchstens O(n-c) für konstante k und c. Beweis: • Wahrscheinlichkeit: (1-1/n)m < e-n/m • Bernoulli-Ereignis: 1 Ball in einem Korb • X: Summe aller m Ballwürfe in einem Korb • Wahrscheinlichkeit: p=1/n • Erwartungswert µ = 1 • Fall m≥n, c>1: • Fall m<n, c>1:
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
Chord als DHT rV(b) = b+1 mod 8 • 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,..,2m-1} ab • rV(b): bildet Peer b zufällig auf {0,..,2m-1} ab • rK(i): bildet Index i zufällig auf {0,..,2m-1} ab • Abbildung von i auf einen Peer b = fv(i) • fV(i) := arg minbV(rB(b)-rK(i)) mod 2m 5 6 5 7 3 rK(i) = 3i-2 mod 8 0 6 2 Index 4 1 3 2 0 2
Eigenschaften der Datenstruktur Lemma • Der Abstand zweier benachbarter Peers auf dem Ring ist • im Erwartungswert 2m/n, • < O((2m/n) log n) (mit hoher W‘keit) und • > 2m/nc(mit hoher W‘keit) für eine Konstante c>1 • In einem Intervall des Rings der Länge w 2m/n sind (mit hoher W‘keit) • O(log n + w log n) Peers, falls w=O(log n) • O(w) Peers, falls w=Ω(log n)
Eigenschaften der Datenstruktur Lemma • Der Abstand zweier benachbarter Peers auf dem Ring ist • im Erwartungswert 2m/n, • < O((2m/n) log n) (mit hoher W‘keit) und • > 2m/nc(mit hoher W‘keit) für eine Konstante c>1 Beweis 1a) Die Summe aller Abstände ist 2m 1b) Betrachte Intervall auf dem Ring der Länge c ((2m/n) log n) • W‘keit, dass ein Peer dieses Intervall trifft: c (log n)/n • W‘keit, dass n Peers dieses Intervall nicht treffen: • Damit bleibt so ein Intervall nicht leer und der Abstand zweier Peers ist mit hoher W‘keit ≤ 2c (2m/n) log n) 1c) Die W‘keit, dass ein Peer ein Intervall der Größe 2m/nc trifft, ist n-c • Also treffen Peers mit hoher W‘keit nicht in die Nähe eines anderen Peers
Eigenschaften der Datenstruktur (Beweis 2) Proved by Chernoff Lemma 2. In einem Intervall des Rings der Länge w 2m/n sind (mit hoher W‘keit) • O(log n + w log n) Peers, falls w=O(log n) • O(w) Peers, falls w=Ω(log n) Beweis Betrachte Intervall der Länge w 2m/n • Die W’keit, dass ein Peer hineinfällt ist p= w n • Erwartete Anzahl von Peers: p n = w 2a) 1.Fall: p n ≥ 1, c>1 2.Fall: p n < 1, c>1 2b) p n > k ln n, c > 1
Balance in Chord Proved by Chernoff • 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 log n):In jedem Knoten werden höchstens O(log n + k/n log2 n) Schlüssel gespeichert mit hoher W’keit • Falls k=(n log n):In jedem Knoten werden höchstens O(k/n log n) Schlüssel gespeichert mit hoher W’keit • Beweis • Übung • Tipp:
Die Datenstruktur von Chord successor 5 predecessor 6 finger[0] 5 7 finger[1] 0 finger[2] 4 1 3 2 0 2 • Für jeden Knoten b: • successor: Nachfolger • predecessor: Vorgänger • Für i {0,..,m-1} • Finger[i] := Der Knoten derdem Wert rV(b+2i) folgt • Für kleine i werden die Finger-Einträge immer gleich • Nur unterschiedliche Fingereinträge werden gespeichert
Fingeranzahl Lemma • Der Ausgrad im CHORD-Netzwerk ist O(log n) mit hoher W‘keit • Der Eingrad im CHORD-Netzwerk ist O(log2 n) mit hoher W‘keit Beweis • Der minimale Abstand zweier Peers ist 2m/nc (mit hoher W‘keit) • Damit ist der Ausgrad beschränkt durch c log n (mit hoher W‘keit) • Der maximale Abstand zweier Peers ist O(log n 2m/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(log2n 2m/n) • Damit ist w=O(log2n) b.finger[m] a.finger[m-1] a b x y
Suchen in Chord Theorem Die Suche braucht mit hoher W’keit O(log n) Sprünge Suchalgorithmus für Element s: • Abbruch(b,s): • Knoten b,b’=b.succ gefunden, mit rK(s) [rV(b),rV(b‘)| • Hauptroutine: Starte mit irgendeinem Knoten b while not Abbruch(b,s) do for i=m downto 0 do if rK(s) [rV(b.finger[i]),rV(finger[i+1])] then b ← b.finger[i] fi od b.finger[m] b.finger[m-1] b c s x y
Suchen in Chord Theorem Die Suche braucht mit hoher W’keit O(log n) Sprünge Beweis: • Mit jedem Sprung wird die Entfernung zum Ziel mindestens halbiert • Zu Beginn ist der Abstand höchstens 2m • Der Mindestabstand zweier benachbarter Peers ist 2m/nc mit hoher W’keit • Damit ist die Laufzeit beschränkt durch c log n b.finger[m] b.finger[m-1] b c s x y
Einfügen von Peers Theorem O(log2 n) Nachrichten genügen mit pol. W’keit, um Peers in CHORD aufzunehmen Beweisidee • Zuerst wird Zielgebiet in O(log n) Schritten gesucht • Die 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 • Der Eingrad des neuen ist mit hoher W’keit O(log2 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
Vielen DankEnde der 5. VorlesungNächste Vorlesung: Fr. 28.05.2004 9-11 UhrNächste Übung: 6. Übung Mo. 31.05.2004 10,12,16 Uhr (A,B,C) 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