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