Speedup
Speedup (engl. für Beschleunigung) ist ein Begriff aus der Informatik und beschreibt mathematisch den Zusammenhang zwischen der seriellen und der parallelen Ausführungszeit eines Programmteils.
Inhaltsverzeichnis |
Definition [Bearbeiten]
Der Speedup ist definiert durch die folgenden beiden Formeln:
wobei gilt:
ist die Anzahl von Prozessoren
ist der theoretische Speedup, der erreicht werden kann bei Ausführung des Algorithmus auf
Prozessoren
ist die Ausführungszeit auf einem Ein-Prozessor-System
ist die Ausführungszeit auf einem Mehrprozessorsystem
(englisch fraction) ist der Anteil von
, welcher parallel ausgeführt werden kann
Wertebereich [Bearbeiten]
Im Idealfall gilt
sodass also die Ausführungszeit auf
Prozessoren genau
-mal schneller ist, als auf nur einem Prozessor. Da jedoch ein Algorithmus nie komplett zu 100 % parallel ausgeführt werden kann, weil es immer einen sequenziellen nicht parallelisierbaren Anteil gibt, ist der Idealfall nie erreichbar (siehe Amdahlsches Gesetz).
Der Wertebereich lässt sich daher festlegen mit
wobei der Speedup nur dann 1 ist, falls der komplette Algorithmus nicht parallelisierbar ist und daher auf mehreren Prozessoren genauso schnell abgearbeitet wird, wie auf nur einem Prozessor.
Siehe auch [Bearbeiten]
Literatur [Bearbeiten]
- Rahm, Erhard. Mehrrechner-Datenbanksysteme - Grundlagen der verteilten und parallelen Datenbankverarbeitung (Speedup und Scaleup). Leipzig: 1994.


ist der theoretische Speedup, der erreicht werden kann bei Ausführung des Algorithmus auf
ist die Ausführungszeit auf einem Ein-Prozessor-System
ist die Ausführungszeit auf einem Mehrprozessorsystem
(
