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 Graphentheorie Graph G=(V,E): V: Menge von Knoten E { {v,w} | v,w V}: Menge von Kanten A D B C

3 Graphentheorie (v,w): Distanz (Länge des kürzesten Weges) zwischen v und w in G D=max v,w (v,w): Durchmesser von G A D

4 Graphentheorie (U): Nachbarmenge von Knotenmenge U (U) = | (U)| / |U| (G) = min U,|U| |V|/2 (U): Expansion von G A D U C (U)

5 Graphentheorie Netzwerk G=(V,E,c): V: Knotenmenge, E: Kantenmenge c:E IR + : Kantenkapazitäten (beide Richt.)

6 Graphentheorie c(v) = w c(v,w): Kapazität von Knoten v c(U) = v U c(v), c(U,U): Kapazität U U (G) = min U [ c(U,U) / min{c(U),c(U)} ] Leitfähigkeit von G U U

7 Netzwerktopologien Idealerweise vollständiges Netzwerk: Problem: skaliert nicht gut! (~n 2 Kanten)

8 Linie Grad 2 (optimal), ABER Durchmesser schlecht (n-1 für n Knoten) Expansion schlecht ( (Linie) = 2/n ) Wie erhält man kleinen Durchmesser?

9 Binärer Baum n=2 k+1 -1 Knoten, Grad 3 Durchmesser ist k = log 2 n, ABER Expansion schlecht ( (Baum)=2/n )

10 2-dimensionales Gitter n = k 2 Knoten, maximaler Grad 4 Durchmesser ist 2(k-1) < 2 n Expansion ist ~2/ n Nicht schlecht, aber geht es besser?

11 Hypercube Knoten: (x 1,…,x d ) {0,1} d Kanten: i: (x 1,…,x d ) (x 1,..,1-x i,..,x d ) d=1 d=2 d=3 Grad d, Durchmesser d, Expansion 1/ d

12 Butterfly Knoten: (k,(x d,…,x 1 )) {0,..,d} {0,1} d Kanten: (k-1,(x d,…,x 1 )) (k,(x d,..,x k,..,x 1 )), (k,(x d,..,1-x k,..,x 1 )) Grad 4, Durchmesser 2d, Expansion ~1/d

13 Cube-Connected-Cycles Knoten: (k,(x 1,…,x d )) {0,..,d-1} {0,1} d Kanten: (k,(x 1,…,x d )) (k-1,(x 1,...,x d )), (k+1,(x 1,..,x d )), (k,(x 1,..,1-x k+1,..,x d )

14 De Bruijn Graph Knoten: (x 1,…,x d ) {0,1} d Kanten: (x 1,…,x d ) (x 2,…,x d,0) (x 2,…,x d,1)

15 Durchmesser Theorem 1.11: Jeder Graph mit maximalem Grad d>2 und Größe n muss einen Durch- messer von mindestens (log n)/(log(d-1))-1 haben. Theorem 1.12: Für jedes gerade d>2 gibt es eine Familie von Graphen mit maximalem Grad d und Größe n mit Durchmesser (log n) / (log d -1).

16 Expansion Theorem: Für jeden Graph G ist die Expansion (G) höchstens 1. Beweis: siehe Definition von (G). Theorem: Es gibt Familien von Graphen mit konstantem Grad mit konstanter Expansion. Beispiel: Gabber-Galil Graph Knotenmenge: (x,y) {0,…,n-1} 2 (x,y) (x,x+y),(x,x+y+1), (x+y,y), (x+y+1,y)

17 Leitfähigkeit Theorem 1.13: Für jedes Netzwerk G=(V,E,c) ist die Leitfähigkeit (G) höchstens 1. Beweis: Betrachte ein beliebiges U V. Sei E U = { {v,w} E | v U}, wobei {v,w} zweimal in E U vorkommt, falls v,w U. Es gilt (U,U) E und c(U) = c(E), also ist c(U,U) c(U). Analog ist c(U,U) c(U). Aus Definition von folgt dann das Theorem. Theorem: Es gibt Familien von Graphen mit konstantem Grad und konstanter Leitfähigkeit.

18 Flusszahl (Flow Number) (s,t)-Fluss f:E + im Netzwerk G=(V,E,c): Flusserhaltung: für alle v V\{s,t}: u f(u,v) = w f(v,w) Kapazitätseinhaltung: für alle (v,w) E: f(v,w) c(v,w) Flusswert: |f| = v f(s,v)- u f(u,s) 2 von 3 1 von 1 1 von 2 1 von 1 2 von 2 st Hier nicht gefordert.

19 Flusszahl Mehrfachflussproblem: Netzwerk G=(V,E,c) (bigerichtete Kanten) Paare (s 1,t 1 ),…,(s k,t k ) Anforderungen d 1,…,d k + Eine gültige Lösung S zum Mehrfachflussproblem ist eine Menge von Flüssen f 1,…f k für die Paare (s 1,t 1 ),…,(s k,t k ) mit |f i |=d i für alle i. Congestion von S: C(S) = max e E f(e)/c(e), wobei f(e)= i f i (e) der Gesamtfluss über e ist. Standardproblem: finde gültige Lösung S, so dass C(S) minimal ist.

20 Flusszahl Spezielles Mehrfachflussproblem: Paare: alle (v,w) V 2 Anforderungen: d v,w = c(v) c(w)/c(V) S: Lösung für spezielles Problem Dilation D(S) = Länge des längsten Flussweges Congestion C(S) = max e E f(e)/c(e) (C(S) ist invariant zu Kantenskalierungen) Flusszahl: F = min S max{C(S),D(S)}

21 Flusszahl Balanciertes Mehrfachflussproblem (BMFP): Für jedes v ist die Summe der Anforderungen aus v und nach v gleich c(v). Beispiel: d v,w = c(v) c(w)/c(V) für alle v V. Theorem 1.14: Für jedes Netzwerk mit Flusszahl F und jede BMFP Instanz I gibt es eine Lösung S für I mit max{C(S),D(S)} 2F. Theorem 1.15: Im Schnitt gilt über alle BMFP Instanzen I, dass max{C(S),D(S)}= (F) für die beste Lösung S von I.

22 Flusszahl Beweis von Theorem 1.14: Sei G=(V,E,c) das gegebene Netzwerk. S: optimale Lösung zum speziellen BMFP 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 P v,w : Menge an Pfaden in f v,w Betrachte beliebiges BMFP mit Anforderungen d i für Paare (s i,t i ). Betrachte daraus festes Paar (s,t) mit Anforderung d s,t. Konstruiere daraus Tripel (s,v,t) mit Anforderungen d s,v,t = d s,t c(v)/c(V) für alle v, d.h. v d s,v,t = d s,t. Verwende P s,v P v,t, um jedes Tripel (s,v,t) zu routen. ( : Konkatenation)

23 Flusszahl Beweis von Theorem 1.14: Betrachte erste Hälfte des Routings: Flusswert über P s,v : t d s,t c(v)/c(V) = c(v)/c(V) t d s,t = c(s) c(v)/c(V). Das ist der gleiche wie für das spezielle BMFP! Also ist Congestion und Dilation für die erste Hälfte des Routings höchstens F. Dasselbe gilt für die zweite Hälfte des Routings. Damit erhalten wir eine Lösung für das BMFP mit Congestion und Dilation höchstens 2F. st v

24 Flusszahl Theorem 1.16 (Shortening Lemma): Angenommen, wir haben ein Netzwerk mit Flusszahl F. Für jedes [0,1] und jeden gültigen Mehrfachfluss f mit Congestion C(f) gibt es einen gültigen Mehrfachfluss f´ mit Congestion maximal (1+ )C(f), der Wege der Länge höchstens 2F(1+1/ ) verwendet. Fazit: immer gute Lösung mit kurzen Wegen!

25 Flusszahl Beweisskizze von Theorem 1.16:

26 Beziehung zwischen Parametern Fact 1.17: Für jedes Netzwerk mit Durch- messer D und Flusszahl F gilt, dass F D. Theorem 1.18: Für (fast) jedes Netzwerk der Größe n mit Leitfähigkeit und Flusszahl F gilt: -1 F c -1 log n Theorem 1.20: Der d-dimensionale Hypercube, das Butterfly und der de Bruijn Graph haben die Flusszahl F= (d).

27 Die Spanne Expansion: bestimmt die Robustheit eines Graphen gegenüber worst-case Ausfällen. Problem: wie misst man die Robustheit eines Graphen gegen zufällige Fehler? Beispiel: n n-Gitter hat Expansion 1/n, kann aber eine konstante Fehlerwahrschein- lichkeit aushalten.

28 Die Spanne Graph G=(V,E) U V kompakt: U und V\U verbunden (U): Nachbarmenge von U P(U) V: Knotenmenge mit kleinstem Spannbaum von (U) Spanne = max kompakte U |P(U)|/| (U)|

29 Die Spanne Theorem 1.22: Betrachte einen beliebigen Graphen mit maximalem Grad d und Spanne. Dann G eine Fehlerwahr- scheinlichkeit bis zu 1/(16e d 8 ) aushalten. Konstantdimensionale Gitter: konstantes

30 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