Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Verteilte Algorithmen und Datenstrukturen Kapitel 2: Routing und Scheduling Christian Scheideler Institut für Informatik Universität Paderborn."—  Präsentation transkript:

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

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

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,t P s,t mit nichtleerer Wegemenge P s,t für alle Quell-Ziel-Paare (s,t) V 2 (P wird anfangs berechnet) Gewichtsfunktion w:P +,so dass für alle (s,t) V 2 : p Ps,t w(p) = 1. 1/3 2/3 s t

5 Oblivious Routing Verwendung eines Wegesystems mit p Ps,t w(p) = 1 für alle (s,t) V 2 : 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 P s,t geschickt wird. Schicke kleines Paket mit Quell-Ziel-Paar (s,t) entlang p P s,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) V 2 : 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 f s,t mit Wert |f s,t |=1 zuweist. Congestion C(S): max e 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 (x 1,y 1 ),(x 2,y 2 ) [n] 2 : route erst von (x 1,y 1 ) nach (x 2,y 1 ), dann von (x 2,y 1 ) nach (x 2,y 2 ). D.h. eindeutiger Weg pro Quell-Ziel-Paar. x-y-Routing Strategie (x 1,y 1 )(x 2,y 1 ) (x 2,y 2 )

8 Routing im Gitter Benchmark für Routingstrategie: kann die Strategie beliebige Permutationen :V V mit geringer Dilation und Congestion routen? (D.h. die Quell-Ziel-Paare sind bestimmt durch (v, (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: (x 2,y 2 ) (x 1,y 1 )Weg p Dilation: p hat Länge d((x 1,y 1 ),(x 2,y 2 )) also ist max. Weglänge d Congestion: betrachte Kante e in x-Richtung Weg p e 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 (x 1,...,x d ) nach (y 1,...,y d ) führt über (y 1,x 2,...,x d ), (y 1,y 2,x 3,...,x d ), (y 1,y 2,y 3,x 4,...,x d ),... Dilation: optimal, da Weglänge gleich Distanz Congestion: es gibt Permutationen, die sehr hohe Congestion haben! Beispiel: sei (x 1,...,x d ) = (x d,...,x 1 ) für alle (x 1,...,x d )

11 Routing im Hypercube Beispiel: sei (x 1,...,x d ) = (x d,...,x 1 ) für alle (x 1,...,x d ) Betrachte Knotenmenge M={ (x 1,...,x d/2,0,...,0) | x i {0,1} für alle i {1,...,d/2} } Nach d/2 Routingschritten gemäß sind alle Pakete mit Quelle in M im Knoten (0,...,0) Da |M|=2 d/2 = 2 d = 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, 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 P s,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)} f v,w : Fluss in S von v nach w Für jeden Pfad p von v nach w in f v,w fügen wir den Pfad p zu P´ v,w hinzu mit Gewicht w(p) = |f p |/|f v,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: P s,t = { p=q 1 q 2 | q 1 P´ s,v und q 2 P´ v,t für ein v V } ( : Konkatenation) Für alle p=q 1 q 2 in P s,t : w(p) = w(q 1 ) w(q 2 ) c(v)/c(V). Damit ist p Ps,t w(p) = 1, d.h. P = s,t P s,t ist ein gültiges Wegesystem. st v

16 Valiants Trick Eigenschaften von P: Betrachte beliebiges BMFP mit Anforderungen d s,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 d s,t q1 P´s,v q2 P´v,t w(q 1 ) w(q 2 ) c(v)/c(V) = c(s) c(v)/c(V) Also Congestion F, da spezielles BMFP für F! st v

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 = {p s,t } für einen Weg p s,t mit w(p s,t )=1. Also ist P s,t = { p s,v,t = p s,v p v,t | v V } mit w(p s,v,t )=d/(d n) = 1/n.

19 Valiants Trick Ist das Wegesystem wirklich gut? Betrachte eine beliebige Permutation. 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 2 i-1 mögliche Quellen für e. Weiterhin können 2 d-i Ziele nach Überquerung von e erreicht werden. D.h. die Anzahl der Quell-Ziel-Paare, dessen Pfade e kreuzen, ist gleich 2 i-1 2 d-i = 2 d-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: s1s1 s2s2...smsm t1t1 t2t2 tmtm x-y-Routing: Dilation: OPT Congestion: m...

24 Oblivious Routing im Gitter Beispiel: s1s1 s2s2...smsm t1t1 t2t2 tmtm Valiants Trick: Dilation: ~2n Congestion: ~m...

25 Oblivious Routing im Gitter Beispiel: s1s1 s2s2...smsm t1t1 t2t2 tmtm y-x-Routing: Dilation: OPT Congestion: OPT...

26 Oblivious Routing im Gitter Beispiel: t1t1 t2t2...tmtm s1s1 s2s2 smsm y-x-Routing: Dilation: OPT Congestion: m...

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? C OPT : bestmögliche Congestion (bel. Dilation) D OPT : bestmögliche Dilation (= max. Distanz) Theorem 2.7: Es gibt eine oblivious Routing- strategie, die für jedes Mehrfachfluss- problem Congestion O(C OPT log D OPT ) und Dilation O(D OPT ) hat.

28 Oblivious Routing im Gitter Routing von s nach t: Sei M s,t das kleinste 2 k × 2 k -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 M s,t verteilt ist. Danach wird der Fluss in umgekehrter Form nach t hin konzentriert. s t

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

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

31 Oblivious Routing im Gitter Congestion: Zu zeigen: für alle k ist die Congestion, die durch das Routing in den 2 k × 2 k -Gittern der Quell-Ziel-Paare verursacht wird, O(C OPT ). Da es nur log D OPT verschiedene k-Werte gibt, ist die Gesamtcongestion O(C OPT log D OPT ). 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, )-beschränkter Gegner für ein w und 0< 1 Für jedes Zeitintervall der Länge w und jede gerichtete Kante e injiziert der Gegner höchstens w Pakete mit Pfaden, die über e verlaufen. Da jede gerichtete Kante nur ein Paket pro Zeiteinheit befördern kann, muss 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. A B

35 Scheduling Scheduling-Protokoll: bestimmt, in welcher Reihenfolge die Pakete die Kanten durchlaufen. Ein Scheduling-Protokoll ist stabil für ein und ein Netzwerk G, falls die Anzahl der Pakete in G für jeden beliebigen (w, )- beschränkten Gegner zu jedem Zeitpunkt beschränkt ist. Ein Protokoll, das für alle <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 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 (e i f i ) in Puffer von e i für i=j mod 2 und konstantes s e0e0 f´ 0 f0f0 e1e1 f´ 1 f1f1

39 Universelle Stabilität Induktionsanfang: Phase 1 e0e0 f´ 0 f0f0 e1e1 f´ 1 f1f1 s+2 Pfade, über die Pakete mit Restweg (e 0 f 0 ) injiziert werden.

40 Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Anfangs: m=s+j Pakete mit Restweg (e 0 f 0 ) e0e0 f´ 0 f0f0 e1e1 f1f1 m × (e 0 f 0 )

41 Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 1: m Schritte Injektionen: m × (e 0 f´ 0 e 1 f 1 ), m × (f 0 ) e0e0 f´ 0 f0f0 e1e1 f1f1 m × (e 0 f 0 ) m × (e 0 f´ 0 e 1 f 1 ) m × (f 0 )

42 Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 1: m Schritte Am Ende übrig: e0e0 f´ 0 f0f0 e1e1 f1f1 m × (e 0 f´ 0 e 1 f 1 ) m × (f 0 )

43 Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 2: m Schritte Injektionen: 2 m × (f 0 e 1 f 1 ), 2 m × (f´ 0 ) e0e0 f´ 0 f0f0 e1e1 f1f1 2 m × (f 0 e 1 f 1 ) m × (f 0 ) 2 m × (f´ 0 ) m × (e 0 f´ 0 e 1 f 1 ) mischen sich

44 Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 2: m Schritte Am Ende übrig: e0e0 f´ 0 f0f0 e1e1 f1f1 2 m × (f 0 e 1 f 1 ) 2 m/(1+ ) × (f´ 0 e 1 f 1 ), 3 m/(1+ ) × (f´ 0 )

45 Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 3: 2 m Schritte Injektionen: 3 m × (e 1 f 1 ) e0e0 f´ 0 f0f0 e1e1 f1f1 2 m × (f 0 e 1 f 1 ) 2 m/(1+ ) × (f´ 0 e 1 f 1 ), 3 m/(1+ ) × (f´ 0 ) 3 m × (e 1 f 1 )

46 Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 3: 2 m Schritte Am Ende übrig: e0e0 f´ 0 f0f0 e1e1 f1f1 3 m+ 2 m/(1+ ) × (e 1 f 1 )

47 Universelle Stabilität Betrachte o.B.d.A. beliebige gerade Phase j. Stufe 3: 2 m Schritte Für 0,85 gilt /(1+ )>1, d.h. >m × (e 1 f 1 ). e0e0 f´ 0 f0f0 e1e1 f1f1 3 m+ 2 m(1+ ) × (e 1 f 1 )

48 Universelle Stabilität D.h. FIFO im Gitter kann nicht Stabilität für alle <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 "Verteilte Algorithmen und Datenstrukturen Kapitel 2: Routing und Scheduling Christian Scheideler Institut für Informatik Universität Paderborn."

Ähnliche Präsentationen


Google-Anzeigen