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