next up previous
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

$t_1$ - Ausführungszeit des Algorithmus A auf einem Prozessor
$t_P$ - Ausführungszeit des Algorithmus A auf $P$ Prozessoren



 \begin{displaymath}
\boxed{ S_P \;=\; \frac{t_1}{t_P} } \end{displaymath} (3.1)

Wünschenswert ist ein Speedup von $P$, d.h. $P$ Prozessoren sind $P$-mal schneller als ein einzelner.

Die Größe des zu lösenden Problems $N_{ges}$ bleibt konstant.

$\displaystyle
N_{ges}\,=\,\text{const.}\;\;\;\Longrightarrow\;\;\;
N_i\,\sim\,\frac{1}{P}\;\;\forall i=\overline{1,P} \makebox[0pt]{}\enspace,
$


d.h. je mehr Prozessoren verwendet werden, desto weniger hat der einzelne Prozessor zu tun.

Bsp.: Speedup-Arbeiter 

$P = 1$ Arbeiter hebt in $t_1 = 1h$ eine Grube von $1\,m^3$ [$N_{ges}$] aus. Wie lange [$t_P$] benötigen $P=1000$ Arbeiter um dieselbe Arbeit zu verrichten ?
$\longrightarrow$ Die Arbeiter behindern sich gegenseitig, ein zu hoher Organisationsaufwand [Overhead] ist notwendig.
$\Longrightarrow$ sehr geringer Speedup.


    % latex2html id marker 7920
\fbox{
\begin{minipage}{0.98\textwidth}
\emph{{\sc ...
... \frac{1}{s+\frac{1-s}{P}}
\;\le\;\frac{1}{s}
}
\end{equation}\end{minipage}}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 $\Longrightarrow$ $S_{{\infty},max} = 100$

$P$ 10 100 1000 10000
$S_P$ 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).
$\Longrightarrow$ Entmutigend
$\Longrightarrow$ Vorlesungsende ?


Ist das AMDAHLsche Gesetz für uns relevant ? Folgerung : Der erreichbare Speedup hängt von der Problemgröße ab.

zu Bsp.: Wenn jeder Arbeiter eine Grube von $1\,m^3$ 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.  ${\mathcal O}$($N$)) gilt mit den Vereinbarungen
$s_1 + p_1$ - Ausführungszeit auf dem Parallelrechner
$s_1 + P\cdot p_1$ - Ausführungszeit auf dem seriellen Rechner

 \begin{displaymath}
\boxed{
S_C(P) \;=\; \frac{s_1 + P\cdot p_1}{s_1 + p_1}
\stackrel{s_1+p_1=1}{=} s_1 + P(1-s_1)
} \end{displaymath} (3.2)



Interpretation : 1% serieller Anteil $\Longrightarrow$ $S_C(P) \approx P$
da der serielle Anteil mit der Problemgröße abnimmt.
Diese theoretische Voraussage wird in der Praxis bestätigt.



Bemerkungen zum Speedup/Scaleup

  
Abbildung 3.17: Rechenzeitvergleich Gauß, cg, pcg [Dr. Pester, Chemnitz]
\begin{figure}
\protect\includegraphics[width=\textwidth]{pester.ps}
\end{figure}


next up previous
Next: 3.4.2 Effizienz Up: 3.4 Leistungsbewertung paralleler Algorithmen Previous: 3.4 Leistungsbewertung paralleler Algorithmen
Gundolf Haase
1998-12-22