Randomisierte Algorithmen für Verteilungsprobleme

Slides:



Advertisements
Ähnliche Präsentationen
Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Advertisements

Christian Scheideler SS 2009
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
Vorlesung Programmieren II
Der k-d-Baum Richard Göbel.
Christian Schindelhauer
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (15 Hashverfahren: Verkettung der Überläufer) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Materialien zu Übung 9 Bälle in Körbe Ranged.
Christian Scheideler Institut für Informatik Universität Paderborn
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler WS 2009
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Verteilte Algorithmen und Datenstrukturen Kapitel 4: Caching Christian Scheideler Institut für Informatik Universität Paderborn.
Christian Scheideler Institut für Informatik Universität Paderborn
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
 Präsentation transkript:

Randomisierte Algorithmen für Verteilungsprobleme Christian Scheideler Institut für Informatik Technische Universität München

Verteilungsprobleme Problem: Verteilung von Daten auf Speicher Anwendungen: Organisation großer Festplattensysteme Peer-to-Peer Systeme

Festplattensysteme Server Festplatten

Peer-to-Peer Systeme

Verteilungsprobleme Anforderungen: Skalierbarkeit: Faire Verteilung der Daten und ihrer Anfragen auf Speichereinheiten Effizienz: Effiziente Operationen zum Einfügen, Löschen und Suchen von Daten

Verteilungsprobleme Grundlegender Ansatz: Hashing Vorteile: O(1) Zeit für Einfügen, Suchen und Löschen von Daten möglich Hashfunktion h 1 2 3 4

Verteilungsprobleme Grundlegender Ansatz: Hashing Vorteile: skaliert sehr gut, wenn Hash-funktion zufällig gewählt wird Hashfunktion h 1 2 3 4

Verteilungsprobleme Grundlegender Ansatz: Hashing Nachteil: Standardhashing nicht adaptiv, nicht robust gegenüber gegn. Verhalten Hashfunktion h 1 2 3 4

Übersicht Bälle-in-Urnen – Spiele Speicherverwaltung in Festplattensystemen Robuste Informations- systeme

Problem: Faire Verteilung von m Bällen auf n Urnen Bälle in Urnen m Bälle Problem: Faire Verteilung von m Bällen auf n Urnen n Urnen

Bälle in Urnen Varianten: Bälle bj: uniforme oder nichtuniforme Gewichte wj (Gesamtgewicht 1) Urnen vi: uniforme oder nichtuniforme Kapazitäten ci (Gesamtkapazität 1) Fairness: für jede Urne vi, i2{1,…,n} ist j: bj in vi wj innerhalb von (1§ )ci für eine kleine Konstante >0

Bälle in Urnen Allgemein: Packungsproblem (werden wir hier nicht betrachten) Hier: Beschränkung auf uniforme Ballgewichte Statischer Fall: Menge der Bälle und Urnen fest vorgegeben

verwende eine zufällige Hashfunktion Bälle in Urnen Problem: verteile m Bälle gleichen Gewichts gleichmäßig über n Urnen gleicher Kapazität verwende eine zufällige Hashfunktion

Bälle in Urnen Hashfunktion zufällig: für jedes Datum x ist h(x) unabhängig von den anderen Daten uniform zufällig über die Menge der Urnen verteilt (d.h. wie echt zufällige Abbildung) Tatsache: Für eine zufällige Hashfunktion enhält jede Urne im Erwartungswert m/n Bälle. Ziel: hohe Konzentration um m/n mit hoher Wahrscheinlichkeit „Mit hoher Wahrscheinlichkeit“ oder „m.h.W.“: >1-1/n für eine beliebige Konstante >1

Bälle in Urnen Theorem: Mit hoher Wahrscheinlichkeit enthält jede Urne m/n § O( \/(m/n)log n + (log n)/(log log n)) viele Bälle. Beweis: über Chernoff-Schranken Chernoff-Schranke: Seien X1,…,Xn unabhängige binäre Zufallsvariablen. Sei X=i Xi und =E[X]. Dann gilt für alle >0 Pr[X >(1+)] < (e / (1+)1+) < e-2  / (2(1+/3)) Pr[X<(1-)] < (e- / (1-)1-) < e-2 /2

Bälle in Urnen Chernoff-Hoeffding Schranke: Seien X1,…,Xn unabhängige binäre Zufallsvariablen. Sei X=i Xi und p=E[X]/n. Dann gilt für alle 0<<1-p Pr[X-E[X] > n] < n p+ 1-p- p 1-p p+ 1-p-

Bälle in Urnen Theorem: Mit hoher Wahrscheinlichkeit enthält jede Urne m/n § O( \/(m/n)log n + (log n)/(log log n)) viele Bälle. Problem: Für m~n kann die Abweichung von m/n sehr hoch sein. Lösung: erlaube mehr als einen zufälligen Ort pro Ball

Bälle in Urnen

Bälle in Urnen Theorem: Für zwei zufällige Hashfunktionen existiert mit hoher Wahrscheinlichkeit eine Zuweisung von Bällen auf Urnen mit maximal dm/ne+1 Bällen pro Urne. Beweis: U: Teilmenge der Urnen (U): Menge der Bälle, die alle Alternativen in U haben Lemma: Die minimax Last ist maxU=; |(U)|/|U|

Bälle in Urnen Lemma: Die minimax Last ist L=maxU=; |(U)|/|U| Beweis: beliebige Ballplatzierung L Mengenbeweis: Menge M_1, die aus U_2 nach bar{U_2} führt. Dann Menge M_2, die aus U_2 nach M_1 führt, usw. ….. U1 U2

Bälle in Urnen S3 Sk S2 U1 S1 . . . U2 Alternative Hashpos.

Bälle in Urnen Lemma: maxU=; |(U)|/|U|<=dm/ne + 1 mit hoher Wahrscheinlichkeit. Lemma: Für m>cn log n ist maxU=;|(U)|/|U| <=dm/ne mit hoher Wahrscheinlichkeit. Beweis: Übung Idee: Zeige, dass für jede Urnenmenge U gilt Pr[ |(U)|/|U|>dm/ne ] < 1/n+|U| Fallunterscheidung zwischen |U|<=(2/3)n (Chernoff) und |U|>(2/3)n (Chernoff-Hoeffding). Allgemein: Dummy-Bälle

Bälle in Urnen Theorem: Für zwei zufällige Hashfunktionen existiert mit hoher Wahrscheinlichkeit eine Zuweisung von Bällen auf Urnen mit maximal dm/ne+1 Bällen pro Urne. Problem: wie schwierig ist es, solch eine Verteilung (annäherungsweise) zu erhalten?

Bälle in Urnen Algorithmus 1: Minimumregel [KLM92] Platziere die Bälle hintereinander in die Urnen. Für jeden Ball, wähle die Urne mit minimaler Last aus. Theorem: Die Minimumregel resultiert in einer Last von m/n + O(log log n) mit hoher Wahrscheinlichkeit.

Bälle in Urnen Beweisidee für Minimumregel: Last 4d d=log log n d innere Knoten Lasten 4d-1..3d … 1 2 d … … 2 innere Knoten, d-2 Blätter 1 2 d 1 2 d … … 1 2 d 1 2 d Tiefe d … …

Bälle in Urnen Zu zeigen: m.h.W. kommt so eine Struktur nicht in dem Graph G=(V,E) vor, in dem V die Urnen und E die Bälle mit ihren Alternativen darstellt. Problem: Bälle können mehrmals vorkommen! Übung: zeige zumindest, dass Wahrscheinlichkeit für Baumstruktur sehr gering ist, falls alle Bälle in ihr verschieden sind.

Bälle in Urnen Algorithmus 2: L-Kollisionsregel [MD93, Sch93] Alle Bälle sind anfangs aktiv. Wiederhole, bis alle Bälle inaktiv Bestimme bezüglich der aktiven Bälle die Last für jede Urne für beide Hashfunktionen. Für alle Urnen mit einer Last von <= L werden alle aktiven Bälle mit Alternativen darin inaktiv. Theorem: Die Kollisionsregel terminiert w.h.W. für L = O(m/n) in O(log log n) Runden.

Bälle in Urnen Beweisidee für Kollisionsregel: Last >L d Runden, d=log log n L innere Knoten mit Grad L … 1 2 L … … L innere Knoten mit Grad L 1 2 L 1 2 L

Bälle in Urnen Vorteile beider Strategien: L-Kuckucksregel: Füge Bälle hintereinander in Urnen ein. Platziere Ball x in Urne mit minimaler Last, sei v diese Urne Wiederhole, bis v eine Last <=L hat - wähle einen zufälligen Ball x in v - platziere x in Alternativurne, sei diese Urne v Behauptung: Kuckucksregel terminiert in Zeit O(m) m.h.W. mit L=min{O(m/n), m/n + O(log log n)}

Übersicht Bälle-in-Urnen – Spiele Speicherverwaltung in Festplattensystemen Robuste Informations- Systeme

Verteilte Speichersysteme Annahme: Daten haben uniforme Größen Problem: Menge der Speicher jetzt dynamisch Daten Speicher

Verteilte Speichersysteme Anforderungen: Fairness: j: bj in vi wj innerhalb von (1§ )ci für eine beliebige Konstante >0. Effizienz: Ort jedes Datums kann zeit- und speichereffizient bestimmt werden Adaptivität: Für jeden Wechsel von (c1,…,cn) nach (c´1,…,c´n) ist die Menge der umzu-platzierenden Daten nahezu minimal (d.h. nahe (m/2)i|ci-c´i| ) Redundanz: Jedes Datum hat k Kopien auf verschiedenen Speichereinheiten.

Uniforme Speichersysteme Anforderungen: Fairness: Anzahl Daten in Speicher i innerhalb von (1§ )m/n für eine beliebige Konstante >0. Effizienz: Ort jedes Datums kann zeit- und speichereffizient bestimmt werden Adaptivität: Für jeden Wechsel von n-1 nach n oder n nach n-1 Speichern ist die Menge der umzuplatzierenden Daten nahezu minimal (d.h. nahe m/n ) Redundanz: Jedes Datum hat k Kopien auf verschiedenen Speichereinheiten.

Uniforme Speichersysteme Konsistentes Hashing [KLL+97]: Hash h R2 1 Hash g 1 2 3 4 5

Uniforme Speichersysteme Theorem: Für jedes i2{1,…n} ist j: bj in vi wj innerhalb von (1§ )|Ri|+O(log n / m) m.h.W. für eine beliebige Konstante >0. Beweis: Verwende Chernoff-Schranken.

Uniforme Speichersysteme Theorem: Für jedes i2{1,…n} ist E[|Ri|] = 1/n. Beweis: Für alle i,j ist E[|Ri|] = E[|Rj|] (Symmetrie) i |Ri|=1, also E[i |Ri|] = i E[|Ri|] = 1 Daher ist E[|Ri|] = 1/n für alle i Konsistentes Hashing ist also im Erwartungswert fair (sowie effizient, adaptiv, und kann einfach auf Redundanz erweitert werden). Problem: Abweichung vom Mittelwert kann groß sein! (Übung: in [(1/n2), ((log n)/n)] )

Uniforme Speichersysteme Problem: Abweichung vom Mittelwert kann groß sein (in [(1/n2), ((log n)/n)] ) Lösungen: Verwende (log n) Hashfunktionen für die Speicher. Damit hat jeder Speicher (log n) Regionen in [0,1) mit Gesamtgröße innerhalb (1§ )/n m.h.W. Verwende Cut & Paste Methode

Uniforme Speichersysteme Cut & Paste Methode [BBS00]: Hash h 1 mittels Cut&Paste 1 2 3 4 5

Uniforme Speichersysteme 1 1 1 1/2 1/2 1/3 1 2 1 2 3 1 Speicher i raus: letzter Speicher (d.h. n) über- nimmt dessen Platz 1/3 usw. 1/4 1 2 3 4

Uniforme Speichersysteme Tatsache: Cut&Paste weist jedem Speicher einen Teil von [0,1) der Größe exakt 1/n zu. Theorem: Bei Anwendung von Cut&Paste von 1 nach n Speichern wird jedes Datum höchstens dlog ne–mal umplatziert. Beweis: Übung. Konsequenz: Damit Position jedes Datums effizient berechenbar (O(log n) Zeit).

Nichtuniforme Speichersysteme SHARE Strategie [BSS02]: Hash h R2 1 |Ri|=s ¢ ci für Stretch s Hash g 2 3 5 1 4

Nichtuniforme Speichersysteme Speicher 2 oder 4? 1 2 3 5 1 4 Wende zur Entscheidung konsistentes Hashing auf überschneidende Menge der Speicher an.

Nichtuniforme Speichersysteme Lemma: Für einen genügend großen Stretch s=(log n) ist die Anzahl der Intervalle über jeden Punkt in [0,1) innerhalb von (1§ )s m.h.W. Beweis: Übung. Theorem: Unter der Annahme, dass für jedes Datum x mit k Speicherintervallen über h(x) es gleichwahrscheinlich ist, in welchem der k Speicher x gespeichert wird, ist SHARE fair.

Nichtuniforme Speichersysteme Probleme: Da SHARE auf konsistentem Hashing aufbaut, Probleme mit Abweichungen bei Fairness SHARE kann im Allgemeinen nicht Redundanz sicherstellen. Beispiel: 1/2 1/4 1/4 Redundanz k=2

Nichtuniforme Speichersysteme SIEVE Strategie [BSS02]: 2n Intervalle (Rahmen) der Größe 1/2n 1 2 3 8 5 1 7 4 6 Jeder Rahmen ist höchstens einem Speicher zugeordnet. Speicher i verwendet bis auf einen alle seine Rahmen vollständig, so dass insgesamt ein Bereich von ci/2 in [0,1) abgedeckt wird (wichtig für Adaptivität!)

Nichtuniforme Speichersysteme SIEVE Strategie [BSS02]: h1 1 h2 1 h3 1 (log n) viele Hashfunktionen

Nichtuniforme Speichersysteme Theorem: SIEVE ist fair, effizient und adaptiv m.h.W. Beweis: Fairness: Jede Urne i deckt ci/2 von [0,1) ab Chernoff-Schranken

Übersicht Bälle-in-Urnen – Spiele Speicherverwaltung in Festplattensystemen Robuste Informations- systeme

Skalierbare Informationssysteme Klassische Netzwerktheorie: Graphfamilien Beispiel: d-dim. de Bruijn Graph G=(V,E) V = {0,1}d E = { {x,y} | x=(x1,…,xd), y=(b,x1,…,xd-1), b 2 {0,1} beliebig} Wir brauchen: dynamische Form des de Bruijn Graphen (Peers gehen rein / raus) 00 01 10 11

Skalierbare Informationssysteme Beispiel: d-dim. de Bruijn Graph G=(V,E) V = {0,1}d E = { {x,y} | x=(x1,…,xd), y=(b,x1,…,xd-1), b 2 {0,1} beliebig} Betrachte (x1,…,xd) als 0.x1 x2…xd 2 [0,1), d.h. 0.101 = 1 ¢ (1/2) + 0 ¢ (1/4) + 1 ¢ (1/8) Setze d ! 1

Skalierbare Informationssysteme Beispiel: d-dim. de Bruijn Graph G=(V,E) V = {0,1}d E = { {x,y} | x=(x1,…,xd), y=(b,x1,…,xd-1), b 2 {0,1} beliebig} Ergebnis für d ! 1: V = [0,1) E = { {x,y} 2 [0,1)2 | y=x/2, y=(1+x)/2 }

Skalierbare Informationssysteme Kontinuierlicher de Bruijn Graph: V = [0,1) E = { {x,y} 2 [0,1)2 | y=x/2, y=(1+x)/2 } Wie verwenden wir das für ein skalierbares Informationssystem? Kontinuierlich-diskrete Methode! [NW03]

Kontinuierlich-Diskrete Methode Jedem Peer wird zufälliger Punkt in [0,1) zugewiesen R(v)=[v,succ(v)) 1 Peers v Peers teilen [0,1) in Regionen auf

Kontinuierlich-Diskrete Methode Kontinuierlicher de Bruijn Graph: V = [0,1) E = { {x,y} 2 [0,1)2 | y=x/2, y=(1+x)/2 } R0(v) R(v) R1(v) 1 Seien f0(x)=x/2 und f1(x)=(1+x)/2. Betrachte R0(v)=f0(R(v)) und R1(v)=f1(R(v)).

Kontinuierlich-diskrete Methode Verknüpfungsregel: Kreiskanten: Peer v verbindet sich mit pred(v) und succ(v) in [0,1) De-Bruijn Kanten: Peer v verbindet sich mit allen Peers w, für die R0(v) oder R1(v) mit R(w) überlappt. Updates sehr einfach: Join(v): Kreiskanten: De Bruijn Kanten: pred(v) succ(v) pred(v) v succ(v) pred(v) v succ(v) R(v) 1

Kontinuierlich-diskrete Methode Verknüpfungsregel: Kreiskanten: Peer v verbindet sich mit pred(v) und succ(v) in [0,1) De-Bruijn Kanten: Peer v verbindet sich mit allen Peers w, für die R0(v) oder R1(v) mit R(w) überlappt. Updates sehr einfach: Leave(v): Kreiskanten: De Bruijn Kanten: pred(v) v succ(v) pred(v) succ(v) pred(v) v succ(v) R(v) 1

Datenzuweisung Verwende konsistentes Hashing von [KLL+97] Daten (pseudo-)zufällige Hashfunktion 1 Peers

Robuste Informationssysteme Internet Internet Skalierbarkeit ist nicht alles! Robustheit gegenüber gegnerischem Verhalten immer drängender!!

Ideale Welt ! Vier Gebote: Du sollst nicht schlafen Du sollst nicht lügen Du sollst nicht stehlen Du sollst nicht töten Maßnahmen bei Verletzungen: Nicht so einfach wie es scheint… !

Übersicht Methoden gegen Verletzungen von 1. Du sollst nicht schlafen (fail-stop) 2. Du sollst nicht lügen (Gegner) Methoden gegen Verletzungen von 4. Du sollst nicht töten (DoS-Attacken)

Grundlegender Ansatz Peers/Server formen einen Kreis Zustände dem System nicht bekannt! ehrliche Peers gegnerische Peers

Robustheit Gegenmaßnahmen zu: Du sollst nicht schlafen Du sollst nicht lügen Forme lokale Quoren Halte gegn. Peers gut verteilt

Robustheit Statische Menge von Peers: Wähle zufällige Permutation für Anordnung

Robustheit Dynamische Menge von Peers: Zwei Operationen: Join und Leave

Join-Leave Robustheit Problem: finde zustandslose Join und Leave Operationen, so dass für jede (selbst adaptive) Join-Leave Sequenz gegnerischer Peers die gegnerischen Peers im Kreis gut verteilt sind.

Join-Leave Robustheit Modell: n ehrliche Peers n gegnerische Peers, <1 Zeit unterteilt in Runden In jeder Runde kann Gegner Join oder Leave Operation für einen gegnerischen Peer aufrufen Ziel: finde Join und Leave Operationen, so dass für alle Folgen F von c log n Peers auf Kreis gilt: Mehrheitsbedingung: die ehrlichen Peers in F sind in der Mehrheit.

Join-Leave Robustheit Join-Operation: k-Rotation [Sch05]: - neuer Peer zunächst positionslos - vertausche (k-1)-mal hintereinander posi- tionslosen mit zufälligem Peer im Kreis - füge positionslosen Peer zufällig ein

Join-Leave Robustheit Theorem: Solange  < 1-2/k ist, gilt Mehr-heitsbedingung für poly viele Runden m.h.W., egal was der Gegner macht.

Analyse der k-Rotationsregel Unterteile Regel in Stufen: Stufe 0: neuer Peer ist obdachlos Stufe i 2 {1,…,k-1}: Position p wird uniform zufällig gewählt, obdachloser Peer wird in p plaziert, Peer vorher in p wird neuer obdachlose Peer Stufe k: obdachloser Peer wird in neuer zufälliger Position plaziert

Analyse der k-Rotationsregel 0: blau, 1: rot Konzentration auf einzelne Position p: Zustandsraum: {(0,0),(0,1),(1,0),(1,1)} Stufe 0: (0,0) ! (0,1), (1,0) ! (1,1) Stufe i 2 {1,…,k-1}: Stufe k: {(0,0),(0,1)}!(0,0), {(1,0),(1,1)}!(1,0) (p,h) 0,0 0,1 1,0 1,1 1-n/N (n-1)/N 1/N 1-(n+1)/N n/N N: Anzahl Peers, n: ehrliche (blaue) Peers

Analyse der k-Rotationsregel Konzentration auf einzelne Position p: Anfangs hat p Verteilung (x,0,y,0), x+y=1 Am Ende hat p Verteilung (x’,0,y’,0) mit Stationäre Verteilung: y’=y, N=(1+e)n

Analyse der k-Rotationsregel Theorem: Für k>2 ist die worst-case Wahr-scheinlichkeitsverteilung der Zahl der roten Peers in einer Folge der Größe s=Q(log n) nach oben & unten beschränkt durch eine Binomialverteilung mit E.wert

Join-Leave Robustheit Problem: viele Peer-to-Peer Systeme platzieren Peers in virtuellen Raum

Join-Leave Robustheit Problem: viele Peer-to-Peer Systeme platzieren Peers in virtuellen Raum Einfachster virtueller Raum: [0,1)-Intervall 1

Join-Leave Robustheit n ehrliche Peers, n gegn. Peers, <1 Jeder Peer hat Punkt in [0,1) 1

Join-Leave Robustheit Ziel: Für jedes Interval I ½ [0,1) der Größe (c log n)/n, c konstant, gilt: Balancierung: (log n) Peers in I Mehrheit: ehrliche Peers in Mehrheit in I 1 I

Wie sind Bedingungen zu erfüllen? Chord: verwendet kryptographische Hashfunktion, um Peers Punkte in [0,1) zuzuweisen zufällige Verteilung der ehrlichen Peers keine zufällige Verteilung der gegnerischen Peers 1

Wie sind Bedingungen zu erfüllen? CAN: weist den Peers zufällige Punkte in [0,1) zu

Wie sind Bedingungen zu erfüllen? Group Spreading [AS04]: Weise Peers zufällige Punkte in [0,1) zu Begrenze die Lebenszeit der Peers Zu teuer!

Wie sind Bedingungen zu erfüllen? k-Kuckuck-Regel [AS06]: n ehrlich n gegnerisch leere k/n-Region  < 1-1/k

Analyse der k-Kuckucksregel k-Region: Region der Größe k/n Alter einer k-Region: Anzahl Runden seit letztem Treffer in Kuckucksregel. R: feste Region aus (c log n) k-Regionen Alter von R:  Alter seiner k-Regionen Neuer Peer: noch nicht replaziert >0: kleine Konstante Lemma 1: R enthält <=c log n neue Peers.

Analyse der k-Kuckucksregel Lemma 2: R hat Gesamtalter von (1 § ) (c log n)n/k, m.h.W. Beweis: Alter jeder seiner k-Regionen Ri: Pr[Alter(Ri)=t] = (k/n)(1-k/n)t-1 Alter der k-Regionen quasi-unabhängig, damit Alter von R konzentriert um E[R] = i E[Ri] = i n/k = (c log n)n/k

Analyse der k-Kuckucksregel R: feste Region aus c log n vielen k-Regionen T=(/)log2 n >0: kleine Konstante Lemma 3: In jedem Zeitintervall der Größe T werden m.h.W. (1§ )kT blaue Peers und <(1+)kT rote Peers umplaziert. Lemma 4: R hat m.h.W. (1§ )(c log n)k alte blaue Peers und <(1+)(c log n)k alte rote Peers. Beweis: Übung

Analyse der k-Kuckucksregel # blaue Peers in R: >(1-)(c log n)k # rote Peers in R: <(1+)(c log n)k + (c log n) Theorem: Unter der k-Kuckucksregel sind für jedes k>1 und <1-1/k die Balan-cierungs- und Mehrheitsbedingungen m.h.W. erfüllt.

Grenzen der Kuckuck-Regel Funktioniert nur für Join-Leave Sequenzen von gegnerischen Peers.

k-flip&cuckoo Regel [AS07] Join: wie zuvor (k-Kuckuck-Regel) Leave: wähle zufällige k/n-Region unter benachbarten c log n k/n-Regionen, leere & vertausche sie mit zufälliger k/n-Region n ehrlich n gegnerisch Tausch join

Übersicht Methoden gegen Verletzungen von 1. Du sollst nicht schlafen (fail-stop) 2. Du sollst nicht lügen (Gegner) Methoden gegen Verletzungen von 4. Du sollst nicht töten (DoS-Attacken) Weitere Probleme und Ausblick

Fundamentales Dilemma Skalierbarkeit: Minimiere Ressourcen für Operationen Robustheit: Maximiere DoS-Aufwand für Angreifer Gegner hat Insider-Wissen: keine Chance!!

DoS-resistente Informationssysteme Past-Insider-Attacke: Gegner kennt alles über System bis (unbekannte) Zeit t0 Ziel: skalierbares Informationssystem, so dass alles, was nach t0 eingefügt oder aktualisiert worden ist, sicher (m.h.W.) gegen jede past-insider DoS Attacke ist, die einen beliebigen -Bruchteil der Server lahmlegen kann (für ein >0) Sie sind gefeuert!

Past insider DoS-Attacke Dilemma: Explizite Datenstruktur: Konsistenzprobleme unter einer DoS-Attacke Feste Hashfunktion: Strukturlos, aber trotzdem leicht zu attackieren Zufällige Platzierung: schwer zu attackieren, aber Suche teuer Kombiniere Hashing mit zufälliger Platzierung!!

Past-insider-resistentes System hashbasierte Position (davon O(log n) viele) [AS07] zufällig gestreute Kopien

Fragen?

Übungen Zeige: maxU=; |(U)|/|U|<=dm/ne + 1 m.h.W. für m> cn log n für eine genügend große Konstante c. Zeige, dass die Zeugenstruktur für die Minimum-Regel sehr unwahrscheinlich für den Fall ist, dass alle Bälle in ihr verschieden sind. Zeige, dass es beim konsistenten Hashing erwartungsgemäß mindestens eine Region Ri gibt mit |Ri|<=1/n2 und mindestens eine Region Ri gibt mit |Ri|>=(log n)/n.

Übungen 4. Zeige: Bei Anwendung von Cut&Paste von 1 nach n Speichern wird jedes Datum höchstens dlog ne–mal umplatziert. Zeige, dass für einen genügend großen Stretch s=(log n) die Anzahl der Invervalle über jeden Punkt in [0,1) innerhalb von (1§ )s m.h.W. ist. Beweise Lemma 4 der Kuckucksregel, d.h. R hat m.h.W. (1§ )(c log n)k alte blaue Peers und <(1+)(c log n)k alte rote Peers. Benutze dazu die vorigen Lemmata.