Bringt eine geringe Speicherlatzen CL* etwas beim enkodieren von Videos nach h.264?



  • In diversen Synthetischen Benchmarks ist ein Speicher mit gleicher Bandbreite aber kleinerer Speicherlatenz nur geringfügig schneller als der Speicher mit höherer Speicherlatenz.

    Da heißt es dann z.B. das das komprimieren in RAR nur 51 Sekunden anstatt 53 Sekunden gedauert hat. (jetzt nur mal so als Beispiel).

    Also fast nichts.

    Wenn ich aber jetzt ein 2 h langes FullHD Video komprimieren will, dann läppert sich das doch schon auf ein paar Minuten zusammen, oder etwa nicht?

    Müßte dann eine niedrigere Speicherlatenz in solchen Fällen, also beim Enkodieren von Videos also nicht ein Vorteil sein?

    Der L3 Cache ist hier ja auch wenig Brauchbar, weil bei Videos immer neue Daten in den Speicher geschaufelt werden, oder etwa nicht?


  • Mod

    Speicherlatenz ist so ziemlich der allerunwichtigste Faktor, den man sich beim Bearbeiten von Videos vorstellen kann. Wen interessiert, ob der allererste Zugriff 1 µs statt 2 µs dauert, wenn man dann linear hunderte Gigabyte aus dem Speicher liest? Da ist eher die Datenrate wichtig.



  • SeppJ schrieb:

    Speicherlatenz ist so ziemlich der allerunwichtigste Faktor, den man sich beim Bearbeiten von Videos vorstellen kann. Wen interessiert, ob der allererste Zugriff 1 µs statt 2 µs dauert, wenn man dann linear hunderte Gigabyte aus dem Speicher liest? Da ist eher die Datenrate wichtig.

    Also wenn Benchmarks aufzeigen, dass ein Packer wie RAR mit einem Speicher mit geringerer Latenz schneller fertig ist, dann kann das durchaus so beim Encoden sein.

    Und gerade bei solchen Sachen summiert sich die Zeit die man aufspart mit der Datenmenge zusammen.
    Videos haben in der Regel eine große Datenmenge, da läppern sich die paar µs schon zu ein paar Minuten zusammen.



  • Natuerlich ist geringere Latenz immer besser als hoehere Latenz.

    Aber die Frage ist, was bringt dir von der Gesamtperformance mehr? 10% weniger Latenz oder 1% mehr Bandbreite? 😉


  • Mod

    @Einspruch: Den Unterschied zwischen Latenz und Bandbreite verstehst du, oder? Videodaten sind ein großer Fluss von Daten, auch beim Codieren. Denn im Gegensatz zu Datenpackerformaten gibt es da keine zentrale Bibliothek. Und selbst da bringt Latenz praktisch gar nichts, wie du im Eröffnungsbeitrag lesen kannst. Zu vermuten, dass durch das Mehr an Daten durch die Videobearbeitung im Gegensatz zur RAR-Datei ein größerer Unterschied zu erwarten ist, geht völlig am Problem vorbei, warum Latenz bei massiver Datenverarbeitung nichts bringt. Beziehungsweise es trifft genau das Problem, aber eben genau umgekehrt. Je mehr Daten massenhaft verarbeitet werden, desto weniger macht gute Speicherlatenz aus. Statt 53 Sekunden zu 51 Sekunden bei RAR wirst du dann eben 53 Minuten zu 52 Minuten bekommen (Zahl aus der Luft gegriffen).

    RAM-Latenz bringt dir was bei so Dingen wie dem Compilieren großer Projekte. In geringeren Maßen auch bei "normalen" Anwendungen und Spielen, die normalerweise eine große Abwechselung an verschiedenen Arten und Weisen bieten, wie sie den Speicher belasten. Das ist aber eher theoretisch. Realistisch betrachtet wird es aber schon einen synthetischen Benchmark brauchen, um auch nur irgendeinen Unterschied festzustellen.



  • Shade Of Mine schrieb:

    Natuerlich ist geringere Latenz immer besser als hoehere Latenz.

    Aber die Frage ist, was bringt dir von der Gesamtperformance mehr? 10% weniger Latenz oder 1% mehr Bandbreite? 😉

    Das war aber nicht die Frage. Die Frage war, bringt weniger Latenz bei gleicher Bandbreite etwas beim h264 kodieren.


  • Mod

    Nutshell Master schrieb:

    Das war aber nicht die Frage. Die Frage war, bringt weniger Latenz bei gleicher Bandbreite etwas beim h264 kodieren.

    Man muss aber zwischen den Zeilen lesen und sich fragen, ob mit "etwas bringen" auch noch ein 0.000001% Vorteil gemeint ist. Es wird ganz sicher nicht langsamer. Aber man müsste schon sehr, sehr genau messen, um einen Vorteil festzustellen. Möglicherweise ist es nicht einmal messbar. Fixes googeln führt zu einem Speichertest von Tom's Hardware, wo sie sogar Speicherlatenz und Bandbreite benchmarken, aber sie geben zu, dass (außer beim Bandbreitentest) bei den Benchmarks die Schwankungen so groß waren, dass die klitzekleinen Messunterschiede nicht aussagekräftig sind.



  • Nutshell Master schrieb:

    Das war aber nicht die Frage. Die Frage war, bringt weniger Latenz bei gleicher Bandbreite etwas beim h264 kodieren.

    Und die Antwort ist mMn: Ja, wenn die Auflösung gross genug ist und man viele Reference-Frames verwendet.

    Ein recht aufwendiger Teil beim Video-Encoden ist die Suche nach ähnlichen Blocken in den Reference-Frames (Motion-Search).
    Dazu muss man alle Blöcke des aktuellen Bilds mit den "umliegenden" Bereichen aller Reference-Frames vergleichen.

    Bei Full-HD kommt da einiges an Daten zusammen. Wenn der Algorithmus nur auf dem Y-Kanal arbeitet sind das immer noch 2 MB pro Bild, und bei aktuellem Frame + 3 Reference-Frames haben wir schon die 8 MB beisammen die aktuelle CPUs so an Cache haben. Könnte also eng werden.
    Die Zurgiffsmuster sind dabei auch alles andere als linear.

    => Könnte schon einen deutlichen Unterschied machen. Absolut gesehen wird es nicht viel sein, denn absolut gesehen sind die Unterschiede in der Speicherlatenz auch nicht so wild. CL11 vs. CL7 ist schon "extrem", wobei CL11 gerade mal um 50% langsamer ist als CL7 (also ein Unterschied 1 : 1.5).

    Und davon bleibt dann natürlich nur noch ein Bruchteil übrig -- nämlich der Anteil der durch "Warten auf den Speicher" verursacht wird. Selbst wenn man davon ausgeht dass dieser Anteil bei der Motion-Suche 100% wäre, kann man sich also keinen Speedup von 33% erwarten (33% speedup entspricht den 50% slowdown von oben), da die Motion-Suche ja lange nicht 100% der Zeit in Ansprucht nimmt (*). Wenn wir einfach mal 30% für die Motion-Suche veranschlagen, und dann realistischerweise davon ausgehen dass nicht 100% der Motion-Suche "Warten auf den Speicher" ist sondern z.B. 50%, dann bleibt ein Anteil von 15%. Dieser Anteil von 15% kann dann um 33% schneller gemacht werden, macht im Endeffekt 5% Speedup.

    Sind jetzt zwar Hausnummern die ich mir da ausgesucht habe, aber auch nicht total weltfremde Annahmen -- mein Punkt ist nur: von der theoretisch erreichbaren Verbesserung im Verhältnis 11 zu 7 wird nicht viel übrig bleiben, selbst wenn man annimmt dass die Latenz in den Bereichen wo sie eine Rolle spielen kann auch eine massive Rolle spielt.

    Bei 720p oder wenn man auf 1-2 Reference-Frame zurückgeht sieht die Sache dann gleich wieder anders aus: hier passt alles noch schön in den Cache, und die Latenz sollte mehr oder weniger egal sein.

    Und nochwas: Speicherriegel mit niedrigerer Latenz halten auch meistens mehr Takt aus. Bzw. man bekommt um das selbe Geld welche die auch mehr Takt aushalten.
    Bei Betrieb mit einem höheren Takt hat man dann zwar von den Zahlen her nen höheren Latenz-Wert. Nur ist der ist ja relativ zum höheren Takt gerechnet - die Angabe ist ja in Taktzyklen und nicht in Nanosekunden o.ä. Auf einen Zeitwert umgerechnet ist die Latenz wieder gleich. D.h. man bekommt ums selbe Geld RAMs die effektiv die gleiche Latenz haben, aber mehr Bandbreite. => Die Wahl sollte einfach sein.

    *: Die anderen Dinge die zum H.264 Kodieren noch nötig sind werden mMn. kaum bis gar nicht von besserer Speicherlatenz profitieren. Daher nehme ich den Speedup den man da erreichen kann einfach mal als 0 an.



  • Probier es doch einfach aus. Du kannst im BIOS normalerweise die Latenz manuell einstellen, also hindert dich nichts daran, zum Testen mal eine höhere Latenz auszuprobieren als für deinen RAM normalerweise vorgesehen ist.




  • Mod

    CLx < highnumber == go schrieb:

    Tja, bringt doch ne ganze Menge:

    http://www.anandtech.com/show/6372/memory-performance-16gb-ddr31333-to-ddr32400-on-ivy-bridge-igp-with-gskill

    😕 Hast du deinen Link überhaupt gelesen und verstanden? Da wird noch nicht einmal das verglichen, worum es hier in dem Thread geht und selbst das, was verglichen wird (das Gesamtpaket, insbesondere mit Fokus auf Speicherdurchsatz) hat auf viele Anwendungen einen verschwindend geringen Einfluss. Besonders wenn man bedenkt, dass das Spitzenmodell fast doppelt so schnell (und teuer) ist wie das Referenzmodell! Der einleitende Artikel erklärt dann nochmal das gleiche, was hier im Thread schon erklärt wurde, wieso CL gerade bei Aufgaben wie Videocodierung 0 Einfluss hat.



  • Mir gings jetzt nicht um Video, sondern um eine allgemeine Aussage.



  • In deinem Link werden verschiedene Taktraten verglichen, hier wurde dagegen nach verschiedenen CL-Werten (Latenz) gefragt. Das sind Äpfel und Birnen.

    Also. Bist du doof, oder willst du uns verarschen?



  • hustbaer schrieb:

    In deinem Link werden verschiedene Taktraten verglichen, hier wurde dagegen nach verschiedenen CL-Werten (Latenz) gefragt. Das sind Äpfel und Birnen.

    Also. Bist du doof, oder willst du uns verarschen?

    Du bist doof wenn du im Link nichts merkst, dass es dort auch um CL Werte geht.



  • Klar werden da CL Werte diskutiert. Es gibt da aber keine Benchmarks mit unterschiedlichen CL Werte und dem selben Takt.
    Ich weiss also nicht ganz worauf sich dein "Tja, bringt doch ne ganze Menge" beziehen soll.


Anmelden zum Antworten