Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Randomisierte Algorithmen für Verteilungsprobleme

Ähnliche Präsentationen


Präsentation zum Thema: "Randomisierte Algorithmen für Verteilungsprobleme"—  Präsentation transkript:

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

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

3 Festplattensysteme Server Festplatten

4 Peer-to-Peer Systeme

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

6 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

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

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

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

10 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

11 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

12 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

13 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

14 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

15 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

16 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-

17 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

18 Bälle in Urnen

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

20 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

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

22 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

23 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?

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

25 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

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

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

28 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

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

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

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

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

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

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

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

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

37 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

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

39 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

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

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

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

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

44 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

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

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

47 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

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

49 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

50 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 = 1 ¢ (1/2) + 0 ¢ (1/4) + 1 ¢ (1/8) Setze d ! 1

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

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

53 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

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

55 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

56 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

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

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

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

60 Ü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)

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

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

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

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

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

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

67 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

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

69 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

70 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

71 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

72 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

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

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

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

76 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

77 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

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

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

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

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

82 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

83 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

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

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

86 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

87 Ü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

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

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

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

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

92 Fragen?

93 Ü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.

94 Ü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.


Herunterladen ppt "Randomisierte Algorithmen für Verteilungsprobleme"

Ähnliche Präsentationen


Google-Anzeigen