Diskussion:Speedup

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 9 Jahren von Cramgnutrah in Abschnitt Diagramm fehlerhaft bzw. irreführend
Zur Navigation springen Zur Suche springen

Diagramm fehlerhaft bzw. irreführend

[Quelltext bearbeiten]

Inwiefern macht es denn Sinn beim Diagramm zwischen "ideal" und "linear" zu unterscheiden. Meines Erachtens nach gibt es nämlich nur genau einen einzigen wirklich linearen Verlauf, und das ist die Halbgerade vom Ursprung durch den Punkt (1/1). Man könnte natürlich noch über Anwendungsfälle diskutieren, welche zunächst zu (1/1) laufen, und dann einen "Knick" machen, aber die Version in ihrer jetztiger Form halte ich für falsch.

--Karol Babioch (Diskussion) 19:22, 2. Mai 2013 (CEST)Beantworten


Also der ideale Speedup ist linear, aber ein linearer Speedup ist nicht zwangsweise ideal. Wenn das linear nicht relevant ist, sind die anderen beiden Kurven für 95% und 90% parallelen Anteil auch nicht relevant. --Cramgnutrah (Diskussion) 18:59, 27. Feb. 2015 (CET)Beantworten

Theoretischere Speedup

[Quelltext bearbeiten]

Hallo! Ich habe noch nie etwas bei Wikipedia geschrieben und hoffe ich mache alles richtig.

Deer Begriff "Theoretischer" Speedup wird an meiner UNI nicht gelehrt. Es heißt einfach nur Speedup. Im angegebenen Beispiel steht:

S_p ist der theoretische Speedup, der erreicht werden kann bei Ausführung des Algorithmus auf p Prozessoren T_1 ist die Ausführungszeit auf einem Ein-Prozessor-System T_p ist die Ausführungszeit auf einem Mehrprozessorsystem

T_1 und T_p sind also gemessene Laufzeiten. Wenn ich die durcheinander dividiere, ergibt das den genauen Speedup meines Programms. Da gibt es nichts theoretisches mehr. Der Speedup entsteht immer aus einer praktischen Messung. Man könnte sagen, dass der Lineare Speedup ein theoretischer Speedup ist, aber das Ergebnis von praktischen Messungen ist nie theoretisch. (nicht signierter Beitrag von 141.51.167.206 (Diskussion) 16:59, 10. Sep. 2013 (CEST))Beantworten


Hallo! Als theoretischer Speedup wird in der Regel nicht der tatsächliche Speedup bezeichnet (sonst wäre er ja nicht mehr theoretisch), sondern der Speed-Up der maximal möglich ist. D.h. wenn ich zwei Vektoren mit 20 Einträgen addiert und eine Mikrosekunde jeweils für die Initialisierung und eine Addition benötige errechnet sich ein theoretischer Speed-Up von 1s (init) + ceil(20/p)s (add). Er bleibt dann auch theoretisch, weil der Parallelisierungs-Overhead einem alles kaputt macht ;-) --Cramgnutrah (Diskussion) 18:38, 27. Feb. 2015 (CET)Beantworten

Wertebereich theoretisch nicht richtig

[Quelltext bearbeiten]

Der Wertebereich des Speedups ist nicht [1,p]. Er ist [0,infinity]. Durch eine Parallelisierung kann ein Programm langsamer werden, deswegen nur S_p>0. Zum Anderen kann ein Programm unter Umständen (vllt wegen zu wenig Speicher) auf einem Prozessor nicht ausgeführt werden (also Laufzeit=unendlich), dann ergibt sich, wenn dem Programm durch zwei Prozessoren genug Speicher für die Berechnung zur Verfügung steht, ein unendlich großer Speed-Up. Ein leicht höherer Speedup als p kann sich auch durch Cache-Effekte ergeben. (Problem passt nicht vollständig in den Cache des einen Kerns, aber er passt in den Cache zweier Kerne)

--Cramgnutrah (Diskussion) 18:51, 27. Feb. 2015 (CET)Beantworten

Wertebereich falsch

[Quelltext bearbeiten]

Da muss ich Cramgnutrah beipflichten. Der Speedup kann Werte über p erreichen. In der englischen Version des Artikels ist dieser Umstand im Absatz "Superlinearer Speedup" gut beschrieben.

Wertebereich falsch

[Quelltext bearbeiten]

Ich stimme den beiden Vor-Kommentatoren zu. Der Wertebereich ist schlichtweg falsch.