1 / 49

Verteilte Algorithmen und Datenstrukturen Kapitel 2 : Routing und Scheduling

Verteilte Algorithmen und Datenstrukturen Kapitel 2 : Routing und Scheduling. Christian Scheideler Institut f ür Informatik Universität Paderborn. Routing und Scheduling. B. Routing: finde Weg von A nach B Scheduling: koordiniere Paketbewegun-gen über Kanten. A. Routing.

owen
Download Presentation

Verteilte Algorithmen und Datenstrukturen Kapitel 2 : Routing und Scheduling

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. VerteilteAlgorithmen und DatenstrukturenKapitel2: Routing und Scheduling Christian Scheideler Institut fürInformatik Universität Paderborn

  2. Routing und Scheduling B • Routing: finde Weg von A nach B • Scheduling: koordiniere Paketbewegun-gen über Kanten A

  3. Routing Problem: finde mit möglichst geringem Koordinierungsaufwand Wege, so dass • Weglänge (Dilation) so kurz wie möglich ist und • möglichst wenige Wege über dieselbe gerichtete Kante wollen (Congestion) Einfachste Lösung: oblivious Routing (Wege hängen nur von Quell-Ziel-Paaren ab)

  4. Oblivious Routing Oblivious Routing für Graph G=(V,E): • WegesystemP = ∪s,tPs,t mit nichtleerer Wegemenge Ps,t für alle Quell-Ziel-Paare (s,t)∈V2(P wird anfangs berechnet) • Gewichtsfunktionw:P→ℝ+,so dass für alle (s,t)∈V2: ∑p∈Ps,t w(p) = 1. 1/3 s t 2/3

  5. Oblivious Routing Verwendung eines Wegesystems mit ∑p∈Ps,t w(p) = 1 für alle (s,t)∈V2: Realität: • Zerteile „großes“ Paket bzw. Paketstrom mit Quell-Ziel-Paar (s,t) in Teile, so dass ein Bruchteil der Größe w(p) entlang p∈Ps,tgeschickt wird. • Schicke „kleines“ Paket mit Quell-Ziel-Paar (s,t) entlang p∈Ps,tmit Wahrscheinlichkeit w(p). Hier: • Ein Paket mit Quell-Ziel-Paar (s,t) entspricht Paar (s,t) im Mehrfachflussproblem mit Anforderung 1.

  6. Oblivious Routing Verwendung eines Wegesystems mit ∑p∈Ps,t w(p) = 1 für alle (s,t)∈V2: Hier:Ein Paket mit Quell-Ziel-Paar (s,t) entspricht Paar (s,t) im Mehrfachflussproblem mit Anforderung 1. Lösung des Routingproblems: • Mehrfachfluss S, der jedem Paket mit Quell-Ziel-Paar (s,t) einen (s,t)-Fluss fs,t mit Wert |fs,t|=1 zuweist. • CongestionC(S): maxe∈E f(e)/c(e) • DilationD(S): längster Flusspfad in S

  7. Routing im Gitter Wegesystem P für n×n-Gitter: • Für jedes Paar (x1,y1),(x2,y2)∈[n]2:route erst von (x1,y1) nach (x2,y1), dann von (x2,y1) nach (x2,y2). • D.h. eindeutiger Weg pro Quell-Ziel-Paar. (x2,y2) x-y-Routing Strategie (x1,y1) (x2,y1)

  8. Routing im Gitter „Benchmark“ für Routingstrategie: kann die Strategie beliebige Permutationen p:V→V mit geringer Dilation und Congestion routen? (D.h. die Quell-Ziel-Paare sind bestimmt durch (v,p(v)) mit Anforderung 1 alle v∈V). Theorem 2.2: Die x-y-Routingstrategie kann jede Permutation im n×n-Gitter mit Con-gestion und Dilation höchstens d routen, wobei d die maximale Distanz eines Quell-Ziel-Paares ist.

  9. Routing im Gitter Beweis: • Dilation: • p hat Länge d((x1,y1),(x2,y2)) • also ist max. Weglänge d • Congestion: • betrachte Kante e in x-Richtung (x2,y2) (x1,y1) Weg p e Weg p • maximal d Wege p können über e laufen, also ist Congestion in x-Richtung maximal d • dasselbe gilt auch in y-Richtung

  10. Routing im Hypercube Bitanpassungsstrategie:Weg von (x1,...,xd) nach (y1,...,yd) führt über (y1,x2,...,xd), (y1,y2,x3,...,xd), (y1,y2,y3,x4,...,xd), ... • Dilation:optimal, da Weglänge gleich Distanz • Congestion: es gibt Permutationen, die sehr hohe Congestion haben! Beispiel: sei p(x1,...,xd) = (xd,...,x1) für alle (x1,...,xd)

  11. Routing im Hypercube Beispiel: sei p(x1,...,xd) = (xd,...,x1) für alle (x1,...,xd) • Betrachte KnotenmengeM={ (x1,...,xd/2,0,...,0) | xi∈{0,1} für alle i∈{1,...,d/2} } • Nach d/2 Routingschritten gemäß p sind alle Pakete mit Quelle in M im Knoten (0,...,0) • Da |M|=2d/2 = 2d = n ist, kann Congestion wesentlich größer als Dilation (maximal log n) sein. Bestmöglich wäre Congestion O(1)!

  12. Borodin-Hopcroft Schranke Theorem 2.3: Für jeden Graphen G der Größe n mit Grad d und jede oblivious Routing Strategie mit nur einem Pfad pro Quell-Ziel-Paar gibt es eine Permutation p, für die ein Knoten von mindestens n/d Pfaden durchlaufen wird. Beweis:Tafel (siehe auch Skript)

  13. Valiants Trick Frage: gibt es oblivious Routingstrategien, die für alle Permutationen eine niedrige Congestion haben? Antwort: ja, aber wir brauchen mehrere Pfade pro Quell-Ziel-Paar. Strategie: • konstruiere zunächst Wegesystem P´ = ∪s,t P´s,t basierend auf optimaler Lösung zur Flusszahl • Konstruiere aus P´ Wegesystem P = ∪s,t Ps,t ähnlich zum Beweis von Theorem 1.14

  14. Valiants Trick Konstruktion von P´: • Sei G=(V,E,c) das gegebene Netzwerk. • S: optimale Lösung zum speziellen Mehrfachfluss-problem für G, das der Flusszahl F zugrunde liegt, d.h. F=max{C(S),D(S)} • fv,w: Fluss in S von v nach w • Für jeden Pfad p von v nach w in fv,w fügen wir den Pfad p zu P´v,w hinzu mit Gewicht w(p) = |fp|/|fv,w|. • Damit gilt dann ∑p∈P´v,w w(p) = 1, d.h. P´ = ∪s,t P´s,t ist ein gültiges Wegesystem.

  15. Valiants Trick Konstruktion von P: • Ps,t = { p=q1∘q2 | q1∈P´s,vund q2∈P´v,tfür ein v∈V } (∘: Konkatenation) • Für alle p=q1∘q2in Ps,t: w(p) = w(q1)w(q2)c(v)/c(V). • Damit ist ∑p∈Ps,t w(p) = 1, d.h. P = ∪s,t Ps,t ist ein gültiges Wegesystem. v s t

  16. Valiants Trick Eigenschaften von P: • Betrachte beliebiges BMFP mit Anforderungen ds,t für jedes Quell-Ziel-Paar (s,t) • Betrachte nur die erste Hälfte aller Wege in P für BMFP • Flusswert von s nach v:∑t ds,t∑q1∈P´s,v∑q2∈P´v,t w(q1)w(q2)c(v)/c(V) = c(s)c(v)/c(V) • Also Congestion F, da spezielles BMFP für F! v s t

  17. Valiants Trick Resultat: Theorem 2.6: Mit Valiants Trick kann in jedem Netzwerk mit Flusszahl F jedes BMFP mit Congestion höchstens 2F und Dilation höchstens 2F geroutet werden.

  18. Valiants Trick Beispiel: d-dimensionaler Hypercube • Ein optimales Wegesystem für das spezielle BMFP zur Flusszahl F ist die Bitanpassungsstrategie. • P´s,tbesteht lediglich aus einem Weg für jedes Knotenpaar (s,t) im Hypercube, d.h. P´s,t = {ps,t} für einen Weg ps,t mit w(ps,t)=1. • Also ist Ps,t ={ ps,v,t = ps,v∘pv,t | v∈V } mit w(ps,v,t)=d/(dn) = 1/n.

  19. Valiants Trick Ist das Wegesystem wirklich gut? • Betrachte eine beliebige Permutation p. • Zunächst wird für jede Quelle s das Paket über n Knoten v „verteilt“ • Dilation: maximal d bis v, also insgesamt maximal 2d. • Congestion: betrachte feste Kante e entlang Dimension i{1,…,d}. • Mit der Bitanpassungsstrategie gibt es 2i-1 mögliche Quellen für e. • Weiterhin können 2d-i Ziele nach Überquerung von e erreicht werden. • D.h. die Anzahl der Quell-Ziel-Paare, dessen Pfade e kreuzen, ist gleich 2i-12d-i = 2d-1 = n/2. • Da jeder dieser Pfade ein Gewicht von 1/n hat, ist die Congestionn/2 1/n = ½. • Da diese Congestion zweimal entsteht (von der Quelle zum Zwischenziel, und vom Zwischenziel zum Ziel), ist die Congestion1.

  20. Valiants Trick Allgemein folgt analog zu Theorem 2.6: Theorem 2.5: Mit Valiants Trick kann im Hypercube jedes BMFP mit Congestion höchstens d und Dilation höchstens 2d geroutet werden.

  21. Oblivious Routing im Gitter Nahezu optimales Wegesystem für das spezielle BMFP zur Flusszahl F ist die x-y-Routingstrategie. Aus Theorem 2.6 folgt: mit Valiants Trick kann jedes BMFP im n×n-Gitter mit Dilation und Congestion maximal O(n) geroutet werden. Problem: für einige BMFPs viel bessere Lösungen möglich

  22. Oblivious Routing im Gitter • Kürzeste Wege (x-y-Routing):niedrige Dilation, aber evtl. hohe Congestion • Valiants Trick:im worstcase Dilation und Congestion nahezu optimal, aber für Quell-Ziel-Paare geringer Distanz Dilation und Congestion viel zu hoch

  23. Oblivious Routing im Gitter Beispiel: s1 s2 ... sm • x-y-Routing: • Dilation: OPT • Congestion: m t1 t2 ... tm

  24. Oblivious Routing im Gitter Beispiel: s1 s2 ... sm • Valiants Trick: • Dilation: ~2n • Congestion: ~m t1 t2 ... tm

  25. Oblivious Routing im Gitter Beispiel: s1 s2 ... sm • y-x-Routing: • Dilation: OPT • Congestion: OPT t1 t2 ... tm

  26. Oblivious Routing im Gitter Beispiel: t1 t2 ... tm • y-x-Routing: • Dilation: OPT • Congestion: m s1 s2 ... sm

  27. Oblivious Routing im Gitter Problem: Gibt es eine oblivious Routing-strategie für das n×n-Gitter, die für alle Routingprobleme nahezu optimale Congestion und Dilation erreicht? • COPT: bestmögliche Congestion (bel. Dilation) • DOPT: bestmögliche Dilation (= max. Distanz) Theorem 2.7: Es gibt eine oblivious Routing-strategie, die für jedes Mehrfachfluss-problem Congestion O(COPT log DOPT) und Dilation O(DOPT) hat.

  28. Oblivious Routing im Gitter Routing von s nach t: • Sei Ms,tdas kleinste 2k×2k-Gitter (oder falls nicht möglich, das Gesamtgitter), das s in einer Ecke hat und t enthält. • Der Fluss von s nach t wird zunächst gleichmäßig über gemischtes x-y und y-x Routing auf ein 2×2-Gitter über s verteilt, dann auf ein 4×4-Gitter über s, usw., bis der Fluss gleichmäßig über Ms,t verteilt ist. • Danach wird der Fluss in umgekehrter Form nach t hin konzentriert. t s

  29. Oblivious Routing im Gitter Routing von s nach t anschaulich:

  30. Oblivious Routing im Gitter Beweis von Theorem 2.7: Dilation: • Angenommen, Ms,t ist ein 2k×2k-Gitter. Dann haben s und t eine Distanz von mindestens 2k-1. Auf der anderen Seite hat der längste Flusspfad unserer Routingstrategie eine Länge von höchstens2 Si=0k-12(2i-1) + 2(2k-1) ≤ 42k + 22k = 62k • Das ist nur um einen konstanten Faktor über der Distanz • Also ist die Dilation D=O(DOPT).

  31. Oblivious Routing im Gitter Congestion: • Zu zeigen: für alle k ist die Congestion, die durch das Routing in den 2k×2k-Gittern der Quell-Ziel-Paare verursacht wird, O(COPT). • Da es nur log DOPTverschiedene k-Werte gibt, ist die Gesamtcongestion O(COPT log DOPT ). • Rest des Beweises: Tafel (siehe Skript)

  32. Scheduling Zentrale Frage: wie bewegt man am effektivsten Pakete entlang der gewählten Wege? Modell: • Netzwerk mit gerichteten Kanten mit Kapazität 1. • Jede gerichtete Kante kann pro Zeiteinheit ein Paket befördern. • Pakete werden kontinuierlich in das Netzwerk injiziert (wie in der Realität). • Jedem Paket wird bei der Injektion ein fester Weg vorgegeben (wie beim oblivious Routing). • Injektionen und Wegewahl sind unter gegnerischer Kontrolle (zur Ermittlung des worst-case Verhaltens), aber Gegner darf nicht mehr Pakete injizieren als das Netzwerk verkraften kann.

  33. Scheduling Gegnerisches Injektionsmodell: • (w,l)-beschränkter Gegner für ein w∈ℕ und 0<l≤1 • Für jedes Zeitintervall der Länge w und jede gerichtete Kante e injiziert der Gegner höchstens lw Pakete mit Pfaden, die über everlaufen. • Da jede gerichtete Kante nur ein Paket pro Zeiteinheit befördern kann, muss l≤1 sein, damit die Anzahl der Pakete im System nicht gegen  läuft

  34. Scheduling • Scheduling-Protokoll: bestimmt, in welcher Reihenfolge die Pakete die Kanten durchlaufen. B A

  35. Scheduling • Scheduling-Protokoll: bestimmt, in welcher Reihenfolge die Pakete die Kanten durchlaufen. • Ein Scheduling-Protokoll ist stabil für ein l und ein Netzwerk G, falls die Anzahl der Pakete in Gfür jeden beliebigen (w,l)-beschränkten Gegner zu jedem Zeitpunkt beschränkt ist. • Ein Protokoll, das für alle l<1 und alle Netzwerke G stabil ist, heißt universell stabil.

  36. Scheduling Annahme: jede Kante hat einen (prinzipiell unbeschränkten) Puffer für ausgehende Pakete. Einfache Queueing-Regeln für die Kantenpuffer: • FIFO (first in first out): bedient die Pakete in der Reihenfolge ihres Eintreffens im Puffer (Standard in Routern). • NTO (nearest to origin): gibt dem Paket Vorzug, das bisher den geringsten Weg zurückgelegt hat. • FTG (furthest to go): gibt dem Paket Vorzug, das noch den längsten Weg vor sich hat. • NTG (nearest to go): gibt dem Paket Vorzug, das noch den kürzesten Weg vor sich hat. • SIS (shortest in system): bevorzugt das jüngste Paket. • LIS (longest in system): bevorzugt das älteste Paket.

  37. Universelle Stabilität Theorem 2.8: SIS ist universell stabil. Beweis:Tafel (siehe auch Skript) Theorem 2.9: LIS ist universell stabil. Beweis:Tafel (siehe auch Skript)

  38. Universelle Stabilität Theorem 2.10: Für l≥0,85 gibt es ein Netzwerk und einen Gegner, für den FIFO instabil ist. Beweis: Induktion: in Phase j mind s+j Pakete mit Weg (eifi) in Puffer von ei für i=j mod 2 und konstantes s e0 f´1 f1 f´0 f0 e1

  39. Universelle Stabilität Induktionsanfang: Phase 1 s+2 Pfade, über die Pakete mit Restweg (e0f0) injiziert werden. e0 f´1 f1 f´0 f0 e1

  40. Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Anfangs: m=s+j Pakete mit Restweg (e0f0) m × (e0f0) e0 f1 f´0 f0 e1

  41. Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 1: m Schritte Injektionen: lm × (e0f´0e1f1), lm × (f0) lm × (e0f´0e1f1) lm × (f0) e0 m × (e0f0) f1 f´0 f0 e1

  42. Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 1: m Schritte Am Ende übrig: lm × (e0f´0e1f1) lm × (f0) e0 f1 f´0 f0 e1

  43. Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 2: lm Schritte Injektionen: l2m × (f0e1f1), l2m × (f´0) l2m × (f0e1f1) lm × (e0f´0e1f1) e0 lm × (f0) l2m × (f´0) f1 f´0 f0 mischen sich e1

  44. Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 2: lm Schritte Am Ende übrig: l2m/(1+l) × (f´0e1f1), l3m/(1+l) × (f´0) l2m × (f0e1f1) e0 f1 f´0 f0 e1

  45. Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 3: l2m Schritte Injektionen: l3m × (e1f1) l2m/(1+l) × (f´0e1f1), l3m/(1+l) × (f´0) l2m × (f0e1f1) e0 f1 f´0 f0 l3m × (e1f1) e1

  46. Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 3: l2m Schritte Am Ende übrig: e0 f1 f´0 f0 l3m+l2m/(1+l) × (e1f1) e1

  47. Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 3: l2m Schritte Für l≥0,85 gilt l3+l2/(1+l)>1, d.h. >m × (e1f1). e0 f1 f´0 f0 l3m+l2m(1+l) × (e1f1) e1

  48. Universelle Stabilität • D.h. FIFO im Gitter kann nicht Stabilität für alle l<1 sicherstellen. • Bramson: FIFO stabil für stochastisches Injektionsmodell. Vorteil von FIFO: robust gegen Manipulation von Paketen (in LIS können z.B. Pakete durch ein sehr hohes Alter bevorzugt behandelt werden).

  49. Fragen?

More Related