Speedup enhanced - Fraction enhanced

  • Passt zwar nicht in die Code-Ecke, aber ich vermute mal, dass wenn sich jemand auskennt, die code-ecke-looker die besten sind ;)

    Es geht um den SpeedUP:

    Fraction Enhanced - SpeedUp Enhanced

    das eine ist der Anteil der Gesamtausführungszeit, der andere bezeichnet die "gesamte ausführbare Zeit"

    hab gegoogelt - aber außer in meinen unterlagen nichts (brauchbares) gefunden. einzig der angebene link. kennt jemand den unterschied und kann es vernünftig erklären? http://209.85.129.104/search?q=cache…lient=firefox-a


  • Computer Architecture VO, nehme ich an?

    FractionEnhanced ist der Anteil des Programms, der verbessert wurde.
    SpeedUpEnhanced bezieht sich darauf, um wie viel schneller dieser Anteil geworden ist.

    Wenn man also 50% eines Programms doppelt so schnell macht, erreicht man einen SpeedUp von 1/((1-0.5)+0.5/2)=1.33

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • Ja, ist die VO .- ich glaub, es geht mir hier nur um ein sprachliches Problem..

    also: was soll das heissen, der Anteil der verbessert wurde?

    wenn ich eine schnellere CPU habe, geht meistens (fast) alles schneller. Angenommen, ich habe eine neue Super-Float CPU, die mir meine Floatberechnungen verdoppelt. Das heisst, es gibt einen kleinen Float-Anteil in meinem imaginären Mathe-Programm, der macht sagen wir 30% aus. Also ist der Anteil 30%. richtig?

    Aus meinem uraltskript:

    SpeedUP Enhanced: wird die Verbesserung der gesamten ausführbaren Zeit bezeichnet. Benötigt man für eine Problemstellung statt 10s nur noch 5s, so ergibt sich ein Geschwindigkeitsgewinn von 10/5.

    Fraction E: bezeichnet man jenen Anteil der Gesamtausführungszeit, um den ein Programm verbessert wurde. Benötogt ein Programm beispielsweise zur Ausführung eines Problems 25s und die Gesamtausführungszeit konnte um 5s durch Maßnahmen der Leistungssteigerung verbessertw erden, so ergibt sich daraus ein Verhältnis von 5/25.

    bin mir halt nicht sicher, ob deine (verständliche) Definition kompatibel mit der aus meinem Skript ist.

  • Ja, ist die VO .- ich glaub, es geht mir hier nur um ein sprachliches Problem..

    also: was soll das heissen, der Anteil der verbessert wurde?

    wenn ich eine schnellere CPU habe, geht meistens (fast) alles schneller. Angenommen, ich habe eine neue Super-Float CPU, die mir meine Floatberechnungen verdoppelt. Das heisst, es gibt einen kleinen Float-Anteil in meinem imaginären Mathe-Programm, der macht sagen wir 30% aus. Also ist der Anteil 30%. richtig?

    Ja.

    Aus meinem uraltskript:

    SpeedUP Enhanced: wird die Verbesserung der gesamten ausführbaren Zeit bezeichnet. Benötigt man für eine Problemstellung statt 10s nur noch 5s, so ergibt sich ein Geschwindigkeitsgewinn von 10/5.

    Fraction E: bezeichnet man jenen Anteil der Gesamtausführungszeit, um den ein Programm verbessert wurde. Benötogt ein Programm beispielsweise zur Ausführung eines Problems 25s und die Gesamtausführungszeit konnte um 5s durch Maßnahmen der Leistungssteigerung verbessertw erden, so ergibt sich daraus ein Verhältnis von 5/25.

    bin mir halt nicht sicher, ob deine (verständliche) Definition kompatibel mit der aus meinem Skript ist.

    Meine Definition basiert auf den Folien zur VO (Foliensatz "Computer Architecture", Folie 10), die Definitionen aus deinem Skript sind nicht kompatibel dazu.

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • ok, mein skript ist sowieso nicht gut ;)

    Bezüglich Effizienz:

    Unter Effizienz (Ep) versteht man, wie gut ein Algorithmus p Prozessoren auslasten kann. Die E. ist definiert als Beschleunigungsgewinn je Prozessor und lautet daher:

    Ep = Sp / p

    (Sp..:SpeedUp)

    Der Effizienzbereich liegt zwischen den Werten 0 < Ep < 1 (sollen kleinergleich zeichen sein)


    ------------------------------------

    irgendwie gefällt mir diese Definition nicht. Angenommen, mein SpeedUp ist 5 mit 2 Prozessoren. Dann wäre

    5/2 = 2.5 - und 2.5 wäre nicht mehr im Effizienzbereich?

  • Mit 2 Prozessoren wird die Applikation auch nicht 5x so schnell laufen, sondern maximal doppelt so schnell, was dem Faktor 1 entspräche und so auch Sinn macht.

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

  • genau da liegt offenbar mein denkfehler. warum kann ein programm mit zwei prozessoren nicht mehr als doppelt so schnell sein?

    schon klar; jede cpu arbeitet in ihrer taktzahl instruktionen ab. zwei cpus können auch nur doppelt soviele instruktionen annehmen und daher maximal doppelt so schnell sein.

    aber:

    in dieser logik fehlt mir der synergiefeffekt. ich hab zwar kein praktisches beispiel, ein symbolisches: ein auto mit einem rad fährt schrecklich, mit zwei vorne (vorradantrieb) kann man zumindest lenken und optimal fährts mit 4 reifen ;) mit steigender radanzahl wächst der nutzen exponentiell bis zum optimum 4 und nimmt dann wieder ab.

    oder:

    3 menschen leisten 5 mal soviell wie einer. ungefähr klar, auf was ich hinaus möchte?

  • Ist klar, nur gibt es bei Prozessoren keine Synergieeffekte, weil insgesamt die gleiche Anzahl an Instruktionen abgearbeitet werden muss. Im Gegenteil, durch nicht vollständige Parallelität und den Kommunikationsoverhead wird der Speedup mit doppelt so vielen Prozessoren in der Realität (möglicherweise deutlich) kleiner als 2 sein. Anders gesagt: ein einzelner Prozessor ist am effizientesten, danach kommen sie sich in die Quere.

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!