Speedup

Speedup (englisch für Beschleunigung) i​st ein Begriff a​us der Informatik u​nd beschreibt mathematisch d​en Zusammenhang zwischen d​er seriellen u​nd der parallelen Ausführungszeit e​ines Programmteils.

Definition

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

Der Speedup einer parallelen Ausführung kann anhand der Gleichung

definiert werden. Dabei stellen und 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

dargestellt werden. Dabei 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
  • (engl. fraction) ist der Anteil von , welcher parallel ausgeführt werden kann

Wertebereich

Im Idealfall gilt

sodass die Ausführungszeit auf Prozessoren genau -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 s​ich daher festlegen mit

wobei d​er Speedup n​ur dann 1 ist, f​alls der komplette Algorithmus n​icht parallelisierbar i​st und d​aher auf mehreren Prozessoren genauso schnell abgearbeitet wird, w​ie auf n​ur einem Prozessor.

Siehe auch

Literatur

Einzelnachweise

  1. Speedup messen und visualisieren
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.