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

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

2 Algorithmen für Peer-to-Peer- Netzwerke 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer ORGANISATION Abschlussveranstaltung: Terminvorschläge: Freitag 30.07. 10-15 Uhr Freitag30.07. 19-23 Uhr Dienstag03.08. 20-24 Uhr Mögliche Veranstaltungsform: 1.Barbecue/Grillen6. Fahrt mit Almetalbahn 01.08. 2.Fußball7. Freibadbesuch 3.Basketball8. Paintball 4.Kegeln/Bowlen9. Kartbahn 5.Wandern10. Wasserski 11. Radtour12. Bungee-Springen 13. Kino14....

3 Algorithmen für Peer-to-Peer- Netzwerke 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer ORGANISATION Mündliche Prüfung: Termine:13.-17.09.2004 (10-17 Uhr) 04.-08.10.2004 (10-17 Uhr) Angebot : Öffentliche mündliche Prüfung am 30.07.2004 09:00 Uhr mit einem freiwilligen Teilnehmer (als Abschluss der Vorlesung)

4 Algorithmen für Peer-to-Peer- Netzwerke 4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel III Epidemische Informationsausbreitung und Datenaggregation Algorithmen für Peer-to- Peer-Netzwerke Algorithmen für Peer-to- Peer-Netzwerke

5 Algorithmen für Peer-to-Peer- Netzwerke 5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Epidemische Algorithmen Synonym: –Gerücht, Virus, Nachricht, Epidemie Epicast –Neue Information wird zum Gerücht –Solange das Gerücht neu ist, wird es weiterverbreitet –Ist das Gerücht alt, soll es schon allen bekannt sein Epidemischer Algorithmus [Demers et al 87] –verbreitet Information wie einen Virus –robuste Alternative zu Broadcast Kommunikationsform: –Random-Call-Modell Für die Analyse betrachten wir nur ein Gerücht –Gelten die Eigenschaften mit hoher Wahrscheinlichkeit, dann gilt es auch für polynomiell viele Gerüchte

6 Algorithmen für Peer-to-Peer- Netzwerke 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Anruf-Model (Random Call) Kommunikation wird synchronisiert modelliert in Runden In jeder Runde kontaktiert jeder Teilnehmer einen uniform zufällig gewählten Teilnehmer Man unterscheidet dei Kommunikationsmodelle –Push: Der Anrufer gibt die Information dem Angerufenen –Pull: Der Angerufene gibt die Information dem Anrufer –Push&Pull: Kombination von Push und Pull Push Pull Push&Pull

7 Algorithmen für Peer-to-Peer- Netzwerke 7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Epidemische Algorithmen in Peer-to-Peer- Netzwerken Epidemische Algorithmen sind älter als Peer-to-Peer-Netzwerke –1987 versus 1999 Epidemische Algorithmen brauchen zufällige Adressierung –Viele Peer-to-Peer-Netzwerke unterstützen dies –Gnutella Random Walk erreicht zufällige Adressierung –CAN: Verwende Sprung zwischen den Realitäten Dadurch zufälliger Sprung in O(1) Hops –CHORD, Koorde, Viceroy Zufälliger Sprung in log n Hops –Pastry, Tapestry Zufälliger Sprung in log n Hops

8 Algorithmen für Peer-to-Peer- Netzwerke 8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Notation Betrachte eine Nachricht n: Anzahl Teilnehmer I(t): Menge der informierten/infizierten Knoten S(t) = n-I(t)Menge der noch nicht Informierten i(t) = |I(t)|/nRelativer Anteil der Informierten s(t) =1-i(t)Relativer Anteil der Nicht-Informierten

9 Algorithmen für Peer-to-Peer- Netzwerke 9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Struktur des Anruf-Modells Betrachte feste Runde Ausgrad: immer 1 Eingrad –0 mit Wahrscheinlichkeit –1 mit Wahrscheinlichkeit –k mit Wahrscheinlichkeit Für große n und kleineres k Poisson-Verteilung mit Erwartungswert 1

10 Algorithmen für Peer-to-Peer- Netzwerke 10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Push-Modell: Anfangsphase s(t) = o(1) 3 Möglichkeiten in Runde t: –Ein infomierter Anrufer ruft einen bereits informierten Knoten an, Wkeit i(t) –Ein informierter Anrufer ruft den selben Knoten wie ein anderer Knoten an: Wkeit i(t) Wkeit, dass ein Knoten ohne Erfolg anruft: 2i(t) Wkeit für Infektion eines neuen Knoten, falls i(t) s(t)/2: 1 – 2i(t) E[i(t+1)] i(t) + i(t) (1-2 i(t)) = 2 i(t) – 2i(t) 2 2 i(t)

11 Algorithmen für Peer-to-Peer- Netzwerke 11 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Push-Modell: Startphase & Exponentielles Wachstum Wkeit für Infektion eines neuen Knoten, falls i(t) s(t)/2: 1 – 2i(t) E[i(t+1)] 2 i(t) – 2i(t) 2 2 i(t) 1.Startphase: I(t) 2 c (ln n) 2 oVarianz von i(t+1) relativ groß odaher Verdopplung von i(t) erst nach O(1) Runden mit hoher Wkeit 2.Exponentielles Wachstum: I(t) [2 c (ln n) 2, n/(log n)] o(fast) Verdopplung mit hoher Wkeit, d.h. 1-O(n -c ) oBeweis durch Chernoff-Schranke: oFür unabhängige Zufallsvariablen X i {0,1} und mit

12 Algorithmen für Peer-to-Peer- Netzwerke 12 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Push-Modell: Startphase & Exponentielles Wachstum Beweis durch Chernoff-Schranke: Für unabhängige Zufallsvariablen X i {0,1} und mit Sei = 1/(ln n) und E[X m ] 2 c (ln n) 3 Dann gilt 2 E[X m ] /2 c ln n Damit ist

13 Algorithmen für Peer-to-Peer- Netzwerke 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Push-Modell: Startphase & Exponentielles Wachstum Wkeit für Infektion eines neuen Knoten, falls i(t) s(t)/2: 1 – 2i(t) E[i(t+1)] 2 i(t) – 2i(t) 2 2 i(t) 3.Zwischenphase I(t) [ n/(log n), n/3] oTerm 2i(t) 2 2i(t)/(log n) kann nicht mehr vernachlässigt werden oTrotzdem mit 2i(t) – 2i(t) 2 4/3 i(t) noch exponentielles Wachstum, aber Basis < 2 4.Sättigung: I(t) n/3 oWkeit, dass ein Gesunder von I(t) = c n Infizierten nicht kontaktiert wird: Damit konstante Wkeit für Infektion: 1 – e –1/3 und 1 – e –1 oDaher E[s(t+1)] e –i(t) s(t) e –1/3 s(t) Gilt mittels Chernoff-Schranke auch mit hoher Wkeit Exponentielles Schrumpfen der Gesunden Basis konvergiert gegen 1/e

14 Algorithmen für Peer-to-Peer- Netzwerke 14 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Gerüchteausbreitung: Push Startphase: i(t)<1/2 Sättigung: s(t) < 1/2 Sicherung Zeit i(t) s(t) 1 0 log 2 n ln n c ln n

15 Algorithmen für Peer-to-Peer- Netzwerke 15 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Anruf-Model (Random Call) Infektionsmodelle: –Push-Modell: Der Anrufer infiziert den Angerufenen –Pull-Modell: Der Angerufene infiziert den Anrufer –Push&Pull-Modell: Beides

16 Algorithmen für Peer-to-Peer- Netzwerke 16 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Pull-Modell Gegeben: Rel. Anteil s(t) gesunder Knoten und i(t) Infizierter –Wkeit, dass gesunder Knoten einen Infizierten kontaktiert: i(t) E[s(t+1)] = s(t) – s(t) i(t) = s(t) (1 – i(t)) = s(t) 2 E[i(t+1)] = 1-s(t) 2 = 1 – (1 – i(t)) 2 = 2 i(t) – i(t) 2 2 i(t) –Approximation funktioniert nur, falls i(t) klein Problem: –falls i(t) (log n) 2 exponentielles Wachstum nicht sicher –Bis exponentielles Wachstum sicher startet, dauert es O(log n) Schritte Aber dann: –Falls s(t) 1/2: Anteil Gesunder wird in jedem Schritt quadriert, d.h. E[s(t+ O(log log n))] = 0, –Falls i(t) 1/2, dann sind nach O(log log n) Schritten sind alle infiziert

17 Algorithmen für Peer-to-Peer- Netzwerke 17 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Gerüchteausbreitung: Pull Startphase i(t) < 1/2 Sättigung s(t) < 1/2 Sicherung Zeit i(t) s(t) 1 0 O(ln n) + log 2 n log log n O(log log n)

18 Algorithmen für Peer-to-Peer- Netzwerke 18 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Push&Pull-Modell oKombiniert Wachstumsverhalten von Push und Pull 1.Startphase: i(t) 2 c (ln n) 2 Push: Verdopplung von i(t) nach O(1) Runden mit hoher Wkeit 2.Exponentielles Wachstum: I(t) [2 c (ln n) 2, n/(log n)] Push und Pull: (fast) Verdreifachung mit hoher Wkeit in jeder Runde, d.h. i(t+1) 3 (1-1/(log n)) i(t) 3.Zwischenphase I(t) [n/(log n), n/3] Push und Pull: Verlangsamtes exponentielles Wachstum 4.Quadratisches Schrumpfen I(t) n/3 durch Pull: E[s(t+1)] s(t) 2 Mit Chernoff-Schranke gilt mit hoher Wkeit s(t+1) 2 s(t) 2 und damit nach zwei Runden für s(t) 1/2 1/2 s(t+2) s(t) 2

19 Algorithmen für Peer-to-Peer- Netzwerke 19 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Gerüchteausbreitung: Push & Pull Startphase i(t)<1/2Sättigung s(t) < 1/2 Sicherung Zeit i(t) s(t) 1 0 log 3 n log log n c log log n

20 Algorithmen für Peer-to-Peer- Netzwerke 20 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Shenkers Min-Counter-Algorithmus Einfache Terminierungsstrategie: –Falls Gerücht älter als max ctr, dann stoppe Weitergabe Vorteil: –Einfaches Verfahren Nachteile: –Wahl von max ctr entscheidend Falls max ctr zu niedrig, werden nicht alle Knoten informiert Falls max ctr zu hoch, entsteht Nachrichtenoverhead (n max ctr ) –Optimale Wahl bei Push-Kommunikation: max ctr = O(log n) Nachrichtenmenge: O(n log n) Pull-Kommunikation: max ctr = O(log n) Nachrichtenmenge: O(n log n) Push&Pull-Kommunikation: max ctr = log 3 n + O(log log n) Nachrichtenmenge: O(n log log n)

21 Algorithmen für Peer-to-Peer- Netzwerke 21 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Terminierung von Gerüchten Min-Counter-Algorithmus Jeder für sich schätzt ein Gerücht für –neu, alt, sehr alt, sehr sehr alt, sehr sehr sehr alt,..., –sehr maxctr alt = uralt ein. Am Anfang ist jedes Gerücht neu. Gerüchte werden nicht jünger. Erfährt jemand ein Gerücht –zum ersten Mal übernimmt er das Alter. –zum zweiten Mal oder mehr als zweimal gleichzeitig, setzt er das Alter um eins höher. Solange ein Gerücht nicht uralt ist, erzählt man es weiter. Falls ein Gerücht uralt ist, wird es noch maxctr Runden lang in jeder Runde erzählt und dann vergessen.

22 Algorithmen für Peer-to-Peer- Netzwerke 22 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der Min-Counter-Algorithmus Benutzt Kommunikation –Wird das Gerücht von allen Kontaktpartnern als älter erachtet, wird der Alter-Zähler erhöht Shenkers Min-Counter-Algorithmus für max ctr = O( log log n) –Jeder Spieler P führt Variable für Gerücht Variable –A: Spieler P kennt Gerücht P nicht: ctr r (P) initialisiert mit 0 –B: Falls Teilnehmer P hört Gerücht R zum ersten Mal: ctr R (P) 1 –B: Falls Teilnehmer Q 1, Q 2, …, Q m Kommunikationspartner von P in dieser Runde Falls min i (ctr R (Q i ) ctr R (P) dann ctr R (P) ctr R (P) + 1 –C: Falls ctr R (P) max ctr erzählte Gerücht für weitere max ctr Runden danach D: stoppe Weiterübertragung des Gerüchts Theorem Der Min-Counter-Algorithmus informiert für Push&Pull-Kommunikation alle Teilnehmer in log 3 n + O(log log n) Runden mit Wkeit 1 n c, wobei maximal O(n log log n) Gerüchte übertragen werden.

23 Algorithmen für Peer-to-Peer- Netzwerke 23 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der Min-Counter-Algorithmus Theorem Shenkers Min-Counter-Algorithmus informiert für Push&Pull- Kommunikation alle Teilnehmer mit Wkeit 1 n c, wobei maximal O(n log log n) Nachrichten übertragen werden.

24 Algorithmen für Peer-to-Peer- Netzwerke 24 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Push, Pull und Push&Pull Verwendet man... Operationen PushPullPush&Pull dann muss man maxctr auf... setzen O(log n)O(log log n) und informiert in... Runden (Zeit) O(log n) log 3 n + O(log log n) alle Knoten mit... Nachrichten mit Wahrscheinlich-keit 1n c O(n log n)O(n log log n)

25 Algorithmen für Peer-to-Peer- Netzwerke 25 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Wie gut sind O(n log log n) Nachrichten? Theorem Solange die Namen der Peers nicht verwendet werden, benötigt man im Random-Call-Modell 1.mindestens (log n) Runden und 2.mindestens (n log log n) Nachrichten oSind die Namen verfügbar, kann man in O(n) Nachrichten die Information verteilen oLösung: oVerwende Verbindungen nur, wenn ein Baum addressiert wird

26 Algorithmen für Peer-to-Peer- Netzwerke 26 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Anwendung von epidemischer Informationsausbreitung Datenaggregation Alberto Montresor Márk Jelasity Ozalp Babaoglu Universität Bologna 2003

27 Algorithmen für Peer-to-Peer- Netzwerke 27 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Zählen als Beispiel Wie kann man die Anzahl der Teilnehmer bestimmen? 1. Ansatz –Setze Zähler auf 1 und gib diese Information den Nachbarn weiter –Dieser erhöht den Zähler um 1 und gibt sie wieder weiter Problem: –Funktioniert nur mit Ring, benötigt Zeit n-1 2. Ansatz –Epidemische Verbreitung einer Liste, in die sich jeder Teilnehmer einträgt –Laufzeit O(log n) –Nachricht O(n log log n) mit Push/Pull –Nachteil: Nachrichtenlänge O(n) –Eigenliche Nachrichtenmenge: n 2 log log n

28 Algorithmen für Peer-to-Peer- Netzwerke 28 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 3. Ansatz für Zählen In Chord-Datenstruktur –Betrachte Abstand zu den nächsten O(log n) Nachbarn auf den Ring –Abweichung um Faktor 1-c mit Faktor n -c –Distanz1/n kann mit O(log n) Samples hinreichend genau bestimmt werden Funktioniert nur für solche P2P-Netzwerke Kann man auch exakt zählen mit Hilfe von Push & Pull ?

29 Algorithmen für Peer-to-Peer- Netzwerke 29 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Datenaggregation: Zählen [Jelaisty, Montresor `03] Betrachte folgenden Prozess Initalisierung: –Ein Teilnehmer startet den Zählvorgang und setzt seine Variable s 1 =1 Verbreitung: –Jeder Teilnehmer i, der von einem zählenden Peer j zum ersten Mal kontaktiert wird, setzt s i = 0 Ausgleich: –Kontaktiert Peer i den Peer j setzen beide: s i = (s i +s j )/2 s j = (s i +s j )/2

30 Algorithmen für Peer-to-Peer- Netzwerke 30 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der Average-Algorithmus Eingabe: s 1,...,s n –lokal an den Peers vorhanden Ausgabe: –wird an allen Peers approximiert Kommunikationsmodell –wird durch getPair() festgelegt –In der Regeln kommen alle Peers gleichwahrscheinlich vor –In jeder Runde wird ein Peer ausgewählt Algorithmus (eine Runde): –loop n do (i,j) = getPair() s i = (s i +s j )/2 s j = (s i +s j )/2 –od Theorem: Nach O(log n) Runden gilt für alle Peers i mit hoher Wahrscheinlichkeit. wenn getPair dem Push oder Pull- Kommunikationsmodell folgt

31 Algorithmen für Peer-to-Peer- Netzwerke 31 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beweisidee: Datenaggregation Zählen Betrachte empirisches Mittel und empirische Varianz Betrachte den Konvergenzfaktor definiert als Dann kann gezeigt werden For t = (log n) gilt dann Daraus folgt und

32 Algorithmen für Peer-to-Peer- Netzwerke 32 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Simulation Ein Knoten wurde mit 100.000 initialisiert Alle anderen Knoten mit 0 Kommunikationsnetzwerk mit 20 Nachbarn einmalig uniform gewählt

33 Algorithmen für Peer-to-Peer- Netzwerke 33 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Netzwerkabschätzung von dynamischen Netzwerken Zählprozess wird immer wieder neu gestartet Schnelle Approximation wird durch Simulationsergebnisse nahegelegt

34 Algorithmen für Peer-to-Peer- Netzwerke 34 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Peer-Ausfälle Im schlimmsten Fall, fallen die Peers zu Beginn aus. Angenommen p f n Knoten fallen gleichverteilt durch einen Zufallsprozess aus Sei f das Mittel von s i Theorem Mit zunehmender Teilnehmerzahl, nimmt der Einfluss der ausfallenden Peers ab (bei gleicher Ausfallwahrscheinlichkeit).

35 Algorithmen für Peer-to-Peer- Netzwerke 35 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Weitere Aggregations-Funktionen Min –f(x,y) = min (x,y) –Berechnet Minimum Max –f(x,y) = max(x,y) –Berechnet größtes Element Analyse analog zu Rumor Spreading –Minimum ist das Gerücht –Kombination mit Terminierungsmechanismum Summe –Verwende Average mit Initialisierung der Summanden, Ergebnis sei s –Verwende Average zum Zählen von n –Ausgabe: n s Geometrisches Mittel –Verwende in Average: Produkt: –Kombination aus Geometrisches Mittel g und Anzahl der Peers g n

36 Algorithmen für Peer-to-Peer- Netzwerke 36 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Datenaggregation Funktioniert auf jeder zusammenhängenden Netzwerktopologie –und nicht nur im Random-Call-Modell –dort aber mit logarithmischer Konvergenzzeit Konvergenz ist stark abhängig von der Netzwerkstruktur –für statische Netzwerk Analyse mit Markov-Prozessen möglich (für Average) Polynomielle Laufzeit auf –Ring –Gitter Logarithmische Konvergenz im –Baum –Hyperwürfel –De-Brujin-Netzwerke –Butterfly-Netzwerke –CAN mit mehreren Realitäten Offene Fragen: –Welche Funktionen sind für Datenaggregation geeignet –Läßt sich der Unterschied von Push- und Pull nachweisen?

37 37 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Vielen Dank Ende der 11. Vorlesung Nächste Vorlesung: Fr. 09.07.2004 9-11 Uhr Nächste Übung: Mo. 05.07.200410/11/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 02.07.2004 11. Vorlesung."

Ähnliche Präsentationen


Google-Anzeigen