Randomisierte Algorithmen für Verteilungsprobleme Christian Scheideler Institut für Informatik...

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

Transcript of Randomisierte Algorithmen für Verteilungsprobleme Christian Scheideler Institut für Informatik...

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

Randomisierte Algorithmen für Verteilungsprobleme

Christian Scheideler

Institut für Informatik

Technische Universität München

Page 2: 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

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

Festplattensysteme

Server

Festplatten

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

Peer-to-Peer Systeme

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

Verteilungsprobleme

Anforderungen:

• Skalierbarkeit: Faire Verteilung der Daten und ihrer Anfragen auf Speichereinheiten

• Effizienz: Effiziente Operationen zum Einfügen, Löschen und Suchen von Daten

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

Verteilungsprobleme

Grundlegender Ansatz: Hashing

Vorteile: O(1) Zeit für Einfügen, Suchen und Löschen von Daten möglich

1 2 3 4

Hashfunktion h

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

Verteilungsprobleme

Grundlegender Ansatz: Hashing

Vorteile: skaliert sehr gut, wenn Hash-funktion zufällig gewählt wird

1 2 3 4

Hashfunktion h

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

Verteilungsprobleme

Grundlegender Ansatz: Hashing

Nachteil: Standardhashing nicht adaptiv, nicht robust gegenüber gegn. Verhalten

1 2 3 4

Hashfunktion h

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

Übersicht

• Bälle-in-Urnen – Spiele

• Speicherverwaltung in Festplattensystemen

• Robuste Informations- systeme

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

Bälle in Urnen

n Urnen

m Bälle

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

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

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

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

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

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

Bälle in Urnen

Problem: verteile m Bälle gleichen Gewichts gleichmäßig über n Urnen gleicher Kapazität

verwende eine zufällige Hashfunktion

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

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

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

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

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

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] <p

p+1-p

1-p-

p+ 1-p- n

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

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

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

Bälle in Urnen

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

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|

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

Bälle in Urnen

Lemma: Die minimax Last ist L=maxU=; |(U)|/|U|

Beweis:

L

…..

U1 U2

beliebige Ballplatzierung

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

Bälle in Urnen

U1S1S2

S3

Alternative Hashpos.

Sk

. . .

U2

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

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: ÜbungIdee:• 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).

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

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?

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

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.

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

Bälle in Urnen

Beweisidee für Minimumregel:

Last 4d d=log log n

…1 d2

1 2 d 1 2 d… … 2 innere Knoten,d-2 Blätter

d innere Knoten

Tiefe d

Lasten 4d-1..3d

1 2 d… 1 2 d…

… …

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

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.

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

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.

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

Bälle in Urnen

Beweisidee für Kollisionsregel:

Last >L

…1 L2

1 2 L 1 2 L… … L innere Knotenmit Grad L

L innere Knotenmit Grad L

d Runden,d=log log n

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

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)}

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

Übersicht

• Bälle-in-Urnen – Spiele

• Speicherverwaltung in Festplattensystemen

• Robuste Informations- Systeme

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

Verteilte Speichersysteme

Daten

Speicher

Annahme: Daten haben uniforme GrößenProblem: Menge der Speicher jetzt dynamisch

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

Verteilte Speichersysteme

Anforderungen:• Fairness: j: bj in vi

wj innerhalb von (1§ )cifü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.

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

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.

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

Uniforme Speichersysteme

Konsistentes Hashing [KLL+97]:

1 2 3 4 5

0 1

Hash h

Hash g

R2

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

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.

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

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)] )

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

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

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

Uniforme Speichersysteme

Cut & Paste Methode [BBS00]:

0 1

Hash h

1 2 3 4 5

mittels Cut&Paste

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

Uniforme Speichersysteme

10

1

10

1

2 10

1

2

1/21/3

3

1/2

10

2

1/3

3

1/4

4

usw.Speicher i raus: letzterSpeicher (d.h. n) über-nimmt dessen Platz

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

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).

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

Nichtuniforme Speichersysteme

SHARE Strategie [BSS02]:

0 1

Hash h

1 2 3 4 5

Hash g

R2

|Ri|=s ¢ ci

für Stretch s

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

Nichtuniforme Speichersysteme

Wende zur Entscheidung konsistentes Hashing auf überschneidende Menge der Speicher an.

0 1

1 2 3 4 5

Speicher 2 oder 4?

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

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.

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

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

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

Nichtuniforme Speichersysteme

SIEVE Strategie [BSS02]:

1 2 3 4 5 6 7 8

2n Intervalle (Rahmen) der Größe 1/2n

0 1

• 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!)

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

Nichtuniforme Speichersysteme

SIEVE Strategie [BSS02]:

0 1

0 1

0 1

h1

h2

h3

log n) viele Hashfunktionen

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

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

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

Übersicht

• Bälle-in-Urnen – Spiele

• Speicherverwaltung in Festplattensystemen

• Robuste Informations- systeme

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

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

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

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

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

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 }

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

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]

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

Kontinuierlich-Diskrete Methode

0 1

Peers

Jedem Peer wird zufälliger Punkt in [0,1) zugewiesen

Peers teilen [0,1) in Regionen auf

v

R(v)=[v,succ(v))

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

Kontinuierlich-Diskrete Methode

Kontinuierlicher de Bruijn Graph:• V = [0,1)• E = { {x,y} 2 [0,1)2 | y=x/2, y=(1+x)/2 }

0 1

Seien f0(x)=x/2 und f1(x)=(1+x)/2.Betrachte R0(v)=f0(R(v)) und R1(v)=f1(R(v)).

R1(v)R(v)R0(v)

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

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) succ(v)v

0 1

pred(v) succ(v)v

R(v)

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

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) succ(v)pred(v) succ(v)v

0 1

pred(v) succ(v)v

R(v)

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

Datenzuweisung

0 1

Daten

Peers

Verwende konsistentes Hashing von [KLL+97]

(pseudo-)zufällige Hashfunktion

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

Robuste Informationssysteme

Skalierbarkeit ist nicht alles!

Robustheit gegenüber gegnerischemVerhalten immer drängender!!

InternetInternet InternetInternet

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

Ideale Welt

Vier Gebote:

1. Du sollst nicht schlafen

2. Du sollst nicht lügen

3. Du sollst nicht stehlen

4. Du sollst nicht töten

Maßnahmen bei Verletzungen:

Nicht so einfach wie es scheint…

!

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

Übersicht

• Methoden gegen Verletzungen von1. Du sollst nicht schlafen (fail-stop)2. Du sollst nicht lügen (Gegner)

• Methoden gegen Verletzungen von4. Du sollst nicht töten (DoS-Attacken)

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

Grundlegender Ansatz

Peers/Server formen einen Kreis

gegnerische Peersehrliche Peers

Zustände dem System nicht bekannt!

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

Robustheit

Gegenmaßnahmen zu:

1. Du sollst nicht schlafen

2. Du sollst nicht lügen Forme lokale Quoren

Halte gegn. Peers gut verteilt

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

Robustheit

Statische Menge von Peers:

Wähle zufällige Permutation für Anordnung

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

Robustheit

Dynamische Menge von Peers:

Zwei Operationen: Join und Leave

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

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.

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

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.

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

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

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

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.

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

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

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

Analyse der k-RotationsregelKonzentration 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)

0,0 0,1 1,0 1,1

1-n/N

(n-1)/N

1/N

1/N

1-(n+1)/N

n/N

N: Anzahl Peers, n: ehrliche (blaue) Peers

n/N 1-n/N

n/N1-n/N

0: blau, 1: rot

(p,h)

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

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+)n

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

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=(log n) nach oben & unten beschränkt durch eine Binomialverteilung mit E.wert

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

Join-Leave Robustheit

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

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

Join-Leave Robustheit

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

Einfachster virtueller Raum: [0,1)-Intervall

0 1

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

Join-Leave Robustheit

• n ehrliche Peers, n gegn. Peers, <1

• Jeder Peer hat Punkt in [0,1)

0 1

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

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

0 1I

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

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

01

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

Wie sind Bedingungen zu erfüllen?

CAN: weist den Peers zufällige Punkte in [0,1) zu

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

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!

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

Wie sind Bedingungen zu erfüllen?

k-Kuckuck-Regel [AS06]:

leere k/n-Region

n ehrlich n gegnerisch

< 1-1/k

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

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.

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

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

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

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

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

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.

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

Grenzen der Kuckuck-Regel

• Funktioniert nur für Join-Leave Sequenzen von gegnerischen Peers.

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

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

Tauschjoin

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

Übersicht

• Methoden gegen Verletzungen von1. Du sollst nicht schlafen (fail-stop)2. Du sollst nicht lügen (Gegner)

• Methoden gegen Verletzungen von4. Du sollst nicht töten (DoS-Attacken)

• Weitere Probleme und Ausblick

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

Fundamentales Dilemma

• Skalierbarkeit:Minimiere Ressourcen für Operationen

• Robustheit:Maximiere DoS-Aufwand für Angreifer

Gegner hat Insider-Wissen: keine Chance!!

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

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!

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

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!!

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

Past-insider-resistentes System

hashbasierte Position (davon O(log n) viele)

zufällig gestreute Kopien

[AS07]

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

Fragen?

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

Übungen

1. 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.

2. Zeige, dass die Zeugenstruktur für die Minimum-Regel sehr unwahrscheinlich für den Fall ist, dass alle Bälle in ihr verschieden sind.

3. 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.

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

Übungen

4. Zeige: Bei Anwendung von Cut&Paste von 1 nach n Speichern wird jedes Datum höchstens dlog ne–mal umplatziert.

5. 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.

6. 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.