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

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

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

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

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) = minU [ c(U,U) / min{c(U),c(U)} ] Leitfähigkeit von G 2 U U 1 2 1 3 1 4

7 Netzwerktopologien Idealerweise vollständiges Netzwerk:
Problem: skaliert nicht gut! (~n2 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=2k+1-1 Knoten, Grad 3 Durchmesser ist k = log2 n, ABER
Expansion schlecht ( (Baum)=2/n )

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

11 Hypercube Knoten: (x1,…,xd)  {0,1}d
Kanten: i: (x1,…,xd)  (x1,..,1-xi,..,xd) d= d= d=3 Grad d, Durchmesser d, Expansion 1/ d

12 Butterfly Knoten: (k,(xd,…,x1))  {0,..,d}  {0,1}d
Kanten: (k-1,(xd,…,x1))  (k,(xd,..,xk,..,x1)), (k,(xd,..,1-xk,..,x1)) Grad 4, Durchmesser 2d, Expansion ~1/d 00 01 10 11 1 1 1 2

13 Cube-Connected-Cycles
Knoten: (k,(x1,…,xd))  {0,..,d-1}  {0,1}d Kanten: (k,(x1,…,xd))  (k-1,(x1,...,xd)), (k+1,(x1,..,xd)), (k,(x1,..,1-xk+1,..,xd)

14 De Bruijn Graph Knoten: (x1,…,xd)  {0,1}d
Kanten: (x1,…,xd)  (x2,…,xd,0) (x2,…,xd,1) 01 001 011 010 101 00 11 000 111 10 100 110

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 b(G) höchstens 1. Beweis: Betrachte ein beliebiges U⊆V. Sei EU = { {v,w}∈E | v∈U}, wobei {v,w} zweimal in EU 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) Hier nicht gefordert. 2 von 3 1 von 1 s 1 von 2 t 1 von 1 2 von 2

19 Flusszahl Mehrfachflussproblem:
Netzwerk G=(V,E,c) (bigerichtete Kanten) Paare (s1,t1),…,(sk,tk) Anforderungen d1,…,dk  ℝ+ Eine gültige Lösung S zum Mehrfachflussproblem ist eine Menge von Flüssen f1,…fk für die Paare (s1,t1),…,(sk,tk) mit |fi|=di für alle i. Congestion von S: C(S) = maxe∈E f(e)/c(e), wobei f(e)= ∑i fi(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)  V2
Anforderungen: dv,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) = maxe∈E f(e)/c(e) (C(S) ist invariant zu Kantenskalierungen) Flusszahl: F = minS 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: dv,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)} fv,w: Fluss in S von v nach w Pv,w: Menge an Pfaden in fv,w Betrachte beliebiges BMFP mit Anforderungen di für Paare (si,ti). Betrachte daraus festes Paar (s,t) mit Anforderung ds,t. Konstruiere daraus Tripel (s,v,t) mit Anforderungen ds,v,t = ds,tc(v)/c(V) für alle v, d.h. ∑v ds,v,t = ds,t. Verwende Ps,v∘Pv,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 Ps,v: ∑t ds,tc(v)/c(V) = c(v)/c(V)∑t ds,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. v s t

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  = maxkompakte 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 d8 ) aushalten. Konstantdimensionale Gitter: konstantes 

30 Fragen?


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

Ähnliche Präsentationen


Google-Anzeigen