Wikipedia · einfach zusammengefasst · Stand
Speedup
Speedup (englisch für Beschleunigung) ist ein Begriff aus der Informatik und beschreibt mathematisch den Zusammenhang zwischen der seriellen und der parallelen …
Inhalt3 Abschnitte
Begriff und Bedeutung
Der Speedup beschreibt in der Informatik mathematisch, wie sich die serielle Ausführungszeit eines Programmteils zur parallelen Ausführungszeit verhält. Er zeigt also, wie stark die Ausführung durch den Einsatz mehrerer Prozessoren beschleunigt wird.
Berechnung
Der reale Speedup einer parallelen Ausführung ist definiert als
S_p = T_1 / T_p.
Dabei ist T_1 die Ausführungszeit auf einem Ein-Prozessor-System und T_p die Ausführungszeit auf einem Mehrprozessorsystem.
Der theoretisch erreichbare Speedup lässt sich berechnen durch
S_p = T_1 / (T_1 · ((1 − f) + f/p)).
Dabei bezeichnet p die Anzahl der Prozessoren. Der Wert f ist der Anteil von T_1, der parallel ausgeführt werden kann; 1 − f ist entsprechend der nicht parallelisierbare Anteil.
Grenzen des Speedups
Im Idealfall gilt S_p = p. Eine Ausführung auf p Prozessoren wäre dann genau p-mal so schnell wie auf einem Prozessor. Dieser Idealfall ist jedoch nicht erreichbar, weil ein Algorithmus nie vollständig parallel ausgeführt werden kann: Es bleibt immer ein sequenzieller, nicht parallelisierbarer Anteil. Dieser Zusammenhang wird durch das Amdahlsche Gesetz beschrieben.
Daher liegt der Speedup im Bereich
1 ≤ S_p ≤ p.
Der Speedup beträgt S_p = 1, wenn der gesamte Algorithmus nicht parallelisierbar ist. Dann läuft er auf mehreren Prozessoren genauso schnell wie auf einem einzigen Prozessor.