holger_p hat geschrieben:Reiner M hat geschrieben:
Heisst das jetzt, dann braucht eine CPU gar kein RAM? Erstaunlich.
Wozu ist das RAM dann gut? Worüber reden wir dann hier? ;)
Nein, es ging um die Aussage
Reiner M hat geschrieben: weil eben RAM sowohl den Arbeitspeicher (Datenberechnung) wie auch den Erinnerungsspeicher (Cache) der CPU und ihrer einzelnen Kerne darstellt, die alle einen Teil abhaben wollen
Das ist eben sachlich
falsch - der Cache ist ein separater Speicher und bis Ivy-Bridge sitzt der Cache zwischen den Kernen und dem RAM. Bei Ivy-Bridge wurde das geändert, obwohl Ivy-Bridge ein Tick ist.
Unsinn, Holger.
Sag mal, kennst Du überhaupt Caches im RAM? Muss man programmieren. Hat mit L1/L2 nichts zu tun. Andere Baustelle.
holger_p hat geschrieben:
Reiner M hat geschrieben:
Weil die SSD so schnell ist?
Nur indirekt.
Nein, direkt. Alles andere ist Haarspalterei. Natürlich muss die CPU bei einer HDD länger auf die Daten warten als bei einer SSD, aber der Geschwindigkeitsvorteil beim Booten kommt von der Geschwindigkeit der SSD. Selbst bei einem stinklahmen Atom der ersten Generation ist das so.
Ja, eben!
Das ist nur der triviale Beweis, wie stark eine CPU von I/Os abhängig ist. Das ist bem Booten der Fall, das ist im non-linearen Videoschnitt nicht anders. Blende das bitte nicht aus.
Nimm also zwei unterschiedlich schnelle CPUs und eine lahme Platte.
Die schnellere CPU wird ihre Vorteile kaum nutzen können, wenn der größte Teil der Verarbeitungszeit durch Waits auf die Platte draufgeht.
Wer auf eine schnelle CPU setzt und ihr dann lahme und zu knapp bemessene Ressourcen zuweist, hat sein Geld in diese teure CPU sinnlos angelegt. Ineffizienter gehts kaum. Das sollte man wissen.
Du kannst das auch gern Haarspalterei nennen. Für mich sind das maßgebliche Fakten bei der Zusammenstellung eines Systems. Und genau darum geht es in diesem Artikel.
Nochmal kristallklar: I/Os sind das, was Systeme bremst. Und zwar gewaltig! Sie sind teuer. Sie sind ineffizient.
Videobearbeitung ist nahezu pures Arbeiten mit I/Os. Schon in kleinen Projekten kommen recht schnell viele Dateien zum Einsatz. Der Zugriff erfolgt dabei nicht streng sequentiell, sondern nahezu random: Mitten rein in die Dateien, vor und zurück, je nach Schnitt und Arbeitsweise.
Ich werde alles tun, a) um I/Os zu verhindern (RAM-Ausbau, Caches, Vermeiden von Paging, usw.), wo mich Programme unterstützen und b) wo das nicht möglich ist, sie zu beschleunigen (Datenverteilung über mehrere physische schnelle Platten und getrennte schnelle Kanäle).
Und warum? Weils effizient ist! Im Videoschnitt (und nicht nur dort). ;)
holger_p hat geschrieben:
Grafikkarten können das Bild aus ihrem RAM ohne CPU-Last darstellen. ...
Selbst beim Kodieren und Dekodieren greifen moderne Grafikkarten der CPU mächtig unter die Arme - warum braucht Premiere Pro wohl CUDA?
Du kommst nicht umhin, Holger: 1/50 Sekunde für alles. Ich rede nicht vom VRAM und CUDA, sondern von I/O. Also nochmal:
Programm fordert Datensatz an, der im Arbeitsspeicher liegen MUSS - Da spielt die Grafikkarte noch lange keine Rolle. Und ob irgendwelche Berechnungen danach GPU-Unterstützt laufen oder nicht: völlig unwichtig zu diesem Zeitpunkt.
Ist der Datensatz
nicht im RAM vorhanden,
muss er von Platte gelesen werden. Da hilft auch die beste Grafikkarte nichts.
Ist er im RAM vorhanden, entfällt der I/O. - Das ist der Unterschied.
holger_p hat geschrieben:
Reiner M hat geschrieben:
Liegen die Daten aber schon im RAM, wenn sie gebraucht werden, gehts quasi latenzfrei. Die CPU kann dann die Zeit für Berechnungen maximal nutzen.
Du meinst das Richtige, aber auch das ist sachlich erst mal falsch. Auch auf RAM-Zugriffe muss die CPU warten. Warum gibt es wohl die Caches L1, L2 und L3? Natürlich ist der Zugriff aus dem RAM schneller als wenn man erst auf die SSD oder HDD warten muss. Allerdings muss das die Software nicht zwingend selber ins RAM packen - bei geschickter Programmierung kann man Windows dazu animieren, Dateien zu prefetchen und freies RAM als Plattencache zu nutzen. Das hat bei Dateien, die man auch beschreibt, den Riesenvorteil, das ein anschließender Schreibzugriff rasend schnell geht - Windows cached auch den und der Platz für die Datei im RAM ist ja schon da.
Aha. "sachlich erstmal falsch" ... logisch. :-))
Schau mal, was Du da schreibst.
Zitat: "
Natürlich ist der Zugriff aus dem RAM schneller als wenn man erst auf die SSD oder HDD warten muss." - Na, also! ;) - Meine Rede! Danke!
(Und was ist jetzt an Deiner Formulierung sachlich richtiger?)
Zitat: "
Allerdings muss das die Software nicht zwingend selber ins RAM packen - bei geschickter Programmierung kann man Windows dazu animieren, ..."
a) ???
b) Wie macht Windows das? Programmiert man das etwa? Muss man eine BS-Routine anwerfen? Macht das vielleicht die Software durch geeignete System-Calls? ;)
c) Ach ja: Ist Windows eigentlich Software oder nicht? ;)
d) Wird der Zugriff dadurch schneller,
wenn ein physischer I/O ansteht? - ich glaube das nicht ... ;).
Natürlich gibt es Prefetch. Natürlich kann man damit den einen oder anderen I/O sparen. Ganz anderes Thema. Denn auch Prefetch ist I/O und ggf. eine ganze Folge, die ggf. nochmal stärker auf die Bremse tritt. Okay, von mir aus: Prefetchen wir eben mal. Und dann? Wohin soll es eigentlich prefetchen, wenn Du dafür gar kein oder zu wenig RAM hast??? ;)
Ist Dir eigentlich aufgefallen, dass Du laufend davon erzählst: RAM-Zugriffe sind schnell, RAM ist gut, viel RAM ist besser, weil Programme und Betriebssystem es nutzen? ;) Na, also.
holger_p hat geschrieben:
Tja, warum schafft es Grass Valley dann...
Edius wird übrigens von sehr vielen TV-Stationen eingesetzt....
Holger,
Es geht nicht um "Mein Auto - Dein Auto" - Brauchst Du das etwa ? ;)
Wenn Du mit Deiner Lösung glücklich bist, ist doch alles gut! Freut mich. Ehrlich. Die Vielfalt der Programme ist aus völlig unterschiedlichen Gründen nötig, sinnvoll und gut.
Edius kenn ich nicht gut genug. Und schon deshalb werde ich dazu nichts sagen. Kennst Du Premiere Pro? ;) - Deine Mutmaßungen, Behauptungen und Versuche, das technisch zu erläutern, sprechen für sich.
Hier geht es u. a. um die Frage, ob und wann Programme viel RAM nutzen. Ich habe aufgezeigt, dass Premiere Pro
mit einem einzigen Prozess bei mir Dank Multi- und Hyperthreading 12 CPU-Kerne zu 100% belegen kann (was für den RAM-Bedarf wichtig ist), und dass es locker mehr als 32GB RAM nutzen kann, was bestritten und als unglaubwürdig hingestellt wurde.
Es nützt und ändert ja auch nichts, wenn Du das anzweifelst. Es ist so. ;)
Welche Vor- und Nachteile das im Vergleich zu irgendeinem anderen Programm hat, steht überhaupt nicht zur Debatte. Das wäre eine völlig andere Diskussion, die hier m. E. Fehl am Platz ist.
Beste Grüße,
Reiner