Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Christian Scheideler Institut für Informatik Universität Paderborn

Ähnliche Präsentationen


Präsentation zum Thema: "Christian Scheideler Institut für Informatik Universität Paderborn"—  Präsentation transkript:

1 Christian Scheideler Institut für Informatik Universität Paderborn
Verteilte Algorithmen und Datenstrukturen Kapitel 2: Routing und Scheduling Christian Scheideler Institut für Informatik Universität Paderborn

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

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):
Wegesystem P = ∪s,tPs,t mit nichtleerer Wegemenge Ps,t für alle Quell-Ziel-Paare (s,t)∈V2 (P wird anfangs berechnet) Gewichtsfunktion w: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,t geschickt wird. Schicke „kleines“ Paket mit Quell-Ziel-Paar (s,t) entlang p∈Ps,t mit 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. Congestion C(S): maxe∈E f(e)/c(e) Dilation D(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 Knotenmenge M={ (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,v und q2∈P´v,t für ein v∈V } (∘: Konkatenation) Für alle p=q1∘q2 in 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,t besteht 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 Congestion n/2 1/n = ½. Da diese Congestion zweimal entsteht (von der Quelle zum Zwischenziel, und vom Zwischenziel zum Ziel), ist die Congestion 1.

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 worst case 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,t das 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öchstens 2 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 DOPT verschiedene 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 e verlaufen. 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 G fü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.

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 e1 l3m × (e1f1)

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 e1 l3m+l2m/(1+l) × (e1f1)

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 e1 l3m+l2m(1+l) × (e1f1)

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?


Herunterladen ppt "Christian Scheideler Institut für Informatik Universität Paderborn"

Ähnliche Präsentationen


Google-Anzeigen