1 / 94

Randomisierte Algorithmen für Verteilungsprobleme

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.

hazina
Download Presentation

Randomisierte Algorithmen für Verteilungsprobleme

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. 1 2 3 4 Verteilungsprobleme Grundlegender Ansatz: Hashing Vorteile:O(1) Zeit für Einfügen, Suchen und Löschen von Daten möglich Hashfunktion h

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

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

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

  10. 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. 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-pPr[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 ….. 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/nemit 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).

  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 Knotenmit Grad L 1 2 L … … L innere Knotenmit 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§)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.

  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. 1 2 3 4 5 Uniforme Speichersysteme Konsistentes Hashing [KLL+97]: Hash h R2 0 1 Hash g

  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. 1 2 3 4 5 Uniforme Speichersysteme Cut & Paste Methode [BBS00]: Hash h 0 1 mittels Cut&Paste

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

  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. 1 2 3 4 5 Nichtuniforme Speichersysteme SHARE Strategie [BSS02]: Hash h 0 R2 1 |Ri|=s ¢ cifür Stretch s Hash g

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

  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. 1/2 1/4 1/4 Nichtuniforme Speichersysteme Probleme: • Da SHARE auf konsistentem Hashing aufbaut, Probleme mit Abweichungen bei Fairness • SHARE kann im Allgemeinen nicht Redundanz sicherstellen. Beispiel: Redundanz k=2

  45. 1 2 3 4 5 6 7 8 Nichtuniforme Speichersysteme SIEVE Strategie [BSS02]: 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!)

  46. Nichtuniforme Speichersysteme SIEVE Strategie [BSS02]: h1 0 1 h2 0 1 h3 0 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. 01 00 11 10 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)

  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…xd2 [0,1), d.h. 0.101 = 1 ¢ (1/2) + 0 ¢ (1/4) + 1 ¢ (1/8) • Setze d !1

More Related