Vorlesung 21 Parallelprogramm (Implementierung) ≈ Algorithmus +

Werbung
P ERFORMANCE M ETRIKEN : F OR TSETZUNG
Vorlesung 21
P ERFORMANCE
UND
KOSTEN
DER
➜ Effizienz (“Nutzungsgrad”) auf p Prozessoren:
PARALLELIT ÄT
def
Ep = Sp /p
Zusatz-Literatur: Kapitel 4 aus V.Kumar et al.
Introduction to Parallel Computing, ISBN 0805331700
Normalerweise 0 < Ep ≤ 1 bzw. 0% < Ep ≤ 100%
➜ Kosten (Zeit-Prozessor Produkt, “Arbeit”):
Parallelprogramm (Implementierung) ≈
Slide 1
AUCH
“Gesamtzeit summiert über alle Prozessoren”
Cp ≈ C1 = T1
Intuitiv: Kostenoptimalität bedeutet, daß es kein zusätzlicher
Gesamtzeitaufwand durch Parallelisierung entsteht
B EISPIEL : A DDIEREN
VORLESUNG 1)
def
Sp = T1 /Tp
Tp – Laufzeit des parallelen Programms
auf p Prozessoren
Slide 4
Wichtig: Die Prozessoren sind in beiden
Fällen (T1 und Tp ) gleich!
Obere Schranke: Sp ≤ p
Simulationsargument: sonst wäre der sequentielle Algorithmus,
der den parallelen simuliert, schneller als T1
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
“Divide-and-Conquer” Algorithmus
+
PRAM-Programmiermodell mit n Prozessoren
➜ (a) Datenverteilung und der erste Kommunikationsschritt:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12 13
14
15
P13
P15
12 13
14
➜ (b) Zweiter Kommunikationsschritt:
P1
P3
0
“Superlinearer Speedup” ist vereinzelt doch möglich: Sp > p
(z.B. wegen Speicherhierarchie bzw. Cache-Effekten).
BY
A RRAYELEMENTE (R EDUKTION )
Parallelimplementierung (maximale Parallelität):
T1 – Laufzeit des sequentiellen Programms
für das Problem (auf einem Prozessor);
c
2006
ALLER
Input: n Zahlen verteilt auf n Prozessoren (potentiell unbegrenzte
Anzahl von Prozessoren)
Output: die Summe der Zahlen auf einem der Prozessoren
➜ Speed-up (Beschleunigung) für ein Problem (eine Anwendung)
auf p Prozessoren:
Slide 2
Cp = p · Tp
➜ Kostenoptimalität: Parallelprogramm ist kostenoptimal, g.d.w.
Performance paralleler Programme wird entscheidend von
den verwendeten Algorithmen, Programmiermodellen und
-sprachen, sowie Parallelrechner-Architekturen beeinflußt
P ERFORMANCE M ETRIKEN ( VGL .
def
Slide 3
Algorithmus
+ Programmiermodell
+ Programmiersprache
+ Rechnerarchitektur
0
1
c
2006
BY
P5
2
1
2
P7
4
3
4
P9
6
5
6
P11
8
7
8
10
9
10
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
12
11
14
15
2
B EISPIEL : F OR TSETZUNG
➜ (c) Dritter Kommunikationsschritt:
P3
P7
0
4
0
1
2
3
4
B EISPIEL
P11
5
6
7
8
➜ (d) Vierter Kommunikationsschritt:
P7
0
12
9
10 11 12
13 14 15
P15
8
0
1
2
3
4
5
6
7
8
9
10
11
12 13
14
15
Slide 5
Slide 7
12
8
13
9
14
10
15
11
4
5
6
7
0
1
2
3
P1
0
1
2
3
0
12
8
13
9
4
5
12
8
P15
0
1
2
3
4
5
6
7
8
9
10
11
12 13
14
P5
4
P1
15
13
9
14
10
1
2
1
P13
P129
8
P5
4
P1
➜ Speedup: Sn = Θ(n/ log n).
➜ Effizienz: En = Θ(1/ log n).
➜ Kosten parallel: Cn = p · Tp = Θ(n · log n)
Kosten sequentiell: C1 = Θ(n) < Cn
⇒ nicht kosten-optimal !
Slide 6
0
Brents Theorem (Vorl. 11) zeigt auf, wann die Prozessoranzahl verringert und dadurch evtl. die Kostenoptimalität erreicht werden kann.
Für die Reduktion wurde p = Θ(n/ log n) ermittelt (Vorl. 11, Slide 9).
Slide 8
G RANULARIT ÄT
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
15
3
0
1
2
14
3
2
0
Substep 4
P13
P129
8
P5
4
P3
P15
P14
11
10
P7
6
0
3
0
1
2
3
Substep 2
Substep 1
P13
P1211
8
P7
4
P3
P15
14
P11
10
P15
14
0
1
2
Substep 3
Granularitätsgrad: Anteil der Daten in einem Prozessor n/p .
Mögliche Grade: fein-, mittel-, oder grobkörnige Parallelität
BY
P11
10
P7
6
P3
0
0
Praxis: die Anzahl von Prozessoren ist begrenzt
⇒ Zahlen werden zwischen p < n Prozessoren verteilt.
c
2006
P13
P129
8
P7
4
P3
2
3
13
2
1
2
P9
8
P5
4
P1
P15
P14
11
10
P7
6
P3
0
7
12
Zweiter Kommunikationsschritt:
➜ Laufzeit: T1 = Θ(n), Tp = Θ(log n).
6
P3
15
11
Substep 3
P ERFORMANCE -A BSCH ÄTZUNGEN
15
11
Substep 2
2
0
0
Beachte: Die Assoziativität von + ist bei dieser
Parallelisierung notwendig !
P7
6
P3
14
10
2
0
Substep 1
➜ (e) Akkumulieren der Summe im Prozessor 0:
0
p P ROZESSOREN
➜ Implementierung 1: Hypercube (direktes Simulieren)
Erster Kommunikationsschritt:
P15
8
AUF
3
0
1
2
3
Substep 4
Laufzeit: Tp = Θ((n/p) · log p), Kosten: Cp = Θ(n · log p),
d.h. wieder nicht kostenoptimal!
3
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
4
B EISPIEL : F OR TSETZUNG
S KALIERBARKEIT
➜ Implementierung 2: Hypercube (anderes Schema)
13
9
14
10
15
11
4
5
6
7
0
1
2
3
P3 P7 P11 P15
0
1
2
3
0
P7
P15
0
0
1
2
0
4
1
8
2
T1
=
n
Tp
=
n/p + 2 log p
Sp
=
p−
2 · p2 · log p
n + 2p · log p
Ep
=
1−
2 · p · log p
n + 2p · log p
12
3
Slide 11
P15
8
B EISPIEL
Speedup für die kostenoptimale Lösung im Beispiel
(Eine Zeiteinheit pro Berechnung/Kommunikation):
12
8
Slide 9
IM
0
3
0
1
2
Beobachtungen (siehe Bild nächste Folie):
3
➜ n fest: Für größere p flacht der Anstieg von Sp ab (Konsequenz
des “Amdahl’s Law”: der nicht-parallelisierbare Anteil des
Problems begrenzt den Speedup, bzw. reduziert die Effizienz)
Laufzeit: Θ(n/p + log p), Kosten: Θ(n + p · log p).
Wenn n = Ω(p · log p) ⇒ Cp = Θ(n),
d.h. kosten- optimal, wenn Implementierung nicht zu feinkörnig
➜ p fest: Mit n wachsen Speedup und Effizienz
B EOBACHTUNGEN : S PEEDUP
35
FAZIT
Slide 10
AUS DEM
Ideal
30
B EISPIEL
25
Fazit: Ein maximal-paralleler (feinkörniger) Algorithmus kann
unterschiedlich auf eine feste Prozessoranzahl abgebildet werden.
Dieser Übergang ist oft architektur-abhängig und nicht trivial !
Slide 12
Skalierbarkeit: Das Speedup-Verhalten bei
wachsender Anzahl der Prozessoren
Sp
20
n=512
15
n=320
n=192
10
n=64
5
Praxis: Zusammenspiel Problem- vs. Maschinengröße
0
0
5
10
15
20
25
30
35
40
p
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
5
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
6
B EOBACHTUNGEN : E FFIZIENZ
B EISPIEL : KOSTENOPTIMALE L ÖSUNG
Ideal
1.0
Slide 13
R EDUKTION
➜ Annahme: Jede Operation sowie jede Übertragung einer Zahl
zwischen Nachbarprozessoren braucht 1 Zeiteinheit.
Dann gilt:
n=512
Ep
F ÜR
➜ Vgl. Slide 9
n=320
0.5
Slide 15
T1
n=192
n=64
5
10
15
20
25
30
35
W = n−1
Tp
=
n/p − 1 + 2 · log p
H(W, p)
=
2 · p · log p − p + 1 = Θ(p · log p)
➜ D.h. die Mehrkosten durch die Parallelisierung wachsen als
p · log p mit der Prozessoranzahl
0
0
=
40
p
M OTIVATION
UND
B EGRIFFSDEFINITIONEN
F ÜR I SOEFFIZIENZ
I SOEFFIZIENZ : D EFINITION
F RAGE IN F OLGE DER B EOBACHTUNG :
➜ Isoeffizienz-Funktion soll zeigen, wie schnell W mit p wachsen
muß, um eine konstante Effizienz bei wachsendem p zu halten
➜ Kann der Effizienzverlust wegen größerer p (Systemgröße) durch
den Anstieg von n (Problemgröße) ausgeglichen werden?
➜ Wie schnell muß dabei n als Funktion von p wachsen?
➜ Das ist die Motivation zur Einführung des Isoeffizienz-Begriffs
➜ Für gewünschte Effizienz E :
E
B EGRIFFSDEFIITIONEN :
Slide 14
c
2006
BY
def
=
W
1
T1
=
=
p · Tp
W + H(W, p)
1 + H(W, p)/W
Slide 16
➜ Problemgröße W : Die Anzahl von Operationen im
sequentiellen Algorithmus
➜ Merke: Diese Definition ergibt z.B. für die Multiplikation
quadratischer N × N Matrizen die Problemgröße W = N 3
(und nicht W = N oder W = N 2 )!
➜ Annahme: eine Operation kostet eine Zeiteinheit
⇒ W = T1 = C1
➜ Overhead: Kostenanteil verursacht durch die Parallelisierung:
H(W, p)
=
⇒ W =
E
· H(W, p)
1−E
| {z }
const = K
➜ Die Lösung der Gleichung
W = K · H(W, p)
für W als Funktion von p
(wenn diese algebraisch gefunden werden kann):
W = f (p)
heißt die Isoeffizienz-Funktion oder, vereinfacht, die Isoeffizienz
p · Tp − W
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
7
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
8
I SOEFFIZIENZ
F ÜR DAS
B EISPIEL :
G RENZEN
➜ Nicht-kostenoptimale Lösung (vgl. Slide 7-8):
H(W, p) = p · Θ((n/p) · log p) − Θ(n) = Θ(n · log p)
Slide 17
➜ Ideale Skalierbarkeit:
Lineare Isoeffizienz, d.h. W = Θ(p)
Slide 19
H(W, p) = Θ(p · log p)
Gleichung: W = K · Θ(p · log p), Isoeffizienz: W = Θ(p · log p).
⇒ Gut skalierbar, wenn W = Ω(p · log p).
In Worten: Wenn die Prozessoranzahl von p auf p′ steigt, muß das
Array um Faktor (p′ log p′ )/(p log p) größer werden, damit die
parallele Effizienz konstant bleibt.
➜ Satz [Gupta and Kumar, 1993]:
Wenn die Isoeffizienz asymptotisch größer als linear ist, dann
kann bei (potentiell unbegrenztem) Anstieg der Problemgröße
die konstante Laufzeit nicht gehalten werden, egal wieviele
Prozessoren verwendet werden.
Ohne Beweis.
KOSTENOPTIMALIT ÄT
VS .
OVERHEAD
UND I SOEFFIZIENZ
➜ Kostenoptimal bedeutet:
p · Tp = W + H(W, p) = Θ(W )
⇒ H(W, p) = O(W )
F ÜR DIE I SOEFFIZIENZ -F UNKTION
➜ “Klein”, z.B. linear
⇒ gut skalierbar
d.h. Parallelprogramm ist kostenoptimal g.d.w. der Overhead
nicht die Problemgröße übersteigt (asymptotisch).
➜ “Groß”, z.B. kubisch oder gar exponentiell:
⇒ schlecht skalierbar
Slide 18
S KALIERBARKEIT
➜ Isoeffizienz kann aber nicht beliebig klein sein
untere Schranke: f (p) ≥ Θ(p) – Beweis durch Widerspruch
Fazit: W = Θ(n) = o(H(W, p))
⇒ Overhead wächst strikt schneller als Problemgröße
Gleichung W = K · H(W, p) hat somit keine Lösung für W als
Funktion von p ⇒ die Isoeffizienz-Funktion existiert nicht
⇒ Implementierung nicht skalierbar
➜ Kostenoptimale Lösung (vgl. Slide 9):
M ÖGLICHKEITEN
DER
➜ Kleinere Isoeffizienz ⇒ bessere Skalierbarkeit
➜ Sehr ähnliche Bedingung gilt für Isoeffizienz:
Slide 20
➜ Keine Funktion existiert (d.h. die Effizienz kann bei wachsendem
p nicht konstant gehalten werden)
⇒ nicht skalierbar
W = (E/(1 − E)) · H(W, p)
➜ Falls die Isoeffizienz-Funktion W = f (p) existiert, dann muß
gelten:
W = Ω(H(W, p)) = Ω(f (p))
Wenn eine Isoeffizienz-Funktion zwar existiert, läßt sich aber schwer in
geschlos- sener Form finden, werden spezielle Lösungs-Techniken
gebraucht (s. später)
d.h. für die Kostenoptimalität muß die Problemgröße wenigstens
wie die Isoeffizienz-Funktion wachsen.
➜ Folgerung: Wenn f (p) > Θ(p), dann ist das Programm nicht
kostenoptimal für p = Θ(W )
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
9
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
10
B ERECHNUNGS -T ECHNIKEN
F ÜR I SOEFFIZIENZ -F UNKTION
➜ Der Ausdruck für den Overhead kann so kompliziert sein, daß
die Isoeffizienz-Funktion algebraisch nicht ableitbar ist
I LLUSTRATION
➜ Hypothetischer Fall:
F ÜR
R EDUKTION
➜ Kostenoptimale Lösung für Reduktions-Beispiel:
H(W, p) = p3/2 + p3/4 W 3/4
p = Θ(n/ log n)
➜ Die Gleichung:
W = K(p3/2 + p3/4 W 3/4 )
Slide 21
Slide 23
Für p = n/ log n gilt: Tpcost−opt = 3 · log n − 2 · log log n
➜ Absolut-minimale vs. kostenoptimale Zeit
ist schwer lösbar für W als Funktion von p
➜ Ausweg: Analysiere jeden Term separat:
Problemgröße: n = 1024
Absolut: p = 512, Tp = 20
Kostenoptimal: p ≈ 100, Tp ≈ 27
• W = Kp3/2 – fertig!
• W = Kp3/4 W 3/4 ⇒ W 1/4 = Kp3/4
⇒ W = K 4 p3
• Der asymptotisch größere Term ergibt die
Isoeffizienz-Funktion: W = Θ(p3 )
M INIMIERUNG
DER
U RSACHEN
L AUFZEIT
• Wenn Parallelitätsgrad = Θ(W ), dann ist Isoeffizienz = Θ(p)
• Wenn Parallelitätsgrad < Θ(W ) dann ist Isoeffizienz > Θ(p)
➜ Absolute Minimalzeit für die Reduktion:
➜ Kommunikation wegen Datenabhängigkeiten besteht aus:
Tp = n/p + 2 · log p
n
2
dTp
= − 2 +
= 0
dp
p
p
Slide 24
➜ Extra Berechnungen: z.B. im sequentiellen Fall werden oft
Zwischenergebnisse wiederverwendet; im parallelen Fall ist das
nicht immer effizient, da in verschiedenen Prozessoren
Die Kosten für diese Zeit: Θ(n log n), d.h. nicht kostenoptimal
➜ Mögliche Fälle für kostenoptimale Minimalzeit:
• asymptotisch gleich Tpmin
Overhead beeinflußt direkt die Isoeffizienz-Funktion: Man spricht
von Isoeffizienz bzgl. Kommunikation, bzgl. Paralleltätsgrad, u.s.w.
• asymptotisch größer (selten)
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
• Latenzzeit
• Übertragungszeit
➜ Lastverteilung: wenn ungleich zwischen Prozessoren, dann
extra Synchronisierung nötig
p = n/2 ⇒ Tpmin = 2 · log n
c
2006
OVERHEADS (H(W, p))
➜ Beschränkter Parallelitätsgrad (degree of concurrency): Anzahl
gleichzeitig ausführbarer Operationen (maximale Parallelität):
➜ Absolute Minimalzeit als Funktion von p kann durch
Differenzieren (Ableitung) ermittelt werden
Slide 22
DES PARALLELEN
11
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
12
K LAUSUR
• Klausurtermin: Donnerstag 17.07.2008, 12:15, Raum M2
– Keine Hilfsmittel zugelassen
Slide 25
• Es wird allen mit Nachdruck empfohlen,
die Klausur auf jeden Fall mitzuschreiben !!!
Vielen Dank
und bis zur nächsten Vorlesung !
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 21
13
Herunterladen