1 / 30

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

nishan
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. 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 NetzwerkG=(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Uc(v), c(U,U): Kapazität U U • (G) = minU [ c(U,U) / min{c(U),c(U)} ]LeitfähigkeitvonG 2 U U 1 2 1 3 1 4

  7. Netzwerktopologien Idealerweise vollständiges Netzwerk: Problem: skaliert nicht gut! (~n2Kanten)

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

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

  10. 2-dimensionales Gitter • n = k2Knoten, 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=1d=2 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 0 1 0 0 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 nmuss einen Durch-messer von mindestens (log n)/(log(d-1))-1 haben. Theorem 1.12: Für jedes gerade d>2gibt es eine Familie von Graphen mit maximalem Grad d und Größe nmit Durchmesser (log n) / (log d -1).

  16. Expansion Theorem: Für jeden Graph Gist die Expansion (G)höchstens 1. Beweis: siehe Definition von (G). Theorem:Es gibt Familien von Graphen mit konstantem Grad mit konstanterExpansion. 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 Szum Mehrfachflussproblem ist eine Menge von Flüssen f1,…fk für die Paare (s1,t1),…,(sk,tk) mit |fi|=difür alle i. • Congestion von S: C(S) = maxe∈E f(e)/c(e), wobei f(e)= ∑ifi(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∈Ef(e)/c(e)(C(S) ist invariant zu Kantenskalierungen) Flusszahl: F = minS max{C(S),D(S)}

  21. Flusszahl Balanciertes Mehrfachflussproblem (BMFP): • Für jedesv ist die Summe der Anforderungen aus vund nach vgleich 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 Fund jede BMFP Instanz I gibt es eine Lösung Sfür Imit max{C(S),D(S)}  2F. Theorem 1.15: Im Schnitt gilt über alle BMFP InstanzenI, 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 speziellenBMFP 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: ∑tds,tc(v)/c(V)= c(v)/c(V)∑tds,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 fmit 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 Dund Flusszahl F gilt, dass FD. Theorem 1.18: Für (fast) jedes Netzwerk der Größe nmit 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Vkompakt: Uund V\Uverbunden • (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 dund Spanne . Dann Geine Fehlerwahr-scheinlichkeit bis zu 1/(16e d8 ) aushalten. Konstantdimensionale Gitter: konstantes 

  30. Fragen?

More Related