Speedup

Aus testwiki
Version vom 16. Januar 2021, 20:43 Uhr von imported>Aka (https, Kleinkram)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Speedup (Vorlage:EnS für Beschleunigung) ist ein Begriff aus der Informatik und beschreibt mathematisch den Zusammenhang zwischen der seriellen und der parallelen Ausführungszeit eines Programmteils.

Definition

Der Speedup parallel bearbeiteter Operationen mit unterschiedlichen Eigenschaften auf bis zu 16 CPUs

Der Speedup Sp einer parallelen Ausführung kann anhand der Gleichung

Sp=T1Tp

definiert werden. Dabei stellen T1 und Tp die serielle sowie parallele Ausführungszeit dar. Die obige Gleichung wird für eine Messung des realen Speedups herangezogen. Wird der theoretische Wert betrachtet, so kann dieser mittels dem Ausdruck

Sp=T1T1((1f)+fp)

dargestellt werden. Dabei gilt:

  • p ist die Anzahl von Prozessoren
  • Sp ist der theoretische Speedup, der erreicht werden kann bei Ausführung des Algorithmus auf p Prozessoren
  • T1 ist die Ausführungszeit auf einem Ein-Prozessor-System
  • Tp ist die Ausführungszeit auf einem Mehrprozessorsystem
  • f (engl. Vorlage:Lang) ist der Anteil von T1, welcher parallel ausgeführt werden kann

Wertebereich

Im Idealfall gilt

Sp=p

sodass die Ausführungszeit auf p Prozessoren genau p-mal so schnell 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

1Spp

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

Literatur

Einzelnachweise