LB mit Diffusion

Werbung
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Vorlesung 9
BALANCIERUNG DYNAMISCHER
UNABHÄNGIGER LASTEN
293
Graphenalgorithmen und lineare Algebra Hand in Hand
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Lastbalancierung
Motivation
  Ein paralleles System besteht aus
  verschiedenen Recheneinheiten,
  die miteinander kommunizieren können
  Warum parallel rechnen?
CPU image from
[http://tips4pc.com/wp-content/uploads/2011/08/cpu.jpg]
  Daten passen nicht in den Speicher eines Rechners
  Rechnung zu aufwändig für einen Prozessor
  Wann lohnt sich der Einsatz von Parallelität zur Reduktion der
Rechenzeit?
  Anders gefragt: Wieviel Beschleunigung erhält man durch den
Einsatz von p Prozessoren (gegenüber einem)?
294
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Beschleunigung
Def.: (Beschleunigung, Speedup)
  Sei T1(P(n)) die Laufzeit, mit der man ein
Problem P der Größe n auf einem
Prozessor lösen kann.
  Sei Tp(P(n)) die Laufzeit, mit der man ein
Problem P der Größe n auf p
Prozessoren lösen kann.
  Beschleunigung (engl.: Speedup)
Sp(P(n)) = T1(P(n)) / Tp(P(n))
So ähnlich...
[http://www.motorradonline.de/static/specials/
test_special/Bilder/beschleunigung_380.jpg]
  Beispiel: T1(P(n)) = 30 Minuten,
T16(P(n)) = 3 Minuten => S16(P(n)) = 10
  Triviale obere Schranke: Sp(P(n)) <= p
  Frage: Warum?
295
Graphenalgorithmen und lineare Algebra Hand in Hand
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Amdahls Gesetz
  Obere Schranke p trivial, geht es schärfer?
  Intuition: Bei hohem sequentiellen Anteil helfen
auch viele Prozessoren nicht
Gene M. Amdahl
  Sei P der (perfekt) parallelisierbare Anteil eines
Programms
  Amdahls Gesetz:
S <= 1 / ((1-P) + P/p)
[http://www.computer.org/portal/image/
image_gallery?uuid=adcd37fe-ac71-41e3-bf145ba60779c71d&groupId=1464074&t=1252074534651]
  Beispiel: 80% parallelisierbar, 1024
Prozessoren => Maximale Beschleunigung:
1 / ((1-0,8) + 0,8/1024) ≈ 4,98
  Also: Der sequentielle Anteil limitiert sehr stark!
296
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Weitere Aspekte der Effizienz
Def.: Effizienz E(P(n)) = Sp(P(n)) / p
  Perfekte Effizienz: 1 oder 100%
  Fertigstellung bestimmt durch langsamsten Prozessor
  Beispielszenario:
 
 
 
 
2 Prozessoren, beide gleich schnell
Aufteilung der Arbeitslast: 2/3 zu 1/3
Sequentielle Rechnung braucht 100 Minuten
Problem hat perfekt parallelisierbaren Algorithmus
  Fragen:
  Wie lange braucht das parallele System zur Fertigstellung?
  Wie hoch ist die Beschleunigung, wie hoch die Effizienz?
297
Graphenalgorithmen und lineare Algebra Hand in Hand
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Lastbalancierung
  Bei gleichmäßiger Verteilung der Arbeitslast:
  Fertigstellung nach 50 Minuten
Speedup ist 2, Effizienz 100%
  Fazit: Gute Parallelisierung und Lastbalancierung wichtig für
hohe Beschleunigung und Effizienz
  Betrachten daher nun einen Algorithmus zur Lastbalancierung
298
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Szenario
  Synchrones System (gleicher Takt)
  Verteilter Speicher
  Prozessoren kommunizieren über
Links mit Nachbarn
  Lasten beliebig aufteilbar (reelle
Zahlen)
  Rechnertopologie darstellbar als
Graph:
  Knoten:
Prozessoren (processing elements)
  Kanten:
Kommunikationsverbindungen (links)
299
1
2
3
4
5
6
7
Graphenalgorithmen und lineare Algebra Hand in Hand
8
9
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Problemstellung und Lösungsverfahren
  Gesucht: Verteilter Algorithmus, der
  die Last balanciert
  möglichst gut dabei vorgeht und
  nur lokale Kommunikation erfordert
  Algorithmus Diffusionsverfahren
  Knoten kommunizieren lokal und rundenweise
  Migrationskosten beweisbar gering
  Erfordert prinzipiell teilbare Lasten
  Ähnlich: Dimension Exchange
  Nur eine Nachbarkommunikation pro Knoten und Runde
  Darstellbar und analysierbar mit linearer Algebra
300
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Diffusion im Graphen
  Diffusion: Bestreben eines Stoffes, sich im
Raum auszubreiten
  Diffusionsoperator beschreibt Prozess, in dem
  ein Stoff zwischen einem Knoten
  und seinen Nachbarn ausgetauscht wird
  Verwandt mit Irrfahrten (Random Walks)
  Starte auf einem beliebigen Knoten v
  Gehe zu einem Nachbarn von v, der zufällig
gleichverteilt gewählt wird
  Iteriere das Verfahren, bis Abbruchbedingung
(variiert) erfüllt
301
Graphenalgorithmen und lineare Algebra Hand in Hand
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Notwendige Strukturen
  x(k): Allgemein Vektor x in Iteration k, startet bei 0
  xv: Allgemein Wert des Vektors x am Knoten v
w: Lastvektor, Länge n
y: Flussvektor, beschreibt Fluss der Lasten, Länge m
  w : Vektor der balancierten Lasten, Länge n
  B: Knoten-Kanten-Inzidenzmatrix
  L = D-A = BBT: Laplace-Matrix
  M = I - α L: Diffusionsmatrix
302
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Wiederholung
Definition 4: Laplace-Matrix
8
< Knotengrad von v
lv,w =
1
:
0
L von G = (V, E):
: v=w
: v=
6 w und {v, w} 2 E
: sonst
Satz 5: L hat n unterschiedliche Eigenvektoren z1, . . . , zn 2 Rn, die in Rn eine Basis bilden.
Es gilt zi ? zj für alle 1  i 6= j  n.
Die Eigenwerte 1, . . . , n 2 Rn liegen alle zwischen 0 und 2dmax.
0 ist ein einfacher Eigenwert von L genau dann, wenn L zusammenhängend ist.
Definition 6: Die ungewichtete Knoten-Kanten-Inzidenzmatrix B 2 { 1, 0, +1}|V |⇥|E| von
G = (V, E) enthält für alle Kanten e = (u, v) in der zu e korrespondierenden Spalte die
Einträge 1 und +1 in den Zeilen u und v . Alle anderen Einträge der Spalte sind 0.
Lemma 7: Es gilt: L = BB T .
Henning Meyerhenke
und
lineare Algebra Hand in
Hand
Institut fürGraphenalgorithmen
Technologie
Graphenalgorithmen
und
lineare Algebra Hand in Hand
303 Karlsruher
Paralleles Rechnen, Institut
für Theoretische
SS 2012
174
Informatik, Fakultät für Informatik
Beispiel
n
1
2
1
-1
1
BT
3
4
n
-1
1
B
1
-1
1
1
1
-1
1
-1
-1
-1
1
-1
3
-1
-1
-1
1
-1
3
-1
-1
-1
-1
-1
2
-1
-1
-1
m
L
2
m
304
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Exkurs 1: Diffusion per LGS
  Das vorgestellte Diffusionsverfahren arbeitet lokal
  Motivation: Kommen wir bei zentraler Berechnung schneller
an die Lösung?
  Gesucht: Flussvektor y, so dass gilt:
y balanciert, d. h. w(0) – By = w‘ (w‘ balancierte Last)
  ||y||2 minimal unter allen balancierenden Flüssen
  Herleitung: Siehe Tafel
306
Graphenalgorithmen und lineare Algebra Hand in Hand
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Exkurs 2: Elektrische Netzwerke
  Jede Kante e hat
einen Widerstand
1/we
  Stromzufluss und
-abfluss bezogen
aufs System
bestimmt durch
rechte Seite
  Jeder Knoten i hat ein Potential zi
  Stromfluss zwischen Knoten i und j: (zi – zj)wij
  Potential berechenbar durch LGS mit Laplace-Matrix
307
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Beispiel
8
108
91
0
99
8
20
7
101
27
2
2
67
86
4
308
Graphenalgorithmen und lineare Algebra Hand in Hand
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Diffusionsverfahren erster Ordnung
Lastbalancierungsproblem:
• Zum Zeitpunkt 0 verfügt ein Knoten vi über eine Last wi.
• Zu berechnen ist ein Fluss y über die Kanten des Graphen, so dass nach Verschiebung der
Pn
Lasten gemäß des Flusses jeder Knoten die balancierte Last
i=1 wi /n erhält.
Sei
= max{1 ↵
2 , |1
↵
n |},
⇣
⇣
⌘⌘
1
wobei ↵ der sog. Di↵usionsparameter ist ↵ 2 0, dmax
.
Diffusionsverfahren:
(0)
(0)
1. for all i, j set wi⇣ = wi ⌘and yi,j = 0;
2. for k := 1 to O
log(1/")
1
do {
3. for all nodes vi in parallel do {
P
(k)
(k 1)
(k
4. wi = wi
↵ v 2N (v )(wi
5. for all vj 2 N (vi) set
6. }
7. }
Henning Meyerhenke
Karlsruher Institut für Technologie
309
j
(k)
yi,j
i
=
(k 1)
yi,j
1)
+
(k 1)
wj
);
(k 1)
↵(wi
(k 1)
wj
);
Graphenalgorithmen und lineare Algebra Hand in Hand
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
SS 2012
175
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Beispiellösung
  3x3-Torus, siehe Tafel!
310
Graphenalgorithmen und lineare Algebra Hand in Hand
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Eigenschaften der Diffusion
Pn
w
i
Definition 8: Sei w der balancierte Lastvektor mit wi = i=1
(1, . . . , 1)T und ✏(k) =
n
w(k) w. Die Lastsituation in einem Graphen G = (V, E) heißt "-balanciert gdw.
k✏(k)k2
 ".
k✏(0)k2
Satz 9: Das Diffusionsverfahren berechnet eine Last w(k) 2 Rn mit der Eigenschaft
Nach O
⇣
log(1/")
1
⌘
||w
(k)
2
w||2 
2k
· ||w
(0)
2
w||2.
Schritten ist die Lastsituation "-balanciert.
Lemma 10: Seien G ein Graph, w(0) die initiale Lastsituation in G und zi die Eigenvektoren
Pn
der Laplacematrix von G. Seien 1, . . . , n 2 R mit w(0) =
i=1 i zi . Dann gelten:
(i) w =
1 z1
und
(ii) ✏
(0)
=
n
X
i zi
i=2
Henning Meyerhenke
Karlsruher Institut für Technologie
311
Graphenalgorithmen und lineare Algebra Hand in Hand
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
SS 2012
176
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik
Konvergenz und minimaler Fluss
Definition 11: Ein Fluss-Vektor y heißt l2-minimal, wenn
||y||2 = min{||x||2 | x balanciert die Last in G mit initialem Lastvektor w}.
Satz 12: Das Diffusionsverfahren berechnet einen l2-minimalen Fluss y 2 Rm, wobei m
die Anzahl der Kanten in G darstellt.
Bemerkung 13: Das Diffusionsverfahren kann durch Berücksichtigung der vorletzten
⇣ Itera⌘
p
tion auf einfache Weise so abgewandelt werden, dass die Lastsituation bereits nach O log(1/")
1
Schritten "-balanciert ist.
Darüber hinaus gibt es weitere Verfahren mit noch deutlich besserem Konvergenzverhalten. Dazu
benötigt man die Eigenwerte der Laplace-Matrix des Graphen.
312 Henning
Meyerhenke Graphenalgorithmen und lineare Algebra Hand in Hand
Karlsruher Institut für Technologie
Graphenalgorithmen und lineare Algebra Hand in Hand
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
SS 2012
177
Zusammenfassung
  Grundbegriffe: Beschleunigung, Effizienz, Amdahls Gesetz
  Lastbalancierung sehr wichtig für parallele Effizienz
  Diffusionsverfahren erster Ordnung:
  Lokaler Lastaustausch
  Schranke für Anzahl der Iterationen
  Berechneter Fluss minimal in der l2-Norm
  Nicht im Detail: Genauere Kenntnisse über die Eigenwerte
des Graphen erlauben schnellere Konvergenz
314
Graphenalgorithmen und lineare Algebra Hand in Hand
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Paralleles Rechnen, Institut für Theoretische
Informatik, Fakultät für Informatik
Herunterladen