Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Randomisierte Algorithmen für Verteilungsprobleme Christian Scheideler Institut für Informatik Technische Universität München."—  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 1234 Hashfunktion h

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

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

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

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

11 Bälle in Urnen Varianten: Bälle b j : uniforme oder nichtuniforme Gewichte w j (Gesamtgewicht 1) Urnen v i : uniforme oder nichtuniforme Kapazitäten c i (Gesamtkapazität 1) Fairness: für jede Urne v i, i 2 {1,…,n} ist j: b j in v i w j innerhalb von (1 § )c i 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 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 X 1,…,X n unabhängige binäre Zufallsvariablen. Sei X= i X i 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 X 1,…,X n unabhängige binäre Zufallsvariablen. Sei X= i X i und p=E[X]/n. Dann gilt für alle 0 n] < p p+ 1-p 1-p- p+ 1-p- n

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 Theorem: Für zwei zufällige Hashfunktionen existiert mit hoher Wahrscheinlichkeit eine Zuweisung von Bällen auf Urnen mit maximal d m/n e +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 max U= ; | (U)|/|U|

20 Bälle in Urnen Lemma: Die minimax Last ist L=max U= ; | (U)|/|U| Beweis: L ….. U1U1 U2U2 beliebige Ballplatzierung

21 Bälle in Urnen U1U1 S1S1 S2S2 S3S3 Alternative Hashpos. SkSk... U2U2

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

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 d m/n e +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 4dd=log log n … 1d2 12d12d ……2 innere Knoten, d-2 Blätter d innere Knoten Tiefe d Lasten 4d-1..3d 12d … 12d … ……

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 … 1L2 12L12L ……L innere Knoten mit Grad L d Runden, d=log log n

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 Daten Speicher Annahme: Daten haben uniforme Größen Problem: Menge der Speicher jetzt dynamisch

32 Verteilte Speichersysteme Anforderungen: Fairness: j: b j in v i w j innerhalb von (1 § )c i für eine beliebige Konstante >0. Effizienz: Ort jedes Datums kann zeit- und speichereffizient bestimmt werden Adaptivität: Für jeden Wechsel von (c 1,…,c n ) nach (c´ 1,…,c´ n ) ist die Menge der umzu- platzierenden Daten nahezu minimal (d.h. nahe (m/2) i |c i -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 Hash g R2R2

35 Uniforme Speichersysteme Theorem: Für jedes i 2 {1,…n} ist j: b j in v i w j innerhalb von (1 § )|R i |+O(log n / m) m.h.W. für eine beliebige Konstante >0. Beweis: Verwende Chernoff-Schranken.

36 Uniforme Speichersysteme Theorem: Für jedes i 2 {1,…n} ist E[|R i |] = 1/n. Beweis: Für alle i,j ist E[|R i |] = E[|R j |] (Symmetrie) i |R i |=1, also E[ i |R i |] = i E[|R i |] = 1 Daher ist E[|R i |] = 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/n 2 ), ((log n)/n)] )

37 Uniforme Speichersysteme Problem: Abweichung vom Mittelwert kann groß sein (in [ (1/n 2 ), ((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]: 0 1 Hash h mittels Cut&Paste

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

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 d log n e –mal umplatziert. Beweis: Übung. Konsequenz: Damit Position jedes Datums effizient berechenbar (O(log n) Zeit).

41 Nichtuniforme Speichersysteme SHARE Strategie [BSS02]: 0 1 Hash h Hash g R2R2 |R i |=s ¢ c i für Stretch s

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

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 Redundanz k=2

45 Nichtuniforme Speichersysteme SIEVE Strategie [BSS02]: n Intervalle (Rahmen) der Größe 1/2n 01 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 c i /2 in [0,1) abgedeckt wird (wichtig für Adaptivität!)

46 Nichtuniforme Speichersysteme SIEVE Strategie [BSS02]: h1h1 h2h2 h3h3 log n) viele Hashfunktionen

47 Nichtuniforme Speichersysteme Theorem: SIEVE ist fair, effizient und adaptiv m.h.W. Beweis: Fairness: Jede Urne i deckt c i /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=(x 1,…,x d ), y=(b,x 1,…,x d-1 ), b 2 {0,1} beliebig} Wir brauchen: dynamische Form des de Bruijn Graphen (Peers gehen rein / raus)

50 Skalierbare Informationssysteme Beispiel: d-dim. de Bruijn Graph G=(V,E) V = {0,1} d E = { {x,y} | x=(x 1,…,x d ), y=(b,x 1,…,x d-1 ), b 2 {0,1} beliebig} Betrachte (x 1,…,x d ) als 0.x 1 x 2 …x d 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=(x 1,…,x d ), y=(b,x 1,…,x d-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 01 Peers Jedem Peer wird zufälliger Punkt in [0,1) zugewiesen Peers teilen [0,1) in Regionen auf v R(v)=[v,succ(v))

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 } 01 Seien f 0 (x)=x/2 und f 1 (x)=(1+x)/2. Betrachte R 0 (v)=f 0 (R(v)) und R 1 (v)=f 1 (R(v)). R 1 (v)R(v)R 0 (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 R 0 (v) oder R 1 (v) mit R(w) überlappt. Updates sehr einfach: Join(v): –Kreiskanten: –De Bruijn Kanten: pred(v)succ(v)pred(v)succ(v)v 01 pred(v)succ(v)v R(v)

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 R 0 (v) oder R 1 (v) mit R(w) überlappt. Updates sehr einfach: Leave(v): –Kreiskanten: –De Bruijn Kanten: pred(v)succ(v)pred(v)succ(v)v 01 pred(v)succ(v)v R(v)

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

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

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

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 gegnerische Peersehrliche Peers Zustände dem System nicht bekannt!

62 Robustheit Gegenmaßnahmen zu: 1.Du sollst nicht schlafen 2.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 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) 0,00,11,01,1 1-n/N (n-1)/N 1/N 1-(n+1)/N n/N N: Anzahl Peers, n: ehrliche (blaue) Peers n/N1-n/N n/N1-n/N 0: blau, 1: rot (p,h)

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+ )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= (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 01

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

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

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]: leere k/n-Region n ehrlich n gegnerisch < 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 R i : Pr[Alter(R i )=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[R i ] = i n/k = (c log n)n/k

83 Analyse der k-Kuckucksregel R: feste Region aus c log n vielen k-Regionen T=( / )log 2 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 t 0 Ziel: skalierbares Informationssystem, so dass alles, was nach t 0 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) zufällig gestreute Kopien [AS07]

92 Fragen?

93 Übungen 1.Zeige: max U= ; | (U)|/|U| 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 R i gibt mit |R i | =(log n)/n.

94 Übungen 4. Zeige: Bei Anwendung von Cut&Paste von 1 nach n Speichern wird jedes Datum höchstens d log n e –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.


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

Ähnliche Präsentationen


Google-Anzeigen