Next: 3.4.2 Effizienz
Up: 3.4 Leistungsbewertung paralleler Algorithmen
Previous: 3.4 Leistungsbewertung paralleler Algorithmen
3.4.1 Speedup und Scaleup
Speedup :
Sei
- Ausführungszeit des Algorithmus A auf einem Prozessor
- Ausführungszeit des Algorithmus A auf
Prozessoren
 |
(3.1) |
Wünschenswert ist ein Speedup von
,
d.h.
Prozessoren
sind
-mal schneller als ein einzelner.
Die Größe des zu lösenden Problems
bleibt konstant.
d.h. je mehr Prozessoren verwendet werden, desto weniger hat der einzelne
Prozessor zu tun.
Bsp.: Speedup-Arbeiter
-
Arbeiter hebt in
eine Grube von
[
]
aus. Wie lange [
]
benötigen
Arbeiter um dieselbe
Arbeit zu verrichten ?
Die Arbeiter behindern sich gegenseitig, ein
zu hoher Organisationsaufwand [Overhead] ist notwendig.
sehr geringer Speedup.
Bemerkung : Obiger Satz geht auf eine Bemerkung von
Gene Amdahl
im Jahre 1967 zurück
Interpretation des AMDAHLschen Gesetzes
(sehr alte Reklame von IBM)
1% serieller Anteil im Algorithmus
 |
10 |
100 |
1000 |
10000 |
 |
9 |
50 |
91 |
99 |
Mehr als 100 Prozessoren erscheinen sinnlos (d.h. daß von 100 auf 1000
Arbeiter zwar der 10-fache Lohn bei nicht einmal verdoppelter
Leistung gezahlt wird).
Entmutigend
Vorlesungsende ?
Ist das AMDAHLsche Gesetz für uns relevant ?
- Bei kleineren Prozessorzahlen (
)
ist bei bestimmten
Algorithmen sogar ein Speedup
erreichbar !
Dies kann z.B. durch das verbesserte Cacheverhalten der Prozessoren
mit kleiner werdender Teilproblemgröße oder durch die
Ordnung des arithmetischen Aufwands des lokalen Algorithmus
mit weniger Daten auftreten.
- Da das AMDAHLsche Gesetz keine Kommunikationszeiten
berücksichtigt, sieht das reale Verhalten des Speedup noch
schlechter aus, siehe Abbildung 3.16.
Abbildung 3.16:
Realer Speedup
 |
Folgerung : Der erreichbare Speedup hängt von der Problemgröße ab.
zu Bsp.: Wenn jeder Arbeiter eine Grube von
aushebt, so schaffen 1000 Arbeiter in einer Stunde fast die
1000-fache Leistung da sie sinnvoll eingesetzt sind.
Ein Skalierung der Problemgröße mit der Prozessoranzahl führt
uns aus dem Dilemma des AMDAHLsche Gesetzes.
Scaleup :
Welcher Zuwachs an Problemgröße wird auf dem Parallelrechner im Vergleich
zum sequentiellen Fall bei vergleichbarer Rechenzeit erzielt.
Scaled Speedup :
Unter der Annahme, daß der parallele Teil des Algorithmus optimal
bzgl. der Problemgröße ist (d.h.
(
)) gilt mit den
Vereinbarungen
- Ausführungszeit auf dem Parallelrechner
- Ausführungszeit auf dem seriellen Rechner
 |
(3.2) |
Interpretation : 1% serieller Anteil
da der serielle Anteil mit der Problemgröße abnimmt.
Diese theoretische Voraussage wird in der Praxis bestätigt.
Bemerkungen zum Speedup/Scaleup
- (Scaled) Speedup darf nicht einziges Bewertungskriterium sein,
z.B. ist in Abbildung 3.17 ersichtlich, daß
(Gauß Elimination)
(pcg=vorkonditionierter cg)
ABER
(Gauß Elimination)
(pcg) !!
- Fairerweise müßten bei der Bewertung auch die Kosten der Rechner
in Betracht gezogen werden, z.B. die
Kosten pro berechnete Unbekannte.
Abbildung 3.17:
Rechenzeitvergleich Gauß, cg, pcg [Dr. Pester, Chemnitz]
![\begin{figure}
\protect\includegraphics[width=\textwidth]{pester.ps}
\end{figure}](img241.gif) |
Next: 3.4.2 Effizienz
Up: 3.4 Leistungsbewertung paralleler Algorithmen
Previous: 3.4 Leistungsbewertung paralleler Algorithmen
Gundolf Haase
1998-12-22